summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/0_sixty/base/info.json9
-rw-r--r--keyboards/0_sixty/base/rules.mk (renamed from keyboards/boardsource/microdox/.noci)0
-rw-r--r--keyboards/0_sixty/config.h13
-rw-r--r--keyboards/0_sixty/info.json6
-rw-r--r--keyboards/0_sixty/rules.mk2
-rw-r--r--keyboards/0_sixty/underglow/config.h9
-rw-r--r--keyboards/0_sixty/underglow/info.json9
-rw-r--r--keyboards/0_sixty/underglow/rules.mk1
-rw-r--r--keyboards/0_sixty/underglow/underglow.h19
-rw-r--r--keyboards/0xc7/61key/config.h1
-rw-r--r--keyboards/0xc7/61key/readme.md2
-rw-r--r--keyboards/0xcb/static/config.h1
-rw-r--r--keyboards/0xcb/static/keymaps/bongocat/keymap.c2
-rw-r--r--keyboards/0xcb/tutelpad/config.h89
-rw-r--r--keyboards/0xcb/tutelpad/info.json26
-rw-r--r--keyboards/0xcb/tutelpad/keymaps/default/keymap.c29
-rw-r--r--keyboards/0xcb/tutelpad/keymaps/via/keymap.c39
-rw-r--r--keyboards/0xcb/tutelpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/0xcb/tutelpad/readme.md19
-rw-r--r--keyboards/0xcb/tutelpad/rules.mk21
-rw-r--r--keyboards/0xcb/tutelpad/tutelpad.c106
-rw-r--r--keyboards/0xcb/tutelpad/tutelpad.h35
-rw-r--r--keyboards/10bleoledhub/config.h1
-rw-r--r--keyboards/1k/config.h7
-rw-r--r--keyboards/1k/info.json8
-rw-r--r--keyboards/1k/keymaps/tap_dance/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60hse/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c2
-rw-r--r--keyboards/1upkeyboards/1up60hte/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c4
-rw-r--r--keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c2
-rw-r--r--keyboards/1upkeyboards/1up60rgb/config.h1
-rw-r--r--keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c4
-rw-r--r--keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c2
-rw-r--r--keyboards/1upkeyboards/pi40/config.h99
-rw-r--r--keyboards/1upkeyboards/pi40/halconf.h7
-rw-r--r--keyboards/1upkeyboards/pi40/info.json115
-rw-r--r--keyboards/1upkeyboards/pi40/keymaps/default/keymap.c124
-rw-r--r--keyboards/1upkeyboards/pi40/keymaps/default/rules.mk1
-rw-r--r--keyboards/1upkeyboards/pi40/keymaps/via/keymap.c268
-rw-r--r--keyboards/1upkeyboards/pi40/keymaps/via/rules.mk4
-rw-r--r--keyboards/1upkeyboards/pi40/lib/glcdfont.c231
-rw-r--r--keyboards/1upkeyboards/pi40/mcuconf.h10
-rw-r--r--keyboards/1upkeyboards/pi40/pi40.c312
-rw-r--r--keyboards/1upkeyboards/pi40/readme.md38
-rw-r--r--keyboards/1upkeyboards/pi40/rules.mk26
-rw-r--r--keyboards/1upkeyboards/super16/config.h1
-rw-r--r--keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c4
-rw-r--r--keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c2
-rw-r--r--keyboards/1upkeyboards/super16v2/config.h1
-rw-r--r--keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c2
-rw-r--r--keyboards/1upkeyboards/super16v2/readme.md2
-rw-r--r--keyboards/1upkeyboards/sweet16/config.h5
-rw-r--r--keyboards/1upkeyboards/sweet16/info.json6
-rw-r--r--keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h3
-rw-r--r--keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c2
-rw-r--r--keyboards/1upkeyboards/sweet16/v1/config.h5
-rw-r--r--keyboards/1upkeyboards/sweet16/v1/info.json6
-rw-r--r--keyboards/1upkeyboards/sweet16/v2/promicro/config.h5
-rw-r--r--keyboards/1upkeyboards/sweet16/v2/promicro/info.json6
-rw-r--r--keyboards/1upkeyboards/sweet16/v2/proton_c/config.h5
-rw-r--r--keyboards/1upkeyboards/sweet16/v2/proton_c/info.json6
-rw-r--r--keyboards/25keys/aleth42/info.json7
-rw-r--r--keyboards/25keys/aleth42/rev0/config.h8
-rw-r--r--keyboards/25keys/aleth42/rev0/info.json5
-rw-r--r--keyboards/25keys/aleth42/rev1/config.h8
-rw-r--r--keyboards/25keys/aleth42/rev1/info.json5
-rw-r--r--keyboards/25keys/cassette42/config.h1
-rw-r--r--keyboards/25keys/zinc/info.json11
-rw-r--r--keyboards/25keys/zinc/keymaps/ginjake/keymap.c2
-rw-r--r--keyboards/25keys/zinc/keymaps/monks/keymap.c2
-rw-r--r--keyboards/25keys/zinc/keymaps/toshi0383/keymap.c4
-rw-r--r--keyboards/25keys/zinc/rev1/config.h7
-rw-r--r--keyboards/25keys/zinc/rev1/info.json9
-rw-r--r--keyboards/25keys/zinc/reva/config.h7
-rw-r--r--keyboards/25keys/zinc/reva/info.json9
-rw-r--r--keyboards/2key2crawl/config.h1
-rw-r--r--keyboards/30wer/config.h1
-rw-r--r--keyboards/3keyecosystem/2key2/config.h1
-rw-r--r--keyboards/3w6/info.json5
-rw-r--r--keyboards/3w6/rev1/config.h10
-rw-r--r--keyboards/3w6/rev1/info.json5
-rw-r--r--keyboards/3w6/rev2/config.h10
-rw-r--r--keyboards/3w6/rev2/info.json5
-rw-r--r--keyboards/40percentclub/25/config.h1
-rw-r--r--keyboards/40percentclub/4pack/config.h1
-rw-r--r--keyboards/40percentclub/4x4/config.h1
-rw-r--r--keyboards/40percentclub/5x5/config.h1
-rw-r--r--keyboards/40percentclub/6lit/config.h1
-rw-r--r--keyboards/40percentclub/foobar/config.h1
-rw-r--r--keyboards/40percentclub/gherkin/config.h1
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/bbaserdem/README.md11
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/bbaserdem/config.h9
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/bbaserdem/keymap.c36
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/bbaserdem/rules.mk13
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/midi/keymap.c2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c2
-rw-r--r--keyboards/40percentclub/half_n_half/config.h1
-rw-r--r--keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c6
-rw-r--r--keyboards/40percentclub/i75/promicro/config.h1
-rw-r--r--keyboards/40percentclub/i75/teensy2/config.h1
-rw-r--r--keyboards/40percentclub/luddite/config.h1
-rw-r--r--keyboards/40percentclub/mf68/config.h1
-rw-r--r--keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk1
-rw-r--r--keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h2
-rw-r--r--keyboards/40percentclub/nano/config.h1
-rw-r--r--keyboards/40percentclub/nein/config.h1
-rw-r--r--keyboards/40percentclub/nori/config.h1
-rw-r--r--keyboards/40percentclub/nori/keymaps/default/keymap.c14
-rw-r--r--keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c4
-rw-r--r--keyboards/40percentclub/polyandry/promicro/config.h1
-rw-r--r--keyboards/40percentclub/polyandry/readme.md2
-rw-r--r--keyboards/40percentclub/polyandry/teensy2/config.h1
-rw-r--r--keyboards/40percentclub/sixpack/config.h1
-rw-r--r--keyboards/40percentclub/tomato/config.h1
-rw-r--r--keyboards/40percentclub/ut47/config.h1
-rw-r--r--keyboards/40percentclub/ut47/keymaps/nordic/keymap.c4
-rw-r--r--keyboards/45_ats/config.h1
-rw-r--r--keyboards/4by3/config.h1
-rw-r--r--keyboards/4pplet/aekiso60/rev_a/config.h7
-rw-r--r--keyboards/4pplet/aekiso60/rev_a/info.json6
-rw-r--r--keyboards/4pplet/bootleg/info.json77
-rw-r--r--keyboards/4pplet/bootleg/rev_a/config.h7
-rw-r--r--keyboards/4pplet/bootleg/rev_a/info.json83
-rw-r--r--keyboards/4pplet/eagle_viper_rep/info.json76
-rw-r--r--keyboards/4pplet/eagle_viper_rep/rev_a/config.h7
-rw-r--r--keyboards/4pplet/eagle_viper_rep/rev_a/info.json82
-rw-r--r--keyboards/4pplet/perk60_iso/keymaps/default/keymap.c34
-rw-r--r--keyboards/4pplet/perk60_iso/keymaps/via/keymap.c49
-rw-r--r--keyboards/4pplet/perk60_iso/keymaps/via/rules.mk (renamed from keyboards/peej/rosaline/keymaps/via-ortho/rules.mk)0
-rw-r--r--keyboards/4pplet/perk60_iso/readme.md17
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/config.h70
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/halconf.h25
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/info.json16
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/mcuconf.h27
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/readme.md17
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/rev_a.c126
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/rev_a.h43
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/rules.mk26
-rw-r--r--keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c2
-rw-r--r--keyboards/4pplet/steezy60/rev_a/config.h7
-rw-r--r--keyboards/4pplet/steezy60/rev_a/info.json6
-rw-r--r--keyboards/4pplet/waffling60/info.json5
-rw-r--r--keyboards/4pplet/waffling60/rev_a/config.h7
-rw-r--r--keyboards/4pplet/waffling60/rev_a/info.json7
-rw-r--r--keyboards/4pplet/waffling60/rev_b/config.h7
-rw-r--r--keyboards/4pplet/waffling60/rev_b/info.json7
-rw-r--r--keyboards/4pplet/waffling60/rev_c/config.h7
-rw-r--r--keyboards/4pplet/waffling60/rev_c/info.json7
-rw-r--r--keyboards/4pplet/waffling80/info.json10
-rw-r--r--keyboards/4pplet/waffling80/rev_a/config.h7
-rw-r--r--keyboards/4pplet/waffling80/rev_a/info.json16
-rw-r--r--keyboards/4pplet/waffling80/rev_a/rev_a.h2
-rw-r--r--keyboards/4pplet/yakiimo/info.json10
-rw-r--r--keyboards/4pplet/yakiimo/rev_a/config.h9
-rw-r--r--keyboards/4pplet/yakiimo/rev_a/info.json16
-rw-r--r--keyboards/4pplet/yakiimo/rev_a/mcuconf.h37
-rw-r--r--keyboards/4pplet/yakiimo/rev_a/rules.mk1
-rw-r--r--keyboards/8pack/config.h6
-rw-r--r--keyboards/8pack/info.json5
-rw-r--r--keyboards/8pack/rev11/config.h3
-rw-r--r--keyboards/8pack/rev11/info.json5
-rw-r--r--keyboards/8pack/rev12/config.h3
-rw-r--r--keyboards/8pack/rev12/info.json5
-rw-r--r--keyboards/9key/config.h1
-rw-r--r--keyboards/9key/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/a_dux/config.h8
-rw-r--r--keyboards/a_dux/info.json6
-rw-r--r--keyboards/a_dux/keymaps/daliusd/keymap.c2
-rw-r--r--keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h19
-rw-r--r--keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk4
-rw-r--r--keyboards/a_dux/readme.md2
-rw-r--r--keyboards/abacus/config.h8
-rw-r--r--keyboards/abacus/info.json6
-rw-r--r--keyboards/abatskeyboardclub/nayeon/config.h121
-rw-r--r--keyboards/abatskeyboardclub/nayeon/info.json226
-rw-r--r--keyboards/abatskeyboardclub/nayeon/keymaps/default/keymap.c36
-rw-r--r--keyboards/abatskeyboardclub/nayeon/keymaps/iso/keymap.c36
-rw-r--r--keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c34
-rw-r--r--keyboards/abatskeyboardclub/nayeon/nayeon.c27
-rw-r--r--keyboards/abatskeyboardclub/nayeon/nayeon.h44
-rw-r--r--keyboards/abatskeyboardclub/nayeon/readme.md2
-rw-r--r--keyboards/abatskeyboardclub/nayeon/rules.mk23
-rw-r--r--keyboards/abstract/ellipse/info.json10
-rw-r--r--keyboards/abstract/ellipse/rev1/config.h8
-rw-r--r--keyboards/abstract/ellipse/rev1/info.json16
-rw-r--r--keyboards/acekeyboard/titan60/config.h8
-rw-r--r--keyboards/acekeyboard/titan60/info.json6
-rw-r--r--keyboards/acheron/apollo/87h/87h.c16
-rw-r--r--keyboards/acheron/apollo/87h/87h.h24
-rw-r--r--keyboards/acheron/apollo/87h/delta/config.h103
-rw-r--r--keyboards/acheron/apollo/87h/delta/delta.c61
-rw-r--r--keyboards/acheron/apollo/87h/delta/delta.h38
-rw-r--r--keyboards/acheron/apollo/87h/delta/halconf.h22
-rw-r--r--keyboards/acheron/apollo/87h/delta/info.json7
-rwxr-xr-xkeyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c53
-rwxr-xr-xkeyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c53
-rw-r--r--keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk (renamed from keyboards/peej/rosaline/keymaps/via/rules.mk)0
-rw-r--r--keyboards/acheron/apollo/87h/delta/mcuconf.h25
-rw-r--r--keyboards/acheron/apollo/87h/delta/rules.mk26
-rw-r--r--keyboards/acheron/apollo/87h/gamma/config.h100
-rw-r--r--keyboards/acheron/apollo/87h/gamma/gamma.c146
-rw-r--r--keyboards/acheron/apollo/87h/gamma/gamma.h38
-rw-r--r--keyboards/acheron/apollo/87h/gamma/halconf.h21
-rw-r--r--keyboards/acheron/apollo/87h/gamma/info.json7
-rwxr-xr-xkeyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c53
-rwxr-xr-xkeyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c53
-rw-r--r--keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk1
-rw-r--r--keyboards/acheron/apollo/87h/gamma/mcuconf.h22
-rw-r--r--keyboards/acheron/apollo/87h/gamma/rules.mk27
-rw-r--r--keyboards/acheron/apollo/87h/info.json106
-rw-r--r--keyboards/acheron/apollo/87h/readme.md25
-rw-r--r--keyboards/acheron/apollo/87htsc/87htsc.c47
-rw-r--r--keyboards/acheron/apollo/87htsc/87htsc.h39
-rw-r--r--keyboards/acheron/apollo/87htsc/config.h103
-rw-r--r--keyboards/acheron/apollo/87htsc/halconf.h22
-rw-r--r--keyboards/acheron/apollo/87htsc/info.json108
-rwxr-xr-xkeyboards/acheron/apollo/87htsc/keymaps/default/keymap.c53
-rwxr-xr-xkeyboards/acheron/apollo/87htsc/keymaps/via/keymap.c53
-rw-r--r--keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk1
-rw-r--r--keyboards/acheron/apollo/87htsc/mcuconf.h25
-rw-r--r--keyboards/acheron/apollo/87htsc/rules.mk26
-rw-r--r--keyboards/acheron/apollo/88htsc/88htsc.c42
-rw-r--r--keyboards/acheron/apollo/88htsc/88htsc.h39
-rw-r--r--keyboards/acheron/apollo/88htsc/config.h103
-rw-r--r--keyboards/acheron/apollo/88htsc/halconf.h22
-rw-r--r--keyboards/acheron/apollo/88htsc/info.json109
-rwxr-xr-xkeyboards/acheron/apollo/88htsc/keymaps/default/keymap.c53
-rwxr-xr-xkeyboards/acheron/apollo/88htsc/keymaps/via/keymap.c53
-rw-r--r--keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk1
-rw-r--r--keyboards/acheron/apollo/88htsc/mcuconf.h25
-rw-r--r--keyboards/acheron/apollo/88htsc/rules.mk27
-rw-r--r--keyboards/acheron/apollo/readme.md54
-rw-r--r--keyboards/acheron/arctic/config.h7
-rw-r--r--keyboards/acheron/arctic/info.json6
-rw-r--r--keyboards/acheron/athena/alpha/alpha.c45
-rw-r--r--keyboards/acheron/athena/alpha/alpha.h196
-rw-r--r--keyboards/acheron/athena/alpha/config.h67
-rw-r--r--keyboards/acheron/athena/alpha/halconf.h24
-rw-r--r--keyboards/acheron/athena/alpha/info.json7
-rw-r--r--keyboards/acheron/athena/alpha/keymaps/default/keymap.c51
-rw-r--r--keyboards/acheron/athena/alpha/keymaps/via/keymap.c51
-rw-r--r--keyboards/acheron/athena/alpha/keymaps/via/rules.mk1
-rw-r--r--keyboards/acheron/athena/alpha/mcuconf.h31
-rw-r--r--keyboards/acheron/athena/alpha/rules.mk25
-rw-r--r--keyboards/acheron/athena/athena.c16
-rw-r--r--keyboards/acheron/athena/athena.h24
-rw-r--r--keyboards/acheron/athena/beta/beta.c35
-rw-r--r--keyboards/acheron/athena/beta/beta.h196
-rw-r--r--keyboards/acheron/athena/beta/config.h67
-rw-r--r--keyboards/acheron/athena/beta/halconf.h24
-rw-r--r--keyboards/acheron/athena/beta/info.json7
-rw-r--r--keyboards/acheron/athena/beta/keymaps/default/keymap.c51
-rw-r--r--keyboards/acheron/athena/beta/keymaps/via/keymap.c51
-rw-r--r--keyboards/acheron/athena/beta/keymaps/via/rules.mk1
-rw-r--r--keyboards/acheron/athena/beta/mcuconf.h31
-rw-r--r--keyboards/acheron/athena/beta/rules.mk24
-rw-r--r--keyboards/acheron/athena/info.json895
-rw-r--r--keyboards/acheron/athena/readme.md25
-rw-r--r--keyboards/acheron/austin/config.h7
-rwxr-xr-xkeyboards/acheron/austin/info.json6
-rw-r--r--keyboards/acheron/elongate/beta/config.h8
-rw-r--r--keyboards/acheron/elongate/beta/info.json6
-rwxr-xr-xkeyboards/acheron/elongate/beta/readme.md2
-rwxr-xr-xkeyboards/acheron/elongate/delta/config.h7
-rw-r--r--keyboards/acheron/elongate/delta/info.json6
-rwxr-xr-xkeyboards/acheron/elongate/delta/readme.md2
-rw-r--r--keyboards/acheron/keebspcb/config.h7
-rw-r--r--keyboards/acheron/keebspcb/info.json6
-rw-r--r--keyboards/acheron/lasgweloth/config.h7
-rw-r--r--keyboards/acheron/lasgweloth/info.json6
-rw-r--r--keyboards/acheron/shark/alpha/config.h8
-rw-r--r--keyboards/acheron/shark/alpha/info.json4
-rw-r--r--keyboards/acheron/shark/beta/config.h9
-rw-r--r--keyboards/acheron/shark/beta/info.json7
-rw-r--r--keyboards/acheron/shark/beta/mcuconf.h13
-rw-r--r--keyboards/acheron/shark/beta/rules.mk1
-rw-r--r--keyboards/acheron/shark/info.json6
-rw-r--r--keyboards/acheron/shark/readme.md4
-rw-r--r--keyboards/ada/ada1800mini/config.h7
-rw-r--r--keyboards/ada/ada1800mini/info.json6
-rw-r--r--keyboards/ada/ada1800mini/readme.md2
-rw-r--r--keyboards/ada/infinity81/config.h8
-rw-r--r--keyboards/ada/infinity81/info.json6
-rw-r--r--keyboards/ada/infinity81/readme.md2
-rw-r--r--keyboards/adafruit/macropad/config.h131
-rw-r--r--keyboards/adafruit/macropad/halconf.h28
-rw-r--r--keyboards/adafruit/macropad/info.json30
-rw-r--r--keyboards/adafruit/macropad/keymaps/default/keymap.c114
-rw-r--r--keyboards/adafruit/macropad/keymaps/default/rules.mk1
-rw-r--r--keyboards/adafruit/macropad/keymaps/via/keymap.c138
-rw-r--r--keyboards/adafruit/macropad/keymaps/via/rules.mk2
-rw-r--r--keyboards/adafruit/macropad/lib/oled_driver_spi.h29
-rw-r--r--keyboards/adafruit/macropad/lib/ssd1306_sh1106.c827
-rw-r--r--keyboards/adafruit/macropad/macropad.c56
-rw-r--r--keyboards/adafruit/macropad/macropad.h38
-rw-r--r--keyboards/adafruit/macropad/mcuconf.h22
-rw-r--r--keyboards/adafruit/macropad/readme.md38
-rw-r--r--keyboards/adafruit/macropad/rules.mk26
-rw-r--r--keyboards/adelheid/config.h8
-rw-r--r--keyboards/adelheid/info.json6
-rw-r--r--keyboards/adkb96/info.json8
-rw-r--r--keyboards/adkb96/rev1/config.h7
-rw-r--r--keyboards/adm42/config.h8
-rw-r--r--keyboards/adm42/info.json62
-rw-r--r--keyboards/adm42/readme.md2
-rw-r--r--keyboards/adpenrose/kintsugi/config.h8
-rw-r--r--keyboards/adpenrose/kintsugi/info.json6
-rw-r--r--keyboards/adpenrose/kintsugi/readme.md2
-rw-r--r--keyboards/adpenrose/shisaku/config.h37
-rw-r--r--keyboards/adpenrose/shisaku/info.json17
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/default/keymap.c32
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/default/readme.md1
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c32
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md1
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk4
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/via/keymap.c32
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/via/readme.md1
-rw-r--r--keyboards/adpenrose/shisaku/keymaps/via/rules.mk (renamed from keyboards/mechwild/mokulua/keymaps/silly/rules.mk)0
-rw-r--r--keyboards/adpenrose/shisaku/readme.md29
-rw-r--r--keyboards/adpenrose/shisaku/rules.mk18
-rw-r--r--keyboards/adpenrose/shisaku/shisaku.c4
-rw-r--r--keyboards/adpenrose/shisaku/shisaku.h32
-rw-r--r--keyboards/aeboards/aegis/config.h8
-rw-r--r--keyboards/aeboards/aegis/info.json6
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/config.h8
-rw-r--r--keyboards/aeboards/constellation/rev1/info.json8
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/config.h8
-rw-r--r--keyboards/aeboards/constellation/rev2/info.json8
-rw-r--r--keyboards/aeboards/ext65/info.json5
-rw-r--r--keyboards/aeboards/ext65/rev1/config.h8
-rw-r--r--keyboards/aeboards/ext65/rev1/info.json5
-rw-r--r--keyboards/aeboards/ext65/rev2/config.h7
-rw-r--r--keyboards/aeboards/ext65/rev2/info.json5
-rw-r--r--keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c2
-rw-r--r--keyboards/afternoonlabs/breeze/rev0/config.h7
-rw-r--r--keyboards/afternoonlabs/breeze/rev0/info.json7
-rw-r--r--keyboards/afternoonlabs/breeze/rev1/config.h7
-rw-r--r--keyboards/afternoonlabs/breeze/rev1/info.json7
-rw-r--r--keyboards/afternoonlabs/gust/rev1/config.h7
-rw-r--r--keyboards/afternoonlabs/gust/rev1/info.json7
-rw-r--r--keyboards/afternoonlabs/oceanbreeze/rev1/config.h7
-rw-r--r--keyboards/afternoonlabs/oceanbreeze/rev1/info.json7
-rw-r--r--keyboards/afternoonlabs/southern_breeze/rev1/config.h7
-rw-r--r--keyboards/afternoonlabs/southern_breeze/rev1/info.json7
-rw-r--r--keyboards/afternoonlabs/summer_breeze/rev1/config.h7
-rw-r--r--keyboards/afternoonlabs/summer_breeze/rev1/info.json7
-rw-r--r--keyboards/ai/config.h20
-rw-r--r--keyboards/ai/info.json51
-rw-r--r--keyboards/ai/keymaps/default/keymap.c24
-rw-r--r--keyboards/ai/readme.md34
-rw-r--r--keyboards/ai/rules.mk1
-rw-r--r--keyboards/ai03/andromeda/config.h7
-rw-r--r--keyboards/ai03/andromeda/info.json6
-rw-r--r--keyboards/ai03/equinox/config.h8
-rw-r--r--keyboards/ai03/equinox/info.json6
-rw-r--r--keyboards/ai03/equinox/keymaps/crd/keymap.c2
-rw-r--r--keyboards/ai03/jp60/config.h8
-rw-r--r--keyboards/ai03/jp60/info.json6
-rw-r--r--keyboards/ai03/jp60/keymaps/default/config.h20
-rw-r--r--keyboards/ai03/jp60/keymaps/via/config.h20
-rw-r--r--keyboards/ai03/jp60/readme.md2
-rw-r--r--keyboards/ai03/lunar/config.h8
-rw-r--r--keyboards/ai03/lunar/info.json6
-rw-r--r--keyboards/ai03/lunar/keymaps/muzfuz/keymap.c2
-rw-r--r--keyboards/ai03/orbit/config.h8
-rw-r--r--keyboards/ai03/orbit/info.json8
-rw-r--r--keyboards/ai03/orbit_x/config.h8
-rw-r--r--keyboards/ai03/orbit_x/info.json8
-rw-r--r--keyboards/ai03/polaris/config.h8
-rw-r--r--keyboards/ai03/polaris/info.json6
-rw-r--r--keyboards/ai03/polaris/keymaps/mekberg/keymap.c2
-rw-r--r--keyboards/ai03/polaris/keymaps/testing/keymap.c2
-rw-r--r--keyboards/ai03/quasar/config.h8
-rw-r--r--keyboards/ai03/quasar/info.json8
-rw-r--r--keyboards/ai03/quasar/keymaps/ai03/keymap.c2
-rw-r--r--keyboards/ai03/soyuz/config.h8
-rw-r--r--keyboards/ai03/soyuz/info.json6
-rw-r--r--keyboards/ai03/vega/config.h7
-rw-r--r--keyboards/ai03/vega/info.json6
-rw-r--r--keyboards/ai03/voyager60_alps/config.h7
-rw-r--r--keyboards/ai03/voyager60_alps/info.json6
-rw-r--r--keyboards/aidansmithdotdev/fine40/config.h12
-rw-r--r--keyboards/aidansmithdotdev/fine40/fine40.c85
-rw-r--r--keyboards/aidansmithdotdev/fine40/fine40.h3
-rw-r--r--keyboards/aidansmithdotdev/fine40/info.json231
-rw-r--r--keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c43
-rw-r--r--keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c43
-rw-r--r--keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk1
-rw-r--r--keyboards/aidansmithdotdev/fine40/readme.md27
-rw-r--r--keyboards/aidansmithdotdev/fine40/rules.mk1
-rw-r--r--keyboards/akb/eb46/config.h6
-rw-r--r--keyboards/akb/eb46/info.json6
-rw-r--r--keyboards/akb/ogr/config.h20
-rw-r--r--keyboards/akb/ogr/info.json115
-rw-r--r--keyboards/akb/ogr/keymaps/default/keymap.c39
-rw-r--r--keyboards/akb/ogr/keymaps/via/keymap.c39
-rw-r--r--keyboards/akb/ogr/keymaps/via/rules.mk1
-rw-r--r--keyboards/akb/ogr/readme.md29
-rw-r--r--keyboards/akb/ogr/rules.mk1
-rw-r--r--keyboards/akb/ogrn/config.h20
-rw-r--r--keyboards/akb/ogrn/info.json59
-rw-r--r--keyboards/akb/ogrn/keymaps/default/keymap.c48
-rw-r--r--keyboards/akb/ogrn/keymaps/via/keymap.c48
-rw-r--r--keyboards/akb/ogrn/keymaps/via/rules.mk1
-rw-r--r--keyboards/akb/ogrn/readme.md27
-rw-r--r--keyboards/akb/ogrn/rules.mk1
-rw-r--r--keyboards/akb/raine/config.h8
-rw-r--r--keyboards/akb/raine/info.json8
-rw-r--r--keyboards/akb/raine/keymaps/mehadviceguy/keymap.c2
-rw-r--r--keyboards/akegata_denki/device_one/config.h7
-rw-r--r--keyboards/akegata_denki/device_one/info.json6
-rw-r--r--keyboards/al1/config.h7
-rw-r--r--keyboards/al1/info.json6
-rw-r--r--keyboards/al1/keymaps/splitbs/keymap.c2
-rw-r--r--keyboards/aleblazer/zodiark/config.h7
-rw-r--r--keyboards/aleblazer/zodiark/info.json8
-rw-r--r--keyboards/alf/dc60/config.h8
-rw-r--r--keyboards/alf/dc60/info.json6
-rw-r--r--keyboards/alf/x11/config.h8
-rw-r--r--keyboards/alf/x11/info.json8
-rw-r--r--keyboards/alf/x11/keymaps/default/readme.md1
-rw-r--r--keyboards/alf/x11/keymaps/via/keymap.c55
-rw-r--r--keyboards/alf/x11/keymaps/via/rules.mk1
-rw-r--r--keyboards/alf/x2/config.h8
-rw-r--r--keyboards/alf/x2/info.json8
-rw-r--r--keyboards/alf/x2/keymaps/hhkb_60/keymap.c2
-rw-r--r--keyboards/alfredslab/swift65/hotswap/config.h59
-rw-r--r--keyboards/alfredslab/swift65/hotswap/hotswap.c19
-rw-r--r--keyboards/alfredslab/swift65/hotswap/hotswap.h35
-rw-r--r--keyboards/alfredslab/swift65/hotswap/info.json87
-rw-r--r--keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c37
-rw-r--r--keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c53
-rw-r--r--keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk1
-rw-r--r--keyboards/alfredslab/swift65/hotswap/readme.md19
-rw-r--r--keyboards/alfredslab/swift65/hotswap/rules.mk19
-rw-r--r--keyboards/alfredslab/swift65/solder/config.h7
-rw-r--r--keyboards/alfredslab/swift65/solder/info.json8
-rw-r--r--keyboards/aliceh66/pianoforte/config.h40
-rw-r--r--keyboards/aliceh66/pianoforte/info.json503
-rw-r--r--keyboards/aliceh66/pianoforte/keymaps/default/keymap.c33
-rw-r--r--keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c33
-rw-r--r--keyboards/aliceh66/pianoforte/keymaps/via/keymap.c43
-rw-r--r--keyboards/aliceh66/pianoforte/keymaps/via/rules.mk1
-rw-r--r--keyboards/aliceh66/pianoforte/pianoforte.c17
-rw-r--r--keyboards/aliceh66/pianoforte/pianoforte.h131
-rw-r--r--keyboards/aliceh66/pianoforte/readme.md15
-rw-r--r--keyboards/aliceh66/pianoforte/rules.mk24
-rw-r--r--keyboards/aliceh66/pianoforte_hs/config.h40
-rw-r--r--keyboards/aliceh66/pianoforte_hs/info.json110
-rw-r--r--keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c33
-rw-r--r--keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c43
-rw-r--r--keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk1
-rw-r--r--keyboards/aliceh66/pianoforte_hs/pianoforte_hs.c17
-rw-r--r--keyboards/aliceh66/pianoforte_hs/pianoforte_hs.h43
-rw-r--r--keyboards/aliceh66/pianoforte_hs/readme.md15
-rw-r--r--keyboards/aliceh66/pianoforte_hs/rules.mk22
-rwxr-xr-xkeyboards/alpha/config.h8
-rw-r--r--keyboards/alpha/info.json6
-rwxr-xr-xkeyboards/alpha/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/alpine65/config.h7
-rw-r--r--keyboards/alpine65/info.json6
-rw-r--r--keyboards/alps64/config.h8
-rw-r--r--keyboards/alps64/info.json8
-rw-r--r--keyboards/alps64/keymaps/crd/keymap.c2
-rw-r--r--keyboards/alt34/config.h20
-rw-r--r--keyboards/alt34/info.json52
-rw-r--r--keyboards/alt34/readme.md2
-rw-r--r--keyboards/alt34/rev1/config.h7
-rw-r--r--keyboards/alt34/rev1/info.json58
-rw-r--r--keyboards/amag23/config.h8
-rw-r--r--keyboards/amag23/info.json6
-rwxr-xr-xkeyboards/amjkeyboard/amj40/config.h8
-rw-r--r--keyboards/amjkeyboard/amj40/info.json6
-rwxr-xr-xkeyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c2
-rwxr-xr-xkeyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c2
-rw-r--r--keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c2
-rw-r--r--keyboards/amjkeyboard/amj60/config.h8
-rw-r--r--keyboards/amjkeyboard/amj60/info.json6
-rw-r--r--keyboards/amjkeyboard/amj66/config.h8
-rw-r--r--keyboards/amjkeyboard/amj66/info.json6
-rw-r--r--keyboards/amjkeyboard/amj84/config.h8
-rw-r--r--keyboards/amjkeyboard/amj84/info.json8
-rw-r--r--keyboards/amjkeyboard/amj84/readme.md2
-rw-r--r--keyboards/amjkeyboard/amj96/config.h8
-rw-r--r--keyboards/amjkeyboard/amj96/info.json6
-rw-r--r--keyboards/amjkeyboard/amjpad/config.h8
-rw-r--r--keyboards/amjkeyboard/amjpad/info.json8
-rw-r--r--keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c2
-rw-r--r--keyboards/an_achronism/tetromino/README.md42
-rw-r--r--keyboards/an_achronism/tetromino/config.h31
-rw-r--r--keyboards/an_achronism/tetromino/info.json184
-rw-r--r--keyboards/an_achronism/tetromino/keymaps/default/keymap.c62
-rw-r--r--keyboards/an_achronism/tetromino/keymaps/indicators/config.h30
-rw-r--r--keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c124
-rw-r--r--keyboards/an_achronism/tetromino/rules.mk2
-rw-r--r--keyboards/anavi/macropad8/config.h8
-rw-r--r--keyboards/anavi/macropad8/info.json8
-rw-r--r--keyboards/annepro2/ap2_led.c18
-rw-r--r--keyboards/annepro2/ap2_led.h5
-rw-r--r--keyboards/annepro2/c15/config.h24
-rw-r--r--keyboards/annepro2/c15/info.json6
-rw-r--r--keyboards/annepro2/c15/rules.mk4
-rw-r--r--keyboards/annepro2/c18/config.h24
-rw-r--r--keyboards/annepro2/c18/info.json6
-rw-r--r--keyboards/annepro2/c18/rules.mk4
-rw-r--r--keyboards/annepro2/halconf.h4
-rw-r--r--keyboards/annepro2/info.json6
-rw-r--r--keyboards/annepro2/keymaps/default-full-caps/keymap.c8
-rw-r--r--keyboards/annepro2/keymaps/default-layer-indicators/keymap.c12
-rw-r--r--keyboards/annepro2/mcuconf.h8
-rw-r--r--keyboards/annepro2/protocol.h8
-rw-r--r--keyboards/ano/config.h7
-rw-r--r--keyboards/ano/info.json6
-rw-r--r--keyboards/ano/readme.md2
-rw-r--r--keyboards/anomalykb/a65i/config.h8
-rw-r--r--keyboards/anomalykb/a65i/info.json6
-rw-r--r--keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c2
-rw-r--r--keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c2
-rw-r--r--keyboards/aos/tkl/config.h8
-rw-r--r--keyboards/aos/tkl/info.json6
-rw-r--r--keyboards/aos/tkl/keymaps/aholland909/keymap.c2
-rw-r--r--keyboards/aozora/config.h7
-rw-r--r--keyboards/aozora/info.json6
-rw-r--r--keyboards/aplyard/aplx6/info.json4
-rw-r--r--keyboards/aplyard/aplx6/rev1/config.h8
-rw-r--r--keyboards/aplyard/aplx6/rev1/info.json6
-rw-r--r--keyboards/aplyard/aplx6/rev2/config.h8
-rw-r--r--keyboards/aplyard/aplx6/rev2/info.json6
-rw-r--r--keyboards/arabica37/config.h21
-rw-r--r--keyboards/arabica37/info.json63
-rw-r--r--keyboards/arabica37/rev1/config.h7
-rw-r--r--keyboards/arabica37/rev1/info.json69
-rw-r--r--keyboards/ares/config.h7
-rw-r--r--keyboards/ares/info.json8
-rw-r--r--keyboards/arisu/config.h8
-rw-r--r--keyboards/arisu/info.json6
-rw-r--r--keyboards/arisu/keymaps/fate/keymap.c2
-rw-r--r--keyboards/arisu/keymaps/kresnak/keymap.c2
-rw-r--r--keyboards/arisu/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/arrayperipherals/1x4p1/config.h8
-rw-r--r--keyboards/arrayperipherals/1x4p1/info.json8
-rw-r--r--keyboards/ash1800/config.h8
-rw-r--r--keyboards/ash1800/info.json6
-rw-r--r--keyboards/ash_xiix/config.h8
-rw-r--r--keyboards/ash_xiix/info.json8
-rw-r--r--keyboards/ashpil/modelm_usbc/config.h8
-rw-r--r--keyboards/ashpil/modelm_usbc/info.json8
-rw-r--r--keyboards/at_at/660m/config.h9
-rw-r--r--keyboards/at_at/660m/info.json8
-rw-r--r--keyboards/atlantis/ak81_ve/config.h8
-rw-r--r--keyboards/atlantis/ak81_ve/info.json6
-rw-r--r--keyboards/atlantis/ak81_ve/readme.md2
-rw-r--r--keyboards/atlas_65/config.h8
-rw-r--r--keyboards/atlas_65/info.json8
-rw-r--r--keyboards/atlas_65/readme.md2
-rw-r--r--keyboards/atomic/config.h8
-rw-r--r--keyboards/atomic/info.json6
-rw-r--r--keyboards/atomic/keymaps/pvc/keymap.c4
-rw-r--r--keyboards/atreus/astar/config.h1
-rw-r--r--keyboards/atreus/astar_mirrored/config.h1
-rw-r--r--keyboards/atreus/config.h8
-rw-r--r--keyboards/atreus/f103/config.h1
-rw-r--r--keyboards/atreus/feather/config.h1
-rw-r--r--keyboards/atreus/info.json6
-rw-r--r--keyboards/atreus/keymaps/clash/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/classic/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/dvorak_42_key/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/erlandsona/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/gerb/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/henxing/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/jeremy/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/kejadlen/config.h1
-rw-r--r--keyboards/atreus/keymaps/kejadlen/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/khitsule/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/atreus/keymaps/nojjan/config.h2
-rw-r--r--keyboards/atreus/keymaps/nojjan/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/ptillemans/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/quartz64/keymap.c4
-rw-r--r--keyboards/atreus/keymaps/replicaJunction/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/talljoe/config.h4
-rw-r--r--keyboards/atreus/keymaps/workman/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/xk/keymap.c2
-rw-r--r--keyboards/atreus/keymaps/xyverz/keymap.c4
-rw-r--r--keyboards/atreus/keymaps/yttyx/keymap.c4
-rw-r--r--keyboards/atreus/promicro/config.h1
-rw-r--r--keyboards/atreus/teensy2/config.h1
-rw-r--r--keyboards/atreus62/config.h8
-rw-r--r--keyboards/atreus62/info.json6
-rw-r--r--keyboards/atreus62/keymaps/194h/keymap.c2
-rw-r--r--keyboards/atreus62/keymaps/d4mation/keymap.c4
-rw-r--r--keyboards/atreus62/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/atreus62/keymaps/pcewing/keymap.c2
-rw-r--r--keyboards/atreus62/keymaps/scheiklp/keymap.c2
-rw-r--r--keyboards/atreus62/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/atreyu/atreyu.c17
-rw-r--r--keyboards/atreyu/atreyu.h21
-rw-r--r--keyboards/atreyu/config.h35
-rw-r--r--keyboards/atreyu/keymaps/default/config.h27
-rw-r--r--keyboards/atreyu/keymaps/default/keymap.c110
-rw-r--r--keyboards/atreyu/keymaps/default/readme.md7
-rw-r--r--keyboards/atreyu/keymaps/default/rules.mk1
-rw-r--r--keyboards/atreyu/readme.md29
-rw-r--r--keyboards/atreyu/rev1/config.h72
-rw-r--r--keyboards/atreyu/rev1/info.json77
-rw-r--r--keyboards/atreyu/rev1/rev1.c47
-rw-r--r--keyboards/atreyu/rev1/rev1.h40
-rw-r--r--keyboards/atreyu/rev1/rules.mk (renamed from keyboards/just60/.noci)0
-rw-r--r--keyboards/atreyu/rules.mk22
-rw-r--r--keyboards/atset/at1/at1.c15
-rw-r--r--keyboards/atset/at1/at1.h22
-rw-r--r--keyboards/atset/at1/config.h68
-rw-r--r--keyboards/atset/at1/info.json15
-rw-r--r--keyboards/atset/at1/keymaps/default/keymap.c36
-rw-r--r--keyboards/atset/at1/keymaps/via/keymap.c35
-rw-r--r--keyboards/atset/at1/readme.md25
-rw-r--r--keyboards/atset/at1/rules.mk18
-rw-r--r--keyboards/atset/at12/at12.c15
-rw-r--r--keyboards/atset/at12/at12.h29
-rw-r--r--keyboards/atset/at12/config.h68
-rw-r--r--keyboards/atset/at12/info.json15
-rw-r--r--keyboards/atset/at12/keymaps/default/keymap.c44
-rw-r--r--keyboards/atset/at12/keymaps/via/keymap.c47
-rw-r--r--keyboards/atset/at12/readme.md25
-rw-r--r--keyboards/atset/at12/rules.mk18
-rw-r--r--keyboards/atset/at16/at16.c15
-rw-r--r--keyboards/atset/at16/at16.h29
-rw-r--r--keyboards/atset/at16/config.h68
-rw-r--r--keyboards/atset/at16/info.json15
-rw-r--r--keyboards/atset/at16/keymaps/default/keymap.c44
-rw-r--r--keyboards/atset/at16/keymaps/via/keymap.c47
-rw-r--r--keyboards/atset/at16/readme.md25
-rw-r--r--keyboards/atset/at16/rules.mk20
-rw-r--r--keyboards/atset/at3/at3.c15
-rw-r--r--keyboards/atset/at3/at3.h22
-rw-r--r--keyboards/atset/at3/config.h68
-rw-r--r--keyboards/atset/at3/info.json15
-rw-r--r--keyboards/atset/at3/keymaps/default/keymap.c36
-rw-r--r--keyboards/atset/at3/keymaps/via/keymap.c35
-rw-r--r--keyboards/atset/at3/readme.md25
-rw-r--r--keyboards/atset/at3/rules.mk18
-rw-r--r--keyboards/atset/at6/config.h8
-rw-r--r--keyboards/atset/at6/info.json6
-rw-r--r--keyboards/atset/at6/readme.md2
-rw-r--r--keyboards/atset/at9/config.h8
-rw-r--r--keyboards/atset/at9/info.json6
-rw-r--r--keyboards/atset/at9/readme.md2
-rw-r--r--keyboards/atxkb/1894/config.h8
-rw-r--r--keyboards/atxkb/1894/info.json6
-rw-r--r--keyboards/aurora65/aurora65.c16
-rw-r--r--keyboards/aurora65/aurora65.h34
-rw-r--r--keyboards/aurora65/config.h92
-rw-r--r--keyboards/aurora65/halconf.h21
-rw-r--r--keyboards/aurora65/info.json16
-rw-r--r--keyboards/aurora65/keymaps/default/keymap.c32
-rw-r--r--keyboards/aurora65/keymaps/default/readme.md5
-rw-r--r--keyboards/aurora65/keymaps/via/keymap.c46
-rw-r--r--keyboards/aurora65/keymaps/via/readme.md5
-rw-r--r--keyboards/aurora65/keymaps/via/rules.mk1
-rw-r--r--keyboards/aurora65/mcuconf.h25
-rw-r--r--keyboards/aurora65/readme.md32
-rw-r--r--keyboards/aurora65/rules.mk29
-rw-r--r--keyboards/avalanche/avalanche.h2
-rw-r--r--keyboards/avalanche/v1/config.h6
-rw-r--r--keyboards/avalanche/v1/info.json8
-rw-r--r--keyboards/avalanche/v2/config.h6
-rw-r--r--keyboards/avalanche/v2/info.json8
-rw-r--r--keyboards/avalanche/v3/config.h6
-rw-r--r--keyboards/avalanche/v3/info.json8
-rw-r--r--keyboards/avalanche/v4/config.h70
-rw-r--r--keyboards/avalanche/v4/info.json85
-rw-r--r--keyboards/avalanche/v4/keymaps/default/keymap.c49
-rw-r--r--keyboards/avalanche/v4/keymaps/winder/config.h12
-rw-r--r--keyboards/avalanche/v4/keymaps/winder/images.h69
-rw-r--r--keyboards/avalanche/v4/keymaps/winder/keymap.c135
-rw-r--r--keyboards/avalanche/v4/keymaps/winder/rules.mk1
-rw-r--r--keyboards/avalanche/v4/rules.mk23
-rw-r--r--keyboards/avalanche/v4/v4.c18
-rw-r--r--keyboards/avalanche/v4/v4.h31
-rw-r--r--keyboards/aves60/config.h8
-rw-r--r--keyboards/aves60/info.json8
-rw-r--r--keyboards/aves60/readme.md2
-rw-r--r--keyboards/aves65/config.h8
-rw-r--r--keyboards/aves65/info.json6
-rw-r--r--keyboards/axolstudio/foundation_gamma/config.h7
-rw-r--r--keyboards/axolstudio/foundation_gamma/info.json6
-rw-r--r--keyboards/axolstudio/foundation_gamma/readme.md2
-rw-r--r--keyboards/axolstudio/helpo/config.h7
-rw-r--r--keyboards/axolstudio/helpo/info.json8
-rw-r--r--keyboards/axolstudio/yeti/hotswap/config.h7
-rw-r--r--keyboards/axolstudio/yeti/hotswap/info.json8
-rw-r--r--keyboards/axolstudio/yeti/hotswap/readme.md2
-rw-r--r--keyboards/axolstudio/yeti/soldered/config.h7
-rw-r--r--keyboards/axolstudio/yeti/soldered/info.json8
-rw-r--r--keyboards/axolstudio/yeti/soldered/readme.md2
-rw-r--r--keyboards/aya/config.h6
-rw-r--r--keyboards/aya/info.json6
-rw-r--r--keyboards/b_sides/rev41lp/config.h37
-rw-r--r--keyboards/b_sides/rev41lp/info.json64
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/cyril/config.h21
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c105
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/default/keymap.c48
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/config.h43
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c176
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md3
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk7
-rw-r--r--keyboards/b_sides/rev41lp/readme.md15
-rw-r--r--keyboards/b_sides/rev41lp/rev41lp.c17
-rw-r--r--keyboards/b_sides/rev41lp/rev41lp.h35
-rw-r--r--keyboards/b_sides/rev41lp/rules.mk18
-rw-r--r--keyboards/bacca70/config.h7
-rw-r--r--keyboards/bacca70/info.json6
-rw-r--r--keyboards/bacca70/keymaps/debaccabean/keymap.c2
-rw-r--r--keyboards/bacca70/keymaps/dede-special/keymap.c2
-rw-r--r--keyboards/bacca70/readme.md2
-rw-r--r--keyboards/baguette/config.h8
-rw-r--r--keyboards/baguette/info.json6
-rw-r--r--keyboards/bajjak/bajjak.c227
-rw-r--r--keyboards/bajjak/bajjak.h165
-rw-r--r--keyboards/bajjak/config.h111
-rw-r--r--keyboards/bajjak/info.json37
-rw-r--r--keyboards/bajjak/keymaps/5x6/keymap.c187
-rw-r--r--keyboards/bajjak/keymaps/default/keymap.c193
-rw-r--r--keyboards/bajjak/matrix.c253
-rw-r--r--keyboards/bajjak/readme.md23
-rw-r--r--keyboards/bajjak/rules.mk37
-rw-r--r--keyboards/balloondogcaps/tr90/info.json44
-rw-r--r--keyboards/balloondogcaps/tr90/keymaps/default/keymap.c31
-rw-r--r--keyboards/balloondogcaps/tr90/keymaps/via/keymap.c41
-rw-r--r--keyboards/balloondogcaps/tr90/keymaps/via/rules.mk1
-rw-r--r--keyboards/balloondogcaps/tr90/readme.md25
-rw-r--r--keyboards/balloondogcaps/tr90/rules.mk (renamed from keyboards/mechmini/.noci)0
-rw-r--r--keyboards/balloondogcaps/tr90pm/info.json44
-rw-r--r--keyboards/balloondogcaps/tr90pm/keymaps/default/keymap.c31
-rw-r--r--keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c41
-rw-r--r--keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk1
-rw-r--r--keyboards/balloondogcaps/tr90pm/readme.md25
-rw-r--r--keyboards/balloondogcaps/tr90pm/rules.mk1
-rw-r--r--keyboards/bandominedoni/bandominedoni.c52
-rw-r--r--keyboards/bandominedoni/bandominedoni.h7
-rw-r--r--keyboards/bandominedoni/config.h20
-rw-r--r--keyboards/bandominedoni/info.json9
-rw-r--r--keyboards/bandominedoni/keymaps/default/keymap.c31
-rw-r--r--keyboards/bandominedoni/keymaps/default/rules.mk1
-rw-r--r--keyboards/bandominedoni/keymaps/led/config.h18
-rw-r--r--keyboards/bandominedoni/keymaps/led/keymap.c43
-rw-r--r--keyboards/bandominedoni/keymaps/led/readme.md2
-rw-r--r--keyboards/bandominedoni/keymaps/led/rules.mk2
-rw-r--r--keyboards/bandominedoni/keymaps/lednotg/keymap.c254
-rw-r--r--keyboards/bandominedoni/keymaps/lednotg/readme.md1
-rw-r--r--keyboards/bandominedoni/keymaps/lednotg/rules.mk4
-rw-r--r--keyboards/bandominedoni/keymaps/via/keymap.c37
-rw-r--r--keyboards/bandominedoni/keymaps/via/rules.mk2
-rw-r--r--keyboards/bantam44/config.h8
-rw-r--r--keyboards/bantam44/info.json8
-rw-r--r--keyboards/barleycorn_smd/config.h7
-rw-r--r--keyboards/barleycorn_smd/info.json6
-rw-r--r--keyboards/barracuda/config.h8
-rw-r--r--keyboards/barracuda/info.json6
-rw-r--r--keyboards/basekeys/slice/rev1/config.h7
-rw-r--r--keyboards/basekeys/slice/rev1/info.json8
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c6
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/config.h7
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/info.json8
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c6
-rw-r--r--keyboards/basekeys/trifecta/config.h7
-rw-r--r--keyboards/basekeys/trifecta/info.json6
-rw-r--r--keyboards/basketweave/config.h7
-rw-r--r--keyboards/basketweave/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/3x5.c8
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/config.h62
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/readme.md3
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk41
-rw-r--r--keyboards/bastardkb/charybdis/3x5/config.h44
-rw-r--r--keyboards/bastardkb/charybdis/3x5/info.json9
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/README.md3
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h166
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c224
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk10
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk1
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h19
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h13
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c42
-rw-r--r--keyboards/bastardkb/charybdis/3x5/rules.mk38
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h42
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk37
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h36
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk37
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h50
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky/mcuconf.h23
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky/rules.mk37
-rw-r--r--keyboards/bastardkb/charybdis/3x6/3x6.c91
-rw-r--r--keyboards/bastardkb/charybdis/3x6/3x6.h62
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/config.h60
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h26
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h43
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/readme.md3
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk39
-rw-r--r--keyboards/bastardkb/charybdis/3x6/config.h49
-rw-r--r--keyboards/bastardkb/charybdis/3x6/info.json99
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h54
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c66
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md7
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h71
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c148
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md57
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk1
-rw-r--r--keyboards/bastardkb/charybdis/3x6/readme.md15
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h41
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk35
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h36
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk35
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h50
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky/mcuconf.h23
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky/rules.mk37
-rw-r--r--keyboards/bastardkb/charybdis/4x6/4x6.c6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/config.h62
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/readme.md3
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk40
-rw-r--r--keyboards/bastardkb/charybdis/4x6/config.h47
-rw-r--r--keyboards/bastardkb/charybdis/4x6/info.json9
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h47
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h3
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c68
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h19
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk40
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h13
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c37
-rw-r--r--keyboards/bastardkb/charybdis/4x6/rules.mk37
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h42
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk36
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h36
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk36
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h50
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky/mcuconf.h23
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky/rules.mk36
-rw-r--r--keyboards/bastardkb/charybdis/charybdis.c181
-rw-r--r--keyboards/bastardkb/charybdis/charybdis.h8
-rw-r--r--keyboards/bastardkb/charybdis/post_config.h53
-rw-r--r--keyboards/bastardkb/charybdis/readme.md69
-rw-r--r--keyboards/bastardkb/dilemma/config.h49
-rw-r--r--keyboards/bastardkb/dilemma/dilemma.c329
-rw-r--r--keyboards/bastardkb/dilemma/dilemma.h134
-rw-r--r--keyboards/bastardkb/dilemma/elitec/config.h37
-rw-r--r--keyboards/bastardkb/dilemma/elitec/info.json6
-rw-r--r--keyboards/bastardkb/dilemma/elitec/rules.mk5
-rw-r--r--keyboards/bastardkb/dilemma/info.json46
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/bstiq/README.md3
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/bstiq/config.h153
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/bstiq/keymap.c224
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/default/keymap.c84
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/drashna/config.h8
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/drashna/keymap.c160
-rw-r--r--keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk8
-rw-r--r--keyboards/bastardkb/dilemma/readme.md14
-rw-r--r--keyboards/bastardkb/dilemma/rules.mk25
-rw-r--r--keyboards/bastardkb/dilemma/splinky/config.h46
-rw-r--r--keyboards/bastardkb/dilemma/splinky/halconf.h21
-rw-r--r--keyboards/bastardkb/dilemma/splinky/info.json6
-rw-r--r--keyboards/bastardkb/dilemma/splinky/mcuconf.h23
-rw-r--r--keyboards/bastardkb/dilemma/splinky/rules.mk9
-rw-r--r--keyboards/bastardkb/dilemma/splinky/splinky.c33
-rw-r--r--keyboards/bastardkb/info.json8
-rw-r--r--keyboards/bastardkb/scylla/blackpill/config.h58
-rw-r--r--keyboards/bastardkb/scylla/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/scylla/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/scylla/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/scylla/blackpill/rules.mk36
-rw-r--r--keyboards/bastardkb/scylla/config.h85
-rw-r--r--keyboards/bastardkb/scylla/info.json7
-rw-r--r--keyboards/bastardkb/scylla/keymaps/default/keymap.c65
-rw-r--r--keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c4
-rw-r--r--keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c6
-rw-r--r--keyboards/bastardkb/scylla/readme.md2
-rw-r--r--keyboards/bastardkb/scylla/rules.mk22
-rw-r--r--keyboards/bastardkb/scylla/scylla.h46
-rw-r--r--keyboards/bastardkb/scylla/v1/elitec/config.h34
-rw-r--r--keyboards/bastardkb/scylla/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/scylla/v1/elitec/rules.mk26
-rw-r--r--keyboards/bastardkb/scylla/v2/elitec/config.h33
-rw-r--r--keyboards/bastardkb/scylla/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/scylla/v2/elitec/rules.mk26
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky/config.h43
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky/rules.mk33
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/config.h58
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/rules.mk37
-rw-r--r--keyboards/bastardkb/skeletyl/config.h80
-rw-r--r--keyboards/bastardkb/skeletyl/info.json7
-rw-r--r--keyboards/bastardkb/skeletyl/rules.mk28
-rw-r--r--keyboards/bastardkb/skeletyl/skeletyl.h2
-rw-r--r--keyboards/bastardkb/skeletyl/v1/elitec/config.h34
-rw-r--r--keyboards/bastardkb/skeletyl/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/skeletyl/v1/elitec/rules.mk27
-rw-r--r--keyboards/bastardkb/skeletyl/v1/info.json5
-rw-r--r--keyboards/bastardkb/skeletyl/v2/elitec/config.h33
-rw-r--r--keyboards/bastardkb/skeletyl/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/skeletyl/v2/elitec/rules.mk27
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky/config.h43
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky/rules.mk34
-rw-r--r--keyboards/bastardkb/tbk/config.h5
-rw-r--r--keyboards/bastardkb/tbk/info.json5
-rw-r--r--keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c4
-rw-r--r--keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c6
-rw-r--r--keyboards/bastardkb/tbk/readme.md2
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/config.h58
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/rules.mk37
-rw-r--r--keyboards/bastardkb/tbkmini/config.h83
-rw-r--r--keyboards/bastardkb/tbkmini/info.json7
-rw-r--r--keyboards/bastardkb/tbkmini/keymaps/default/keymap.c91
-rw-r--r--keyboards/bastardkb/tbkmini/rules.mk29
-rw-r--r--keyboards/bastardkb/tbkmini/tbkmini.h37
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/config.h34
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/rules.mk27
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/config.h33
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/rules.mk27
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/config.h43
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/rules.mk34
-rw-r--r--keyboards/bbrfkr/dynamis/config.h9
-rw-r--r--keyboards/bbrfkr/dynamis/dynamis.c16
-rw-r--r--keyboards/bbrfkr/dynamis/info.json82
-rw-r--r--keyboards/bbrfkr/dynamis/keymaps/default/keymap.c40
-rw-r--r--keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c40
-rw-r--r--keyboards/bbrfkr/dynamis/keymaps/via/keymap.c49
-rw-r--r--keyboards/bbrfkr/dynamis/keymaps/via/rules.mk1
-rw-r--r--keyboards/bbrfkr/dynamis/readme.md6
-rw-r--r--keyboards/bear_face/config.h7
-rw-r--r--keyboards/bear_face/info.json10
-rw-r--r--keyboards/bear_face/v1/config.h19
-rw-r--r--keyboards/bear_face/v1/info.json6
-rw-r--r--keyboards/bear_face/v2/config.h19
-rw-r--r--keyboards/bear_face/v2/info.json6
-rw-r--r--keyboards/bear_face/v2/keymaps/default/keymap.c2
-rw-r--r--keyboards/beatervan/config.h8
-rw-r--r--keyboards/beatervan/info.json6
-rwxr-xr-xkeyboards/bemeier/bmek/config.h6
-rwxr-xr-xkeyboards/bemeier/bmek/info.json7
-rwxr-xr-xkeyboards/bemeier/bmek/rev1/config.h4
-rw-r--r--keyboards/bemeier/bmek/rev1/info.json5
-rwxr-xr-xkeyboards/bemeier/bmek/rev2/config.h6
-rw-r--r--keyboards/bemeier/bmek/rev2/info.json5
-rwxr-xr-xkeyboards/bemeier/bmek/rev3/config.h6
-rw-r--r--keyboards/bemeier/bmek/rev3/info.json5
-rw-r--r--keyboards/bfake/config.h7
-rw-r--r--keyboards/bfake/info.json8
-rw-r--r--keyboards/bfake/keymaps/mechmerlin/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/info.json10
-rw-r--r--keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c4
-rw-r--r--keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c4
-rw-r--r--keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/biacco/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c8
-rw-r--r--keyboards/biacco42/ergo42/keymaps/koba/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/shinze/keymap.c2
-rw-r--r--keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c4
-rw-r--r--keyboards/biacco42/ergo42/rev1/config.h7
-rw-r--r--keyboards/biacco42/ergo42/rev1/info.json16
-rw-r--r--keyboards/biacco42/meishi/config.h8
-rw-r--r--keyboards/biacco42/meishi/info.json6
-rw-r--r--keyboards/biacco42/meishi2/config.h8
-rw-r--r--keyboards/biacco42/meishi2/info.json6
-rw-r--r--keyboards/binepad/bn003/config.h8
-rw-r--r--keyboards/binepad/bn003/info.json6
-rw-r--r--keyboards/binepad/bn009/config.h8
-rw-r--r--keyboards/binepad/bn009/info.json6
-rw-r--r--keyboards/bioi/f60/config.h7
-rw-r--r--keyboards/bioi/f60/info.json8
-rw-r--r--keyboards/bioi/f60/readme.md4
-rw-r--r--keyboards/bioi/g60/config.h8
-rw-r--r--keyboards/bioi/g60/info.json6
-rw-r--r--keyboards/bioi/g60ble/config.h8
-rw-r--r--keyboards/bioi/g60ble/info.json6
-rw-r--r--keyboards/bioi/morgan65/config.h10
-rw-r--r--keyboards/bioi/morgan65/info.json6
-rw-r--r--keyboards/bioi/s65/config.h8
-rw-r--r--keyboards/bioi/s65/info.json6
-rw-r--r--keyboards/blackplum/config.h8
-rw-r--r--keyboards/blackplum/info.json8
-rw-r--r--keyboards/blank/blank01/config.h8
-rw-r--r--keyboards/blank/blank01/info.json8
-rw-r--r--keyboards/blank/blank01/readme.md2
-rw-r--r--keyboards/blank_tehnologii/manibus/config.h7
-rw-r--r--keyboards/blank_tehnologii/manibus/info.json6
-rw-r--r--keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c2
-rw-r--r--keyboards/blaster75/config.h7
-rw-r--r--keyboards/blaster75/info.json6
-rw-r--r--keyboards/blaster75/readme.md2
-rw-r--r--keyboards/blockboy/ac980mini/keymaps/default/keymap.c2
-rw-r--r--keyboards/blockboy/ac980mini/keymaps/via/keymap.c2
-rw-r--r--keyboards/blockboy/ac980mini/readme.md2
-rw-r--r--keyboards/blockey/config.h8
-rw-r--r--keyboards/blockey/info.json6
-rw-r--r--keyboards/boardrun/bizarre/config.h8
-rw-r--r--keyboards/boardrun/bizarre/info.json6
-rw-r--r--keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c2
-rw-r--r--keyboards/boardrun/bizarre/readme.md2
-rw-r--r--keyboards/boardrun/classic/config.h8
-rw-r--r--keyboards/boardrun/classic/info.json6
-rw-r--r--keyboards/boardrun/classic/readme.md2
-rw-r--r--keyboards/boardsource/3x4/3x4.c1
-rw-r--r--keyboards/boardsource/3x4/3x4.h12
-rw-r--r--keyboards/boardsource/3x4/config.h70
-rw-r--r--keyboards/boardsource/3x4/info.json61
-rw-r--r--keyboards/boardsource/3x4/keymaps/default/keymap.c24
-rw-r--r--keyboards/boardsource/3x4/keymaps/via/keymap.c43
-rw-r--r--keyboards/boardsource/3x4/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/3x4/rules.mk18
-rw-r--r--keyboards/boardsource/4x12/4x12.c1
-rw-r--r--keyboards/boardsource/4x12/4x12.h14
-rw-r--r--keyboards/boardsource/4x12/config.h68
-rw-r--r--keyboards/boardsource/4x12/info.json135
-rw-r--r--keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c2
-rw-r--r--keyboards/boardsource/4x12/keymaps/default/keymap.c23
-rw-r--r--keyboards/boardsource/4x12/keymaps/via/keymap.c29
-rw-r--r--keyboards/boardsource/4x12/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/4x12/rules.mk25
-rw-r--r--keyboards/boardsource/5x12/5x12.c1
-rw-r--r--keyboards/boardsource/5x12/5x12.h17
-rw-r--r--keyboards/boardsource/5x12/config.h69
-rw-r--r--keyboards/boardsource/5x12/info.json160
-rw-r--r--keyboards/boardsource/5x12/keymaps/default/keymap.c37
-rw-r--r--keyboards/boardsource/5x12/keymaps/via/keymap.c48
-rw-r--r--keyboards/boardsource/5x12/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/5x12/rules.mk25
-rw-r--r--keyboards/boardsource/beiwagon/beiwagon.c38
-rw-r--r--keyboards/boardsource/beiwagon/beiwagon.h32
-rw-r--r--keyboards/boardsource/beiwagon/config.h117
-rw-r--r--keyboards/boardsource/beiwagon/info.json84
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/default/keymap.c13
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/via/keymap.c25
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/beiwagon/rules.mk19
-rw-r--r--keyboards/boardsource/holiday/spooky/config.h129
-rw-r--r--keyboards/boardsource/holiday/spooky/info.json58
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c14
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c84
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c83
-rw-r--r--keyboards/boardsource/holiday/spooky/rules.mk21
-rw-r--r--keyboards/boardsource/holiday/spooky/spooky.c17
-rw-r--r--keyboards/boardsource/holiday/spooky/spooky.h35
-rw-r--r--keyboards/boardsource/lulu/avr/info.json21
-rw-r--r--keyboards/boardsource/lulu/avr/rules.mk1
-rw-r--r--keyboards/boardsource/lulu/config.h52
-rw-r--r--keyboards/boardsource/lulu/info.json179
-rw-r--r--keyboards/boardsource/lulu/keymaps/default/keymap.c21
-rw-r--r--keyboards/boardsource/lulu/keymaps/via/keymap.c1
-rw-r--r--keyboards/boardsource/lulu/lulu.c425
-rw-r--r--keyboards/boardsource/lulu/lulu.h29
-rw-r--r--keyboards/boardsource/lulu/readme.md13
-rw-r--r--keyboards/boardsource/lulu/rp2040/config.h11
-rw-r--r--keyboards/boardsource/lulu/rp2040/halconf.h5
-rw-r--r--keyboards/boardsource/lulu/rp2040/info.json17
-rw-r--r--keyboards/boardsource/lulu/rp2040/mcuconf.h6
-rw-r--r--keyboards/boardsource/lulu/rp2040/rules.mk2
-rw-r--r--keyboards/boardsource/lulu/rules.mk26
-rw-r--r--keyboards/boardsource/microdox/config.h83
-rw-r--r--keyboards/boardsource/microdox/info.json118
-rw-r--r--keyboards/boardsource/microdox/keymaps/cole/keymap.c2
-rw-r--r--keyboards/boardsource/microdox/keymaps/cole/rules.mk1
-rw-r--r--keyboards/boardsource/microdox/keymaps/default/keymap.c2
-rw-r--r--keyboards/boardsource/microdox/keymaps/via/rules.mk2
-rw-r--r--keyboards/boardsource/microdox/microdox.c37
-rw-r--r--keyboards/boardsource/microdox/microdox.h38
-rw-r--r--keyboards/boardsource/microdox/readme.md3
-rw-r--r--keyboards/boardsource/microdox/rules.mk21
-rw-r--r--keyboards/boardsource/microdox/v1/config.h6
-rw-r--r--keyboards/boardsource/microdox/v1/info.json25
-rw-r--r--keyboards/boardsource/microdox/v1/rules.mk1
-rw-r--r--keyboards/boardsource/microdox/v2/config.h52
-rw-r--r--keyboards/boardsource/microdox/v2/info.json82
-rw-r--r--keyboards/boardsource/microdox/v2/rules.mk7
-rw-r--r--keyboards/boardsource/microdox/v2/v2.c62
-rw-r--r--keyboards/boardsource/microdox/v2/v2.h22
-rw-r--r--keyboards/boardsource/technik_o/config.h116
-rw-r--r--keyboards/boardsource/technik_o/info.json200
-rw-r--r--keyboards/boardsource/technik_o/keymaps/default/keymap.c23
-rw-r--r--keyboards/boardsource/technik_o/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/technik_o/keymaps/via/keymap.c30
-rw-r--r--keyboards/boardsource/technik_o/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/technik_o/rules.mk20
-rw-r--r--keyboards/boardsource/technik_o/technik_o.c26
-rw-r--r--keyboards/boardsource/technik_o/technik_o.h31
-rw-r--r--keyboards/boardsource/technik_s/config.h116
-rw-r--r--keyboards/boardsource/technik_s/info.json185
-rw-r--r--keyboards/boardsource/technik_s/keymaps/default/keymap.c26
-rw-r--r--keyboards/boardsource/technik_s/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/technik_s/keymaps/via/keymap.c32
-rw-r--r--keyboards/boardsource/technik_s/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/technik_s/rules.mk20
-rw-r--r--keyboards/boardsource/technik_s/technik_s.c38
-rw-r--r--keyboards/boardsource/technik_s/technik_s.h31
-rw-r--r--keyboards/boardsource/the_mark/config.h171
-rw-r--r--keyboards/boardsource/the_mark/info.json799
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/via/keymap.c2
-rw-r--r--keyboards/boardsource/the_mark/keymaps/via/readme.md3
-rw-r--r--keyboards/boardsource/the_mark/rules.mk21
-rw-r--r--keyboards/boardsource/the_mark/the_mark.c49
-rw-r--r--keyboards/boardsource/the_mark/the_mark.h109
-rw-r--r--keyboards/boardwalk/config.h8
-rw-r--r--keyboards/boardwalk/info.json6
-rw-r--r--keyboards/boardwalk/keymaps/mcallaster/keymap.c2
-rw-r--r--keyboards/boardwalk/keymaps/nchristus/keymap.c2
-rw-r--r--keyboards/boardwalk/keymaps/niclake/keymap.c4
-rw-r--r--keyboards/bobpad/config.h7
-rw-r--r--keyboards/bobpad/info.json6
-rw-r--r--keyboards/bobpad/readme.md4
-rw-r--r--keyboards/bolsa/damapad/config.h9
-rw-r--r--keyboards/bolsa/damapad/info.json6
-rw-r--r--keyboards/bop/config.h8
-rw-r--r--keyboards/bop/info.json6
-rw-r--r--keyboards/boston/config.h6
-rw-r--r--keyboards/boston/info.json8
-rw-r--r--keyboards/boston_meetup/2019/config.h3
-rw-r--r--keyboards/boston_meetup/2019/info.json10
-rw-r--r--keyboards/boston_meetup/config.h6
-rw-r--r--keyboards/boston_meetup/info.json14
-rw-r--r--keyboards/botanicalkeyboards/fm2u/config.h8
-rw-r--r--keyboards/botanicalkeyboards/fm2u/info.json8
-rw-r--r--keyboards/box75/config.h7
-rw-r--r--keyboards/box75/info.json6
-rw-r--r--keyboards/bpiphany/four_banger/config.h8
-rw-r--r--keyboards/bpiphany/four_banger/info.json6
-rw-r--r--keyboards/bpiphany/frosty_flake/config.h8
-rw-r--r--keyboards/bpiphany/frosty_flake/info.json6
-rw-r--r--keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c2
-rw-r--r--keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h1
-rw-r--r--keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c32
-rw-r--r--keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md5
-rw-r--r--keyboards/bpiphany/ghost_squid/config.h7
-rw-r--r--keyboards/bpiphany/ghost_squid/info.json8
-rw-r--r--keyboards/bpiphany/ghost_squid/readme.md2
-rwxr-xr-xkeyboards/bpiphany/hid_liber/config.h7
-rw-r--r--keyboards/bpiphany/hid_liber/info.json8
-rw-r--r--keyboards/bpiphany/kitten_paw/config.h8
-rw-r--r--keyboards/bpiphany/kitten_paw/info.json6
-rw-r--r--keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c4
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/config.h8
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/config.h8
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/info.json7
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c4
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c2
-rw-r--r--keyboards/bpiphany/sixshooter/config.h8
-rw-r--r--keyboards/bpiphany/sixshooter/info.json6
-rw-r--r--keyboards/bpiphany/tiger_lily/config.h8
-rw-r--r--keyboards/bpiphany/tiger_lily/info.json6
-rw-r--r--keyboards/bpiphany/unloved_bastard/config.h7
-rw-r--r--keyboards/bpiphany/unloved_bastard/info.json8
-rw-r--r--keyboards/bt66tech/bt66tech60/config.h7
-rw-r--r--keyboards/bt66tech/bt66tech60/info.json8
-rw-r--r--keyboards/bthlabs/geekpad/config.h8
-rw-r--r--keyboards/bthlabs/geekpad/info.json8
-rw-r--r--keyboards/buildakb/potato65/config.h8
-rw-r--r--keyboards/buildakb/potato65/info.json6
-rw-r--r--keyboards/buildakb/potato65hs/config.h8
-rw-r--r--keyboards/buildakb/potato65hs/info.json6
-rw-r--r--keyboards/buildakb/potato65s/config.h8
-rw-r--r--keyboards/buildakb/potato65s/info.json6
-rw-r--r--keyboards/buzzard/info.json10
-rw-r--r--keyboards/buzzard/rev1/config.h8
-rw-r--r--keyboards/buzzard/rev1/info.json16
-rw-r--r--keyboards/cablecardesigns/cypher/rev6/config.h8
-rw-r--r--keyboards/cablecardesigns/cypher/rev6/info.json6
-rw-r--r--keyboards/cablecardesigns/cypher/rev6/readme.md2
-rw-r--r--keyboards/caffeinated/serpent65/config.h8
-rw-r--r--keyboards/caffeinated/serpent65/info.json8
-rw-r--r--keyboards/canary/canary60rgb/info.json6
-rw-r--r--keyboards/canary/canary60rgb/v1/config.h8
-rw-r--r--keyboards/cannonkeys/adelie/config.h7
-rw-r--r--keyboards/cannonkeys/adelie/info.json6
-rw-r--r--keyboards/cannonkeys/aella/config.h7
-rw-r--r--keyboards/cannonkeys/aella/info.json6
-rw-r--r--keyboards/cannonkeys/an_c/config.h7
-rw-r--r--keyboards/cannonkeys/an_c/info.json6
-rw-r--r--keyboards/cannonkeys/atlas/atlas.h4
-rw-r--r--keyboards/cannonkeys/atlas/config.h7
-rw-r--r--keyboards/cannonkeys/atlas/info.json6
-rw-r--r--keyboards/cannonkeys/atlas_alps/config.h8
-rw-r--r--keyboards/cannonkeys/atlas_alps/info.json8
-rw-r--r--keyboards/cannonkeys/balance/config.h7
-rw-r--r--keyboards/cannonkeys/balance/info.json6
-rw-r--r--keyboards/cannonkeys/brutalv2_65/config.h7
-rw-r--r--keyboards/cannonkeys/brutalv2_65/info.json6
-rw-r--r--keyboards/cannonkeys/brutalv2_65/keymaps/default/keymap.c2
-rw-r--r--keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c2
-rw-r--r--keyboards/cannonkeys/brutalv2_65/readme.md2
-rw-r--r--keyboards/cannonkeys/chimera65/config.h7
-rw-r--r--keyboards/cannonkeys/chimera65/info.json6
-rw-r--r--keyboards/cannonkeys/cloudline/config.h7
-rw-r--r--keyboards/cannonkeys/cloudline/info.json6
-rw-r--r--keyboards/cannonkeys/cloudline/keymaps/default/keymap.c2
-rw-r--r--keyboards/cannonkeys/cloudline/keymaps/via/keymap.c2
-rw-r--r--keyboards/cannonkeys/cloudline/readme.md2
-rw-r--r--keyboards/cannonkeys/crin/config.h64
-rw-r--r--keyboards/cannonkeys/crin/crin.c17
-rw-r--r--keyboards/cannonkeys/crin/crin.h33
-rw-r--r--keyboards/cannonkeys/crin/halconf.h31
-rw-r--r--keyboards/cannonkeys/crin/info.json16
-rw-r--r--keyboards/cannonkeys/crin/keymaps/default/keymap.c39
-rw-r--r--keyboards/cannonkeys/crin/keymaps/via/keymap.c59
-rw-r--r--keyboards/cannonkeys/crin/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/crin/mcuconf.h34
-rw-r--r--keyboards/cannonkeys/crin/readme.md18
-rw-r--r--keyboards/cannonkeys/crin/rules.mk24
-rw-r--r--keyboards/cannonkeys/db60/config.h6
-rw-r--r--keyboards/cannonkeys/db60/hotswap/config.h21
-rw-r--r--keyboards/cannonkeys/db60/hotswap/info.json6
-rw-r--r--keyboards/cannonkeys/db60/info.json6
-rw-r--r--keyboards/cannonkeys/db60/j02/config.h21
-rw-r--r--keyboards/cannonkeys/db60/j02/info.json6
-rw-r--r--keyboards/cannonkeys/db60/rev2/config.h21
-rw-r--r--keyboards/cannonkeys/db60/rev2/info.json6
-rw-r--r--keyboards/cannonkeys/devastatingtkl/config.h7
-rw-r--r--keyboards/cannonkeys/devastatingtkl/info.json6
-rw-r--r--keyboards/cannonkeys/gentoo/config.h55
-rw-r--r--keyboards/cannonkeys/gentoo/gentoo.c16
-rw-r--r--keyboards/cannonkeys/gentoo/gentoo.h35
-rw-r--r--keyboards/cannonkeys/gentoo/info.json91
-rw-r--r--keyboards/cannonkeys/gentoo/keymaps/default/keymap.c47
-rw-r--r--keyboards/cannonkeys/gentoo/keymaps/via/keymap.c65
-rw-r--r--keyboards/cannonkeys/gentoo/keymaps/via/rules.mk (renamed from keyboards/mechwild/bde/keymaps/lefty_via/rules.mk)0
-rw-r--r--keyboards/cannonkeys/gentoo/readme.md20
-rw-r--r--keyboards/cannonkeys/gentoo/rules.mk24
-rw-r--r--keyboards/cannonkeys/gentoo_hs/config.h57
-rw-r--r--keyboards/cannonkeys/gentoo_hs/gentoo_hs.c16
-rw-r--r--keyboards/cannonkeys/gentoo_hs/gentoo_hs.h34
-rw-r--r--keyboards/cannonkeys/gentoo_hs/info.json88
-rw-r--r--keyboards/cannonkeys/gentoo_hs/keymaps/default/keymap.c46
-rw-r--r--keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c64
-rw-r--r--keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/gentoo_hs/readme.md20
-rw-r--r--keyboards/cannonkeys/gentoo_hs/rules.mk24
-rw-r--r--keyboards/cannonkeys/hoodrowg/config.h7
-rw-r--r--keyboards/cannonkeys/hoodrowg/info.json6
-rw-r--r--keyboards/cannonkeys/hoodrowg/readme.md2
-rw-r--r--keyboards/cannonkeys/instant60/config.h7
-rw-r--r--keyboards/cannonkeys/instant60/info.json6
-rw-r--r--keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c2
-rw-r--r--keyboards/cannonkeys/instant65/config.h7
-rw-r--r--keyboards/cannonkeys/instant65/info.json6
-rw-r--r--keyboards/cannonkeys/iron165/config.h7
-rw-r--r--keyboards/cannonkeys/iron165/info.json6
-rw-r--r--keyboards/cannonkeys/malicious_ergo/chconf.h31
-rw-r--r--keyboards/cannonkeys/malicious_ergo/config.h96
-rw-r--r--keyboards/cannonkeys/malicious_ergo/halconf.h31
-rw-r--r--keyboards/cannonkeys/malicious_ergo/info.json16
-rw-r--r--keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c42
-rw-r--r--keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c60
-rw-r--r--keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/malicious_ergo/malicious_ergo.c16
-rw-r--r--keyboards/cannonkeys/malicious_ergo/malicious_ergo.h34
-rw-r--r--keyboards/cannonkeys/malicious_ergo/mcuconf.h33
-rw-r--r--keyboards/cannonkeys/malicious_ergo/readme.md18
-rw-r--r--keyboards/cannonkeys/malicious_ergo/rules.mk25
-rw-r--r--keyboards/cannonkeys/moment_hs/info.json98
-rw-r--r--keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c45
-rw-r--r--keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c45
-rw-r--r--keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/moment_hs/readme.md25
-rw-r--r--keyboards/cannonkeys/moment_hs/rules.mk2
-rwxr-xr-xkeyboards/cannonkeys/nearfield/config.h35
-rw-r--r--keyboards/cannonkeys/nearfield/info.json376
-rwxr-xr-xkeyboards/cannonkeys/nearfield/keymaps/default/keymap.c30
-rwxr-xr-xkeyboards/cannonkeys/nearfield/nearfield.c18
-rwxr-xr-xkeyboards/cannonkeys/nearfield/nearfield.h35
-rw-r--r--keyboards/cannonkeys/nearfield/readme.md31
-rwxr-xr-xkeyboards/cannonkeys/nearfield/rules.mk18
-rw-r--r--keyboards/cannonkeys/obliterated75/config.h7
-rw-r--r--keyboards/cannonkeys/obliterated75/info.json6
-rw-r--r--keyboards/cannonkeys/onyx/config.h6
-rw-r--r--keyboards/cannonkeys/onyx/info.json6
-rw-r--r--keyboards/cannonkeys/ortho48/config.h7
-rw-r--r--keyboards/cannonkeys/ortho48/info.json6
-rw-r--r--keyboards/cannonkeys/ortho60/config.h7
-rw-r--r--keyboards/cannonkeys/ortho60/info.json6
-rw-r--r--keyboards/cannonkeys/ortho75/config.h7
-rw-r--r--keyboards/cannonkeys/ortho75/info.json6
-rw-r--r--keyboards/cannonkeys/ortho75/ortho75.c73
-rw-r--r--keyboards/cannonkeys/practice60/config.h7
-rw-r--r--keyboards/cannonkeys/practice60/info.json6
-rw-r--r--keyboards/cannonkeys/practice65/config.h7
-rw-r--r--keyboards/cannonkeys/practice65/info.json8
-rw-r--r--keyboards/cannonkeys/rekt1800/config.h7
-rw-r--r--keyboards/cannonkeys/rekt1800/info.json6
-rw-r--r--keyboards/cannonkeys/sagittarius/config.h7
-rw-r--r--keyboards/cannonkeys/sagittarius/info.json6
-rw-r--r--keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c4
-rw-r--r--keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c4
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h9
-rw-r--r--keyboards/cannonkeys/satisfaction75/info.json11
-rw-r--r--keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c2
-rw-r--r--keyboards/cannonkeys/satisfaction75/prototype/info.json3
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/info.json3
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c8
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction_oled.c4
-rw-r--r--keyboards/cannonkeys/savage65/config.h7
-rw-r--r--keyboards/cannonkeys/savage65/info.json6
-rw-r--r--keyboards/cannonkeys/tmov2/config.h7
-rw-r--r--keyboards/cannonkeys/tmov2/info.json6
-rw-r--r--keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/cannonkeys/tsukuyomi/config.h7
-rw-r--r--keyboards/cannonkeys/tsukuyomi/info.json6
-rw-r--r--keyboards/cannonkeys/vector/info.json35
-rw-r--r--keyboards/cannonkeys/vector/keymaps/default/keymap.c45
-rw-r--r--keyboards/cannonkeys/vector/keymaps/via/keymap.c45
-rw-r--r--keyboards/cannonkeys/vector/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/vector/readme.md25
-rw-r--r--keyboards/cannonkeys/vector/rules.mk2
-rw-r--r--keyboards/cannonkeys/vicious40/config.h7
-rw-r--r--keyboards/cannonkeys/vicious40/info.json6
-rw-r--r--keyboards/cantor/info.json1
-rw-r--r--keyboards/cantor/keymaps/zeromist/keymap.c107
-rw-r--r--keyboards/cantor/readme.md2
-rw-r--r--keyboards/capsunlocked/cu24/config.h8
-rw-r--r--keyboards/capsunlocked/cu24/info.json8
-rw-r--r--keyboards/capsunlocked/cu65/config.h8
-rw-r--r--keyboards/capsunlocked/cu65/info.json6
-rw-r--r--keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c2
-rw-r--r--keyboards/capsunlocked/cu7/config.h8
-rw-r--r--keyboards/capsunlocked/cu7/info.json6
-rw-r--r--keyboards/capsunlocked/cu75/config.h7
-rw-r--r--keyboards/capsunlocked/cu75/cu75.c2
-rw-r--r--keyboards/capsunlocked/cu75/info.json8
-rw-r--r--keyboards/capsunlocked/cu80/v1/config.h8
-rw-r--r--keyboards/capsunlocked/cu80/v1/info.json6
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/base/info.json6
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk (renamed from keyboards/yosino58/.noci)0
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h4
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json1
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rules.mk11
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/base/info.json6
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/base/rules.mk (renamed from keyboards/yosino58/rev1/.noci)0
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rgb/config.h4
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rgb/info.json1
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rules.mk11
-rw-r--r--keyboards/carbo65/config.h9
-rw-r--r--keyboards/carbo65/info.json6
-rw-r--r--keyboards/catch22/config.h8
-rw-r--r--keyboards/catch22/info.json8
-rw-r--r--keyboards/centromere/config.h8
-rw-r--r--keyboards/centromere/info.json6
-rw-r--r--keyboards/centromere/keymaps/mattly/keymap.c2
-rw-r--r--keyboards/centromere/keymaps/mini/keymap.c2
-rw-r--r--keyboards/cest73/tkm/config.h8
-rw-r--r--keyboards/cest73/tkm/info.json8
-rw-r--r--keyboards/chalice/config.h6
-rw-r--r--keyboards/chalice/info.json6
-rw-r--r--keyboards/chalice/readme.md2
-rw-r--r--keyboards/chaos65/config.h7
-rw-r--r--keyboards/chaos65/info.json6
-rw-r--r--keyboards/chaos65/readme.md2
-rw-r--r--keyboards/charue/charon/config.h8
-rw-r--r--keyboards/charue/charon/info.json6
-rw-r--r--keyboards/charue/charon/keymaps/debug/keymap.c2
-rw-r--r--keyboards/charue/charon/readme.md2
-rw-r--r--keyboards/charue/sunsetter/config.h7
-rw-r--r--keyboards/charue/sunsetter/info.json6
-rw-r--r--keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/charue/sunsetter_r2/config.h11
-rw-r--r--keyboards/charue/sunsetter_r2/info.json8
-rw-r--r--keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c2
-rw-r--r--keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk1
-rw-r--r--keyboards/charue/sunsetter_r2/keymaps/default/keymap.c2
-rw-r--r--keyboards/charue/sunsetter_r2/keymaps/via/keymap.c2
-rw-r--r--keyboards/charue/sunsetter_r2/readme.md2
-rw-r--r--keyboards/charue/sunsetter_r2/rules.mk6
-rw-r--r--keyboards/charue/sunsetter_r2/sunsetter_r2.h12
-rw-r--r--keyboards/chavdai40/info.json6
-rw-r--r--keyboards/chavdai40/rev1/config.h8
-rw-r--r--keyboards/chavdai40/rev1/info.json6
-rw-r--r--keyboards/chavdai40/rev2/config.h8
-rw-r--r--keyboards/chavdai40/rev2/info.json6
-rw-r--r--keyboards/checkerboards/axon40/config.h9
-rw-r--r--keyboards/checkerboards/axon40/info.json6
-rw-r--r--keyboards/checkerboards/axon40/keymaps/npspears/keymap.c2
-rw-r--r--keyboards/checkerboards/candybar_ortho/config.h8
-rw-r--r--keyboards/checkerboards/candybar_ortho/info.json8
-rw-r--r--keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c4
-rw-r--r--keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c8
-rw-r--r--keyboards/checkerboards/g_idb60/config.h8
-rw-r--r--keyboards/checkerboards/g_idb60/info.json8
-rw-r--r--keyboards/checkerboards/nop60/config.h8
-rw-r--r--keyboards/checkerboards/nop60/info.json10
-rw-r--r--keyboards/checkerboards/nop60/keymaps/7u/keymap.c8
-rw-r--r--keyboards/checkerboards/phoenix45_ortho/config.h8
-rw-r--r--keyboards/checkerboards/phoenix45_ortho/info.json8
-rw-r--r--keyboards/checkerboards/phoenix45_ortho/keymaps/2x3u/keymap.c2
-rw-r--r--keyboards/checkerboards/phoenix45_ortho/keymaps/6u/keymap.c2
-rw-r--r--keyboards/checkerboards/plexus75/config.h8
-rw-r--r--keyboards/checkerboards/plexus75/info.json6
-rw-r--r--keyboards/checkerboards/plexus75_he/config.h8
-rw-r--r--keyboards/checkerboards/plexus75_he/info.json8
-rw-r--r--keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c12
-rw-r--r--keyboards/checkerboards/plexus75_he/keymaps/7u/keymap.c4
-rw-r--r--keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c2
-rw-r--r--keyboards/checkerboards/pursuit40/config.h8
-rw-r--r--keyboards/checkerboards/pursuit40/info.json6
-rw-r--r--keyboards/checkerboards/quark/config.h29
-rw-r--r--keyboards/checkerboards/quark/info.json63
-rw-r--r--keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c2
-rw-r--r--keyboards/checkerboards/quark/keymaps/default_5x12_7u/config.h19
-rw-r--r--keyboards/checkerboards/quark/keymaps/default_5x12_7u/keymap.c86
-rw-r--r--keyboards/checkerboards/quark/keymaps/pezhore/keymap.c2
-rw-r--r--keyboards/checkerboards/quark/keymaps/via/keymap.c8
-rw-r--r--keyboards/checkerboards/quark/keymaps/via/rules.mk1
-rw-r--r--keyboards/checkerboards/quark/quark.c12
-rw-r--r--keyboards/checkerboards/quark/quark.h18
-rw-r--r--keyboards/checkerboards/quark/rules.mk4
-rw-r--r--keyboards/checkerboards/quark_lp/config.h8
-rw-r--r--keyboards/checkerboards/quark_lp/info.json8
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_plus/config.h8
-rw-r--r--keyboards/checkerboards/quark_plus/info.json8
-rw-r--r--keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_plus/quark_plus.c2
-rw-r--r--keyboards/checkerboards/quark_squared/config.h12
-rw-r--r--keyboards/checkerboards/quark_squared/info.json8
-rw-r--r--keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_squared/keymaps/5_2u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_squared/keymaps/5_2x225u/keymap.c4
-rw-r--r--keyboards/checkerboards/quark_squared/quark_squared.c12
-rw-r--r--keyboards/checkerboards/quark_squared/rules.mk2
-rw-r--r--keyboards/checkerboards/snop60/config.h8
-rw-r--r--keyboards/checkerboards/snop60/info.json10
-rw-r--r--keyboards/checkerboards/snop60/keymaps/7u/keymap.c4
-rw-r--r--keyboards/checkerboards/snop60/keymaps/default/keymap.c2
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/config.h8
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/info.json6
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c8
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c8
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c8
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c8
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c8
-rw-r--r--keyboards/cherrybstudio/cb1800/config.h8
-rw-r--r--keyboards/cherrybstudio/cb1800/info.json8
-rw-r--r--keyboards/cherrybstudio/cb65/cb65.c14
-rw-r--r--keyboards/cherrybstudio/cb65/cb65.h35
-rw-r--r--keyboards/cherrybstudio/cb65/config.h68
-rw-r--r--keyboards/cherrybstudio/cb65/info.json87
-rw-r--r--keyboards/cherrybstudio/cb65/keymaps/default/keymap.c32
-rw-r--r--keyboards/cherrybstudio/cb65/keymaps/default/readme.md1
-rw-r--r--keyboards/cherrybstudio/cb65/keymaps/via/keymap.c49
-rw-r--r--keyboards/cherrybstudio/cb65/keymaps/via/rules.mk (renamed from keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk)0
-rw-r--r--keyboards/cherrybstudio/cb65/readme.md26
-rw-r--r--keyboards/cherrybstudio/cb65/rules.mk19
-rw-r--r--keyboards/cherrybstudio/cb87/config.h8
-rw-r--r--keyboards/cherrybstudio/cb87/info.json6
-rw-r--r--keyboards/cherrybstudio/cb87rgb/config.h8
-rw-r--r--keyboards/cherrybstudio/cb87rgb/info.json8
-rw-r--r--keyboards/cherrybstudio/cb87v2/config.h8
-rw-r--r--keyboards/cherrybstudio/cb87v2/info.json8
-rw-r--r--keyboards/cheshire/curiosity/config.h8
-rw-r--r--keyboards/cheshire/curiosity/info.json6
-rw-r--r--keyboards/cheshire/curiosity/keymaps/crd/keymap.c2
-rw-r--r--keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c4
-rw-r--r--keyboards/chickenman/ciel/config.h8
-rw-r--r--keyboards/chickenman/ciel/info.json6
-rw-r--r--keyboards/chlx/merro60/config.h9
-rw-r--r--keyboards/chlx/merro60/info.json6
-rw-r--r--keyboards/chlx/merro60/keymaps/hhkb/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/config.h9
-rw-r--r--keyboards/chlx/str_merro60/info.json147
-rw-r--r--keyboards/chlx/str_merro60/keymaps/ansi/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/keymaps/default/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/keymaps/hhkb/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/keymaps/iso/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c2
-rw-r--r--keyboards/chlx/str_merro60/keymaps/via/keymap.c2
-rw-r--r--keyboards/chocofly/chocofly.c16
-rw-r--r--keyboards/chocofly/chocofly.h10
-rw-r--r--keyboards/chocofly/config.h6
-rw-r--r--keyboards/chocofly/readme.md23
-rw-r--r--keyboards/chocofly/v1/config.h16
-rw-r--r--keyboards/chocofly/v1/info.json82
-rw-r--r--keyboards/chocofly/v1/keymaps/default/keymap.c44
-rw-r--r--keyboards/chocofly/v1/keymaps/winder/keymap.c60
-rw-r--r--keyboards/chocofly/v1/rules.mk20
-rw-r--r--keyboards/chocofly/v1/v1.c4
-rw-r--r--keyboards/chocofly/v1/v1.h28
-rw-r--r--keyboards/chocv/chocv.c17
-rw-r--r--keyboards/chocv/chocv.h43
-rw-r--r--keyboards/chocv/config.h35
-rw-r--r--keyboards/chocv/info.json60
-rw-r--r--keyboards/chocv/keymaps/default/keymap.c30
-rw-r--r--keyboards/chocv/keymaps/default/readme.md24
-rw-r--r--keyboards/chocv/readme.md26
-rw-r--r--keyboards/chocv/rules.mk20
-rw-r--r--keyboards/chord/zero/config.h4
-rw-r--r--keyboards/chord/zero/info.json65
-rw-r--r--keyboards/chord/zero/keymaps/default/keymap.c25
-rw-r--r--keyboards/chord/zero/keymaps/default/rules.mk (renamed from keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk)0
-rw-r--r--keyboards/chord/zero/readme.md37
-rw-r--r--keyboards/chord/zero/rules.mk1
-rw-r--r--keyboards/chromatonemini/chromatonemini.c208
-rw-r--r--keyboards/chromatonemini/chromatonemini.h122
-rw-r--r--keyboards/chromatonemini/config.h283
-rw-r--r--keyboards/chromatonemini/info.json61
-rw-r--r--keyboards/chromatonemini/keymaps/default/keymap.c106
-rw-r--r--keyboards/chromatonemini/keymaps/default/readme.md1
-rw-r--r--keyboards/chromatonemini/keymaps/led/keymap.c682
-rw-r--r--keyboards/chromatonemini/keymaps/led/readme.md1
-rw-r--r--keyboards/chromatonemini/keymaps/led/rules.mk3
-rw-r--r--keyboards/chromatonemini/keymaps/party/keymap.c684
-rw-r--r--keyboards/chromatonemini/keymaps/party/readme.md6
-rw-r--r--keyboards/chromatonemini/keymaps/party/rules.mk3
-rw-r--r--keyboards/chromatonemini/keymaps/via/config.h4
-rw-r--r--keyboards/chromatonemini/keymaps/via/keymap.c275
-rw-r--r--keyboards/chromatonemini/keymaps/via/readme.md1
-rw-r--r--keyboards/chromatonemini/keymaps/via/rules.mk3
-rw-r--r--keyboards/chromatonemini/readme.md19
-rw-r--r--keyboards/chromatonemini/rgb_matrix_kb.inc58
-rw-r--r--keyboards/chromatonemini/rules.mk22
-rw-r--r--keyboards/cipulot/kallos/config.h55
-rw-r--r--keyboards/cipulot/kallos/info.json428
-rw-r--r--keyboards/cipulot/kallos/kallos.c17
-rw-r--r--keyboards/cipulot/kallos/kallos.h35
-rw-r--r--keyboards/cipulot/kallos/keymaps/default/keymap.c52
-rw-r--r--keyboards/cipulot/kallos/keymaps/via/keymap.c52
-rw-r--r--keyboards/cipulot/kallos/keymaps/via/rules.mk1
-rw-r--r--keyboards/cipulot/kallos/readme.md21
-rw-r--r--keyboards/cipulot/kallos/rules.mk19
-rw-r--r--keyboards/cipulot/kawayo/config.h37
-rw-r--r--keyboards/cipulot/kawayo/info.json613
-rw-r--r--keyboards/cipulot/kawayo/kawayo.c17
-rw-r--r--keyboards/cipulot/kawayo/kawayo.h153
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default/keymap.c51
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c51
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c51
-rw-r--r--keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c51
-rw-r--r--keyboards/cipulot/kawayo/keymaps/via/keymap.c51
-rw-r--r--keyboards/cipulot/kawayo/keymaps/via/rules.mk1
-rw-r--r--keyboards/cipulot/kawayo/readme.md29
-rw-r--r--keyboards/cipulot/kawayo/rules.mk22
-rw-r--r--keyboards/ck60i/config.h7
-rw-r--r--keyboards/ck60i/info.json6
-rwxr-xr-xkeyboards/ckeys/handwire_101/config.h7
-rw-r--r--keyboards/ckeys/handwire_101/info.json8
-rwxr-xr-xkeyboards/ckeys/handwire_101/keymaps/default/keymap.c8
-rwxr-xr-xkeyboards/ckeys/handwire_101/readme.md4
-rwxr-xr-xkeyboards/ckeys/handwire_101/rules.mk1
-rw-r--r--keyboards/ckeys/nakey/config.h8
-rw-r--r--keyboards/ckeys/nakey/info.json6
-rw-r--r--keyboards/ckeys/obelus/config.h8
-rw-r--r--keyboards/ckeys/obelus/info.json6
-rwxr-xr-xkeyboards/ckeys/thedora/config.h8
-rw-r--r--keyboards/ckeys/thedora/info.json8
-rw-r--r--keyboards/ckeys/washington/config.h8
-rw-r--r--keyboards/ckeys/washington/info.json8
-rw-r--r--keyboards/ckeys/washington/keymaps/default/keymap.c4
-rw-r--r--keyboards/clawsome/bookerboard/config.h7
-rw-r--r--keyboards/clawsome/bookerboard/info.json8
-rw-r--r--keyboards/clawsome/coupe/config.h7
-rw-r--r--keyboards/clawsome/coupe/info.json8
-rw-r--r--keyboards/clawsome/doodle/config.h7
-rw-r--r--keyboards/clawsome/doodle/info.json6
-rw-r--r--keyboards/clawsome/fightpad/config.h6
-rw-r--r--keyboards/clawsome/fightpad/info.json6
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/config.h7
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/info.json6
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/config.h7
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/info.json6
-rw-r--r--keyboards/clawsome/hatchback/config.h7
-rw-r--r--keyboards/clawsome/hatchback/info.json6
-rw-r--r--keyboards/clawsome/luggage_rack/config.h7
-rw-r--r--keyboards/clawsome/luggage_rack/info.json6
-rw-r--r--keyboards/clawsome/numeros/config.h7
-rw-r--r--keyboards/clawsome/numeros/info.json8
-rw-r--r--keyboards/clawsome/roadster/config.h7
-rw-r--r--keyboards/clawsome/roadster/info.json6
-rw-r--r--keyboards/clawsome/sedan/config.h7
-rw-r--r--keyboards/clawsome/sedan/info.json8
-rw-r--r--keyboards/clawsome/sidekick/config.h7
-rw-r--r--keyboards/clawsome/sidekick/info.json6
-rw-r--r--keyboards/clawsome/suv/config.h7
-rw-r--r--keyboards/clawsome/suv/info.json6
-rw-r--r--keyboards/clickety_split/leeloo/info.json6
-rw-r--r--keyboards/clickety_split/leeloo/rev1/config.h7
-rw-r--r--keyboards/clueboard/66/keymaps/66_ansi/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/66_iso/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/badger/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/bloodlvst/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/caps_fn/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/colemak/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/jokrik/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/mac_optimized/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/magicmonty/keymap.c4
-rw-r--r--keyboards/clueboard/66/keymaps/manofinterests/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/maximised/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/mouse_keys/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/mrscooty/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/muzfuz/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/serubin/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/shift_fn/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/smt/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/tetris/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/unix_optimized/keymap.c2
-rw-r--r--keyboards/clueboard/66/keymaps/win_optimized/keymap.c2
-rw-r--r--keyboards/clueboard/66/rev4/keymaps/keymap.c2
-rw-r--r--keyboards/clueboard/66/rev4/keymaps/mine/keymap.c2
-rw-r--r--keyboards/clueboard/66/rev4/mine/keymap.c13
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c2
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json2
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c2
-rw-r--r--keyboards/cmm_studio/fuji65/config.h7
-rw-r--r--keyboards/cmm_studio/fuji65/info.json8
-rw-r--r--keyboards/cmm_studio/saka68/hotswap/config.h7
-rw-r--r--keyboards/cmm_studio/saka68/hotswap/info.json8
-rw-r--r--keyboards/cmm_studio/saka68/solder/config.h7
-rw-r--r--keyboards/cmm_studio/saka68/solder/info.json8
-rw-r--r--keyboards/coarse/cordillera/config.h7
-rw-r--r--keyboards/coarse/cordillera/info.json6
-rw-r--r--keyboards/coarse/ixora/config.h7
-rw-r--r--keyboards/coarse/ixora/info.json8
-rw-r--r--keyboards/coarse/ixora/keymaps/wntrmln/keymap.c2
-rw-r--r--keyboards/coarse/ixora/readme.md4
-rw-r--r--keyboards/coarse/vinta/config.h7
-rw-r--r--keyboards/coarse/vinta/info.json8
-rw-r--r--keyboards/coarse/vinta/readme.md4
-rw-r--r--keyboards/compound/config.h7
-rw-r--r--keyboards/compound/info.json6
-rw-r--r--keyboards/contender/config.h8
-rw-r--r--keyboards/contender/info.json6
-rw-r--r--keyboards/contender/readme.md2
-rwxr-xr-xkeyboards/contra/config.h16
-rw-r--r--keyboards/contra/info.json6
-rw-r--r--keyboards/contra/keymaps/alper/keymap.c2
-rw-r--r--keyboards/contra/keymaps/default/keymap.c2
-rw-r--r--keyboards/contra/keymaps/enigma/config.h27
-rw-r--r--keyboards/contra/keymaps/enigma/keymap.c625
-rw-r--r--keyboards/contra/keymaps/enigma/readme.md35
-rw-r--r--keyboards/contra/keymaps/enigma/rules.mk2
-rw-r--r--keyboards/contra/keymaps/losinggeneration/keymap.c4
-rw-r--r--keyboards/contra/keymaps/msiu/keymap.c2
-rw-r--r--keyboards/converter/a1200/info.json1
-rw-r--r--keyboards/converter/a1200/miss1200/config.h8
-rw-r--r--keyboards/converter/a1200/miss1200/info.json9
-rw-r--r--keyboards/converter/a1200/mistress1200/config.h8
-rw-r--r--keyboards/converter/a1200/mistress1200/info.json9
-rw-r--r--keyboards/converter/a1200/teensy2pp/config.h8
-rw-r--r--keyboards/converter/a1200/teensy2pp/info.json9
-rw-r--r--keyboards/converter/adb_usb/config.h6
-rw-r--r--keyboards/converter/adb_usb/info.json6
-rw-r--r--keyboards/converter/adb_usb/readme.md12
-rw-r--r--keyboards/converter/adb_usb/rev1/rules.mk5
-rw-r--r--keyboards/converter/adb_usb/rev2/rules.mk5
-rw-r--r--keyboards/converter/adb_usb/rules.mk30
-rw-r--r--keyboards/converter/hp_46010a/config.h6
-rw-r--r--keyboards/converter/hp_46010a/info.json8
-rw-r--r--keyboards/converter/ibm_terminal/config.h7
-rw-r--r--keyboards/converter/ibm_terminal/info.json8
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/converter/m0110_usb/config.h9
-rw-r--r--keyboards/converter/m0110_usb/info.json8
-rw-r--r--keyboards/converter/modelm101/config.h8
-rw-r--r--keyboards/converter/modelm101/info.json8
-rw-r--r--keyboards/converter/modelm101_teensy2/config.h66
-rw-r--r--keyboards/converter/modelm101_teensy2/info.json16
-rw-r--r--keyboards/converter/modelm101_teensy2/keymaps/default/keymap.c27
-rw-r--r--keyboards/converter/modelm101_teensy2/keymaps/default/readme.md1
-rw-r--r--keyboards/converter/modelm101_teensy2/modelm101_teensy2.c16
-rw-r--r--keyboards/converter/modelm101_teensy2/modelm101_teensy2.h45
-rw-r--r--keyboards/converter/modelm101_teensy2/readme.md29
-rw-r--r--keyboards/converter/modelm101_teensy2/rules.mk18
-rw-r--r--keyboards/converter/modelm_ssk/config.h8
-rw-r--r--keyboards/converter/modelm_ssk/info.json6
-rw-r--r--keyboards/converter/numeric_keypad_IIe/config.h8
-rw-r--r--keyboards/converter/numeric_keypad_IIe/info.json6
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c2
-rw-r--r--keyboards/converter/palm_usb/config.h6
-rw-r--r--keyboards/converter/palm_usb/info.json11
-rw-r--r--keyboards/converter/palm_usb/stowaway/info.json3
-rw-r--r--keyboards/converter/periboard_512/config.h7
-rw-r--r--keyboards/converter/periboard_512/info.json9
-rw-r--r--keyboards/converter/siemens_tastatur/config.h8
-rw-r--r--keyboards/converter/siemens_tastatur/info.json6
-rw-r--r--keyboards/converter/sun_usb/config.h6
-rw-r--r--keyboards/converter/sun_usb/info.json11
-rw-r--r--keyboards/converter/sun_usb/type3/info.json3
-rw-r--r--keyboards/converter/sun_usb/type5/info.json3
-rw-r--r--keyboards/converter/usb_usb/ble/config.h3
-rw-r--r--keyboards/converter/usb_usb/config.h7
-rw-r--r--keyboards/converter/usb_usb/info.json8
-rw-r--r--keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c2
-rw-r--r--keyboards/converter/usb_usb/keymaps/narze/keymap.c2
-rw-r--r--keyboards/converter/xt_usb/config.h7
-rw-r--r--keyboards/converter/xt_usb/info.json8
-rw-r--r--keyboards/cool836a/config.h8
-rw-r--r--keyboards/cool836a/info.json8
-rwxr-xr-xkeyboards/copenhagen_click/click_pad_v1/config.h8
-rwxr-xr-xkeyboards/copenhagen_click/click_pad_v1/info.json8
-rw-r--r--keyboards/coseyfannitutti/discipad/config.h7
-rw-r--r--keyboards/coseyfannitutti/discipad/info.json6
-rw-r--r--keyboards/coseyfannitutti/discipline/config.h7
-rw-r--r--keyboards/coseyfannitutti/discipline/info.json6
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c112
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md15
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c10
-rw-r--r--keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c2
-rw-r--r--keyboards/coseyfannitutti/mullet/config.h8
-rw-r--r--keyboards/coseyfannitutti/mullet/info.json6
-rw-r--r--keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c4
-rw-r--r--keyboards/coseyfannitutti/mulletpad/config.h8
-rw-r--r--keyboards/coseyfannitutti/mulletpad/info.json6
-rw-r--r--keyboards/coseyfannitutti/mysterium/config.h7
-rw-r--r--keyboards/coseyfannitutti/mysterium/info.json6
-rw-r--r--keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c2
-rw-r--r--keyboards/coseyfannitutti/romeo/config.h7
-rw-r--r--keyboards/coseyfannitutti/romeo/info.json6
-rw-r--r--keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/cozykeys/bloomer/config.h6
-rw-r--r--keyboards/cozykeys/bloomer/info.json10
-rw-r--r--keyboards/cozykeys/bloomer/v2/config.h4
-rw-r--r--keyboards/cozykeys/bloomer/v2/info.json6
-rw-r--r--keyboards/cozykeys/bloomer/v3/config.h4
-rw-r--r--keyboards/cozykeys/bloomer/v3/info.json6
-rw-r--r--keyboards/cozykeys/speedo/v2/config.h8
-rw-r--r--keyboards/cozykeys/speedo/v2/info.json6
-rw-r--r--keyboards/cozykeys/speedo/v3/config.h8
-rw-r--r--keyboards/cozykeys/speedo/v3/info.json6
-rw-r--r--keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c132
-rw-r--r--keyboards/cradio/config.h75
-rw-r--r--keyboards/cradio/cradio.c27
-rw-r--r--keyboards/cradio/cradio.h52
-rw-r--r--keyboards/cradio/info.json122
-rw-r--r--keyboards/cradio/readme.md8
-rw-r--r--keyboards/cradio/rules.mk22
-rw-r--r--keyboards/craftwalk/config.h8
-rw-r--r--keyboards/craftwalk/info.json6
-rwxr-xr-xkeyboards/crawlpad/config.h8
-rw-r--r--keyboards/crawlpad/info.json6
-rw-r--r--keyboards/crazy_keyboard_68/config.h8
-rw-r--r--keyboards/crazy_keyboard_68/info.json8
-rw-r--r--keyboards/crbn/config.h8
-rw-r--r--keyboards/crbn/info.json6
-rw-r--r--keyboards/creatkeebs/glacier/config.h8
-rw-r--r--keyboards/creatkeebs/glacier/info.json6
-rw-r--r--keyboards/creatkeebs/glacier/readme.md4
-rw-r--r--keyboards/creatkeebs/thera/config.h8
-rw-r--r--keyboards/creatkeebs/thera/info.json921
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default/keymap.c46
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_ansi/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl_split_bs/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_ansi_split_bs/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_iso/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_iso_rwkl/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_iso_rwkl_split_bs/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/keymaps/default_iso_split_bs/keymap.c30
-rw-r--r--keyboards/creatkeebs/thera/readme.md4
-rw-r--r--keyboards/creatkeebs/thera/thera.h185
-rw-r--r--keyboards/crimsonkeyboards/resume1800/config.h7
-rw-r--r--keyboards/crimsonkeyboards/resume1800/info.json6
-rw-r--r--keyboards/crin/config.h8
-rw-r--r--keyboards/crin/info.json6
-rw-r--r--keyboards/crin/readme.md2
-rw-r--r--keyboards/crkbd/config.h7
-rw-r--r--keyboards/crkbd/info.json8
-rw-r--r--keyboards/crkbd/keymaps/ardakilic/keymap.c4
-rw-r--r--keyboards/crkbd/keymaps/bermeo/config.h126
-rw-r--r--keyboards/crkbd/keymaps/bermeo/glcdfont.c232
-rw-r--r--keyboards/crkbd/keymaps/bermeo/keymap.c596
-rw-r--r--keyboards/crkbd/keymaps/bermeo/readme.md158
-rw-r--r--keyboards/crkbd/keymaps/bermeo/rules.mk19
-rw-r--r--keyboards/crkbd/keymaps/blipson/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/crkdves/config.h105
-rw-r--r--keyboards/crkbd/keymaps/crkdves/glcdfont.c236
-rw-r--r--keyboards/crkbd/keymaps/crkdves/keymap.c415
-rw-r--r--keyboards/crkbd/keymaps/crkdves/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/crkqwes/config.h116
-rw-r--r--keyboards/crkbd/keymaps/crkqwes/glcdfont.c236
-rw-r--r--keyboards/crkbd/keymaps/crkqwes/keymap.c415
-rw-r--r--keyboards/crkbd/keymaps/crkqwes/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/config.h2
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/keymap.c5
-rw-r--r--keyboards/crkbd/keymaps/devdev/keymap.c29
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/oled.c2
-rw-r--r--keyboards/crkbd/keymaps/gotham/config.h3
-rw-r--r--keyboards/crkbd/keymaps/gotham/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/gotham/oled.c2
-rw-r--r--keyboards/crkbd/keymaps/hvp/config.h4
-rw-r--r--keyboards/crkbd/keymaps/hvp/keymap.c47
-rw-r--r--keyboards/crkbd/keymaps/hvp/rules.mk9
-rw-r--r--keyboards/crkbd/keymaps/jarred/config.h3
-rw-r--r--keyboards/crkbd/keymaps/jarred/keymap.c49
-rw-r--r--keyboards/crkbd/keymaps/jarred/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/joe_scotto/config.h66
-rw-r--r--keyboards/crkbd/keymaps/joe_scotto/keymap.c46
-rw-r--r--keyboards/crkbd/keymaps/jpe230/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/config.h34
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/keymap.c61
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/keytabs.h27
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/layers.h19
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/oled.c74
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/oled.h27
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/readme.md5
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/rules.mk15
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/config.h3
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/keymap.c4
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/rules.mk3
-rw-r--r--keyboards/crkbd/keymaps/madhatter/config.h3
-rw-r--r--keyboards/crkbd/keymaps/madhatter/keymap.c52
-rw-r--r--keyboards/crkbd/keymaps/madhatter/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/mb_via/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/oled_sample/config.h4
-rw-r--r--keyboards/crkbd/keymaps/oled_sample/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/config.h96
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/keymap.c112
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/oled.c112
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/readme.md67
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/rules.mk17
-rw-r--r--keyboards/crkbd/keymaps/rarick/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/rmeli/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/rs/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rs/oled.c33
-rw-r--r--keyboards/crkbd/keymaps/rs/rules.mk1
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/config.h4
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/keymap.c2
-rwxr-xr-xkeyboards/crkbd/keymaps/thumb_ctrl/config.h2
-rwxr-xr-xkeyboards/crkbd/keymaps/thumb_ctrl/keymap.c52
-rwxr-xr-xkeyboards/crkbd/keymaps/thumb_ctrl/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/config.h95
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c238
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/keycodes.h69
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/keymap.c85
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/layers_block.h89
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/oled.c298
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/process_records.c45
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/readme.md65
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/rules.mk18
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c12
-rw-r--r--keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h16
-rw-r--r--keyboards/crkbd/keymaps/toinux/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/vayashiko/keymap.c4
-rw-r--r--keyboards/crkbd/keymaps/vayashiko/rules.mk3
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h3
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c47
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/vxid/config.h3
-rw-r--r--keyboards/crkbd/keymaps/vxid/rules.mk8
-rw-r--r--keyboards/crkbd/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/crkbd/lib/i2c.c162
-rw-r--r--keyboards/crkbd/lib/i2c.h46
-rw-r--r--keyboards/crkbd/lib/layer_state_reader.c4
-rw-r--r--keyboards/crkbd/rules.mk1
-rw-r--r--keyboards/custommk/bonsai_c4_template/bonsai_c4_template.c23
-rw-r--r--keyboards/custommk/bonsai_c4_template/config.h79
-rw-r--r--keyboards/custommk/bonsai_c4_template/halconf.h35
-rw-r--r--keyboards/custommk/bonsai_c4_template/mcuconf.h35
-rw-r--r--keyboards/custommk/bonsai_c4_template/readme.md10
-rw-r--r--keyboards/custommk/evo70/config.h51
-rw-r--r--keyboards/custommk/evo70/evo70.c811
-rw-r--r--keyboards/custommk/evo70/evo70.h34
-rw-r--r--keyboards/custommk/evo70/info.json111
-rw-r--r--keyboards/custommk/evo70/keymaps/default/keymap.c49
-rw-r--r--keyboards/custommk/evo70/keymaps/default/readme.md3
-rw-r--r--keyboards/custommk/evo70/keymaps/via/keymap.c98
-rw-r--r--keyboards/custommk/evo70/keymaps/via/readme.md3
-rw-r--r--keyboards/custommk/evo70/keymaps/via/rules.mk (renamed from keyboards/gentleman65/keymaps/via/rules.mk)0
-rw-r--r--keyboards/custommk/evo70/readme.md21
-rw-r--r--keyboards/custommk/evo70/rules.mk22
-rw-r--r--keyboards/custommk/genesis/rev1/config.h8
-rw-r--r--keyboards/custommk/genesis/rev1/info.json6
-rw-r--r--keyboards/custommk/genesis/rev2/config.h8
-rw-r--r--keyboards/custommk/genesis/rev2/info.json6
-rw-r--r--keyboards/cutie_club/borsdorf/config.h8
-rw-r--r--keyboards/cutie_club/borsdorf/info.json6
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/config.h8
-rw-r--r--keyboards/cutie_club/giant_macro_pad/info.json6
-rw-r--r--keyboards/cutie_club/keebcats/denis/config.h8
-rw-r--r--keyboards/cutie_club/keebcats/denis/info.json8
-rw-r--r--keyboards/cutie_club/keebcats/dougal/config.h8
-rw-r--r--keyboards/cutie_club/keebcats/dougal/info.json8
-rw-r--r--keyboards/cutie_club/novus/config.h8
-rw-r--r--keyboards/cutie_club/novus/info.json6
-rw-r--r--keyboards/cutie_club/wraith/config.h8
-rw-r--r--keyboards/cutie_club/wraith/info.json8
-rw-r--r--keyboards/cutie_club/wraith/keymaps/amber/keymap.c2
-rw-r--r--keyboards/cutie_club/wraith/keymaps/timer/keymap.c2
-rw-r--r--keyboards/cx60/config.h8
-rw-r--r--keyboards/cx60/info.json8
-rw-r--r--keyboards/cx60/keymaps/via_caps/keymap.c2
-rw-r--r--keyboards/cybergear/macro25/config.h4
-rw-r--r--keyboards/cybergear/macro25/info.json3
-rw-r--r--keyboards/dailycraft/bat43/config.h8
-rw-r--r--keyboards/dailycraft/bat43/info.json75
-rw-r--r--keyboards/dailycraft/bat43/readme.md2
-rw-r--r--keyboards/dailycraft/bat43/rev1/info.json69
-rw-r--r--keyboards/dailycraft/bat43/rev2/info.json69
-rw-r--r--keyboards/dailycraft/claw44/keymaps/oled/keymap.c4
-rw-r--r--keyboards/dailycraft/claw44/readme.md2
-rw-r--r--keyboards/dailycraft/claw44/rev1/config.h8
-rw-r--r--keyboards/dailycraft/claw44/rev1/info.json8
-rw-r--r--keyboards/dailycraft/owl8/config.h8
-rw-r--r--keyboards/dailycraft/owl8/info.json6
-rw-r--r--keyboards/dailycraft/owl8/readme.md2
-rw-r--r--keyboards/dailycraft/sandbox/readme.md2
-rw-r--r--keyboards/dailycraft/sandbox/rev1/config.h8
-rw-r--r--keyboards/dailycraft/sandbox/rev1/info.json6
-rw-r--r--keyboards/dailycraft/sandbox/rev2/config.h8
-rw-r--r--keyboards/dailycraft/sandbox/rev2/info.json6
-rw-r--r--keyboards/dailycraft/stickey4/config.h8
-rw-r--r--keyboards/dailycraft/stickey4/info.json11
-rw-r--r--keyboards/dailycraft/stickey4/readme.md2
-rw-r--r--keyboards/dailycraft/wings42/readme.md2
-rw-r--r--keyboards/dailycraft/wings42/rev1/config.h8
-rw-r--r--keyboards/dailycraft/wings42/rev1/info.json6
-rw-r--r--keyboards/dailycraft/wings42/rev1/readme.md2
-rw-r--r--keyboards/dailycraft/wings42/rev1_extkeys/config.h8
-rw-r--r--keyboards/dailycraft/wings42/rev1_extkeys/info.json6
-rw-r--r--keyboards/dailycraft/wings42/rev1_extkeys/readme.md2
-rw-r--r--keyboards/dailycraft/wings42/rev2/config.h8
-rw-r--r--keyboards/dailycraft/wings42/rev2/info.json6
-rw-r--r--keyboards/dailycraft/wings42/rev2/readme.md2
-rw-r--r--keyboards/daji/seis_cinco/config.h8
-rw-r--r--keyboards/daji/seis_cinco/info.json6
-rw-r--r--keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c2
-rw-r--r--keyboards/db/db63/config.h7
-rw-r--r--keyboards/db/db63/info.json8
-rw-r--r--keyboards/dc01/arrow/config.h8
-rw-r--r--keyboards/dc01/arrow/info.json8
-rw-r--r--keyboards/dc01/left/config.h8
-rw-r--r--keyboards/dc01/left/i2c.c159
-rw-r--r--keyboards/dc01/left/i2c.h28
-rw-r--r--keyboards/dc01/left/info.json8
-rw-r--r--keyboards/dc01/numpad/config.h8
-rw-r--r--keyboards/dc01/numpad/info.json6
-rw-r--r--keyboards/dc01/right/config.h8
-rw-r--r--keyboards/dc01/right/info.json8
-rw-r--r--keyboards/dekunukem/duckypad/config.h6
-rw-r--r--keyboards/dekunukem/duckypad/info.json6
-rw-r--r--keyboards/delikeeb/flatbread60/config.h8
-rw-r--r--keyboards/delikeeb/flatbread60/info.json8
-rw-r--r--keyboards/delikeeb/vaguettelite/config.h8
-rw-r--r--keyboards/delikeeb/vaguettelite/info.json8
-rw-r--r--keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c2
-rw-r--r--keyboards/delikeeb/vanana/config.h4
-rw-r--r--keyboards/delikeeb/vanana/info.json6
-rw-r--r--keyboards/delikeeb/vanana/rev1/config.h5
-rw-r--r--keyboards/delikeeb/vanana/rev1/info.json6
-rw-r--r--keyboards/delikeeb/vanana/rev2/config.h5
-rw-r--r--keyboards/delikeeb/vanana/rev2/info.json6
-rw-r--r--keyboards/delikeeb/vaneela/config.h8
-rw-r--r--keyboards/delikeeb/vaneela/info.json6
-rw-r--r--keyboards/delikeeb/vaneela/keymaps/default/keymap.c2
-rw-r--r--keyboards/delikeeb/vaneela/keymaps/via/keymap.c2
-rw-r--r--keyboards/delikeeb/vaneelaex/config.h8
-rw-r--r--keyboards/delikeeb/vaneelaex/info.json6
-rw-r--r--keyboards/delikeeb/waaffle/config.h4
-rw-r--r--keyboards/delikeeb/waaffle/rev3/config.h5
-rw-r--r--keyboards/delikeeb/waaffle/rev3/info.json8
-rw-r--r--keyboards/deltapad/config.h8
-rw-r--r--keyboards/deltapad/info.json6
-rw-r--r--keyboards/deltasplit75/info.json12
-rw-r--r--keyboards/deltasplit75/keymaps/itsaferbie/keymap.c2
-rw-r--r--keyboards/deltasplit75/keymaps/mbsurfer/keymap.c2
-rw-r--r--keyboards/deltasplit75/keymaps/protosplit/keymap.c2
-rw-r--r--keyboards/deltasplit75/v2/config.h7
-rw-r--r--keyboards/deltasplit75/v2/info.json18
-rwxr-xr-xkeyboards/demiurge/config.h8
-rw-r--r--keyboards/demiurge/info.json6
-rw-r--r--keyboards/demiurge/readme.md2
-rw-r--r--keyboards/deng/djam/config.h28
-rw-r--r--keyboards/deng/djam/djam.c16
-rw-r--r--keyboards/deng/djam/djam.h28
-rw-r--r--keyboards/deng/djam/info.json38
-rw-r--r--keyboards/deng/djam/keymaps/default/keymap.c23
-rw-r--r--keyboards/deng/djam/keymaps/via/keymap.c38
-rw-r--r--keyboards/deng/djam/keymaps/via/rules.mk1
-rw-r--r--keyboards/deng/djam/readme.md23
-rw-r--r--keyboards/deng/djam/rules.mk19
-rw-r--r--keyboards/dichotomy/config.h8
-rw-r--r--keyboards/dichotomy/info.json6
-rwxr-xr-xkeyboards/dichotomy/keymaps/default/keymap.c4
-rw-r--r--keyboards/dinofizz/fnrow/v1/config.h6
-rw-r--r--keyboards/dinofizz/fnrow/v1/info.json6
-rw-r--r--keyboards/dk60/config.h8
-rw-r--r--keyboards/dk60/info.json6
-rw-r--r--keyboards/dm9records/ergoinu/config.h8
-rw-r--r--keyboards/dm9records/ergoinu/info.json6
-rw-r--r--keyboards/dm9records/lain/config.h7
-rw-r--r--keyboards/dm9records/lain/info.json6
-rw-r--r--keyboards/dm9records/lain/readme.md2
-rw-r--r--keyboards/dm9records/plaid/config.h9
-rw-r--r--keyboards/dm9records/plaid/info.json8
-rw-r--r--keyboards/dm9records/plaid/keymaps/brickbots/keymap.c2
-rw-r--r--keyboards/dm9records/plaid/keymaps/default/keymap.c2
-rw-r--r--keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c2
-rw-r--r--keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c2
-rw-r--r--keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c6
-rw-r--r--keyboards/dm9records/tartan/config.h9
-rw-r--r--keyboards/dm9records/tartan/info.json8
-rw-r--r--keyboards/dmqdesign/spin/config.h8
-rw-r--r--keyboards/dmqdesign/spin/info.json6
-rw-r--r--keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h2
-rw-r--r--keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c82
-rw-r--r--keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk6
-rw-r--r--keyboards/do60/config.h8
-rw-r--r--keyboards/do60/info.json8
-rw-r--r--keyboards/do60/keymaps/crd/keymap.c2
-rw-r--r--keyboards/do60/keymaps/test/keymap.c2
-rw-r--r--keyboards/doio/kb16/config.h88
-rw-r--r--keyboards/doio/kb16/info.json48
-rw-r--r--keyboards/doio/kb16/kb16.c66
-rw-r--r--keyboards/doio/kb16/kb16.h47
-rw-r--r--keyboards/doio/kb16/keymaps/bongocat/config.h45
-rw-r--r--keyboards/doio/kb16/keymaps/bongocat/keymap.c180
-rw-r--r--keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.c378
-rw-r--r--keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.h17
-rw-r--r--keyboards/doio/kb16/keymaps/bongocat/rules.mk9
-rw-r--r--keyboards/doio/kb16/keymaps/default/keymap.c140
-rw-r--r--keyboards/doio/kb16/keymaps/default/rules.mk2
-rw-r--r--keyboards/doio/kb16/keymaps/via/keymap.c172
-rw-r--r--keyboards/doio/kb16/keymaps/via/rules.mk1
-rw-r--r--keyboards/doio/kb16/lib/glcdfont.c249
-rw-r--r--keyboards/doio/kb16/lib/layer_status/layer_status.c167
-rw-r--r--keyboards/doio/kb16/lib/layer_status/layer_status.h18
-rw-r--r--keyboards/doio/kb16/lib/logo.c61
-rw-r--r--keyboards/doio/kb16/lib/logo.h18
-rw-r--r--keyboards/doio/kb16/readme.md26
-rw-r--r--keyboards/doio/kb16/rules.mk36
-rw-r--r--keyboards/donutcables/budget96/config.h7
-rw-r--r--keyboards/donutcables/budget96/info.json8
-rw-r--r--keyboards/donutcables/budget96/keymaps/donut/keymap.c2
-rw-r--r--keyboards/donutcables/scrabblepad/config.h8
-rw-r--r--keyboards/donutcables/scrabblepad/info.json8
-rw-r--r--keyboards/donutcables/scrabblepad/keymaps/random/keymap.c2
-rw-r--r--keyboards/doodboard/duckboard/config.h8
-rw-r--r--keyboards/doodboard/duckboard/info.json6
-rw-r--r--keyboards/doodboard/duckboard_r2/config.h8
-rw-r--r--keyboards/doodboard/duckboard_r2/info.json6
-rw-r--r--keyboards/doppelganger/config.h8
-rw-r--r--keyboards/doppelganger/doppelganger.c36
-rw-r--r--keyboards/doppelganger/info.json6
-rw-r--r--keyboards/doro67/multi/config.h7
-rw-r--r--keyboards/doro67/multi/info.json8
-rw-r--r--keyboards/doro67/regular/config.h7
-rw-r--r--keyboards/doro67/regular/info.json7
-rw-r--r--keyboards/doro67/rgb/config.h8
-rw-r--r--keyboards/doro67/rgb/info.json8
-rw-r--r--keyboards/dp60/config.h8
-rw-r--r--keyboards/dp60/info.json8
-rw-r--r--keyboards/dp60/keymaps/allleds/keymap.c2
-rw-r--r--keyboards/dp60/keymaps/indicator/keymap.c2
-rw-r--r--keyboards/draculad/config.h7
-rw-r--r--keyboards/draculad/info.json6
-rw-r--r--keyboards/draculad/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/draculad/keymaps/pimoroni/keymap.c4
-rw-r--r--keyboards/draytronics/daisy/config.h7
-rw-r--r--keyboards/draytronics/daisy/info.json8
-rw-r--r--keyboards/draytronics/elise/config.h8
-rw-r--r--keyboards/draytronics/elise/info.json8
-rw-r--r--keyboards/draytronics/elise/keymaps/blake_iso/keymap.c4
-rw-r--r--keyboards/draytronics/elise_v2/config.h8
-rw-r--r--keyboards/draytronics/elise_v2/info.json8
-rw-r--r--keyboards/draytronics/elise_v2/keymaps/blake_iso/keymap.c4
-rw-r--r--keyboards/draytronics/scarlet/config.h6
-rw-r--r--keyboards/draytronics/scarlet/info.json8
-rw-r--r--keyboards/drewkeys/iskar/config.h8
-rw-r--r--keyboards/drewkeys/iskar/info.json6
-rw-r--r--keyboards/drhigsby/bkf/config.h8
-rw-r--r--keyboards/drhigsby/bkf/info.json6
-rw-r--r--keyboards/drhigsby/dubba175/config.h8
-rw-r--r--keyboards/drhigsby/dubba175/info.json8
-rw-r--r--keyboards/drhigsby/ogurec/config.h8
-rw-r--r--keyboards/drhigsby/ogurec/info.json6
-rw-r--r--keyboards/drhigsby/packrat/config.h8
-rw-r--r--keyboards/drhigsby/packrat/info.json6
-rw-r--r--keyboards/drhigsby/packrat/readme.md2
-rw-r--r--keyboards/drop/sense75/board.h8
-rw-r--r--keyboards/drop/sense75/config.h67
-rw-r--r--keyboards/drop/sense75/halconf.h7
-rw-r--r--keyboards/drop/sense75/info.json235
-rw-r--r--keyboards/drop/sense75/keymaps/default/keymap.c52
-rw-r--r--keyboards/drop/sense75/keymaps/default/rules.mk1
-rw-r--r--keyboards/drop/sense75/keymaps/default_md/keymap.c136
-rw-r--r--keyboards/drop/sense75/keymaps/default_md/readme.md1
-rw-r--r--keyboards/drop/sense75/keymaps/default_md/rules.mk1
-rw-r--r--keyboards/drop/sense75/keymaps/via/config.h5
-rw-r--r--keyboards/drop/sense75/keymaps/via/keymap.c79
-rw-r--r--keyboards/drop/sense75/keymaps/via/rules.mk2
-rw-r--r--keyboards/drop/sense75/mcuconf.h14
-rw-r--r--keyboards/drop/sense75/readme.md24
-rw-r--r--keyboards/drop/sense75/rules.mk2
-rw-r--r--keyboards/drop/sense75/sense75.c148
-rw-r--r--keyboards/dtisaac/cg108/config.h8
-rw-r--r--keyboards/dtisaac/cg108/info.json8
-rw-r--r--keyboards/dtisaac/cg108/readme.md2
-rw-r--r--keyboards/dtisaac/dosa40rgb/config.h8
-rw-r--r--keyboards/dtisaac/dosa40rgb/info.json8
-rw-r--r--keyboards/dtisaac/dosa40rgb/readme.md2
-rw-r--r--keyboards/dtisaac/dtisaac01/config.h8
-rw-r--r--keyboards/dtisaac/dtisaac01/info.json6
-rw-r--r--keyboards/duck/eagle_viper/v2/config.h7
-rw-r--r--keyboards/duck/eagle_viper/v2/info.json6
-rw-r--r--keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c2
-rw-r--r--keyboards/duck/jetfire/config.h7
-rw-r--r--keyboards/duck/jetfire/info.json6
-rw-r--r--keyboards/duck/lightsaver/config.h7
-rw-r--r--keyboards/duck/lightsaver/info.json8
-rw-r--r--keyboards/duck/lightsaver/keymaps/rasmus/keymap.c6
-rw-r--r--keyboards/duck/octagon/v1/config.h7
-rw-r--r--keyboards/duck/octagon/v1/info.json6
-rw-r--r--keyboards/duck/octagon/v2/config.h7
-rw-r--r--keyboards/duck/octagon/v2/info.json6
-rw-r--r--keyboards/duck/orion/info.json10
-rw-r--r--keyboards/duck/orion/v3/config.h7
-rw-r--r--keyboards/duck/orion/v3/info.json16
-rw-r--r--keyboards/duck/tcv3/config.h7
-rw-r--r--keyboards/duck/tcv3/info.json8
-rw-r--r--keyboards/ducky/one2mini/1861st/config.h8
-rw-r--r--keyboards/ducky/one2mini/1861st/info.json8
-rw-r--r--keyboards/ducky/one2sf/1967st/1967st.h42
-rw-r--r--keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.c57
-rw-r--r--keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.h961
-rw-r--r--keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.mk5
-rw-r--r--keyboards/ducky/one2sf/1967st/chconf.h23
-rw-r--r--keyboards/ducky/one2sf/1967st/config.h48
-rw-r--r--keyboards/ducky/one2sf/1967st/info.json89
-rw-r--r--keyboards/ducky/one2sf/1967st/mcuconf.h51
-rw-r--r--keyboards/ducky/one2sf/1967st/readme.md32
-rw-r--r--keyboards/ducky/one2sf/1967st/rules.mk34
-rw-r--r--keyboards/ducky/one2sf/keymaps/default/config.h25
-rw-r--r--keyboards/ducky/one2sf/keymaps/default/keymap.c55
-rw-r--r--keyboards/ducky/one2sf/keymaps/default/readme.md1
-rw-r--r--keyboards/ducky/one2sf/readme.md8
-rw-r--r--keyboards/ducky/one2sf/rules.mk1
-rw-r--r--keyboards/dumbo/config.h8
-rw-r--r--keyboards/dumbo/info.json6
-rw-r--r--keyboards/dumbo/keymaps/trip-trap/keymap.c4
-rw-r--r--keyboards/dumbpad/config.h6
-rw-r--r--keyboards/dumbpad/info.json10
-rw-r--r--keyboards/dumbpad/v0x/config.h4
-rw-r--r--keyboards/dumbpad/v0x/info.json6
-rw-r--r--keyboards/dumbpad/v0x_dualencoder/config.h3
-rw-r--r--keyboards/dumbpad/v0x_dualencoder/info.json6
-rw-r--r--keyboards/dumbpad/v0x_right/config.h4
-rw-r--r--keyboards/dumbpad/v0x_right/info.json6
-rw-r--r--keyboards/dumbpad/v1x/config.h4
-rw-r--r--keyboards/dumbpad/v1x/info.json6
-rw-r--r--keyboards/dumbpad/v1x_dualencoder/config.h4
-rw-r--r--keyboards/dumbpad/v1x_dualencoder/info.json6
-rw-r--r--keyboards/dumbpad/v1x_oled/config.h37
-rw-r--r--keyboards/dumbpad/v1x_oled/info.json15
-rw-r--r--keyboards/dumbpad/v1x_oled/keymaps/default/keymap.c69
-rw-r--r--keyboards/dumbpad/v1x_oled/keymaps/via/keymap.c69
-rw-r--r--keyboards/dumbpad/v1x_oled/keymaps/via/rules.mk (renamed from keyboards/mechwild/mokulua/keymaps/via/rules.mk)0
-rw-r--r--keyboards/dumbpad/v1x_oled/rules.mk23
-rw-r--r--keyboards/dumbpad/v1x_oled/v1x_oled.c155
-rw-r--r--keyboards/dumbpad/v1x_oled/v1x_oled.h30
-rw-r--r--keyboards/dumbpad/v1x_right/config.h4
-rw-r--r--keyboards/dumbpad/v1x_right/info.json6
-rw-r--r--keyboards/durgod/dgk6x/config.h4
-rw-r--r--keyboards/durgod/dgk6x/galaxy/config.h5
-rw-r--r--keyboards/durgod/dgk6x/galaxy/info.json8
-rw-r--r--keyboards/durgod/dgk6x/hades/config.h5
-rw-r--r--keyboards/durgod/dgk6x/hades/info.json8
-rw-r--r--keyboards/durgod/dgk6x/venus/config.h5
-rw-r--r--keyboards/durgod/dgk6x/venus/info.json8
-rw-r--r--keyboards/durgod/k3x0/config.h4
-rw-r--r--keyboards/durgod/k3x0/k310/base/config.h4
-rw-r--r--keyboards/durgod/k3x0/k310/config.h8
-rw-r--r--keyboards/durgod/k3x0/k310/info.json8
-rw-r--r--keyboards/durgod/k3x0/k320/base/config.h4
-rw-r--r--keyboards/durgod/k3x0/k320/config.h8
-rw-r--r--keyboards/durgod/k3x0/k320/info.json8
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/keymap.c6
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/keymap.c6
-rw-r--r--keyboards/dyz/dyz40/config.h4
-rw-r--r--keyboards/dyz/dyz40/info.json1
-rw-r--r--keyboards/dyz/dyz40/readme.md2
-rw-r--r--keyboards/dyz/dyz60/config.h4
-rw-r--r--keyboards/dyz/dyz60/info.json1
-rw-r--r--keyboards/dyz/dyz60_hs/config.h30
-rw-r--r--keyboards/dyz/dyz60_hs/dyz60_hs.c16
-rw-r--r--keyboards/dyz/dyz60_hs/dyz60_hs.h120
-rw-r--r--keyboards/dyz/dyz60_hs/info.json457
-rw-r--r--keyboards/dyz/dyz60_hs/keymaps/default/keymap.c46
-rw-r--r--keyboards/dyz/dyz60_hs/keymaps/via/keymap.c46
-rw-r--r--keyboards/dyz/dyz60_hs/keymaps/via/rules.mk1
-rw-r--r--keyboards/dyz/dyz60_hs/readme.md29
-rw-r--r--keyboards/dyz/dyz60_hs/rules.mk19
-rw-r--r--keyboards/dyz/dyz_tkl/config.h4
-rw-r--r--keyboards/dyz/dyz_tkl/info.json1
-rw-r--r--keyboards/dyz/dyz_tkl/readme.md2
-rw-r--r--keyboards/dyz/selka40/config.h4
-rw-r--r--keyboards/dyz/selka40/info.json1
-rw-r--r--keyboards/dyz/selka40/readme.md2
-rw-r--r--keyboards/dyz/synthesis60/config.h4
-rw-r--r--keyboards/dyz/synthesis60/info.json3
-rw-r--r--keyboards/dz60/config.h8
-rw-r--r--keyboards/dz60/info.json6
-rw-r--r--keyboards/dz60/keymaps/60_ansi/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md2
-rw-r--r--keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/60_plus_arrows/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/60_tsangan/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/LEdiodes/config.h1
-rw-r--r--keyboards/dz60/keymaps/LEdiodes/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c4
-rw-r--r--keyboards/dz60/keymaps/atlacat/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/billiams/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/billiams_layout2/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/billiams_layout4/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/bingocaller/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/boris_burger/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/calbatr0ss/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/chrisae9/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/coppertop/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/crd_2u_lshift/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/crd_ansi/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/crd_tsangan/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/danbee/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/doogle999/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/edulpn/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/eric/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/f3d3/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/frogger/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/gk64/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/hailbreno/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_de_andys8/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c6
-rw-r--r--keyboards/dz60/keymaps/iso_de_root/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_split-spacebar/keymap.c30
-rw-r--r--keyboards/dz60/keymaps/iso_uk/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_vim_arrow/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/itsaferbie/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/jarred/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/jkbone/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/joooosh_hhkb/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/kifinnsson/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/lint_kid/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/macos_64/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/macos_arrow/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/marianas/customLogic.c2
-rw-r--r--keyboards/dz60/keymaps/marianas/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/mechmerlin/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/model42/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/mpstewart/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/muralisc/keymap.c72
-rw-r--r--keyboards/dz60/keymaps/muzfuz/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/n0velty/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/niclake/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/olivierko/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/ottodokto/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/pevecyan/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/pok3r/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/split_space_arrows/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/spotpuff/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/stephengrier/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/tailcall/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/thomasviaud/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/twschum_b_4_10/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/weeheavy/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c4
-rw-r--r--keyboards/dz60/keymaps/xtonhasvim/keymap.c6
-rw-r--r--keyboards/dz60/keymaps/zepol_layout/keymap.c2
-rw-r--r--keyboards/dztech/bocc/config.h8
-rw-r--r--keyboards/dztech/bocc/info.json6
-rw-r--r--keyboards/dztech/duo_s/config.h8
-rw-r--r--keyboards/dztech/duo_s/info.json8
-rw-r--r--keyboards/dztech/duo_s/readme.md2
-rw-r--r--keyboards/dztech/dz60rgb/info.json4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/didel/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c8
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c8
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c6
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/xunz/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb/v1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb/v1/info.json6
-rw-r--r--keyboards/dztech/dz60rgb/v2/config.h8
-rw-r--r--keyboards/dztech/dz60rgb/v2/info.json6
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_ansi/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c4
-rw-r--r--keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c100
-rw-r--r--keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c168
-rw-r--r--keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/readme.md26
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2_1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2_1/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_wkl/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_wkl/keymaps/hhkb/keymap.c2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/info.json6
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2_1/config.h8
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2_1/info.json6
-rw-r--r--keyboards/dztech/dz64rgb/config.h7
-rw-r--r--keyboards/dztech/dz64rgb/info.json6
-rw-r--r--keyboards/dztech/dz64rgb/readme.md2
-rw-r--r--keyboards/dztech/dz65rgb/info.json6
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/adi/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c6
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c156
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h43
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c20
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md50
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk23
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/config.h41
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c210
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md88
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk5
-rw-r--r--keyboards/dztech/dz65rgb/v1/config.h7
-rw-r--r--keyboards/dztech/dz65rgb/v1/info.json6
-rw-r--r--keyboards/dztech/dz65rgb/v2/config.h7
-rw-r--r--keyboards/dztech/dz65rgb/v2/info.json6
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/config.h8
-rw-r--r--keyboards/dztech/dz65rgb/v3/info.json6
-rw-r--r--keyboards/dztech/dz96/config.h8
-rw-r--r--keyboards/dztech/dz96/info.json6
-rw-r--r--keyboards/dztech/endless80/config.h5
-rw-r--r--keyboards/dztech/endless80/info.json6
-rw-r--r--keyboards/dztech/endless80/readme.md2
-rw-r--r--keyboards/e88/config.h8
-rw-r--r--keyboards/e88/info.json6
-rw-r--r--keyboards/ealdin/quadrant/config.h7
-rw-r--r--keyboards/ealdin/quadrant/info.json6
-rw-r--r--keyboards/earth_rover/config.h8
-rw-r--r--keyboards/earth_rover/info.json6
-rw-r--r--keyboards/eason/capsule65/config.h7
-rw-r--r--keyboards/eason/capsule65/info.json8
-rw-r--r--keyboards/eason/capsule65/readme.md2
-rw-r--r--keyboards/ebastler/e80_1800/config.h8
-rw-r--r--keyboards/ebastler/e80_1800/info.json6
-rw-r--r--keyboards/ebastler/isometria_75/rev1/config.h8
-rw-r--r--keyboards/ebastler/isometria_75/rev1/info.json8
-rw-r--r--keyboards/eco/config.h6
-rw-r--r--keyboards/eco/info.json7
-rw-r--r--keyboards/eco/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/eco/keymaps/that_canadian/keymap.c2
-rw-r--r--keyboards/eco/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/eco/rev1/config.h3
-rw-r--r--keyboards/eco/rev1/info.json5
-rw-r--r--keyboards/eco/rev2/config.h3
-rw-r--r--keyboards/eco/rev2/info.json5
-rw-r--r--keyboards/edc40/config.h8
-rw-r--r--keyboards/edc40/info.json6
-rw-r--r--keyboards/edda/config.h7
-rw-r--r--keyboards/edda/info.json6
-rw-r--r--keyboards/edi/hardlight/mk1/config.h8
-rw-r--r--keyboards/edi/hardlight/mk1/info.json9
-rw-r--r--keyboards/edi/hardlight/mk2/config.h7
-rw-r--r--keyboards/edi/hardlight/mk2/info.json9
-rw-r--r--keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c2
-rw-r--r--keyboards/edi/standaside/config.h8
-rw-r--r--keyboards/edi/standaside/info.json6
-rw-r--r--keyboards/eek/config.h8
-rw-r--r--keyboards/eek/info.json6
-rw-r--r--keyboards/eek/keymaps/ledtest/keymap.c2
-rw-r--r--keyboards/efreet/config.h8
-rw-r--r--keyboards/efreet/info.json8
-rw-r--r--keyboards/ein_60/config.h7
-rw-r--r--keyboards/ein_60/info.json6
-rw-r--r--keyboards/ein_60/keymaps/ledtest/keymap.c4
-rw-r--r--keyboards/ekow/akira/config.h7
-rw-r--r--keyboards/ekow/akira/info.json8
-rw-r--r--keyboards/ekow/akira/readme.md2
-rw-r--r--keyboards/elephant42/config.h85
-rw-r--r--keyboards/elephant42/elephant42.c66
-rw-r--r--keyboards/elephant42/elephant42.h35
-rw-r--r--keyboards/elephant42/info.json66
-rw-r--r--keyboards/elephant42/keymaps/default/keymap.c114
-rw-r--r--keyboards/elephant42/keymaps/default/readme.md1
-rw-r--r--keyboards/elephant42/keymaps/via/keymap.c127
-rw-r--r--keyboards/elephant42/keymaps/via/readme.md1
-rw-r--r--keyboards/elephant42/keymaps/via/rules.mk3
-rwxr-xr-xkeyboards/elephant42/lib/glcdfont.c233
-rw-r--r--keyboards/elephant42/readme.md27
-rw-r--r--keyboards/elephant42/rules.mk23
-rw-r--r--keyboards/emajesty/eiri/config.h8
-rw-r--r--keyboards/emajesty/eiri/info.json6
-rw-r--r--keyboards/emery65/config.h9
-rw-r--r--keyboards/emery65/info.json6
-rw-r--r--keyboards/emi20/config.h8
-rw-r--r--keyboards/emi20/info.json6
-rw-r--r--keyboards/emptystring/NQG/config.h7
-rw-r--r--keyboards/emptystring/NQG/info.json8
-rw-r--r--keyboards/eniigmakeyboards/ek60/config.h8
-rw-r--r--keyboards/eniigmakeyboards/ek60/info.json8
-rw-r--r--keyboards/eniigmakeyboards/ek65/config.h8
-rw-r--r--keyboards/eniigmakeyboards/ek65/info.json8
-rw-r--r--keyboards/eniigmakeyboards/ek87/config.h8
-rw-r--r--keyboards/eniigmakeyboards/ek87/info.json8
-rw-r--r--keyboards/ep/40/config.h7
-rw-r--r--keyboards/ep/40/info.json6
-rw-r--r--keyboards/ep/96/config.h8
-rw-r--r--keyboards/ep/96/info.json6
-rw-r--r--keyboards/ep/comsn/hs68/config.h8
-rw-r--r--keyboards/ep/comsn/hs68/info.json6
-rw-r--r--keyboards/ep/comsn/mollydooker/config.h8
-rw-r--r--keyboards/ep/comsn/mollydooker/info.json6
-rw-r--r--keyboards/ep/comsn/tf_longeboye/config.h8
-rw-r--r--keyboards/ep/comsn/tf_longeboye/info.json8
-rw-r--r--keyboards/epoch80/config.h8
-rw-r--r--keyboards/epoch80/info.json6
-rw-r--r--keyboards/ergodox_ez/base/info.json6
-rw-r--r--keyboards/ergodox_ez/base/rules.mk0
-rw-r--r--keyboards/ergodox_ez/config.h7
-rw-r--r--keyboards/ergodox_ez/glow/config.h26
-rw-r--r--keyboards/ergodox_ez/glow/info.json6
-rw-r--r--keyboards/ergodox_ez/info.json6
-rwxr-xr-xkeyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/blakedietz/keymap.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/danielo515/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/default_osx/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c38
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/ifohancroft/config.h8
-rw-r--r--keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c172
-rw-r--r--keyboards/ergodox_ez/keymaps/ifohancroft/readme.md16
-rw-r--r--keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk3
-rw-r--r--keyboards/ergodox_ez/keymaps/kou/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/lukaus/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/matrixman/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c3
-rw-r--r--keyboards/ergodox_ez/keymaps/nfriend/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/profet_80/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/pvinis/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/rgb_layer/config.h6
-rw-r--r--keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c5
-rw-r--r--keyboards/ergodox_ez/keymaps/rishka/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/rmw/config.h1
-rw-r--r--keyboards/ergodox_ez/keymaps/skug/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/smurmann/keymap.c10
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/steno/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/testing/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/toshi0383/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/vim/keymap.c2
-rw-r--r--keyboards/ergodox_ez/rules.mk2
-rw-r--r--keyboards/ergodox_ez/shine/config.h26
-rw-r--r--keyboards/ergodox_ez/shine/info.json6
-rwxr-xr-xkeyboards/ergodox_ez/util/compile_keymap.py110
-rw-r--r--keyboards/ergodox_stm32/config.h6
-rw-r--r--keyboards/ergodox_stm32/info.json6
-rw-r--r--keyboards/ergoslab/info.json63
-rw-r--r--keyboards/ergoslab/keymaps/default/keymap.c2
-rw-r--r--keyboards/ergoslab/rev1/config.h7
-rw-r--r--keyboards/ergoslab/rev1/info.json69
-rw-r--r--keyboards/ergotravel/info.json13
-rw-r--r--keyboards/ergotravel/keymaps/default/keymap.c14
-rw-r--r--keyboards/ergotravel/keymaps/ian/keymap.c2
-rw-r--r--keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/ergotravel/keymaps/yanfali/keymap.c2
-rw-r--r--keyboards/ergotravel/rev1/config.h7
-rw-r--r--keyboards/ergotravel/rev1/info.json18
-rw-r--r--keyboards/ericrlau/numdiscipline/info.json19
-rw-r--r--keyboards/ericrlau/numdiscipline/rev1/config.h8
-rw-r--r--keyboards/ericrlau/numdiscipline/rev1/info.json25
-rw-r--r--keyboards/esca/getawayvan/config.h8
-rw-r--r--keyboards/esca/getawayvan/info.json6
-rw-r--r--keyboards/esca/getawayvan/keymaps/7u/keymap.c2
-rw-r--r--keyboards/esca/getawayvan_f042/config.h7
-rw-r--r--keyboards/esca/getawayvan_f042/info.json6
-rw-r--r--keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c2
-rw-r--r--keyboards/eternal_keypad/config.h13
-rw-r--r--keyboards/eternal_keypad/info.json6
-rw-r--r--keyboards/eternal_keypad/keymaps/default/keymap.c28
-rw-r--r--keyboards/eternal_keypad/keymaps/kyek/config.h2
-rw-r--r--keyboards/eternal_keypad/keymaps/kyek/keymap.c10
-rw-r--r--keyboards/eternal_keypad/keymaps/lefty/keymap.c30
-rw-r--r--keyboards/eternal_keypad/readme.md2
-rw-r--r--keyboards/eternal_keypad/rules.mk2
-rw-r--r--keyboards/eu_isolation/config.h8
-rw-r--r--keyboards/eu_isolation/eu_isolation.h12
-rw-r--r--keyboards/eu_isolation/info.json41
-rw-r--r--keyboards/eu_isolation/readme.md2
-rw-r--r--keyboards/evancookaudio/sleepingdinosaur/config.h8
-rw-r--r--keyboards/evancookaudio/sleepingdinosaur/info.json8
-rw-r--r--keyboards/evancookaudio/tenpad/config.h8
-rw-r--r--keyboards/evancookaudio/tenpad/info.json8
-rw-r--r--keyboards/eve/meteor/config.h7
-rw-r--r--keyboards/eve/meteor/info.json8
-rw-r--r--keyboards/evil80/config.h8
-rw-r--r--keyboards/evil80/info.json6
-rw-r--r--keyboards/evolv/config.h7
-rw-r--r--keyboards/evolv/info.json6
-rw-r--r--keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c4
-rw-r--r--keyboards/evyd13/atom47/keymaps/evyd13/keymap.c2
-rw-r--r--keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c2
-rw-r--r--keyboards/evyd13/atom47/rev2/config.h8
-rw-r--r--keyboards/evyd13/atom47/rev2/info.json6
-rw-r--r--keyboards/evyd13/atom47/rev3/config.h8
-rw-r--r--keyboards/evyd13/atom47/rev3/info.json6
-rw-r--r--keyboards/evyd13/atom47/rev4/config.h8
-rw-r--r--keyboards/evyd13/atom47/rev4/info.json6
-rw-r--r--keyboards/evyd13/atom47/rev5/config.h8
-rw-r--r--keyboards/evyd13/atom47/rev5/info.json6
-rw-r--r--keyboards/evyd13/eon40/config.h8
-rw-r--r--keyboards/evyd13/eon40/info.json6
-rw-r--r--keyboards/evyd13/eon65/config.h8
-rw-r--r--keyboards/evyd13/eon65/info.json6
-rw-r--r--keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c2
-rw-r--r--keyboards/evyd13/eon75/config.h8
-rw-r--r--keyboards/evyd13/eon75/info.json6
-rw-r--r--keyboards/evyd13/eon87/config.h8
-rw-r--r--keyboards/evyd13/eon87/info.json6
-rw-r--r--keyboards/evyd13/eon95/config.h8
-rw-r--r--keyboards/evyd13/eon95/info.json6
-rw-r--r--keyboards/evyd13/fin_pad/config.h20
-rw-r--r--keyboards/evyd13/fin_pad/info.json88
-rw-r--r--keyboards/evyd13/fin_pad/keymaps/default/keymap.c16
-rw-r--r--keyboards/evyd13/fin_pad/keymaps/via/keymap.c41
-rw-r--r--keyboards/evyd13/fin_pad/keymaps/via/rules.mk1
-rw-r--r--keyboards/evyd13/fin_pad/readme.md27
-rw-r--r--keyboards/evyd13/fin_pad/rules.mk1
-rw-r--r--keyboards/evyd13/gh80_1800/config.h8
-rw-r--r--keyboards/evyd13/gh80_1800/info.json6
-rw-r--r--keyboards/evyd13/gh80_3700/config.h8
-rw-r--r--keyboards/evyd13/gh80_3700/info.json6
-rw-r--r--keyboards/evyd13/gud70/config.h8
-rw-r--r--keyboards/evyd13/gud70/info.json6
-rw-r--r--keyboards/evyd13/gud70/keymaps/evyd13/keymap.c2
-rw-r--r--keyboards/evyd13/minitomic/config.h8
-rw-r--r--keyboards/evyd13/minitomic/info.json6
-rw-r--r--keyboards/evyd13/mx5160/config.h8
-rw-r--r--keyboards/evyd13/mx5160/info.json8
-rw-r--r--keyboards/evyd13/nt210/readme.md2
-rw-r--r--keyboards/evyd13/nt650/config.h22
-rw-r--r--keyboards/evyd13/nt650/info.json104
-rw-r--r--keyboards/evyd13/nt650/keymaps/default/keymap.c69
-rw-r--r--keyboards/evyd13/nt650/keymaps/via/config.h6
-rw-r--r--keyboards/evyd13/nt650/keymaps/via/keymap.c32
-rw-r--r--keyboards/evyd13/nt650/keymaps/via/rules.mk1
-rw-r--r--keyboards/evyd13/nt650/readme.md27
-rw-r--r--keyboards/evyd13/nt650/rules.mk1
-rw-r--r--keyboards/evyd13/nt660/config.h8
-rw-r--r--keyboards/evyd13/nt660/info.json6
-rw-r--r--keyboards/evyd13/nt660/keymaps/evyd13/keymap.c2
-rw-r--r--keyboards/evyd13/nt750/config.h8
-rw-r--r--keyboards/evyd13/nt750/info.json6
-rw-r--r--keyboards/evyd13/nt980/config.h8
-rw-r--r--keyboards/evyd13/nt980/info.json8
-rw-r--r--keyboards/evyd13/omrontkl/config.h8
-rw-r--r--keyboards/evyd13/omrontkl/info.json6
-rw-r--r--keyboards/evyd13/plain60/config.h7
-rw-r--r--keyboards/evyd13/plain60/info.json6
-rw-r--r--keyboards/evyd13/plain60/keymaps/audio/keymap.c2
-rw-r--r--keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c2
-rw-r--r--keyboards/evyd13/plain60/keymaps/rgb/keymap.c2
-rw-r--r--keyboards/evyd13/pockettype/config.h8
-rw-r--r--keyboards/evyd13/pockettype/info.json6
-rw-r--r--keyboards/evyd13/quackfire/config.h8
-rw-r--r--keyboards/evyd13/quackfire/info.json6
-rw-r--r--keyboards/evyd13/solheim68/config.h8
-rw-r--r--keyboards/evyd13/solheim68/info.json6
-rw-r--r--keyboards/evyd13/ta65/config.h8
-rw-r--r--keyboards/evyd13/ta65/info.json8
-rw-r--r--keyboards/evyd13/ta65/keymaps/evyd13/keymap.c2
-rw-r--r--keyboards/evyd13/wasdat/config.h1
-rw-r--r--keyboards/evyd13/wasdat_code/config.h8
-rw-r--r--keyboards/evyd13/wasdat_code/info.json6
-rw-r--r--keyboards/evyd13/wonderland/config.h8
-rw-r--r--keyboards/evyd13/wonderland/info.json6
-rw-r--r--keyboards/evyd13/wonderland/keymaps/keebs/keymap.c2
-rw-r--r--keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c2
-rw-r--r--keyboards/evyd13/wonderland/keymaps/rys/keymap.c2
-rw-r--r--keyboards/exclusive/e65/config.h8
-rw-r--r--keyboards/exclusive/e65/info.json6
-rw-r--r--keyboards/exclusive/e65/keymaps/crd/keymap.c2
-rw-r--r--keyboards/exclusive/e65/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/exclusive/e65/keymaps/masterzen/keymap.c4
-rw-r--r--keyboards/exclusive/e6_rgb/config.h8
-rw-r--r--keyboards/exclusive/e6_rgb/info.json8
-rw-r--r--keyboards/exclusive/e6_rgb/keymaps/60_ansi_split_bs_rshift/keymap.c2
-rw-r--r--keyboards/exclusive/e6_rgb/keymaps/60_hhkb/keymap.c2
-rw-r--r--keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c2
-rw-r--r--keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c2
-rw-r--r--keyboards/exclusive/e6v2/le/config.h8
-rw-r--r--keyboards/exclusive/e6v2/le/info.json6
-rw-r--r--keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c2
-rw-r--r--keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c4
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/config.h7
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/info.json7
-rw-r--r--keyboards/exclusive/e6v2/oe/config.h8
-rw-r--r--keyboards/exclusive/e6v2/oe/info.json6
-rw-r--r--keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c2
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/config.h7
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/info.json7
-rw-r--r--keyboards/exclusive/e7v1/config.h8
-rw-r--r--keyboards/exclusive/e7v1/info.json6
-rw-r--r--keyboards/exclusive/e7v1/keymaps/ansi_splitbs/keymap.c2
-rw-r--r--keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c4
-rw-r--r--keyboards/exclusive/e7v1se/config.h8
-rw-r--r--keyboards/exclusive/e7v1se/info.json8
-rw-r--r--keyboards/exclusive/e7v1se/keymaps/mac/keymap.c2
-rw-r--r--keyboards/exclusive/e85/config.h6
-rw-r--r--keyboards/exclusive/e85/hotswap/config.h18
-rw-r--r--keyboards/exclusive/e85/hotswap/info.json8
-rw-r--r--keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c2
-rw-r--r--keyboards/exclusive/e85/soldered/config.h18
-rw-r--r--keyboards/exclusive/e85/soldered/info.json8
-rw-r--r--keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c2
-rw-r--r--keyboards/exent/config.h8
-rw-r--r--keyboards/exent/info.json6
-rw-r--r--keyboards/eyeohdesigns/babyv/config.h8
-rw-r--r--keyboards/eyeohdesigns/babyv/info.json6
-rw-r--r--keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c4
-rw-r--r--keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/babyv/readme.md2
-rw-r--r--keyboards/eyeohdesigns/sprh/config.h7
-rw-r--r--keyboards/eyeohdesigns/sprh/info.json6
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/sprh/readme.md2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/config.h8
-rw-r--r--keyboards/eyeohdesigns/theboulevard/info.json6
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/ortho2/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/ortho3/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/ortho4/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/ortho5/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/readme.md2
-rw-r--r--keyboards/ez_maker/directpins/promicro/config.h20
-rw-r--r--keyboards/ez_maker/directpins/promicro/info.json1
-rw-r--r--keyboards/ez_maker/directpins/promicro/promicro.c17
-rw-r--r--keyboards/ez_maker/directpins/promicro/promicro.h19
-rw-r--r--keyboards/ez_maker/directpins/promicro/rules.mk1
-rw-r--r--keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md1
-rw-r--r--keyboards/ez_maker/directpins/proton_c/proton_c.c17
-rw-r--r--keyboards/ez_maker/directpins/proton_c/proton_c.h19
-rw-r--r--keyboards/ez_maker/directpins/proton_c/rules.mk1
-rw-r--r--keyboards/ez_maker/directpins/rp2040/info.json64
-rw-r--r--keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json25
-rw-r--r--keyboards/ez_maker/directpins/rp2040/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/rp2040/rules.mk1
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/config.h20
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/info.json1
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json2
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/rules.mk1
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/teensy2.c17
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/teensy2.h19
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/config.h20
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/info.json1
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json2
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/rules.mk1
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/teensy2.c17
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/teensy2.h19
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/config.h23
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/halconf.h27
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/mcuconf.h2
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/rules.mk2
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/config.h23
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/halconf.h27
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/mcuconf.h2
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/rules.mk1
-rw-r--r--keyboards/facew/config.h7
-rw-r--r--keyboards/facew/info.json6
-rwxr-xr-xkeyboards/fallacy/config.h9
-rw-r--r--keyboards/fallacy/info.json6
-rw-r--r--keyboards/fc660c/config.h7
-rw-r--r--keyboards/fc660c/info.json8
-rw-r--r--keyboards/fc660c/keymaps/siroleo/keymap.c2
-rw-r--r--keyboards/fc660c/keymaps/via_rgb/keymap.c2
-rw-r--r--keyboards/fc980c/config.h8
-rw-r--r--keyboards/fc980c/info.json8
-rw-r--r--keyboards/feels/feels65/config.h8
-rw-r--r--keyboards/feels/feels65/info.json6
-rw-r--r--keyboards/feker/ik75/config.h108
-rw-r--r--keyboards/feker/ik75/ik75.c191
-rw-r--r--keyboards/feker/ik75/ik75.h56
-rw-r--r--keyboards/feker/ik75/info.json105
-rw-r--r--keyboards/feker/ik75/keymaps/bkzshen/keymap.c224
-rw-r--r--keyboards/feker/ik75/keymaps/bkzshen/rules.mk4
-rw-r--r--keyboards/feker/ik75/keymaps/default/keymap.c166
-rw-r--r--keyboards/feker/ik75/keymaps/default/rules.mk2
-rw-r--r--keyboards/feker/ik75/keymaps/via/keymap.c224
-rw-r--r--keyboards/feker/ik75/keymaps/via/rules.mk4
-rw-r--r--keyboards/feker/ik75/readme.md25
-rw-r--r--keyboards/feker/ik75/rules.mk29
-rw-r--r--keyboards/ferris/0_1/config.h7
-rw-r--r--keyboards/ferris/0_1/info.json9
-rw-r--r--keyboards/ferris/0_2/base/info.json6
-rw-r--r--keyboards/ferris/0_2/base/rules.mk0
-rw-r--r--keyboards/ferris/0_2/bling/config.h7
-rw-r--r--keyboards/ferris/0_2/bling/info.json6
-rw-r--r--keyboards/ferris/0_2/compact/config.h23
-rw-r--r--keyboards/ferris/0_2/compact/info.json6
-rw-r--r--keyboards/ferris/0_2/config.h9
-rw-r--r--keyboards/ferris/0_2/high/config.h23
-rw-r--r--keyboards/ferris/0_2/high/info.json6
-rw-r--r--keyboards/ferris/0_2/info.json7
-rw-r--r--keyboards/ferris/0_2/mini/config.h23
-rw-r--r--keyboards/ferris/0_2/mini/info.json6
-rw-r--r--keyboards/ferris/0_2/rules.mk2
-rw-r--r--keyboards/ferris/info.json1
-rw-r--r--keyboards/ferris/keymaps/bruun-baer/config.h39
-rw-r--r--keyboards/ferris/keymaps/bruun-baer/keymap.json71
-rw-r--r--keyboards/ferris/keymaps/bruun-baer/readme.md2
-rw-r--r--keyboards/ferris/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/ferris/keymaps/manna-harbour_miryoku/config.h19
-rw-r--r--keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk4
-rw-r--r--keyboards/ferris/keymaps/pierrec83/keymap.json2
-rw-r--r--keyboards/ferris/sweep/config.h24
-rw-r--r--keyboards/ferris/sweep/info.json9
-rw-r--r--keyboards/ferris/sweep/readme.md9
-rw-r--r--keyboards/ffkeebs/puca/config.h7
-rw-r--r--keyboards/ffkeebs/puca/info.json6
-rw-r--r--keyboards/ffkeebs/puca/readme.md2
-rw-r--r--keyboards/ffkeebs/siris/config.h7
-rw-r--r--keyboards/ffkeebs/siris/info.json6
-rw-r--r--keyboards/fjlabs/7vhotswap/config.h8
-rw-r--r--keyboards/fjlabs/7vhotswap/info.json8
-rw-r--r--keyboards/fjlabs/ad65/config.h8
-rw-r--r--keyboards/fjlabs/ad65/info.json8
-rw-r--r--keyboards/fjlabs/avalon/avalon.c14
-rw-r--r--keyboards/fjlabs/avalon/avalon.h32
-rw-r--r--keyboards/fjlabs/avalon/config.h76
-rw-r--r--keyboards/fjlabs/avalon/info.json94
-rw-r--r--keyboards/fjlabs/avalon/keymaps/default/keymap.c39
-rw-r--r--keyboards/fjlabs/avalon/keymaps/via/keymap.c57
-rw-r--r--keyboards/fjlabs/avalon/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/avalon/readme.md19
-rw-r--r--keyboards/fjlabs/avalon/rules.mk21
-rw-r--r--keyboards/fjlabs/bks65/config.h8
-rw-r--r--keyboards/fjlabs/bks65/info.json6
-rw-r--r--keyboards/fjlabs/bks65solder/config.h8
-rw-r--r--keyboards/fjlabs/bks65solder/info.json6
-rw-r--r--keyboards/fjlabs/bolsa65/config.h8
-rw-r--r--keyboards/fjlabs/bolsa65/info.json6
-rw-r--r--keyboards/fjlabs/kf87/config.h8
-rw-r--r--keyboards/fjlabs/kf87/info.json8
-rw-r--r--keyboards/fjlabs/kyuu/config.h8
-rw-r--r--keyboards/fjlabs/kyuu/info.json8
-rw-r--r--keyboards/fjlabs/ldk65/config.h8
-rw-r--r--keyboards/fjlabs/ldk65/info.json6
-rw-r--r--keyboards/fjlabs/midway60/config.h8
-rw-r--r--keyboards/fjlabs/midway60/info.json6
-rw-r--r--keyboards/fjlabs/mk61rgbansi/config.h8
-rw-r--r--keyboards/fjlabs/mk61rgbansi/info.json6
-rw-r--r--keyboards/fjlabs/peaker/config.h93
-rw-r--r--keyboards/fjlabs/peaker/info.json94
-rw-r--r--keyboards/fjlabs/peaker/keymaps/default/keymap.c39
-rw-r--r--keyboards/fjlabs/peaker/keymaps/via/keymap.c57
-rw-r--r--keyboards/fjlabs/peaker/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/peaker/peaker.c14
-rw-r--r--keyboards/fjlabs/peaker/peaker.h32
-rw-r--r--keyboards/fjlabs/peaker/readme.md13
-rw-r--r--keyboards/fjlabs/peaker/rules.mk21
-rw-r--r--keyboards/fjlabs/polaris/config.h8
-rw-r--r--keyboards/fjlabs/polaris/info.json8
-rw-r--r--keyboards/fjlabs/ready100/config.h8
-rw-r--r--keyboards/fjlabs/ready100/info.json6
-rw-r--r--keyboards/fjlabs/sinanju/config.h95
-rw-r--r--keyboards/fjlabs/sinanju/info.json147
-rw-r--r--keyboards/fjlabs/sinanju/keymaps/default/keymap.c39
-rw-r--r--keyboards/fjlabs/sinanju/keymaps/default_ansi_wkl/keymap.c39
-rw-r--r--keyboards/fjlabs/sinanju/keymaps/via/keymap.c58
-rw-r--r--keyboards/fjlabs/sinanju/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/sinanju/readme.md15
-rw-r--r--keyboards/fjlabs/sinanju/rules.mk21
-rw-r--r--keyboards/fjlabs/sinanju/sinanju.c14
-rw-r--r--keyboards/fjlabs/sinanju/sinanju.h59
-rw-r--r--keyboards/fjlabs/sinanjuwk/config.h96
-rw-r--r--keyboards/fjlabs/sinanjuwk/info.json84
-rw-r--r--keyboards/fjlabs/sinanjuwk/keymaps/default/keymap.c39
-rw-r--r--keyboards/fjlabs/sinanjuwk/keymaps/via/keymap.c58
-rw-r--r--keyboards/fjlabs/sinanjuwk/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/sinanjuwk/readme.md17
-rw-r--r--keyboards/fjlabs/sinanjuwk/rules.mk21
-rw-r--r--keyboards/fjlabs/sinanjuwk/sinanjuwk.c14
-rw-r--r--keyboards/fjlabs/sinanjuwk/sinanjuwk.h32
-rw-r--r--keyboards/fjlabs/solanis/config.h8
-rw-r--r--keyboards/fjlabs/solanis/info.json6
-rw-r--r--keyboards/fjlabs/solanis/keymaps/default/keymap.c26
-rw-r--r--keyboards/fjlabs/solanis/keymaps/via/keymap.c52
-rw-r--r--keyboards/fjlabs/solanis/solanis.h41
-rw-r--r--keyboards/fjlabs/swordfish/config.h108
-rw-r--r--keyboards/fjlabs/swordfish/info.json16
-rw-r--r--keyboards/fjlabs/swordfish/keymaps/default/keymap.c39
-rw-r--r--keyboards/fjlabs/swordfish/keymaps/via/keymap.c57
-rw-r--r--keyboards/fjlabs/swordfish/keymaps/via/rules.mk1
-rw-r--r--keyboards/fjlabs/swordfish/readme.md16
-rw-r--r--keyboards/fjlabs/swordfish/rules.mk21
-rw-r--r--keyboards/fjlabs/swordfish/swordfish.c14
-rw-r--r--keyboards/fjlabs/swordfish/swordfish.h32
-rw-r--r--keyboards/fjlabs/tf60ansi/config.h8
-rw-r--r--keyboards/fjlabs/tf60ansi/info.json6
-rw-r--r--keyboards/fjlabs/tf60ansi/readme.md2
-rw-r--r--keyboards/fjlabs/tf60v2/config.h8
-rw-r--r--keyboards/fjlabs/tf60v2/info.json8
-rw-r--r--keyboards/fjlabs/tf60v2/readme.md2
-rw-r--r--keyboards/fjlabs/tf65rgbv2/config.h8
-rw-r--r--keyboards/fjlabs/tf65rgbv2/info.json6
-rw-r--r--keyboards/fjlabs/tf65rgbv2/readme.md2
-rw-r--r--keyboards/flehrad/bigswitch/config.h8
-rw-r--r--keyboards/flehrad/bigswitch/info.json8
-rw-r--r--keyboards/flehrad/bigswitch/keymaps/333fred/config.h1
-rw-r--r--keyboards/flehrad/downbubble/config.h8
-rw-r--r--keyboards/flehrad/downbubble/info.json6
-rw-r--r--keyboards/flehrad/numbrero/config.h8
-rw-r--r--keyboards/flehrad/numbrero/info.json6
-rw-r--r--keyboards/flehrad/snagpad/config.h8
-rw-r--r--keyboards/flehrad/snagpad/info.json6
-rw-r--r--keyboards/flehrad/tradestation/config.h8
-rw-r--r--keyboards/flehrad/tradestation/info.json8
-rw-r--r--keyboards/fleuron/config.h8
-rw-r--r--keyboards/fleuron/info.json8
-rw-r--r--keyboards/fleuron/keymaps/dollartacos/keymap.c4
-rw-r--r--keyboards/fluorite/config.h8
-rw-r--r--keyboards/fluorite/info.json6
-rw-r--r--keyboards/flx/lodestone/config.h8
-rw-r--r--keyboards/flx/lodestone/info.json8
-rw-r--r--keyboards/flx/virgo/config.h7
-rw-r--r--keyboards/flx/virgo/info.json8
-rw-r--r--keyboards/flxlb/zplit/config.h7
-rw-r--r--keyboards/flxlb/zplit/info.json6
-rw-r--r--keyboards/flygone60/rev3/config.h8
-rw-r--r--keyboards/flygone60/rev3/info.json6
-rw-r--r--keyboards/foostan/cornelius/config.h7
-rw-r--r--keyboards/foostan/cornelius/info.json8
-rw-r--r--keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c2
-rw-r--r--keyboards/foostan/cornelius/keymaps/hvp/keymap.c4
-rw-r--r--keyboards/foostan/cornelius/readme.md2
-rw-r--r--keyboards/for_science/config.h8
-rw-r--r--keyboards/for_science/info.json6
-rw-r--r--keyboards/for_science/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/fortitude60/info.json10
-rw-r--r--keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/fortitude60/rev1/config.h7
-rw-r--r--keyboards/fortitude60/rev1/info.json16
-rw-r--r--keyboards/foxlab/key65/hotswap/config.h7
-rw-r--r--keyboards/foxlab/key65/hotswap/info.json6
-rw-r--r--keyboards/foxlab/key65/universal/config.h7
-rw-r--r--keyboards/foxlab/key65/universal/info.json6
-rw-r--r--keyboards/foxlab/leaf60/hotswap/config.h8
-rw-r--r--keyboards/foxlab/leaf60/hotswap/info.json8
-rw-r--r--keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c2
-rw-r--r--keyboards/foxlab/leaf60/universal/config.h8
-rw-r--r--keyboards/foxlab/leaf60/universal/info.json8
-rw-r--r--keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c2
-rw-r--r--keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c2
-rw-r--r--keyboards/foxlab/time80/config.h8
-rw-r--r--keyboards/foxlab/time80/info.json8
-rw-r--r--keyboards/foxlab/time80/readme.md2
-rw-r--r--keyboards/foxlab/time_re/hotswap/config.h7
-rw-r--r--keyboards/foxlab/time_re/hotswap/info.json8
-rw-r--r--keyboards/foxlab/time_re/universal/config.h7
-rw-r--r--keyboards/foxlab/time_re/universal/info.json8
-rw-r--r--keyboards/fr4/southpaw75/config.h8
-rw-r--r--keyboards/fr4/southpaw75/info.json6
-rw-r--r--keyboards/fr4/unix60/config.h8
-rw-r--r--keyboards/fr4/unix60/info.json6
-rwxr-xr-xkeyboards/fractal/config.h8
-rw-r--r--keyboards/fractal/info.json6
-rw-r--r--keyboards/fractal/keymaps/default/keymap.c2
-rw-r--r--keyboards/free_willy/config.h8
-rw-r--r--keyboards/free_willy/info.json6
-rw-r--r--keyboards/free_willy/keymaps/colemak/keymap.c2
-rw-r--r--keyboards/friedrich/config.h8
-rw-r--r--keyboards/friedrich/info.json6
-rw-r--r--keyboards/frooastboard/nano/config.h4
-rw-r--r--keyboards/frooastboard/nano/info.json1
-rw-r--r--keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c2
-rw-r--r--keyboards/frooastboard/walnut/readme.md2
-rw-r--r--keyboards/ft/mars65/config.h53
-rw-r--r--keyboards/ft/mars65/info.json397
-rw-r--r--keyboards/ft/mars65/keymaps/default/keymap.c25
-rw-r--r--keyboards/ft/mars65/keymaps/via/keymap.c25
-rw-r--r--keyboards/ft/mars65/keymaps/via/rules.mk1
-rw-r--r--keyboards/ft/mars65/mars65.c8
-rw-r--r--keyboards/ft/mars65/mars65.h111
-rw-r--r--keyboards/ft/mars65/readme.md21
-rw-r--r--keyboards/ft/mars65/rules.mk24
-rw-r--r--keyboards/ft/mars80/config.h7
-rw-r--r--keyboards/ft/mars80/info.json6
-rw-r--r--keyboards/function96/v1/config.h9
-rw-r--r--keyboards/function96/v1/info.json6
-rw-r--r--keyboards/function96/v2/config.h9
-rw-r--r--keyboards/function96/v2/info.json6
-rw-r--r--keyboards/fungo/fungo.c18
-rw-r--r--keyboards/fungo/fungo.h23
-rw-r--r--keyboards/fungo/keymaps/default/config.h24
-rw-r--r--keyboards/fungo/keymaps/default/keymap.c156
-rw-r--r--keyboards/fungo/readme.md28
-rw-r--r--keyboards/fungo/rev1/config.h70
-rw-r--r--keyboards/fungo/rev1/info.json97
-rw-r--r--keyboards/fungo/rev1/post_config.h30
-rw-r--r--keyboards/fungo/rev1/rev1.c17
-rw-r--r--keyboards/fungo/rev1/rev1.h48
-rw-r--r--keyboards/fungo/rev1/rules.mk28
-rw-r--r--keyboards/funky40/config.h9
-rw-r--r--keyboards/funky40/info.json8
-rw-r--r--keyboards/gami_studio/lex60/config.h7
-rw-r--r--keyboards/gami_studio/lex60/info.json8
-rw-r--r--keyboards/gboards/butterstick/config.h7
-rw-r--r--keyboards/gboards/butterstick/info.json6
-rw-r--r--keyboards/gboards/ergotaco/config.h7
-rw-r--r--keyboards/gboards/ergotaco/info.json6
-rw-r--r--keyboards/gboards/georgi/config.h7
-rw-r--r--keyboards/gboards/georgi/info.json161
-rw-r--r--keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk9
-rw-r--r--keyboards/gboards/georgi/keymaps/default-flipped/rules.mk9
-rw-r--r--keyboards/gboards/georgi/keymaps/default/rules.mk9
-rw-r--r--keyboards/gboards/georgi/keymaps/dennytom/rules.mk6
-rw-r--r--keyboards/gboards/georgi/keymaps/minimal/rules.mk9
-rw-r--r--keyboards/gboards/georgi/keymaps/norman/rules.mk9
-rw-r--r--keyboards/gboards/georgi/rules.mk20
-rw-r--r--keyboards/gboards/gergo/config.h7
-rw-r--r--keyboards/gboards/gergo/info.json8
-rw-r--r--keyboards/gboards/gergo/keymaps/colemak/keymap.c5
-rw-r--r--keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/gboards/gergoplex/config.h8
-rw-r--r--keyboards/gboards/gergoplex/info.json6
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/config.h2
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c11
-rw-r--r--keyboards/geekboards/macropad_v2/config.h8
-rw-r--r--keyboards/geekboards/macropad_v2/info.json8
-rw-r--r--keyboards/geekboards/tester/config.h9
-rw-r--r--keyboards/geekboards/tester/info.json8
-rw-r--r--keyboards/generic_panda/panda65_01/config.h8
-rw-r--r--keyboards/generic_panda/panda65_01/info.json6
-rw-r--r--keyboards/genone/eclipse_65/config.h8
-rw-r--r--keyboards/genone/eclipse_65/info.json8
-rw-r--r--keyboards/genone/g1_65/config.h8
-rw-r--r--keyboards/genone/g1_65/info.json6
-rw-r--r--keyboards/gentleman65/config.h59
-rw-r--r--keyboards/gentleman65/info.json10
-rw-r--r--keyboards/gentleman65/readme.md24
-rw-r--r--keyboards/geonworks/frogmini/fmh/config.h44
-rw-r--r--keyboards/geonworks/frogmini/fmh/fmh.c17
-rw-r--r--keyboards/geonworks/frogmini/fmh/fmh.h120
-rw-r--r--keyboards/geonworks/frogmini/fmh/halconf.h21
-rw-r--r--keyboards/geonworks/frogmini/fmh/info.json357
-rw-r--r--keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fmh/keymaps/via/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fmh/keymaps/via/rules.mk1
-rw-r--r--keyboards/geonworks/frogmini/fmh/mcuconf.h22
-rw-r--r--keyboards/geonworks/frogmini/fmh/rules.mk26
-rw-r--r--keyboards/geonworks/frogmini/fms/config.h50
-rw-r--r--keyboards/geonworks/frogmini/fms/fms.c23
-rw-r--r--keyboards/geonworks/frogmini/fms/fms.h324
-rw-r--r--keyboards/geonworks/frogmini/fms/halconf.h22
-rw-r--r--keyboards/geonworks/frogmini/fms/info.json1184
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/default/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/default_60_ansi_wkl_split_bs_rshift_10u_space/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/default_60_hhkb_10u_space/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/via/keymap.c47
-rw-r--r--keyboards/geonworks/frogmini/fms/keymaps/via/rules.mk1
-rw-r--r--keyboards/geonworks/frogmini/fms/mcuconf.h25
-rw-r--r--keyboards/geonworks/frogmini/fms/rules.mk27
-rw-r--r--keyboards/geonworks/frogmini/readme.md49
-rw-r--r--keyboards/ggkeyboards/genesis/hotswap/config.h7
-rw-r--r--keyboards/ggkeyboards/genesis/hotswap/info.json6
-rw-r--r--keyboards/ggkeyboards/genesis/solder/config.h7
-rw-r--r--keyboards/ggkeyboards/genesis/solder/info.json6
-rw-r--r--keyboards/gh60/revc/config.h8
-rw-r--r--keyboards/gh60/revc/info.json6
-rw-r--r--keyboards/gh60/revc/keymaps/bluezio/keymap.c2
-rw-r--r--keyboards/gh60/revc/keymaps/chaser/keymap.c2
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua/keymap.c4
-rw-r--r--keyboards/gh60/revc/keymaps/default/keymap.c2
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c2
-rw-r--r--keyboards/gh60/satan/config.h8
-rw-r--r--keyboards/gh60/satan/info.json14
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/keymap.c8
-rw-r--r--keyboards/gh60/satan/keymaps/admiralStrokers/config.h1
-rw-r--r--keyboards/gh60/satan/keymaps/bri/keymap.c6
-rw-r--r--keyboards/gh60/satan/keymaps/chaser/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/colemak/keymap.c6
-rw-r--r--keyboards/gh60/satan/keymaps/dbroqua/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/denolfe/keymap.c8
-rw-r--r--keyboards/gh60/satan/keymaps/dkrieger/keymap.c8
-rw-r--r--keyboards/gh60/satan/keymaps/fakb/config.h1
-rw-r--r--keyboards/gh60/satan/keymaps/fakb/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/gipsy-king/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/hhkb_7u/keymap.c31
-rw-r--r--keyboards/gh60/satan/keymaps/hhkb_7u/readme.md13
-rw-r--r--keyboards/gh60/satan/keymaps/isoHHKB/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/iso_split_rshift/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/jarred/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/lepa/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/poker/keymap.c6
-rw-r--r--keyboards/gh60/satan/keymaps/rask63/keymap.c2
-rw-r--r--keyboards/gh60/satan/keymaps/sethbc/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/smt/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/stanleylai/keymap.c4
-rw-r--r--keyboards/gh60/satan/keymaps/unxmaal/keymap.c6
-rw-r--r--keyboards/gh60/satan/rules.mk2
-rw-r--r--keyboards/gh60/satan/satan.h27
-rw-r--r--keyboards/gh60/v1p3/config.h7
-rw-r--r--keyboards/gh60/v1p3/info.json6
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_hhkb/keymap.c2
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_layout5/keymap.c2
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_layout7/keymap.c2
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_layout9/keymap.c2
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_minila/keymap.c2
-rw-r--r--keyboards/gh60/v1p3/keymaps/factory_poker/keymap.c2
-rw-r--r--keyboards/gh80_3000/config.h8
-rw-r--r--keyboards/gh80_3000/info.json6
-rw-r--r--keyboards/ghs/rar/config.h8
-rw-r--r--keyboards/ghs/rar/info.json6
-rw-r--r--keyboards/giabalanai/config.h294
-rw-r--r--keyboards/giabalanai/giabalanai.c255
-rw-r--r--keyboards/giabalanai/giabalanai.h132
-rw-r--r--keyboards/giabalanai/info.json125
-rw-r--r--keyboards/giabalanai/keymaps/2firmware/config.h9
-rw-r--r--keyboards/giabalanai/keymaps/2firmware/keymap.c739
-rw-r--r--keyboards/giabalanai/keymaps/2firmware/readme.md12
-rw-r--r--keyboards/giabalanai/keymaps/2firmware/rules.mk4
-rw-r--r--keyboards/giabalanai/keymaps/3araht/keymap.c754
-rw-r--r--keyboards/giabalanai/keymaps/3araht/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/3araht/rules.mk4
-rw-r--r--keyboards/giabalanai/keymaps/default/keymap.c259
-rw-r--r--keyboards/giabalanai/keymaps/default/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/default/rules.mk1
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/config.h26
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/info.json146
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c262
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/rules.mk3
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/config.h26
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/info.json146
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c464
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/giabarinaix2led/rules.mk3
-rw-r--r--keyboards/giabalanai/keymaps/party/keymap.c792
-rw-r--r--keyboards/giabalanai/keymaps/party/readme.md3
-rw-r--r--keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc57
-rw-r--r--keyboards/giabalanai/keymaps/party/rules.mk6
-rw-r--r--keyboards/giabalanai/keymaps/via/config.h3
-rw-r--r--keyboards/giabalanai/keymaps/via/keymap.c260
-rw-r--r--keyboards/giabalanai/keymaps/via/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/via/rules.mk3
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/config.h27
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/info.json146
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c262
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/readme.md1
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/rules.mk4
-rw-r--r--keyboards/giabalanai/readme.md24
-rw-r--r--keyboards/giabalanai/rules.mk26
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/config.h8
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/info.json8
-rw-r--r--keyboards/gkeyboard/gkb_m16/config.h7
-rw-r--r--keyboards/gkeyboard/gkb_m16/info.json8
-rw-r--r--keyboards/gl516/a52gl/config.h8
-rw-r--r--keyboards/gl516/a52gl/info.json6
-rw-r--r--keyboards/gl516/a52gl/readme.md2
-rw-r--r--keyboards/gl516/j73gl/config.h8
-rw-r--r--keyboards/gl516/j73gl/info.json6
-rw-r--r--keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c2
-rw-r--r--keyboards/gl516/j73gl/readme.md2
-rw-r--r--keyboards/gl516/n51gl/config.h8
-rw-r--r--keyboards/gl516/n51gl/info.json6
-rw-r--r--keyboards/gl516/n51gl/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/gl516/n51gl/readme.md2
-rw-r--r--keyboards/glenpickle/chimera_ergo/config.h8
-rw-r--r--keyboards/glenpickle/chimera_ergo/info.json6
-rw-r--r--keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ls/config.h8
-rw-r--r--keyboards/glenpickle/chimera_ls/info.json8
-rw-r--r--keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ortho/config.h8
-rw-r--r--keyboards/glenpickle/chimera_ortho/info.json6
-rw-r--r--keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c2
-rw-r--r--keyboards/glenpickle/chimera_ortho_plus/config.h8
-rw-r--r--keyboards/glenpickle/chimera_ortho_plus/info.json6
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/ansi.c236
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/ansi.h47
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/info.json90
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c44
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c51
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/readme.md23
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/rules.mk22
-rw-r--r--keyboards/gmmk/gmmk2/p65/config.h117
-rw-r--r--keyboards/gmmk/gmmk2/p65/halconf.h29
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/info.json91
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/iso.c238
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/iso.h47
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c44
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c50
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/readme.md23
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/rules.mk22
-rw-r--r--keyboards/gmmk/gmmk2/p65/mcuconf.h27
-rw-r--r--keyboards/gmmk/gmmk2/p65/p65.c17
-rw-r--r--keyboards/gmmk/gmmk2/p65/p65.h25
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/ansi.c332
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/ansi.h54
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/info.json125
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c46
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/config.h21
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c53
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/readme.md23
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/rules.mk22
-rw-r--r--keyboards/gmmk/gmmk2/p96/config.h119
-rw-r--r--keyboards/gmmk/gmmk2/p96/halconf.h29
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/info.json126
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/iso.c328
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/iso.h54
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c44
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/default/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/via/config.h21
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c51
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/readme.md23
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/rules.mk22
-rw-r--r--keyboards/gmmk/gmmk2/p96/mcuconf.h30
-rw-r--r--keyboards/gmmk/gmmk2/p96/p96.c17
-rw-r--r--keyboards/gmmk/gmmk2/p96/p96.h25
-rw-r--r--keyboards/gmmk/pro/config.h10
-rw-r--r--keyboards/gmmk/pro/pro.h4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/info.json8
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c6
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.c150
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.h127
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h97
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c488
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h48
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md143
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h129
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk16
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c6
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json2
-rw-r--r--keyboards/gmmk/pro/rev1/iso/info.json8
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c4
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c72
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md8
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h146
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c723
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h48
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md124
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h433
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk22
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c2
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c6
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/ansi.c241
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/ansi.h52
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/config.h23
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/info.json115
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c72
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c88
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk2
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/readme.md37
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/rules.mk23
-rw-r--r--keyboards/gmmk/pro/rev2/config.h26
-rw-r--r--keyboards/gmmk/pro/rev2/halconf.h23
-rw-r--r--keyboards/gmmk/pro/rev2/iso/config.h23
-rw-r--r--keyboards/gmmk/pro/rev2/iso/info.json116
-rw-r--r--keyboards/gmmk/pro/rev2/iso/iso.c243
-rw-r--r--keyboards/gmmk/pro/rev2/iso/iso.h52
-rw-r--r--keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c72
-rw-r--r--keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c90
-rw-r--r--keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk2
-rw-r--r--keyboards/gmmk/pro/rev2/iso/readme.md37
-rw-r--r--keyboards/gmmk/pro/rev2/iso/rules.mk26
-rw-r--r--keyboards/gmmk/pro/rev2/mcuconf.h22
-rw-r--r--keyboards/gon/nerd60/config.h8
-rw-r--r--keyboards/gon/nerd60/info.json8
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/keymap.c2
-rw-r--r--keyboards/gon/nerd60/readme.md2
-rw-r--r--keyboards/gon/nerdtkl/config.h8
-rw-r--r--keyboards/gon/nerdtkl/info.json8
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c4
-rw-r--r--keyboards/gon/nerdtkl/readme.md2
-rw-r--r--keyboards/gopolar/gg86/config.h90
-rw-r--r--keyboards/gopolar/gg86/gg86.c79
-rw-r--r--keyboards/gopolar/gg86/gg86.h116
-rw-r--r--keyboards/gopolar/gg86/info.json301
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/config.h48
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/keymap.c226
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.c378
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.h17
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/readme.md3
-rw-r--r--keyboards/gopolar/gg86/keymaps/bongocat/rules.mk4
-rw-r--r--keyboards/gopolar/gg86/keymaps/default/keymap.c325
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/config.h52
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c88
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h304
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/cool_diagonal.c22
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c74
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.c27
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.h20
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/kitt.c68
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.c25
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h45
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c55
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h68
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/readme.md12
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/rgb_matrix_user.inc17
-rw-r--r--keyboards/gopolar/gg86/keymaps/horrortroll/rules.mk3
-rw-r--r--keyboards/gopolar/gg86/keymaps/via/keymap.c325
-rw-r--r--keyboards/gopolar/gg86/keymaps/via/rules.mk1
-rw-r--r--keyboards/gopolar/gg86/lib/glcdfont.c249
-rw-r--r--keyboards/gopolar/gg86/lib/logo.c60
-rw-r--r--keyboards/gopolar/gg86/lib/logo.h17
-rw-r--r--keyboards/gopolar/gg86/lib/wave.h130
-rw-r--r--keyboards/gopolar/gg86/readme.md24
-rw-r--r--keyboards/gopolar/gg86/rules.mk32
-rw-r--r--keyboards/gorthage_truck/config.h8
-rw-r--r--keyboards/gorthage_truck/info.json6
-rw-r--r--keyboards/gowla/config.h8
-rw-r--r--keyboards/gowla/info.json8
-rw-r--r--keyboards/gray_studio/apollo80/config.h7
-rw-r--r--keyboards/gray_studio/apollo80/info.json8
-rw-r--r--keyboards/gray_studio/cod67/config.h8
-rw-r--r--keyboards/gray_studio/cod67/info.json6
-rw-r--r--keyboards/gray_studio/cod67/keymaps/rys/keymap.c2
-rw-r--r--keyboards/gray_studio/cod67/keymaps/via/keymap.c2
-rw-r--r--keyboards/gray_studio/hb85/config.h6
-rw-r--r--keyboards/gray_studio/hb85/info.json8
-rw-r--r--keyboards/gray_studio/hb85/keymaps/stt/keymap.c2
-rw-r--r--keyboards/gray_studio/space65/config.h8
-rw-r--r--keyboards/gray_studio/space65/info.json8
-rw-r--r--keyboards/gray_studio/space65/keymaps/billiams/keymap.c4
-rw-r--r--keyboards/gray_studio/space65/keymaps/conor/keymap.c2
-rw-r--r--keyboards/gray_studio/space65/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/gray_studio/think65/hotswap/config.h7
-rw-r--r--keyboards/gray_studio/think65/hotswap/info.json8
-rw-r--r--keyboards/gray_studio/think65/solder/config.h7
-rw-r--r--keyboards/gray_studio/think65/solder/info.json8
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c2
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c2
-rw-r--r--keyboards/grid600/press/config.h8
-rw-r--r--keyboards/grid600/press/info.json8
-rw-r--r--keyboards/gvalchca/ga150/config.h7
-rw-r--r--keyboards/gvalchca/ga150/info.json6
-rw-r--r--keyboards/gvalchca/spaccboard/config.h7
-rw-r--r--keyboards/gvalchca/spaccboard/info.json6
-rw-r--r--keyboards/h0oni/deskpad/config.h8
-rw-r--r--keyboards/h0oni/deskpad/info.json6
-rw-r--r--keyboards/h0oni/hotduck/config.h8
-rw-r--r--keyboards/h0oni/hotduck/info.json6
-rw-r--r--keyboards/hadron/config.h6
-rw-r--r--keyboards/hadron/info.json5
-rw-r--r--keyboards/hadron/ver2/config.h4
-rw-r--r--keyboards/hadron/ver2/info.json5
-rw-r--r--keyboards/hadron/ver2/keymaps/side_numpad/keymap.c2
-rw-r--r--keyboards/hadron/ver3/config.h4
-rw-r--r--keyboards/hadron/ver3/info.json5
-rw-r--r--keyboards/hadron/ver3/keymaps/ishtob/keymap.c2
-rw-r--r--keyboards/halfcliff/config.h8
-rw-r--r--keyboards/halfcliff/info.json6
-rw-r--r--keyboards/halokeys/elemental75/chconf.h21
-rw-r--r--keyboards/halokeys/elemental75/config.h58
-rw-r--r--keyboards/halokeys/elemental75/elemental75.c35
-rw-r--r--keyboards/halokeys/elemental75/elemental75.h34
-rw-r--r--keyboards/halokeys/elemental75/info.json103
-rw-r--r--keyboards/halokeys/elemental75/keymaps/default/keymap.c82
-rw-r--r--keyboards/halokeys/elemental75/keymaps/default/rules.mk1
-rw-r--r--keyboards/halokeys/elemental75/keymaps/via/keymap.c97
-rw-r--r--keyboards/halokeys/elemental75/keymaps/via/rules.mk2
-rw-r--r--keyboards/halokeys/elemental75/readme.md21
-rw-r--r--keyboards/halokeys/elemental75/rules.mk20
-rw-r--r--keyboards/han60/config.h8
-rw-r--r--keyboards/han60/info.json6
-rw-r--r--keyboards/han60/readme.md2
-rwxr-xr-xkeyboards/hand88/config.h9
-rwxr-xr-xkeyboards/hand88/info.json6
-rw-r--r--keyboards/handwired/108key_trackpoint/config.h7
-rw-r--r--keyboards/handwired/108key_trackpoint/info.json8
-rw-r--r--keyboards/handwired/10k/readme.md2
-rw-r--r--keyboards/handwired/2x5keypad/config.h8
-rw-r--r--keyboards/handwired/2x5keypad/info.json6
-rw-r--r--keyboards/handwired/3dfoxc/config.h7
-rw-r--r--keyboards/handwired/3dfoxc/info.json6
-rw-r--r--keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c2
-rw-r--r--keyboards/handwired/3dfoxc/readme.md2
-rw-r--r--keyboards/handwired/3dortho14u/readme.md2
-rw-r--r--keyboards/handwired/3dortho14u/rev1/readme.md2
-rw-r--r--keyboards/handwired/3dortho14u/rev2/readme.md2
-rw-r--r--keyboards/handwired/3dp660/config.h7
-rw-r--r--keyboards/handwired/3dp660/info.json6
-rw-r--r--keyboards/handwired/412_64/config.h8
-rw-r--r--keyboards/handwired/412_64/info.json8
-rw-r--r--keyboards/handwired/42/config.h8
-rw-r--r--keyboards/handwired/42/info.json6
-rw-r--r--keyboards/handwired/6key/6key.c38
-rw-r--r--keyboards/handwired/6key/6key.h30
-rw-r--r--keyboards/handwired/6key/config.h36
-rw-r--r--keyboards/handwired/6key/info.json11
-rw-r--r--keyboards/handwired/6key/keymaps/default/keymap.c27
-rw-r--r--keyboards/handwired/6key/keymaps/via/keymap.c35
-rw-r--r--keyboards/handwired/6key/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/6key/rules.mk2
-rw-r--r--keyboards/handwired/6macro/config.h8
-rw-r--r--keyboards/handwired/6macro/info.json6
-rw-r--r--keyboards/handwired/6macro/keymaps/osu/keymap.c6
-rw-r--r--keyboards/handwired/aball/config.h7
-rw-r--r--keyboards/handwired/aball/info.json8
-rw-r--r--keyboards/handwired/aek64/config.h8
-rw-r--r--keyboards/handwired/aek64/info.json8
-rw-r--r--keyboards/handwired/aek64/keymaps/4sstylz/keymap.c2
-rw-r--r--keyboards/handwired/aim65/config.h7
-rw-r--r--keyboards/handwired/aim65/info.json8
-rw-r--r--keyboards/handwired/aim65/keymaps/bonnee/keymap.c2
-rw-r--r--keyboards/handwired/amigopunk/config.h8
-rw-r--r--keyboards/handwired/amigopunk/info.json6
-rw-r--r--keyboards/handwired/angel/config.h12
-rw-r--r--keyboards/handwired/angel/info.json6
-rw-r--r--keyboards/handwired/aplx2/config.h8
-rw-r--r--keyboards/handwired/aplx2/info.json6
-rw-r--r--keyboards/handwired/aranck/config.h8
-rw-r--r--keyboards/handwired/aranck/info.json6
-rw-r--r--keyboards/handwired/aranck/keymaps/turkishish/keymap.c2
-rw-r--r--keyboards/handwired/arrow_pad/config.h8
-rw-r--r--keyboards/handwired/arrow_pad/info.json8
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/config.h1
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c2
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/config.h1
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c2
-rw-r--r--keyboards/handwired/atreus50/config.h8
-rw-r--r--keyboards/handwired/atreus50/info.json6
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c2
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/keymap.c16
-rw-r--r--keyboards/handwired/axon/config.h8
-rw-r--r--keyboards/handwired/axon/info.json6
-rw-r--r--keyboards/handwired/axon/readme.md4
-rw-r--r--keyboards/handwired/baredev/rev1/info.json9
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c2
-rw-r--r--keyboards/handwired/baredev/rev1/readme.md2
-rw-r--r--keyboards/handwired/battleship_gamepad/config.h8
-rw-r--r--keyboards/handwired/battleship_gamepad/info.json6
-rw-r--r--keyboards/handwired/battleship_gamepad/readme.md2
-rw-r--r--keyboards/handwired/bdn9_ble/config.h7
-rw-r--r--keyboards/handwired/bdn9_ble/info.json8
-rw-r--r--keyboards/handwired/bento/info.json17
-rw-r--r--keyboards/handwired/bento/keymaps/mac/keymap.c2
-rw-r--r--keyboards/handwired/bento/rev1/config.h7
-rw-r--r--keyboards/handwired/bento/rev1/info.json23
-rw-r--r--keyboards/handwired/bigmac/config.h7
-rw-r--r--keyboards/handwired/bigmac/info.json6
-rw-r--r--keyboards/handwired/bolek/config.h8
-rw-r--r--keyboards/handwired/bolek/info.json6
-rw-r--r--keyboards/handwired/boss566y/redragon_vara/config.h7
-rw-r--r--keyboards/handwired/boss566y/redragon_vara/info.json8
-rw-r--r--keyboards/handwired/brain/config.h6
-rw-r--r--keyboards/handwired/brain/info.json6
-rw-r--r--keyboards/handwired/bstk100/config.h8
-rw-r--r--keyboards/handwired/bstk100/info.json6
-rw-r--r--keyboards/handwired/cans12er/config.h8
-rw-r--r--keyboards/handwired/cans12er/info.json6
-rw-r--r--keyboards/handwired/carpolly/config.h7
-rw-r--r--keyboards/handwired/carpolly/info.json6
-rw-r--r--keyboards/handwired/chiron/config.h7
-rw-r--r--keyboards/handwired/chiron/info.json8
-rw-r--r--keyboards/handwired/ck4x4/config.h7
-rw-r--r--keyboards/handwired/ck4x4/info.json6
-rw-r--r--keyboards/handwired/cmd60/config.h8
-rw-r--r--keyboards/handwired/cmd60/info.json6
-rw-r--r--keyboards/handwired/co60/info.json6
-rw-r--r--keyboards/handwired/co60/keymaps/jmdaly_hhkb_split_space/keymap.c2
-rw-r--r--keyboards/handwired/co60/rev1/config.h8
-rw-r--r--keyboards/handwired/co60/rev1/info.json6
-rw-r--r--keyboards/handwired/co60/rev6/config.h7
-rw-r--r--keyboards/handwired/co60/rev6/info.json6
-rw-r--r--keyboards/handwired/co60/rev7/config.h8
-rw-r--r--keyboards/handwired/co60/rev7/info.json6
-rw-r--r--keyboards/handwired/colorlice/config.h8
-rw-r--r--keyboards/handwired/colorlice/info.json6
-rw-r--r--keyboards/handwired/concertina/64key/config.h8
-rw-r--r--keyboards/handwired/concertina/64key/info.json6
-rw-r--r--keyboards/handwired/consolekeyboard/18key/config.h6
-rw-r--r--keyboards/handwired/consolekeyboard/18key/info.json8
-rw-r--r--keyboards/handwired/consolekeyboard/20key/config.h6
-rw-r--r--keyboards/handwired/consolekeyboard/20key/info.json8
-rw-r--r--keyboards/handwired/consolekeyboard/27key/config.h6
-rw-r--r--keyboards/handwired/consolekeyboard/27key/info.json8
-rw-r--r--keyboards/handwired/consolekeyboard/30key/config.h6
-rw-r--r--keyboards/handwired/consolekeyboard/30key/info.json8
-rw-r--r--keyboards/handwired/croxsplit44/config.h6
-rw-r--r--keyboards/handwired/croxsplit44/info.json8
-rw-r--r--keyboards/handwired/croxsplit44/readme.md2
-rw-r--r--keyboards/handwired/curiosity/config.h8
-rw-r--r--keyboards/handwired/curiosity/info.json6
-rw-r--r--keyboards/handwired/cyberstar/config.h94
-rw-r--r--keyboards/handwired/cyberstar/cyberstar.c16
-rw-r--r--keyboards/handwired/cyberstar/cyberstar.h34
-rw-r--r--keyboards/handwired/cyberstar/halconf.h21
-rw-r--r--keyboards/handwired/cyberstar/info.json16
-rw-r--r--keyboards/handwired/cyberstar/keymaps/default/keymap.c32
-rw-r--r--keyboards/handwired/cyberstar/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/cyberstar/keymaps/via/keymap.c46
-rw-r--r--keyboards/handwired/cyberstar/keymaps/via/readme.md1
-rw-r--r--keyboards/handwired/cyberstar/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/cyberstar/mcuconf.h22
-rw-r--r--keyboards/handwired/cyberstar/readme.md32
-rw-r--r--keyboards/handwired/cyberstar/rules.mk27
-rw-r--r--keyboards/handwired/d48/config.h8
-rw-r--r--keyboards/handwired/d48/info.json6
-rw-r--r--keyboards/handwired/d48/keymaps/anderson/keymap.c6
-rw-r--r--keyboards/handwired/dactyl/config.h7
-rw-r--r--keyboards/handwired/dactyl/info.json6
-rw-r--r--keyboards/handwired/dactyl/keymaps/dvorak/keymap.c4
-rw-r--r--keyboards/handwired/dactyl/keymaps/erincalling/keymap.c4
-rw-r--r--keyboards/handwired/dactyl/readme.md4
-rw-r--r--keyboards/handwired/dactyl_left/config.h8
-rw-r--r--keyboards/handwired/dactyl_left/info.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/config.h8
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/4x5.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/config.h5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/info.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c4
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/4x5_5.h29
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/config.h18
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/info.json70
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c155
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c161
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/rules.mk21
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/4x6.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/info.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/info.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c8
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk1
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/readme.md2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/6x7.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/info.json8
-rw-r--r--keyboards/handwired/dactyl_manuform/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.h31
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/62key.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/config.h3
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/info.json8
-rw-r--r--keyboards/handwired/dactyl_promicro/config.h7
-rw-r--r--keyboards/handwired/dactyl_promicro/info.json8
-rw-r--r--keyboards/handwired/dactyl_rah/config.h7
-rw-r--r--keyboards/handwired/dactyl_rah/info.json6
-rw-r--r--keyboards/handwired/dactyl_rah/keymaps/right/keymap.c2
-rw-r--r--keyboards/handwired/daishi/config.h8
-rw-r--r--keyboards/handwired/daishi/info.json6
-rw-r--r--keyboards/handwired/datahand/config.h8
-rw-r--r--keyboards/handwired/datahand/info.json8
-rw-r--r--keyboards/handwired/dc/mc/001/config.h8
-rw-r--r--keyboards/handwired/dc/mc/001/info.json8
-rw-r--r--keyboards/handwired/ddg_56/config.h7
-rw-r--r--keyboards/handwired/ddg_56/info.json8
-rw-r--r--keyboards/handwired/dqz11n1g/config.h51
-rw-r--r--keyboards/handwired/dqz11n1g/dqz11n1g.h51
-rw-r--r--keyboards/handwired/dqz11n1g/info.json147
-rw-r--r--keyboards/handwired/dqz11n1g/keymaps/default/keymap.c72
-rw-r--r--keyboards/handwired/dqz11n1g/keymaps/default/readme.md17
-rw-r--r--keyboards/handwired/dqz11n1g/matrix.c131
-rw-r--r--keyboards/handwired/dqz11n1g/readme.md80
-rw-r--r--keyboards/handwired/dqz11n1g/rules.mk24
-rw-r--r--keyboards/handwired/dygma/raise/ansi/info.json3
-rw-r--r--keyboards/handwired/dygma/raise/config.h7
-rw-r--r--keyboards/handwired/dygma/raise/info.json11
-rw-r--r--keyboards/handwired/dygma/raise/iso/info.json3
-rw-r--r--keyboards/handwired/dygma/raise/rules.mk1
-rw-r--r--keyboards/handwired/eagleii/config.h8
-rw-r--r--keyboards/handwired/eagleii/info.json8
-rw-r--r--keyboards/handwired/elrgo_s/config.h7
-rw-r--r--keyboards/handwired/elrgo_s/info.json6
-rw-r--r--keyboards/handwired/elrgo_s/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/elrgo_s/readme.md2
-rw-r--r--keyboards/handwired/ergocheap/config.h8
-rw-r--r--keyboards/handwired/ergocheap/info.json6
-rw-r--r--keyboards/handwired/evk/v1_3/config.h8
-rw-r--r--keyboards/handwired/evk/v1_3/info.json8
-rw-r--r--keyboards/handwired/fc200rt_qmk/config.h8
-rw-r--r--keyboards/handwired/fc200rt_qmk/info.json6
-rw-r--r--keyboards/handwired/fivethirteen/config.h8
-rw-r--r--keyboards/handwired/fivethirteen/info.json6
-rw-r--r--keyboards/handwired/floorboard/config.h8
-rw-r--r--keyboards/handwired/floorboard/info.json6
-rw-r--r--keyboards/handwired/frankie_macropad/config.h8
-rw-r--r--keyboards/handwired/frankie_macropad/info.json6
-rw-r--r--keyboards/handwired/frenchdev/config.h7
-rw-r--r--keyboards/handwired/frenchdev/info.json7
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/freoduo/config.h7
-rw-r--r--keyboards/handwired/freoduo/info.json6
-rw-r--r--keyboards/handwired/fruity60/config.h8
-rw-r--r--keyboards/handwired/fruity60/info.json6
-rw-r--r--keyboards/handwired/gamenum/config.h8
-rw-r--r--keyboards/handwired/gamenum/info.json8
-rw-r--r--keyboards/handwired/hacked_motospeed/config.h8
-rw-r--r--keyboards/handwired/hacked_motospeed/info.json6
-rw-r--r--keyboards/handwired/heisenberg/config.h8
-rw-r--r--keyboards/handwired/heisenberg/info.json6
-rw-r--r--keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c2
-rw-r--r--keyboards/handwired/hexon38/config.h8
-rw-r--r--keyboards/handwired/hexon38/info.json6
-rw-r--r--keyboards/handwired/hillside/0_1/0_1.c4
-rw-r--r--keyboards/handwired/hillside/0_1/0_1.h34
-rw-r--r--keyboards/handwired/hillside/0_1/info.json109
-rw-r--r--keyboards/handwired/hillside/0_1/keymaps/default/keymap.json101
-rw-r--r--keyboards/handwired/hillside/0_1/keymaps/default/readme.md212
-rwxr-xr-xkeyboards/handwired/hillside/0_1/keymaps/json2hill.py136
-rw-r--r--keyboards/handwired/hillside/0_1/keymaps/via/keymap.json61
-rw-r--r--keyboards/handwired/hillside/0_1/readme.md29
-rw-r--r--keyboards/handwired/hillside/46/46.c19
-rw-r--r--keyboards/handwired/hillside/46/46.h37
-rw-r--r--keyboards/handwired/hillside/46/config.h39
-rw-r--r--keyboards/handwired/hillside/46/info.json105
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default/config.h9
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default/keymap.json88
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default/readme.md136
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h9
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c64
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md25
-rw-r--r--keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk1
-rw-r--r--keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h38
-rw-r--r--keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/handwired/hillside/46/keymaps/via/keymap.c64
-rw-r--r--keyboards/handwired/hillside/46/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/hillside/46/readme.md29
-rw-r--r--keyboards/handwired/hillside/46/rules.mk (renamed from keyboards/handwired/hillside/0_1/rules.mk)0
-rw-r--r--keyboards/handwired/hillside/48/48.c4
-rw-r--r--keyboards/handwired/hillside/48/48.h34
-rw-r--r--keyboards/handwired/hillside/48/config.h (renamed from keyboards/handwired/hillside/0_1/config.h)0
-rw-r--r--keyboards/handwired/hillside/48/info.json109
-rw-r--r--keyboards/handwired/hillside/48/keymaps/default/config.h9
-rw-r--r--keyboards/handwired/hillside/48/keymaps/default/keymap.json88
-rw-r--r--keyboards/handwired/hillside/48/keymaps/default/readme.md159
-rw-r--r--keyboards/handwired/hillside/48/keymaps/default/rules.mk1
-rwxr-xr-xkeyboards/handwired/hillside/48/keymaps/json2hill48.py146
-rw-r--r--keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h38
-rw-r--r--keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/handwired/hillside/48/keymaps/via/keymap.json61
-rw-r--r--keyboards/handwired/hillside/48/readme.md29
-rw-r--r--keyboards/handwired/hillside/48/rules.mk8
-rw-r--r--keyboards/handwired/hillside/52/52.c21
-rw-r--r--keyboards/handwired/hillside/52/52.h39
-rw-r--r--keyboards/handwired/hillside/52/config.h39
-rw-r--r--keyboards/handwired/hillside/52/info.json111
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default/config.h9
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default/keymap.json88
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default/readme.md161
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h9
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c64
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md25
-rw-r--r--keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk1
-rw-r--r--keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h38
-rw-r--r--keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/handwired/hillside/52/keymaps/via/keymap.c64
-rw-r--r--keyboards/handwired/hillside/52/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/hillside/52/readme.md29
-rw-r--r--keyboards/handwired/hillside/52/rules.mk8
-rw-r--r--keyboards/handwired/hillside/info.json6
-rw-r--r--keyboards/handwired/hillside/readme.md13
-rw-r--r--keyboards/handwired/hnah108/config.h8
-rw-r--r--keyboards/handwired/hnah108/info.json8
-rw-r--r--keyboards/handwired/hnah40/config.h8
-rw-r--r--keyboards/handwired/hnah40/info.json6
-rw-r--r--keyboards/handwired/hnah40rgb/config.h7
-rw-r--r--keyboards/handwired/hnah40rgb/info.json8
-rw-r--r--keyboards/handwired/ibm122m/config.h8
-rw-r--r--keyboards/handwired/ibm122m/info.json8
-rw-r--r--keyboards/handwired/ibm_wheelwriter/config.h7
-rw-r--r--keyboards/handwired/ibm_wheelwriter/info.json8
-rw-r--r--keyboards/handwired/jn68m/config.h8
-rw-r--r--keyboards/handwired/jn68m/info.json6
-rw-r--r--keyboards/handwired/jopr/config.h8
-rw-r--r--keyboards/handwired/jopr/info.json8
-rw-r--r--keyboards/handwired/jot50/config.h8
-rw-r--r--keyboards/handwired/jot50/info.json6
-rw-r--r--keyboards/handwired/jotanck/config.h8
-rw-r--r--keyboards/handwired/jotanck/info.json6
-rw-r--r--keyboards/handwired/jotpad16/config.h8
-rw-r--r--keyboards/handwired/jotpad16/info.json6
-rw-r--r--keyboards/handwired/jscotto/scotto36/info.json77
-rw-r--r--keyboards/handwired/jscotto/scotto36/keymaps/default/config.h24
-rw-r--r--keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c281
-rw-r--r--keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk4
-rw-r--r--keyboards/handwired/jscotto/scotto36/readme.md25
-rw-r--r--keyboards/handwired/jscotto/scotto36/rules.mk1
-rw-r--r--keyboards/handwired/jtallbean/split_65/config.h8
-rw-r--r--keyboards/handwired/jtallbean/split_65/info.json6
-rw-r--r--keyboards/handwired/juliet/config.h6
-rw-r--r--keyboards/handwired/juliet/info.json6
-rw-r--r--keyboards/handwired/k8split/config.h7
-rw-r--r--keyboards/handwired/k8split/info.json6
-rw-r--r--keyboards/handwired/k_numpad17/config.h7
-rw-r--r--keyboards/handwired/k_numpad17/info.json6
-rw-r--r--keyboards/handwired/kbod/config.h8
-rw-r--r--keyboards/handwired/kbod/info.json6
-rw-r--r--keyboards/handwired/kbod/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/ks63/config.h7
-rw-r--r--keyboards/handwired/ks63/info.json8
-rw-r--r--keyboards/handwired/lagrange/config.h8
-rw-r--r--keyboards/handwired/lagrange/info.json6
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c2
-rw-r--r--keyboards/handwired/lagrange/readme.md2
-rw-r--r--keyboards/handwired/leftynumpad/config.h7
-rw-r--r--keyboards/handwired/leftynumpad/info.json6
-rw-r--r--keyboards/handwired/lemonpad/config.h8
-rw-r--r--keyboards/handwired/lemonpad/info.json6
-rw-r--r--keyboards/handwired/lemonpad/readme.md2
-rw-r--r--keyboards/handwired/lovelive9/config.h8
-rw-r--r--keyboards/handwired/lovelive9/info.json6
-rw-r--r--keyboards/handwired/m40/5x5_macropad/config.h8
-rw-r--r--keyboards/handwired/m40/5x5_macropad/info.json6
-rw-r--r--keyboards/handwired/m40/5x5_macropad/readme.md2
-rw-r--r--keyboards/handwired/macroboard/config.h7
-rw-r--r--keyboards/handwired/macroboard/f401/rules.mk1
-rw-r--r--keyboards/handwired/macroboard/f411/config.h1
-rw-r--r--keyboards/handwired/macroboard/f411/rules.mk1
-rw-r--r--keyboards/handwired/macroboard/info.json8
-rw-r--r--keyboards/handwired/macroboard/keymaps/via/keymap.c2
-rw-r--r--keyboards/handwired/macroboard/readme.md2
-rw-r--r--keyboards/handwired/magicforce61/config.h8
-rw-r--r--keyboards/handwired/magicforce61/info.json8
-rw-r--r--keyboards/handwired/magicforce68/config.h8
-rw-r--r--keyboards/handwired/magicforce68/info.json8
-rw-r--r--keyboards/handwired/marauder/config.h9
-rw-r--r--keyboards/handwired/marauder/info.json6
-rw-r--r--keyboards/handwired/mechboards_micropad/config.h8
-rw-r--r--keyboards/handwired/mechboards_micropad/info.json6
-rw-r--r--keyboards/handwired/meck_tkl/blackpill_f401/config.h2
-rw-r--r--keyboards/handwired/meck_tkl/blackpill_f401/rules.mk1
-rw-r--r--keyboards/handwired/meck_tkl/config.h7
-rw-r--r--keyboards/handwired/meck_tkl/info.json8
-rw-r--r--keyboards/handwired/meck_tkl/readme.md2
-rw-r--r--keyboards/handwired/minorca/config.h14
-rw-r--r--keyboards/handwired/minorca/info.json8
-rw-r--r--keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c2
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/astar/config.h2
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/astar/info.json3
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/config.h6
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/info.json7
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h2
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json3
-rw-r--r--keyboards/handwired/mutepad/config.h8
-rw-r--r--keyboards/handwired/mutepad/info.json6
-rw-r--r--keyboards/handwired/myskeeb/config.h7
-rw-r--r--keyboards/handwired/myskeeb/info.json8
-rw-r--r--keyboards/handwired/nicekey/config.h8
-rw-r--r--keyboards/handwired/nicekey/info.json8
-rw-r--r--keyboards/handwired/not_so_minidox/config.h7
-rw-r--r--keyboards/handwired/not_so_minidox/info.json6
-rw-r--r--keyboards/handwired/novem/config.h8
-rw-r--r--keyboards/handwired/novem/info.json6
-rw-r--r--keyboards/handwired/nozbe_macro/config.h8
-rw-r--r--keyboards/handwired/nozbe_macro/info.json8
-rw-r--r--keyboards/handwired/numpad20/config.h8
-rw-r--r--keyboards/handwired/numpad20/info.json8
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/config.h7
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/info.json6
-rw-r--r--keyboards/handwired/oem_ansi_fullsize/config.h8
-rw-r--r--keyboards/handwired/oem_ansi_fullsize/info.json6
-rw-r--r--keyboards/handwired/oem_iso_fullsize/config.h7
-rw-r--r--keyboards/handwired/oem_iso_fullsize/info.json8
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/config.h3
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/info.json3
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/rules.mk1
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/config.h3
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/info.json3
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/rules.mk1
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h3
-rw-r--r--keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json3
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk1
-rw-r--r--keyboards/handwired/onekey/bluepill/config.h3
-rw-r--r--keyboards/handwired/onekey/bluepill/info.json3
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/board.h6
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/config.h38
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/halconf.h26
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/info.json3
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h30
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/readme.md7
-rw-r--r--keyboards/handwired/onekey/bluepill_f103c6/rules.mk27
-rw-r--r--keyboards/handwired/onekey/config.h7
-rw-r--r--keyboards/handwired/onekey/elite_c/config.h6
-rw-r--r--keyboards/handwired/onekey/elite_c/info.json3
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/config.h3
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/info.json3
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/config.h3
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/info.json3
-rw-r--r--keyboards/handwired/onekey/info.json7
-rw-r--r--keyboards/handwired/onekey/kb2040/config.h28
-rw-r--r--keyboards/handwired/onekey/kb2040/info.json3
-rw-r--r--keyboards/handwired/onekey/kb2040/mcuconf.h24
-rw-r--r--keyboards/handwired/onekey/kb2040/readme.md10
-rw-r--r--keyboards/handwired/onekey/kb2040/rules.mk9
-rw-r--r--keyboards/handwired/onekey/keymaps/chibios_waiting_test/config.h12
-rw-r--r--keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c47
-rw-r--r--keyboards/handwired/onekey/keymaps/reset/keymap.c2
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/config.h3
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/info.json3
-rw-r--r--keyboards/handwired/onekey/onekey.c11
-rw-r--r--keyboards/handwired/onekey/promicro/config.h6
-rw-r--r--keyboards/handwired/onekey/promicro/info.json3
-rw-r--r--keyboards/handwired/onekey/proton_c/config.h3
-rw-r--r--keyboards/handwired/onekey/proton_c/info.json3
-rw-r--r--keyboards/handwired/onekey/rp2040/config.h21
-rw-r--r--keyboards/handwired/onekey/rp2040/info.json3
-rw-r--r--keyboards/handwired/onekey/rp2040/readme.md12
-rw-r--r--keyboards/handwired/onekey/rp2040/rules.mk3
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/config.h1
-rw-r--r--keyboards/handwired/onekey/sipeed_longan_nano/info.json3
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/config.h3
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/info.json3
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/config.h3
-rw-r--r--keyboards/handwired/onekey/stm32f405_feather/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_2/config.h6
-rw-r--r--keyboards/handwired/onekey/teensy_2/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/config.h6
-rw-r--r--keyboards/handwired/onekey/teensy_2pp/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_32/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_32/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_35/chconf.h28
-rw-r--r--keyboards/handwired/onekey/teensy_35/config.h29
-rw-r--r--keyboards/handwired/onekey/teensy_35/halconf.h28
-rw-r--r--keyboards/handwired/onekey/teensy_35/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_35/mcuconf.h50
-rw-r--r--keyboards/handwired/onekey/teensy_35/rules.mk8
-rw-r--r--keyboards/handwired/onekey/teensy_lc/config.h3
-rw-r--r--keyboards/handwired/onekey/teensy_lc/info.json3
-rw-r--r--keyboards/handwired/onekey/teensy_lc/readme.md8
-rw-r--r--keyboards/handwired/ortho5x13/config.h8
-rw-r--r--keyboards/handwired/ortho5x13/info.json8
-rw-r--r--keyboards/handwired/ortho5x13/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/ortho5x14/config.h8
-rw-r--r--keyboards/handwired/ortho5x14/info.json8
-rw-r--r--keyboards/handwired/ortho5x14/keymaps/2u/keymap.c12
-rw-r--r--keyboards/handwired/ortho5x14/keymaps/split1/keymap.c10
-rw-r--r--keyboards/handwired/ortho_brass/config.h9
-rw-r--r--keyboards/handwired/ortho_brass/info.json6
-rw-r--r--keyboards/handwired/ortho_brass/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/owlet60/config.h7
-rw-r--r--keyboards/handwired/owlet60/info.json6
-rw-r--r--keyboards/handwired/p65rgb/config.h8
-rw-r--r--keyboards/handwired/p65rgb/info.json6
-rw-r--r--keyboards/handwired/pilcrow/config.h8
-rw-r--r--keyboards/handwired/pilcrow/info.json6
-rw-r--r--keyboards/handwired/pill60/blackpill_f401/config.h2
-rw-r--r--keyboards/handwired/pill60/blackpill_f401/rules.mk1
-rw-r--r--keyboards/handwired/pill60/blackpill_f411/config.h3
-rw-r--r--keyboards/handwired/pill60/blackpill_f411/rules.mk1
-rw-r--r--keyboards/handwired/pill60/bluepill/config.h2
-rw-r--r--keyboards/handwired/pill60/config.h7
-rw-r--r--keyboards/handwired/pill60/info.json6
-rw-r--r--keyboards/handwired/postageboard/info.json5
-rw-r--r--keyboards/handwired/postageboard/mini/config.h8
-rw-r--r--keyboards/handwired/postageboard/mini/info.json5
-rw-r--r--keyboards/handwired/postageboard/r1/config.h8
-rw-r--r--keyboards/handwired/postageboard/r1/info.json5
-rw-r--r--keyboards/handwired/prime_exl/config.h8
-rw-r--r--keyboards/handwired/prime_exl/info.json6
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/keymap.c2
-rw-r--r--keyboards/handwired/prime_exl_plus/config.h8
-rw-r--r--keyboards/handwired/prime_exl_plus/info.json6
-rw-r--r--keyboards/handwired/prkl30/feather/config.h8
-rw-r--r--keyboards/handwired/prkl30/info.json8
-rw-r--r--keyboards/handwired/prkl30/keymaps/erkhal/keymap.c4
-rw-r--r--keyboards/handwired/prkl30/promicro/config.h8
-rw-r--r--keyboards/handwired/promethium/config.h11
-rw-r--r--keyboards/handwired/promethium/info.json8
-rw-r--r--keyboards/handwired/promethium/keymaps/default/config.h6
-rw-r--r--keyboards/handwired/promethium/keymaps/default/keymap.c6
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/config.h6
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/keymap.c10
-rw-r--r--keyboards/handwired/pterodactyl/config.h7
-rw-r--r--keyboards/handwired/pterodactyl/info.json6
-rw-r--r--keyboards/handwired/pteron/config.h8
-rw-r--r--keyboards/handwired/pteron/info.json8
-rw-r--r--keyboards/handwired/pteron/keymaps/FSund/keymap.c2
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/keymap.c2
-rw-r--r--keyboards/handwired/pteron38/config.h8
-rw-r--r--keyboards/handwired/pteron38/info.json8
-rw-r--r--keyboards/handwired/pteron44/config.h8
-rw-r--r--keyboards/handwired/pteron44/info.json8
-rw-r--r--keyboards/handwired/qc60/config.h7
-rw-r--r--keyboards/handwired/qc60/info.json6
-rw-r--r--keyboards/handwired/qc60/keymaps/wntrmln/keymap.c2
-rw-r--r--keyboards/handwired/reclined/info.json2
-rw-r--r--keyboards/handwired/retro_refit/config.h8
-rw-r--r--keyboards/handwired/retro_refit/info.json8
-rw-r--r--keyboards/handwired/riblee_f401/config.h7
-rw-r--r--keyboards/handwired/riblee_f401/info.json8
-rw-r--r--keyboards/handwired/riblee_f401/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/riblee_f401/rules.mk1
-rw-r--r--keyboards/handwired/riblee_f411/config.h7
-rw-r--r--keyboards/handwired/riblee_f411/info.json8
-rw-r--r--keyboards/handwired/riblee_f411/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/riblee_f411/rules.mk1
-rw-r--r--keyboards/handwired/rs60/config.h8
-rw-r--r--keyboards/handwired/rs60/info.json6
-rw-r--r--keyboards/handwired/rs60/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/selene/config.h7
-rw-r--r--keyboards/handwired/selene/info.json6
-rw-r--r--keyboards/handwired/sick68/config.h8
-rw-r--r--keyboards/handwired/sick68/info.json6
-rw-r--r--keyboards/handwired/sick_pad/config.h8
-rw-r--r--keyboards/handwired/sick_pad/info.json8
-rw-r--r--keyboards/handwired/skakunm_dactyl/config.h60
-rw-r--r--keyboards/handwired/skakunm_dactyl/info.json57
-rw-r--r--keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c41
-rw-r--r--keyboards/handwired/skakunm_dactyl/readme.md15
-rw-r--r--keyboards/handwired/skakunm_dactyl/rules.mk20
-rw-r--r--keyboards/handwired/skakunm_dactyl/skakunm_dactyl.c4
-rw-r--r--keyboards/handwired/skakunm_dactyl/skakunm_dactyl.h25
-rw-r--r--keyboards/handwired/slash/config.h8
-rw-r--r--keyboards/handwired/slash/info.json8
-rw-r--r--keyboards/handwired/snatchpad/config.h8
-rw-r--r--keyboards/handwired/snatchpad/info.json6
-rw-r--r--keyboards/handwired/snatchpad/readme.md2
-rw-r--r--keyboards/handwired/sono1/config.h7
-rw-r--r--keyboards/handwired/sono1/info.json7
-rw-r--r--keyboards/handwired/sono1/stm32f103/config.h4
-rw-r--r--keyboards/handwired/sono1/stm32f103/info.json5
-rw-r--r--keyboards/handwired/sono1/t2pp/config.h4
-rw-r--r--keyboards/handwired/sono1/t2pp/info.json5
-rw-r--r--keyboards/handwired/space_oddity/config.h8
-rw-r--r--keyboards/handwired/space_oddity/info.json6
-rw-r--r--keyboards/handwired/split65/info.json6
-rw-r--r--keyboards/handwired/split65/promicro/config.h7
-rw-r--r--keyboards/handwired/split65/stm32/config.h7
-rw-r--r--keyboards/handwired/split89/config.h7
-rw-r--r--keyboards/handwired/split89/info.json8
-rw-r--r--keyboards/handwired/splittest/bluepill/config.h16
-rw-r--r--keyboards/handwired/splittest/bluepill/halconf.h11
-rw-r--r--keyboards/handwired/splittest/bluepill/mcuconf.h14
-rw-r--r--keyboards/handwired/splittest/bluepill/post_config.h43
-rw-r--r--keyboards/handwired/splittest/bluepill/readme.md65
-rw-r--r--keyboards/handwired/splittest/bluepill/rules.mk8
-rw-r--r--keyboards/handwired/splittest/config.h7
-rw-r--r--keyboards/handwired/splittest/info.json6
-rw-r--r--keyboards/handwired/splittest/keymaps/bitbang/config.h16
-rw-r--r--keyboards/handwired/splittest/keymaps/bitbang/keymap.c14
-rw-r--r--keyboards/handwired/splittest/keymaps/bitbang/rules.mk1
-rw-r--r--keyboards/handwired/splittest/keymaps/default/keymap.c5
-rw-r--r--keyboards/handwired/splittest/keymaps/rgb/keymap.c8
-rw-r--r--keyboards/handwired/splittest/keymaps/rgb/rules.mk1
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_fullduplex/config.h6
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_fullduplex/halconf.h8
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_fullduplex/keymap.c14
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_fullduplex/rules.mk1
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_halfduplex/config.h6
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_halfduplex/halconf.h8
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_halfduplex/keymap.c16
-rw-r--r--keyboards/handwired/splittest/keymaps/serial_halfduplex/rules.mk1
-rw-r--r--keyboards/handwired/splittest/rules.mk7
-rw-r--r--keyboards/handwired/steamvan/info.json22
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c2
-rw-r--r--keyboards/handwired/steamvan/rev1/config.h8
-rw-r--r--keyboards/handwired/steamvan/rev1/info.json28
-rw-r--r--keyboards/handwired/stef9998/split_5x7/config.h20
-rw-r--r--keyboards/handwired/stef9998/split_5x7/info.json97
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h28
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/default/keymap.c96
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md7
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h34
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c188
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/readme.md4
-rw-r--r--keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk2
-rw-r--r--keyboards/handwired/stef9998/split_5x7/readme.md26
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rev1/config.h58
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rev1/rev1.c17
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rev1/rev1.h40
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rev1/rules.mk4
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rules.mk22
-rw-r--r--keyboards/handwired/stef9998/split_5x7/split_5x7.c33
-rw-r--r--keyboards/handwired/stef9998/split_5x7/split_5x7.h23
-rw-r--r--keyboards/handwired/sticc14/config.h8
-rw-r--r--keyboards/handwired/sticc14/info.json6
-rw-r--r--keyboards/handwired/stream_cheap/2x3/config.h7
-rw-r--r--keyboards/handwired/stream_cheap/2x3/info.json8
-rw-r--r--keyboards/handwired/stream_cheap/2x4/config.h7
-rw-r--r--keyboards/handwired/stream_cheap/2x4/info.json8
-rw-r--r--keyboards/handwired/stream_cheap/2x5/config.h7
-rw-r--r--keyboards/handwired/stream_cheap/2x5/info.json8
-rw-r--r--keyboards/handwired/swiftrax/astro65/config.h6
-rw-r--r--keyboards/handwired/swiftrax/astro65/info.json6
-rw-r--r--keyboards/handwired/swiftrax/bebol/config.h6
-rw-r--r--keyboards/handwired/swiftrax/bebol/info.json6
-rw-r--r--keyboards/handwired/swiftrax/beegboy/config.h7
-rw-r--r--keyboards/handwired/swiftrax/beegboy/info.json6
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/bumblebee.h2
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/config.h6
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/info.json6
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/readme.md2
-rw-r--r--keyboards/handwired/swiftrax/cowfish/config.h7
-rw-r--r--keyboards/handwired/swiftrax/cowfish/info.json6
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/config.h6
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/info.json8
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/readme.md4
-rw-r--r--keyboards/handwired/swiftrax/digicarpice/config.h6
-rw-r--r--keyboards/handwired/swiftrax/digicarpice/info.json6
-rw-r--r--keyboards/handwired/swiftrax/digicarpice/readme.md2
-rw-r--r--keyboards/handwired/swiftrax/equator/config.h6
-rw-r--r--keyboards/handwired/swiftrax/equator/info.json6
-rw-r--r--keyboards/handwired/swiftrax/glacier/config.h17
-rw-r--r--keyboards/handwired/swiftrax/glacier/info.json6
-rw-r--r--keyboards/handwired/swiftrax/glacier/readme.md2
-rw-r--r--keyboards/handwired/swiftrax/joypad/config.h7
-rw-r--r--keyboards/handwired/swiftrax/joypad/info.json6
-rw-r--r--keyboards/handwired/swiftrax/koalafications/config.h6
-rw-r--r--keyboards/handwired/swiftrax/koalafications/info.json6
-rw-r--r--keyboards/handwired/swiftrax/nodu/config.h6
-rw-r--r--keyboards/handwired/swiftrax/nodu/info.json6
-rw-r--r--keyboards/handwired/swiftrax/pandamic/config.h7
-rw-r--r--keyboards/handwired/swiftrax/pandamic/info.json6
-rw-r--r--keyboards/handwired/swiftrax/the_galleon/config.h7
-rw-r--r--keyboards/handwired/swiftrax/the_galleon/info.json6
-rw-r--r--keyboards/handwired/swiftrax/unsplit/config.h7
-rw-r--r--keyboards/handwired/swiftrax/unsplit/info.json6
-rw-r--r--keyboards/handwired/swiftrax/walter/config.h6
-rw-r--r--keyboards/handwired/swiftrax/walter/info.json8
-rw-r--r--keyboards/handwired/symmetric70_proto/info.json7
-rw-r--r--keyboards/handwired/symmetric70_proto/promicro/config.h8
-rw-r--r--keyboards/handwired/symmetric70_proto/promicro/info.json3
-rw-r--r--keyboards/handwired/symmetric70_proto/proton_c/config.h8
-rw-r--r--keyboards/handwired/symmetric70_proto/proton_c/info.json3
-rw-r--r--keyboards/handwired/symmetry60/config.h8
-rw-r--r--keyboards/handwired/symmetry60/info.json6
-rw-r--r--keyboards/handwired/t111/config.h8
-rw-r--r--keyboards/handwired/t111/info.json8
-rw-r--r--keyboards/handwired/tennie/config.h8
-rw-r--r--keyboards/handwired/tennie/info.json6
-rw-r--r--keyboards/handwired/terminus_mini/config.h8
-rw-r--r--keyboards/handwired/terminus_mini/info.json8
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/trackpoint/config.h7
-rw-r--r--keyboards/handwired/trackpoint/info.json8
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h8
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/info.json40
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/config.h3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h6
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h10
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h12
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/info.json5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h9
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c20
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h6
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json3
-rw-r--r--keyboards/handwired/tractyl_manuform/config.h3
-rw-r--r--keyboards/handwired/tractyl_manuform/info.json5
-rw-r--r--keyboards/handwired/tractyl_manuform/readme.md2
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.c27
-rw-r--r--keyboards/handwired/traveller/config.h8
-rw-r--r--keyboards/handwired/traveller/info.json6
-rw-r--r--keyboards/handwired/traveller/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/tritium_numpad/config.h8
-rw-r--r--keyboards/handwired/tritium_numpad/info.json8
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c2
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/max/keymap.c2
-rw-r--r--keyboards/handwired/twadlee/tp69/config.h8
-rw-r--r--keyboards/handwired/twadlee/tp69/info.json8
-rw-r--r--keyboards/handwired/unicomp_mini_m/config.h8
-rw-r--r--keyboards/handwired/unicomp_mini_m/info.json8
-rw-r--r--keyboards/handwired/unk/info.json90
-rw-r--r--keyboards/handwired/unk/rev1/config.h7
-rw-r--r--keyboards/handwired/unk/rev1/info.json96
-rw-r--r--keyboards/handwired/uthol/config.h4
-rw-r--r--keyboards/handwired/uthol/info.json6
-rw-r--r--keyboards/handwired/uthol/keymaps/numswap/keymap.c2
-rw-r--r--keyboards/handwired/uthol/keymaps/oled/keymap.c2
-rw-r--r--keyboards/handwired/uthol/rev1/config.h5
-rw-r--r--keyboards/handwired/uthol/rev1/info.json6
-rw-r--r--keyboards/handwired/uthol/rev2/config.h5
-rw-r--r--keyboards/handwired/uthol/rev2/info.json6
-rw-r--r--keyboards/handwired/uthol/rev3/config.h6
-rw-r--r--keyboards/handwired/uthol/rev3/info.json6
-rw-r--r--keyboards/handwired/uthol/rev3/rules.mk1
-rw-r--r--keyboards/handwired/videowriter/config.h8
-rw-r--r--keyboards/handwired/videowriter/info.json8
-rw-r--r--keyboards/handwired/videowriter/keymaps/oleg/keymap.c2
-rw-r--r--keyboards/handwired/wabi/config.h9
-rw-r--r--keyboards/handwired/wabi/info.json6
-rw-r--r--keyboards/handwired/wabi/keymaps/rossman360/keymap.c2
-rw-r--r--keyboards/handwired/wakizashi40/readme.md2
-rw-r--r--keyboards/handwired/woodpad/config.h8
-rw-r--r--keyboards/handwired/woodpad/info.json6
-rw-r--r--keyboards/handwired/wulkan/config.h7
-rw-r--r--keyboards/handwired/wulkan/info.json8
-rw-r--r--keyboards/handwired/xealous/config.h1
-rw-r--r--keyboards/handwired/xealous/info.json83
-rw-r--r--keyboards/handwired/xealous/rev1/config.h7
-rw-r--r--keyboards/handwired/xealous/rev1/info.json89
-rw-r--r--keyboards/handwired/xealousbrown/config.h8
-rw-r--r--keyboards/handwired/xealousbrown/info.json8
-rw-r--r--keyboards/handwired/z150/config.h7
-rw-r--r--keyboards/handwired/z150/info.json8
-rw-r--r--keyboards/handwired/z150/keymaps/zyxx/keymap.c2
-rw-r--r--keyboards/handwired/zergo/config.h8
-rw-r--r--keyboards/handwired/zergo/info.json8
-rw-r--r--keyboards/hardlineworks/otd_plus/config.h8
-rw-r--r--keyboards/hardlineworks/otd_plus/info.json6
-rw-r--r--keyboards/heliar/wm1_hotswap/config.h7
-rw-r--r--keyboards/heliar/wm1_hotswap/info.json8
-rw-r--r--keyboards/helix/pico/config.h7
-rw-r--r--keyboards/helix/pico/info.json6
-rw-r--r--keyboards/helix/pico/keymaps/biacco/keymap.c2
-rw-r--r--keyboards/helix/pico/keymaps/mtei/config.h2
-rw-r--r--keyboards/helix/pico/keymaps/mtei/keymap.c4
-rw-r--r--keyboards/helix/rev2/config.h7
-rw-r--r--keyboards/helix/rev2/info.json8
-rw-r--r--keyboards/helix/rev2/keymaps/default/oled_display.c2
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/oled.c2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/keymap.c6
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/keymap.c2
-rw-r--r--keyboards/helix/rev2/keymaps/yshrsmz/keymap.c4
-rw-r--r--keyboards/helix/rev3_4rows/config.h8
-rw-r--r--keyboards/helix/rev3_4rows/info.json6
-rw-r--r--keyboards/helix/rev3_5rows/config.h8
-rw-r--r--keyboards/helix/rev3_5rows/info.json6
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/config.h2
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c6
-rw-r--r--keyboards/hhkb/ansi/32u2/rules.mk5
-rw-r--r--keyboards/hhkb/ansi/config.h7
-rw-r--r--keyboards/hhkb/ansi/hhkb_avr.h54
-rw-r--r--keyboards/hhkb/ansi/info.json8
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c2
-rw-r--r--keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c2
-rw-r--r--keyboards/hhkb/ansi/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/hhkb/ansi/rules.mk4
-rw-r--r--keyboards/hhkb/jp/config.h7
-rw-r--r--keyboards/hhkb/jp/info.json8
-rw-r--r--keyboards/hhkb/serial.h46
-rw-r--r--keyboards/hhkb/serial_uart.c133
-rw-r--r--keyboards/hhkb/yang/config.h123
-rw-r--r--keyboards/hhkb/yang/info.json77
-rw-r--r--keyboards/hhkb/yang/keymaps/default/keymap.c73
-rw-r--r--keyboards/hhkb/yang/keymaps/kanru/config.h21
-rw-r--r--keyboards/hhkb/yang/keymaps/kanru/keymap.c126
-rw-r--r--keyboards/hhkb/yang/matrix.c173
-rw-r--r--keyboards/hhkb/yang/memo.md135
-rw-r--r--keyboards/hhkb/yang/readme.md118
-rw-r--r--keyboards/hhkb/yang/rules.mk27
-rw-r--r--keyboards/hhkb/yang/yang.c118
-rw-r--r--keyboards/hhkb/yang/yang.h36
-rw-r--r--keyboards/hhkb_lite_2/config.h8
-rw-r--r--keyboards/hhkb_lite_2/info.json6
-rw-r--r--keyboards/hidtech/bastyl/config.h5
-rw-r--r--keyboards/hidtech/bastyl/info.json6
-rw-r--r--keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c4
-rw-r--r--keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c2
-rw-r--r--keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c6
-rw-r--r--keyboards/hifumi/config.h8
-rw-r--r--keyboards/hifumi/info.json6
-rw-r--r--keyboards/hineybush/h08_ocelot/config.h8
-rw-r--r--keyboards/hineybush/h08_ocelot/info.json6
-rw-r--r--keyboards/hineybush/h08_ocelot/readme.md2
-rw-r--r--keyboards/hineybush/h10/config.h8
-rw-r--r--keyboards/hineybush/h10/info.json6
-rw-r--r--keyboards/hineybush/h60/config.h8
-rw-r--r--keyboards/hineybush/h60/info.json6
-rw-r--r--keyboards/hineybush/h60/keymaps/kei/keymap.c2
-rw-r--r--keyboards/hineybush/h65/config.h8
-rw-r--r--keyboards/hineybush/h65/info.json6
-rw-r--r--keyboards/hineybush/h65/readme.md2
-rw-r--r--keyboards/hineybush/h65_hotswap/config.h8
-rw-r--r--keyboards/hineybush/h65_hotswap/info.json6
-rw-r--r--keyboards/hineybush/h65_hotswap/readme.md2
-rw-r--r--keyboards/hineybush/h660s/config.h8
-rw-r--r--keyboards/hineybush/h660s/info.json8
-rw-r--r--keyboards/hineybush/h75_singa/config.h8
-rw-r--r--keyboards/hineybush/h75_singa/info.json6
-rw-r--r--keyboards/hineybush/h75_singa/keymaps/wkl_std/keymap.c2
-rw-r--r--keyboards/hineybush/h87a/config.h8
-rw-r--r--keyboards/hineybush/h87a/info.json6
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c4
-rw-r--r--keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/hineybush/h88/config.h10
-rw-r--r--keyboards/hineybush/h88/info.json8
-rw-r--r--keyboards/hineybush/hbcp/config.h8
-rw-r--r--keyboards/hineybush/hbcp/info.json6
-rw-r--r--keyboards/hineybush/hbcp/keymaps/hiney/keymap.c2
-rw-r--r--keyboards/hineybush/hineyg80/config.h8
-rw-r--r--keyboards/hineybush/hineyg80/info.json8
-rw-r--r--keyboards/hineybush/ibis/readme.md2
-rw-r--r--keyboards/hineybush/physix/config.h8
-rw-r--r--keyboards/hineybush/physix/info.json8
-rw-r--r--keyboards/hineybush/sm68/config.h8
-rw-r--r--keyboards/hineybush/sm68/info.json6
-rw-r--r--keyboards/hnahkb/freyr/config.h8
-rw-r--r--keyboards/hnahkb/freyr/info.json8
-rw-r--r--keyboards/hnahkb/stella/config.h8
-rw-r--r--keyboards/hnahkb/stella/info.json6
-rw-r--r--keyboards/hnahkb/vn66/config.h8
-rw-r--r--keyboards/hnahkb/vn66/info.json8
-rw-r--r--keyboards/holyswitch/southpaw75/config.h7
-rw-r--r--keyboards/holyswitch/southpaw75/info.json8
-rw-r--r--keyboards/horizon/config.h8
-rw-r--r--keyboards/horizon/info.json6
-rw-r--r--keyboards/horizon/readme.md2
-rw-r--r--keyboards/horrortroll/chinese_pcb/black_e65/config.h10
-rw-r--r--keyboards/horrortroll/chinese_pcb/black_e65/info.json8
-rw-r--r--keyboards/horrortroll/chinese_pcb/black_e65/readme.md2
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/config.h10
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/info.json6
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/readme.md2
-rw-r--r--keyboards/horrortroll/handwired_k552/config.h10
-rw-r--r--keyboards/horrortroll/handwired_k552/info.json8
-rw-r--r--keyboards/horrortroll/handwired_k552/readme.md2
-rw-r--r--keyboards/horrortroll/lemon40/config.h10
-rw-r--r--keyboards/horrortroll/lemon40/info.json6
-rw-r--r--keyboards/horrortroll/lemon40/readme.md2
-rw-r--r--keyboards/horrortroll/paws60/config.h10
-rw-r--r--keyboards/horrortroll/paws60/info.json6
-rw-r--r--keyboards/horrortroll/paws60/readme.md2
-rw-r--r--keyboards/hotdox/config.h9
-rw-r--r--keyboards/hotdox/info.json8
-rw-r--r--keyboards/hotdox/keymaps/default/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/eozaki/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/imchipwood/keymap.c4
-rw-r--r--keyboards/hotdox/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/hotdox/keymaps/ninjonas/keymap.c2
-rw-r--r--keyboards/hp69/config.h7
-rw-r--r--keyboards/hp69/info.json6
-rw-r--r--keyboards/hs60/v1/config.h8
-rw-r--r--keyboards/hs60/v1/info.json6
-rw-r--r--keyboards/hs60/v2/ansi/config.h7
-rw-r--r--keyboards/hs60/v2/ansi/info.json10
-rw-r--r--keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/hs60/v2/hhkb/config.h7
-rw-r--r--keyboards/hs60/v2/hhkb/info.json10
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c2
-rw-r--r--keyboards/hs60/v2/iso/config.h7
-rw-r--r--keyboards/hs60/v2/iso/info.json10
-rw-r--r--keyboards/hs60/v2/iso/keymaps/iso_andys8/keymap.c4
-rw-r--r--keyboards/hs60/v2/iso/keymaps/win_osx_dual/keymap.c2
-rwxr-xr-xkeyboards/hub16/config.h7
-rw-r--r--keyboards/hub16/info.json6
-rw-r--r--keyboards/hub16/keymaps/ahk_companion/keymap.c4
-rwxr-xr-xkeyboards/hub16/keymaps/macro/keymap.c2
-rw-r--r--keyboards/hub16/keymaps/peepeetee/keymap.c8
-rw-r--r--keyboards/hub20/config.h7
-rw-r--r--keyboards/hub20/info.json6
-rw-r--r--keyboards/hub20/keymaps/left_hand_numpad/keymap.c2
-rw-r--r--keyboards/hub20/keymaps/macro/keymap.c2
-rw-r--r--keyboards/hub20/keymaps/right_hand_numpad/keymap.c2
-rw-r--r--keyboards/ianklug/grooveboard/config.h10
-rw-r--r--keyboards/ianklug/grooveboard/info.json6
-rw-r--r--keyboards/ibm/model_m_4th_gen/info.json16
-rw-r--r--keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h7
-rw-r--r--keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json22
-rw-r--r--keyboards/ibnuda/alicia_cook/config.h8
-rw-r--r--keyboards/ibnuda/alicia_cook/info.json6
-rw-r--r--keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c2
-rw-r--r--keyboards/ibnuda/gurindam/config.h8
-rw-r--r--keyboards/ibnuda/gurindam/info.json8
-rw-r--r--keyboards/ibnuda/squiggle/config.h6
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c2
-rw-r--r--keyboards/ibnuda/squiggle/keymaps/rick/keymap.c2
-rw-r--r--keyboards/ibnuda/squiggle/readme.md2
-rw-r--r--keyboards/ibnuda/squiggle/rev1/config.h2
-rw-r--r--keyboards/ibnuda/squiggle/rev1/info.json6
-rw-r--r--keyboards/idb/idb_60/config.h8
-rw-r--r--keyboards/idb/idb_60/info.json6
-rw-r--r--keyboards/idb/idb_60/keymaps/all_keys/keymap.c2
-rw-r--r--keyboards/idb/idb_60/keymaps/pngu/keymap.c2
-rwxr-xr-xkeyboards/idobao/id42/config.h75
-rwxr-xr-xkeyboards/idobao/id42/id42.c45
-rwxr-xr-xkeyboards/idobao/id42/id42.h6
-rw-r--r--keyboards/idobao/id42/info.json80
-rw-r--r--keyboards/idobao/id42/keymaps/default/keymap.c114
-rw-r--r--keyboards/idobao/id42/keymaps/idobao/keymap.c119
-rw-r--r--keyboards/idobao/id42/keymaps/idobao/rules.mk3
-rw-r--r--keyboards/idobao/id42/keymaps/via/keymap.c82
-rw-r--r--keyboards/idobao/id42/keymaps/via/rules.mk3
-rw-r--r--keyboards/idobao/id42/readme.md35
-rwxr-xr-xkeyboards/idobao/id42/rules.mk5
-rw-r--r--keyboards/idobao/id63/config.h102
-rw-r--r--keyboards/idobao/id63/id63.c68
-rw-r--r--keyboards/idobao/id63/id63.h6
-rw-r--r--keyboards/idobao/id63/info.json106
-rw-r--r--keyboards/idobao/id63/keymaps/default/keymap.c48
-rw-r--r--keyboards/idobao/id63/keymaps/idobao/config.h7
-rw-r--r--keyboards/idobao/id63/keymaps/idobao/keymap.c359
-rw-r--r--keyboards/idobao/id63/keymaps/idobao/rules.mk3
-rw-r--r--keyboards/idobao/id63/keymaps/via/keymap.c64
-rw-r--r--keyboards/idobao/id63/keymaps/via/rules.mk3
-rw-r--r--keyboards/idobao/id63/post_rules.mk8
-rw-r--r--keyboards/idobao/id63/readme.md39
-rw-r--r--keyboards/idobao/id63/rules.mk5
-rw-r--r--keyboards/idobao/id67/config.h140
-rw-r--r--keyboards/idobao/id67/id67.c100
-rw-r--r--keyboards/idobao/id67/id67.h36
-rw-r--r--keyboards/idobao/id67/info.json161
-rw-r--r--keyboards/idobao/id67/keymaps/default/keymap.c50
-rw-r--r--keyboards/idobao/id67/keymaps/idobao/keymap.c341
-rw-r--r--keyboards/idobao/id67/keymaps/idobao/rules.mk (renamed from keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk)0
-rw-r--r--keyboards/idobao/id67/keymaps/thewerther/config.h18
-rw-r--r--keyboards/idobao/id67/keymaps/thewerther/keymap.c25
-rw-r--r--keyboards/idobao/id67/keymaps/via/keymap.c63
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/config.h22
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c80
-rw-r--r--keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk4
-rw-r--r--keyboards/idobao/id67/post_rules.mk10
-rw-r--r--keyboards/idobao/id67/readme.md25
-rw-r--r--keyboards/idobao/id67/rules.mk16
-rw-r--r--keyboards/idobao/id75/keymaps/drewdobo/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/egstad/keymap.c6
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_75/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c4
-rw-r--r--keyboards/idobao/id75/keymaps/pathnirvana/keymap.c2
-rw-r--r--keyboards/idobao/id75/keymaps/revok75/keymap.c4
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c4
-rw-r--r--keyboards/idobao/id75/v1/config.h29
-rw-r--r--keyboards/idobao/id75/v1/info.json8
-rw-r--r--keyboards/idobao/id75/v2/config.h8
-rw-r--r--keyboards/idobao/id75/v2/info.json102
-rw-r--r--keyboards/idobao/id75/v2/readme.md2
-rw-r--r--keyboards/idobao/id80/v1/ansi/config.h27
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c35
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md1
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c59
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c80
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md23
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json499
-rw-r--r--keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c51
-rw-r--r--keyboards/idobao/id80/v1/ansi/readme.md1
-rw-r--r--keyboards/idobao/id80/v1/config.h87
-rw-r--r--keyboards/idobao/id80/v1/info.json188
-rw-r--r--keyboards/idobao/id80/v1/iso/config.h27
-rw-r--r--keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c35
-rw-r--r--keyboards/idobao/id80/v1/iso/keymaps/default/readme.md1
-rw-r--r--keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c52
-rw-r--r--keyboards/idobao/id80/v1/iso/readme.md1
-rw-r--r--keyboards/idobao/id80/v1/readme.md26
-rw-r--r--keyboards/idobao/id80/v1/rules.mk24
-rw-r--r--keyboards/idobao/id80/v1/v1.c16
-rw-r--r--keyboards/idobao/id80/v1/v1.h56
-rw-r--r--keyboards/idobao/id80/v2/ansi/info.json6
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/default/keymap.c35
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h (renamed from keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h)0
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c59
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md (renamed from keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md)0
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk1
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c80
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md23
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/rverst/rverst.json499
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/via/keymap.c51
-rw-r--r--keyboards/idobao/id80/v2/ansi/keymaps/via/rules.mk (renamed from keyboards/idobao/id80/v3/keymaps/via/rules.mk)0
-rw-r--r--keyboards/idobao/id80/v2/ansi/rules.mk (renamed from keyboards/idobao/id80/v1/ansi/rules.mk)0
-rw-r--r--keyboards/idobao/id80/v2/config.h89
-rw-r--r--keyboards/idobao/id80/v2/info.json192
-rw-r--r--keyboards/idobao/id80/v2/iso/info.json6
-rw-r--r--keyboards/idobao/id80/v2/iso/keymaps/default/keymap.c35
-rw-r--r--keyboards/idobao/id80/v2/iso/keymaps/via/keymap.c52
-rw-r--r--keyboards/idobao/id80/v2/iso/keymaps/via/rules.mk2
-rw-r--r--keyboards/idobao/id80/v2/iso/rules.mk (renamed from keyboards/idobao/id80/v1/iso/rules.mk)0
-rw-r--r--keyboards/idobao/id80/v2/readme.md41
-rw-r--r--keyboards/idobao/id80/v2/rules.mk19
-rw-r--r--keyboards/idobao/id80/v2/v2.c17
-rw-r--r--keyboards/idobao/id80/v2/v2.h57
-rw-r--r--keyboards/idobao/id80/v3/ansi/ansi.c76
-rw-r--r--keyboards/idobao/id80/v3/ansi/ansi.h6
-rw-r--r--keyboards/idobao/id80/v3/ansi/config.h97
-rw-r--r--keyboards/idobao/id80/v3/ansi/info.json121
-rw-r--r--keyboards/idobao/id80/v3/ansi/keymaps/default/keymap.c56
-rw-r--r--keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c315
-rw-r--r--keyboards/idobao/id80/v3/ansi/keymaps/idobao/rules.mk2
-rw-r--r--keyboards/idobao/id80/v3/ansi/keymaps/via/keymap.c90
-rw-r--r--keyboards/idobao/id80/v3/ansi/keymaps/via/rules.mk2
-rw-r--r--keyboards/idobao/id80/v3/ansi/rules.mk5
-rw-r--r--keyboards/idobao/id80/v3/config.h131
-rw-r--r--keyboards/idobao/id80/v3/info.json96
-rw-r--r--keyboards/idobao/id80/v3/keymaps/default/keymap.c36
-rw-r--r--keyboards/idobao/id80/v3/keymaps/default/readme.md1
-rw-r--r--keyboards/idobao/id80/v3/keymaps/via/keymap.c52
-rw-r--r--keyboards/idobao/id80/v3/readme.md31
-rw-r--r--keyboards/idobao/id80/v3/rules.mk25
-rw-r--r--keyboards/idobao/id80/v3/v3.c62
-rw-r--r--keyboards/idobao/id80/v3/v3.h37
-rw-r--r--keyboards/idobao/id87/v1/config.h29
-rw-r--r--keyboards/idobao/id87/v1/info.json6
-rw-r--r--keyboards/idobao/id87/v2/config.h200
-rw-r--r--keyboards/idobao/id87/v2/info.json209
-rw-r--r--keyboards/idobao/id87/v2/keymaps/default/keymap.c77
-rw-r--r--keyboards/idobao/id87/v2/keymaps/default/readme.md1
-rw-r--r--keyboards/idobao/id87/v2/keymaps/idobao/config.h4
-rw-r--r--keyboards/idobao/id87/v2/keymaps/idobao/keymap.c299
-rw-r--r--keyboards/idobao/id87/v2/keymaps/idobao/rules.mk3
-rw-r--r--keyboards/idobao/id87/v2/keymaps/via/config.h4
-rw-r--r--keyboards/idobao/id87/v2/keymaps/via/keymap.c115
-rw-r--r--keyboards/idobao/id87/v2/keymaps/via/rules.mk1
-rw-r--r--keyboards/idobao/id87/v2/readme.md28
-rw-r--r--keyboards/idobao/id87/v2/rules.mk21
-rw-r--r--keyboards/idobao/id87/v2/v2.c104
-rw-r--r--keyboards/idobao/id87/v2/v2.h38
-rw-r--r--keyboards/idobao/id96/config.h8
-rw-r--r--keyboards/idobao/id96/info.json8
-rw-r--r--keyboards/idobao/id96/readme.md2
-rw-r--r--keyboards/idobao/montex/v1/config.h31
-rw-r--r--keyboards/idobao/montex/v1/info.json8
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/config.h7
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/info.json8
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/readme.md2
-rwxr-xr-xkeyboards/idobao/montex/v2/config.h1
-rwxr-xr-xkeyboards/idobao/montex/v2/readme.md2
-rw-r--r--keyboards/illuminati/is0/config.h8
-rw-r--r--keyboards/illuminati/is0/info.json6
-rw-r--r--keyboards/illusion/rosa/config.h8
-rw-r--r--keyboards/illusion/rosa/info.json6
-rw-r--r--keyboards/illusion/rosa/keymaps/oggi/keymap.c2
-rw-r--r--keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c2
-rw-r--r--keyboards/illusion/rosa/keymaps/split_rshift/keymap.c2
-rw-r--r--keyboards/ilumkb/primus75/config.h8
-rw-r--r--keyboards/ilumkb/primus75/info.json6
-rw-r--r--keyboards/ilumkb/simpler61/config.h8
-rw-r--r--keyboards/ilumkb/simpler61/info.json6
-rw-r--r--keyboards/ilumkb/simpler64/config.h8
-rw-r--r--keyboards/ilumkb/simpler64/info.json6
-rw-r--r--keyboards/ilumkb/volcano660/config.h8
-rw-r--r--keyboards/ilumkb/volcano660/info.json8
-rw-r--r--keyboards/inett_studio/sqx/hotswap/config.h8
-rw-r--r--keyboards/inett_studio/sqx/hotswap/info.json8
-rw-r--r--keyboards/inett_studio/sqx/universal/config.h8
-rw-r--r--keyboards/inett_studio/sqx/universal/info.json8
-rw-r--r--keyboards/ingrained/config.h51
-rw-r--r--keyboards/ingrained/info.json276
-rw-r--r--keyboards/ingrained/ingrained.c4
-rw-r--r--keyboards/ingrained/ingrained.h47
-rw-r--r--keyboards/ingrained/keymaps/3x5/keymap.c23
-rw-r--r--keyboards/ingrained/keymaps/3x5/readme.md1
-rw-r--r--keyboards/ingrained/keymaps/default/keymap.c23
-rw-r--r--keyboards/ingrained/keymaps/default/readme.md1
-rw-r--r--keyboards/ingrained/matrix.c253
-rw-r--r--keyboards/ingrained/readme.md19
-rw-r--r--keyboards/ingrained/rules.mk27
-rw-r--r--keyboards/input_club/ergodox_infinity/config.h8
-rw-r--r--keyboards/input_club/ergodox_infinity/info.json8
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c4
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c6
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c4
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c4
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c6
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c6
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c4
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c2
-rw-r--r--keyboards/input_club/infinity60/config.h7
-rw-r--r--keyboards/input_club/infinity60/info.json8
-rw-r--r--keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c4
-rw-r--r--keyboards/input_club/infinity60/led/config.h1
-rw-r--r--keyboards/input_club/infinity60/rev1/config.h1
-rw-r--r--keyboards/input_club/k_type/config.h8
-rw-r--r--keyboards/input_club/k_type/info.json8
-rw-r--r--keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c2
-rw-r--r--keyboards/input_club/whitefox/config.h8
-rw-r--r--keyboards/input_club/whitefox/info.json8
-rw-r--r--keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c2
-rw-r--r--keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c2
-rw-r--r--keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c2
-rw-r--r--keyboards/io_mini1800/config.h8
-rw-r--r--keyboards/io_mini1800/info.json6
-rw-r--r--keyboards/irene/config.h8
-rw-r--r--keyboards/irene/info.json6
-rw-r--r--keyboards/iriskeyboards/config.h8
-rw-r--r--keyboards/iriskeyboards/info.json8
-rw-r--r--keyboards/iron180/config.h7
-rw-r--r--keyboards/iron180/info.json6
-rw-r--r--keyboards/iron180/readme.md2
-rw-r--r--keyboards/j80/config.h7
-rw-r--r--keyboards/j80/info.json6
-rw-r--r--keyboards/jacky_studio/bear_65/config.h7
-rw-r--r--keyboards/jacky_studio/bear_65/info.json6
-rw-r--r--keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/jacky_studio/piggy60/hotswap/info.json4
-rw-r--r--keyboards/jacky_studio/piggy60/hotswap/rules.mk1
-rw-r--r--keyboards/jacky_studio/piggy60/info.json250
-rw-r--r--keyboards/jacky_studio/piggy60/keymaps/default/keymap.c40
-rw-r--r--keyboards/jacky_studio/piggy60/keymaps/via/keymap.json38
-rw-r--r--keyboards/jacky_studio/piggy60/keymaps/via/rules.mk1
-rw-r--r--keyboards/jacky_studio/piggy60/readme.md27
-rw-r--r--keyboards/jacky_studio/piggy60/rules.mk1
-rw-r--r--keyboards/jacky_studio/piggy60/solder/info.json477
-rw-r--r--keyboards/jacky_studio/piggy60/solder/rules.mk1
-rw-r--r--keyboards/jacky_studio/s7_elephant/readme.md2
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev1/config.h8
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev1/info.json8
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev1/readme.md2
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev2/config.h7
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev2/info.json6
-rw-r--r--keyboards/jadookb/jkb2/config.h7
-rw-r--r--keyboards/jadookb/jkb2/info.json8
-rw-r--r--keyboards/jadookb/jkb2/keymaps/via/config.h19
-rw-r--r--keyboards/jadookb/jkb65/config.h11
-rw-r--r--keyboards/jadookb/jkb65/info.json12
-rw-r--r--keyboards/jadookb/jkb65/jkb65.h2
-rw-r--r--keyboards/jadookb/jkb65/keymaps/default/keymap.c4
-rw-r--r--keyboards/jadookb/jkb65/keymaps/via/config.h19
-rw-r--r--keyboards/jadookb/jkb65/keymaps/via/keymap.c8
-rw-r--r--keyboards/jadookb/jkb65/r1/config.h20
-rw-r--r--keyboards/jadookb/jkb65/r1/info.json6
-rw-r--r--keyboards/jadookb/jkb65/r1/rules.mk0
-rw-r--r--keyboards/jadookb/jkb65/r2/config.h9
-rw-r--r--keyboards/jadookb/jkb65/r2/info.json6
-rw-r--r--keyboards/jadookb/jkb65/r2/rules.mk0
-rw-r--r--keyboards/jadookb/jkb65/rules.mk2
-rw-r--r--keyboards/jae/j01/config.h8
-rw-r--r--keyboards/jae/j01/info.json8
-rw-r--r--keyboards/jagdpietr/drakon/config.h8
-rw-r--r--keyboards/jagdpietr/drakon/info.json6
-rw-r--r--keyboards/janus/config.h16
-rw-r--r--keyboards/janus/halconf.h9
-rw-r--r--keyboards/janus/info.json75
-rw-r--r--keyboards/janus/keymaps/default/keymap.c50
-rw-r--r--keyboards/janus/keymaps/default/readme.md13
-rw-r--r--keyboards/janus/mcuconf.h9
-rw-r--r--keyboards/janus/readme.md27
-rw-r--r--keyboards/janus/rules.mk1
-rw-r--r--keyboards/jc65/v32a/config.h6
-rw-r--r--keyboards/jc65/v32a/info.json8
-rw-r--r--keyboards/jc65/v32a/keymaps/ptillemans/keymap.c4
-rw-r--r--keyboards/jc65/v32a/keymaps/rys/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/config.h8
-rw-r--r--keyboards/jc65/v32u4/info.json8
-rw-r--r--keyboards/jc65/v32u4/keymaps/coth/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c4
-rw-r--r--keyboards/jc65/v32u4/keymaps/jetpacktuxedo/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/keymaps/na7thana/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/keymaps/naut/keymap.c2
-rw-r--r--keyboards/jd40/config.h8
-rw-r--r--keyboards/jd40/info.json6
-rw-r--r--keyboards/jd45/config.h8
-rw-r--r--keyboards/jd45/info.json8
-rw-r--r--keyboards/jd45/keymaps/blakedietz/keymap.c2
-rw-r--r--keyboards/jd45/keymaps/jeebak/keymap.c2
-rw-r--r--keyboards/jd45/keymaps/mjt6u/keymap.c2
-rw-r--r--keyboards/jels/jels60/config.h7
-rw-r--r--keyboards/jels/jels60/info.json6
-rw-r--r--keyboards/jels/jels60/readme.md2
-rw-r--r--keyboards/jels/jels88/config.h7
-rw-r--r--keyboards/jels/jels88/info.json6
-rw-r--r--keyboards/jels/jels88/readme.md2
-rw-r--r--keyboards/jian/handwired/config.h7
-rw-r--r--keyboards/jian/handwired/info.json6
-rw-r--r--keyboards/jian/info.json6
-rw-r--r--keyboards/jian/keymaps/advanced/keymap.c2
-rw-r--r--keyboards/jian/keymaps/left_hand/keymap.c2
-rw-r--r--keyboards/jian/nsrev2/config.h7
-rw-r--r--keyboards/jian/nsrev2/info.json6
-rw-r--r--keyboards/jian/rev1/config.h7
-rw-r--r--keyboards/jian/rev1/info.json6
-rw-r--r--keyboards/jian/rev2/config.h7
-rw-r--r--keyboards/jian/rev2/info.json6
-rw-r--r--keyboards/jiran/config.h7
-rw-r--r--keyboards/jiran/info.json8
-rw-r--r--keyboards/jkdlab/binary_monkey/config.h6
-rw-r--r--keyboards/jkdlab/binary_monkey/info.json6
-rw-r--r--keyboards/jkeys_design/gentleman65/config.h51
-rw-r--r--keyboards/jkeys_design/gentleman65/gentleman65.c (renamed from keyboards/gentleman65/gentleman65.c)0
-rw-r--r--keyboards/jkeys_design/gentleman65/gentleman65.h (renamed from keyboards/gentleman65/gentleman65.h)0
-rw-r--r--keyboards/jkeys_design/gentleman65/info.json16
-rw-r--r--keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c96
-rw-r--r--keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md14
-rw-r--r--keyboards/jkeys_design/gentleman65/keymaps/default/keymap.c (renamed from keyboards/gentleman65/keymaps/default/keymap.c)0
-rw-r--r--keyboards/jkeys_design/gentleman65/keymaps/via/keymap.c (renamed from keyboards/gentleman65/keymaps/via/keymap.c)0
-rw-r--r--keyboards/jkeys_design/gentleman65/keymaps/via/rules.mk2
-rw-r--r--keyboards/jkeys_design/gentleman65/readme.md24
-rw-r--r--keyboards/jkeys_design/gentleman65/rules.mk (renamed from keyboards/gentleman65/rules.mk)0
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/config.h52
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.c32
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.h33
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/info.json16
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/keymaps/default/keymap.c36
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/keymaps/via/keymap.c53
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/keymaps/via/rules.mk2
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/readme.md24
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/rules.mk21
-rw-r--r--keyboards/jm60/config.h8
-rw-r--r--keyboards/jm60/info.json6
-rw-r--r--keyboards/jolofsor/denial75/config.h8
-rw-r--r--keyboards/jolofsor/denial75/info.json6
-rw-r--r--keyboards/jones/v03/config.h8
-rw-r--r--keyboards/jones/v03/info.json6
-rw-r--r--keyboards/jones/v03/keymaps/default_jp/config.h1
-rw-r--r--keyboards/jones/v03/keymaps/default_jp/keymap.c15
-rw-r--r--keyboards/jones/v03_1/config.h8
-rw-r--r--keyboards/jones/v03_1/info.json6
-rw-r--r--keyboards/jones/v03_1/keymaps/default_ansi/config.h1
-rw-r--r--keyboards/jones/v03_1/keymaps/default_ansi/keymap.c17
-rw-r--r--keyboards/jones/v03_1/keymaps/default_jp/config.h1
-rw-r--r--keyboards/jones/v03_1/keymaps/default_jp/keymap.c17
-rw-r--r--keyboards/jones/v1/config.h7
-rw-r--r--keyboards/jones/v1/info.json6
-rw-r--r--keyboards/jorne/info.json240
-rw-r--r--keyboards/jorne/keymaps/manna-harbour_miryoku/config.h21
-rw-r--r--keyboards/jorne/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/jorne/readme.md2
-rw-r--r--keyboards/jorne/rev1/config.h9
-rw-r--r--keyboards/jorne/rev1/info.json246
-rw-r--r--keyboards/k34/config.h8
-rw-r--r--keyboards/k34/info.json6
-rw-r--r--keyboards/k34/readme.md2
-rw-r--r--keyboards/kabedon/kabedon78s/config.h7
-rw-r--r--keyboards/kabedon/kabedon78s/info.json8
-rw-r--r--keyboards/kabedon/kabedon980/config.h9
-rw-r--r--keyboards/kabedon/kabedon980/info.json8
-rw-r--r--keyboards/kabedon/kabedon98e/config.h7
-rw-r--r--keyboards/kabedon/kabedon98e/info.json8
-rw-r--r--keyboards/kagizaraya/chidori/config.h16
-rw-r--r--keyboards/kagizaraya/chidori/info.json6
-rw-r--r--keyboards/kagizaraya/chidori/keymaps/extended/keymap.c2
-rw-r--r--keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c2
-rw-r--r--keyboards/kagizaraya/halberd/config.h8
-rw-r--r--keyboards/kagizaraya/halberd/info.json6
-rw-r--r--keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c2
-rw-r--r--keyboards/kagizaraya/scythe/config.h8
-rw-r--r--keyboards/kagizaraya/scythe/info.json6
-rw-r--r--keyboards/kagizaraya/scythe/keymaps/forties/keymap.c2
-rw-r--r--keyboards/kakunpc/angel17/alpha/config.h8
-rw-r--r--keyboards/kakunpc/angel17/info.json6
-rw-r--r--keyboards/kakunpc/angel17/rev1/config.h8
-rw-r--r--keyboards/kakunpc/angel64/alpha/config.h8
-rw-r--r--keyboards/kakunpc/angel64/alpha/info.json8
-rw-r--r--keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c2
-rw-r--r--keyboards/kakunpc/angel64/rev1/config.h8
-rw-r--r--keyboards/kakunpc/angel64/rev1/info.json8
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c2
-rw-r--r--keyboards/kakunpc/business_card/alpha/config.h8
-rw-r--r--keyboards/kakunpc/business_card/alpha/info.json6
-rw-r--r--keyboards/kakunpc/business_card/beta/config.h8
-rw-r--r--keyboards/kakunpc/business_card/beta/info.json6
-rw-r--r--keyboards/kakunpc/choc_taro/config.h9
-rw-r--r--keyboards/kakunpc/choc_taro/info.json6
-rw-r--r--keyboards/kakunpc/rabbit_capture_plan/config.h9
-rw-r--r--keyboards/kakunpc/rabbit_capture_plan/info.json6
-rw-r--r--keyboards/kakunpc/suihankey/alpha/config.h8
-rw-r--r--keyboards/kakunpc/suihankey/alpha/info.json8
-rw-r--r--keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c2
-rw-r--r--keyboards/kakunpc/suihankey/rev1/config.h8
-rw-r--r--keyboards/kakunpc/suihankey/rev1/info.json8
-rw-r--r--keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/kakunpc/suihankey/split/alpha/config.h8
-rw-r--r--keyboards/kakunpc/suihankey/split/info.json8
-rw-r--r--keyboards/kakunpc/suihankey/split/rev1/config.h8
-rw-r--r--keyboards/kakunpc/thedogkeyboard/config.h8
-rw-r--r--keyboards/kakunpc/thedogkeyboard/info.json6
-rw-r--r--keyboards/kapcave/arya/config.h7
-rw-r--r--keyboards/kapcave/arya/info.json6
-rwxr-xr-xkeyboards/kapcave/gskt00/config.h8
-rw-r--r--keyboards/kapcave/gskt00/info.json6
-rwxr-xr-xkeyboards/kapcave/gskt00/keymaps/nachie/keymap.c2
-rwxr-xr-xkeyboards/kapcave/paladin64/config.h8
-rw-r--r--keyboards/kapcave/paladin64/info.json6
-rw-r--r--keyboards/kapcave/paladinpad/config.h6
-rw-r--r--keyboards/kapcave/paladinpad/info.json5
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/aek/keymap.c2
-rw-r--r--keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c2
-rw-r--r--keyboards/kapcave/paladinpad/rev1/config.h2
-rw-r--r--keyboards/kapcave/paladinpad/rev1/info.json5
-rw-r--r--keyboards/kapcave/paladinpad/rev2/config.h2
-rw-r--r--keyboards/kapcave/paladinpad/rev2/info.json5
-rw-r--r--keyboards/kapl/info.json85
-rw-r--r--keyboards/kapl/readme.md2
-rw-r--r--keyboards/kapl/rev1/config.h8
-rw-r--r--keyboards/kapl/rev1/info.json91
-rw-r--r--keyboards/kb58/config.h8
-rw-r--r--keyboards/kb58/info.json6
-rw-r--r--keyboards/kb58/readme.md2
-rw-r--r--keyboards/kb_elmo/67mk_e/config.h7
-rw-r--r--keyboards/kb_elmo/67mk_e/info.json8
-rw-r--r--keyboards/kb_elmo/aek2_usb/config.h8
-rw-r--r--keyboards/kb_elmo/aek2_usb/info.json8
-rw-r--r--keyboards/kb_elmo/elmopad/config.h8
-rw-r--r--keyboards/kb_elmo/elmopad/info.json8
-rw-r--r--keyboards/kb_elmo/isolation/config.h8
-rw-r--r--keyboards/kb_elmo/isolation/info.json8
-rw-r--r--keyboards/kb_elmo/m0110a_usb/config.h8
-rw-r--r--keyboards/kb_elmo/m0110a_usb/info.json8
-rw-r--r--keyboards/kb_elmo/m0116_usb/config.h8
-rw-r--r--keyboards/kb_elmo/m0116_usb/info.json8
-rw-r--r--keyboards/kb_elmo/noah_avr/config.h8
-rw-r--r--keyboards/kb_elmo/noah_avr/info.json6
-rw-r--r--keyboards/kb_elmo/qez/config.h7
-rw-r--r--keyboards/kb_elmo/qez/info.json8
-rw-r--r--keyboards/kb_elmo/sesame/config.h11
-rw-r--r--keyboards/kb_elmo/sesame/info.json8
-rw-r--r--keyboards/kb_elmo/twelvekey/config.h7
-rw-r--r--keyboards/kb_elmo/twelvekey/info.json8
-rw-r--r--keyboards/kb_elmo/vertex/config.h8
-rw-r--r--keyboards/kb_elmo/vertex/info.json8
-rw-r--r--keyboards/kb_elmo/vertex/readme.md2
-rw-r--r--keyboards/kbdclack/kaishi65/config.h8
-rw-r--r--keyboards/kbdclack/kaishi65/info.json6
-rw-r--r--keyboards/kbdfans/baguette66/rgb/config.h82
-rw-r--r--keyboards/kbdfans/baguette66/rgb/info.json15
-rw-r--r--keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c44
-rw-r--r--keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c44
-rw-r--r--keyboards/kbdfans/baguette66/rgb/keymaps/via/rules.mk2
-rw-r--r--keyboards/kbdfans/baguette66/rgb/readme.md23
-rw-r--r--keyboards/kbdfans/baguette66/rgb/rgb.c48
-rw-r--r--keyboards/kbdfans/baguette66/rgb/rgb.h32
-rw-r--r--keyboards/kbdfans/baguette66/rgb/rules.mk20
-rw-r--r--keyboards/kbdfans/baguette66/soldered/config.h36
-rw-r--r--keyboards/kbdfans/baguette66/soldered/info.json15
-rw-r--r--keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c44
-rw-r--r--keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c44
-rw-r--r--keyboards/kbdfans/baguette66/soldered/keymaps/via/rules.mk2
-rw-r--r--keyboards/kbdfans/baguette66/soldered/readme.md23
-rw-r--r--keyboards/kbdfans/baguette66/soldered/rules.mk18
-rw-r--r--keyboards/kbdfans/baguette66/soldered/soldered.c17
-rw-r--r--keyboards/kbdfans/baguette66/soldered/soldered.h32
-rw-r--r--keyboards/kbdfans/bella/rgb/config.h7
-rw-r--r--keyboards/kbdfans/bella/rgb/info.json8
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/config.h7
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/info.json8
-rwxr-xr-xkeyboards/kbdfans/bella/soldered/config.h7
-rw-r--r--keyboards/kbdfans/bella/soldered/info.json8
-rw-r--r--keyboards/kbdfans/boop65/rgb/config.h8
-rw-r--r--keyboards/kbdfans/boop65/rgb/info.json8
-rw-r--r--keyboards/kbdfans/boop65/rgb/readme.md2
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/config.h56
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/hotswap.c16
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/hotswap.h34
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/info.json15
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/keymaps/default/keymap.c55
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/keymaps/via/keymap.c55
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/keymaps/via/rules.mk2
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/readme.md21
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/rules.mk18
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/config.h56
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/info.json469
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/default/keymap.c55
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi/keymap.c56
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi_split_bs/keymap.c56
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso/keymap.c56
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso_split_bs/keymap.c55
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/via/keymap.c55
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keymaps/via/rules.mk2
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/readme.md21
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/rules.mk18
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/soldered.c17
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/soldered.h121
-rw-r--r--keyboards/kbdfans/bounce/pad/config.h29
-rw-r--r--keyboards/kbdfans/bounce/pad/info.json42
-rw-r--r--keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c28
-rw-r--r--keyboards/kbdfans/bounce/pad/keymaps/via/keymap.c52
-rw-r--r--keyboards/kbdfans/bounce/pad/keymaps/via/rules.mk2
-rw-r--r--keyboards/kbdfans/bounce/pad/pad.c16
-rw-r--r--keyboards/kbdfans/bounce/pad/pad.h35
-rw-r--r--keyboards/kbdfans/bounce/pad/readme.md21
-rw-r--r--keyboards/kbdfans/bounce/pad/rules.mk20
-rw-r--r--keyboards/kbdfans/kbd19x/config.h8
-rw-r--r--keyboards/kbdfans/kbd19x/info.json6
-rw-r--r--keyboards/kbdfans/kbd19x/readme.md2
-rw-r--r--keyboards/kbdfans/kbd4x/config.h8
-rw-r--r--keyboards/kbdfans/kbd4x/info.json8
-rw-r--r--keyboards/kbdfans/kbd66/config.h8
-rw-r--r--keyboards/kbdfans/kbd66/info.json6
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/info.json8
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/brandonschlack/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/info.json8
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ai03/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi_split_bs/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/info.json5
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/codecoffeecode/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h3
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h41
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c158
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md23
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc68
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk4
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/config.h5
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/info.json7
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/config.h5
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/info.json7
-rwxr-xr-xkeyboards/kbdfans/kbd67/mkiirgb/v3/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v3/info.json7
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/info.json7
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/info.json8
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/readme.md2
-rw-r--r--keyboards/kbdfans/kbd67/rev1/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/rev1/info.json8
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/config.h8
-rw-r--r--keyboards/kbdfans/kbd67/rev2/info.json171
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/brandonschlack/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c58
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md4
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/rev2.h138
-rw-r--r--keyboards/kbdfans/kbd6x/config.h8
-rw-r--r--keyboards/kbdfans/kbd6x/info.json8
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/dbroqua/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/hhkb-default-improved/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/hhkb-default/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/mekberg/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c7
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/wanleg/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd75/config.h6
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c6
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adit/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/digital/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c6
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c22
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/smt/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c4
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c2
-rw-r--r--keyboards/kbdfans/kbd75/rev1/config.h7
-rw-r--r--keyboards/kbdfans/kbd75/rev1/info.json6
-rw-r--r--keyboards/kbdfans/kbd75/rev2/config.h7
-rw-r--r--keyboards/kbdfans/kbd75/rev2/info.json6
-rw-r--r--keyboards/kbdfans/kbd75hs/config.h8
-rw-r--r--keyboards/kbdfans/kbd75hs/info.json8
-rw-r--r--keyboards/kbdfans/kbd75hs/readme.md2
-rw-r--r--keyboards/kbdfans/kbd75rgb/config.h8
-rw-r--r--keyboards/kbdfans/kbd75rgb/info.json106
-rw-r--r--keyboards/kbdfans/kbd75rgb/readme.md2
-rw-r--r--keyboards/kbdfans/kbd8x/config.h8
-rw-r--r--keyboards/kbdfans/kbd8x/info.json8
-rw-r--r--keyboards/kbdfans/kbd8x_mk2/config.h8
-rw-r--r--keyboards/kbdfans/kbd8x_mk2/info.json8
-rw-r--r--keyboards/kbdfans/kbdmini/config.h8
-rw-r--r--keyboards/kbdfans/kbdmini/info.json8
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/config.h6
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/info.json8
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/config.h8
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/info.json8
-rwxr-xr-xkeyboards/kbdfans/maja/config.h6
-rw-r--r--keyboards/kbdfans/maja/info.json8
-rwxr-xr-xkeyboards/kbdfans/maja_soldered/config.h6
-rw-r--r--keyboards/kbdfans/maja_soldered/info.json8
-rw-r--r--keyboards/kbdfans/niu_mini/config.h9
-rw-r--r--keyboards/kbdfans/niu_mini/info.json6
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c32
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c2
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c4
-rw-r--r--keyboards/kbdfans/odin/rgb/config.h7
-rw-r--r--keyboards/kbdfans/odin/rgb/info.json10
-rw-r--r--keyboards/kbdfans/odin/rgb/readme.md2
-rw-r--r--keyboards/kbdfans/odin/soldered/config.h8
-rw-r--r--keyboards/kbdfans/odin/soldered/info.json10
-rw-r--r--keyboards/kbdfans/odin/soldered/readme.md2
-rw-r--r--keyboards/kbdfans/phaseone/config.h8
-rw-r--r--keyboards/kbdfans/phaseone/info.json6
-rw-r--r--keyboards/kbdfans/phaseone/readme.md2
-rw-r--r--keyboards/kbdfans/tiger80/config.h8
-rw-r--r--keyboards/kbdfans/tiger80/info.json8
-rw-r--r--keyboards/kbdfans/tiger80/readme.md2
-rw-r--r--keyboards/kbnordic/nordic60/info.json361
-rw-r--r--keyboards/kbnordic/nordic60/keymaps/all/keymap.c2
-rw-r--r--keyboards/kbnordic/nordic60/readme.md2
-rw-r--r--keyboards/kbnordic/nordic60/rev_a/config.h7
-rw-r--r--keyboards/kbnordic/nordic60/rev_a/info.json367
-rw-r--r--keyboards/kc60/config.h8
-rw-r--r--keyboards/kc60/info.json6
-rw-r--r--keyboards/kc60/keymaps/noroadsleft/keymap.c6
-rw-r--r--keyboards/kc60/keymaps/sgoodwin/keymap.c2
-rw-r--r--keyboards/kc60/keymaps/stanleylai/keymap.c4
-rw-r--r--keyboards/kc60/keymaps/wigguno/keymap.c2
-rw-r--r--keyboards/kc60/keymaps/workman-dead/keymap.c2
-rw-r--r--keyboards/kc60/keymaps/ws2812/keymap.c2
-rw-r--r--keyboards/kc60se/config.h8
-rw-r--r--keyboards/kc60se/info.json6
-rw-r--r--keyboards/keebio/bamfk1/config.h7
-rw-r--r--keyboards/keebio/bamfk1/info.json6
-rw-r--r--keyboards/keebio/bamfk1/readme.md2
-rw-r--r--keyboards/keebio/bamfk4/bamfk4.c37
-rw-r--r--keyboards/keebio/bamfk4/bamfk4.h12
-rw-r--r--keyboards/keebio/bamfk4/config.h146
-rw-r--r--keyboards/keebio/bamfk4/info.json20
-rw-r--r--keyboards/keebio/bamfk4/keymaps/default/keymap.c18
-rw-r--r--keyboards/keebio/bamfk4/keymaps/via/keymap.c15
-rw-r--r--keyboards/keebio/bamfk4/keymaps/via/rules.mk3
-rw-r--r--keyboards/keebio/bamfk4/rules.mk23
-rw-r--r--keyboards/keebio/bdn9/info.json5
-rw-r--r--keyboards/keebio/bdn9/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/keebio/bdn9/keymaps/codecoffeecode/keymap.c4
-rw-r--r--keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c4
-rw-r--r--keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c2
-rw-r--r--keyboards/keebio/bdn9/keymaps/mousepad/keymap.c2
-rw-r--r--keyboards/keebio/bdn9/keymaps/rishka/keymap.c4
-rw-r--r--keyboards/keebio/bdn9/keymaps/via/keymap.c33
-rw-r--r--keyboards/keebio/bdn9/keymaps/via/rules.mk1
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c2
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c4
-rw-r--r--keyboards/keebio/bdn9/rev1/config.h7
-rw-r--r--keyboards/keebio/bdn9/rev1/info.json7
-rw-r--r--keyboards/keebio/bdn9/rev2/config.h9
-rw-r--r--keyboards/keebio/bdn9/rev2/info.json7
-rw-r--r--keyboards/keebio/bfo9000/config.h7
-rw-r--r--keyboards/keebio/bfo9000/info.json8
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c5
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c6
-rw-r--r--keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c20
-rw-r--r--keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c4
-rw-r--r--keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c6
-rw-r--r--keyboards/keebio/bigswitchseat/config.h7
-rw-r--r--keyboards/keebio/bigswitchseat/info.json6
-rw-r--r--keyboards/keebio/bigswitchseat/readme.md2
-rw-r--r--keyboards/keebio/choconum/config.h7
-rw-r--r--keyboards/keebio/choconum/info.json6
-rw-r--r--keyboards/keebio/chocopad/config.h7
-rw-r--r--keyboards/keebio/chocopad/info.json6
-rw-r--r--keyboards/keebio/chocopad/keymaps/khord/keymap.c2
-rw-r--r--keyboards/keebio/dilly/config.h8
-rw-r--r--keyboards/keebio/dilly/info.json6
-rw-r--r--keyboards/keebio/dsp40/info.json105
-rw-r--r--keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c2
-rw-r--r--keyboards/keebio/dsp40/rev1/config.h7
-rw-r--r--keyboards/keebio/dsp40/rev1/info.json111
-rw-r--r--keyboards/keebio/ergodicity/config.h8
-rw-r--r--keyboards/keebio/ergodicity/info.json6
-rw-r--r--keyboards/keebio/foldkb/info.json87
-rw-r--r--keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c2
-rw-r--r--keyboards/keebio/foldkb/rev1/config.h7
-rw-r--r--keyboards/keebio/foldkb/rev1/info.json93
-rw-r--r--keyboards/keebio/fourier/config.h7
-rw-r--r--keyboards/keebio/fourier/info.json6
-rw-r--r--keyboards/keebio/fourier/keymaps/maxim/keymap.c2
-rw-r--r--keyboards/keebio/iris/info.json5
-rw-r--r--keyboards/keebio/iris/iris.h4
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/config.h24
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/keymap.c82
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/rules.mk6
-rw-r--r--keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/ave-63/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/bmoorey/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/boo/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/compilation-error/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/config.h7
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/rules.mk2
-rw-r--r--keyboards/keebio/iris/keymaps/davidrambo/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/ddone/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/default/config.h21
-rw-r--r--keyboards/keebio/iris/keymaps/default/keymap.c20
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json2
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/emp/config.h97
-rw-r--r--keyboards/keebio/iris/keymaps/emp/keymap.c277
-rw-r--r--keyboards/keebio/iris/keymaps/fluffactually/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c6
-rw-r--r--keyboards/keebio/iris/keymaps/khang/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/khord/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/keebio/iris/keymaps/mattly/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/mnil/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/mojitas/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/omgvee/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/osiris/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/config.h37
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/keymap.c193
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/light_layers.h179
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/readme.md137
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/rules.mk3
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/keymap.c5
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/config.h62
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/keymap.c261
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/readme.md15
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/rules.mk15
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/two_knob.json185
-rw-r--r--keyboards/keebio/iris/keymaps/via/keymap.c30
-rw-r--r--keyboards/keebio/iris/keymaps/via/rules.mk1
-rw-r--r--keyboards/keebio/iris/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/yoonbae81/keymap.c2
-rw-r--r--keyboards/keebio/iris/rev1/config.h7
-rw-r--r--keyboards/keebio/iris/rev1/info.json7
-rw-r--r--keyboards/keebio/iris/rev1_led/config.h7
-rw-r--r--keyboards/keebio/iris/rev1_led/info.json7
-rw-r--r--keyboards/keebio/iris/rev2/config.h7
-rw-r--r--keyboards/keebio/iris/rev2/info.json7
-rw-r--r--keyboards/keebio/iris/rev3/config.h7
-rw-r--r--keyboards/keebio/iris/rev3/info.json7
-rw-r--r--keyboards/keebio/iris/rev4/config.h7
-rw-r--r--keyboards/keebio/iris/rev4/info.json7
-rw-r--r--keyboards/keebio/iris/rev5/config.h7
-rw-r--r--keyboards/keebio/iris/rev5/info.json7
-rw-r--r--keyboards/keebio/iris/rev6/config.h7
-rw-r--r--keyboards/keebio/iris/rev6/info.json7
-rw-r--r--keyboards/keebio/iris/rev6/rev6.c4
-rw-r--r--keyboards/keebio/iris/rev6a/config.h15
-rw-r--r--keyboards/keebio/iris/rev6a/info.json7
-rw-r--r--keyboards/keebio/iris/rev6a/rev6a.c59
-rw-r--r--keyboards/keebio/iris/rev6b/config.h121
-rw-r--r--keyboards/keebio/iris/rev6b/info.json7
-rw-r--r--keyboards/keebio/iris/rev6b/rev6b.c85
-rw-r--r--keyboards/keebio/iris/rev6b/rev6b.h42
-rw-r--r--keyboards/keebio/iris/rev6b/rules.mk24
-rw-r--r--keyboards/keebio/iris/rev7/config.h122
-rw-r--r--keyboards/keebio/iris/rev7/info.json7
-rw-r--r--keyboards/keebio/iris/rev7/rev7.c99
-rw-r--r--keyboards/keebio/iris/rev7/rev7.h42
-rw-r--r--keyboards/keebio/iris/rev7/rules.mk24
-rw-r--r--keyboards/keebio/kbo5000/info.json337
-rw-r--r--keyboards/keebio/kbo5000/rev1/config.h7
-rw-r--r--keyboards/keebio/kbo5000/rev1/info.json343
-rw-r--r--keyboards/keebio/laplace/config.h7
-rw-r--r--keyboards/keebio/laplace/info.json6
-rw-r--r--keyboards/keebio/levinson/info.json4
-rw-r--r--keyboards/keebio/levinson/keymaps/atreus/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/default/keymap.c14
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/keymap.c4
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/rgb.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/rgb.h2
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/jyh2/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/losinggeneration/keymap.c4
-rw-r--r--keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/numpad/keymap.c4
-rw-r--r--keyboards/keebio/levinson/keymaps/treadwell/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c6
-rw-r--r--keyboards/keebio/levinson/rev1/config.h7
-rw-r--r--keyboards/keebio/levinson/rev1/info.json7
-rw-r--r--keyboards/keebio/levinson/rev2/config.h7
-rw-r--r--keyboards/keebio/levinson/rev2/info.json7
-rw-r--r--keyboards/keebio/levinson/rev3/config.h7
-rw-r--r--keyboards/keebio/levinson/rev3/info.json7
-rw-r--r--keyboards/keebio/nyquist/info.json5
-rw-r--r--keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c4
-rw-r--r--keyboards/keebio/nyquist/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/danielhklein/config.h4
-rw-r--r--keyboards/keebio/nyquist/keymaps/default/keymap.c14
-rw-r--r--keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/losinggeneration/keymap.c4
-rw-r--r--keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c4
-rw-r--r--keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/pitty/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/pjanx/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/skug/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/tester/keymap.c2
-rwxr-xr-xkeyboards/keebio/nyquist/keymaps/winternebs/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/yshrsmz/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/rev1/config.h7
-rw-r--r--keyboards/keebio/nyquist/rev1/info.json7
-rw-r--r--keyboards/keebio/nyquist/rev2/config.h7
-rw-r--r--keyboards/keebio/nyquist/rev2/info.json7
-rw-r--r--keyboards/keebio/nyquist/rev3/config.h7
-rw-r--r--keyboards/keebio/nyquist/rev3/info.json7
-rw-r--r--keyboards/keebio/quefrency/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/default/config.h3
-rw-r--r--keyboards/keebio/quefrency/keymaps/default/keymap.c52
-rw-r--r--keyboards/keebio/quefrency/keymaps/default60/config.h27
-rw-r--r--keyboards/keebio/quefrency/keymaps/default60/keymap.c35
-rw-r--r--keyboards/keebio/quefrency/keymaps/default65macro/config.h24
-rw-r--r--keyboards/keebio/quefrency/keymaps/default65macro/keymap.c50
-rw-r--r--keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/keebio/quefrency/keymaps/via/keymap.c9
-rw-r--r--keyboards/keebio/quefrency/keymaps/via/rules.mk1
-rw-r--r--keyboards/keebio/quefrency/quefrency.h3
-rw-r--r--keyboards/keebio/quefrency/rev1/config.h7
-rw-r--r--keyboards/keebio/quefrency/rev1/info.json8
-rw-r--r--keyboards/keebio/quefrency/rev2/config.h18
-rw-r--r--keyboards/keebio/quefrency/rev2/info.json8
-rw-r--r--keyboards/keebio/quefrency/rev2/rev2.c2
-rw-r--r--keyboards/keebio/quefrency/rev3/config.h18
-rw-r--r--keyboards/keebio/quefrency/rev3/info.json8
-rw-r--r--keyboards/keebio/quefrency/rev3/rev3.c2
-rw-r--r--keyboards/keebio/quefrency/rev4/config.h18
-rw-r--r--keyboards/keebio/quefrency/rev4/info.json475
-rw-r--r--keyboards/keebio/quefrency/rev4/rev4.c2
-rw-r--r--keyboards/keebio/quefrency/rev4/rev4.h80
-rw-r--r--keyboards/keebio/quefrency/rev5/config.h62
-rw-r--r--keyboards/keebio/quefrency/rev5/info.json376
-rw-r--r--keyboards/keebio/quefrency/rev5/readme.md18
-rw-r--r--keyboards/keebio/quefrency/rev5/rev5.c37
-rw-r--r--keyboards/keebio/quefrency/rev5/rev5.h120
-rw-r--r--keyboards/keebio/quefrency/rev5/rules.mk4
-rw-r--r--keyboards/keebio/rorschach/info.json73
-rw-r--r--keyboards/keebio/rorschach/keymaps/default/keymap.c10
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c6
-rw-r--r--keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c6
-rw-r--r--keyboards/keebio/rorschach/rev1/config.h7
-rw-r--r--keyboards/keebio/rorschach/rev1/info.json79
-rw-r--r--keyboards/keebio/sinc/info.json5
-rw-r--r--keyboards/keebio/sinc/rev1/config.h7
-rw-r--r--keyboards/keebio/sinc/rev1/info.json7
-rw-r--r--keyboards/keebio/sinc/rev2/config.h7
-rw-r--r--keyboards/keebio/sinc/rev2/info.json7
-rw-r--r--keyboards/keebio/stick/config.h7
-rw-r--r--keyboards/keebio/stick/info.json6
-rw-r--r--keyboards/keebio/tragicforce68/config.h8
-rw-r--r--keyboards/keebio/tragicforce68/info.json6
-rw-r--r--keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c2
-rwxr-xr-xkeyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c2
-rw-r--r--keyboards/keebio/tukey/config.h7
-rw-r--r--keyboards/keebio/tukey/info.json6
-rw-r--r--keyboards/keebio/viterbi/info.json5
-rw-r--r--keyboards/keebio/viterbi/keymaps/default/keymap.c10
-rw-r--r--keyboards/keebio/viterbi/keymaps/vosechu/keymap.c2
-rw-r--r--keyboards/keebio/viterbi/rev1/config.h7
-rw-r--r--keyboards/keebio/viterbi/rev1/info.json7
-rw-r--r--keyboards/keebio/viterbi/rev2/config.h7
-rw-r--r--keyboards/keebio/viterbi/rev2/info.json7
-rw-r--r--keyboards/keebio/wavelet/config.h7
-rw-r--r--keyboards/keebio/wavelet/info.json6
-rw-r--r--keyboards/keebio/wavelet/keymaps/default/keymap.c14
-rw-r--r--keyboards/keebio/wtf60/config.h7
-rw-r--r--keyboards/keebio/wtf60/info.json6
-rw-r--r--keyboards/keebmonkey/kbmg68/config.h61
-rw-r--r--keyboards/keebmonkey/kbmg68/info.json86
-rw-r--r--keyboards/keebmonkey/kbmg68/kbmg68.c20
-rw-r--r--keyboards/keebmonkey/kbmg68/kbmg68.h38
-rw-r--r--keyboards/keebmonkey/kbmg68/keymaps/default/keymap.c45
-rw-r--r--keyboards/keebmonkey/kbmg68/readme.md27
-rw-r--r--keyboards/keebmonkey/kbmg68/rules.mk20
-rw-r--r--keyboards/keebsforall/coarse60/config.h7
-rw-r--r--keyboards/keebsforall/coarse60/info.json6
-rw-r--r--keyboards/keebsforall/coarse60/readme.md2
-rw-r--r--keyboards/keebsforall/freebird60/config.h8
-rw-r--r--keyboards/keebsforall/freebird60/info.json8
-rw-r--r--keyboards/keebsforall/freebirdnp/lite/config.h8
-rw-r--r--keyboards/keebsforall/freebirdnp/lite/info.json9
-rw-r--r--keyboards/keebsforall/freebirdnp/lite/readme.md2
-rw-r--r--keyboards/keebsforall/freebirdnp/pro/config.h8
-rw-r--r--keyboards/keebsforall/freebirdnp/pro/info.json9
-rw-r--r--keyboards/keebsforall/freebirdnp/pro/readme.md2
-rw-r--r--keyboards/keebsforall/freebirdtkl/config.h8
-rw-r--r--keyboards/keebsforall/freebirdtkl/info.json6
-rw-r--r--keyboards/keebsforall/freebirdtkl/readme.md2
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/config.h7
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/info.json8
-rw-r--r--keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c2
-rw-r--r--keyboards/keebwerk/nano_slider/config.h8
-rw-r--r--keyboards/keebwerk/nano_slider/info.json6
-rw-r--r--keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c6
-rw-r--r--keyboards/keebwerk/nano_slider/keymaps/via/keymap.c67
-rw-r--r--keyboards/keebwerk/nano_slider/keymaps/via/rules.mk1
-rw-r--r--keyboards/keebzdotnet/fme/config.h8
-rw-r--r--keyboards/keebzdotnet/fme/info.json6
-rw-r--r--keyboards/keebzdotnet/wazowski/config.h8
-rw-r--r--keyboards/keebzdotnet/wazowski/info.json8
-rw-r--r--keyboards/kegen/gboy/config.h60
-rw-r--r--keyboards/kegen/gboy/gboy.c18
-rw-r--r--keyboards/kegen/gboy/gboy.h68
-rw-r--r--keyboards/kegen/gboy/info.json92
-rw-r--r--keyboards/kegen/gboy/keymaps/default/keymap.c54
-rw-r--r--keyboards/kegen/gboy/keymaps/via/keymap.c54
-rw-r--r--keyboards/kegen/gboy/keymaps/via/rules.mk1
-rw-r--r--keyboards/kegen/gboy/readme.md28
-rw-r--r--keyboards/kegen/gboy/rules.mk18
-rw-r--r--keyboards/keybage/radpad/config.h8
-rw-r--r--keyboards/keybage/radpad/info.json8
-rw-r--r--keyboards/keybee/keybee65/config.h8
-rw-r--r--keyboards/keybee/keybee65/info.json6
-rw-r--r--keyboards/keybee/keybee65/readme.md2
-rw-r--r--keyboards/keyboardio/atreus/config.h9
-rw-r--r--keyboards/keyboardio/atreus/info.json8
-rw-r--r--keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c2
-rw-r--r--keyboards/keyboardio/atreus/keymaps/dshields/keymap.c4
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/config.h27
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c127
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md7
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk3
-rw-r--r--keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c2
-rw-r--r--keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c4
-rw-r--r--keyboards/keyboardio/model01/config.h7
-rw-r--r--keyboards/keyboardio/model01/info.json8
-rw-r--r--keyboards/keyboardio/model01/keymaps/dshields/keymap.c4
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c2
-rw-r--r--keyboards/keycapsss/kimiko/info.json75
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/default/keymap.c83
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/default/rules.mk2
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h75
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c251
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c413
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk21
-rw-r--r--keyboards/keycapsss/kimiko/kimiko.c61
-rw-r--r--keyboards/keycapsss/kimiko/kimiko.h25
-rw-r--r--keyboards/keycapsss/kimiko/rev1/config.h7
-rw-r--r--keyboards/keycapsss/kimiko/rev1/info.json81
-rw-r--r--keyboards/keycapsss/o4l_5x12/config.h8
-rw-r--r--keyboards/keycapsss/o4l_5x12/info.json8
-rw-r--r--keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c2
-rw-r--r--keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c2
-rw-r--r--keyboards/keycapsss/plaid_pad/config.h5
-rw-r--r--keyboards/keycapsss/plaid_pad/info.json6
-rw-r--r--keyboards/keycapsss/plaid_pad/rev1/config.h5
-rw-r--r--keyboards/keycapsss/plaid_pad/rev1/info.json6
-rw-r--r--keyboards/keycapsss/plaid_pad/rev2/config.h5
-rw-r--r--keyboards/keycapsss/plaid_pad/rev2/info.json6
-rw-r--r--keyboards/keycapsss/plaid_pad/rev3/config.h5
-rw-r--r--keyboards/keycapsss/plaid_pad/rev3/info.json6
-rw-r--r--keyboards/keychron/q0/config.h101
-rw-r--r--keyboards/keychron/q0/halconf.h21
-rw-r--r--keyboards/keychron/q0/mcuconf.h22
-rw-r--r--keyboards/keychron/q0/q0.c57
-rw-r--r--keyboards/keychron/q0/q0.h23
-rw-r--r--keyboards/keychron/q0/readme.md19
-rw-r--r--keyboards/keychron/q0/rev_0130/config.h24
-rw-r--r--keyboards/keychron/q0/rev_0130/info.json43
-rw-r--r--keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c37
-rw-r--r--keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c53
-rw-r--r--keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk1
-rw-r--r--keyboards/keychron/q0/rev_0130/readme.md1
-rw-r--r--keyboards/keychron/q0/rev_0130/rev_0130.c88
-rw-r--r--keyboards/keychron/q0/rev_0130/rev_0130.h38
-rw-r--r--keyboards/keychron/q0/rev_0130/rules.mk27
-rw-r--r--keyboards/keychron/q1/config.h5
-rw-r--r--keyboards/keychron/q1/rev_0100/config.h5
-rw-r--r--keyboards/keychron/q1/rev_0100/info.json8
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h32
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap.c95
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h48
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/readme.md13
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c91
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.h25
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/rules.mk14
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c50
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.h23
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c49
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.h38
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c28
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c50
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.h23
-rw-r--r--keyboards/keychron/q1/rev_0101/config.h4
-rw-r--r--keyboards/keychron/q1/rev_0101/info.json8
-rw-r--r--keyboards/keychron/q1/rev_0102/config.h5
-rw-r--r--keyboards/keychron/q1/rev_0102/info.json8
-rw-r--r--keyboards/keychron/q2/config.h8
-rw-r--r--keyboards/keychron/q2/rev_0110/config.h4
-rw-r--r--keyboards/keychron/q2/rev_0110/info.json8
-rw-r--r--keyboards/keychron/q2/rev_0110/rules.mk3
-rw-r--r--keyboards/keychron/q2/rev_0111/config.h4
-rw-r--r--keyboards/keychron/q2/rev_0111/info.json8
-rw-r--r--keyboards/keychron/q2/rev_0111/rules.mk3
-rw-r--r--keyboards/keychron/q2/rev_0112/config.h4
-rw-r--r--keyboards/keychron/q2/rev_0112/info.json8
-rw-r--r--keyboards/keychron/q2/rev_0112/rules.mk3
-rw-r--r--keyboards/keychron/q2/rev_0113/config.h4
-rw-r--r--keyboards/keychron/q2/rev_0113/info.json8
-rw-r--r--keyboards/keychron/q2/rev_0113/rules.mk3
-rw-r--r--keyboards/keyhive/absinthe/config.h8
-rw-r--r--keyboards/keyhive/absinthe/info.json6
-rw-r--r--keyboards/keyhive/ergosaurus/config.h8
-rw-r--r--keyboards/keyhive/ergosaurus/info.json6
-rwxr-xr-xkeyboards/keyhive/honeycomb/config.h8
-rw-r--r--keyboards/keyhive/honeycomb/info.json6
-rwxr-xr-xkeyboards/keyhive/honeycomb/keymaps/default/keymap.c2
-rw-r--r--keyboards/keyhive/lattice60/config.h8
-rw-r--r--keyboards/keyhive/lattice60/info.json8
-rw-r--r--keyboards/keyhive/maypad/config.h8
-rw-r--r--keyboards/keyhive/maypad/info.json6
-rw-r--r--keyboards/keyhive/navi10/info.json5
-rw-r--r--keyboards/keyhive/navi10/keymaps/default/keymap.c2
-rw-r--r--keyboards/keyhive/navi10/keymaps/devdev/keymap.c2
-rw-r--r--keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c2
-rw-r--r--keyboards/keyhive/navi10/rev0/config.h8
-rw-r--r--keyboards/keyhive/navi10/rev0/info.json5
-rw-r--r--keyboards/keyhive/navi10/rev2/config.h8
-rw-r--r--keyboards/keyhive/navi10/rev2/info.json5
-rw-r--r--keyboards/keyhive/navi10/rev3/config.h8
-rw-r--r--keyboards/keyhive/navi10/rev3/info.json5
-rw-r--r--keyboards/keyhive/opus/config.h8
-rw-r--r--keyboards/keyhive/opus/info.json8
-rw-r--r--keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c2
-rw-r--r--keyboards/keyhive/smallice/config.h8
-rw-r--r--keyboards/keyhive/smallice/info.json6
-rw-r--r--keyboards/keyhive/southpole/config.h8
-rw-r--r--keyboards/keyhive/southpole/info.json6
-rw-r--r--keyboards/keyhive/southpole/keymaps/foobeard/keymap.c2
-rw-r--r--keyboards/keyhive/uno/info.json6
-rw-r--r--keyboards/keyhive/uno/rev1/config.h8
-rw-r--r--keyboards/keyhive/uno/rev1/info.json6
-rw-r--r--keyboards/keyhive/uno/rev2/config.h8
-rw-r--r--keyboards/keyhive/uno/rev2/info.json6
-rw-r--r--keyboards/keyhive/ut472/config.h8
-rw-r--r--keyboards/keyhive/ut472/info.json6
-rwxr-xr-xkeyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json2
-rw-r--r--keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c2
-rw-r--r--keyboards/keyhive/ut472/keymaps/gardego5/keymap.c116
-rw-r--r--keyboards/keyhive/ut472/keymaps/gardego5/readme.md5
-rw-r--r--keyboards/keyhive/ut472/keymaps/hvp/keymap.c4
-rw-r--r--keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c2
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/keymap.c2
-rw-r--r--keyboards/keyprez/bison/config.h8
-rw-r--r--keyboards/keyprez/bison/info.json6
-rw-r--r--keyboards/keyprez/corgi/config.h8
-rw-r--r--keyboards/keyprez/corgi/info.json6
-rw-r--r--keyboards/keyprez/rhino/config.h7
-rw-r--r--keyboards/keyprez/rhino/info.json6
-rw-r--r--keyboards/keyprez/unicorn/config.h8
-rw-r--r--keyboards/keyprez/unicorn/info.json6
-rw-r--r--keyboards/keyprez/unicorn/keymaps/jorge/keymap.c2
-rw-r--r--keyboards/keyquest/enclave/config.h52
-rw-r--r--keyboards/keyquest/enclave/info.json27
-rw-r--r--keyboards/keyquest/enclave/keymaps/default/keymap.c51
-rw-r--r--keyboards/keyquest/enclave/keymaps/via/keymap.c50
-rw-r--r--keyboards/keyquest/enclave/keymaps/via/rules.mk1
-rw-r--r--keyboards/keyquest/enclave/readme.md16
-rw-r--r--keyboards/keyquest/enclave/rules.mk19
-rw-r--r--keyboards/keyquest/readme.md4
-rwxr-xr-xkeyboards/keysofkings/twokey/config.h8
-rw-r--r--keyboards/keysofkings/twokey/info.json6
-rw-r--r--keyboards/keystonecaps/gameroyadvance/config.h12
-rw-r--r--keyboards/keystonecaps/gameroyadvance/info.json8
-rw-r--r--keyboards/keystonecaps/gameroyadvance/readme.md2
-rw-r--r--keyboards/keyten/aperture/aperture.c17
-rw-r--r--keyboards/keyten/aperture/aperture.h48
-rw-r--r--keyboards/keyten/aperture/config.h35
-rw-r--r--keyboards/keyten/aperture/info.json89
-rw-r--r--keyboards/keyten/aperture/keymaps/default/keymap.c34
-rw-r--r--keyboards/keyten/aperture/keymaps/default/readme.md1
-rw-r--r--keyboards/keyten/aperture/keymaps/via/keymap.c48
-rw-r--r--keyboards/keyten/aperture/keymaps/via/readme.md1
-rw-r--r--keyboards/keyten/aperture/keymaps/via/rules.mk1
-rw-r--r--keyboards/keyten/aperture/readme.md29
-rw-r--r--keyboards/keyten/aperture/rules.mk19
-rw-r--r--keyboards/keyten/kt60_m/config.h8
-rw-r--r--keyboards/keyten/kt60_m/info.json6
-rw-r--r--keyboards/keyten/kt60_m/readme.md2
-rw-r--r--keyboards/kikkou/config.h9
-rw-r--r--keyboards/kikkou/info.json6
-rw-r--r--keyboards/kikoslab/ellora65/config.h6
-rw-r--r--keyboards/kikoslab/ellora65/info.json6
-rw-r--r--keyboards/kikoslab/ellora65/readme.md2
-rw-r--r--keyboards/kikoslab/kl90/config.h6
-rw-r--r--keyboards/kikoslab/kl90/info.json6
-rw-r--r--keyboards/kin80/blackpill103/config.h2
-rw-r--r--keyboards/kin80/blackpill103/info.json5
-rw-r--r--keyboards/kin80/blackpill401/config.h2
-rw-r--r--keyboards/kin80/blackpill401/info.json5
-rw-r--r--keyboards/kin80/blackpill401/rules.mk1
-rw-r--r--keyboards/kin80/blackpill411/config.h2
-rw-r--r--keyboards/kin80/blackpill411/info.json5
-rw-r--r--keyboards/kin80/blackpill411/rules.mk1
-rw-r--r--keyboards/kin80/info.json194
-rw-r--r--keyboards/kin80/keymaps/andrew/keymap.c4
-rw-r--r--keyboards/kin80/keymaps/maxim/keymap.c2
-rw-r--r--keyboards/kin80/keymaps/quartz64/keymap.c2
-rw-r--r--keyboards/kin80/micro/config.h3
-rw-r--r--keyboards/kin80/micro/info.json5
-rw-r--r--keyboards/kin80/readme.md2
-rw-r--r--keyboards/kindakeyboards/conone65/config.h8
-rw-r--r--keyboards/kindakeyboards/conone65/info.json6
-rw-r--r--keyboards/kinesis/alvicstep/config.h5
-rw-r--r--keyboards/kinesis/alvicstep/info.json9
-rw-r--r--keyboards/kinesis/config.h5
-rw-r--r--keyboards/kinesis/info.json1
-rw-r--r--keyboards/kinesis/keymaps/carpalx/keymap.c4
-rw-r--r--keyboards/kinesis/keymaps/carpalx/readme.md2
-rw-r--r--keyboards/kinesis/keymaps/dvorak/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/farmergreg/keymap.c4
-rw-r--r--keyboards/kinesis/keymaps/heatxsink/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/keymap.c6
-rw-r--r--keyboards/kinesis/keymaps/jwon/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/milestogo/keymap.c10
-rw-r--r--keyboards/kinesis/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/stapelberg/keymap.c30
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/keymap.c6
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/keymap.c2
-rw-r--r--keyboards/kinesis/keymaps/xyverz/keymap.c8
-rw-r--r--keyboards/kinesis/kinesis.h2
-rw-r--r--keyboards/kinesis/kint2pp/config.h5
-rw-r--r--keyboards/kinesis/kint2pp/info.json9
-rw-r--r--keyboards/kinesis/kint36/config.h13
-rw-r--r--keyboards/kinesis/kint36/info.json9
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/keymap.c4
-rw-r--r--keyboards/kinesis/kint36/kint36.c5
-rw-r--r--keyboards/kinesis/kint36/rules.mk3
-rw-r--r--keyboards/kinesis/kint41/config.h13
-rw-r--r--keyboards/kinesis/kint41/info.json9
-rw-r--r--keyboards/kinesis/kint41/kint41.c10
-rw-r--r--keyboards/kinesis/kint41/rules.mk3
-rw-r--r--keyboards/kinesis/kintlc/chconf.h53
-rw-r--r--keyboards/kinesis/kintlc/config.h101
-rw-r--r--keyboards/kinesis/kintlc/info.json9
-rw-r--r--keyboards/kinesis/kintlc/kintlc.c27
-rw-r--r--keyboards/kinesis/kintlc/kintlc.h92
-rw-r--r--keyboards/kinesis/kintlc/mcuconf.h45
-rw-r--r--keyboards/kinesis/kintlc/readme.md3
-rw-r--r--keyboards/kinesis/kintlc/rules.mk9
-rw-r--r--keyboards/kinesis/nguyenvietyen/config.h5
-rw-r--r--keyboards/kinesis/nguyenvietyen/info.json9
-rw-r--r--keyboards/kinesis/stapelberg/config.h5
-rw-r--r--keyboards/kinesis/stapelberg/info.json9
-rw-r--r--keyboards/kineticlabs/emu/hotswap/config.h8
-rw-r--r--keyboards/kineticlabs/emu/hotswap/info.json8
-rw-r--r--keyboards/kineticlabs/emu/soldered/config.h8
-rw-r--r--keyboards/kineticlabs/emu/soldered/info.json8
-rw-r--r--keyboards/kingly_keys/ave/config.h8
-rw-r--r--keyboards/kingly_keys/ave/ortho/info.json8
-rw-r--r--keyboards/kingly_keys/ave/staggered/info.json8
-rw-r--r--keyboards/kingly_keys/little_foot/config.h8
-rw-r--r--keyboards/kingly_keys/little_foot/info.json8
-rw-r--r--keyboards/kingly_keys/little_foot/keymaps/yanfali/keymap.c2
-rw-r--r--keyboards/kingly_keys/romac/config.h7
-rw-r--r--keyboards/kingly_keys/romac/info.json6
-rw-r--r--keyboards/kingly_keys/romac/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/kingly_keys/romac_plus/config.h7
-rw-r--r--keyboards/kingly_keys/romac_plus/info.json6
-rw-r--r--keyboards/kingly_keys/ropro/config.h8
-rw-r--r--keyboards/kingly_keys/ropro/info.json8
-rw-r--r--keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c2
-rw-r--r--keyboards/kingly_keys/smd_milk/config.h8
-rw-r--r--keyboards/kingly_keys/smd_milk/info.json8
-rw-r--r--keyboards/kingly_keys/soap/config.h8
-rw-r--r--keyboards/kingly_keys/soap/info.json8
-rw-r--r--keyboards/kira75/config.h8
-rw-r--r--keyboards/kira75/info.json6
-rw-r--r--keyboards/kira80/config.h8
-rw-r--r--keyboards/kira80/info.json8
-rw-r--r--keyboards/kira80/keymaps/ansi_wkl/keymap.c2
-rw-r--r--keyboards/kiwikeebs/macro/config.h8
-rw-r--r--keyboards/kiwikeebs/macro/info.json8
-rw-r--r--keyboards/kiwikeebs/macro_v2/config.h8
-rw-r--r--keyboards/kiwikeebs/macro_v2/info.json8
-rw-r--r--keyboards/kiwikey/borderland/config.h8
-rw-r--r--keyboards/kiwikey/borderland/info.json6
-rw-r--r--keyboards/kiwikey/borderland/readme.md2
-rw-r--r--keyboards/kiwikey/kawii9/config.h8
-rw-r--r--keyboards/kiwikey/kawii9/info.json6
-rw-r--r--keyboards/kiwikey/wanderland/config.h8
-rw-r--r--keyboards/kiwikey/wanderland/info.json6
-rw-r--r--keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/kkatano/bakeneko60/config.h8
-rw-r--r--keyboards/kkatano/bakeneko60/info.json6
-rw-r--r--keyboards/kkatano/bakeneko65/rev2/config.h8
-rw-r--r--keyboards/kkatano/bakeneko65/rev2/info.json6
-rw-r--r--keyboards/kkatano/bakeneko65/rev3/config.h8
-rw-r--r--keyboards/kkatano/bakeneko65/rev3/info.json6
-rw-r--r--keyboards/kkatano/bakeneko80/config.h8
-rw-r--r--keyboards/kkatano/bakeneko80/info.json6
-rw-r--r--keyboards/kkatano/wallaby/config.h8
-rw-r--r--keyboards/kkatano/wallaby/info.json6
-rw-r--r--keyboards/kkatano/yurei/config.h8
-rw-r--r--keyboards/kkatano/yurei/info.json6
-rw-r--r--keyboards/kmac/config.h8
-rw-r--r--keyboards/kmac/info.json8
-rw-r--r--keyboards/kmac_pad/config.h8
-rw-r--r--keyboards/kmac_pad/info.json6
-rwxr-xr-xkeyboards/kmini/config.h8
-rwxr-xr-xkeyboards/kmini/info.json6
-rw-r--r--keyboards/knobgoblin/config.h7
-rw-r--r--keyboards/knobgoblin/info.json8
-rw-r--r--keyboards/knobgoblin/keymaps/moults31/keymap.c2
-rw-r--r--keyboards/knops/mini/config.h8
-rw-r--r--keyboards/knops/mini/info.json7
-rw-r--r--keyboards/knops/mini/keymaps/mverteuil/keymap.c2
-rw-r--r--keyboards/kona_classic/config.h8
-rw-r--r--keyboards/kona_classic/info.json6
-rw-r--r--keyboards/kona_classic/keymaps/ansi_arrows/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/ansi_arrows_lcap/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/ansi_split/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/ansi_split_arrows/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/iso_arrows/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/iso_split/keymap.c2
-rw-r--r--keyboards/kona_classic/keymaps/iso_split_arrows/keymap.c2
-rw-r--r--keyboards/kopibeng/mnk65/config.h8
-rw-r--r--keyboards/kopibeng/mnk65/info.json8
-rw-r--r--keyboards/kopibeng/mnk65/readme.md2
-rw-r--r--keyboards/kopibeng/mnk88/config.h9
-rw-r--r--keyboards/kopibeng/mnk88/info.json8
-rw-r--r--keyboards/kopibeng/typ65/config.h7
-rw-r--r--keyboards/kopibeng/typ65/info.json8
-rw-r--r--keyboards/kopibeng/typ65/readme.md2
-rw-r--r--keyboards/kopibeng/xt60/config.h7
-rw-r--r--keyboards/kopibeng/xt60/info.json8
-rw-r--r--keyboards/kopibeng/xt60/readme.md2
-rw-r--r--keyboards/kopibeng/xt60_singa/config.h74
-rw-r--r--keyboards/kopibeng/xt60_singa/info.json87
-rw-r--r--keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c57
-rw-r--r--keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c57
-rw-r--r--keyboards/kopibeng/xt60_singa/keymaps/via/rules.mk2
-rw-r--r--keyboards/kopibeng/xt60_singa/readme.md21
-rw-r--r--keyboards/kopibeng/xt60_singa/rules.mk18
-rw-r--r--keyboards/kopibeng/xt60_singa/xt60_singa.c17
-rw-r--r--keyboards/kopibeng/xt60_singa/xt60_singa.h55
-rw-r--r--keyboards/kopibeng/xt65/config.h8
-rw-r--r--keyboards/kopibeng/xt65/info.json8
-rw-r--r--keyboards/kopibeng/xt8x/config.h7
-rw-r--r--keyboards/kopibeng/xt8x/info.json8
-rw-r--r--keyboards/kopibeng/xt8x/readme.md2
-rw-r--r--keyboards/kprepublic/bm16a/config.h8
-rw-r--r--keyboards/kprepublic/bm16a/info.json6
-rw-r--r--keyboards/kprepublic/bm16a/keymaps/factory/keymap.c2
-rwxr-xr-xkeyboards/kprepublic/bm16s/config.h8
-rw-r--r--keyboards/kprepublic/bm16s/info.json6
-rwxr-xr-xkeyboards/kprepublic/bm16s/keymaps/media/keymap.c2
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/config.h8
-rw-r--r--keyboards/kprepublic/bm40hsrgb/info.json8
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h56
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c91
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md63
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h85
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c165
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md55
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c332
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md3
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h7
-rwxr-xr-xkeyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h4
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c2
-rw-r--r--keyboards/kprepublic/bm43a/config.h7
-rw-r--r--keyboards/kprepublic/bm43a/info.json6
-rw-r--r--keyboards/kprepublic/bm43a/keymaps/stevexyz/keymap.c2
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/config.h7
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/info.json8
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/config.h7
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/info.json6
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/config.h8
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/info.json8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h7
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json147
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/via/keymap.c6
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/readme.md6
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json142
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/via/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/readme.md10
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h7
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h7
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c4
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h8
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json8
-rw-r--r--keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c2
-rw-r--r--keyboards/kprepublic/bm65hsrgb/rev1/config.h8
-rw-r--r--keyboards/kprepublic/bm65hsrgb/rev1/info.json6
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h36
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h71
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c471
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md22
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk23
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h7
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json8
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/config.h8
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/info.json8
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h1
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/config.h8
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/info.json8
-rw-r--r--keyboards/kprepublic/bm80hsrgb/config.h8
-rw-r--r--keyboards/kprepublic/bm80hsrgb/info.json6
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c2
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h1
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c2
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c2
-rw-r--r--keyboards/kprepublic/bm80v2/bm80v2.c149
-rw-r--r--keyboards/kprepublic/bm80v2/bm80v2.h34
-rw-r--r--keyboards/kprepublic/bm80v2/config.h75
-rw-r--r--keyboards/kprepublic/bm80v2/info.json109
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/default/keymap.c43
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/via/keymap.c43
-rw-r--r--keyboards/kprepublic/bm80v2/keymaps/via/rules.mk2
-rw-r--r--keyboards/kprepublic/bm80v2/readme.md20
-rw-r--r--keyboards/kprepublic/bm80v2/rules.mk22
-rw-r--r--keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c150
-rw-r--r--keyboards/kprepublic/bm80v2_iso/bm80v2_iso.h36
-rw-r--r--keyboards/kprepublic/bm80v2_iso/config.h76
-rw-r--r--keyboards/kprepublic/bm80v2_iso/info.json110
-rw-r--r--keyboards/kprepublic/bm80v2_iso/keymaps/default/keymap.c43
-rw-r--r--keyboards/kprepublic/bm80v2_iso/keymaps/via/keymap.c43
-rw-r--r--keyboards/kprepublic/bm80v2_iso/keymaps/via/rules.mk2
-rw-r--r--keyboards/kprepublic/bm80v2_iso/readme.md21
-rw-r--r--keyboards/kprepublic/bm80v2_iso/rules.mk25
-rw-r--r--keyboards/kprepublic/bm980hsrgb/config.h8
-rw-r--r--keyboards/kprepublic/bm980hsrgb/info.json8
-rw-r--r--keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c2
-rw-r--r--keyboards/kprepublic/cospad/config.h8
-rw-r--r--keyboards/kprepublic/cospad/info.json6
-rw-r--r--keyboards/kprepublic/cospad/keymaps/detrus/keymap.c8
-rw-r--r--keyboards/kprepublic/cospad/keymaps/split_plus_and_zero/keymap.c2
-rw-r--r--keyboards/kprepublic/cospad/keymaps/split_zero/keymap.c2
-rw-r--r--keyboards/kprepublic/jj40/config.h6
-rw-r--r--keyboards/kprepublic/jj40/info.json8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c168
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/readme.md69
-rw-r--r--keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk1
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c4
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/config.h2
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/keymap.c2
-rw-r--r--keyboards/kprepublic/jj4x4/config.h6
-rw-r--r--keyboards/kprepublic/jj4x4/info.json6
-rw-r--r--keyboards/kprepublic/jj50/config.h6
-rw-r--r--keyboards/kprepublic/jj50/info.json6
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c4
-rw-r--r--keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c4
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/config.h2
-rw-r--r--keyboards/kprepublic/jj50/keymaps/archetype/keymap.c11
-rw-r--r--keyboards/kprepublic/jj50/keymaps/yoonbae81/keymap.c2
-rw-r--r--keyboards/ktec/daisy/config.h8
-rw-r--r--keyboards/ktec/daisy/info.json6
-rw-r--r--keyboards/ktec/ergodone/keymaps/eozaki/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/erovia/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/vega/keymap.c1075
-rwxr-xr-xkeyboards/ktec/staryu/config.h8
-rw-r--r--keyboards/ktec/staryu/info.json8
-rw-r--r--keyboards/kudox/columner/config.h7
-rw-r--r--keyboards/kudox/columner/info.json8
-rw-r--r--keyboards/kudox/rev1/config.h7
-rw-r--r--keyboards/kudox/rev1/info.json8
-rw-r--r--keyboards/kudox/rev2/config.h7
-rw-r--r--keyboards/kudox/rev2/info.json8
-rw-r--r--keyboards/kudox/rev3/config.h7
-rw-r--r--keyboards/kudox/rev3/info.json8
-rw-r--r--keyboards/kudox_full/readme.md2
-rw-r--r--keyboards/kudox_full/rev1/config.h7
-rw-r--r--keyboards/kudox_full/rev1/info.json8
-rw-r--r--keyboards/kudox_game/info.json7
-rw-r--r--keyboards/kudox_game/rev1/config.h7
-rw-r--r--keyboards/kudox_game/rev1/info.json5
-rw-r--r--keyboards/kudox_game/rev2/config.h7
-rw-r--r--keyboards/kudox_game/rev2/info.json5
-rw-r--r--keyboards/kv/revt/config.h8
-rw-r--r--keyboards/kv/revt/info.json6
-rw-r--r--keyboards/kv/revt/keymaps/default/keymap.c2
-rw-r--r--keyboards/kwub/bloop/config.h8
-rw-r--r--keyboards/kwub/bloop/info.json6
-rw-r--r--keyboards/ky01/config.h8
-rw-r--r--keyboards/ky01/info.json8
-rw-r--r--keyboards/labbe/labbeminiv1/config.h8
-rw-r--r--keyboards/labbe/labbeminiv1/info.json6
-rw-r--r--keyboards/labyrinth75/config.h8
-rw-r--r--keyboards/labyrinth75/info.json6
-rw-r--r--keyboards/late9/config.h6
-rw-r--r--keyboards/late9/readme.md2
-rw-r--r--keyboards/late9/rev1/config.h3
-rw-r--r--keyboards/late9/rev1/info.json7
-rw-r--r--keyboards/latincompass/latin17rgb/config.h6
-rw-r--r--keyboards/latincompass/latin17rgb/info.json8
-rw-r--r--keyboards/latincompass/latin47ble/config.h8
-rw-r--r--keyboards/latincompass/latin47ble/info.json8
-rw-r--r--keyboards/latincompass/latin60rgb/config.h6
-rw-r--r--keyboards/latincompass/latin60rgb/info.json8
-rw-r--r--keyboards/latincompass/latin64ble/config.h6
-rw-r--r--keyboards/latincompass/latin64ble/info.json8
-rw-r--r--keyboards/latincompass/latin6rgb/config.h6
-rw-r--r--keyboards/latincompass/latin6rgb/info.json8
-rw-r--r--keyboards/latincompass/latinpad/config.h6
-rw-r--r--keyboards/latincompass/latinpad/info.json6
-rw-r--r--keyboards/latincompass/latinpadble/config.h6
-rw-r--r--keyboards/latincompass/latinpadble/info.json6
-rw-r--r--keyboards/lazydesigners/bolt/config.h7
-rw-r--r--keyboards/lazydesigners/bolt/info.json6
-rw-r--r--keyboards/lazydesigners/bolt/readme.md2
-rwxr-xr-xkeyboards/lazydesigners/cassette8/config.h7
-rwxr-xr-xkeyboards/lazydesigners/cassette8/info.json6
-rwxr-xr-xkeyboards/lazydesigners/cassette8/readme.md2
-rw-r--r--keyboards/lazydesigners/dimple/config.h8
-rw-r--r--keyboards/lazydesigners/dimple/ortho/info.json6
-rw-r--r--keyboards/lazydesigners/dimple/readme.md2
-rw-r--r--keyboards/lazydesigners/dimple/staggered/info.json53
-rw-r--r--keyboards/lazydesigners/dimple/staggered/keymaps/erovia/keymap.c4
-rw-r--r--keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c2
-rw-r--r--keyboards/lazydesigners/dimple/staggered/rev1/info.json54
-rw-r--r--keyboards/lazydesigners/dimple/staggered/rev2/info.json54
-rw-r--r--keyboards/lazydesigners/dimple/staggered/rev3/info.json268
-rw-r--r--keyboards/lazydesigners/dimple/staggered/rev3/rev3.c16
-rw-r--r--keyboards/lazydesigners/dimple/staggered/rev3/rev3.h90
-rw-r--r--keyboards/lazydesigners/dimple/staggered/staggered.h24
-rw-r--r--keyboards/lazydesigners/dimpleplus/config.h7
-rw-r--r--keyboards/lazydesigners/dimpleplus/info.json6
-rw-r--r--keyboards/lazydesigners/dimpleplus/readme.md2
-rw-r--r--keyboards/lazydesigners/the30/config.h7
-rw-r--r--keyboards/lazydesigners/the30/info.json6
-rw-r--r--keyboards/lazydesigners/the40/config.h7
-rw-r--r--keyboards/lazydesigners/the40/info.json6
-rw-r--r--keyboards/lazydesigners/the40/keymaps/ortho/keymap.c2
-rw-r--r--keyboards/lazydesigners/the40/readme.md2
-rw-r--r--keyboards/lazydesigners/the50/config.h8
-rw-r--r--keyboards/lazydesigners/the50/info.json6
-rw-r--r--keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c2
-rw-r--r--keyboards/lazydesigners/the50/readme.md2
-rwxr-xr-xkeyboards/lazydesigners/the60/rev1/config.h8
-rwxr-xr-xkeyboards/lazydesigners/the60/rev1/info.json6
-rwxr-xr-xkeyboards/lazydesigners/the60/rev2/config.h7
-rwxr-xr-xkeyboards/lazydesigners/the60/rev2/info.json8
-rwxr-xr-xkeyboards/lazydesigners/the60/rev2/readme.md2
-rw-r--r--keyboards/leafcutterlabs/bigknob/config.h8
-rw-r--r--keyboards/leafcutterlabs/bigknob/info.json8
-rw-r--r--keyboards/leeku/finger65/config.h8
-rw-r--r--keyboards/leeku/finger65/info.json8
-rw-r--r--keyboards/leeku/finger65/keymaps/madhatter/keymap.c4
-rw-r--r--keyboards/lefty/config.h7
-rw-r--r--keyboards/lefty/info.json8
-rw-r--r--keyboards/lefty/readme.md2
-rw-r--r--keyboards/lets_split/info.json1
-rw-r--r--keyboards/lets_split/keymaps/DE_simple/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/OLED_sample/config.h58
-rw-r--r--keyboards/lets_split/keymaps/OLED_sample/keymap.c415
-rw-r--r--keyboards/lets_split/keymaps/OLED_sample/readme.md25
-rw-r--r--keyboards/lets_split/keymaps/OLED_sample/rules.mk22
-rw-r--r--keyboards/lets_split/keymaps/aerialviews007/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/bbaserdem/README.md27
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem/config.h27
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem/keymap.c35
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem/rules.mk8
-rw-r--r--keyboards/lets_split/keymaps/bbaserdem_right/README.md5
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem_right/config.h9
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem_right/keymap.c31
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem_right/rules.mk19
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/keymap.c4
-rw-r--r--keyboards/lets_split/keymaps/default/keymap.c14
-rw-r--r--keyboards/lets_split/keymaps/dlaroe/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/fabian/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/geripgeri/keymap.c4
-rw-r--r--keyboards/lets_split/keymaps/halvves/keymap.c4
-rw-r--r--keyboards/lets_split/keymaps/heartrobotninja/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/henxing/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/khord/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/kris/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/mbsurfer/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/mekberg/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/mjt/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/normacos/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/piemod/config.h3
-rw-r--r--keyboards/lets_split/keymaps/piemod/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/pitty/keymap.c6
-rw-r--r--keyboards/lets_split/keymaps/poker/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/pyrol/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/shaymdev/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/smt/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/that_canadian/keymap.c6
-rw-r--r--keyboards/lets_split/keymaps/tylerwince/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/vim-mode/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/waples/keymap.c2
-rwxr-xr-xkeyboards/lets_split/keymaps/xk/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/yshrsmz/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/zer09/keymap.c2
-rw-r--r--keyboards/lets_split/rev1/config.h7
-rw-r--r--keyboards/lets_split/rev1/info.json9
-rw-r--r--keyboards/lets_split/rev2/config.h7
-rw-r--r--keyboards/lets_split/rev2/info.json9
-rw-r--r--keyboards/lets_split/sockets/config.h7
-rw-r--r--keyboards/lets_split/sockets/info.json9
-rw-r--r--keyboards/lfkeyboards/lfk65_hs/config.h7
-rw-r--r--keyboards/lfkeyboards/lfk65_hs/info.json6
-rw-r--r--keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c2
-rw-r--r--keyboards/lfkeyboards/lfk78/config.h7
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c2
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c2
-rw-r--r--keyboards/lfkeyboards/lfk78/lfk78.c2
-rw-r--r--keyboards/lfkeyboards/lfk78/revb/config.h1
-rw-r--r--keyboards/lfkeyboards/lfk78/revb/info.json8
-rw-r--r--keyboards/lfkeyboards/lfk78/revc/config.h1
-rw-r--r--keyboards/lfkeyboards/lfk78/revc/info.json8
-rw-r--r--keyboards/lfkeyboards/lfk78/revj/config.h1
-rw-r--r--keyboards/lfkeyboards/lfk78/revj/info.json8
-rw-r--r--keyboards/lfkeyboards/lfk87/config.h10
-rw-r--r--keyboards/lfkeyboards/lfk87/info.json8
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c2
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c2
-rw-r--r--keyboards/lfkeyboards/lfk87/lfk87.c2
-rw-r--r--keyboards/lfkeyboards/lfkpad/config.h8
-rw-r--r--keyboards/lfkeyboards/lfkpad/info.json6
-rw-r--r--keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h3
-rw-r--r--keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c2
-rw-r--r--keyboards/lfkeyboards/mini1800/config.h7
-rw-r--r--keyboards/lfkeyboards/mini1800/info.json6
-rw-r--r--keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c2
-rw-r--r--keyboards/lfkeyboards/mini1800/mini1800.c2
-rw-r--r--keyboards/lfkeyboards/mini1800/readme.md2
-rw-r--r--keyboards/lfkeyboards/mini1800/reva/readme.md2
-rw-r--r--keyboards/lfkeyboards/mini1800/revc/readme.md2
-rw-r--r--keyboards/lfkeyboards/smk65/info.json7
-rw-r--r--keyboards/lfkeyboards/smk65/revb/config.h9
-rw-r--r--keyboards/lfkeyboards/smk65/revb/info.json5
-rw-r--r--keyboards/lfkeyboards/smk65/revb/revb.c2
-rw-r--r--keyboards/lfkeyboards/smk65/revf/config.h8
-rw-r--r--keyboards/lfkeyboards/smk65/revf/info.json5
-rw-r--r--keyboards/lily58/glow_enc/config.h7
-rw-r--r--keyboards/lily58/glow_enc/info.json8
-rw-r--r--keyboards/lily58/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/lily58/keymaps/druotoni/keymap.c2
-rw-r--r--keyboards/lily58/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/lily58/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/lily58/keymaps/muppetjones/README.md13
-rw-r--r--keyboards/lily58/keymaps/muppetjones/config.h44
-rw-r--r--keyboards/lily58/keymaps/muppetjones/features/bongo_cat.c127
-rw-r--r--keyboards/lily58/keymaps/muppetjones/features/bongo_cat.h14
-rw-r--r--keyboards/lily58/keymaps/muppetjones/keymap.c240
-rw-r--r--keyboards/lily58/keymaps/muppetjones/rules.mk17
-rw-r--r--keyboards/lily58/lib/layer_state_reader.c2
-rw-r--r--keyboards/lily58/light/config.h7
-rw-r--r--keyboards/lily58/light/info.json8
-rw-r--r--keyboards/lily58/rev1/config.h7
-rw-r--r--keyboards/lily58/rev1/info.json6
-rw-r--r--keyboards/lime/readme.md2
-rw-r--r--keyboards/lime/rev1/config.h7
-rw-r--r--keyboards/lime/rev1/info.json6
-rw-r--r--keyboards/linworks/dolice/config.h17
-rw-r--r--keyboards/linworks/dolice/info.json6
-rw-r--r--keyboards/linworks/em8/config.h8
-rw-r--r--keyboards/linworks/em8/info.json190
-rw-r--r--keyboards/linworks/em8/keymaps/default/keymap.c52
-rw-r--r--keyboards/linworks/em8/keymaps/via/keymap.c52
-rw-r--r--keyboards/linworks/em8/keymaps/via/rules.mk1
-rw-r--r--keyboards/linworks/em8/readme.md22
-rw-r--r--keyboards/linworks/em8/rules.mk1
-rw-r--r--keyboards/linworks/fave104/chconf.h29
-rw-r--r--keyboards/linworks/fave104/config.h47
-rw-r--r--keyboards/linworks/fave104/fave104.c17
-rw-r--r--keyboards/linworks/fave104/fave104.h86
-rw-r--r--keyboards/linworks/fave104/halconf.h27
-rw-r--r--keyboards/linworks/fave104/info.json382
-rw-r--r--keyboards/linworks/fave104/keymaps/default/keymap.c35
-rw-r--r--keyboards/linworks/fave104/keymaps/via/keymap.c35
-rw-r--r--keyboards/linworks/fave104/keymaps/via/rules.mk1
-rw-r--r--keyboards/linworks/fave104/mcuconf.h27
-rw-r--r--keyboards/linworks/fave104/readme.md18
-rw-r--r--keyboards/linworks/fave104/rules.mk22
-rw-r--r--keyboards/linworks/fave65h/config.h8
-rw-r--r--keyboards/linworks/fave65h/fave65h.h67
-rw-r--r--keyboards/linworks/fave65h/info.json315
-rw-r--r--keyboards/linworks/fave65h/keymaps/default/keymap.c39
-rw-r--r--keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c75
-rw-r--r--keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c75
-rw-r--r--keyboards/linworks/fave65h/keymaps/via/keymap.c45
-rw-r--r--keyboards/linworks/fave65h/readme.md8
-rw-r--r--keyboards/linworks/fave65h/rules.mk4
-rw-r--r--keyboards/linworks/fave84h/config.h8
-rw-r--r--keyboards/linworks/fave84h/info.json8
-rw-r--r--keyboards/linworks/fave84h/readme.md4
-rw-r--r--keyboards/linworks/fave87/config.h8
-rw-r--r--keyboards/linworks/fave87/info.json8
-rw-r--r--keyboards/linworks/fave87h/config.h8
-rw-r--r--keyboards/linworks/fave87h/info.json8
-rw-r--r--keyboards/linworks/fave87h/readme.md4
-rw-r--r--keyboards/linworks/whale75/config.h8
-rw-r--r--keyboards/linworks/whale75/info.json8
-rw-r--r--keyboards/littlealby/mute/config.h8
-rw-r--r--keyboards/littlealby/mute/info.json8
-rw-r--r--keyboards/lizard_trick/tenkey_plusplus/config.h8
-rw-r--r--keyboards/lizard_trick/tenkey_plusplus/info.json8
-rw-r--r--keyboards/ll3macorn/bongopad/config.h8
-rw-r--r--keyboards/ll3macorn/bongopad/info.json8
-rw-r--r--keyboards/lm_keyboard/lm60n/config.h8
-rw-r--r--keyboards/lm_keyboard/lm60n/info.json8
-rw-r--r--keyboards/loki65/config.h12
-rw-r--r--keyboards/loki65/info.json6
-rw-r--r--keyboards/longnald/corin/config.h7
-rw-r--r--keyboards/longnald/corin/info.json6
-rw-r--r--keyboards/lucid/alexa/config.h8
-rw-r--r--keyboards/lucid/alexa/info.json6
-rw-r--r--keyboards/lucid/alexa/readme.md2
-rw-r--r--keyboards/lucid/alexa_solder/config.h8
-rw-r--r--keyboards/lucid/alexa_solder/info.json6
-rw-r--r--keyboards/lucid/kbd8x_hs/config.h8
-rw-r--r--keyboards/lucid/kbd8x_hs/info.json8
-rw-r--r--keyboards/lucid/phantom_hs/config.h8
-rw-r--r--keyboards/lucid/phantom_hs/info.json6
-rw-r--r--keyboards/lucid/phantom_solder/config.h8
-rw-r--r--keyboards/lucid/phantom_solder/info.json6
-rw-r--r--keyboards/lucid/scarlet/config.h8
-rw-r--r--keyboards/lucid/scarlet/info.json8
-rw-r--r--keyboards/lw67/config.h9
-rw-r--r--keyboards/lw67/info.json8
-rw-r--r--keyboards/lyso1/lck75/config.h7
-rw-r--r--keyboards/lyso1/lck75/info.json6
-rw-r--r--keyboards/lyso1/lck75/keymaps/7u/keymap.c2
-rw-r--r--keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c2
-rw-r--r--keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c2
-rw-r--r--keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c2
-rw-r--r--keyboards/lyso1/lck75/keymaps/sbs/keymap.c2
-rw-r--r--keyboards/lyso1/lefishe/config.h8
-rw-r--r--keyboards/lyso1/lefishe/info.json6
-rw-r--r--keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c2
-rw-r--r--keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c2
-rw-r--r--keyboards/lyso1/lefishe/readme.md2
-rw-r--r--keyboards/lz/erghost/config.h8
-rw-r--r--keyboards/lz/erghost/info.json8
-rw-r--r--keyboards/lz/erghost/readme.md2
-rw-r--r--keyboards/m10a/config.h8
-rw-r--r--keyboards/m10a/info.json8
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c4
-rw-r--r--keyboards/machine_industries/m4_a/config.h8
-rw-r--r--keyboards/machine_industries/m4_a/info.json8
-rw-r--r--keyboards/machine_industries/m4_a/readme.md2
-rw-r--r--keyboards/machkeyboards/mach3/config.h7
-rw-r--r--keyboards/machkeyboards/mach3/info.json6
-rw-r--r--keyboards/machkeyboards/mach3/readme.md2
-rw-r--r--keyboards/macro1/config.h8
-rw-r--r--keyboards/macro1/info.json8
-rw-r--r--keyboards/macro3/config.h8
-rw-r--r--keyboards/macro3/info.json6
-rw-r--r--keyboards/macrocat/config.h11
-rw-r--r--keyboards/macrocat/info.json52
-rw-r--r--keyboards/macrocat/keymaps/default/keymap.c19
-rw-r--r--keyboards/macrocat/keymaps/oled/keymap.c31
-rw-r--r--keyboards/macrocat/keymaps/oled/rules.mk3
-rw-r--r--keyboards/macrocat/keymaps/via/keymap.c31
-rw-r--r--keyboards/macrocat/keymaps/via/rules.mk1
-rw-r--r--keyboards/macrocat/macrocat.c193
-rw-r--r--keyboards/macrocat/readme.md27
-rw-r--r--keyboards/macrocat/rules.mk1
-rw-r--r--keyboards/majistic/config.h7
-rw-r--r--keyboards/majistic/info.json6
-rw-r--r--keyboards/makenova/omega/omega4/readme.md2
-rw-r--r--keyboards/makrosu/config.h8
-rw-r--r--keyboards/makrosu/info.json6
-rw-r--r--keyboards/malevolti/lyra/rev1/config.h7
-rw-r--r--keyboards/malevolti/lyra/rev1/info.json8
-rw-r--r--keyboards/malevolti/superlyra/rev1/config.h7
-rw-r--r--keyboards/malevolti/superlyra/rev1/info.json8
-rw-r--r--keyboards/manta60/config.h8
-rw-r--r--keyboards/manta60/info.json6
-rw-r--r--keyboards/manyboard/macro/config.h8
-rw-r--r--keyboards/manyboard/macro/info.json8
-rw-r--r--keyboards/maple_computing/6ball/config.h8
-rw-r--r--keyboards/maple_computing/6ball/info.json6
-rwxr-xr-xkeyboards/maple_computing/c39/config.h7
-rwxr-xr-xkeyboards/maple_computing/c39/info.json6
-rw-r--r--keyboards/maple_computing/christmas_tree/V2017/config.h5
-rw-r--r--keyboards/maple_computing/christmas_tree/V2017/info.json5
-rw-r--r--keyboards/maple_computing/christmas_tree/config.h7
-rw-r--r--keyboards/maple_computing/christmas_tree/info.json5
-rw-r--r--keyboards/maple_computing/ivy/config.h6
-rw-r--r--keyboards/maple_computing/ivy/rev1/config.h3
-rw-r--r--keyboards/maple_computing/ivy/rev1/info.json8
-rw-r--r--keyboards/maple_computing/jnao/config.h8
-rw-r--r--keyboards/maple_computing/jnao/info.json6
-rw-r--r--keyboards/maple_computing/launchpad/config.h6
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/default/keymap.c7
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c8
-rw-r--r--keyboards/maple_computing/launchpad/rev1/config.h3
-rw-r--r--keyboards/maple_computing/launchpad/rev1/info.json8
-rw-r--r--keyboards/maple_computing/lets_split_eh/config.h7
-rw-r--r--keyboards/maple_computing/lets_split_eh/eh/config.h1
-rw-r--r--keyboards/maple_computing/lets_split_eh/eh/info.json8
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md7
-rwxr-xr-xkeyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h4
-rwxr-xr-xkeyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c27
-rwxr-xr-xkeyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk8
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c4
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c4
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c4
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c4
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c4
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c4
-rw-r--r--keyboards/maple_computing/minidox/config.h6
-rw-r--r--keyboards/maple_computing/minidox/keymaps/alairock/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/default/keymap.c10
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c4
-rw-r--r--keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/norman/config.h1
-rw-r--r--keyboards/maple_computing/minidox/keymaps/norman/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c6
-rw-r--r--keyboards/maple_computing/minidox/rev1/config.h2
-rw-r--r--keyboards/maple_computing/minidox/rev1/info.json6
-rw-r--r--keyboards/maple_computing/the_ruler/config.h8
-rw-r--r--keyboards/maple_computing/the_ruler/info.json6
-rw-r--r--keyboards/marksard/leftover30/config.h8
-rw-r--r--keyboards/marksard/leftover30/info.json6
-rw-r--r--keyboards/marksard/rhymestone/info.json211
-rw-r--r--keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c2
-rw-r--r--keyboards/marksard/rhymestone/rev1/config.h8
-rw-r--r--keyboards/marksard/rhymestone/rev1/info.json217
-rw-r--r--keyboards/marksard/treadstone32/info.json6
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c2
-rw-r--r--keyboards/marksard/treadstone32/lite/config.h8
-rw-r--r--keyboards/marksard/treadstone32/lite/info.json6
-rw-r--r--keyboards/marksard/treadstone32/rev1/config.h8
-rw-r--r--keyboards/marksard/treadstone32/rev1/info.json6
-rw-r--r--keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c2
-rw-r--r--keyboards/marksard/treadstone48/rev1/config.h8
-rw-r--r--keyboards/marksard/treadstone48/rev1/info.json6
-rw-r--r--keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c2
-rw-r--r--keyboards/marksard/treadstone48/rev2/config.h8
-rw-r--r--keyboards/marksard/treadstone48/rev2/info.json6
-rw-r--r--keyboards/massdrop/alt/config.h5
-rw-r--r--keyboards/massdrop/alt/info.json5
-rw-r--r--keyboards/massdrop/alt/keymaps/b_/config.h1
-rw-r--r--keyboards/massdrop/alt/keymaps/b_/keymap.c2
-rw-r--r--keyboards/massdrop/alt/keymaps/charlesrocket/config.h19
-rw-r--r--keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c249
-rw-r--r--keyboards/massdrop/alt/keymaps/charlesrocket/rules.mk3
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/config.h1
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/rules.mk1
-rw-r--r--keyboards/massdrop/alt/keymaps/via/config.h22
-rw-r--r--keyboards/massdrop/alt/keymaps/via/keymap.c20
-rw-r--r--keyboards/massdrop/alt/keymaps/via/readme.md24
-rw-r--r--keyboards/massdrop/alt/keymaps/via/rules.mk7
-rw-r--r--keyboards/massdrop/alt/keymaps/xulkal/keymap.c2
-rw-r--r--keyboards/massdrop/ctrl/config.h5
-rw-r--r--keyboards/massdrop/ctrl/info.json5
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/config.h1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/rules.mk1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/matthewrobo/rules.mk1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/via/config.h22
-rw-r--r--keyboards/massdrop/ctrl/keymaps/via/keymap.c140
-rw-r--r--keyboards/massdrop/ctrl/keymaps/via/rules.mk1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/config.h1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk1
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c2
-rw-r--r--keyboards/massdrop/thekey/config.h7
-rw-r--r--keyboards/massdrop/thekey/info.json6
-rw-r--r--keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c24
-rw-r--r--keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c41
-rw-r--r--keyboards/massdrop/thekey_v2/config.h43
-rw-r--r--keyboards/massdrop/thekey_v2/info.json20
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c23
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/default/keymap.c23
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c109
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c109
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c39
-rw-r--r--keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c40
-rw-r--r--keyboards/massdrop/thekey_v2/readme.md38
-rw-r--r--keyboards/massdrop/thekey_v2/rules.mk18
-rw-r--r--keyboards/massdrop/thekey_v2/thekey_v2.c17
-rw-r--r--keyboards/massdrop/thekey_v2/thekey_v2.h27
-rw-r--r--keyboards/masterworks/classy_tkl/info.json277
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/config.h8
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/info.json283
-rw-r--r--keyboards/matchstickworks/southpad/config.h8
-rw-r--r--keyboards/matchstickworks/southpad/info.json6
-rw-r--r--keyboards/matrix/abelx/config.h8
-rw-r--r--keyboards/matrix/abelx/info.json10
-rw-r--r--keyboards/matrix/cain_re/config.h8
-rw-r--r--keyboards/matrix/cain_re/info.json8
-rw-r--r--keyboards/matrix/falcon/config.h8
-rw-r--r--keyboards/matrix/falcon/info.json8
-rw-r--r--keyboards/matrix/falcon/readme.md2
-rw-r--r--keyboards/matrix/m12og/rev1/config.h7
-rw-r--r--keyboards/matrix/m12og/rev1/info.json8
-rw-r--r--keyboards/matrix/m12og/rev2/config.h8
-rw-r--r--keyboards/matrix/m12og/rev2/info.json8
-rw-r--r--keyboards/matrix/m20add/config.h8
-rw-r--r--keyboards/matrix/m20add/info.json8
-rw-r--r--keyboards/matrix/me/config.h8
-rw-r--r--keyboards/matrix/me/info.json6
-rw-r--r--keyboards/matrix/me/readme.md2
-rw-r--r--keyboards/matrix/noah/config.h8
-rw-r--r--keyboards/matrix/noah/info.json6
-rw-r--r--keyboards/matrix/noah/keymaps/blockader/keymap.c2
-rw-r--r--keyboards/matrix/noah/keymaps/rys/keymap.c2
-rw-r--r--keyboards/matrix/noah/keymaps/splitspace/keymap.c2
-rw-r--r--keyboards/matthewdias/m3n3van/config.h9
-rw-r--r--keyboards/matthewdias/m3n3van/info.json6
-rw-r--r--keyboards/matthewdias/minim/config.h9
-rw-r--r--keyboards/matthewdias/minim/info.json6
-rw-r--r--keyboards/matthewdias/model_v/config.h8
-rw-r--r--keyboards/matthewdias/model_v/info.json6
-rw-r--r--keyboards/matthewdias/txuu/config.h9
-rw-r--r--keyboards/matthewdias/txuu/info.json6
-rw-r--r--keyboards/maxipad/config.h7
-rw-r--r--keyboards/maxipad/info.json6
-rw-r--r--keyboards/maxipad/promicro/config.h1
-rw-r--r--keyboards/maxipad/teensy2/config.h1
-rw-r--r--keyboards/maxr1998/phoebe/config.h6
-rw-r--r--keyboards/maxr1998/phoebe/info.json5
-rw-r--r--keyboards/maxr1998/pulse4k/config.h8
-rw-r--r--keyboards/maxr1998/pulse4k/info.json6
-rw-r--r--keyboards/mb44/config.h8
-rw-r--r--keyboards/mb44/info.json6
-rw-r--r--keyboards/mb44/keymaps/2u1u_space/keymap.c2
-rw-r--r--keyboards/mb44/keymaps/2u_space/keymap.c2
-rw-r--r--keyboards/mb44/keymaps/3u_space/keymap.c2
-rw-r--r--keyboards/mc_76k/config.h8
-rw-r--r--keyboards/mc_76k/info.json8
-rw-r--r--keyboards/mechanickeys/miniashen40/config.h8
-rw-r--r--keyboards/mechanickeys/miniashen40/info.json6
-rw-r--r--keyboards/mechanickeys/miniashen40/readme.md4
-rw-r--r--keyboards/mechanickeys/undead60m/config.h8
-rw-r--r--keyboards/mechanickeys/undead60m/info.json8
-rw-r--r--keyboards/mechbrewery/mb65h/config.h8
-rw-r--r--keyboards/mechbrewery/mb65h/info.json8
-rw-r--r--keyboards/mechbrewery/mb65h/keymaps/default/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65h/keymaps/via/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65h/readme.md2
-rw-r--r--keyboards/mechbrewery/mb65s/config.h8
-rw-r--r--keyboards/mechbrewery/mb65s/info.json14
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/ansi_blocker/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/ansi_blocker_7u_spc/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/default/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/iso_blocker/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/iso_blocker_tsangan/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/keymaps/via/keymap.c4
-rw-r--r--keyboards/mechbrewery/mb65s/readme.md2
-rw-r--r--keyboards/mechkeys/acr60/config.h8
-rw-r--r--keyboards/mechkeys/acr60/info.json6
-rw-r--r--keyboards/mechkeys/acr60/keymaps/mitch/keymap.c2
-rwxr-xr-xkeyboards/mechkeys/alu84/config.h8
-rw-r--r--keyboards/mechkeys/alu84/info.json6
-rwxr-xr-xkeyboards/mechkeys/espectro/config.h8
-rw-r--r--keyboards/mechkeys/espectro/info.json6
-rw-r--r--keyboards/mechkeys/espectro/keymaps/mac/keymap.c4
-rw-r--r--keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c4
-rw-r--r--keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c4
-rw-r--r--keyboards/mechkeys/mechmini/v1/config.h6
-rw-r--r--keyboards/mechkeys/mechmini/v1/info.json8
-rw-r--r--keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/config.h9
-rw-r--r--keyboards/mechkeys/mechmini/v2/info.json6
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c2
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c4
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c2
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c2
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c4
-rwxr-xr-xkeyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c2
-rw-r--r--keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c3
-rw-r--r--keyboards/mechkeys/mk60/config.h8
-rw-r--r--keyboards/mechkeys/mk60/info.json6
-rw-r--r--keyboards/mechllama/g35/config.h5
-rw-r--r--keyboards/mechllama/g35/info.json7
-rw-r--r--keyboards/mechllama/g35/keymaps/default/keymap.c2
-rw-r--r--keyboards/mechllama/g35/v1/config.h2
-rw-r--r--keyboards/mechllama/g35/v1/info.json5
-rw-r--r--keyboards/mechllama/g35/v2/config.h2
-rw-r--r--keyboards/mechllama/g35/v2/info.json5
-rw-r--r--keyboards/mechlovin/adelais/config.h5
-rw-r--r--keyboards/mechlovin/adelais/info.json6
-rw-r--r--keyboards/mechlovin/adelais/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/mechlovin/adelais/keymaps/default/keymap.c68
-rw-r--r--keyboards/mechlovin/adelais/keymaps/via/keymap.c74
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/config.h4
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/info.json6
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/config.h3
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/info.json6
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/config.h20
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h4
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/info.json6
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h14
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c48
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk14
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/config.h3
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/info.json3
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h3
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/info.json5
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h2
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json5
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h2
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json5
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h3
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json6
-rw-r--r--keyboards/mechlovin/delphine/config.h5
-rw-r--r--keyboards/mechlovin/delphine/info.json4
-rw-r--r--keyboards/mechlovin/delphine/mono_led/config.h4
-rw-r--r--keyboards/mechlovin/delphine/mono_led/info.json6
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/config.h3
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/info.json6
-rw-r--r--keyboards/mechlovin/foundation/config.h80
-rw-r--r--keyboards/mechlovin/foundation/foundation.c17
-rw-r--r--keyboards/mechlovin/foundation/foundation.h60
-rw-r--r--keyboards/mechlovin/foundation/info.json23
-rw-r--r--keyboards/mechlovin/foundation/keymaps/default/keymap.c40
-rw-r--r--keyboards/mechlovin/foundation/keymaps/default/readme.md1
-rw-r--r--keyboards/mechlovin/foundation/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechlovin/foundation/keymaps/via/keymap.c59
-rw-r--r--keyboards/mechlovin/foundation/keymaps/via/rules.mk2
-rw-r--r--keyboards/mechlovin/foundation/readme.md26
-rw-r--r--keyboards/mechlovin/foundation/rules.mk20
-rw-r--r--keyboards/mechlovin/hannah60rgb/config.h4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/config.h4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/info.json8
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/config.h4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/info.json8
-rw-r--r--keyboards/mechlovin/hannah65/config.h4
-rw-r--r--keyboards/mechlovin/hannah65/rev1/haus/config.h22
-rw-r--r--keyboards/mechlovin/hannah65/rev1/haus/info.json229
-rw-r--r--keyboards/mechlovin/hannah65/rev1/info.json223
-rw-r--r--keyboards/mechlovin/hannah910/config.h6
-rw-r--r--keyboards/mechlovin/hannah910/hannah910.c6
-rw-r--r--keyboards/mechlovin/hannah910/rev1/config.h3
-rw-r--r--keyboards/mechlovin/hannah910/rev1/info.json6
-rw-r--r--keyboards/mechlovin/hannah910/rev2/config.h3
-rw-r--r--keyboards/mechlovin/hannah910/rev2/info.json8
-rw-r--r--keyboards/mechlovin/hannah910/rev3/config.h3
-rw-r--r--keyboards/mechlovin/hannah910/rev3/info.json8
-rw-r--r--keyboards/mechlovin/hex4b/config.h5
-rw-r--r--keyboards/mechlovin/hex4b/info.json6
-rw-r--r--keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c28
-rw-r--r--keyboards/mechlovin/hex4b/rev1/config.h5
-rw-r--r--keyboards/mechlovin/hex4b/rev1/info.json6
-rw-r--r--keyboards/mechlovin/hex4b/rev2/config.h7
-rw-r--r--keyboards/mechlovin/hex4b/rev2/info.json6
-rw-r--r--keyboards/mechlovin/hex4b/rev2/readme.md2
-rw-r--r--keyboards/mechlovin/hex6c/config.h8
-rw-r--r--keyboards/mechlovin/hex6c/info.json8
-rw-r--r--keyboards/mechlovin/infinity87/config.h5
-rw-r--r--keyboards/mechlovin/infinity87/infinity87.h16
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rev1.h8
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rogue87/config.h21
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rogue87/info.json193
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h34
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rouge87/config.h21
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rouge87/info.json197
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h35
-rw-r--r--keyboards/mechlovin/infinity87/rev1/standard/config.h4
-rw-r--r--keyboards/mechlovin/infinity87/rev1/standard/info.json203
-rw-r--r--keyboards/mechlovin/infinity87/rev2/config.h5
-rw-r--r--keyboards/mechlovin/infinity87/rev2/info.json203
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/config.h4
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/info.json203
-rw-r--r--keyboards/mechlovin/infinity875/config.h6
-rw-r--r--keyboards/mechlovin/infinity875/info.json6
-rw-r--r--keyboards/mechlovin/infinity875/readme.md2
-rw-r--r--keyboards/mechlovin/infinity88/config.h7
-rw-r--r--keyboards/mechlovin/infinity88/info.json8
-rw-r--r--keyboards/mechlovin/infinityce/config.h6
-rw-r--r--keyboards/mechlovin/infinityce/info.json6
-rw-r--r--keyboards/mechlovin/jay60/config.h8
-rw-r--r--keyboards/mechlovin/jay60/info.json6
-rw-r--r--keyboards/mechlovin/jay60/readme.md2
-rw-r--r--keyboards/mechlovin/kanu/config.h8
-rw-r--r--keyboards/mechlovin/kanu/info.json6
-rw-r--r--keyboards/mechlovin/kay60/config.h9
-rw-r--r--keyboards/mechlovin/kay60/info.json8
-rw-r--r--keyboards/mechlovin/kay60/keymaps/default/keymap.c4
-rw-r--r--keyboards/mechlovin/kay60/keymaps/via/keymap.c4
-rw-r--r--keyboards/mechlovin/kay60/readme.md2
-rw-r--r--keyboards/mechlovin/kay65/config.h7
-rw-r--r--keyboards/mechlovin/kay65/info.json8
-rw-r--r--keyboards/mechlovin/kay65/readme.md2
-rw-r--r--keyboards/mechlovin/mechlovin9/config.h4
-rw-r--r--keyboards/mechlovin/mechlovin9/info.json5
-rw-r--r--keyboards/mechlovin/mechlovin9/rev1/config.h4
-rw-r--r--keyboards/mechlovin/mechlovin9/rev1/info.json7
-rw-r--r--keyboards/mechlovin/mechlovin9/rev2/config.h4
-rw-r--r--keyboards/mechlovin/mechlovin9/rev2/info.json7
-rw-r--r--keyboards/mechlovin/olly/bb/config.h8
-rw-r--r--keyboards/mechlovin/olly/bb/info.json8
-rw-r--r--keyboards/mechlovin/olly/bb/readme.md2
-rw-r--r--keyboards/mechlovin/olly/jf/config.h8
-rw-r--r--keyboards/mechlovin/olly/jf/info.json8
-rw-r--r--keyboards/mechlovin/olly/jf/readme.md2
-rw-r--r--keyboards/mechlovin/pisces/config.h7
-rw-r--r--keyboards/mechlovin/pisces/info.json8
-rw-r--r--keyboards/mechlovin/serratus/config.h6
-rw-r--r--keyboards/mechlovin/serratus/info.json8
-rw-r--r--keyboards/mechlovin/th1800/config.h8
-rw-r--r--keyboards/mechlovin/th1800/info.json6
-rw-r--r--keyboards/mechlovin/tmkl/config.h7
-rw-r--r--keyboards/mechlovin/tmkl/info.json8
-rw-r--r--keyboards/mechlovin/zed60/config.h78
-rw-r--r--keyboards/mechlovin/zed60/halconf.h22
-rw-r--r--keyboards/mechlovin/zed60/info.json156
-rw-r--r--keyboards/mechlovin/zed60/keymaps/default/keymap.c36
-rw-r--r--keyboards/mechlovin/zed60/keymaps/default/readme.md1
-rw-r--r--keyboards/mechlovin/zed60/keymaps/via/keymap.c50
-rw-r--r--keyboards/mechlovin/zed60/keymaps/via/readme.md1
-rw-r--r--keyboards/mechlovin/zed60/keymaps/via/rules.mk1
-rw-r--r--keyboards/mechlovin/zed60/mcuconf.h23
-rw-r--r--keyboards/mechlovin/zed60/readme.md27
-rw-r--r--keyboards/mechlovin/zed60/rules.mk20
-rw-r--r--keyboards/mechlovin/zed60/zed60.c17
-rw-r--r--keyboards/mechlovin/zed60/zed60.h66
-rw-r--r--keyboards/mechlovin/zed65/config.h108
-rw-r--r--keyboards/mechlovin/zed65/readme.md25
-rw-r--r--keyboards/mechlovin/zed65/retro66/config.h33
-rw-r--r--keyboards/mechlovin/zed65/retro66/info.json19
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/default/keymap.c35
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/default/readme.md1
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/via/keymap.c61
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/via/readme.md1
-rw-r--r--keyboards/mechlovin/zed65/retro66/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechlovin/zed65/retro66/readme.md27
-rw-r--r--keyboards/mechlovin/zed65/retro66/retro66.c19
-rw-r--r--keyboards/mechlovin/zed65/retro66/retro66.h48
-rw-r--r--keyboards/mechlovin/zed65/retro66/rules.mk1
-rw-r--r--keyboards/mechlovin/zed65/rules.mk21
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/config.h57
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/halconf.h22
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/info.json91
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/default/keymap.c45
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/default/readme.md1
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/default/rules.mk2
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/via/keymap.c70
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/via/readme.md1
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/keymaps/via/rules.mk2
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/readme.md27
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/rules.mk2
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/wearhaus66.c24
-rw-r--r--keyboards/mechlovin/zed65/wearhaus66/wearhaus66.h62
-rw-r--r--keyboards/mechlovin/zed65/zed65.c18
-rw-r--r--keyboards/mechlovin/zed65/zed65.h26
-rw-r--r--keyboards/mechstudio/dawn/config.h8
-rw-r--r--keyboards/mechstudio/dawn/info.json6
-rw-r--r--keyboards/mechstudio/dawn/keymaps/default/keymap.c2
-rw-r--r--keyboards/mechstudio/dawn/keymaps/via/keymap.c2
-rw-r--r--keyboards/mechstudio/ud_40_ortho/config.h8
-rw-r--r--keyboards/mechstudio/ud_40_ortho/info.json8
-rw-r--r--keyboards/mechwild/bbs/bbs.c22
-rw-r--r--keyboards/mechwild/bbs/bbs.h26
-rw-r--r--keyboards/mechwild/bbs/config.h88
-rw-r--r--keyboards/mechwild/bbs/info.json49
-rw-r--r--keyboards/mechwild/bbs/keymaps/default/keymap.c31
-rw-r--r--keyboards/mechwild/bbs/readme.md27
-rw-r--r--keyboards/mechwild/bbs/rules.mk24
-rw-r--r--keyboards/mechwild/bde/bde.c17
-rw-r--r--keyboards/mechwild/bde/bde.h26
-rw-r--r--keyboards/mechwild/bde/config.h8
-rw-r--r--keyboards/mechwild/bde/info.json35
-rw-r--r--keyboards/mechwild/bde/keymaps/default/keymap.c59
-rw-r--r--keyboards/mechwild/bde/keymaps/lefty_default/config.h23
-rw-r--r--keyboards/mechwild/bde/keymaps/lefty_default/keymap.c55
-rw-r--r--keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c121
-rw-r--r--keyboards/mechwild/bde/keymaps/lefty_via/keymap.c56
-rw-r--r--keyboards/mechwild/bde/keymaps/righty_default/config.h23
-rw-r--r--keyboards/mechwild/bde/keymaps/righty_default/keymap.c55
-rw-r--r--keyboards/mechwild/bde/keymaps/righty_via/config.h23
-rw-r--r--keyboards/mechwild/bde/keymaps/righty_via/keymap.c55
-rw-r--r--keyboards/mechwild/bde/keymaps/via/keymap.c59
-rw-r--r--keyboards/mechwild/bde/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechwild/bde/lefty/config.h54
-rw-r--r--keyboards/mechwild/bde/lefty/info.json77
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/default/config.h23
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/default/keymap.c55
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/default/rules.mk9
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/fancy/config.h (renamed from keyboards/mechwild/bde/keymaps/lefty_fancy/config.h)0
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c121
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/fancy/rules.mk (renamed from keyboards/mechwild/bde/keymaps/lefty_fancy/rules.mk)0
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/via/config.h (renamed from keyboards/mechwild/bde/keymaps/lefty_via/config.h)0
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/via/keymap.c56
-rw-r--r--keyboards/mechwild/bde/lefty/keymaps/via/rules.mk (renamed from keyboards/mechwild/bde/keymaps/righty_via/rules.mk)0
-rw-r--r--keyboards/mechwild/bde/lefty/lefty.c17
-rw-r--r--keyboards/mechwild/bde/lefty/lefty.h30
-rw-r--r--keyboards/mechwild/bde/lefty/rules.mk1
-rw-r--r--keyboards/mechwild/bde/readme.md18
-rw-r--r--keyboards/mechwild/bde/rev2/config.h47
-rw-r--r--keyboards/mechwild/bde/rev2/info.json72
-rw-r--r--keyboards/mechwild/bde/rev2/keymaps/default/keymap.c69
-rw-r--r--keyboards/mechwild/bde/rev2/keymaps/default/rules.mk13
-rw-r--r--keyboards/mechwild/bde/rev2/keymaps/via/config.h (renamed from keyboards/mechwild/bde/keymaps/via/config.h)0
-rw-r--r--keyboards/mechwild/bde/rev2/keymaps/via/keymap.c68
-rw-r--r--keyboards/mechwild/bde/rev2/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechwild/bde/rev2/rev2.c77
-rw-r--r--keyboards/mechwild/bde/rev2/rev2.h13
-rw-r--r--keyboards/mechwild/bde/righty/config.h54
-rw-r--r--keyboards/mechwild/bde/righty/info.json77
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/default/config.h23
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/default/keymap.c55
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/default/rules.mk9
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/via/config.h23
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/via/keymap.c55
-rw-r--r--keyboards/mechwild/bde/righty/keymaps/via/rules.mk2
-rw-r--r--keyboards/mechwild/bde/righty/righty.c17
-rw-r--r--keyboards/mechwild/bde/righty/righty.h30
-rw-r--r--keyboards/mechwild/bde/righty/rules.mk1
-rw-r--r--keyboards/mechwild/bde/rules.mk19
-rw-r--r--keyboards/mechwild/clunker/config.h26
-rw-r--r--keyboards/mechwild/clunker/info.json85
-rw-r--r--keyboards/mechwild/clunker/keymaps/default/keymap.c63
-rw-r--r--keyboards/mechwild/clunker/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/clunker/keymaps/via/keymap.c63
-rw-r--r--keyboards/mechwild/clunker/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechwild/clunker/readme.md25
-rw-r--r--keyboards/mechwild/clunker/rules.mk1
-rwxr-xr-xkeyboards/mechwild/mercutio/config.h13
-rw-r--r--keyboards/mechwild/mercutio/info.json8
-rw-r--r--keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c20
-rw-r--r--keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk3
-rw-r--r--keyboards/mechwild/mercutio/keymaps/default/config.h3
-rw-r--r--keyboards/mechwild/mercutio/keymaps/default/keymap.c41
-rw-r--r--keyboards/mechwild/mercutio/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fancy/config.h3
-rwxr-xr-xkeyboards/mechwild/mercutio/keymaps/fancy/keymap.c2
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c4
-rw-r--r--keyboards/mechwild/mercutio/keymaps/jonavin/config.h3
-rwxr-xr-xkeyboards/mechwild/mercutio/keymaps/jonavin/keymap.c24
-rw-r--r--keyboards/mechwild/mercutio/keymaps/via/config.h3
-rwxr-xr-xkeyboards/mechwild/mercutio/keymaps/via/keymap.c41
-rw-r--r--keyboards/mechwild/mercutio/keymaps/via/rules.mk2
-rwxr-xr-xkeyboards/mechwild/mercutio/mercutio.c41
-rw-r--r--keyboards/mechwild/mokulua/config.h132
-rw-r--r--keyboards/mechwild/mokulua/info.json10
-rw-r--r--keyboards/mechwild/mokulua/keymaps/default/keymap.c46
-rw-r--r--keyboards/mechwild/mokulua/keymaps/silly/keymap.c128
-rw-r--r--keyboards/mechwild/mokulua/keymaps/via/keymap.c46
-rw-r--r--keyboards/mechwild/mokulua/mirrored/config.h88
-rw-r--r--keyboards/mechwild/mokulua/mirrored/info.json93
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c55
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md1
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c55
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md1
-rw-r--r--keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechwild/mokulua/mirrored/mirrored.c82
-rw-r--r--keyboards/mechwild/mokulua/mirrored/mirrored.h31
-rw-r--r--keyboards/mechwild/mokulua/mirrored/rules.mk22
-rw-r--r--keyboards/mechwild/mokulua/mokulua.c82
-rw-r--r--keyboards/mechwild/mokulua/mokulua.h29
-rw-r--r--keyboards/mechwild/mokulua/readme.md2
-rw-r--r--keyboards/mechwild/mokulua/rules.mk23
-rw-r--r--keyboards/mechwild/mokulua/standard/config.h125
-rw-r--r--keyboards/mechwild/mokulua/standard/info.json92
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c55
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/default/readme.md (renamed from keyboards/mechwild/mokulua/keymaps/default/readme.md)0
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/config.h (renamed from keyboards/mechwild/mokulua/keymaps/silly/config.h)0
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c128
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md (renamed from keyboards/mechwild/mokulua/keymaps/silly/readme.md)0
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk2
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c55
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/via/readme.md (renamed from keyboards/mechwild/mokulua/keymaps/via/readme.md)0
-rw-r--r--keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk3
-rw-r--r--keyboards/mechwild/mokulua/standard/rules.mk22
-rw-r--r--keyboards/mechwild/mokulua/standard/standard.c82
-rw-r--r--keyboards/mechwild/mokulua/standard/standard.h31
-rw-r--r--keyboards/mechwild/murphpad/config.h8
-rw-r--r--keyboards/mechwild/murphpad/info.json8
-rw-r--r--keyboards/mechwild/murphpad/keymaps/default/keymap.c93
-rw-r--r--keyboards/mechwild/murphpad/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c20
-rw-r--r--keyboards/mechwild/murphpad/keymaps/via/keymap.c95
-rw-r--r--keyboards/mechwild/murphpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/mechwild/murphpad/murphpad.c76
-rw-r--r--keyboards/mechwild/obe/config.h8
-rw-r--r--keyboards/mechwild/obe/f401/eeprom/rules.mk1
-rw-r--r--keyboards/mechwild/obe/f401/rules.mk1
-rw-r--r--keyboards/mechwild/obe/f411/eeprom/rules.mk1
-rw-r--r--keyboards/mechwild/obe/f411/rules.mk1
-rw-r--r--keyboards/mechwild/obe/info.json8
-rw-r--r--keyboards/mechwild/obe/keymaps/default/keymap.c15
-rw-r--r--keyboards/mechwild/obe/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/obe/keymaps/jonavin/keymap.c2
-rw-r--r--keyboards/mechwild/obe/keymaps/via/keymap.c21
-rw-r--r--keyboards/mechwild/obe/keymaps/via/rules.mk2
-rw-r--r--keyboards/mechwild/puckbuddy/config.h144
-rw-r--r--keyboards/mechwild/puckbuddy/glcdfont.c231
-rw-r--r--keyboards/mechwild/puckbuddy/halconf.h13
-rw-r--r--keyboards/mechwild/puckbuddy/info.json31
-rw-r--r--keyboards/mechwild/puckbuddy/keymaps/default/keymap.c64
-rw-r--r--keyboards/mechwild/puckbuddy/keymaps/via/keymap.c64
-rw-r--r--keyboards/mechwild/puckbuddy/keymaps/via/rules.mk1
-rw-r--r--keyboards/mechwild/puckbuddy/mcuconf.h12
-rw-r--r--keyboards/mechwild/puckbuddy/puckbuddy.c307
-rw-r--r--keyboards/mechwild/puckbuddy/puckbuddy.h56
-rw-r--r--keyboards/mechwild/puckbuddy/readme.md27
-rw-r--r--keyboards/mechwild/puckbuddy/rules.mk28
-rw-r--r--keyboards/mechwild/waka60/config.h8
-rw-r--r--keyboards/mechwild/waka60/f401/config.h (renamed from keyboards/mechwild/waka60/f401/eeprom/config.h)0
-rw-r--r--keyboards/mechwild/waka60/f401/eeprom/halconf.h22
-rw-r--r--keyboards/mechwild/waka60/f401/eeprom/mcuconf.h22
-rw-r--r--keyboards/mechwild/waka60/f401/eeprom/rules.mk1
-rw-r--r--keyboards/mechwild/waka60/f401/halconf.h25
-rw-r--r--keyboards/mechwild/waka60/f401/mcuconf.h27
-rw-r--r--keyboards/mechwild/waka60/f401/rules.mk1
-rw-r--r--keyboards/mechwild/waka60/f411/config.h (renamed from keyboards/mechwild/waka60/f411/eeprom/config.h)0
-rw-r--r--keyboards/mechwild/waka60/f411/eeprom/halconf.h22
-rw-r--r--keyboards/mechwild/waka60/f411/eeprom/mcuconf.h22
-rw-r--r--keyboards/mechwild/waka60/f411/eeprom/rules.mk1
-rw-r--r--keyboards/mechwild/waka60/f411/halconf.h25
-rw-r--r--keyboards/mechwild/waka60/f411/mcuconf.h27
-rw-r--r--keyboards/mechwild/waka60/f411/rules.mk1
-rw-r--r--keyboards/mechwild/waka60/info.json8
-rw-r--r--keyboards/mechwild/waka60/keymaps/audio/keymap.c29
-rw-r--r--keyboards/mechwild/waka60/keymaps/audio/rules.mk3
-rw-r--r--keyboards/mechwild/waka60/keymaps/default/keymap.c29
-rw-r--r--keyboards/mechwild/waka60/keymaps/default/rules.mk1
-rw-r--r--keyboards/mechwild/waka60/keymaps/via/keymap.c29
-rw-r--r--keyboards/mechwild/waka60/keymaps/via/rules.mk2
-rw-r--r--keyboards/mehkee96/config.h7
-rw-r--r--keyboards/mehkee96/info.json8
-rw-r--r--keyboards/mehkee96/keymaps/johann/keymap.c4
-rw-r--r--keyboards/meletrix/zoom65/config.h7
-rw-r--r--keyboards/meletrix/zoom65/info.json6
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_ansi_blocker/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_bs/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_lshift/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_space/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_iso_blocker/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_bs/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_space/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/config.h7
-rw-r--r--keyboards/meletrix/zoom65_lite/info.json6
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_bs/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_lshift/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_space/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_bs/keymap.c2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_space/keymap.c2
-rw-r--r--keyboards/meletrix/zoom87/config.h56
-rw-r--r--keyboards/meletrix/zoom87/info.json612
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/keymap.c36
-rw-r--r--keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/via/keymap.c52
-rw-r--r--keyboards/meletrix/zoom87/keymaps/via/readme.md1
-rw-r--r--keyboards/meletrix/zoom87/keymaps/via/rules.mk2
-rw-r--r--keyboards/meletrix/zoom87/readme.md27
-rw-r--r--keyboards/meletrix/zoom87/rules.mk18
-rw-r--r--keyboards/meletrix/zoom87/zoom87.c17
-rw-r--r--keyboards/meletrix/zoom87/zoom87.h218
-rwxr-xr-xkeyboards/melgeek/mach80/config.h7
-rwxr-xr-xkeyboards/melgeek/mach80/info.json6
-rwxr-xr-xkeyboards/melgeek/mach80/keymaps/tkl/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mach80/readme.md2
-rwxr-xr-xkeyboards/melgeek/mach80/rev1/config.h1
-rwxr-xr-xkeyboards/melgeek/mach80/rev2/config.h1
-rw-r--r--keyboards/melgeek/mj61/config.h7
-rw-r--r--keyboards/melgeek/mj61/info.json6
-rw-r--r--keyboards/melgeek/mj61/rev1/config.h1
-rw-r--r--keyboards/melgeek/mj61/rev2/config.h1
-rw-r--r--keyboards/melgeek/mj63/config.h7
-rw-r--r--keyboards/melgeek/mj63/info.json6
-rw-r--r--keyboards/melgeek/mj63/rev1/config.h1
-rw-r--r--keyboards/melgeek/mj63/rev2/config.h1
-rw-r--r--keyboards/melgeek/mj64/config.h7
-rw-r--r--keyboards/melgeek/mj64/info.json6
-rw-r--r--keyboards/melgeek/mj64/rev1/config.h1
-rw-r--r--keyboards/melgeek/mj64/rev2/config.h1
-rw-r--r--keyboards/melgeek/mj64/rev3/config.h1
-rw-r--r--keyboards/melgeek/mj65/config.h7
-rw-r--r--keyboards/melgeek/mj65/info.json6
-rw-r--r--keyboards/melgeek/mj65/rev3/config.h1
-rwxr-xr-xkeyboards/melgeek/mj6xy/config.h7
-rwxr-xr-xkeyboards/melgeek/mj6xy/info.json6
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c2
-rwxr-xr-xkeyboards/melgeek/mj6xy/rev3/config.h1
-rwxr-xr-xkeyboards/melgeek/mojo68/config.h7
-rwxr-xr-xkeyboards/melgeek/mojo68/info.json6
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/config.h1
-rw-r--r--keyboards/melgeek/mojo75/config.h7
-rw-r--r--keyboards/melgeek/mojo75/info.json6
-rw-r--r--keyboards/melgeek/mojo75/rev1/config.h1
-rwxr-xr-xkeyboards/melgeek/tegic/config.h7
-rwxr-xr-xkeyboards/melgeek/tegic/info.json6
-rwxr-xr-xkeyboards/melgeek/tegic/keymaps/default/keymap.c2
-rwxr-xr-xkeyboards/melgeek/tegic/keymaps/via/keymap.c2
-rwxr-xr-xkeyboards/melgeek/tegic/readme.md2
-rwxr-xr-xkeyboards/melgeek/tegic/rev1/config.h1
-rw-r--r--keyboards/melgeek/z70ultra/config.h7
-rw-r--r--keyboards/melgeek/z70ultra/info.json6
-rw-r--r--keyboards/melgeek/z70ultra/rev1/config.h1
-rw-r--r--keyboards/meme/config.h8
-rw-r--r--keyboards/meme/info.json6
-rw-r--r--keyboards/meow65/config.h8
-rw-r--r--keyboards/meow65/info.json8
-rw-r--r--keyboards/meow65/readme.md2
-rw-r--r--keyboards/merge/iso_macro/config.h7
-rw-r--r--keyboards/merge/iso_macro/info.json6
-rw-r--r--keyboards/merge/uc1/config.h7
-rw-r--r--keyboards/merge/uc1/info.json6
-rw-r--r--keyboards/merge/um70/config.h7
-rw-r--r--keyboards/merge/um70/info.json6
-rw-r--r--keyboards/merge/um80/config.h56
-rw-r--r--keyboards/merge/um80/info.json16
-rw-r--r--keyboards/merge/um80/keymaps/default/keymap.c71
-rw-r--r--keyboards/merge/um80/keymaps/default/readme.md5
-rw-r--r--keyboards/merge/um80/keymaps/default/rules.mk2
-rw-r--r--keyboards/merge/um80/keymaps/via/config.h22
-rw-r--r--keyboards/merge/um80/keymaps/via/keymap.c71
-rw-r--r--keyboards/merge/um80/keymaps/via/rules.mk6
-rw-r--r--keyboards/merge/um80/readme.md22
-rw-r--r--keyboards/merge/um80/rules.mk22
-rw-r--r--keyboards/merge/um80/um80.c123
-rw-r--r--keyboards/merge/um80/um80.h43
-rw-r--r--keyboards/merge/uma/config.h7
-rw-r--r--keyboards/merge/uma/info.json6
-rw-r--r--keyboards/mesa/mesa_tkl/config.h8
-rw-r--r--keyboards/mesa/mesa_tkl/info.json6
-rw-r--r--keyboards/meson/config.h8
-rw-r--r--keyboards/meson/info.json6
-rw-r--r--keyboards/metamechs/timberwolf/config.h8
-rw-r--r--keyboards/metamechs/timberwolf/info.json6
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c2
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c2
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c2
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c2
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c2
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c2
-rw-r--r--keyboards/mexsistor/ludmila/config.h8
-rw-r--r--keyboards/mexsistor/ludmila/info.json8
-rw-r--r--keyboards/mikeneko65/config.h8
-rw-r--r--keyboards/mikeneko65/info.json85
-rw-r--r--keyboards/mikeneko65/keymaps/default/keymap.c4
-rw-r--r--keyboards/mikeneko65/keymaps/via/keymap.c8
-rw-r--r--keyboards/mikeneko65/mikeneko65.h2
-rw-r--r--keyboards/mikeneko65/readme.md2
-rw-r--r--keyboards/mikeneko65/rules.mk2
-rw-r--r--keyboards/miller/gm862/config.h8
-rw-r--r--keyboards/miller/gm862/info.json6
-rw-r--r--keyboards/millipad/config.h8
-rw-r--r--keyboards/millipad/info.json6
-rw-r--r--keyboards/mincedshon/ecila/config.h37
-rw-r--r--keyboards/mincedshon/ecila/ecila.c4
-rw-r--r--keyboards/mincedshon/ecila/ecila.h20
-rw-r--r--keyboards/mincedshon/ecila/info.json39
-rw-r--r--keyboards/mincedshon/ecila/keymaps/default/keymap.c44
-rw-r--r--keyboards/mincedshon/ecila/keymaps/via/keymap.c62
-rw-r--r--keyboards/mincedshon/ecila/keymaps/via/rules.mk1
-rw-r--r--keyboards/mincedshon/ecila/readme.md25
-rw-r--r--keyboards/mincedshon/ecila/rules.mk1
-rw-r--r--keyboards/mini_elixivy/config.h8
-rw-r--r--keyboards/mini_elixivy/info.json6
-rw-r--r--keyboards/mini_ten_key_plus/config.h8
-rw-r--r--keyboards/mini_ten_key_plus/info.json6
-rw-r--r--keyboards/miniaxe/config.h8
-rw-r--r--keyboards/miniaxe/info.json6
-rw-r--r--keyboards/miniaxe/keymaps/default/keymap.c10
-rw-r--r--keyboards/miniaxe/keymaps/underglow/keymap.c12
-rw-r--r--keyboards/minimacro5/config.h8
-rw-r--r--keyboards/minimacro5/info.json8
-rw-r--r--keyboards/minimacro5/keymaps/devdev/keymap.c2
-rw-r--r--keyboards/minimon/index_tab/config.h7
-rw-r--r--keyboards/minimon/index_tab/info.json6
-rw-r--r--keyboards/mino/hotswap/config.h8
-rw-r--r--keyboards/mino/hotswap/info.json6
-rw-r--r--keyboards/mino/readme.md2
-rw-r--r--keyboards/mint60/config.h8
-rw-r--r--keyboards/mint60/info.json6
-rw-r--r--keyboards/misonoworks/chocolatebar/config.h8
-rw-r--r--keyboards/misonoworks/chocolatebar/info.json6
-rw-r--r--keyboards/misonoworks/karina/config.h8
-rw-r--r--keyboards/misonoworks/karina/info.json6
-rw-r--r--keyboards/misterknife/knife66/config.h7
-rw-r--r--keyboards/misterknife/knife66/info.json6
-rw-r--r--keyboards/misterknife/knife66_iso/config.h7
-rw-r--r--keyboards/misterknife/knife66_iso/info.json8
-rw-r--r--keyboards/mitosis/config.h8
-rw-r--r--keyboards/mitosis/info.json6
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/keymap.c3
-rw-r--r--keyboards/mitosis/keymaps/datagrok/keymap.c6
-rw-r--r--keyboards/mitosis/keymaps/default/keymap.c5
-rw-r--r--keyboards/mitosis/keymaps/mjt/keymap.c6
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c4
-rw-r--r--keyboards/miuni32/config.h8
-rw-r--r--keyboards/miuni32/info.json8
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/keymap.c4
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c4
-rw-r--r--keyboards/miuni32/keymaps/ht_156/keymap.c4
-rw-r--r--keyboards/miuni32/keymaps/kifinnsson/keymap.c4
-rw-r--r--keyboards/mixi/config.h7
-rw-r--r--keyboards/mixi/info.json6
-rw-r--r--keyboards/ml/gas75/config.h10
-rw-r--r--keyboards/ml/gas75/info.json6
-rw-r--r--keyboards/ml/gas75/readme.md2
-rw-r--r--keyboards/mlego/m48/config.h5
-rw-r--r--keyboards/mlego/m48/info.json6
-rw-r--r--keyboards/mlego/m48/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m48/rev1/config.h8
-rw-r--r--keyboards/mlego/m48/rev1/info.json6
-rw-r--r--keyboards/mlego/m48/rev1/ld/STM32F401xE.ld88
-rw-r--r--keyboards/mlego/m48/rev1/rules.mk3
-rw-r--r--keyboards/mlego/m60/config.h5
-rw-r--r--keyboards/mlego/m60/info.json6
-rw-r--r--keyboards/mlego/m60/rev1/config.h8
-rw-r--r--keyboards/mlego/m60/rev1/info.json6
-rw-r--r--keyboards/mlego/m60/rev1/ld/STM32F401xE.ld88
-rw-r--r--keyboards/mlego/m60/rev1/rules.mk3
-rw-r--r--keyboards/mlego/m60_split/config.h5
-rw-r--r--keyboards/mlego/m60_split/info.json6
-rw-r--r--keyboards/mlego/m60_split/rev1/config.h8
-rw-r--r--keyboards/mlego/m60_split/rev1/info.json6
-rw-r--r--keyboards/mlego/m60_split/rev1/ld/STM32F401xE.ld88
-rw-r--r--keyboards/mlego/m60_split/rev1/rules.mk3
-rw-r--r--keyboards/mlego/m60_split/rev2/config.h5
-rw-r--r--keyboards/mlego/m60_split/rev2/info.json6
-rw-r--r--keyboards/mlego/m60_split/rev2/rules.mk1
-rw-r--r--keyboards/mlego/m65/config.h4
-rw-r--r--keyboards/mlego/m65/info.json6
-rw-r--r--keyboards/mlego/m65/rev1/config.h4
-rw-r--r--keyboards/mlego/m65/rev1/info.json6
-rw-r--r--keyboards/mlego/m65/rev2/config.h4
-rw-r--r--keyboards/mlego/m65/rev2/info.json6
-rw-r--r--keyboards/mlego/m65/rev3/config.h7
-rw-r--r--keyboards/mlego/m65/rev3/info.json6
-rw-r--r--keyboards/mlego/m65/rev3/ld/STM32F401xE.ld88
-rw-r--r--keyboards/mlego/m65/rev3/rules.mk3
-rw-r--r--keyboards/mlego/m65/rev4/config.h7
-rw-r--r--keyboards/mlego/m65/rev4/info.json6
-rw-r--r--keyboards/mlego/m65/rev4/ld/STM32F401xE.ld88
-rw-r--r--keyboards/mlego/m65/rev4/rules.mk3
-rw-r--r--keyboards/mmkzoo65/config.h8
-rw-r--r--keyboards/mmkzoo65/info.json6
-rw-r--r--keyboards/mmkzoo65/readme.md2
-rwxr-xr-xkeyboards/mnk1800s/config.h9
-rwxr-xr-xkeyboards/mnk1800s/info.json6
-rwxr-xr-xkeyboards/mnk50/config.h9
-rwxr-xr-xkeyboards/mnk50/info.json6
-rwxr-xr-xkeyboards/mnk75/config.h9
-rwxr-xr-xkeyboards/mnk75/info.json6
-rw-r--r--keyboards/mntre/config.h8
-rw-r--r--keyboards/mntre/info.json6
-rw-r--r--keyboards/mntre/readme.md2
-rw-r--r--keyboards/mode/m65ha_alpha/config.h9
-rw-r--r--keyboards/mode/m65ha_alpha/info.json8
-rw-r--r--keyboards/mode/m65ha_alpha/mcuconf.h13
-rw-r--r--keyboards/mode/m65ha_alpha/rules.mk2
-rw-r--r--keyboards/mode/m65hi_alpha/config.h9
-rw-r--r--keyboards/mode/m65hi_alpha/info.json8
-rw-r--r--keyboards/mode/m65hi_alpha/mcuconf.h13
-rw-r--r--keyboards/mode/m65hi_alpha/rules.mk2
-rw-r--r--keyboards/mode/m65s/config.h9
-rw-r--r--keyboards/mode/m65s/info.json8
-rw-r--r--keyboards/mode/m65s/mcuconf.h13
-rw-r--r--keyboards/mode/m65s/rules.mk1
-rw-r--r--keyboards/mode/m75h/config.h9
-rw-r--r--keyboards/mode/m75h/info.json8
-rw-r--r--keyboards/mode/m75h/mcuconf.h13
-rw-r--r--keyboards/mode/m75h/readme.md10
-rw-r--r--keyboards/mode/m75h/rules.mk1
-rw-r--r--keyboards/mode/m75s/config.h9
-rw-r--r--keyboards/mode/m75s/info.json8
-rw-r--r--keyboards/mode/m75s/mcuconf.h13
-rw-r--r--keyboards/mode/m75s/rules.mk1
-rw-r--r--keyboards/mode/m80v1/config.h6
-rw-r--r--keyboards/mode/m80v1/m80h/config.h22
-rw-r--r--keyboards/mode/m80v1/m80h/info.json8
-rw-r--r--keyboards/mode/m80v1/m80s/config.h22
-rw-r--r--keyboards/mode/m80v1/m80s/info.json8
-rw-r--r--keyboards/mode/m80v1/readme.md2
-rw-r--r--keyboards/mode/m80v2/config.h5
-rw-r--r--keyboards/mode/m80v2/m80v2h/config.h2
-rw-r--r--keyboards/mode/m80v2/m80v2h/info.json8
-rw-r--r--keyboards/mode/m80v2/m80v2s/config.h2
-rw-r--r--keyboards/mode/m80v2/m80v2s/info.json8
-rw-r--r--keyboards/mode/m80v2/readme.md2
-rw-r--r--keyboards/mokey/ginkgo65/config.h8
-rw-r--r--keyboards/mokey/ginkgo65/info.json8
-rw-r--r--keyboards/mokey/ginkgo65hot/config.h12
-rw-r--r--keyboards/mokey/ginkgo65hot/ginkgo65hot.h4
-rw-r--r--keyboards/mokey/ginkgo65hot/info.json147
-rw-r--r--keyboards/mokey/ginkgo65hot/rules.mk2
-rw-r--r--keyboards/mokey/ibis80/config.h32
-rw-r--r--keyboards/mokey/ibis80/ibis80.c16
-rw-r--r--keyboards/mokey/ibis80/ibis80.h76
-rw-r--r--keyboards/mokey/ibis80/info.json213
-rw-r--r--keyboards/mokey/ibis80/keymaps/default/keymap.c27
-rw-r--r--keyboards/mokey/ibis80/keymaps/via/keymap.c51
-rw-r--r--keyboards/mokey/ibis80/keymaps/via/rules.mk1
-rw-r--r--keyboards/mokey/ibis80/readme.md18
-rw-r--r--keyboards/mokey/ibis80/rules.mk18
-rw-r--r--keyboards/mokey/mokey63/config.h8
-rw-r--r--keyboards/mokey/mokey63/info.json6
-rw-r--r--keyboards/mokey/mokey64/config.h8
-rw-r--r--keyboards/mokey/mokey64/info.json6
-rw-r--r--keyboards/mokey/xox70/config.h8
-rw-r--r--keyboards/mokey/xox70/info.json8
-rw-r--r--keyboards/mokey/xox70hot/config.h8
-rw-r--r--keyboards/mokey/xox70hot/info.json8
-rwxr-xr-xkeyboards/molecule/config.h8
-rwxr-xr-xkeyboards/molecule/info.json6
-rw-r--r--keyboards/momoka_ergo/config.h15
-rw-r--r--keyboards/momoka_ergo/info.json8
-rw-r--r--keyboards/momokai/tap_trio/config.h7
-rw-r--r--keyboards/momokai/tap_trio/info.json8
-rw-r--r--keyboards/monarch/config.h7
-rw-r--r--keyboards/monarch/info.json6
-rw-r--r--keyboards/monoflex60/config.h8
-rw-r--r--keyboards/monoflex60/info.json6
-rw-r--r--keyboards/monoflex60/readme.md2
-rw-r--r--keyboards/monstargear/xo87/rgb/config.h8
-rw-r--r--keyboards/monstargear/xo87/rgb/info.json6
-rw-r--r--keyboards/monstargear/xo87/solderable/config.h8
-rw-r--r--keyboards/monstargear/xo87/solderable/info.json8
-rw-r--r--keyboards/montsinger/rebound/rev1/config.h9
-rw-r--r--keyboards/montsinger/rebound/rev1/info.json8
-rw-r--r--keyboards/montsinger/rebound/rev2/config.h9
-rw-r--r--keyboards/montsinger/rebound/rev2/info.json8
-rw-r--r--keyboards/montsinger/rebound/rev3/config.h9
-rw-r--r--keyboards/montsinger/rebound/rev3/info.json8
-rw-r--r--keyboards/montsinger/rebound/rev3/keymaps/rossman360/keymap.c2
-rw-r--r--keyboards/montsinger/rebound/rev4/config.h9
-rw-r--r--keyboards/montsinger/rebound/rev4/info.json8
-rw-r--r--keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap.c2
-rw-r--r--keyboards/montsinger/rewind/config.h9
-rw-r--r--keyboards/montsinger/rewind/info.json8
-rw-r--r--keyboards/montsinger/rewind/keymaps/rossman360/keymap.c2
-rw-r--r--keyboards/moon/config.h7
-rw-r--r--keyboards/moon/info.json6
-rw-r--r--keyboards/moonlander/config.h9
-rw-r--r--keyboards/moonlander/info.json6
-rw-r--r--keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/moonlander/matrix.c4
-rw-r--r--keyboards/moonlander/moonlander.c2
-rw-r--r--keyboards/moonlander/moonlander.h2
-rw-r--r--keyboards/moonlander/readme.md16
-rw-r--r--keyboards/morizon/config.h8
-rw-r--r--keyboards/morizon/info.json6
-rw-r--r--keyboards/morizon/readme.md2
-rw-r--r--keyboards/mountainblocks/mb17/config.h8
-rw-r--r--keyboards/mountainblocks/mb17/info.json6
-rw-r--r--keyboards/ms_sculpt/config.h16
-rw-r--r--keyboards/ms_sculpt/info.json129
-rw-r--r--keyboards/ms_sculpt/keymaps/default/keymap.c21
-rw-r--r--keyboards/ms_sculpt/ms_sculpt.h25
-rw-r--r--keyboards/ms_sculpt/readme.md27
-rw-r--r--keyboards/ms_sculpt/rules.mk3
-rw-r--r--keyboards/mschwingen/modelm/config.h7
-rw-r--r--keyboards/mschwingen/modelm/info.json8
-rw-r--r--keyboards/mschwingen/modelm/modelm.c4
-rw-r--r--keyboards/mss_studio/m63_rgb/config.h10
-rw-r--r--keyboards/mss_studio/m63_rgb/info.json6
-rw-r--r--keyboards/mss_studio/m63_rgb/readme.md2
-rw-r--r--keyboards/mss_studio/m64_rgb/config.h10
-rw-r--r--keyboards/mss_studio/m64_rgb/info.json6
-rw-r--r--keyboards/mss_studio/m64_rgb/readme.md2
-rw-r--r--keyboards/mt/blocked65/config.h8
-rw-r--r--keyboards/mt/blocked65/info.json8
-rw-r--r--keyboards/mt/mt40/config.h10
-rw-r--r--keyboards/mt/mt40/info.json6
-rw-r--r--keyboards/mt/mt64rgb/config.h9
-rw-r--r--keyboards/mt/mt64rgb/info.json8
-rw-r--r--keyboards/mt/mt84/config.h9
-rw-r--r--keyboards/mt/mt84/info.json8
-rw-r--r--keyboards/mt/mt980/config.h8
-rw-r--r--keyboards/mt/mt980/info.json8
-rw-r--r--keyboards/mt/mt980/keymaps/walker/keymap.c6
-rw-r--r--keyboards/mt/split75/config.h6
-rw-r--r--keyboards/mt/split75/info.json8
-rw-r--r--keyboards/mtbkeys/mtb60/hotswap/config.h8
-rw-r--r--keyboards/mtbkeys/mtb60/hotswap/info.json8
-rw-r--r--keyboards/mtbkeys/mtb60/solder/config.h8
-rw-r--r--keyboards/mtbkeys/mtb60/solder/info.json8
-rw-r--r--keyboards/murcielago/info.json6
-rw-r--r--keyboards/murcielago/rev1/config.h8
-rw-r--r--keyboards/mwstudio/alicekk/alicekk.c30
-rw-r--r--keyboards/mwstudio/alicekk/alicekk.h32
-rw-r--r--keyboards/mwstudio/alicekk/chconf.h23
-rw-r--r--keyboards/mwstudio/alicekk/config.h64
-rw-r--r--keyboards/mwstudio/alicekk/info.json9
-rw-r--r--keyboards/mwstudio/alicekk/keymaps/default/keymap.c37
-rw-r--r--keyboards/mwstudio/alicekk/keymaps/via/keymap.c96
-rw-r--r--keyboards/mwstudio/alicekk/keymaps/via/rules.mk2
-rw-r--r--keyboards/mwstudio/alicekk/mcuconf.h22
-rw-r--r--keyboards/mwstudio/alicekk/readme.md22
-rw-r--r--keyboards/mwstudio/alicekk/rules.mk21
-rw-r--r--keyboards/mwstudio/mw65_black/config.h7
-rw-r--r--keyboards/mwstudio/mw65_black/info.json8
-rw-r--r--keyboards/mwstudio/mw65_black/readme.md2
-rw-r--r--keyboards/mwstudio/mw65_rgb/config.h7
-rw-r--r--keyboards/mwstudio/mw65_rgb/info.json8
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h4
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c2
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h4
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c2
-rw-r--r--keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c4
-rw-r--r--keyboards/mwstudio/mw65_rgb/readme.md2
-rw-r--r--keyboards/mwstudio/mw75/config.h8
-rw-r--r--keyboards/mwstudio/mw75/info.json6
-rw-r--r--keyboards/mwstudio/mw75/readme.md2
-rw-r--r--keyboards/mwstudio/mw75r2/config.h8
-rw-r--r--keyboards/mwstudio/mw75r2/info.json6
-rw-r--r--keyboards/mwstudio/mw75r2/readme.md2
-rw-r--r--keyboards/mxss/config.h8
-rw-r--r--keyboards/mxss/info.json8
-rw-r--r--keyboards/mxss/mxss_frontled.c6
-rw-r--r--keyboards/mysticworks/wyvern/config.h8
-rw-r--r--keyboards/mysticworks/wyvern/info.json6
-rw-r--r--keyboards/nack/config.h6
-rw-r--r--keyboards/nack/info.json6
-rw-r--r--keyboards/nack/keymaps/default/keymap.c2
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/keymap.c2
-rw-r--r--keyboards/nacly/sodium42/config.h7
-rw-r--r--keyboards/nacly/sodium42/info.json6
-rw-r--r--keyboards/nacly/sodium42/readme.md2
-rw-r--r--keyboards/nacly/sodium50/config.h11
-rw-r--r--keyboards/nacly/sodium50/info.json6
-rw-r--r--keyboards/nacly/sodium50/readme.md2
-rw-r--r--keyboards/nacly/sodium50/sodium50.h2
-rw-r--r--keyboards/nacly/sodium62/config.h7
-rw-r--r--keyboards/nacly/sodium62/info.json6
-rw-r--r--keyboards/nacly/sodium62/readme.md2
-rw-r--r--keyboards/nacly/splitreus62/config.h7
-rw-r--r--keyboards/nacly/splitreus62/info.json8
-rw-r--r--keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c2
-rw-r--r--keyboards/nacly/ua62/config.h8
-rw-r--r--keyboards/nacly/ua62/info.json8
-rw-r--r--keyboards/nasu/config.h9
-rw-r--r--keyboards/nasu/info.json6
-rw-r--r--keyboards/nasu/keymaps/mariocs/config.h5
-rw-r--r--keyboards/nasu/keymaps/mariocs/keymap.c60
-rw-r--r--keyboards/nasu/keymaps/mariocs/readme.md14
-rw-r--r--keyboards/nasu/keymaps/mariocs/rules.mk2
-rw-r--r--keyboards/ncc1701kb/config.h8
-rw-r--r--keyboards/ncc1701kb/info.json6
-rw-r--r--keyboards/neito/config.h8
-rw-r--r--keyboards/neito/info.json6
-rw-r--r--keyboards/neito/keymaps/olli_works/keymap.c2
-rw-r--r--keyboards/nek_type_a/config.h7
-rw-r--r--keyboards/nek_type_a/info.json6
-rw-r--r--keyboards/nemui/config.h7
-rw-r--r--keyboards/nemui/info.json8
-rw-r--r--keyboards/neokeys/g67/element_hs/config.h7
-rw-r--r--keyboards/neokeys/g67/element_hs/info.json8
-rw-r--r--keyboards/neokeys/g67/hotswap/config.h7
-rw-r--r--keyboards/neokeys/g67/hotswap/info.json8
-rw-r--r--keyboards/neokeys/g67/soldered/config.h7
-rw-r--r--keyboards/neokeys/g67/soldered/info.json8
-rwxr-xr-xkeyboards/neopad/config.h6
-rw-r--r--keyboards/neopad/readme.md2
-rwxr-xr-xkeyboards/neopad/rev1/config.h4
-rwxr-xr-xkeyboards/neopad/rev1/info.json6
-rw-r--r--keyboards/neson_design/700e/700e.c388
-rw-r--r--keyboards/neson_design/700e/700e.h38
-rw-r--r--keyboards/neson_design/700e/config.h63
-rw-r--r--keyboards/neson_design/700e/info.json17
-rw-r--r--keyboards/neson_design/700e/keymaps/default/keymap.c34
-rw-r--r--keyboards/neson_design/700e/keymaps/via/keymap.c41
-rw-r--r--keyboards/neson_design/700e/keymaps/via/rules.mk2
-rw-r--r--keyboards/neson_design/700e/readme.md21
-rw-r--r--keyboards/neson_design/700e/rules.mk20
-rw-r--r--keyboards/neson_design/n6/config.h8
-rw-r--r--keyboards/neson_design/n6/info.json8
-rw-r--r--keyboards/neson_design/n6/readme.md2
-rw-r--r--keyboards/newgame40/config.h8
-rw-r--r--keyboards/newgame40/info.json6
-rw-r--r--keyboards/nibiria/stream15/config.h7
-rw-r--r--keyboards/nibiria/stream15/info.json6
-rw-r--r--keyboards/nightingale_studios/hailey/config.h8
-rw-r--r--keyboards/nightingale_studios/hailey/info.json6
-rw-r--r--keyboards/nightly_boards/adellein/config.h8
-rw-r--r--keyboards/nightly_boards/adellein/info.json6
-rw-r--r--keyboards/nightly_boards/alter/rev1/config.h8
-rw-r--r--keyboards/nightly_boards/alter/rev1/info.json6
-rw-r--r--keyboards/nightly_boards/alter_lite/alter_lite.c16
-rw-r--r--keyboards/nightly_boards/alter_lite/alter_lite.h41
-rw-r--r--keyboards/nightly_boards/alter_lite/config.h54
-rw-r--r--keyboards/nightly_boards/alter_lite/info.json82
-rw-r--r--keyboards/nightly_boards/alter_lite/keymaps/default/keymap.c33
-rw-r--r--keyboards/nightly_boards/alter_lite/keymaps/via/keymap.c47
-rw-r--r--keyboards/nightly_boards/alter_lite/keymaps/via/rules.mk2
-rw-r--r--keyboards/nightly_boards/alter_lite/readme.md20
-rw-r--r--keyboards/nightly_boards/alter_lite/rules.mk17
-rw-r--r--keyboards/nightly_boards/conde60/conde60.c17
-rw-r--r--keyboards/nightly_boards/conde60/conde60.h42
-rw-r--r--keyboards/nightly_boards/conde60/config.h60
-rw-r--r--keyboards/nightly_boards/conde60/info.json86
-rw-r--r--keyboards/nightly_boards/conde60/keymaps/default/keymap.c53
-rw-r--r--keyboards/nightly_boards/conde60/keymaps/via/keymap.c53
-rw-r--r--keyboards/nightly_boards/conde60/keymaps/via/rules.mk2
-rw-r--r--keyboards/nightly_boards/conde60/readme.md20
-rw-r--r--keyboards/nightly_boards/conde60/rules.mk18
-rw-r--r--keyboards/nightly_boards/n2/config.h8
-rw-r--r--keyboards/nightly_boards/n2/info.json6
-rw-r--r--keyboards/nightly_boards/n40_o/config.h8
-rw-r--r--keyboards/nightly_boards/n40_o/info.json6
-rw-r--r--keyboards/nightly_boards/n60_s/config.h8
-rw-r--r--keyboards/nightly_boards/n60_s/info.json8
-rw-r--r--keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c2
-rw-r--r--keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c2
-rw-r--r--keyboards/nightly_boards/n87/config.h8
-rw-r--r--keyboards/nightly_boards/n87/info.json6
-rw-r--r--keyboards/nightly_boards/n87/keymaps/symmetric_standard/keymap.c2
-rw-r--r--keyboards/nightly_boards/n9/config.h8
-rw-r--r--keyboards/nightly_boards/n9/info.json6
-rw-r--r--keyboards/nightly_boards/octopad/config.h8
-rw-r--r--keyboards/nightly_boards/octopad/info.json6
-rw-r--r--keyboards/nightly_boards/paraluman/config.h52
-rw-r--r--keyboards/nightly_boards/paraluman/info.json154
-rw-r--r--keyboards/nightly_boards/paraluman/keymaps/default/keymap.c34
-rw-r--r--keyboards/nightly_boards/paraluman/keymaps/tsangan/keymap.c34
-rw-r--r--keyboards/nightly_boards/paraluman/keymaps/via/keymap.c48
-rw-r--r--keyboards/nightly_boards/paraluman/keymaps/via/rules.mk2
-rw-r--r--keyboards/nightly_boards/paraluman/paraluman.c17
-rw-r--r--keyboards/nightly_boards/paraluman/paraluman.h55
-rw-r--r--keyboards/nightly_boards/paraluman/readme.md20
-rw-r--r--keyboards/nightly_boards/paraluman/rules.mk18
-rw-r--r--keyboards/nightly_boards/ph_arisu/config.h8
-rw-r--r--keyboards/nightly_boards/ph_arisu/info.json8
-rw-r--r--keyboards/nightmare/config.h8
-rw-r--r--keyboards/nightmare/info.json6
-rw-r--r--keyboards/nightmare/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/nimrod/config.h8
-rw-r--r--keyboards/nimrod/info.json6
-rw-r--r--keyboards/nix_studio/n60_a/config.h8
-rw-r--r--keyboards/nix_studio/n60_a/info.json8
-rw-r--r--keyboards/nix_studio/n60_a/keymaps/default/keymap.c2
-rw-r--r--keyboards/nix_studio/n60_a/keymaps/via/keymap.c2
-rw-r--r--keyboards/nix_studio/n60_a/readme.md2
-rw-r--r--keyboards/nix_studio/oxalys80/config.h9
-rw-r--r--keyboards/nix_studio/oxalys80/info.json8
-rw-r--r--keyboards/nopunin10did/jabberwocky/config.h7
-rw-r--r--keyboards/nopunin10did/jabberwocky/info.json7
-rw-r--r--keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c4
-rw-r--r--keyboards/nopunin10did/kastenwagen1840/config.h8
-rw-r--r--keyboards/nopunin10did/kastenwagen1840/info.json6
-rw-r--r--keyboards/nopunin10did/kastenwagen48/config.h8
-rw-r--r--keyboards/nopunin10did/kastenwagen48/info.json6
-rw-r--r--keyboards/nopunin10did/kastenwagen48/keymaps/jonavin/keymap.c2
-rw-r--r--keyboards/nopunin10did/railroad/rev0/config.h8
-rw-r--r--keyboards/nopunin10did/railroad/rev0/info.json6
-rw-r--r--keyboards/novelkeys/nk1/config.h19
-rwxr-xr-xkeyboards/novelkeys/nk1/info.json6
-rw-r--r--keyboards/novelkeys/nk20/config.h131
-rw-r--r--keyboards/novelkeys/nk20/halconf.h21
-rw-r--r--keyboards/novelkeys/nk20/info.json16
-rw-r--r--keyboards/novelkeys/nk20/keymaps/default/keymap.c34
-rw-r--r--keyboards/novelkeys/nk20/keymaps/default/readme.md9
-rw-r--r--keyboards/novelkeys/nk20/keymaps/via/keymap.c50
-rw-r--r--keyboards/novelkeys/nk20/keymaps/via/readme.md9
-rw-r--r--keyboards/novelkeys/nk20/keymaps/via/rules.mk1
-rw-r--r--keyboards/novelkeys/nk20/mcuconf.h22
-rw-r--r--keyboards/novelkeys/nk20/nk20.c40
-rw-r--r--keyboards/novelkeys/nk20/nk20.h38
-rw-r--r--keyboards/novelkeys/nk20/readme.md32
-rw-r--r--keyboards/novelkeys/nk20/rules.mk29
-rwxr-xr-xkeyboards/novelkeys/nk65/config.h7
-rwxr-xr-xkeyboards/novelkeys/nk65/info.json6
-rwxr-xr-xkeyboards/novelkeys/nk65/keymaps/madhatter/keymap.c2
-rwxr-xr-xkeyboards/novelkeys/nk65b/config.h135
-rw-r--r--keyboards/novelkeys/nk65b/halconf.h21
-rwxr-xr-xkeyboards/novelkeys/nk65b/info.json17
-rwxr-xr-xkeyboards/novelkeys/nk65b/keymaps/default/keymap.c32
-rwxr-xr-xkeyboards/novelkeys/nk65b/keymaps/default/readme.md7
-rwxr-xr-xkeyboards/novelkeys/nk65b/keymaps/via/keymap.c46
-rwxr-xr-xkeyboards/novelkeys/nk65b/keymaps/via/readme.md7
-rwxr-xr-xkeyboards/novelkeys/nk65b/keymaps/via/rules.mk1
-rw-r--r--keyboards/novelkeys/nk65b/mcuconf.h22
-rwxr-xr-xkeyboards/novelkeys/nk65b/nk65b.c54
-rwxr-xr-xkeyboards/novelkeys/nk65b/nk65b.h36
-rwxr-xr-xkeyboards/novelkeys/nk65b/readme.md34
-rwxr-xr-xkeyboards/novelkeys/nk65b/rules.mk29
-rwxr-xr-xkeyboards/novelkeys/nk87/config.h7
-rwxr-xr-xkeyboards/novelkeys/nk87/info.json6
-rw-r--r--keyboards/novelkeys/nk87b/config.h135
-rw-r--r--keyboards/novelkeys/nk87b/halconf.h21
-rwxr-xr-xkeyboards/novelkeys/nk87b/info.json16
-rw-r--r--keyboards/novelkeys/nk87b/keymaps/default/keymap.c34
-rw-r--r--keyboards/novelkeys/nk87b/keymaps/default/readme.md7
-rw-r--r--keyboards/novelkeys/nk87b/keymaps/via/keymap.c50
-rw-r--r--keyboards/novelkeys/nk87b/keymaps/via/readme.md7
-rw-r--r--keyboards/novelkeys/nk87b/keymaps/via/rules.mk1
-rw-r--r--keyboards/novelkeys/nk87b/mcuconf.h22
-rw-r--r--keyboards/novelkeys/nk87b/nk87b.c58
-rw-r--r--keyboards/novelkeys/nk87b/nk87b.h38
-rw-r--r--keyboards/novelkeys/nk87b/readme.md34
-rw-r--r--keyboards/novelkeys/nk87b/rules.mk29
-rwxr-xr-xkeyboards/novelkeys/novelpad/config.h8
-rw-r--r--keyboards/novelkeys/novelpad/info.json6
-rwxr-xr-xkeyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c2
-rw-r--r--keyboards/noxary/220/config.h9
-rw-r--r--keyboards/noxary/220/info.json8
-rw-r--r--keyboards/noxary/260/config.h9
-rw-r--r--keyboards/noxary/260/info.json8
-rw-r--r--keyboards/noxary/268/config.h8
-rw-r--r--keyboards/noxary/268/info.json8
-rw-r--r--keyboards/noxary/268/keymaps/sixtyeight/keymap.c2
-rw-r--r--keyboards/noxary/268_2/config.h8
-rw-r--r--keyboards/noxary/268_2/info.json8
-rw-r--r--keyboards/noxary/268_2_rgb/config.h8
-rw-r--r--keyboards/noxary/268_2_rgb/info.json8
-rw-r--r--keyboards/noxary/280/config.h8
-rw-r--r--keyboards/noxary/280/info.json8
-rw-r--r--keyboards/noxary/378/config.h8
-rw-r--r--keyboards/noxary/378/info.json8
-rw-r--r--keyboards/noxary/valhalla/config.h8
-rw-r--r--keyboards/noxary/valhalla/info.json6
-rw-r--r--keyboards/noxary/valhalla/readme.md2
-rw-r--r--keyboards/noxary/vulcan/config.h8
-rw-r--r--keyboards/noxary/vulcan/info.json8
-rw-r--r--keyboards/noxary/x268/config.h8
-rw-r--r--keyboards/noxary/x268/info.json8
-rw-r--r--keyboards/np12/config.h10
-rw-r--r--keyboards/np12/info.json6
-rw-r--r--keyboards/nullbitsco/nibble/config.h8
-rw-r--r--keyboards/nullbitsco/nibble/info.json8
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/oled/keymap.c2
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/oled_bongocat/keymap.c2
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c2
-rw-r--r--keyboards/nullbitsco/scramble/config.h8
-rw-r--r--keyboards/nullbitsco/scramble/info.json8
-rw-r--r--keyboards/nullbitsco/tidbit/config.h8
-rw-r--r--keyboards/nullbitsco/tidbit/info.json8
-rw-r--r--keyboards/nullbitsco/tidbit/readme.md2
-rw-r--r--keyboards/nullbitsco/tidbit/tidbit.c2
-rw-r--r--keyboards/numatreus/config.h8
-rw-r--r--keyboards/numatreus/info.json8
-rw-r--r--keyboards/numatreus/keymaps/hdbx/keymap.c4
-rw-r--r--keyboards/numatreus/keymaps/like_jis/keymap.c2
-rw-r--r--keyboards/numatreus/keymaps/yohewi/keymap.c2
-rw-r--r--keyboards/obosob/arch_36/config.h9
-rw-r--r--keyboards/obosob/arch_36/info.json6
-rw-r--r--keyboards/obosob/arch_36/keymaps/obosob/keymap.c6
-rw-r--r--keyboards/obosob/steal_this_keyboard/config.h8
-rw-r--r--keyboards/obosob/steal_this_keyboard/info.json8
-rw-r--r--keyboards/ocean/addon/config.h7
-rw-r--r--keyboards/ocean/addon/info.json6
-rw-r--r--keyboards/ocean/gin_v2/config.h7
-rw-r--r--keyboards/ocean/gin_v2/info.json6
-rw-r--r--keyboards/ocean/slamz/config.h6
-rw-r--r--keyboards/ocean/slamz/info.json6
-rw-r--r--keyboards/ocean/stealth/config.h7
-rw-r--r--keyboards/ocean/stealth/info.json6
-rw-r--r--keyboards/ocean/sus/config.h7
-rw-r--r--keyboards/ocean/sus/info.json8
-rw-r--r--keyboards/ocean/wang_ergo/config.h7
-rw-r--r--keyboards/ocean/wang_ergo/info.json6
-rw-r--r--keyboards/ocean/wang_v2/config.h7
-rw-r--r--keyboards/ocean/wang_v2/info.json6
-rw-r--r--keyboards/ocean/yuri/config.h6
-rw-r--r--keyboards/ocean/yuri/info.json6
-rw-r--r--keyboards/oddball/config.h9
-rw-r--r--keyboards/oddball/info.json6
-rw-r--r--keyboards/oddball/v1/config.h1
-rw-r--r--keyboards/oddball/v2/config.h1
-rw-r--r--keyboards/oddball/v2_1/config.h1
-rw-r--r--keyboards/oddforge/vea/config.h7
-rw-r--r--keyboards/oddforge/vea/info.json6
-rw-r--r--keyboards/odelia/config.h8
-rw-r--r--keyboards/odelia/info.json8
-rw-r--r--keyboards/ogre/ergo_single/config.h7
-rw-r--r--keyboards/ogre/ergo_single/info.json6
-rw-r--r--keyboards/ogre/ergo_split/config.h7
-rw-r--r--keyboards/ogre/ergo_split/info.json6
-rw-r--r--keyboards/ok60/config.h8
-rw-r--r--keyboards/ok60/info.json6
-rw-r--r--keyboards/ok60/keymaps/ptillemans/keymap.c2
-rw-r--r--keyboards/om60/config.h104
-rw-r--r--keyboards/om60/info.json16
-rw-r--r--keyboards/om60/keymaps/default/keymap.c70
-rw-r--r--keyboards/om60/keymaps/default/rules.mk2
-rw-r--r--keyboards/om60/keymaps/via/keymap.c84
-rw-r--r--keyboards/om60/keymaps/via/rules.mk3
-rw-r--r--keyboards/om60/matrix.c166
-rw-r--r--keyboards/om60/om60.c19
-rw-r--r--keyboards/om60/om60.h41
-rw-r--r--keyboards/om60/readme.md27
-rw-r--r--keyboards/om60/rules.mk24
-rw-r--r--keyboards/omkbd/ergodash/mini/config.h7
-rw-r--r--keyboards/omkbd/ergodash/mini/info.json8
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c10
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c2
-rw-r--r--keyboards/omkbd/ergodash/rev1/config.h7
-rw-r--r--keyboards/omkbd/ergodash/rev1/info.json6
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c10
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c2
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c2
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c2
-rw-r--r--keyboards/omkbd/runner3680/3x6/config.h7
-rw-r--r--keyboards/omkbd/runner3680/3x6/info.json6
-rw-r--r--keyboards/omkbd/runner3680/3x7/config.h7
-rw-r--r--keyboards/omkbd/runner3680/3x7/info.json6
-rw-r--r--keyboards/omkbd/runner3680/3x8/config.h7
-rw-r--r--keyboards/omkbd/runner3680/3x8/info.json6
-rw-r--r--keyboards/omkbd/runner3680/4x6/config.h7
-rw-r--r--keyboards/omkbd/runner3680/4x6/info.json6
-rw-r--r--keyboards/omkbd/runner3680/4x7/config.h7
-rw-r--r--keyboards/omkbd/runner3680/4x7/info.json6
-rw-r--r--keyboards/omkbd/runner3680/4x8/config.h7
-rw-r--r--keyboards/omkbd/runner3680/4x8/info.json6
-rw-r--r--keyboards/omkbd/runner3680/5x6/config.h7
-rw-r--r--keyboards/omkbd/runner3680/5x6/info.json6
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/config.h7
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/info.json6
-rw-r--r--keyboards/omkbd/runner3680/5x7/config.h7
-rw-r--r--keyboards/omkbd/runner3680/5x7/info.json6
-rw-r--r--keyboards/omkbd/runner3680/5x8/config.h7
-rw-r--r--keyboards/omkbd/runner3680/5x8/info.json6
-rw-r--r--keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c4
-rw-r--r--keyboards/omnikeyish/config.h7
-rw-r--r--keyboards/omnikeyish/info.json6
-rw-r--r--keyboards/onekeyco/dango40/config.h6
-rw-r--r--keyboards/onekeyco/dango40/info.json6
-rw-r--r--keyboards/onekeyco/dango40/readme.md2
-rw-r--r--keyboards/opendeck/32/info.json8
-rw-r--r--keyboards/opendeck/32/rev1/config.h7
-rw-r--r--keyboards/orange75/config.h8
-rw-r--r--keyboards/orange75/info.json6
-rw-r--r--keyboards/org60/config.h8
-rw-r--r--keyboards/org60/info.json6
-rw-r--r--keyboards/org60/keymaps/boardy/keymap.c2
-rw-r--r--keyboards/org60/keymaps/jarred/keymap.c2
-rw-r--r--keyboards/ortho5by12/config.h10
-rw-r--r--keyboards/ortho5by12/info.json6
-rw-r--r--keyboards/orthocode/config.h8
-rw-r--r--keyboards/orthocode/info.json6
-rw-r--r--keyboards/orthodox/keymaps/default/keymap.c14
-rw-r--r--keyboards/orthodox/keymaps/oscillope/keymap.c2
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/keymap.c2
-rw-r--r--keyboards/orthodox/keymaps/shaymdev/keymap.c2
-rw-r--r--keyboards/orthodox/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/orthodox/rev1/config.h7
-rw-r--r--keyboards/orthodox/rev1/info.json6
-rw-r--r--keyboards/orthodox/rev3/config.h7
-rw-r--r--keyboards/orthodox/rev3/info.json6
-rw-r--r--keyboards/orthodox/rev3_teensy/config.h7
-rw-r--r--keyboards/orthodox/rev3_teensy/info.json6
-rw-r--r--keyboards/owlab/jelly_epoch/hotswap/config.h7
-rw-r--r--keyboards/owlab/jelly_epoch/hotswap/info.json8
-rw-r--r--keyboards/owlab/jelly_epoch/soldered/config.h7
-rw-r--r--keyboards/owlab/jelly_epoch/soldered/info.json8
-rw-r--r--keyboards/owlab/spring/config.h8
-rw-r--r--keyboards/owlab/spring/info.json6
-rw-r--r--keyboards/owlab/suit80/ansi/config.h7
-rw-r--r--keyboards/owlab/suit80/ansi/info.json8
-rw-r--r--keyboards/owlab/suit80/iso/config.h7
-rw-r--r--keyboards/owlab/suit80/iso/info.json8
-rw-r--r--keyboards/owlab/voice65/hotswap/config.h7
-rw-r--r--keyboards/owlab/voice65/hotswap/info.json8
-rw-r--r--keyboards/owlab/voice65/soldered/config.h7
-rw-r--r--keyboards/owlab/voice65/soldered/info.json8
-rw-r--r--keyboards/p3d/glitch/config.h7
-rw-r--r--keyboards/p3d/glitch/info.json6
-rw-r--r--keyboards/pabile/p18/config.h8
-rw-r--r--keyboards/pabile/p18/info.json8
-rw-r--r--keyboards/pabile/p20/info.json6
-rw-r--r--keyboards/pabile/p20/ver1/config.h8
-rw-r--r--keyboards/pabile/p20/ver1/info.json6
-rw-r--r--keyboards/pabile/p20/ver2/config.h8
-rw-r--r--keyboards/pabile/p20/ver2/info.json6
-rw-r--r--keyboards/pabile/p40/config.h8
-rw-r--r--keyboards/pabile/p40/info.json8
-rw-r--r--keyboards/pabile/p40_ortho/config.h8
-rw-r--r--keyboards/pabile/p40_ortho/info.json7
-rw-r--r--keyboards/pabile/p42/config.h8
-rw-r--r--keyboards/pabile/p42/info.json6
-rw-r--r--keyboards/palette1202/config.h8
-rw-r--r--keyboards/palette1202/info.json6
-rw-r--r--keyboards/panc40/config.h8
-rw-r--r--keyboards/panc40/info.json6
-rw-r--r--keyboards/panc60/config.h7
-rw-r--r--keyboards/panc60/info.json8
-rw-r--r--keyboards/papercranekeyboards/gerald65/config.h8
-rw-r--r--keyboards/papercranekeyboards/gerald65/info.json6
-rw-r--r--keyboards/papercranekeyboards/gerald65/readme.md2
-rw-r--r--keyboards/paprikman/albacore/config.h7
-rw-r--r--keyboards/paprikman/albacore/info.json6
-rw-r--r--keyboards/paprikman/albacore/readme.md2
-rw-r--r--keyboards/parallel/parallel_65/hotswap/config.h8
-rw-r--r--keyboards/parallel/parallel_65/hotswap/info.json6
-rw-r--r--keyboards/parallel/parallel_65/soldered/config.h8
-rw-r--r--keyboards/parallel/parallel_65/soldered/info.json6
-rw-r--r--keyboards/pdxkbc/config.h8
-rw-r--r--keyboards/pdxkbc/info.json6
-rw-r--r--keyboards/pearl/config.h7
-rw-r--r--keyboards/pearl/info.json6
-rw-r--r--keyboards/pearl/keymaps/cijanzen/keymap.c4
-rw-r--r--keyboards/pearl/keymaps/jetpacktuxedo/keymap.c4
-rwxr-xr-xkeyboards/pearl/keymaps/phil/keymap.c4
-rw-r--r--keyboards/pearl/keymaps/rask/keymap.c4
-rw-r--r--keyboards/pearlboards/atlas/config.h8
-rw-r--r--keyboards/pearlboards/atlas/info.json8
-rw-r--r--keyboards/pearlboards/atlas/readme.md4
-rw-r--r--keyboards/pearlboards/pandora/config.h8
-rw-r--r--keyboards/pearlboards/pandora/info.json6
-rw-r--r--keyboards/pearlboards/pearl/config.h7
-rw-r--r--keyboards/pearlboards/pearl/info.json8
-rw-r--r--keyboards/pearlboards/pearl/readme.md4
-rw-r--r--keyboards/pearlboards/zeus/config.h8
-rw-r--r--keyboards/pearlboards/zeus/info.json8
-rw-r--r--keyboards/pearlboards/zeus/readme.md4
-rw-r--r--keyboards/pearlboards/zeuspad/config.h8
-rw-r--r--keyboards/pearlboards/zeuspad/info.json8
-rw-r--r--keyboards/pearlboards/zeuspad/readme.md4
-rw-r--r--keyboards/peej/lumberjack/config.h8
-rw-r--r--keyboards/peej/lumberjack/info.json6
-rw-r--r--keyboards/peej/rosaline/config.h8
-rw-r--r--keyboards/peej/rosaline/info.json126
-rw-r--r--keyboards/peej/rosaline/keymaps/default/keymap.c64
-rw-r--r--keyboards/peej/rosaline/keymaps/via/keymap.c46
-rw-r--r--keyboards/peej/rosaline/ortho/info.json77
-rw-r--r--keyboards/peej/rosaline/ortho/keymaps/default/keymap.c (renamed from keyboards/peej/rosaline/keymaps/ortho/keymap.c)0
-rw-r--r--keyboards/peej/rosaline/ortho/keymaps/via/keymap.c (renamed from keyboards/peej/rosaline/keymaps/via-ortho/keymap.c)0
-rw-r--r--keyboards/peej/rosaline/ortho/keymaps/via/rules.mk1
-rw-r--r--keyboards/peej/rosaline/ortho/ortho.h57
-rw-r--r--keyboards/peej/rosaline/ortho/rules.mk18
-rw-r--r--keyboards/peej/rosaline/readme.md7
-rw-r--r--keyboards/peej/rosaline/rosaline.h38
-rw-r--r--keyboards/peej/rosaline/rules.mk19
-rw-r--r--keyboards/peej/rosaline/staggered/info.json74
-rw-r--r--keyboards/peej/rosaline/staggered/keymaps/default/keymap.c64
-rw-r--r--keyboards/peej/rosaline/staggered/keymaps/via/keymap.c46
-rw-r--r--keyboards/peej/rosaline/staggered/keymaps/via/rules.mk1
-rw-r--r--keyboards/peej/rosaline/staggered/rules.mk18
-rw-r--r--keyboards/peej/rosaline/staggered/staggered.h57
-rw-r--r--keyboards/peej/tripel/config.h8
-rw-r--r--keyboards/peej/tripel/info.json6
-rw-r--r--keyboards/pegasus/config.h8
-rw-r--r--keyboards/pegasus/info.json8
-rw-r--r--keyboards/pegasus/keymaps/split/keymap.c2
-rw-r--r--keyboards/pegasus/readme.md2
-rw-r--r--keyboards/peranekofactory/tone/rev1/config.h8
-rw-r--r--keyboards/peranekofactory/tone/rev1/info.json6
-rw-r--r--keyboards/peranekofactory/tone/rev2/config.h8
-rw-r--r--keyboards/peranekofactory/tone/rev2/info.json6
-rw-r--r--keyboards/percent/booster/config.h7
-rw-r--r--keyboards/percent/booster/info.json8
-rw-r--r--keyboards/percent/canoe/config.h7
-rw-r--r--keyboards/percent/canoe/info.json10
-rw-r--r--keyboards/percent/canoe/keymaps/boy_314/keymap.c4
-rw-r--r--keyboards/percent/canoe/keymaps/dhertz/keymap.c4
-rw-r--r--keyboards/percent/canoe_gen2/config.h8
-rw-r--r--keyboards/percent/canoe_gen2/info.json6
-rw-r--r--keyboards/percent/skog/config.h7
-rw-r--r--keyboards/percent/skog/info.json8
-rw-r--r--keyboards/percent/skog_lite/config.h7
-rw-r--r--keyboards/percent/skog_lite/info.json6
-rwxr-xr-xkeyboards/percent/skog_lite/keymaps/binman/keymap.c2
-rw-r--r--keyboards/phantom/config.h8
-rw-r--r--keyboards/phantom/info.json6
-rw-r--r--keyboards/phantom/keymaps/rgbmod/keymap.c2
-rw-r--r--keyboards/phase_studio/titan65/hotswap/config.h7
-rw-r--r--keyboards/phase_studio/titan65/hotswap/info.json6
-rw-r--r--keyboards/phase_studio/titan65/soldered/config.h7
-rw-r--r--keyboards/phase_studio/titan65/soldered/info.json6
-rw-r--r--keyboards/phoenix/config.h7
-rw-r--r--keyboards/phoenix/info.json6
-rw-r--r--keyboards/phoenix/phoenix.c2
-rw-r--r--keyboards/phoenix/rules.mk1
-rw-r--r--keyboards/phrygian/ph100/config.h7
-rw-r--r--keyboards/phrygian/ph100/info.json6
-rw-r--r--keyboards/pico/65keys/config.h7
-rw-r--r--keyboards/pico/65keys/info.json6
-rw-r--r--keyboards/pico/70keys/config.h7
-rw-r--r--keyboards/pico/70keys/info.json6
-rw-r--r--keyboards/picolab/frusta_fundamental/config.h8
-rw-r--r--keyboards/picolab/frusta_fundamental/info.json8
-rw-r--r--keyboards/pierce/config.h7
-rw-r--r--keyboards/pierce/info.json85
-rw-r--r--keyboards/pierce/keymaps/durken1/config.h4
-rw-r--r--keyboards/pierce/readme.md2
-rwxr-xr-xkeyboards/pimentoso/paddino02/rev1/config.h8
-rw-r--r--keyboards/pimentoso/paddino02/rev1/info.json6
-rwxr-xr-xkeyboards/pimentoso/paddino02/rev2/left/config.h8
-rw-r--r--keyboards/pimentoso/paddino02/rev2/left/info.json6
-rwxr-xr-xkeyboards/pimentoso/paddino02/rev2/right/config.h8
-rw-r--r--keyboards/pimentoso/paddino02/rev2/right/info.json6
-rw-r--r--keyboards/pimentoso/touhoupad/config.h7
-rw-r--r--keyboards/pimentoso/touhoupad/info.json8
-rw-r--r--keyboards/pinky/3/config.h8
-rw-r--r--keyboards/pinky/3/info.json6
-rw-r--r--keyboards/pinky/4/config.h8
-rw-r--r--keyboards/pinky/4/info.json6
-rw-r--r--keyboards/pisces/config.h8
-rw-r--r--keyboards/pisces/info.json6
-rw-r--r--keyboards/pixelspace/capsule65i/capsule65i.c17
-rw-r--r--keyboards/pixelspace/capsule65i/capsule65i.h221
-rw-r--r--keyboards/pixelspace/capsule65i/config.h56
-rw-r--r--keyboards/pixelspace/capsule65i/info.json1002
-rw-r--r--keyboards/pixelspace/capsule65i/keymaps/default/keymap.c39
-rw-r--r--keyboards/pixelspace/capsule65i/keymaps/via/keymap.c57
-rw-r--r--keyboards/pixelspace/capsule65i/keymaps/via/rules.mk2
-rw-r--r--keyboards/pixelspace/capsule65i/readme.md17
-rw-r--r--keyboards/pixelspace/capsule65i/rules.mk20
-rw-r--r--keyboards/pizzakeyboards/pizza65/config.h8
-rw-r--r--keyboards/pizzakeyboards/pizza65/info.json6
-rw-r--r--keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c2
-rw-r--r--keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c2
-rw-r--r--keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c2
-rw-r--r--keyboards/pjb/eros/config.h7
-rw-r--r--keyboards/pjb/eros/info.json8
-rw-r--r--keyboards/pkb65/config.h8
-rw-r--r--keyboards/pkb65/info.json6
-rw-r--r--keyboards/planck/config.h6
-rw-r--r--keyboards/planck/ez/base/info.json6
-rw-r--r--keyboards/planck/ez/base/rules.mk0
-rw-r--r--keyboards/planck/ez/config.h11
-rw-r--r--keyboards/planck/ez/ez.c21
-rw-r--r--keyboards/planck/ez/glow/config.h25
-rw-r--r--keyboards/planck/ez/glow/info.json6
-rw-r--r--keyboards/planck/ez/info.json6
-rw-r--r--keyboards/planck/ez/rules.mk2
-rw-r--r--keyboards/planck/info.json1
-rw-r--r--keyboards/planck/keymaps/ab/keymap.c2
-rw-r--r--keyboards/planck/keymaps/abhixec/keymap.c2
-rw-r--r--keyboards/planck/keymaps/abishalom/keymap.c2
-rw-r--r--keyboards/planck/keymaps/adamtabrams/keymap.c4
-rw-r--r--keyboards/planck/keymaps/altgr/common/chord_layout.h2
-rw-r--r--keyboards/planck/keymaps/am/keymap.c2
-rw-r--r--keyboards/planck/keymaps/andylikescandy/keymap.c2
-rw-r--r--keyboards/planck/keymaps/antosha417/keymap.c2
-rw-r--r--keyboards/planck/keymaps/ariccb/config.h1
-rw-r--r--keyboards/planck/keymaps/ariccb/keymap.c17
-rw-r--r--keyboards/planck/keymaps/aviator/keymap.c10
-rw-r--r--keyboards/planck/keymaps/badger/keymap.c2
-rw-r--r--keyboards/planck/keymaps/basic/keymap.c4
-rw-r--r--keyboards/planck/keymaps/bbaserdem/README.md15
-rwxr-xr-xkeyboards/planck/keymaps/bbaserdem/config.h24
-rwxr-xr-xkeyboards/planck/keymaps/bbaserdem/keymap.c28
-rwxr-xr-xkeyboards/planck/keymaps/bbaserdem/rules.mk7
-rw-r--r--keyboards/planck/keymaps/bghull/keymap.c8
-rw-r--r--keyboards/planck/keymaps/brandon/keymap.c2
-rw-r--r--keyboards/planck/keymaps/buffet/keymap.c2
-rw-r--r--keyboards/planck/keymaps/buhearns/keymap.c2
-rw-r--r--keyboards/planck/keymaps/cbbrowne/keymap.c2
-rw-r--r--keyboards/planck/keymaps/chance/keymap.c2
-rw-r--r--keyboards/planck/keymaps/charlesrocket/keymap.c4
-rw-r--r--keyboards/planck/keymaps/circuit/keymap.c2
-rw-r--r--keyboards/planck/keymaps/coloneljesus/keymap.c2
-rw-r--r--keyboards/planck/keymaps/copface/keymap.c2
-rw-r--r--keyboards/planck/keymaps/corvec/keymap.c2
-rw-r--r--keyboards/planck/keymaps/csc027/config.h7
-rw-r--r--keyboards/planck/keymaps/csc027/rules.mk6
-rw-r--r--keyboards/planck/keymaps/david/keymap.c4
-rw-r--r--keyboards/planck/keymaps/davidrambo/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dbroqua/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dc/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dear_vehicle_owner/keymap.c2
-rw-r--r--keyboards/planck/keymaps/default/keymap.c2
-rw-r--r--keyboards/planck/keymaps/deft/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dlaroe/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dodger/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dr0ck/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dr_notsokind/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dshields/keymap.c4
-rw-r--r--keyboards/planck/keymaps/dudeofawesome/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dvorak2space/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dvz/keymap.c2
-rw-r--r--keyboards/planck/keymaps/emiller/keymap.c2
-rw-r--r--keyboards/planck/keymaps/emilyh/keymap.c2
-rw-r--r--keyboards/planck/keymaps/eosti/keymap.c2
-rw-r--r--keyboards/planck/keymaps/eshesh2/keymap.c2
-rw-r--r--keyboards/planck/keymaps/espynn/keymap.c2
-rw-r--r--keyboards/planck/keymaps/experimental/keymap.c2
-rw-r--r--keyboards/planck/keymaps/fabian/keymap.c2
-rw-r--r--keyboards/planck/keymaps/foreveranapple/keymap.c2
-rw-r--r--keyboards/planck/keymaps/fsck/keymap.c2
-rw-r--r--keyboards/planck/keymaps/gitdrik/keymap.c2
-rw-r--r--keyboards/planck/keymaps/grahampheath/keymap.c4
-rw-r--r--keyboards/planck/keymaps/grant24/keymap.c2
-rw-r--r--keyboards/planck/keymaps/gunp/keymap.c2
-rw-r--r--keyboards/planck/keymaps/handwired_binaryplease/keymap.c2
-rw-r--r--keyboards/planck/keymaps/hiea/common/chord_layout.h2
-rw-r--r--keyboards/planck/keymaps/hieax/common/chord_layout.h2
-rw-r--r--keyboards/planck/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/planck/keymaps/impossible/keymap.c4
-rw-r--r--keyboards/planck/keymaps/inkwell/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jasperla/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jdelkins/keymap.c4
-rw-r--r--keyboards/planck/keymaps/jeebak/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jetpacktuxedo/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jhenahan/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jimmysjolund/keymap.c42
-rw-r--r--keyboards/planck/keymaps/jirgn/keymap.c2
-rw-r--r--keyboards/planck/keymaps/joe/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jweickm/keymap.c4
-rw-r--r--keyboards/planck/keymaps/kanbara/keymap.c2
-rw-r--r--keyboards/planck/keymaps/kelorean/keymap.c2
-rw-r--r--keyboards/planck/keymaps/khord/keymap.c2
-rw-r--r--keyboards/planck/keymaps/kifinnsson/keymap.c2
-rw-r--r--keyboards/planck/keymaps/kloki/keymap.c2
-rw-r--r--keyboards/planck/keymaps/kmontag42/keymap.c2
-rw-r--r--keyboards/planck/keymaps/kuatsure/keymap.c4
-rw-r--r--keyboards/planck/keymaps/lae3/keymap.c2
-rw-r--r--keyboards/planck/keymaps/lja83/keymap.c2
-rw-r--r--keyboards/planck/keymaps/lucas/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mason/keymap.c2
-rw-r--r--keyboards/planck/keymaps/matrixman/keymap.c6
-rw-r--r--keyboards/planck/keymaps/mattly/keymap.c2
-rw-r--r--keyboards/planck/keymaps/max/keymap.c4
-rw-r--r--keyboards/planck/keymaps/mgalisa/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mikethetiger/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mjt/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mjtnumsym/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mjuma/keymap.c4
-rw-r--r--keyboards/planck/keymaps/mnil/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mollat/keymap.c2
-rw-r--r--keyboards/planck/keymaps/motform/keymap.c2
-rw-r--r--keyboards/planck/keymaps/msiu/keymap.c2
-rw-r--r--keyboards/planck/keymaps/muppetjones/.clang-format26
-rw-r--r--keyboards/planck/keymaps/muppetjones/config.h56
-rw-r--r--keyboards/planck/keymaps/muppetjones/keymap.c403
-rw-r--r--keyboards/planck/keymaps/muppetjones/readme.md2
-rw-r--r--keyboards/planck/keymaps/muppetjones/rules.mk5
-rw-r--r--keyboards/planck/keymaps/muzfuz/keymap.c2
-rw-r--r--keyboards/planck/keymaps/mwpeterson/keymap.c2
-rw-r--r--keyboards/planck/keymaps/myoung34/keymap.c2
-rw-r--r--keyboards/planck/keymaps/narze/keymap.c2
-rw-r--r--keyboards/planck/keymaps/nick/keymap.c2
-rw-r--r--keyboards/planck/keymaps/nico/keymap.c4
-rw-r--r--keyboards/planck/keymaps/not-quite-neo/keymap.c4
-rw-r--r--keyboards/planck/keymaps/originerd/keymap.c2
-rw-r--r--keyboards/planck/keymaps/orthodeluxe/keymap.c2
-rw-r--r--keyboards/planck/keymaps/oryx/keymap.c4
-rw-r--r--keyboards/planck/keymaps/palleiko/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pascamel/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pete/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pevecyan/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pickle_jr/keymap.c2
-rw-r--r--keyboards/planck/keymaps/piemod/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pjanx/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pok3r/keymap.c2
-rw-r--r--keyboards/planck/keymaps/premek/keymap.c2
-rw-r--r--keyboards/planck/keymaps/priyadi/config.h6
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/.gitignore3
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/config.h12
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/keymap.c4
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/readme.md82
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/rules.mk6
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/enums.h23
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/layouts.c25
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/layouts.h27
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/normal.h96
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/qgmlwb.h63
-rw-r--r--keyboards/planck/keymaps/prog_qgmlwb/src/special.h43
-rw-r--r--keyboards/planck/keymaps/ptillemans/keymap.c2
-rw-r--r--keyboards/planck/keymaps/pvc/config.h1
-rw-r--r--keyboards/planck/keymaps/pvc/keymap.c4
-rw-r--r--keyboards/planck/keymaps/raffle/keymap.c2
-rw-r--r--keyboards/planck/keymaps/rai-suta/keymap.c2
-rw-r--r--keyboards/planck/keymaps/rodhaene/keymap.c2
-rw-r--r--keyboards/planck/keymaps/roguepullrequest/keymap.c2
-rw-r--r--keyboards/planck/keymaps/roguepullrequest/rules.mk1
-rw-r--r--keyboards/planck/keymaps/rootiest/config.h1
-rw-r--r--keyboards/planck/keymaps/rootiest/keymap.c25
-rw-r--r--keyboards/planck/keymaps/rootiest/rules.mk3
-rw-r--r--keyboards/planck/keymaps/sascha/keymap.c2
-rwxr-xr-xkeyboards/planck/keymaps/scottzach1/keymap.c2
-rw-r--r--keyboards/planck/keymaps/sdothum/common/chord_layout.h2
-rw-r--r--keyboards/planck/keymaps/sean/keymap.c2
-rw-r--r--keyboards/planck/keymaps/sebas/keymap.c2
-rw-r--r--keyboards/planck/keymaps/sgoodwin/keymap.c2
-rw-r--r--keyboards/planck/keymaps/sigul/keymap.c2
-rw-r--r--keyboards/planck/keymaps/skank/keymap.c2
-rw-r--r--keyboards/planck/keymaps/skug/keymap.c2
-rw-r--r--keyboards/planck/keymaps/smittey/keymap.c2
-rw-r--r--keyboards/planck/keymaps/smt/keymap.c2
-rw-r--r--keyboards/planck/keymaps/spacebarracecar/keymap.c4
-rw-r--r--keyboards/planck/keymaps/steno/keymap.c2
-rw-r--r--keyboards/planck/keymaps/stuartfong1/keymap.c2
-rw-r--r--keyboards/planck/keymaps/synth_sample/keymap.c8
-rw-r--r--keyboards/planck/keymaps/synth_wavetable/keymap.c8
-rw-r--r--keyboards/planck/keymaps/tak3over/keymap.c2
-rw-r--r--keyboards/planck/keymaps/that_canadian/keymap.c4
-rw-r--r--keyboards/planck/keymaps/thermal_printer/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tk/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tom/keymap.c4
-rw-r--r--keyboards/planck/keymaps/tomkonidas/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tong92/keymap.c4
-rw-r--r--keyboards/planck/keymaps/ttys0/keymap.c2
-rw-r--r--keyboards/planck/keymaps/tylerwince/keymap.c6
-rw-r--r--keyboards/planck/keymaps/unagi/keymap.c2
-rw-r--r--keyboards/planck/keymaps/unicode/keymap.c2
-rw-r--r--keyboards/planck/keymaps/vaire/keymap.c2
-rw-r--r--keyboards/planck/keymaps/vxid/keymap.c2
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/keymap.c4
-rw-r--r--keyboards/planck/keymaps/xjtian/keymap.c4
-rw-r--r--keyboards/planck/keymaps/yang/keymap.c4
-rw-r--r--keyboards/planck/keymaps/zach/keymap.c2
-rwxr-xr-xkeyboards/planck/keymaps/zrichard/config.h1
-rwxr-xr-xkeyboards/planck/keymaps/zrichard/keymap.c4
-rw-r--r--keyboards/planck/light/config.h5
-rw-r--r--keyboards/planck/light/info.json6
-rw-r--r--keyboards/planck/light/light.c13
-rw-r--r--keyboards/planck/planck.c13
-rw-r--r--keyboards/planck/rev1/config.h4
-rw-r--r--keyboards/planck/rev1/info.json8
-rw-r--r--keyboards/planck/rev1/rev1.c15
-rw-r--r--keyboards/planck/rev2/config.h4
-rw-r--r--keyboards/planck/rev2/info.json8
-rw-r--r--keyboards/planck/rev2/rev2.c15
-rw-r--r--keyboards/planck/rev3/config.h4
-rw-r--r--keyboards/planck/rev3/info.json8
-rw-r--r--keyboards/planck/rev3/rev3.c15
-rw-r--r--keyboards/planck/rev4/config.h4
-rw-r--r--keyboards/planck/rev4/info.json8
-rw-r--r--keyboards/planck/rev4/rev4.c15
-rw-r--r--keyboards/planck/rev5/config.h4
-rw-r--r--keyboards/planck/rev5/info.json8
-rw-r--r--keyboards/planck/rev5/rev5.c15
-rw-r--r--keyboards/planck/rev6/config.h5
-rw-r--r--keyboards/planck/rev6/info.json8
-rw-r--r--keyboards/planck/rev6/rev6.c19
-rw-r--r--keyboards/planck/rev6_drop/config.h7
-rw-r--r--keyboards/planck/rev6_drop/info.json8
-rw-r--r--keyboards/planck/rev6_drop/matrix.c25
-rw-r--r--keyboards/planck/rev6_drop/rev6_drop.c19
-rw-r--r--keyboards/planck/thk/config.h4
-rw-r--r--keyboards/planck/thk/info.json6
-rw-r--r--keyboards/planck/thk/keymaps/thk/keymap.c2
-rw-r--r--keyboards/planck/thk/thk.c14
-rw-r--r--keyboards/playkbtw/ca66/config.h8
-rw-r--r--keyboards/playkbtw/ca66/info.json6
-rw-r--r--keyboards/playkbtw/ca66/keymaps/kelorean/keymap.c2
-rw-r--r--keyboards/playkbtw/ca66/keymaps/kelorean/layers.json2
-rw-r--r--keyboards/playkbtw/ca66/keymaps/olivia/keymap.c2
-rw-r--r--keyboards/playkbtw/helen80/config.h7
-rw-r--r--keyboards/playkbtw/helen80/info.json8
-rw-r--r--keyboards/playkbtw/pk60/config.h8
-rw-r--r--keyboards/playkbtw/pk60/info.json6
-rw-r--r--keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c2
-rw-r--r--keyboards/playkbtw/pk64rgb/config.h7
-rw-r--r--keyboards/playkbtw/pk64rgb/info.json6
-rw-r--r--keyboards/playkbtw/pk64rgb/readme.md2
-rw-r--r--keyboards/ploopyco/mouse/config.h13
-rw-r--r--keyboards/ploopyco/mouse/info.json8
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c2
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drashna/config.h2
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drashna/keymap.c19
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drashna/rules.mk3
-rw-r--r--keyboards/ploopyco/mouse/mouse.c6
-rw-r--r--keyboards/ploopyco/opt_encoder.c11
-rw-r--r--keyboards/ploopyco/opt_encoder.h42
-rw-r--r--keyboards/ploopyco/opt_encoder_simple.c147
-rw-r--r--keyboards/ploopyco/trackball/config.h10
-rw-r--r--keyboards/ploopyco/trackball/info.json9
-rw-r--r--keyboards/ploopyco/trackball/rev1/config.h2
-rw-r--r--keyboards/ploopyco/trackball/rev1_005/config.h2
-rw-r--r--keyboards/ploopyco/trackball/trackball.c11
-rw-r--r--keyboards/ploopyco/trackball_mini/config.h6
-rw-r--r--keyboards/ploopyco/trackball_mini/info.json9
-rw-r--r--keyboards/ploopyco/trackball_mini/rev1_001/config.h2
-rw-r--r--keyboards/ploopyco/trackball_mini/rev1_002/config.h2
-rw-r--r--keyboards/ploopyco/trackball_mini/trackball_mini.c8
-rw-r--r--keyboards/ploopyco/trackball_nano/config.h6
-rw-r--r--keyboards/ploopyco/trackball_nano/info.json9
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/lkbm/keymap.c167
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/lkbm/readme.md2
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/lkbm/rules.mk1
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c4
-rw-r--r--keyboards/ploopyco/trackball_nano/rev1_001/config.h2
-rw-r--r--keyboards/ploopyco/trackball_nano/trackball_nano.c12
-rw-r--r--keyboards/ploopyco/trackball_nano/trackball_nano.h2
-rw-r--r--keyboards/pluckey/config.h8
-rw-r--r--keyboards/pluckey/info.json6
-rw-r--r--keyboards/pluckey/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/pluckey/keymaps/manna-harbour_miryoku/keymap.c4
-rw-r--r--keyboards/plum47/info.json80
-rw-r--r--keyboards/plum47/keymaps/default/keymap.c84
-rw-r--r--keyboards/plum47/keymaps/via/keymap.c92
-rw-r--r--keyboards/plum47/keymaps/via/rules.mk1
-rw-r--r--keyboards/plum47/readme.md28
-rw-r--r--keyboards/plum47/rules.mk1
-rw-r--r--keyboards/plume/plume65/config.h8
-rw-r--r--keyboards/plume/plume65/info.json6
-rw-r--r--keyboards/plut0nium/0x3e/config.h8
-rw-r--r--keyboards/plut0nium/0x3e/info.json6
-rw-r--r--keyboards/plx/config.h7
-rw-r--r--keyboards/plx/info.json6
-rw-r--r--keyboards/plywrks/ahgase/config.h8
-rw-r--r--keyboards/plywrks/ahgase/info.json6
-rw-r--r--keyboards/plywrks/allaro/info.json124
-rw-r--r--keyboards/plywrks/allaro/keymaps/default/keymap.c33
-rw-r--r--keyboards/plywrks/allaro/keymaps/via/keymap.c47
-rw-r--r--keyboards/plywrks/allaro/keymaps/via/rules.mk1
-rw-r--r--keyboards/plywrks/allaro/readme.md26
-rw-r--r--keyboards/plywrks/allaro/rules.mk1
-rw-r--r--keyboards/plywrks/lune/config.h83
-rw-r--r--keyboards/plywrks/lune/info.json87
-rw-r--r--keyboards/plywrks/lune/keymaps/default/keymap.c33
-rw-r--r--keyboards/plywrks/lune/keymaps/via/keymap.c48
-rw-r--r--keyboards/plywrks/lune/keymaps/via/rules.mk2
-rw-r--r--keyboards/plywrks/lune/lune.c38
-rw-r--r--keyboards/plywrks/lune/lune.h47
-rw-r--r--keyboards/plywrks/lune/readme.md21
-rw-r--r--keyboards/plywrks/lune/rules.mk19
-rw-r--r--keyboards/pohjolaworks/louhi/config.h8
-rw-r--r--keyboards/pohjolaworks/louhi/info.json6
-rw-r--r--keyboards/poker87c/config.h7
-rw-r--r--keyboards/poker87c/info.json8
-rw-r--r--keyboards/poker87d/config.h7
-rw-r--r--keyboards/poker87d/info.json8
-rw-r--r--keyboards/polilla/info.json6
-rw-r--r--keyboards/polilla/rev1/config.h8
-rw-r--r--keyboards/polycarbdiet/s20/config.h8
-rw-r--r--keyboards/polycarbdiet/s20/info.json6
-rw-r--r--keyboards/polycarbdiet/s20/readme.md4
-rw-r--r--keyboards/pom_keyboards/tnln95/config.h8
-rw-r--r--keyboards/pom_keyboards/tnln95/info.json6
-rw-r--r--keyboards/portal_66/hotswap/config.h8
-rw-r--r--keyboards/portal_66/hotswap/info.json6
-rw-r--r--keyboards/portal_66/soldered/config.h8
-rw-r--r--keyboards/portal_66/soldered/info.json8
-rw-r--r--keyboards/pos78/config.h8
-rw-r--r--keyboards/pos78/info.json8
-rw-r--r--keyboards/preonic/config.h6
-rw-r--r--keyboards/preonic/info.json1
-rw-r--r--keyboards/preonic/keymaps/0xdec/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/AlexDaigre/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/CMD-Preonic/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/arkag/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/badger/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/bghull/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/blake-newman/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/boy314/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/codecoffeecode/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/cranium/keymap.c2
-rwxr-xr-xkeyboards/preonic/keymaps/davidrambo/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/default/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/dlaroe/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/drasbeck/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/dudeofawesome/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/ekis_isa/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/elisiano/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/fig-r/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/fsck/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/jacwib/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/jpe230/config.h28
-rw-r--r--keyboards/preonic/keymaps/jpe230/jpe230.h35
-rw-r--r--keyboards/preonic/keymaps/jpe230/keymap.c116
-rw-r--r--keyboards/preonic/keymaps/jpe230/rules.mk9
-rw-r--r--keyboards/preonic/keymaps/keelhauler/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/kinesis/config.h1
-rw-r--r--keyboards/preonic/keymaps/kjwon15/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/kuatsure/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/laurentlaurent/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/mechmaster48/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/mguterl/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/mikethetiger/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/muzfuz/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/mverteuil/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/nikchi/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/pcurt854/keymap.c6
-rw-r--r--keyboards/preonic/keymaps/pezhore/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/pitty/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/pvillano/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/senseored/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/smt/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/that_canadian/keymap.c4
-rw-r--r--keyboards/preonic/keymaps/trigotometry/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/ttys0/keymap.c2
-rw-r--r--keyboards/preonic/keymaps/zach/config.h1
-rw-r--r--keyboards/preonic/keymaps/zach/keymap.c2
-rw-r--r--keyboards/preonic/rev1/config.h23
-rw-r--r--keyboards/preonic/rev1/info.json9
-rw-r--r--keyboards/preonic/rev2/config.h23
-rw-r--r--keyboards/preonic/rev2/info.json9
-rw-r--r--keyboards/preonic/rev3/config.h5
-rw-r--r--keyboards/preonic/rev3/info.json10
-rw-r--r--keyboards/preonic/rev3_drop/config.h7
-rw-r--r--keyboards/preonic/rev3_drop/info.json10
-rw-r--r--keyboards/preonic/rev3_drop/matrix.c25
-rw-r--r--keyboards/primekb/meridian/config.h7
-rw-r--r--keyboards/primekb/meridian/info.json6
-rw-r--r--keyboards/primekb/meridian/ktr1010/config.h7
-rw-r--r--keyboards/primekb/meridian/readme.md2
-rw-r--r--keyboards/primekb/meridian/ws2812/config.h7
-rw-r--r--keyboards/primekb/meridian_rgb/config.h7
-rw-r--r--keyboards/primekb/meridian_rgb/info.json6
-rw-r--r--keyboards/primekb/meridian_rgb/readme.md2
-rw-r--r--keyboards/primekb/prime_e/config.h4
-rw-r--r--keyboards/primekb/prime_e/info.json5
-rw-r--r--keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/keymaps/gwillad/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/keymaps/milestogo/config.h1
-rw-r--r--keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/keymaps/via/keymap.c2
-rw-r--r--keyboards/primekb/prime_e/rgb/config.h5
-rw-r--r--keyboards/primekb/prime_e/rgb/info.json7
-rw-r--r--keyboards/primekb/prime_e/std/config.h5
-rw-r--r--keyboards/primekb/prime_e/std/info.json7
-rw-r--r--keyboards/primekb/prime_l/config.h4
-rw-r--r--keyboards/primekb/prime_l/info.json5
-rw-r--r--keyboards/primekb/prime_l/v1/config.h6
-rw-r--r--keyboards/primekb/prime_l/v1/info.json6
-rw-r--r--keyboards/primekb/prime_l/v2/config.h6
-rw-r--r--keyboards/primekb/prime_l/v2/info.json4
-rw-r--r--keyboards/primekb/prime_m/config.h8
-rw-r--r--keyboards/primekb/prime_m/info.json7
-rw-r--r--keyboards/primekb/prime_m/keymaps/numpad/keymap.c2
-rw-r--r--keyboards/primekb/prime_o/config.h8
-rw-r--r--keyboards/primekb/prime_o/info.json6
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c4
-rw-r--r--keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c4
-rw-r--r--keyboards/primekb/prime_r/config.h8
-rw-r--r--keyboards/primekb/prime_r/info.json6
-rw-r--r--keyboards/program_yoink/config.h6
-rw-r--r--keyboards/program_yoink/ortho/config.h19
-rw-r--r--keyboards/program_yoink/ortho/info.json8
-rw-r--r--keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c2
-rw-r--r--keyboards/program_yoink/staggered/config.h19
-rw-r--r--keyboards/program_yoink/staggered/info.json8
-rw-r--r--keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c2
-rw-r--r--keyboards/projectcain/relic/config.h127
-rw-r--r--keyboards/projectcain/relic/info.json25
-rw-r--r--keyboards/projectcain/relic/keymaps/default/config.h23
-rw-r--r--keyboards/projectcain/relic/keymaps/default/keymap.c74
-rw-r--r--keyboards/projectcain/relic/keymaps/default/readme.md1
-rw-r--r--keyboards/projectcain/relic/keymaps/default/rules.mk2
-rw-r--r--keyboards/projectcain/relic/readme.md17
-rw-r--r--keyboards/projectcain/relic/relic.c37
-rw-r--r--keyboards/projectcain/relic/relic.h80
-rw-r--r--keyboards/projectcain/relic/rules.mk18
-rw-r--r--keyboards/projectcain/vault35/config.h8
-rw-r--r--keyboards/projectcain/vault35/info.json8
-rw-r--r--keyboards/projectcain/vault45/config.h8
-rw-r--r--keyboards/projectcain/vault45/info.json8
-rw-r--r--keyboards/projectkb/alice/info.json6
-rw-r--r--keyboards/projectkb/alice/keymaps/devinceble/keymap.c2
-rw-r--r--keyboards/projectkb/alice/keymaps/keithlo/keymap.c2
-rw-r--r--keyboards/projectkb/alice/keymaps/madhatter/keymap.c4
-rw-r--r--keyboards/projectkb/alice/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/projectkb/alice/rev1/config.h7
-rw-r--r--keyboards/projectkb/alice/rev2/config.h7
-rw-r--r--keyboards/projectkb/signature65/config.h7
-rw-r--r--keyboards/projectkb/signature65/info.json8
-rw-r--r--keyboards/projectkb/signature65/readme.md2
-rw-r--r--keyboards/projectkb/signature87/config.h7
-rw-r--r--keyboards/projectkb/signature87/info.json8
-rw-r--r--keyboards/prototypist/allison/config.h8
-rw-r--r--keyboards/prototypist/allison/info.json8
-rw-r--r--keyboards/prototypist/allison_numpad/config.h8
-rw-r--r--keyboards/prototypist/allison_numpad/info.json8
-rw-r--r--keyboards/prototypist/j01/config.h8
-rw-r--r--keyboards/prototypist/j01/info.json8
-rw-r--r--keyboards/protozoa/cassini/config.h9
-rw-r--r--keyboards/protozoa/cassini/info.json6
-rw-r--r--keyboards/protozoa/p01/config.h95
-rw-r--r--keyboards/protozoa/p01/halconf.h21
-rw-r--r--keyboards/protozoa/p01/info.json16
-rw-r--r--keyboards/protozoa/p01/keymaps/default/keymap.c43
-rw-r--r--keyboards/protozoa/p01/keymaps/default/readme.md5
-rw-r--r--keyboards/protozoa/p01/keymaps/default/rules.mk1
-rw-r--r--keyboards/protozoa/p01/keymaps/via/keymap.c63
-rw-r--r--keyboards/protozoa/p01/keymaps/via/readme.md5
-rw-r--r--keyboards/protozoa/p01/keymaps/via/rules.mk2
-rw-r--r--keyboards/protozoa/p01/mcuconf.h22
-rw-r--r--keyboards/protozoa/p01/p01.c16
-rw-r--r--keyboards/protozoa/p01/p01.h36
-rw-r--r--keyboards/protozoa/p01/readme.md34
-rw-r--r--keyboards/protozoa/p01/rules.mk28
-rw-r--r--keyboards/psuieee/pluto12/config.h8
-rw-r--r--keyboards/psuieee/pluto12/info.json6
-rw-r--r--keyboards/psuieee/pluto12/readme.md2
-rw-r--r--keyboards/pteron36/config.h8
-rw-r--r--keyboards/pteron36/info.json6
-rw-r--r--keyboards/puck/config.h8
-rw-r--r--keyboards/puck/info.json6
-rw-r--r--keyboards/punk75/config.h8
-rw-r--r--keyboards/punk75/info.json6
-rw-r--r--keyboards/q4z/config.h8
-rw-r--r--keyboards/q4z/info.json6
-rw-r--r--keyboards/q4z/keymaps/rjboone/keymap.c2
-rw-r--r--keyboards/qpockets/eggman/config.h8
-rw-r--r--keyboards/qpockets/eggman/info.json6
-rw-r--r--keyboards/qpockets/space_space/rev1/config.h8
-rw-r--r--keyboards/qpockets/space_space/rev1/info.json6
-rw-r--r--keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c2
-rw-r--r--keyboards/qpockets/space_space/rev2/config.h8
-rw-r--r--keyboards/qpockets/space_space/rev2/info.json6
-rw-r--r--keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c2
-rw-r--r--keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c2
-rw-r--r--keyboards/qpockets/wanten/config.h8
-rw-r--r--keyboards/qpockets/wanten/info.json6
-rw-r--r--keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c2
-rw-r--r--keyboards/qpockets/wanten/keymaps/625_bar/keymap.c2
-rw-r--r--keyboards/qpockets/wanten/readme.md2
-rw-r--r--keyboards/quad_h/lb75/config.h8
-rw-r--r--keyboards/quad_h/lb75/info.json6
-rw-r--r--keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c2
-rw-r--r--keyboards/quantrik/kyuu/config.h8
-rw-r--r--keyboards/quantrik/kyuu/info.json6
-rw-r--r--keyboards/qvex/lynepad/config.h8
-rw-r--r--keyboards/qvex/lynepad/info.json8
-rw-r--r--keyboards/qwertlekeys/calice/calice.c17
-rw-r--r--keyboards/qwertlekeys/calice/calice.h44
-rw-r--r--keyboards/qwertlekeys/calice/config.h47
-rw-r--r--keyboards/qwertlekeys/calice/info.json98
-rw-r--r--keyboards/qwertlekeys/calice/keymaps/default/keymap.c38
-rw-r--r--keyboards/qwertlekeys/calice/keymaps/via/keymap.c54
-rw-r--r--keyboards/qwertlekeys/calice/keymaps/via/rules.mk1
-rw-r--r--keyboards/qwertlekeys/calice/readme.md23
-rw-r--r--keyboards/qwertlekeys/calice/rules.mk19
-rw-r--r--keyboards/qwertykeys/qk65/hotswap/config.h8
-rw-r--r--keyboards/qwertykeys/qk65/hotswap/info.json8
-rw-r--r--keyboards/qwertykeys/qk65/solder/config.h8
-rw-r--r--keyboards/qwertykeys/qk65/solder/info.json8
-rw-r--r--keyboards/qwertyydox/config.h7
-rw-r--r--keyboards/qwertyydox/info.json6
-rw-r--r--keyboards/rabbit/rabbit68/config.h8
-rw-r--r--keyboards/rabbit/rabbit68/info.json6
-rw-r--r--keyboards/rad/config.h1
-rw-r--r--keyboards/rad/readme.md2
-rw-r--r--keyboards/rainkeebs/delilah/config.h8
-rw-r--r--keyboards/rainkeebs/delilah/info.json6
-rw-r--r--keyboards/rainkeebs/rainkeeb/config.h8
-rw-r--r--keyboards/rainkeebs/rainkeeb/info.json6
-rw-r--r--keyboards/rainkeebs/yasui/config.h8
-rw-r--r--keyboards/rainkeebs/yasui/info.json6
-rw-r--r--keyboards/ramonimbao/aelith/config.h8
-rw-r--r--keyboards/ramonimbao/aelith/info.json6
-rw-r--r--keyboards/ramonimbao/chevron/config.h8
-rw-r--r--keyboards/ramonimbao/chevron/info.json6
-rw-r--r--keyboards/ramonimbao/herringbone/pro/config.h8
-rw-r--r--keyboards/ramonimbao/herringbone/pro/info.json6
-rw-r--r--keyboards/ramonimbao/herringbone/v1/config.h8
-rw-r--r--keyboards/ramonimbao/herringbone/v1/info.json6
-rw-r--r--keyboards/ramonimbao/mona/v1/config.h8
-rw-r--r--keyboards/ramonimbao/mona/v1/info.json78
-rw-r--r--keyboards/ramonimbao/mona/v1_1/config.h8
-rw-r--r--keyboards/ramonimbao/mona/v1_1/info.json78
-rw-r--r--keyboards/ramonimbao/mona/v1_1/readme.md2
-rw-r--r--keyboards/ramonimbao/mona/v32a/config.h8
-rw-r--r--keyboards/ramonimbao/mona/v32a/info.json78
-rw-r--r--keyboards/ramonimbao/mona/v32a/readme.md2
-rw-r--r--keyboards/ramonimbao/squishy65/config.h7
-rw-r--r--keyboards/ramonimbao/squishy65/info.json6
-rw-r--r--keyboards/ramonimbao/squishyfrl/config.h8
-rw-r--r--keyboards/ramonimbao/squishyfrl/info.json8
-rw-r--r--keyboards/ramonimbao/squishytkl/config.h8
-rw-r--r--keyboards/ramonimbao/squishytkl/info.json6
-rw-r--r--keyboards/ramonimbao/tkl_ff/config.h8
-rw-r--r--keyboards/ramonimbao/tkl_ff/info.json5
-rw-r--r--keyboards/ramonimbao/tkl_ff/rules.mk2
-rw-r--r--keyboards/ramonimbao/tkl_ff/v1/info.json5
-rw-r--r--keyboards/ramonimbao/tkl_ff/v1/rules.mk0
-rw-r--r--keyboards/ramonimbao/tkl_ff/v2/config.h3
-rw-r--r--keyboards/ramonimbao/tkl_ff/v2/info.json5
-rw-r--r--keyboards/ramonimbao/wete/v1/config.h7
-rw-r--r--keyboards/ramonimbao/wete/v1/info.json6
-rw-r--r--keyboards/ramonimbao/wete/v2/config.h8
-rw-r--r--keyboards/ramonimbao/wete/v2/info.json6
-rw-r--r--keyboards/ramonimbao/wete/v2/readme.md2
-rw-r--r--keyboards/rart/rart45/config.h8
-rw-r--r--keyboards/rart/rart45/info.json6
-rw-r--r--keyboards/rart/rart4x4/config.h8
-rw-r--r--keyboards/rart/rart4x4/info.json6
-rw-r--r--keyboards/rart/rart67/config.h8
-rw-r--r--keyboards/rart/rart67/info.json6
-rw-r--r--keyboards/rart/rart67m/config.h7
-rw-r--r--keyboards/rart/rart67m/info.json6
-rw-r--r--keyboards/rart/rart75/config.h8
-rw-r--r--keyboards/rart/rart75/info.json6
-rw-r--r--keyboards/rart/rart75hs/config.h8
-rw-r--r--keyboards/rart/rart75hs/info.json6
-rw-r--r--keyboards/rart/rart75m/config.h7
-rw-r--r--keyboards/rart/rart75m/info.json6
-rw-r--r--keyboards/rart/rartand/config.h8
-rw-r--r--keyboards/rart/rartand/info.json6
-rw-r--r--keyboards/rart/rartland/config.h7
-rw-r--r--keyboards/rart/rartland/info.json6
-rw-r--r--keyboards/rart/rartlice/config.h7
-rw-r--r--keyboards/rart/rartlice/info.json6
-rw-r--r--keyboards/rart/rartlite/config.h8
-rw-r--r--keyboards/rart/rartlite/info.json8
-rw-r--r--keyboards/rart/rartpad/config.h8
-rw-r--r--keyboards/rart/rartpad/info.json6
-rw-r--r--keyboards/rart/rartpad/keymaps/numpad/keymap.c2
-rw-r--r--keyboards/rate/pistachio/config.h7
-rw-r--r--keyboards/rate/pistachio/info.json8
-rw-r--r--keyboards/rate/pistachio/rev1/config.h1
-rw-r--r--keyboards/rate/pistachio/rev2/config.h1
-rw-r--r--keyboards/rate/pistachio_mp/config.h8
-rw-r--r--keyboards/rate/pistachio_mp/info.json6
-rw-r--r--keyboards/rate/pistachio_pro/config.h8
-rw-r--r--keyboards/rate/pistachio_pro/info.json6
-rw-r--r--keyboards/rationalist/ratio65_hotswap/info.json10
-rw-r--r--keyboards/rationalist/ratio65_hotswap/rev_a/config.h7
-rw-r--r--keyboards/rationalist/ratio65_hotswap/rev_a/info.json16
-rw-r--r--keyboards/rationalist/ratio65_solder/info.json10
-rw-r--r--keyboards/rationalist/ratio65_solder/rev_a/config.h7
-rw-r--r--keyboards/rationalist/ratio65_solder/rev_a/info.json16
-rw-r--r--keyboards/recompile_keys/choco60/config.h7
-rw-r--r--keyboards/recompile_keys/choco60/info.json6
-rw-r--r--keyboards/recompile_keys/choco60/rev1/config.h1
-rw-r--r--keyboards/recompile_keys/choco60/rev2/config.h1
-rw-r--r--keyboards/recompile_keys/cocoa40/config.h8
-rw-r--r--keyboards/recompile_keys/cocoa40/info.json6
-rw-r--r--keyboards/recompile_keys/mio/config.h8
-rw-r--r--keyboards/recompile_keys/mio/info.json6
-rw-r--r--keyboards/recompile_keys/nomu30/config.h7
-rw-r--r--keyboards/recompile_keys/nomu30/info.json6
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c2
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md2
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c2
-rw-r--r--keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md2
-rw-r--r--keyboards/recompile_keys/nomu30/rev1/config.h1
-rw-r--r--keyboards/recompile_keys/nomu30/rev2/config.h1
-rw-r--r--keyboards/rect44/config.h7
-rw-r--r--keyboards/rect44/info.json8
-rw-r--r--keyboards/redox/info.json94
-rw-r--r--keyboards/redox/keymaps/KL1RL/keymap.c2
-rw-r--r--keyboards/redox/keymaps/default/keymap.c2
-rw-r--r--keyboards/redox/keymaps/eightbitraptor/keymap.c2
-rw-r--r--keyboards/redox/keymaps/fculpo/keymap.c2
-rw-r--r--keyboards/redox/keymaps/finex/keymap.c2
-rw-r--r--keyboards/redox/keymaps/german/keymap.c2
-rw-r--r--keyboards/redox/keymaps/italian/keymap.c2
-rw-r--r--keyboards/redox/keymaps/jeherve/keymap.c2
-rwxr-xr-xkeyboards/redox/keymaps/nrichers/keymap.c2
-rw-r--r--keyboards/redox/keymaps/ptillemans/keymap.c2
-rw-r--r--keyboards/redox/keymaps/thattolleyguy/keymap.c4
-rw-r--r--keyboards/redox/keymaps/tw1t611/keymap.c2
-rw-r--r--keyboards/redox/keymaps/via/keymap.c2
-rw-r--r--keyboards/redox/readme.md2
-rw-r--r--keyboards/redox/rev1/base/info.json5
-rw-r--r--keyboards/redox/rev1/base/rules.mk0
-rw-r--r--keyboards/redox/rev1/config.h7
-rw-r--r--keyboards/redox/rev1/info.json100
-rw-r--r--keyboards/redox/rev1/proton_c/config.h4
-rw-r--r--keyboards/redox/rev1/proton_c/info.json5
-rw-r--r--keyboards/redox/rev1/rules.mk1
-rw-r--r--keyboards/redox/rules.mk2
-rw-r--r--keyboards/redox_media/config.h7
-rw-r--r--keyboards/redox_media/info.json6
-rw-r--r--keyboards/redox_w/config.h8
-rw-r--r--keyboards/redox_w/info.json6
-rw-r--r--keyboards/redox_w/keymaps/danielo515/keymap.c2
-rw-r--r--keyboards/redox_w/keymaps/default/keymap.c2
-rw-r--r--keyboards/redox_w/keymaps/italian/keymap.c14
-rw-r--r--keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/redox_w/keymaps/via/keymap.c2
-rw-r--r--keyboards/redscarf_i/config.h9
-rw-r--r--keyboards/redscarf_i/info.json6
-rw-r--r--keyboards/redscarf_i/redscarf_i.c2
-rwxr-xr-xkeyboards/redscarf_iiplus/verb/config.h8
-rw-r--r--keyboards/redscarf_iiplus/verb/info.json8
-rwxr-xr-xkeyboards/redscarf_iiplus/verc/config.h8
-rw-r--r--keyboards/redscarf_iiplus/verc/info.json8
-rw-r--r--keyboards/redscarf_iiplus/verd/config.h8
-rw-r--r--keyboards/redscarf_iiplus/verd/info.json8
-rw-r--r--keyboards/retro_75/config.h8
-rw-r--r--keyboards/retro_75/info.json6
-rw-r--r--keyboards/retro_75/keymaps/split_backspace/keymap.c2
-rw-r--r--keyboards/reversestudio/decadepad/config.h9
-rw-r--r--keyboards/reversestudio/decadepad/info.json6
-rw-r--r--keyboards/reviung/reviung33/config.h8
-rw-r--r--keyboards/reviung/reviung33/info.json6
-rwxr-xr-xkeyboards/reviung/reviung34/config.h8
-rwxr-xr-xkeyboards/reviung/reviung34/info.json6
-rw-r--r--keyboards/reviung/reviung39/config.h8
-rw-r--r--keyboards/reviung/reviung39/info.json6
-rw-r--r--keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c12
-rw-r--r--keyboards/reviung/reviung41/config.h8
-rw-r--r--keyboards/reviung/reviung41/info.json8
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c4
-rw-r--r--keyboards/reviung/reviung5/config.h8
-rw-r--r--keyboards/reviung/reviung5/info.json6
-rw-r--r--keyboards/reviung/reviung53/config.h8
-rw-r--r--keyboards/reviung/reviung53/info.json6
-rw-r--r--keyboards/reviung/reviung53/readme.md2
-rw-r--r--keyboards/reviung/reviung61/config.h8
-rw-r--r--keyboards/reviung/reviung61/info.json6
-rw-r--r--keyboards/rgbkb/common/common_oled.c3
-rw-r--r--keyboards/rgbkb/mun/config.h6
-rw-r--r--keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c4
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c2
-rw-r--r--keyboards/rgbkb/mun/matrix.c76
-rw-r--r--keyboards/rgbkb/mun/rev1/config.h12
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json8
-rw-r--r--keyboards/rgbkb/mun/rules.mk5
-rw-r--r--keyboards/rgbkb/pan/config.h6
-rw-r--r--keyboards/rgbkb/pan/info.json8
-rw-r--r--keyboards/rgbkb/pan/keymaps/default/keymap.c2
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c2
-rw-r--r--keyboards/rgbkb/sol/keymaps/danielhklein/keymap.c4
-rw-r--r--keyboards/rgbkb/sol/keymaps/default/keymap.c4
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/keymap.c6
-rw-r--r--keyboards/rgbkb/sol/rev1/config.h7
-rw-r--r--keyboards/rgbkb/sol/rev1/info.json6
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h7
-rw-r--r--keyboards/rgbkb/sol/rev2/info.json6
-rw-r--r--keyboards/rgbkb/sol3/config.h6
-rw-r--r--keyboards/rgbkb/sol3/readme.md2
-rw-r--r--keyboards/rgbkb/sol3/rev1/config.h12
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json8
-rw-r--r--keyboards/rgbkb/sol3/rules.mk8
-rw-r--r--keyboards/rgbkb/zen/config.h20
-rw-r--r--keyboards/rgbkb/zen/post_rules.mk15
-rw-r--r--keyboards/rgbkb/zen/readme.md4
-rw-r--r--keyboards/rgbkb/zen/rev1/config.h7
-rw-r--r--keyboards/rgbkb/zen/rev1/info.json8
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c12
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h2
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c4
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c4
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c2
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/rgbkb/zen/rev1/rev1.h10
-rw-r--r--keyboards/rgbkb/zen/rev2/config.h16
-rw-r--r--keyboards/rgbkb/zen/rev2/info.json8
-rw-r--r--keyboards/rgbkb/zen/rev2/rev2.c2
-rw-r--r--keyboards/rgbkb/zen/rev2/rev2.h68
-rw-r--r--keyboards/rgbkb/zen/rules.mk2
-rw-r--r--keyboards/rgbkb/zen/zen.c1
-rw-r--r--keyboards/rgbkb/zen/zen.h8
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c2
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/config.h7
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/info.json6
-rw-r--r--keyboards/ristretto/config.h7
-rw-r--r--keyboards/ristretto/info.json6
-rw-r--r--keyboards/rmkeebs/rm_numpad/config.h8
-rw-r--r--keyboards/rmkeebs/rm_numpad/info.json6
-rw-r--r--keyboards/rocketboard_16/config.h7
-rw-r--r--keyboards/rocketboard_16/info.json6
-rw-r--r--keyboards/rocketboard_16/keycode_lookup.c2
-rw-r--r--keyboards/rocketboard_16/keymaps/default/keymap.c4
-rw-r--r--keyboards/rocketboard_16/keymaps/via/keymap.c4
-rw-r--r--keyboards/rominronin/katana60/rev1/config.h8
-rw-r--r--keyboards/rominronin/katana60/rev1/info.json6
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c2
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c6
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c2
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c2
-rw-r--r--keyboards/rominronin/katana60/rev2/config.h8
-rw-r--r--keyboards/rominronin/katana60/rev2/info.json6
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c2
-rw-r--r--keyboards/roseslite/config.h8
-rw-r--r--keyboards/roseslite/info.json6
-rw-r--r--keyboards/rotor/config.h7
-rw-r--r--keyboards/rotor/info.json6
-rw-r--r--keyboards/rotr/config.h8
-rw-r--r--keyboards/rotr/info.json8
-rw-r--r--keyboards/rpiguy9907/southpaw66/config.h7
-rw-r--r--keyboards/rpiguy9907/southpaw66/info.json6
-rw-r--r--keyboards/rubi/config.h8
-rw-r--r--keyboards/rubi/info.json6
-rw-r--r--keyboards/runes/skjoldr/config.h93
-rw-r--r--keyboards/runes/skjoldr/info.json87
-rw-r--r--keyboards/runes/skjoldr/keymaps/default/keymap.c59
-rw-r--r--keyboards/runes/skjoldr/keymaps/default/readme.md1
-rw-r--r--keyboards/runes/skjoldr/keymaps/via/keymap.c59
-rw-r--r--keyboards/runes/skjoldr/keymaps/via/rules.mk2
-rw-r--r--keyboards/runes/skjoldr/readme.md23
-rw-r--r--keyboards/runes/skjoldr/rules.mk20
-rw-r--r--keyboards/runes/skjoldr/skjoldr.c17
-rw-r--r--keyboards/runes/skjoldr/skjoldr.h49
-rw-r--r--keyboards/runes/vaengr/config.h8
-rw-r--r--keyboards/runes/vaengr/info.json8
-rw-r--r--keyboards/ryanbaekr/rb18/config.h8
-rw-r--r--keyboards/ryanbaekr/rb18/info.json36
-rw-r--r--keyboards/ryanbaekr/rb69/config.h8
-rw-r--r--keyboards/ryanbaekr/rb69/info.json6
-rw-r--r--keyboards/ryanbaekr/rb86/config.h8
-rw-r--r--keyboards/ryanbaekr/rb86/info.json6
-rw-r--r--keyboards/ryanskidmore/rskeys100/config.h7
-rw-r--r--keyboards/ryanskidmore/rskeys100/info.json8
-rw-r--r--keyboards/ryanskidmore/rskeys100/readme.md2
-rwxr-xr-xkeyboards/ryloo_studio/m0110/config.h8
-rw-r--r--keyboards/ryloo_studio/m0110/info.json6
-rwxr-xr-xkeyboards/ryloo_studio/m0110/readme.md4
-rw-r--r--keyboards/s_ol/0xc_pad/readme.md2
-rw-r--r--keyboards/saevus/cor_tkl/config.h26
-rw-r--r--keyboards/saevus/cor_tkl/cor_tkl.c44
-rw-r--r--keyboards/saevus/cor_tkl/cor_tkl.h121
-rw-r--r--keyboards/saevus/cor_tkl/info.json524
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/default/config.h20
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/default/keymap.c27
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/iso/config.h19
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/iso/keymap.c27
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/via/config.h19
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/via/keymap.c51
-rw-r--r--keyboards/saevus/cor_tkl/keymaps/via/rules.mk1
-rw-r--r--keyboards/saevus/cor_tkl/readme.md18
-rw-r--r--keyboards/saevus/cor_tkl/rules.mk13
-rw-r--r--keyboards/salicylic_acid3/7skb/info.json74
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c10
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/7skb/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/7skb/rev1/info.json80
-rw-r--r--keyboards/salicylic_acid3/7skb/rules.mk2
-rw-r--r--keyboards/salicylic_acid3/7splus/config.h7
-rw-r--r--keyboards/salicylic_acid3/7splus/info.json6
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c4
-rw-r--r--keyboards/salicylic_acid3/ajisai74/config.h7
-rw-r--r--keyboards/salicylic_acid3/ajisai74/info.json6
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/config.h7
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/info.json6
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/getta25/info.json36
-rw-r--r--keyboards/salicylic_acid3/getta25/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/getta25/rev1/info.json42
-rw-r--r--keyboards/salicylic_acid3/jisplit89/info.json100
-rw-r--r--keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c4
-rw-r--r--keyboards/salicylic_acid3/jisplit89/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/jisplit89/rev1/info.json106
-rw-r--r--keyboards/salicylic_acid3/nafuda/config.h7
-rw-r--r--keyboards/salicylic_acid3/nafuda/info.json6
-rw-r--r--keyboards/salicylic_acid3/naked48/info.json249
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked48/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/naked48/rev1/info.json255
-rw-r--r--keyboards/salicylic_acid3/naked60/info.json71
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c6
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c6
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c6
-rw-r--r--keyboards/salicylic_acid3/naked60/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/naked60/rev1/info.json77
-rw-r--r--keyboards/salicylic_acid3/naked64/info.json174
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c6
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c6
-rw-r--r--keyboards/salicylic_acid3/naked64/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/naked64/rev1/info.json180
-rw-r--r--keyboards/salicylic_acid3/nknl7en/config.h7
-rw-r--r--keyboards/salicylic_acid3/nknl7en/info.json6
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/config.h7
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/info.json6
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/salicylic_acid3/setta21/info.json37
-rw-r--r--keyboards/salicylic_acid3/setta21/rev1/config.h7
-rw-r--r--keyboards/salicylic_acid3/setta21/rev1/info.json43
-rw-r--r--keyboards/sam/s80/config.h7
-rw-r--r--keyboards/sam/s80/info.json8
-rw-r--r--keyboards/sam/sg81m/config.h7
-rw-r--r--keyboards/sam/sg81m/info.json8
-rw-r--r--keyboards/sanctified/dystopia/config.h9
-rw-r--r--keyboards/sanctified/dystopia/info.json6
-rw-r--r--keyboards/sandwich/keeb68/config.h8
-rw-r--r--keyboards/sandwich/keeb68/info.json8
-rw-r--r--keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c2
-rw-r--r--keyboards/sandwich/keeb68/readme.md2
-rw-r--r--keyboards/satt/comet46/config.h8
-rw-r--r--keyboards/satt/comet46/i2c.c162
-rw-r--r--keyboards/satt/comet46/i2c.h46
-rw-r--r--keyboards/satt/comet46/info.json6
-rw-r--r--keyboards/satt/comet46/keymaps/default-rgbled/keymap.c2
-rw-r--r--keyboards/satt/comet46/keymaps/default/config.h29
-rw-r--r--keyboards/satt/comet46/keymaps/default/keymap.c49
-rw-r--r--keyboards/satt/comet46/keymaps/default/rules.mk5
-rw-r--r--keyboards/satt/comet46/keymaps/satt/config.h29
-rw-r--r--keyboards/satt/comet46/keymaps/satt/keymap.c111
-rw-r--r--keyboards/satt/comet46/keymaps/satt/rules.mk4
-rw-r--r--keyboards/satt/comet46/lib/glcdfont.c137
-rw-r--r--keyboards/satt/comet46/rules.mk5
-rw-r--r--keyboards/satt/comet46/ssd1306.c343
-rw-r--r--keyboards/satt/comet46/ssd1306.h90
-rw-r--r--keyboards/satt/vision/config.h7
-rw-r--r--keyboards/satt/vision/info.json6
-rw-r--r--keyboards/satt/vision/keymaps/satt/keymap.c2
-rw-r--r--keyboards/sauce/mild/config.h8
-rw-r--r--keyboards/sauce/mild/info.json8
-rw-r--r--keyboards/sawnsprojects/amber80/readme.md2
-rw-r--r--keyboards/sawnsprojects/amber80/solder/config.h8
-rw-r--r--keyboards/sawnsprojects/amber80/solder/info.json8
-rw-r--r--keyboards/sawnsprojects/amber80/solder/readme.md2
-rw-r--r--keyboards/sawnsprojects/krush/krush60/readme.md2
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/config.h8
-rw-r--r--keyboards/sawnsprojects/krush/krush60/solder/info.json8
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/config.h64
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c58
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h21
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.c31
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h53
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/info.json163
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c39
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/readme.md1
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c60
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/readme.md1
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk5
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/readme.md23
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/rules.mk19
-rw-r--r--keyboards/sawnsprojects/krush/krush65/readme.md2
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/config.h8
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/info.json8
-rw-r--r--keyboards/sawnsprojects/satxri6key/config.h7
-rw-r--r--keyboards/sawnsprojects/satxri6key/info.json6
-rw-r--r--keyboards/sawnsprojects/vcl65/readme.md2
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/config.h8
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/info.json8
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/readme.md2
-rw-r--r--keyboards/scatter42/config.h8
-rw-r--r--keyboards/scatter42/info.json6
-rw-r--r--keyboards/sck/gtm/config.h8
-rw-r--r--keyboards/sck/gtm/info.json8
-rw-r--r--keyboards/sck/m0116b/config.h8
-rw-r--r--keyboards/sck/m0116b/info.json6
-rw-r--r--keyboards/sck/m0116b/keymaps/m0116/keymap.c4
-rw-r--r--keyboards/sck/m0116b/keymaps/m0118/keymap.c2
-rw-r--r--keyboards/sck/neiso/config.h8
-rw-r--r--keyboards/sck/neiso/info.json6
-rw-r--r--keyboards/sck/osa/config.h8
-rw-r--r--keyboards/sck/osa/info.json6
-rw-r--r--keyboards/sekigon/grs_70ec/config.h8
-rw-r--r--keyboards/sekigon/grs_70ec/info.json8
-rw-r--r--keyboards/sendyyeah/75pixels/config.h7
-rw-r--r--keyboards/sendyyeah/75pixels/info.json8
-rw-r--r--keyboards/sendyyeah/bevi/config.h7
-rw-r--r--keyboards/sendyyeah/bevi/info.json6
-rw-r--r--keyboards/sendyyeah/pix/config.h7
-rw-r--r--keyboards/sendyyeah/pix/info.json6
-rw-r--r--keyboards/senselessclay/ck60/config.h7
-rw-r--r--keyboards/senselessclay/ck60/info.json6
-rw-r--r--keyboards/senselessclay/ck65/config.h8
-rw-r--r--keyboards/senselessclay/ck65/info.json6
-rw-r--r--keyboards/senselessclay/gos65/config.h8
-rw-r--r--keyboards/senselessclay/gos65/info.json6
-rw-r--r--keyboards/senselessclay/had60/config.h8
-rw-r--r--keyboards/senselessclay/had60/info.json6
-rw-r--r--keyboards/senselessclay/had60/keymaps/had/keymap.c2
-rw-r--r--keyboards/sentraq/number_pad/config.h8
-rw-r--r--keyboards/sentraq/number_pad/info.json8
-rw-r--r--keyboards/sentraq/s60_x/default/config.h8
-rw-r--r--keyboards/sentraq/s60_x/default/info.json3
-rw-r--r--keyboards/sentraq/s60_x/info.json7
-rw-r--r--keyboards/sentraq/s60_x/keymaps/amnesia0287/keymap.c2
-rw-r--r--keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c2
-rw-r--r--keyboards/sentraq/s60_x/keymaps/bluebear/keymap.c4
-rw-r--r--keyboards/sentraq/s60_x/rgb/config.h8
-rw-r--r--keyboards/sentraq/s60_x/rgb/info.json3
-rw-r--r--keyboards/sentraq/s65_plus/config.h8
-rw-r--r--keyboards/sentraq/s65_plus/info.json6
-rw-r--r--keyboards/sentraq/s65_x/config.h8
-rw-r--r--keyboards/sentraq/s65_x/info.json6
-rw-r--r--keyboards/sentraq/s65_x/keymaps/smt/keymap.c4
-rw-r--r--keyboards/sergiopoverony/creator_pro/config.h9
-rw-r--r--keyboards/sergiopoverony/creator_pro/info.json6
-rw-r--r--keyboards/sets3n/kk980/config.h8
-rw-r--r--keyboards/sets3n/kk980/info.json6
-rw-r--r--keyboards/sets3n/kk980/readme.md2
-rw-r--r--keyboards/shambles/config.h8
-rw-r--r--keyboards/shambles/info.json6
-rw-r--r--keyboards/shapeshifter4060/config.h9
-rw-r--r--keyboards/shapeshifter4060/info.json6
-rw-r--r--keyboards/shapeshifter4060/keymaps/default/keymap.c2
-rw-r--r--keyboards/shapeshifter4060/keymaps/vosechu/keymap.c4
-rw-r--r--keyboards/shapeshifter4060/readme.md2
-rw-r--r--keyboards/shiro/config.h8
-rw-r--r--keyboards/shiro/info.json6
-rw-r--r--keyboards/shk9/config.h8
-rw-r--r--keyboards/shk9/info.json6
-rw-r--r--keyboards/shoc/config.h34
-rw-r--r--keyboards/shoc/info.json83
-rw-r--r--keyboards/shoc/keymaps/bongo/keymap.c176
-rw-r--r--keyboards/shoc/keymaps/default/keymap.c41
-rw-r--r--keyboards/shoc/readme.md21
-rw-r--r--keyboards/shoc/rules.mk15
-rw-r--r--keyboards/shoc/shoc.c16
-rw-r--r--keyboards/shoc/shoc.h38
-rw-r--r--keyboards/sidderskb/majbritt/rev1/config.h7
-rw-r--r--keyboards/sidderskb/majbritt/rev1/info.json8
-rw-r--r--keyboards/sidderskb/majbritt/rev2/config.h7
-rw-r--r--keyboards/sidderskb/majbritt/rev2/info.json8
-rw-r--r--keyboards/signum/3_0/config.h7
-rw-r--r--keyboards/signum/3_0/elitec/config.h1
-rw-r--r--keyboards/signum/3_0/info.json6
-rw-r--r--keyboards/signum/3_0/keymaps/sgurenkov/config.h3
-rw-r--r--keyboards/signum/3_0/teensy/config.h1
-rw-r--r--keyboards/silverbullet44/config.h8
-rw-r--r--keyboards/silverbullet44/info.json6
-rw-r--r--keyboards/singa/config.h7
-rw-r--r--keyboards/singa/info.json6
-rw-r--r--keyboards/singa/keymaps/amnesia0287/keymap.c2
-rw-r--r--keyboards/singa/keymaps/test/keymap.c4
-rw-r--r--keyboards/sirius/uni660/rev1/config.h7
-rw-r--r--keyboards/sirius/uni660/rev1/info.json6
-rw-r--r--keyboards/sirius/uni660/rev2/ansi/config.h7
-rw-r--r--keyboards/sirius/uni660/rev2/ansi/info.json8
-rw-r--r--keyboards/sirius/uni660/rev2/iso/config.h7
-rw-r--r--keyboards/sirius/uni660/rev2/iso/info.json8
-rw-r--r--keyboards/sirius/unigo66/config.h7
-rw-r--r--keyboards/sirius/unigo66/info.json6
-rw-r--r--keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c4
-rw-r--r--keyboards/sixkeyboard/config.h7
-rw-r--r--keyboards/sixkeyboard/info.json8
-rw-r--r--keyboards/skeletn87/hotswap/config.h8
-rw-r--r--keyboards/skeletn87/hotswap/info.json8
-rw-r--r--keyboards/skeletn87/soldered/config.h8
-rw-r--r--keyboards/skeletn87/soldered/info.json8
-rw-r--r--keyboards/skeletonkbd/skeletonnumpad/config.h8
-rw-r--r--keyboards/skeletonkbd/skeletonnumpad/info.json8
-rw-r--r--keyboards/skeletonkbd/skeletonnumpad/readme.md2
-rw-r--r--keyboards/skergo/config.h8
-rw-r--r--keyboards/skergo/info.json227
-rw-r--r--keyboards/skergo/keymaps/default/keymap.c31
-rw-r--r--keyboards/skergo/keymaps/via/keymap.c61
-rw-r--r--keyboards/skergo/keymaps/via/rules.mk1
-rw-r--r--keyboards/skergo/readme.md4
-rw-r--r--keyboards/skergo/skergo.h54
-rw-r--r--keyboards/skippys_custom_pcs/rooboard65/config.h8
-rw-r--r--keyboards/skippys_custom_pcs/rooboard65/info.json6
-rw-r--r--keyboards/skippys_custom_pcs/rooboard65/readme.md2
-rw-r--r--keyboards/skippys_custom_pcs/roopad/config.h8
-rw-r--r--keyboards/skippys_custom_pcs/roopad/info.json6
-rw-r--r--keyboards/skippys_custom_pcs/roopad/readme.md2
-rw-r--r--keyboards/skme/zeno/config.h10
-rw-r--r--keyboards/skme/zeno/info.json7
-rw-r--r--keyboards/skme/zeno/readme.md2
-rw-r--r--keyboards/skmt/15k/config.h79
-rw-r--r--keyboards/skmt/15k/info.json68
-rw-r--r--keyboards/skmt/15k/keymaps/default/keymap.c26
-rw-r--r--keyboards/skmt/15k/keymaps/fns/keymap.c25
-rw-r--r--keyboards/skmt/15k/keymaps/qwert/keymap.c25
-rw-r--r--keyboards/skmt/15k/keymaps/via/keymap.c35
-rw-r--r--keyboards/skmt/15k/keymaps/via/rules.mk1
-rw-r--r--keyboards/skmt/15k/readme.md26
-rw-r--r--keyboards/skmt/15k/rules.mk3
-rw-r--r--keyboards/slz40/config.h8
-rw-r--r--keyboards/slz40/info.json6
-rw-r--r--keyboards/smallkeyboard/config.h7
-rw-r--r--keyboards/smallkeyboard/info.json6
-rw-r--r--keyboards/smithrune/iron165r2/config.h7
-rw-r--r--keyboards/smithrune/iron165r2/f411/config.h3
-rw-r--r--keyboards/smithrune/iron165r2/f411/mcuconf.h13
-rw-r--r--keyboards/smithrune/iron165r2/f411/rules.mk1
-rw-r--r--keyboards/smithrune/iron165r2/info.json11
-rw-r--r--keyboards/smithrune/iron165r2/readme.md2
-rw-r--r--keyboards/smithrune/iron180/config.h7
-rw-r--r--keyboards/smithrune/iron180/info.json6
-rw-r--r--keyboards/smk60/config.h8
-rw-r--r--keyboards/smk60/info.json6
-rw-r--r--keyboards/smk60/keymaps/60_ansi/keymap.c2
-rw-r--r--keyboards/smk60/keymaps/60_ansi_split_bs_shift/keymap.c2
-rw-r--r--keyboards/smk60/keymaps/60_hhkb/keymap.c2
-rw-r--r--keyboards/smk60/keymaps/60_iso/keymap.c2
-rw-r--r--keyboards/smk60/keymaps/60_wkl/keymap.c2
-rw-r--r--keyboards/smk60/keymaps/60_wkl_split_bs/keymap.c2
-rw-r--r--keyboards/snampad/config.h8
-rw-r--r--keyboards/snampad/info.json6
-rw-r--r--keyboards/sneakbox/aliceclone/config.h8
-rw-r--r--keyboards/sneakbox/aliceclone/info.json8
-rw-r--r--keyboards/sneakbox/aliceclonergb/config.h8
-rw-r--r--keyboards/sneakbox/aliceclonergb/info.json8
-rw-r--r--keyboards/sneakbox/ava/config.h8
-rw-r--r--keyboards/sneakbox/ava/info.json6
-rw-r--r--keyboards/sneakbox/disarray/ortho/config.h8
-rw-r--r--keyboards/sneakbox/disarray/ortho/info.json6
-rw-r--r--keyboards/sneakbox/disarray/staggered/config.h8
-rw-r--r--keyboards/sneakbox/disarray/staggered/info.json6
-rw-r--r--keyboards/soda/cherish/chconf.h25
-rw-r--r--keyboards/soda/cherish/cherish.c18
-rw-r--r--keyboards/soda/cherish/cherish.h38
-rw-r--r--keyboards/soda/cherish/config.h80
-rw-r--r--keyboards/soda/cherish/info.json103
-rwxr-xr-xkeyboards/soda/cherish/keymaps/default/keymap.c33
-rwxr-xr-xkeyboards/soda/cherish/keymaps/via/keymap.c33
-rw-r--r--keyboards/soda/cherish/keymaps/via/rules.mk1
-rw-r--r--keyboards/soda/cherish/mcuconf.h23
-rw-r--r--keyboards/soda/cherish/readme.md30
-rw-r--r--keyboards/soda/cherish/rules.mk24
-rwxr-xr-xkeyboards/sofle/keyhive/config.h7
-rw-r--r--keyboards/sofle/keyhive/info.json6
-rw-r--r--keyboards/sofle/keymaps/default/keymap.c2
-rw-r--r--keyboards/sofle/keymaps/devdev/keymap.c6
-rw-r--r--keyboards/sofle/keymaps/flare576/keymap.c4
-rw-r--r--keyboards/sofle/keymaps/foureight84/config.h33
-rw-r--r--keyboards/sofle/keymaps/foureight84/keymap.c616
-rw-r--r--keyboards/sofle/keymaps/foureight84/readme.md1
-rw-r--r--keyboards/sofle/keymaps/foureight84/rules.mk24
-rw-r--r--keyboards/sofle/keymaps/helltm/keymap.c8
-rw-r--r--keyboards/sofle/keymaps/killmaster/config.h1
-rw-r--r--keyboards/sofle/keymaps/killmaster/keymap.c4
-rw-r--r--keyboards/sofle/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/sofle/keymaps/michal/config.h23
-rw-r--r--keyboards/sofle/keymaps/michal/keymap.c230
-rw-r--r--keyboards/sofle/keymaps/michal/rules.mk22
-rw-r--r--keyboards/sofle/keymaps/noqmk/keymap.c686
-rw-r--r--keyboards/sofle/keymaps/noqmk/readme.md28
-rw-r--r--keyboards/sofle/keymaps/noqmk/rules.mk6
-rw-r--r--keyboards/sofle/keymaps/rgb_default/keymap.c8
-rw-r--r--keyboards/sofle/rev1/config.h7
-rw-r--r--keyboards/sofle/rev1/info.json6
-rw-r--r--keyboards/soup10/config.h8
-rw-r--r--keyboards/soup10/info.json6
-rw-r--r--keyboards/sowbug/68keys/config.h8
-rw-r--r--keyboards/sowbug/68keys/info.json6
-rw-r--r--keyboards/sowbug/ansi_tkl/config.h8
-rw-r--r--keyboards/sowbug/ansi_tkl/info.json8
-rw-r--r--keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c2
-rw-r--r--keyboards/soy20/config.h8
-rw-r--r--keyboards/soy20/info.json6
-rwxr-xr-xkeyboards/spaceholdings/nebula12/config.h11
-rwxr-xr-xkeyboards/spaceholdings/nebula12/info.json6
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/config.h125
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/info.json18
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keymaps/default/keymap.c30
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keymaps/default/readme.md7
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keymaps/via/keymap.c42
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keymaps/via/readme.md5
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keymaps/via/rules.mk1
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/nebula12b.c42
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/nebula12b.h34
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/readme.md32
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/rules.mk22
-rwxr-xr-xkeyboards/spaceholdings/nebula68/config.h7
-rwxr-xr-xkeyboards/spaceholdings/nebula68/info.json6
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/config.h7
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/info.json6
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/keymaps/default/readme.md2
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/keymaps/via/readme.md2
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/readme.md2
-rw-r--r--keyboards/spaceman/2_milk/config.h8
-rw-r--r--keyboards/spaceman/2_milk/info.json6
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h6
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c56
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md18
-rw-r--r--keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk4
-rw-r--r--keyboards/spaceman/pancake/rev1/config.h7
-rw-r--r--keyboards/spaceman/pancake/rev1/feather/config.h1
-rw-r--r--keyboards/spaceman/pancake/rev1/info.json6
-rw-r--r--keyboards/spaceman/pancake/rev1/promicro/config.h1
-rw-r--r--keyboards/spaceman/pancake/rev2/config.h8
-rw-r--r--keyboards/spaceman/pancake/rev2/info.json6
-rw-r--r--keyboards/spaceman/pancake/rev2/readme.md55
-rw-r--r--keyboards/spaceman/yun65/config.h8
-rw-r--r--keyboards/spaceman/yun65/info.json8
-rw-r--r--keyboards/spacetime/config.h8
-rw-r--r--keyboards/spacetime/info.json6
-rw-r--r--keyboards/spacey/config.h7
-rw-r--r--keyboards/spacey/info.json6
-rw-r--r--keyboards/sparrow62/config.h7
-rw-r--r--keyboards/sparrow62/info.json6
-rw-r--r--keyboards/specskeys/config.h8
-rw-r--r--keyboards/specskeys/info.json8
-rw-r--r--keyboards/spiderisland/split78/config.h7
-rw-r--r--keyboards/spiderisland/split78/info.json8
-rw-r--r--keyboards/splitish/config.h7
-rw-r--r--keyboards/splitish/info.json8
-rw-r--r--keyboards/splitkb/kyria/info.json6
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/config.h23
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/keymap.c37
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/readme.md26
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/rules.mk1
-rw-r--r--keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json167
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/config.h32
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c109
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md32
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk30
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/config.h5
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/rules.mk1
-rw-r--r--keyboards/splitkb/kyria/keymaps/jimmysjolund/config.h20
-rw-r--r--keyboards/splitkb/kyria/keymaps/jimmysjolund/keymap.c257
-rw-r--r--keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk4
-rw-r--r--keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/.clang-format26
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/README.md11
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/config.h60
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c276
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/rules.mk11
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/oled.c2
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c4
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/config.h42
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/keymap.c423
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/readme.md99
-rw-r--r--keyboards/splitkb/kyria/keymaps/travishi/rules.mk12
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h8
-rw-r--r--keyboards/splitkb/kyria/rev1/info.json6
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/rules.mk2
-rw-r--r--keyboards/splitkb/kyria/rev1/rules.mk1
-rw-r--r--keyboards/splitkb/kyria/rev2/config.h8
-rw-r--r--keyboards/splitkb/kyria/rev2/info.json6
-rw-r--r--keyboards/splitkb/kyria/rev2/proton_c/rules.mk2
-rw-r--r--keyboards/splitkb/zima/config.h8
-rw-r--r--keyboards/splitkb/zima/info.json6
-rw-r--r--keyboards/splitography/config.h3
-rw-r--r--keyboards/splitography/keymaps/jeandeaual/keymap.c2
-rw-r--r--keyboards/splitography/keymaps/multi/keymap.c2
-rw-r--r--keyboards/splitography/readme.md2
-rw-r--r--keyboards/splitty/config.h7
-rw-r--r--keyboards/splitty/info.json6
-rw-r--r--keyboards/sporewoh/banime40/config.h8
-rw-r--r--keyboards/sporewoh/banime40/info.json6
-rw-r--r--keyboards/star75/config.h57
-rw-r--r--keyboards/star75/info.json16
-rw-r--r--keyboards/star75/keymaps/default/keymap.c103
-rw-r--r--keyboards/star75/keymaps/default/readme.md16
-rw-r--r--keyboards/star75/keymaps/via/keymap.c102
-rw-r--r--keyboards/star75/keymaps/via/rules.mk4
-rw-r--r--keyboards/star75/readme.md28
-rw-r--r--keyboards/star75/rules.mk23
-rw-r--r--keyboards/star75/star75.c4
-rw-r--r--keyboards/star75/star75.h25
-rw-r--r--keyboards/stello65/beta/config.h8
-rw-r--r--keyboards/stello65/beta/info.json6
-rw-r--r--keyboards/stello65/beta/readme.md2
-rw-r--r--keyboards/stello65/hs_rev1/config.h8
-rw-r--r--keyboards/stello65/hs_rev1/info.json6
-rw-r--r--keyboards/stello65/hs_rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/stello65/hs_rev1/keymaps/via/keymap.c2
-rw-r--r--keyboards/stello65/hs_rev1/readme.md2
-rw-r--r--keyboards/stello65/sl_rev1/config.h8
-rw-r--r--keyboards/stello65/sl_rev1/info.json6
-rw-r--r--keyboards/stello65/sl_rev1/keymaps/default/keymap.c2
-rw-r--r--keyboards/stello65/sl_rev1/keymaps/via/keymap.c2
-rw-r--r--keyboards/stello65/sl_rev1/readme.md2
-rw-r--r--keyboards/stratos/config.h8
-rw-r--r--keyboards/stratos/info.json6
-rw-r--r--keyboards/studiokestra/bourgeau/config.h7
-rw-r--r--keyboards/studiokestra/bourgeau/info.json6
-rw-r--r--keyboards/studiokestra/bourgeau/readme.md2
-rw-r--r--keyboards/studiokestra/cascade/config.h7
-rw-r--r--keyboards/studiokestra/cascade/info.json6
-rw-r--r--keyboards/studiokestra/cascade/readme.md2
-rw-r--r--keyboards/studiokestra/galatea/config.h5
-rw-r--r--keyboards/studiokestra/galatea/readme.md2
-rw-r--r--keyboards/studiokestra/galatea/rev1/config.h21
-rw-r--r--keyboards/studiokestra/galatea/rev1/info.json6
-rw-r--r--keyboards/studiokestra/galatea/rev2/config.h21
-rw-r--r--keyboards/studiokestra/galatea/rev2/info.json6
-rw-r--r--keyboards/studiokestra/nascent/config.h42
-rw-r--r--keyboards/studiokestra/nascent/info.json86
-rw-r--r--keyboards/studiokestra/nascent/keymaps/default/keymap.c41
-rw-r--r--keyboards/studiokestra/nascent/keymaps/default/readme.md1
-rw-r--r--keyboards/studiokestra/nascent/keymaps/via/keymap.c53
-rw-r--r--keyboards/studiokestra/nascent/keymaps/via/readme.md1
-rw-r--r--keyboards/studiokestra/nascent/keymaps/via/rules.mk1
-rw-r--r--keyboards/studiokestra/nascent/nascent.c17
-rw-r--r--keyboards/studiokestra/nascent/nascent.h46
-rw-r--r--keyboards/studiokestra/nascent/readme.md25
-rw-r--r--keyboards/studiokestra/nascent/rules.mk18
-rw-r--r--keyboards/studiokestra/nue/config.h7
-rw-r--r--keyboards/studiokestra/nue/info.json6
-rw-r--r--keyboards/studiokestra/nue/readme.md2
-rw-r--r--keyboards/suavity/ehan/chconf.h31
-rw-r--r--keyboards/suavity/ehan/config.h42
-rw-r--r--keyboards/suavity/ehan/ehan.c3
-rw-r--r--keyboards/suavity/ehan/ehan.h75
-rw-r--r--keyboards/suavity/ehan/halconf.h26
-rwxr-xr-xkeyboards/suavity/ehan/info.json316
-rwxr-xr-xkeyboards/suavity/ehan/keymaps/default/keymap.c37
-rw-r--r--keyboards/suavity/ehan/keymaps/default_iso/keymap.c37
-rw-r--r--keyboards/suavity/ehan/keymaps/via/keymap.c55
-rw-r--r--keyboards/suavity/ehan/keymaps/via/rules.mk2
-rw-r--r--keyboards/suavity/ehan/mcuconf.h34
-rw-r--r--keyboards/suavity/ehan/readme.md23
-rw-r--r--keyboards/suavity/ehan/rules.mk21
-rw-r--r--keyboards/subatomic/config.h8
-rw-r--r--keyboards/subatomic/info.json6
-rw-r--r--keyboards/subrezon/la_nc/config.h6
-rw-r--r--keyboards/subrezon/la_nc/info.json5
-rw-r--r--keyboards/subrezon/la_nc/readme.md2
-rw-r--r--keyboards/superuser/ext/config.h9
-rw-r--r--keyboards/superuser/ext/info.json6
-rw-r--r--keyboards/superuser/frl/config.h9
-rw-r--r--keyboards/superuser/frl/info.json6
-rw-r--r--keyboards/superuser/tkl/config.h9
-rw-r--r--keyboards/superuser/tkl/info.json6
-rw-r--r--keyboards/swiftrax/retropad/config.h7
-rw-r--r--keyboards/swiftrax/retropad/info.json6
-rw-r--r--keyboards/switchplate/southpaw_65/config.h8
-rw-r--r--keyboards/switchplate/southpaw_65/info.json6
-rw-r--r--keyboards/switchplate/southpaw_fullsize/config.h8
-rw-r--r--keyboards/switchplate/southpaw_fullsize/info.json8
-rw-r--r--keyboards/switchplate/switchplate910/config.h8
-rw-r--r--keyboards/switchplate/switchplate910/info.json8
-rwxr-xr-xkeyboards/sx60/config.h8
-rw-r--r--keyboards/sx60/info.json6
-rw-r--r--keyboards/sx60/keymaps/amnobis/keymap.c2
-rw-r--r--keyboards/synapse/config.h8
-rw-r--r--keyboards/synapse/info.json6
-rw-r--r--keyboards/synapse/keymaps/7u_space/keymap.c2
-rw-r--r--keyboards/synapse/readme.md2
-rw-r--r--keyboards/synthlabs/solo/config.h6
-rw-r--r--keyboards/synthlabs/solo/info.json5
-rw-r--r--keyboards/synthlabs/solo/readme.md2
-rw-r--r--keyboards/system76/launch_1/config.h8
-rw-r--r--keyboards/system76/launch_1/info.json8
-rw-r--r--keyboards/system76/launch_1/launch_1.c2
-rw-r--r--keyboards/system76/launch_1/readme.md2
-rw-r--r--keyboards/system76/system76_ec.c4
-rwxr-xr-xkeyboards/tada68/config.h8
-rw-r--r--keyboards/tada68/info.json8
-rw-r--r--keyboards/tada68/keymaps/iso-nor/keymap.c4
-rw-r--r--keyboards/tada68/keymaps/isoish/keymap.c4
-rw-r--r--keyboards/tada68/keymaps/rys/keymap.c2
-rw-r--r--keyboards/tada68/keymaps/tokyovigilante/keymap.c2
-rw-r--r--keyboards/tada68/keymaps/tokyovigilante/layers.json2
-rw-r--r--keyboards/takashicompany/center_enter/config.h8
-rw-r--r--keyboards/takashicompany/center_enter/info.json6
-rw-r--r--keyboards/takashicompany/center_enter/readme.md2
-rw-r--r--keyboards/takashicompany/compacx/config.h8
-rw-r--r--keyboards/takashicompany/compacx/info.json6
-rw-r--r--keyboards/takashicompany/compacx/readme.md2
-rw-r--r--keyboards/takashicompany/dogtag/config.h8
-rw-r--r--keyboards/takashicompany/dogtag/info.json6
-rw-r--r--keyboards/takashicompany/dogtag/readme.md2
-rw-r--r--keyboards/takashicompany/endzone34/config.h8
-rw-r--r--keyboards/takashicompany/endzone34/info.json6
-rw-r--r--keyboards/takashicompany/goat51/info.json498
-rw-r--r--keyboards/takashicompany/goat51/keymaps/default/keymap.c123
-rw-r--r--keyboards/takashicompany/goat51/keymaps/via/config.h6
-rw-r--r--keyboards/takashicompany/goat51/keymaps/via/keymap.c106
-rw-r--r--keyboards/takashicompany/goat51/keymaps/via/rules.mk2
-rw-r--r--keyboards/takashicompany/goat51/readme.md40
-rw-r--r--keyboards/takashicompany/goat51/rules.mk1
-rw-r--r--keyboards/takashicompany/heavy_left/config.h8
-rw-r--r--keyboards/takashicompany/heavy_left/info.json8
-rw-r--r--keyboards/takashicompany/heavy_left/readme.md2
-rw-r--r--keyboards/takashicompany/minizone/config.h8
-rw-r--r--keyboards/takashicompany/minizone/info.json277
-rw-r--r--keyboards/takashicompany/minizone/keymaps/default/keymap.c52
-rw-r--r--keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/config.h7
-rw-r--r--keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/keymap.c465
-rw-r--r--keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/rules.mk4
-rw-r--r--keyboards/takashicompany/minizone/keymaps/via/keymap.c73
-rw-r--r--keyboards/takashicompany/minizone/readme.md2
-rw-r--r--keyboards/takashicompany/qoolee/config.h8
-rw-r--r--keyboards/takashicompany/qoolee/info.json6
-rw-r--r--keyboards/takashicompany/qoolee/readme.md2
-rw-r--r--keyboards/takashicompany/radialex/config.h8
-rw-r--r--keyboards/takashicompany/radialex/info.json6
-rw-r--r--keyboards/takashicompany/radialex/keymaps/default/keymap.c69
-rw-r--r--keyboards/takashicompany/radialex/keymaps/via/config.h2
-rw-r--r--keyboards/takashicompany/radialex/keymaps/via/keymap.c72
-rw-r--r--keyboards/takashicompany/radialex/readme.md2
-rw-r--r--keyboards/takashicompany/spreadwriter/readme.md2
-rw-r--r--keyboards/takashiski/hecomi/alpha/config.h8
-rw-r--r--keyboards/takashiski/hecomi/alpha/info.json8
-rw-r--r--keyboards/takashiski/namecard2x4/info.json6
-rw-r--r--keyboards/takashiski/namecard2x4/rev1/config.h8
-rw-r--r--keyboards/takashiski/namecard2x4/rev2/config.h8
-rw-r--r--keyboards/takashiski/otaku_split/rev0/config.h8
-rw-r--r--keyboards/takashiski/otaku_split/rev0/info.json10
-rw-r--r--keyboards/takashiski/otaku_split/rev1/config.h8
-rw-r--r--keyboards/takashiski/otaku_split/rev1/info.json6
-rw-r--r--keyboards/taleguers/taleguers75/config.h8
-rw-r--r--keyboards/taleguers/taleguers75/info.json6
-rw-r--r--keyboards/tanuki/config.h8
-rw-r--r--keyboards/tanuki/info.json6
-rw-r--r--keyboards/tanuki/keymaps/tucznak/keymap.c2
-rwxr-xr-xkeyboards/tau4/config.h8
-rw-r--r--keyboards/tau4/info.json11
-rw-r--r--keyboards/team0110/p1800fl/config.h8
-rw-r--r--keyboards/team0110/p1800fl/info.json6
-rw-r--r--keyboards/technika/config.h7
-rw-r--r--keyboards/technika/info.json6
-rw-r--r--keyboards/teleport/numpad/config.h8
-rw-r--r--keyboards/teleport/numpad/info.json8
-rw-r--r--keyboards/teleport/numpad/readme.md2
-rw-r--r--keyboards/telophase/config.h7
-rw-r--r--keyboards/telophase/info.json6
-rw-r--r--keyboards/tempo_turtle/bradpad/config.h19
-rw-r--r--keyboards/tempo_turtle/bradpad/info.json1
-rw-r--r--keyboards/tender/macrowo_pad/config.h7
-rw-r--r--keyboards/tender/macrowo_pad/info.json8
-rw-r--r--keyboards/tenki/config.h8
-rw-r--r--keyboards/tenki/info.json6
-rw-r--r--keyboards/terrazzo/config.h9
-rw-r--r--keyboards/terrazzo/info.json6
-rw-r--r--keyboards/terrazzo/keymaps/ortho/keymap.c2
-rw-r--r--keyboards/terrazzo/keymaps/ortho_all/keymap.c2
-rw-r--r--keyboards/terrazzo/keymaps/ortho_mit/keymap.c2
-rwxr-xr-xkeyboards/tetris/config.h8
-rw-r--r--keyboards/tetris/info.json6
-rwxr-xr-xkeyboards/tetris/keymaps/default/keymap.c4
-rw-r--r--keyboards/tg4x/config.h8
-rw-r--r--keyboards/tg4x/info.json6
-rw-r--r--keyboards/tgr/910/config.h7
-rw-r--r--keyboards/tgr/910/info.json6
-rw-r--r--keyboards/tgr/910ce/config.h7
-rw-r--r--keyboards/tgr/910ce/info.json8
-rw-r--r--keyboards/tgr/alice/config.h6
-rw-r--r--keyboards/tgr/alice/info.json8
-rw-r--r--keyboards/tgr/alice/keymaps/mrkeebs/keymap.c2
-rw-r--r--keyboards/tgr/jane/v2/config.h7
-rw-r--r--keyboards/tgr/jane/v2/info.json8
-rw-r--r--keyboards/tgr/jane/v2ce/config.h7
-rw-r--r--keyboards/tgr/jane/v2ce/info.json10
-rw-r--r--keyboards/tgr/tris/config.h6
-rw-r--r--keyboards/tgr/tris/info.json8
-rw-r--r--keyboards/the_royal/liminal/config.h8
-rw-r--r--keyboards/the_royal/liminal/info.json8
-rw-r--r--keyboards/the_royal/liminal/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/the_royal/schwann/config.h8
-rw-r--r--keyboards/the_royal/schwann/info.json8
-rw-r--r--keyboards/the_uni/info.json5
-rw-r--r--keyboards/the_uni/pro_micro/config.h8
-rw-r--r--keyboards/the_uni/pro_micro/info.json5
-rw-r--r--keyboards/the_uni/usb_c/config.h8
-rw-r--r--keyboards/the_uni/usb_c/info.json5
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/config.h8
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/info.json6
-rw-r--r--keyboards/themadnoodle/noodlepad/config.h8
-rw-r--r--keyboards/themadnoodle/noodlepad/info.json8
-rw-r--r--keyboards/thevankeyboards/bananasplit/config.h8
-rw-r--r--keyboards/thevankeyboards/bananasplit/info.json8
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c2
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c2
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c2
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c2
-rw-r--r--keyboards/thevankeyboards/caravan/config.h8
-rw-r--r--keyboards/thevankeyboards/caravan/info.json8
-rw-r--r--keyboards/thevankeyboards/jetvan/config.h8
-rw-r--r--keyboards/thevankeyboards/jetvan/info.json11
-rw-r--r--keyboards/thevankeyboards/minivan/config.h8
-rw-r--r--keyboards/thevankeyboards/minivan/info.json8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/config.h1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/danbee/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/config.h1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/king/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/thevankeyboards/roadkit/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/info.json8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c2
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c2
-rw-r--r--keyboards/tkc/california/config.h8
-rw-r--r--keyboards/tkc/california/info.json8
-rw-r--r--keyboards/tkc/candybar/lefty/config.h7
-rw-r--r--keyboards/tkc/candybar/lefty/info.json8
-rw-r--r--keyboards/tkc/candybar/lefty_r3/config.h7
-rw-r--r--keyboards/tkc/candybar/lefty_r3/info.json10
-rw-r--r--keyboards/tkc/candybar/righty/config.h7
-rw-r--r--keyboards/tkc/candybar/righty/info.json8
-rw-r--r--keyboards/tkc/candybar/righty_r3/config.h7
-rw-r--r--keyboards/tkc/candybar/righty_r3/info.json10
-rw-r--r--keyboards/tkc/godspeed75/config.h7
-rw-r--r--keyboards/tkc/godspeed75/info.json8
-rw-r--r--keyboards/tkc/m0lly/config.h8
-rw-r--r--keyboards/tkc/m0lly/info.json8
-rw-r--r--keyboards/tkc/osav2/config.h8
-rw-r--r--keyboards/tkc/osav2/info.json8
-rwxr-xr-xkeyboards/tkc/osav2/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/tkc/osav2/keymaps/stanrc85/keymap.c2
-rw-r--r--keyboards/tkc/portico/config.h7
-rw-r--r--keyboards/tkc/portico/info.json8
-rw-r--r--keyboards/tkc/portico68v2/config.h7
-rw-r--r--keyboards/tkc/portico68v2/info.json8
-rw-r--r--keyboards/tkc/portico75/config.h7
-rw-r--r--keyboards/tkc/portico75/info.json8
-rw-r--r--keyboards/tkc/tkc1800/config.h8
-rw-r--r--keyboards/tkc/tkc1800/info.json6
-rw-r--r--keyboards/tkc/tkc1800/keymaps/smt/keymap.c2
-rw-r--r--keyboards/tkc/tkc1800/keymaps/yanfali/keymap.c2
-rw-r--r--keyboards/tkc/tkl_ab87/config.h8
-rw-r--r--keyboards/tkc/tkl_ab87/info.json8
-rw-r--r--keyboards/tkw/grandiceps/config.h7
-rw-r--r--keyboards/tkw/grandiceps/info.json7
-rw-r--r--keyboards/tkw/grandiceps/readme.md2
-rw-r--r--keyboards/tkw/grandiceps/rev1/info.json6
-rw-r--r--keyboards/tkw/grandiceps/rev1/rules.mk0
-rw-r--r--keyboards/tkw/grandiceps/rev2/config.h5
-rw-r--r--keyboards/tkw/grandiceps/rev2/info.json6
-rw-r--r--keyboards/tkw/grandiceps/rules.mk3
-rw-r--r--keyboards/tkw/stoutgat/v1/config.h7
-rw-r--r--keyboards/tkw/stoutgat/v1/info.json6
-rw-r--r--keyboards/tkw/stoutgat/v2/config.h7
-rw-r--r--keyboards/tkw/stoutgat/v2/f411/rules.mk1
-rw-r--r--keyboards/tkw/stoutgat/v2/info.json8
-rw-r--r--keyboards/tmo50/config.h8
-rw-r--r--keyboards/tmo50/info.json6
-rw-r--r--keyboards/tmo50/keymaps/olivia/keymap.c2
-rw-r--r--keyboards/tmo50/keymaps/ottodokto/keymap.c2
-rw-r--r--keyboards/tmo50/keymaps/pyrol/keymap.c2
-rw-r--r--keyboards/tmo50/keymaps/xerpocalypse/keymap.c2
-rw-r--r--keyboards/toad/config.h8
-rw-r--r--keyboards/toad/info.json6
-rw-r--r--keyboards/tokyokeyboard/alix40/config.h8
-rw-r--r--keyboards/tokyokeyboard/alix40/info.json6
-rw-r--r--keyboards/tokyokeyboard/tokyo60/config.h8
-rw-r--r--keyboards/tokyokeyboard/tokyo60/info.json6
-rw-r--r--keyboards/tominabox1/adalyn/config.h8
-rw-r--r--keyboards/tominabox1/adalyn/info.json8
-rw-r--r--keyboards/tominabox1/adalyn/readme.md2
-rwxr-xr-xkeyboards/tominabox1/bigboy/bigboy.c31
-rwxr-xr-xkeyboards/tominabox1/bigboy/bigboy.h34
-rwxr-xr-xkeyboards/tominabox1/bigboy/config.h52
-rw-r--r--keyboards/tominabox1/bigboy/info.json19
-rwxr-xr-xkeyboards/tominabox1/bigboy/keymaps/default/keymap.c34
-rwxr-xr-xkeyboards/tominabox1/bigboy/keymaps/default_2u/keymap.c31
-rwxr-xr-xkeyboards/tominabox1/bigboy/readme.md20
-rwxr-xr-xkeyboards/tominabox1/bigboy/rules.mk19
-rw-r--r--keyboards/tominabox1/le_chiffre/config.h75
-rw-r--r--keyboards/tominabox1/le_chiffre/he/config.h34
-rw-r--r--keyboards/tominabox1/le_chiffre/he/he.c33
-rw-r--r--keyboards/tominabox1/le_chiffre/he/he.h33
-rw-r--r--keyboards/tominabox1/le_chiffre/he/info.json5
-rw-r--r--keyboards/tominabox1/le_chiffre/he/readme.md1
-rw-r--r--keyboards/tominabox1/le_chiffre/he/rules.mk22
-rw-r--r--keyboards/tominabox1/le_chiffre/info.json7
-rw-r--r--keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c3
-rw-r--r--keyboards/tominabox1/le_chiffre/le_chiffre.c33
-rw-r--r--keyboards/tominabox1/le_chiffre/readme.md12
-rw-r--r--keyboards/tominabox1/le_chiffre/rev1/config.h40
-rw-r--r--keyboards/tominabox1/le_chiffre/rev1/info.json5
-rw-r--r--keyboards/tominabox1/le_chiffre/rev1/rev1.c33
-rw-r--r--keyboards/tominabox1/le_chiffre/rev1/rev1.h (renamed from keyboards/tominabox1/le_chiffre/le_chiffre.h)0
-rw-r--r--keyboards/tominabox1/le_chiffre/rev1/rules.mk23
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/config.h40
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/info.json5
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/readme.md2
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/rev2.c33
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/rev2.h33
-rw-r--r--keyboards/tominabox1/le_chiffre/rev2/rules.mk23
-rw-r--r--keyboards/tominabox1/le_chiffre/rules.mk20
-rw-r--r--keyboards/tominabox1/littlefoot_lx/readme.md2
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev1/config.h9
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev1/info.json6
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev2/config.h9
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev2/info.json6
-rw-r--r--keyboards/tominabox1/qaz/config.h8
-rw-r--r--keyboards/tominabox1/qaz/info.json6
-rw-r--r--keyboards/tominabox1/underscore33/rev1/config.h8
-rw-r--r--keyboards/tominabox1/underscore33/rev1/info.json6
-rw-r--r--keyboards/tominabox1/underscore33/rev2/config.h8
-rw-r--r--keyboards/tominabox1/underscore33/rev2/info.json6
-rw-r--r--keyboards/torn/config.h9
-rw-r--r--keyboards/torn/info.json8
-rw-r--r--keyboards/torn/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/touchpad/config.h7
-rw-r--r--keyboards/touchpad/info.json8
-rw-r--r--keyboards/tr60w/config.h8
-rw-r--r--keyboards/tr60w/info.json6
-rw-r--r--keyboards/tr60w/keymaps/joule-flow/keymap.c2
-rw-r--r--keyboards/trashman/ketch/config.h6
-rw-r--r--keyboards/trashman/ketch/info.json8
-rw-r--r--keyboards/trashman/ketch/keymaps/jetpacktuxedo/keymap.c4
-rw-r--r--keyboards/treasure/type9/config.h8
-rw-r--r--keyboards/treasure/type9/info.json6
-rw-r--r--keyboards/treasure/type9s2/config.h8
-rw-r--r--keyboards/treasure/type9s2/info.json8
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/config.h3
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/info.json5
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/rules.mk1
-rw-r--r--keyboards/tronguylabs/m122_3270/bluepill/config.h3
-rw-r--r--keyboards/tronguylabs/m122_3270/bluepill/info.json5
-rw-r--r--keyboards/tronguylabs/m122_3270/config.h5
-rw-r--r--keyboards/tronguylabs/m122_3270/info.json7
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/config.h3
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/info.json5
-rw-r--r--keyboards/tszaboo/ortho4exent/config.h8
-rw-r--r--keyboards/tszaboo/ortho4exent/info.json6
-rw-r--r--keyboards/tunks/ergo33/config.h7
-rw-r--r--keyboards/tunks/ergo33/info.json6
-rw-r--r--keyboards/tw40/config.h8
-rw-r--r--keyboards/tw40/info.json8
-rw-r--r--keyboards/tzarc/djinn/djinn.c4
-rw-r--r--keyboards/tzarc/djinn/graphics/theme_djinn_default.c10
-rw-r--r--keyboards/uk78/config.h8
-rw-r--r--keyboards/uk78/info.json6
-rw-r--r--keyboards/uk78/keymaps/rask/keymap.c2
-rw-r--r--keyboards/ungodly/launch_pad/config.h7
-rw-r--r--keyboards/ungodly/launch_pad/info.json6
-rw-r--r--keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c2
-rw-r--r--keyboards/ungodly/nines/config.h8
-rw-r--r--keyboards/ungodly/nines/info.json6
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/info.json8
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h7
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/info.json8
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h7
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/info.json8
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h7
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/info.json8
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h7
-rw-r--r--keyboards/unikeyboard/diverge3/config.h8
-rw-r--r--keyboards/unikeyboard/diverge3/info.json6
-rw-r--r--keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c2
-rw-r--r--keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c4
-rw-r--r--keyboards/unikeyboard/divergetm2/config.h8
-rw-r--r--keyboards/unikeyboard/divergetm2/info.json8
-rw-r--r--keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c14
-rw-r--r--keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c4
-rw-r--r--keyboards/unikeyboard/felix/config.h8
-rw-r--r--keyboards/unikeyboard/felix/info.json6
-rw-r--r--keyboards/unikorn/config.h7
-rw-r--r--keyboards/unikorn/info.json8
-rw-r--r--keyboards/unison/v04/config.h8
-rw-r--r--keyboards/unison/v04/info.json6
-rw-r--r--keyboards/uranuma/config.h8
-rw-r--r--keyboards/uranuma/info.json8
-rw-r--r--keyboards/utd80/config.h8
-rw-r--r--keyboards/utd80/info.json6
-rw-r--r--keyboards/uzu42/glcdfont.c (renamed from keyboards/uzu42/keymaps/default/glcdfont_uzu42.c)0
-rw-r--r--keyboards/uzu42/info.json53
-rw-r--r--keyboards/uzu42/keymaps/default/config.h47
-rw-r--r--keyboards/uzu42/keymaps/default/keymap.c249
-rw-r--r--keyboards/uzu42/post_config.h8
-rw-r--r--keyboards/uzu42/rev1/config.h29
-rw-r--r--keyboards/uzu42/rev1/info.json59
-rw-r--r--keyboards/uzu42/rev1/rev1.c4
-rw-r--r--keyboards/uzu42/rev1/rev1.h19
-rw-r--r--keyboards/uzu42/rev1/serial_config.h4
-rw-r--r--keyboards/uzu42/rev1/serial_config_simpleapi.h5
-rw-r--r--keyboards/uzu42/uzu42.c104
-rw-r--r--keyboards/uzu42/uzu42.h3
-rw-r--r--keyboards/v4n4g0rth0n/config.h6
-rw-r--r--keyboards/v4n4g0rth0n/info.json5
-rw-r--r--keyboards/v4n4g0rth0n/v1/config.h2
-rw-r--r--keyboards/v4n4g0rth0n/v1/info.json5
-rw-r--r--keyboards/v4n4g0rth0n/v2/config.h2
-rw-r--r--keyboards/v4n4g0rth0n/v2/info.json5
-rw-r--r--keyboards/v60_type_r/config.h8
-rw-r--r--keyboards/v60_type_r/info.json6
-rw-r--r--keyboards/v60_type_r/keymaps/followingghosts/keymap.c6
-rw-r--r--keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c3
-rwxr-xr-xkeyboards/vagrant_10/config.h8
-rw-r--r--keyboards/vagrant_10/info.json8
-rw-r--r--keyboards/vertex/angler2/angler2.c17
-rw-r--r--keyboards/vertex/angler2/angler2.h36
-rw-r--r--keyboards/vertex/angler2/config.h58
-rw-r--r--keyboards/vertex/angler2/info.json107
-rw-r--r--keyboards/vertex/angler2/keymaps/default/keymap.c40
-rw-r--r--keyboards/vertex/angler2/keymaps/via/keymap.c59
-rw-r--r--keyboards/vertex/angler2/keymaps/via/rules.mk2
-rw-r--r--keyboards/vertex/angler2/readme.md17
-rw-r--r--keyboards/vertex/angler2/rules.mk18
-rw-r--r--keyboards/vertex/arc60/arc60.c18
-rw-r--r--keyboards/vertex/arc60/arc60.h42
-rw-r--r--keyboards/vertex/arc60/chconf.h28
-rw-r--r--keyboards/vertex/arc60/config.h83
-rw-r--r--keyboards/vertex/arc60/halconf.h28
-rw-r--r--keyboards/vertex/arc60/info.json82
-rw-r--r--keyboards/vertex/arc60/keymaps/default/keymap.c31
-rw-r--r--keyboards/vertex/arc60/keymaps/via/keymap.c46
-rw-r--r--keyboards/vertex/arc60/keymaps/via/rules.mk2
-rw-r--r--keyboards/vertex/arc60/mcuconf.h27
-rw-r--r--keyboards/vertex/arc60/readme.md22
-rw-r--r--keyboards/vertex/arc60/rules.mk27
-rw-r--r--keyboards/viendi8l/config.h66
-rw-r--r--keyboards/viendi8l/halconf.h24
-rw-r--r--keyboards/viendi8l/info.json103
-rwxr-xr-xkeyboards/viendi8l/keymaps/default/keymap.c45
-rwxr-xr-xkeyboards/viendi8l/keymaps/via/keymap.c52
-rw-r--r--keyboards/viendi8l/keymaps/via/rules.mk1
-rw-r--r--keyboards/viendi8l/mcuconf.h28
-rw-r--r--keyboards/viendi8l/readme.md27
-rw-r--r--keyboards/viendi8l/rules.mk28
-rw-r--r--keyboards/viendi8l/viendi8l.c56
-rw-r--r--keyboards/viendi8l/viendi8l.h37
-rw-r--r--keyboards/viktus/at101_bh/config.h8
-rw-r--r--keyboards/viktus/at101_bh/info.json8
-rw-r--r--keyboards/viktus/omnikey_bh/config.h8
-rw-r--r--keyboards/viktus/omnikey_bh/info.json8
-rw-r--r--keyboards/viktus/smolka/config.h8
-rw-r--r--keyboards/viktus/smolka/info.json8
-rw-r--r--keyboards/viktus/smolka/readme.md2
-rw-r--r--keyboards/viktus/sp111/config.h7
-rw-r--r--keyboards/viktus/sp111/info.json8
-rw-r--r--keyboards/viktus/sp_mini/config.h7
-rw-r--r--keyboards/viktus/sp_mini/info.json8
-rw-r--r--keyboards/viktus/sp_mini/keymaps/peott-fr/keymap.c2
-rw-r--r--keyboards/viktus/styrka/config.h8
-rw-r--r--keyboards/viktus/styrka/info.json6
-rw-r--r--keyboards/viktus/styrka/keymaps/all/keymap.c2
-rw-r--r--keyboards/viktus/styrka/keymaps/split_bs/keymap.c2
-rw-r--r--keyboards/viktus/z150_bh/config.h8
-rw-r--r--keyboards/viktus/z150_bh/info.json8
-rw-r--r--keyboards/vitamins_included/config.h6
-rw-r--r--keyboards/vitamins_included/info.json5
-rw-r--r--keyboards/vitamins_included/keymaps/numpad/keymap.c4
-rw-r--r--keyboards/vitamins_included/keymaps/vitavim/keymap.c2
-rw-r--r--keyboards/vitamins_included/rev1/config.h3
-rw-r--r--keyboards/vitamins_included/rev1/info.json5
-rw-r--r--keyboards/vitamins_included/rev2/config.h3
-rw-r--r--keyboards/vitamins_included/rev2/info.json5
-rw-r--r--keyboards/w1_at/config.h9
-rw-r--r--keyboards/w1_at/info.json6
-rw-r--r--keyboards/waldo/config.h7
-rw-r--r--keyboards/waldo/info.json7
-rw-r--r--keyboards/walletburner/cajal/config.h8
-rw-r--r--keyboards/walletburner/cajal/info.json8
-rw-r--r--keyboards/walletburner/neuron/config.h8
-rw-r--r--keyboards/walletburner/neuron/info.json6
-rw-r--r--keyboards/walletburner/neuron/keymaps/brandonschlack/keymap.c2
-rw-r--r--keyboards/waterfowl/config.h49
-rw-r--r--keyboards/waterfowl/info.json60
-rw-r--r--keyboards/waterfowl/keymaps/cyanduck/keymap.c129
-rw-r--r--keyboards/waterfowl/keymaps/default/keymap.c108
-rw-r--r--keyboards/waterfowl/readme.md21
-rw-r--r--keyboards/waterfowl/rules.mk23
-rw-r--r--keyboards/waterfowl/waterfowl.c161
-rw-r--r--keyboards/waterfowl/waterfowl.h44
-rw-r--r--keyboards/wavtype/foundation/config.h8
-rw-r--r--keyboards/wavtype/foundation/info.json6
-rw-r--r--keyboards/wavtype/foundation/readme.md2
-rw-r--r--keyboards/wavtype/p01_ultra/config.h8
-rw-r--r--keyboards/wavtype/p01_ultra/info.json6
-rw-r--r--keyboards/wavtype/p01_ultra/keymaps/default/keymap.c2
-rw-r--r--keyboards/wavtype/p01_ultra/keymaps/via/keymap.c2
-rw-r--r--keyboards/wavtype/p01_ultra/readme.md2
-rw-r--r--keyboards/weirdo/geminate60/config.h8
-rw-r--r--keyboards/weirdo/geminate60/info.json8
-rw-r--r--keyboards/weirdo/kelowna/rgb64/config.h7
-rw-r--r--keyboards/weirdo/kelowna/rgb64/info.json6
-rw-r--r--keyboards/weirdo/ls_60/config.h8
-rw-r--r--keyboards/weirdo/ls_60/info.json6
-rw-r--r--keyboards/weirdo/naiping/np64/config.h8
-rw-r--r--keyboards/weirdo/naiping/np64/info.json8
-rw-r--r--keyboards/weirdo/naiping/nphhkb/config.h8
-rw-r--r--keyboards/weirdo/naiping/nphhkb/info.json8
-rw-r--r--keyboards/weirdo/naiping/npminila/config.h8
-rw-r--r--keyboards/weirdo/naiping/npminila/info.json8
-rw-r--r--keyboards/weirdo/tiger910/config.h8
-rw-r--r--keyboards/weirdo/tiger910/info.json6
-rw-r--r--keyboards/wekey/polaris/config.h8
-rw-r--r--keyboards/wekey/polaris/info.json6
-rw-r--r--keyboards/wekey/polaris/readme.md2
-rw-r--r--keyboards/wekey/we27/config.h8
-rw-r--r--keyboards/wekey/we27/info.json8
-rw-r--r--keyboards/westfoxtrot/aanzee/config.h8
-rw-r--r--keyboards/westfoxtrot/aanzee/info.json6
-rw-r--r--keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c2
-rw-r--r--keyboards/westfoxtrot/cyclops/config.h8
-rw-r--r--keyboards/westfoxtrot/cyclops/info.json6
-rw-r--r--keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c2
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/config.h8
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/info.json8
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c2
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/config.h8
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/info.json8
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c2
-rw-r--r--keyboards/westfoxtrot/prophet/config.h8
-rw-r--r--keyboards/westfoxtrot/prophet/info.json8
-rw-r--r--keyboards/westm/westm68/config.h13
-rw-r--r--keyboards/westm/westm68/info.json5
-rwxr-xr-xkeyboards/westm/westm68/keymaps/default/keymap.c8
-rw-r--r--keyboards/westm/westm68/keymaps/via/keymap.c24
-rw-r--r--keyboards/westm/westm68/rev1/info.json5
-rw-r--r--keyboards/westm/westm68/rev1/rules.mk1
-rw-r--r--keyboards/westm/westm68/rev2/config.h31
-rw-r--r--keyboards/westm/westm68/rev2/info.json5
-rw-r--r--keyboards/westm/westm68/rev2/rev2.c17
-rw-r--r--keyboards/westm/westm68/rev2/rev2.h17
-rw-r--r--keyboards/westm/westm68/rev2/rules.mk0
-rw-r--r--keyboards/westm/westm68/rules.mk4
-rw-r--r--keyboards/westm/westm9/chconf.h26
-rw-r--r--keyboards/westm/westm9/config.h42
-rw-r--r--keyboards/westm/westm9/halconf.h22
-rw-r--r--keyboards/westm/westm9/info.json25
-rwxr-xr-xkeyboards/westm/westm9/keymaps/default/keymap.c30
-rw-r--r--keyboards/westm/westm9/keymaps/via/keymap.c41
-rw-r--r--keyboards/westm/westm9/keymaps/via/rules.mk1
-rw-r--r--keyboards/westm/westm9/mcuconf.h22
-rw-r--r--keyboards/westm/westm9/readme.md16
-rw-r--r--keyboards/westm/westm9/rev1/config.h54
-rw-r--r--keyboards/westm/westm9/rev1/info.json5
-rw-r--r--keyboards/westm/westm9/rev1/rev1.c116
-rw-r--r--keyboards/westm/westm9/rev1/rev1.h17
-rw-r--r--keyboards/westm/westm9/rev1/rules.mk0
-rw-r--r--keyboards/westm/westm9/rev2/config.h54
-rw-r--r--keyboards/westm/westm9/rev2/info.json5
-rw-r--r--keyboards/westm/westm9/rev2/rev2.c112
-rw-r--r--keyboards/westm/westm9/rev2/rev2.h17
-rw-r--r--keyboards/westm/westm9/rev2/rules.mk0
-rw-r--r--keyboards/westm/westm9/rules.mk26
-rw-r--r--keyboards/westm/westm9/westm9.c17
-rw-r--r--keyboards/westm/westm9/westm9.h30
-rw-r--r--keyboards/westm/westmergo/config.h9
-rw-r--r--keyboards/westm/westmergo/info.json6
-rwxr-xr-xkeyboards/westm/westmergo/keymaps/default/keymap.c14
-rw-r--r--keyboards/westm/westmergo/keymaps/via/keymap.c28
-rw-r--r--keyboards/westm/westmergo/westmergo.h8
-rw-r--r--keyboards/whale/sk/config.h4
-rw-r--r--keyboards/whale/sk/v3/config.h5
-rw-r--r--keyboards/whale/sk/v3/info.json6
-rw-r--r--keyboards/wilba_tech/rama_works_kara/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_kara/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/config.h10
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m10_c/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m10_c/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m50_ax/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m50_ax/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/keymaps/mguterl/keymap.c2
-rw-r--r--keyboards/wilba_tech/rama_works_m65_b/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m65_b/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m65_bx/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m65_bx/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/info.json8
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/config.h8
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_a/config.h12
-rw-r--r--keyboards/wilba_tech/wt60_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_b/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_b/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_bx/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_bx/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_c/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_c/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_d/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_d/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/wilba_tech/wt60_g/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_g/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_g2/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_g2/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_h1/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_h1/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_h2/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_h2/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_h3/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_h3/info.json8
-rw-r--r--keyboards/wilba_tech/wt60_xt/config.h8
-rw-r--r--keyboards/wilba_tech/wt60_xt/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_a/config.h11
-rw-r--r--keyboards/wilba_tech/wt65_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_b/config.h11
-rw-r--r--keyboards/wilba_tech/wt65_b/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_d/config.h25
-rw-r--r--keyboards/wilba_tech/wt65_d/info.json16
-rw-r--r--keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c40
-rw-r--r--keyboards/wilba_tech/wt65_d/keymaps/via/keymap.c1
-rw-r--r--keyboards/wilba_tech/wt65_d/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/wt65_d/readme.md25
-rw-r--r--keyboards/wilba_tech/wt65_d/rules.mk18
-rw-r--r--keyboards/wilba_tech/wt65_d/wt65_d.c4
-rw-r--r--keyboards/wilba_tech/wt65_d/wt65_d.h23
-rw-r--r--keyboards/wilba_tech/wt65_f/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_f/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_fx/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_fx/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_g/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_g/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_g2/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_g2/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_h1/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_h1/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_xt/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_xt/info.json8
-rw-r--r--keyboards/wilba_tech/wt65_xtx/config.h8
-rw-r--r--keyboards/wilba_tech/wt65_xtx/info.json8
-rw-r--r--keyboards/wilba_tech/wt69_a/config.h8
-rw-r--r--keyboards/wilba_tech/wt69_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt70_jb/config.h8
-rw-r--r--keyboards/wilba_tech/wt70_jb/info.json8
-rw-r--r--keyboards/wilba_tech/wt70_jb/wt70_jb.c6
-rw-r--r--keyboards/wilba_tech/wt75_a/config.h8
-rw-r--r--keyboards/wilba_tech/wt75_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt75_b/config.h11
-rw-r--r--keyboards/wilba_tech/wt75_b/info.json8
-rw-r--r--keyboards/wilba_tech/wt75_b/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/wilba_tech/wt75_c/config.h11
-rw-r--r--keyboards/wilba_tech/wt75_c/info.json8
-rw-r--r--keyboards/wilba_tech/wt80_a/config.h11
-rw-r--r--keyboards/wilba_tech/wt80_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt80_bc/config.h8
-rw-r--r--keyboards/wilba_tech/wt80_bc/info.json8
-rw-r--r--keyboards/wilba_tech/wt80_g/config.h8
-rw-r--r--keyboards/wilba_tech/wt80_g/info.json8
-rw-r--r--keyboards/wilba_tech/wt8_a/config.h8
-rw-r--r--keyboards/wilba_tech/wt8_a/info.json8
-rw-r--r--keyboards/wilba_tech/wt8_a/keymaps/rys/keymap.c2
-rw-r--r--keyboards/wilba_tech/wt_main.c6
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c27
-rw-r--r--keyboards/wilba_tech/zeal60/config.h8
-rw-r--r--keyboards/wilba_tech/zeal60/info.json6
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c2
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c2
-rw-r--r--keyboards/wilba_tech/zeal65/config.h8
-rw-r--r--keyboards/wilba_tech/zeal65/info.json6
-rw-r--r--keyboards/winkeyless/b87/config.h7
-rw-r--r--keyboards/winkeyless/b87/info.json6
-rw-r--r--keyboards/winkeyless/bface/config.h7
-rw-r--r--keyboards/winkeyless/bface/info.json8
-rw-r--r--keyboards/winkeyless/bmini/config.h6
-rw-r--r--keyboards/winkeyless/bmini/info.json6
-rw-r--r--keyboards/winkeyless/bminiex/config.h6
-rw-r--r--keyboards/winkeyless/bminiex/info.json8
-rw-r--r--keyboards/winkeys/mini_winni/config.h9
-rw-r--r--keyboards/winkeys/mini_winni/info.json6
-rw-r--r--keyboards/winry/winry25tc/config.h7
-rw-r--r--keyboards/winry/winry25tc/info.json6
-rw-r--r--keyboards/winry/winry315/readme.md2
-rw-r--r--keyboards/wolf/kuku65/config.h8
-rw-r--r--keyboards/wolf/kuku65/info.json6
-rw-r--r--keyboards/wolf/kuku65/readme.md2
-rw-r--r--keyboards/wolf/ryujin/config.h35
-rw-r--r--keyboards/wolf/ryujin/info.json16
-rw-r--r--keyboards/wolf/ryujin/keymaps/default/keymap.c39
-rw-r--r--keyboards/wolf/ryujin/keymaps/via/keymap.c57
-rw-r--r--keyboards/wolf/ryujin/keymaps/via/rules.mk1
-rw-r--r--keyboards/wolf/ryujin/readme.md21
-rw-r--r--keyboards/wolf/ryujin/rules.mk21
-rw-r--r--keyboards/wolf/ryujin/ryujin.c14
-rw-r--r--keyboards/wolf/ryujin/ryujin.h32
-rw-r--r--keyboards/wolf/sabre/config.h8
-rw-r--r--keyboards/wolf/sabre/info.json6
-rw-r--r--keyboards/wolf/sabre/readme.md2
-rw-r--r--keyboards/wolf/ts60/config.h8
-rw-r--r--keyboards/wolf/ts60/info.json6
-rw-r--r--keyboards/wolf/ts60/readme.md2
-rw-r--r--keyboards/wolfmarkclub/wm1/config.h7
-rw-r--r--keyboards/wolfmarkclub/wm1/info.json8
-rwxr-xr-xkeyboards/woodkeys/bigseries/1key/config.h8
-rw-r--r--keyboards/woodkeys/bigseries/1key/info.json8
-rw-r--r--keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h1
-rwxr-xr-xkeyboards/woodkeys/bigseries/2key/config.h8
-rw-r--r--keyboards/woodkeys/bigseries/2key/info.json8
-rwxr-xr-xkeyboards/woodkeys/bigseries/3key/config.h8
-rw-r--r--keyboards/woodkeys/bigseries/3key/info.json8
-rwxr-xr-xkeyboards/woodkeys/bigseries/4key/config.h8
-rw-r--r--keyboards/woodkeys/bigseries/4key/info.json8
-rw-r--r--keyboards/woodkeys/meira/config.h7
-rw-r--r--keyboards/woodkeys/meira/featherble/config.h1
-rw-r--r--keyboards/woodkeys/meira/info.json6
-rw-r--r--keyboards/woodkeys/meira/keymaps/cole/keymap.c2
-rw-r--r--keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c2
-rw-r--r--keyboards/woodkeys/meira/keymaps/takmiya/keymap.c2
-rw-r--r--keyboards/woodkeys/meira/meira.c2
-rw-r--r--keyboards/woodkeys/meira/promicro/config.h1
-rw-r--r--keyboards/woodkeys/scarletbandana/config.h7
-rw-r--r--keyboards/woodkeys/scarletbandana/info.json6
-rw-r--r--keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c14
-rw-r--r--keyboards/work_louder/encoder_actions.c68
-rw-r--r--keyboards/work_louder/encoder_actions.h21
-rw-r--r--keyboards/work_louder/loop/config.h18
-rw-r--r--keyboards/work_louder/loop/info.json9
-rw-r--r--keyboards/work_louder/loop/keymaps/via/keymap.c38
-rw-r--r--keyboards/work_louder/loop/keymaps/via/rules.mk3
-rw-r--r--keyboards/work_louder/loop/loop.c2
-rw-r--r--keyboards/work_louder/loop/loop.h1
-rw-r--r--keyboards/work_louder/loop/rev1/config.h6
-rw-r--r--keyboards/work_louder/loop/rev1/info.json5
-rw-r--r--keyboards/work_louder/loop/rev1/rules.mk0
-rw-r--r--keyboards/work_louder/loop/rev3/config.h6
-rw-r--r--keyboards/work_louder/loop/rev3/info.json5
-rw-r--r--keyboards/work_louder/loop/rev3/rules.mk0
-rw-r--r--keyboards/work_louder/loop/rules.mk2
-rw-r--r--keyboards/work_louder/micro/config.h89
-rw-r--r--keyboards/work_louder/micro/info.json64
-rw-r--r--keyboards/work_louder/micro/keymaps/default/keymap.c91
-rw-r--r--keyboards/work_louder/micro/keymaps/default/rules.mk1
-rw-r--r--keyboards/work_louder/micro/keymaps/via/keymap.c92
-rw-r--r--keyboards/work_louder/micro/keymaps/via/rules.mk3
-rw-r--r--keyboards/work_louder/micro/matrix.c131
-rw-r--r--keyboards/work_louder/micro/micro.c170
-rw-r--r--keyboards/work_louder/micro/micro.h22
-rw-r--r--keyboards/work_louder/micro/readme.md26
-rw-r--r--keyboards/work_louder/micro/rules.mk6
-rw-r--r--keyboards/work_louder/nano/config.h22
-rw-r--r--keyboards/work_louder/nano/info.json10
-rw-r--r--keyboards/work_louder/nano/keymaps/via/keymap.c39
-rw-r--r--keyboards/work_louder/nano/keymaps/via/rules.mk3
-rw-r--r--keyboards/work_louder/nano/nano.c2
-rw-r--r--keyboards/work_louder/nano/nano.h1
-rw-r--r--keyboards/work_louder/rgb_functions.c154
-rw-r--r--keyboards/work_louder/work_board/config.h24
-rw-r--r--keyboards/work_louder/work_board/info.json9
-rw-r--r--keyboards/work_louder/work_board/keymaps/default/keymap.c170
-rw-r--r--keyboards/work_louder/work_board/keymaps/via/keymap.c59
-rw-r--r--keyboards/work_louder/work_board/keymaps/via/rules.mk3
-rw-r--r--keyboards/work_louder/work_board/rev1/config.h6
-rw-r--r--keyboards/work_louder/work_board/rev1/info.json5
-rw-r--r--keyboards/work_louder/work_board/rev1/rules.mk0
-rw-r--r--keyboards/work_louder/work_board/rev3/config.h6
-rw-r--r--keyboards/work_louder/work_board/rev3/info.json5
-rw-r--r--keyboards/work_louder/work_board/rev3/rules.mk0
-rw-r--r--keyboards/work_louder/work_board/rules.mk2
-rw-r--r--keyboards/work_louder/work_board/work_board.c2
-rw-r--r--keyboards/work_louder/work_board/work_board.h1
-rw-r--r--keyboards/wren/config.h8
-rw-r--r--keyboards/wren/info.json6
-rw-r--r--keyboards/wren/readme.md2
-rw-r--r--keyboards/wsk/alpha9/config.h8
-rw-r--r--keyboards/wsk/alpha9/info.json6
-rw-r--r--keyboards/wsk/g4m3ralpha/config.h8
-rw-r--r--keyboards/wsk/g4m3ralpha/info.json8
-rw-r--r--keyboards/wsk/gothic50/config.h8
-rw-r--r--keyboards/wsk/gothic50/info.json6
-rw-r--r--keyboards/wsk/gothic70/config.h8
-rw-r--r--keyboards/wsk/gothic70/info.json6
-rw-r--r--keyboards/wsk/houndstooth/config.h8
-rw-r--r--keyboards/wsk/houndstooth/info.json6
-rw-r--r--keyboards/wsk/jerkin/config.h8
-rw-r--r--keyboards/wsk/jerkin/info.json6
-rw-r--r--keyboards/wsk/kodachi50/config.h8
-rw-r--r--keyboards/wsk/kodachi50/info.json6
-rw-r--r--keyboards/wsk/pain27/config.h8
-rw-r--r--keyboards/wsk/pain27/info.json8
-rw-r--r--keyboards/wsk/sl40/config.h8
-rw-r--r--keyboards/wsk/sl40/info.json6
-rw-r--r--keyboards/wsk/sl40/keymaps/prototype/keymap.c2
-rw-r--r--keyboards/wsk/tkl30/config.h8
-rw-r--r--keyboards/wsk/tkl30/info.json6
-rw-r--r--keyboards/wuque/ikki68/config.h7
-rw-r--r--keyboards/wuque/ikki68/info.json6
-rw-r--r--keyboards/wuque/ikki68_aurora/config.h7
-rw-r--r--keyboards/wuque/ikki68_aurora/info.json8
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c2
-rw-r--r--keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c4
-rw-r--r--keyboards/wuque/mammoth20x/config.h7
-rw-r--r--keyboards/wuque/mammoth20x/info.json6
-rw-r--r--keyboards/wuque/mammoth75x/config.h7
-rw-r--r--keyboards/wuque/mammoth75x/info.json6
-rw-r--r--keyboards/wuque/mammoth75x/keymaps/75_ansi/keymap.c2
-rw-r--r--keyboards/wuque/mammoth75x/keymaps/75_split_bs/keymap.c2
-rw-r--r--keyboards/wuque/mammoth75x/keymaps/75_split_lshift/keymap.c2
-rw-r--r--keyboards/wuque/mammoth75x/keymaps/75_split_rshift/keymap.c2
-rw-r--r--keyboards/wuque/mammoth75x/keymaps/75_split_space/keymap.c2
-rw-r--r--keyboards/wuque/promise87/ansi/ansi.c17
-rw-r--r--keyboards/wuque/promise87/ansi/ansi.h218
-rw-r--r--keyboards/wuque/promise87/ansi/config.h48
-rw-r--r--keyboards/wuque/promise87/ansi/info.json609
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/via/keymap.c52
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/via/readme.md1
-rw-r--r--keyboards/wuque/promise87/ansi/keymaps/via/rules.mk2
-rw-r--r--keyboards/wuque/promise87/ansi/readme.md27
-rw-r--r--keyboards/wuque/promise87/ansi/rules.mk20
-rw-r--r--keyboards/wuque/promise87/wkl/config.h48
-rw-r--r--keyboards/wuque/promise87/wkl/info.json592
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/keymap.c36
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/via/keymap.c52
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/via/readme.md1
-rw-r--r--keyboards/wuque/promise87/wkl/keymaps/via/rules.mk2
-rw-r--r--keyboards/wuque/promise87/wkl/readme.md27
-rw-r--r--keyboards/wuque/promise87/wkl/rules.mk18
-rw-r--r--keyboards/wuque/promise87/wkl/wkl.c17
-rw-r--r--keyboards/wuque/promise87/wkl/wkl.h217
-rw-r--r--keyboards/wuque/serneity65/config.h7
-rw-r--r--keyboards/wuque/serneity65/info.json6
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c2
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c2
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c2
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c2
-rw-r--r--keyboards/x16/config.h8
-rw-r--r--keyboards/x16/info.json6
-rw-r--r--keyboards/xbows/knight/config.h6
-rw-r--r--keyboards/xbows/knight/info.json6
-rw-r--r--keyboards/xbows/knight_plus/config.h6
-rw-r--r--keyboards/xbows/knight_plus/info.json6
-rw-r--r--keyboards/xbows/nature/config.h6
-rw-r--r--keyboards/xbows/nature/info.json6
-rw-r--r--keyboards/xbows/numpad/config.h6
-rw-r--r--keyboards/xbows/numpad/info.json6
-rw-r--r--keyboards/xbows/ranger/config.h6
-rw-r--r--keyboards/xbows/ranger/info.json6
-rw-r--r--keyboards/xbows/woody/config.h5
-rw-r--r--keyboards/xbows/woody/info.json6
-rw-r--r--keyboards/xelus/akis/config.h8
-rw-r--r--keyboards/xelus/akis/info.json8
-rw-r--r--keyboards/xelus/dawn60/info.json6
-rw-r--r--keyboards/xelus/dawn60/rev1/config.h8
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/config.h8
-rw-r--r--keyboards/xelus/dharma/config.h8
-rw-r--r--keyboards/xelus/dharma/info.json8
-rw-r--r--keyboards/xelus/dharma/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/dharma/keymaps/via/config.h18
-rw-r--r--keyboards/xelus/kangaroo/chconf.h31
-rw-r--r--keyboards/xelus/kangaroo/config.h61
-rw-r--r--keyboards/xelus/kangaroo/info.json10
-rw-r--r--keyboards/xelus/kangaroo/kangaroo.c7
-rw-r--r--keyboards/xelus/kangaroo/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/kangaroo/keymaps/via/config.h18
-rw-r--r--keyboards/xelus/kangaroo/readme.md13
-rw-r--r--keyboards/xelus/kangaroo/rev1/config.h54
-rw-r--r--keyboards/xelus/kangaroo/rev1/halconf.h (renamed from keyboards/xelus/kangaroo/halconf.h)0
-rw-r--r--keyboards/xelus/kangaroo/rev1/info.json6
-rw-r--r--keyboards/xelus/kangaroo/rev1/mcuconf.h (renamed from keyboards/xelus/kangaroo/mcuconf.h)0
-rw-r--r--keyboards/xelus/kangaroo/rev1/readme.md14
-rw-r--r--keyboards/xelus/kangaroo/rev1/rev1.c22
-rw-r--r--keyboards/xelus/kangaroo/rev1/rev1.h17
-rw-r--r--keyboards/xelus/kangaroo/rev1/rules.mk (renamed from keyboards/xelus/kangaroo/rules.mk)0
-rw-r--r--keyboards/xelus/kangaroo/rev2/config.h38
-rw-r--r--keyboards/xelus/kangaroo/rev2/info.json6
-rw-r--r--keyboards/xelus/kangaroo/rev2/readme.md14
-rw-r--r--keyboards/xelus/kangaroo/rev2/rules.mk24
-rwxr-xr-xkeyboards/xelus/la_plus/config.h8
-rw-r--r--keyboards/xelus/la_plus/info.json8
-rw-r--r--keyboards/xelus/la_plus/keymaps/default/config.h19
-rw-r--r--keyboards/xelus/la_plus/keymaps/via/config.h2
-rw-r--r--keyboards/xelus/ninjin/config.h7
-rw-r--r--keyboards/xelus/ninjin/info.json6
-rw-r--r--keyboards/xelus/pachi/mini_32u4/config.h7
-rw-r--r--keyboards/xelus/pachi/mini_32u4/info.json8
-rw-r--r--keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h2
-rw-r--r--keyboards/xelus/pachi/rev1/config.h7
-rw-r--r--keyboards/xelus/pachi/rev1/info.json8
-rw-r--r--keyboards/xelus/pachi/rev1/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/pachi/rev1/keymaps/via/config.h2
-rw-r--r--keyboards/xelus/pachi/rgb/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/pachi/rgb/keymaps/via/config.h2
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/config.h8
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/info.json8
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/config.h8
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/info.json8
-rw-r--r--keyboards/xelus/rs108/config.h67
-rw-r--r--keyboards/xelus/rs108/halconf.h (renamed from keyboards/xelus/rs60/rev2/halconf.h)0
-rw-r--r--keyboards/xelus/rs108/info.json125
-rw-r--r--keyboards/xelus/rs108/keymaps/default/keymap.c36
-rw-r--r--keyboards/xelus/rs108/keymaps/via/keymap.c54
-rw-r--r--keyboards/xelus/rs108/keymaps/via/rules.mk1
-rw-r--r--keyboards/xelus/rs108/mcuconf.h (renamed from keyboards/xelus/rs60/rev2/mcuconf.h)0
-rw-r--r--keyboards/xelus/rs108/readme.md19
-rw-r--r--keyboards/xelus/rs108/rs108.c16
-rw-r--r--keyboards/xelus/rs108/rs108.h42
-rw-r--r--keyboards/xelus/rs108/rules.mk27
-rw-r--r--keyboards/xelus/rs60/info.json5
-rw-r--r--keyboards/xelus/rs60/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/rs60/keymaps/via/config.h18
-rw-r--r--keyboards/xelus/rs60/rev1/config.h8
-rw-r--r--keyboards/xelus/rs60/rev1/info.json5
-rw-r--r--keyboards/xelus/rs60/rev2/chconf.h30
-rw-r--r--keyboards/xelus/rs60/rev2/config.h73
-rw-r--r--keyboards/xelus/rs60/rev2/rev2.c16
-rw-r--r--keyboards/xelus/rs60/rev2/rev2.h34
-rw-r--r--keyboards/xelus/rs60/rev2/rules.mk28
-rw-r--r--keyboards/xelus/rs60/rev2_0/config.h65
-rw-r--r--keyboards/xelus/rs60/rev2_0/halconf.h26
-rw-r--r--keyboards/xelus/rs60/rev2_0/info.json5
-rw-r--r--keyboards/xelus/rs60/rev2_0/mcuconf.h42
-rw-r--r--keyboards/xelus/rs60/rev2_0/readme.md20
-rw-r--r--keyboards/xelus/rs60/rev2_0/rev2_0.c16
-rw-r--r--keyboards/xelus/rs60/rev2_0/rev2_0.h34
-rw-r--r--keyboards/xelus/rs60/rev2_0/rules.mk28
-rw-r--r--keyboards/xelus/rs60/rev2_1/config.h45
-rw-r--r--keyboards/xelus/rs60/rev2_1/info.json5
-rw-r--r--keyboards/xelus/rs60/rev2_1/readme.md20
-rw-r--r--keyboards/xelus/rs60/rev2_1/rev2_1.c16
-rw-r--r--keyboards/xelus/rs60/rev2_1/rev2_1.h34
-rw-r--r--keyboards/xelus/rs60/rev2_1/rules.mk29
-rw-r--r--keyboards/xelus/rs60/rs60.h6
-rw-r--r--keyboards/xelus/snap96/config.h8
-rw-r--r--keyboards/xelus/snap96/info.json6
-rw-r--r--keyboards/xelus/trinityxttkl/config.h7
-rw-r--r--keyboards/xelus/trinityxttkl/info.json6
-rw-r--r--keyboards/xelus/valor/rev1/config.h8
-rw-r--r--keyboards/xelus/valor/rev1/info.json8
-rw-r--r--keyboards/xelus/valor/rev2/config.h8
-rw-r--r--keyboards/xelus/valor/rev2/info.json8
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/via/config.h2
-rw-r--r--keyboards/xelus/valor_frl_tkl/config.h68
-rw-r--r--keyboards/xelus/valor_frl_tkl/info.json6
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c2
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/via/config.h18
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c2
-rw-r--r--keyboards/xelus/valor_frl_tkl/readme.md13
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/chconf.h (renamed from keyboards/xelus/valor_frl_tkl/chconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/config.h60
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/halconf.h (renamed from keyboards/xelus/valor_frl_tkl/halconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/info.json6
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h (renamed from keyboards/xelus/valor_frl_tkl/mcuconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/readme.md13
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rev1.c24
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rev1.h35
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rules.mk (renamed from keyboards/xelus/valor_frl_tkl/rules.mk)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/.noci0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/config.h40
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/info.json6
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h34
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/readme.md79
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk24
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/config.h40
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/info.json6
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h34
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/readme.md14
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk24
-rw-r--r--keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c5
-rw-r--r--keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h2
-rw-r--r--keyboards/xelus/xs60/config.h8
-rw-r--r--keyboards/xelus/xs60/info.json6
-rw-r--r--keyboards/xelus/xs60/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/xs60/keymaps/via/config.h2
-rw-r--r--keyboards/xenon/config.h6
-rw-r--r--keyboards/xenon/info.json7
-rw-r--r--keyboards/xiaomi/mk02/config.h7
-rw-r--r--keyboards/xiaomi/mk02/info.json8
-rw-r--r--keyboards/xiudi/xd002/config.h7
-rw-r--r--keyboards/xiudi/xd002/info.json8
-rw-r--r--keyboards/xiudi/xd002/keymaps/tap_dance/config.h1
-rw-r--r--keyboards/xiudi/xd004/info.json6
-rw-r--r--keyboards/xiudi/xd004/v1/config.h9
-rw-r--r--keyboards/xiudi/xd60/info.json6
-rw-r--r--keyboards/xiudi/xd60/keymaps/Jos/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/birkir/keymap.c4
-rw-r--r--keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/finnish/keymap.c2
-rwxr-xr-xkeyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c4
-rw-r--r--keyboards/xiudi/xd60/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/melka/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/petesmom/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/rooski/keymap.c4
-rw-r--r--keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c2
-rw-r--r--keyboards/xiudi/xd60/rev2/config.h8
-rw-r--r--keyboards/xiudi/xd60/rev2/info.json6
-rw-r--r--keyboards/xiudi/xd60/rev3/config.h8
-rw-r--r--keyboards/xiudi/xd60/rev3/info.json6
-rw-r--r--keyboards/xiudi/xd68/config.h8
-rw-r--r--keyboards/xiudi/xd68/info.json8
-rw-r--r--keyboards/xiudi/xd75/config.h8
-rw-r--r--keyboards/xiudi/xd75/info.json6
-rw-r--r--keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/adi/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c6
-rw-r--r--keyboards/xiudi/xd75/keymaps/atomic_style/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/atomic_style_jp/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/bbaserdem/config.h3
-rw-r--r--keyboards/xiudi/xd75/keymaps/bbaserdem/keymap.c21
-rw-r--r--keyboards/xiudi/xd75/keymaps/bbaserdem/readme.md14
-rw-r--r--keyboards/xiudi/xd75/keymaps/bbaserdem/rules.mk7
-rw-r--r--keyboards/xiudi/xd75/keymaps/boy_314/keymap.c8
-rw-r--r--keyboards/xiudi/xd75/keymaps/bramver/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/bulbizarre/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/buzzlighter1/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c8
-rwxr-xr-xkeyboards/xiudi/xd75/keymaps/clanghans/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/colinta/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/daniel/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/emilyh/keymap.c6
-rw-r--r--keyboards/xiudi/xd75/keymaps/fabian/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/french/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/germanized/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/hybrid/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/jarred/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/kim-kim-xd73/keymap.c8
-rw-r--r--keyboards/xiudi/xd75/keymaps/kim-kim/keymap.c8
-rw-r--r--keyboards/xiudi/xd75/keymaps/kloki/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/markus/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/minna/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/msiu/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/neothefox/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/odyssey/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/raoeus/keymap.c173
-rw-r--r--keyboards/xiudi/xd75/keymaps/raoeus/readme.md77
-rw-r--r--keyboards/xiudi/xd75/keymaps/raoeus/rules.mk3
-rw-r--r--keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/revok75/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/scheiklb/keymap.c2
-rw-r--r--keyboards/xiudi/xd75/keymaps/scheiklp/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c6
-rw-r--r--keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h1
-rw-r--r--keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c4
-rw-r--r--keyboards/xiudi/xd75/keymaps/tomswartz07/keymap.c6
-rw-r--r--keyboards/xiudi/xd75/keymaps/xo/keymap.c4
-rw-r--r--keyboards/xiudi/xd84/config.h8
-rw-r--r--keyboards/xiudi/xd84/info.json6
-rw-r--r--keyboards/xiudi/xd84pro/config.h8
-rw-r--r--keyboards/xiudi/xd84pro/info.json6
-rw-r--r--keyboards/xiudi/xd87/config.h8
-rw-r--r--keyboards/xiudi/xd87/info.json6
-rwxr-xr-xkeyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c2
-rw-r--r--keyboards/xiudi/xd96/config.h8
-rw-r--r--keyboards/xiudi/xd96/info.json8
-rw-r--r--keyboards/xiudi/xd96/keymaps/uuupah/keymap.c2
-rw-r--r--keyboards/xmmx/config.h8
-rw-r--r--keyboards/xmmx/info.json6
-rw-r--r--keyboards/xw60/config.h8
-rw-r--r--keyboards/xw60/info.json6
-rw-r--r--keyboards/yampad/config.h7
-rw-r--r--keyboards/yampad/info.json6
-rw-r--r--keyboards/yampad/keymaps/traditional/keymap.c2
-rw-r--r--keyboards/yandrstudio/nz64/config.h7
-rw-r--r--keyboards/yandrstudio/nz64/readme.md2
-rw-r--r--keyboards/yandrstudio/nz64/rules.mk1
-rw-r--r--keyboards/yandrstudio/nz67v2/board.h22
-rw-r--r--keyboards/yandrstudio/nz67v2/config.h109
-rw-r--r--keyboards/yandrstudio/nz67v2/halconf.h22
-rw-r--r--keyboards/yandrstudio/nz67v2/info.json382
-rw-r--r--keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c33
-rw-r--r--keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c76
-rw-r--r--keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk1
-rw-r--r--keyboards/yandrstudio/nz67v2/mcuconf.h25
-rw-r--r--keyboards/yandrstudio/nz67v2/nz67v2.c118
-rw-r--r--keyboards/yandrstudio/nz67v2/nz67v2.h42
-rw-r--r--keyboards/yandrstudio/nz67v2/readme.md23
-rw-r--r--keyboards/yandrstudio/nz67v2/rules.mk19
-rw-r--r--keyboards/yandrstudio/tg67/board.h21
-rw-r--r--keyboards/yandrstudio/tg67/config.h101
-rw-r--r--keyboards/yandrstudio/tg67/halconf.h23
-rw-r--r--keyboards/yandrstudio/tg67/info.json362
-rw-r--r--keyboards/yandrstudio/tg67/keymaps/default/keymap.c31
-rw-r--r--keyboards/yandrstudio/tg67/keymaps/via/keymap.c43
-rw-r--r--keyboards/yandrstudio/tg67/keymaps/via/rules.mk1
-rw-r--r--keyboards/yandrstudio/tg67/mcuconf.h25
-rw-r--r--keyboards/yandrstudio/tg67/readme.md22
-rw-r--r--keyboards/yandrstudio/tg67/rules.mk18
-rw-r--r--keyboards/yandrstudio/tg67/tg67.c46
-rw-r--r--keyboards/yandrstudio/tg67/tg67.h33
-rw-r--r--keyboards/yandrstudio/zhou65/config.h7
-rw-r--r--keyboards/yandrstudio/zhou65/readme.md2
-rw-r--r--keyboards/yandrstudio/zhou65/rules.mk1
-rw-r--r--keyboards/yanghu/unicorne/config.h7
-rw-r--r--keyboards/yanghu/unicorne/f411/rules.mk1
-rw-r--r--keyboards/yanghu/unicorne/info.json13
-rw-r--r--keyboards/yanghu/unicorne/keymaps/bcat/keymap.c2
-rw-r--r--keyboards/yatara/drink_me/config.h8
-rw-r--r--keyboards/yatara/drink_me/info.json6
-rw-r--r--keyboards/ydkb/chili/config.h8
-rw-r--r--keyboards/ydkb/chili/info.json8
-rw-r--r--keyboards/ydkb/grape/config.h7
-rw-r--r--keyboards/ydkb/grape/info.json6
-rw-r--r--keyboards/ydkb/just60/config.h8
-rw-r--r--keyboards/ydkb/just60/info.json6
-rw-r--r--keyboards/ydkb/just60/keymaps/thinxer/keymap.c2
-rw-r--r--keyboards/ydkb/just60/readme.md2
-rw-r--r--keyboards/ydkb/yd68/config.h8
-rw-r--r--keyboards/ydkb/yd68/info.json8
-rw-r--r--keyboards/yeehaw/config.h8
-rw-r--r--keyboards/yeehaw/info.json6
-rw-r--r--keyboards/yiancardesigns/barleycorn/config.h7
-rw-r--r--keyboards/yiancardesigns/barleycorn/info.json6
-rw-r--r--keyboards/yiancardesigns/gingham/config.h7
-rw-r--r--keyboards/yiancardesigns/gingham/info.json6
-rw-r--r--keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c2
-rw-r--r--keyboards/yiancardesigns/seigaiha/config.h7
-rw-r--r--keyboards/yiancardesigns/seigaiha/info.json6
-rw-r--r--keyboards/ymdk/bface/config.h7
-rw-r--r--keyboards/ymdk/bface/info.json8
-rw-r--r--keyboards/ymdk/bface/keymaps/minila/keymap.c2
-rw-r--r--keyboards/ymdk/melody96/config.h8
-rw-r--r--keyboards/ymdk/melody96/info.json8
-rw-r--r--keyboards/ymdk/melody96/keymaps/crilith/keymap.c2
-rw-r--r--keyboards/ymdk/melody96/keymaps/dvz/keymap.c2
-rw-r--r--keyboards/ymdk/melody96/keymaps/zunger/keymap.c2
-rw-r--r--keyboards/ymdk/np21/config.h7
-rw-r--r--keyboards/ymdk/np21/info.json8
-rw-r--r--keyboards/ymdk/np24/u4rgb6/config.h7
-rw-r--r--keyboards/ymdk/np24/u4rgb6/info.json8
-rw-r--r--keyboards/ymdk/sp64/config.h6
-rw-r--r--keyboards/ymdk/sp64/info.json8
-rw-r--r--keyboards/ymdk/sp64/keymaps/daed/keymap.c2
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/config.h5
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c149
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/readme.md7
-rw-r--r--keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk1
-rw-r--r--keyboards/ymdk/sp64/keymaps/walston/keymap.c2
-rw-r--r--keyboards/ymdk/wings/config.h8
-rw-r--r--keyboards/ymdk/wings/info.json8
-rw-r--r--keyboards/ymdk/wings/keymaps/default/keymap.c2
-rw-r--r--keyboards/ymdk/wingshs/config.h8
-rw-r--r--keyboards/ymdk/wingshs/info.json8
-rw-r--r--keyboards/ymdk/wingshs/keymaps/default/keymap.c2
-rw-r--r--keyboards/ymdk/yd60mq/12led/config.h2
-rw-r--r--keyboards/ymdk/yd60mq/12led/info.json5
-rw-r--r--keyboards/ymdk/yd60mq/16led/config.h2
-rw-r--r--keyboards/ymdk/yd60mq/16led/info.json5
-rw-r--r--keyboards/ymdk/yd60mq/config.h7
-rw-r--r--keyboards/ymdk/yd60mq/info.json5
-rw-r--r--keyboards/ymdk/yd60mq/keymaps/64key/keymap.c2
-rw-r--r--keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/ymdk/ym68/config.h7
-rw-r--r--keyboards/ymdk/ym68/info.json6
-rw-r--r--keyboards/ymdk/ymd09/config.h8
-rw-r--r--keyboards/ymdk/ymd09/info.json6
-rw-r--r--keyboards/ymdk/ymd21/v2/config.h7
-rw-r--r--keyboards/ymdk/ymd21/v2/info.json6
-rw-r--r--keyboards/ymdk/ymd21/v2/readme.md2
-rw-r--r--keyboards/ymdk/ymd40/v2/config.h7
-rw-r--r--keyboards/ymdk/ymd40/v2/info.json8
-rw-r--r--keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c2
-rw-r--r--keyboards/ymdk/ymd67/config.h8
-rw-r--r--keyboards/ymdk/ymd67/info.json8
-rw-r--r--keyboards/ymdk/ymd75/config.h6
-rw-r--r--keyboards/ymdk/ymd75/info.json7
-rw-r--r--keyboards/ymdk/ymd75/rev1/config.h1
-rw-r--r--keyboards/ymdk/ymd75/rev1/info.json5
-rw-r--r--keyboards/ymdk/ymd75/rev2/config.h1
-rw-r--r--keyboards/ymdk/ymd75/rev2/info.json5
-rw-r--r--keyboards/ymdk/ymd75/rev3/config.h1
-rw-r--r--keyboards/ymdk/ymd75/rev3/info.json5
-rw-r--r--keyboards/ymdk/ymd96/config.h6
-rw-r--r--keyboards/ymdk/ymd96/info.json8
-rw-r--r--keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c2
-rw-r--r--keyboards/yncognito/batpad/config.h7
-rw-r--r--keyboards/yncognito/batpad/info.json8
-rw-r--r--keyboards/yoichiro/lunakey_macro/config.h8
-rw-r--r--keyboards/yoichiro/lunakey_macro/info.json6
-rw-r--r--keyboards/yoichiro/lunakey_mini/config.h8
-rw-r--r--keyboards/yoichiro/lunakey_mini/info.json6
-rw-r--r--keyboards/yoichiro/lunakey_pico/config.h38
-rw-r--r--keyboards/yoichiro/lunakey_pico/halconf.h8
-rw-r--r--keyboards/yoichiro/lunakey_pico/info.json106
-rw-r--r--keyboards/yoichiro/lunakey_pico/keymaps/default/keymap.c69
-rw-r--r--keyboards/yoichiro/lunakey_pico/keymaps/via/keymap.c65
-rw-r--r--keyboards/yoichiro/lunakey_pico/keymaps/via/rules.mk1
-rw-r--r--keyboards/yoichiro/lunakey_pico/lunakey_pico.c4
-rw-r--r--keyboards/yoichiro/lunakey_pico/lunakey_pico.h23
-rw-r--r--keyboards/yoichiro/lunakey_pico/mcuconf.h11
-rw-r--r--keyboards/yoichiro/lunakey_pico/readme.md27
-rw-r--r--keyboards/yoichiro/lunakey_pico/rules.mk2
-rw-r--r--keyboards/yosino58/config.h25
-rw-r--r--keyboards/yosino58/i2c.c162
-rw-r--r--keyboards/yosino58/i2c.h46
-rw-r--r--keyboards/yosino58/info.json16
-rw-r--r--keyboards/yosino58/keymaps/default/config.h7
-rw-r--r--keyboards/yosino58/keymaps/default/keymap.c107
-rw-r--r--keyboards/yosino58/keymaps/default/rules.mk1
-rw-r--r--keyboards/yosino58/keymaps/sakura/config.h5
-rw-r--r--keyboards/yosino58/keymaps/sakura/keymap.c122
-rw-r--r--keyboards/yosino58/keymaps/sakura/rules.mk1
-rw-r--r--keyboards/yosino58/rev1/config.h13
-rw-r--r--keyboards/yosino58/rev1/info.json22
-rw-r--r--keyboards/yosino58/rev1/matrix.c343
-rw-r--r--keyboards/yosino58/rev1/rev1.h15
-rw-r--r--keyboards/yosino58/rev1/rules.mk23
-rw-r--r--keyboards/yosino58/rev1/serial_config.h4
-rw-r--r--keyboards/yosino58/rev1/serial_config_simpleapi.h5
-rw-r--r--keyboards/yosino58/rev1/split_scomm.c91
-rw-r--r--keyboards/yosino58/rev1/split_scomm.h21
-rw-r--r--keyboards/yosino58/rev1/split_util.c70
-rw-r--r--keyboards/yosino58/rev1/split_util.h16
-rw-r--r--keyboards/yosino58/rules.mk27
-rw-r--r--keyboards/yosino58/serial.c589
-rw-r--r--keyboards/yosino58/serial.h81
-rw-r--r--keyboards/yosino58/ssd1306.c347
-rw-r--r--keyboards/yosino58/ssd1306.h95
-rw-r--r--keyboards/yosino58/yosino58.c11
-rw-r--r--keyboards/yugo_m/model_m_101/config.h7
-rw-r--r--keyboards/yugo_m/model_m_101/info.json8
-rw-r--r--keyboards/yushakobo/navpad/10/info.json5
-rw-r--r--keyboards/yushakobo/navpad/10/readme.md2
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/config.h7
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/info.json5
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/config.h7
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/info.json5
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/config.h7
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/info.json8
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/readme.md2
-rw-r--r--keyboards/yushakobo/quick17/config.h8
-rw-r--r--keyboards/yushakobo/quick17/info.json6
-rw-r--r--keyboards/yushakobo/quick7/config.h8
-rw-r--r--keyboards/yushakobo/quick7/info.json6
-rw-r--r--keyboards/yynmt/acperience12/info.json17
-rw-r--r--keyboards/yynmt/acperience12/rev1/config.h7
-rw-r--r--keyboards/yynmt/acperience12/rev1/info.json23
-rw-r--r--keyboards/yynmt/dozen0/config.h8
-rw-r--r--keyboards/yynmt/dozen0/info.json6
-rw-r--r--keyboards/yynmt/kagamidget/config.h8
-rw-r--r--keyboards/yynmt/kagamidget/info.json6
-rw-r--r--keyboards/z12/config.h8
-rw-r--r--keyboards/z12/info.json6
-rw-r--r--keyboards/z34/config.h8
-rw-r--r--keyboards/z34/info.json6
-rw-r--r--keyboards/zfrontier/big_switch/config.h9
-rw-r--r--keyboards/zfrontier/big_switch/info.json6
-rw-r--r--keyboards/ziggurat/config.h8
-rw-r--r--keyboards/ziggurat/info.json8
-rw-r--r--keyboards/ziggurat/readme.md2
-rw-r--r--keyboards/zj68/config.h8
-rw-r--r--keyboards/zj68/info.json6
-rw-r--r--keyboards/zj68/keymaps/splitbs/keymap.c2
-rwxr-xr-xkeyboards/zlant/config.h8
-rw-r--r--keyboards/zlant/info.json6
-rw-r--r--keyboards/zoo/wampus/config.h8
-rw-r--r--keyboards/zoo/wampus/info.json8
-rw-r--r--keyboards/ztboards/after/config.h8
-rw-r--r--keyboards/ztboards/after/info.json8
-rw-r--r--keyboards/ztboards/after/keymaps/ellicose/keymap.c4
-rw-r--r--keyboards/ztboards/after/keymaps/phlop/keymap.c4
-rw-r--r--keyboards/ztboards/noon/config.h8
-rw-r--r--keyboards/ztboards/noon/info.json8
-rw-r--r--keyboards/zvecr/split_blackpill/config.h7
-rw-r--r--keyboards/zvecr/split_blackpill/info.json6
-rw-r--r--keyboards/zvecr/zv48/config.h7
-rw-r--r--keyboards/zvecr/zv48/f401/rules.mk1
-rw-r--r--keyboards/zvecr/zv48/f411/rules.mk1
-rw-r--r--keyboards/zvecr/zv48/info.json6
10051 files changed, 164384 insertions, 47285 deletions
diff --git a/keyboards/0_sixty/base/info.json b/keyboards/0_sixty/base/info.json
new file mode 100644
index 0000000000..f15b6505d1
--- /dev/null
+++ b/keyboards/0_sixty/base/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "0-Sixty",
+ "usb": {
+ "pid": "0x0060"
+ },
+ "indicators": {
+ "caps_lock": "B6"
+ }
+}
diff --git a/keyboards/boardsource/microdox/.noci b/keyboards/0_sixty/base/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/boardsource/microdox/.noci
+++ b/keyboards/0_sixty/base/rules.mk
diff --git a/keyboards/0_sixty/config.h b/keyboards/0_sixty/config.h
index 9d9394c14f..2160ba623e 100644
--- a/keyboards/0_sixty/config.h
+++ b/keyboards/0_sixty/config.h
@@ -18,22 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x7654
-#define PRODUCT_ID 0x0060
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER ven0mtr0n
-#define PRODUCT 0-Sixty
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -41,9 +31,6 @@
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-/* indicator leds */
-#define LED_CAPS_LOCK_PIN B6
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/0_sixty/info.json b/keyboards/0_sixty/info.json
index b04e9accb2..7fc718c602 100644
--- a/keyboards/0_sixty/info.json
+++ b/keyboards/0_sixty/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "0-Sixty",
+ "manufacturer": "ven0mtr0n",
"url": "",
"maintainer": "vinamarora8",
+ "usb": {
+ "vid": "0x7654",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_1x2uC": {
"layout": [
diff --git a/keyboards/0_sixty/rules.mk b/keyboards/0_sixty/rules.mk
index 7a09d99fdf..18f45534c8 100644
--- a/keyboards/0_sixty/rules.mk
+++ b/keyboards/0_sixty/rules.mk
@@ -17,3 +17,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Link-time opt
+
+DEFAULT_FOLDER = 0_sixty/base
diff --git a/keyboards/0_sixty/underglow/config.h b/keyboards/0_sixty/underglow/config.h
index 1cff58d944..7b36d4a834 100644
--- a/keyboards/0_sixty/underglow/config.h
+++ b/keyboards/0_sixty/underglow/config.h
@@ -18,15 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0061
-#undef PRODUCT
-#define PRODUCT 0-Sixty-underglow
-
-/* no caps lock with underglow */
-#undef LED_CAPS_LOCK_PIN
-
/* underglow */
#define RGB_DI_PIN B6
#define RGBLED_NUM 24
diff --git a/keyboards/0_sixty/underglow/info.json b/keyboards/0_sixty/underglow/info.json
new file mode 100644
index 0000000000..5cbbd86e61
--- /dev/null
+++ b/keyboards/0_sixty/underglow/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "0-Sixty-underglow",
+ "usb": {
+ "pid": "0x0061"
+ },
+ "features": {
+ "rgblight": true
+ }
+}
diff --git a/keyboards/0_sixty/underglow/rules.mk b/keyboards/0_sixty/underglow/rules.mk
index 84ef473c02..e69de29bb2 100644
--- a/keyboards/0_sixty/underglow/rules.mk
+++ b/keyboards/0_sixty/underglow/rules.mk
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/0_sixty/underglow/underglow.h b/keyboards/0_sixty/underglow/underglow.h
deleted file mode 100644
index 807dfa84ce..0000000000
--- a/keyboards/0_sixty/underglow/underglow.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Vinam Arora <vinam@posteo.de>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "0_sixty.h"
diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h
index 11b01ad8b6..6eeb183379 100644
--- a/keyboards/0xc7/61key/config.h
+++ b/keyboards/0xc7/61key/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/0xc7/61key/readme.md b/keyboards/0xc7/61key/readme.md
index 356b8b07d4..0947aaa52c 100644
--- a/keyboards/0xc7/61key/readme.md
+++ b/keyboards/0xc7/61key/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h
index 9c3a0c6649..784baadc2c 100644
--- a/keyboards/0xcb/static/config.h
+++ b/keyboards/0xcb/static/config.h
@@ -36,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D6, D7, B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, D4, C0, C1, C2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/0xcb/static/keymaps/bongocat/keymap.c b/keyboards/0xcb/static/keymaps/bongocat/keymap.c
index 12cc75217e..6d0fc05d3a 100644
--- a/keyboards/0xcb/static/keymaps/bongocat/keymap.c
+++ b/keyboards/0xcb/static/keymaps/bongocat/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2)
),
[_FN2] = LAYOUT_all(
- RESET,
+ QK_BOOT,
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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/0xcb/tutelpad/config.h b/keyboards/0xcb/tutelpad/config.h
new file mode 100644
index 0000000000..a19fa7e83f
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/config.h
@@ -0,0 +1,89 @@
+/* Copyright 2022 ItsFiremanSam
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 4
+
+/*
+ * 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)
+ *
+ */
+/* Keyboard Matrix Assignments */
+#define DIRECT_PINS { \
+ { E6, D7, B1, B3 }, \
+ { B5, B4, B2, B6 } \
+}
+
+#define RGB_DI_PIN D3 // LED data pin on controller
+#define RGBLED_NUM 4 // Number of LEDs connected
+
+#define RGBLIGHT_HUE_STEP 10 // The number of steps to cycle through the hue by
+#define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by
+#define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by
+#define RGBLIGHT_LIMIT_VAL 255 // Max brightness level
+#define RGBLIGHT_SLEEP // RGB will switch off when host goes to sleep
+
+#define RGBLIGHT_EFFECT_BREATHING // Enable all additional RGB animation modes
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define OLED_TIMEOUT 20000 // Turns off OLED after said amount of milliseconds
+#define OLED_BRIGHTNESS 128
+#define OLED_DISPLAY_128X64
+
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 1
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/0xcb/tutelpad/info.json b/keyboards/0xcb/tutelpad/info.json
new file mode 100644
index 0000000000..00261daad3
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/info.json
@@ -0,0 +1,26 @@
+{
+ "keyboard_name": "TutelPad",
+ "manufacturer": "ItsFiremanSam",
+ "url": "",
+ "maintainer": "ItsFiremanSam",
+ "usb": {
+ "vid": "0xCB00",
+ "pid": "0xF09F",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "k03", "x": 0, "y": 0},
+ {"label": "k02", "x": 1, "y": 0},
+ {"label": "k01", "x": 2, "y": 0},
+ {"label": "k00", "x": 3, "y": 0},
+
+ {"label": "k13", "x": 0, "y": 1},
+ {"label": "k12", "x": 1, "y": 1},
+ {"label": "k11", "x": 2, "y": 1},
+ {"label": "k10", "x": 3, "y": 1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/0xcb/tutelpad/keymaps/default/keymap.c b/keyboards/0xcb/tutelpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..513e7d9f33
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/keymaps/default/keymap.c
@@ -0,0 +1,29 @@
+/* Copyright 2022 ItsFiremanSam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, KC_8
+ )
+}; \ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/keymaps/via/keymap.c b/keyboards/0xcb/tutelpad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c617fce75e
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/keymaps/via/keymap.c
@@ -0,0 +1,39 @@
+/* Copyright 2022 ItsFiremanSam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4,
+ KC_5, LT(1, KC_6), LT(1, KC_7), LT(1, KC_8)
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/keymaps/via/rules.mk b/keyboards/0xcb/tutelpad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/readme.md b/keyboards/0xcb/tutelpad/readme.md
new file mode 100644
index 0000000000..8fb8c970e7
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/readme.md
@@ -0,0 +1,19 @@
+# TutelPad macropad
+
+* Keyboard Maintainer: [ItsFiremanSam](https://github.com/ItsFiremanSam)
+* Hardware Supported: [TutelPad GitHub](https://github.com/0xCB-dev/0xCB-TutelPad)
+* Hardware Availability: [KeebSupply](https://keeb.supply/)
+
+## Bootloader
+
+You can enter the bootloader by pressing the reset switch on the side while the keyboard is plugged in. You can also short the GND and RST pads on the controller.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 0xcb/tutelpad:default
+
+Flashing example for this keyboard:
+
+ make 0xcb/tutelpad: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/0xcb/tutelpad/rules.mk b/keyboards/0xcb/tutelpad/rules.mk
new file mode 100644
index 0000000000..e022c905cd
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/rules.mk
@@ -0,0 +1,21 @@
+## MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 \ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/tutelpad.c b/keyboards/0xcb/tutelpad/tutelpad.c
new file mode 100644
index 0000000000..25c2d22219
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/tutelpad.c
@@ -0,0 +1,106 @@
+/* Copyright 2022 ItsFiremanSam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "tutelpad.h"
+
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM tutel[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+
+oled_write_raw_P(tutel, sizeof(tutel));
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+
+ render_logo();
+
+ return false;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/tutelpad.h b/keyboards/0xcb/tutelpad/tutelpad.h
new file mode 100644
index 0000000000..0115c50fa4
--- /dev/null
+++ b/keyboards/0xcb/tutelpad/tutelpad.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 ItsFiremanSam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13 \
+) { \
+ { k00, k01, k02, k03 }, \
+ { k10, k11, k12, k13 } \
+}
diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h
index 867589a27c..86d5b59348 100644
--- a/keyboards/10bleoledhub/config.h
+++ b/keyboards/10bleoledhub/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { F0, F5, F4, F6 }
#define MATRIX_COL_PINS { D6, D7, B5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h
index be680b4194..06675824a6 100644
--- a/keyboards/1k/config.h
+++ b/keyboards/1k/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0009
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MakotoKurauchi
-#define PRODUCT 1K
-
/* matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/keyboards/1k/info.json b/keyboards/1k/info.json
index a806ac6295..0c2de31808 100644
--- a/keyboards/1k/info.json
+++ b/keyboards/1k/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "1k",
+ "keyboard_name": "1K",
+ "manufacturer": "MakotoKurauchi",
"url": "",
"maintainer": "MakotoKurauchi",
+ "usb": {
+ "vid": "0x0009",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
diff --git a/keyboards/1k/keymaps/tap_dance/config.h b/keyboards/1k/keymaps/tap_dance/config.h
index 5df7869537..bd0163e447 100644
--- a/keyboards/1k/keymaps/tap_dance/config.h
+++ b/keyboards/1k/keymaps/tap_dance/config.h
@@ -4,3 +4,4 @@
#pragma once
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
index 2396e9083b..62d28fd6c9 100644
--- a/keyboards/1upkeyboards/1up60hse/config.h
+++ b/keyboards/1upkeyboards/1up60hse/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, E6, D1, D0, D2, D3, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c
index d5b9f901a4..1bdf6dfec3 100644
--- a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c
+++ b/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT_60_ansi(
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , 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 , QK_BOOT,
BL_TOGG , BL_INC , BL_DEC , BL_STEP , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
RGB_TOG , RGB_MOD , RGB_HUI , RGB_SAI , RGB_VAI , RGB_SPI , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , RGB_RMOD , RGB_HUD , RGB_SAD , RGB_VAD , RGB_SPD , RGB_M_SN , RGB_M_K , RGB_M_X , RGB_M_G , KC_TRNS , KC_TRNS ,
diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h
index 256af396e5..db8da3f6f5 100644
--- a/keyboards/1upkeyboards/1up60hte/config.h
+++ b/keyboards/1upkeyboards/1up60hte/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D0, D1, D2, D3, D5, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c
index 8e64c543d5..6708922899 100644
--- a/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c
+++ b/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOVE_LINUX] = LAYOUT_tsangan(\
KC_GRV, VD_1, VD_2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
- KC_BACK, WM_VD1, WM_UH, WM_VD2, RESET, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
+ KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
_______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, \
_______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______),
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONFIG] = LAYOUT_tsangan(\
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
- _______, NK_ON, NK_OFF, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
_______, GE_SWAP, GE_NORM, DEBUG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, \
_______, DF_1, DF_2, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
index 525e02eef4..aff768048d 100644
--- a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
+++ b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_hhkb(
- 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_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR,
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______,
diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
index 00cff570b1..02959ddafa 100644
--- a/keyboards/1upkeyboards/1up60rgb/config.h
+++ b/keyboards/1upkeyboards/1up60rgb/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c
index 5229657bc6..2b8c539971 100644
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c
+++ b/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOVE_LINUX] = LAYOUT_60_ansi_tsangan_split_rshift(\
KC_GRV, VD_1, VD_2, VD_3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
- KC_BACK, WM_VD1, WM_UH, WM_VD2, RESET, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
+ KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
_______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, \
_______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______),
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONFIG] = LAYOUT_60_ansi_tsangan_split_rshift(\
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
- _______, NK_ON, NK_OFF, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
_______, GE_SWAP, GE_NORM, DEBUG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, \
_______, LAG_SWP, LAG_NRM, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
index c4d82a4766..f3ccfb2ef7 100644
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
+++ b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// adjust to handle firmware debug + reset mode
[_adjust] = LAYOUT_all
(
- RESET, DEBUG, 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,
+ QK_BOOT, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/1upkeyboards/pi40/config.h b/keyboards/1upkeyboards/pi40/config.h
new file mode 100644
index 0000000000..5bda238430
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/config.h
@@ -0,0 +1,99 @@
+// Copyright 2022 ziptyze (@ziptyze)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 10
+
+#ifdef OLED_ENABLE
+# define OLED_DISPLAY_128X32
+#define I2C1_SCL_PIN GP17
+#define I2C1_SDA_PIN GP16
+#define I2C_DRIVER I2CD1
+#define OLED_BRIGHTNESS 128
+#define OLED_FONT_H "keyboards/1upkeyboards/pi40/lib/glcdfont.c"
+#endif
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { GP21, GP20, GP19, GP18 }
+#define MATRIX_COL_PINS { GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12 }
+
+#define ENCODERS_PAD_A { GP14 }
+#define ENCODERS_PAD_B { GP13 }
+
+#define RGB_DI_PIN GP0
+#define DRIVER_LED_TOTAL 47
+#define RGBLED_NUM 47
+# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGBLIGHT_LIMIT_VAL 150
+#ifdef RGB_MATRIX_ENABLE
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
+
+#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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/halconf.h b/keyboards/1upkeyboards/pi40/halconf.h
new file mode 100644
index 0000000000..39fbe3e88c
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/halconf.h
@@ -0,0 +1,7 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h> \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/info.json b/keyboards/1upkeyboards/pi40/info.json
new file mode 100644
index 0000000000..69f95e3be3
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/info.json
@@ -0,0 +1,115 @@
+{
+ "keyboard_name": "pi40",
+ "manufacturer": "1upkeyboards",
+ "usb": {
+ "vid": "0x6F75",
+ "pid": "0x5600",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [3, 6], "x": 11, "y": 0 },
+ { "matrix": [0, 0], "x": 0, "y": 1 },
+ { "matrix": [0, 1], "x": 1, "y": 1 },
+ { "matrix": [0, 2], "x": 2, "y": 1 },
+ { "matrix": [0, 3], "x": 3, "y": 1 },
+ { "matrix": [0, 4], "x": 4, "y": 1 },
+ { "matrix": [0, 5], "x": 5, "y": 1 },
+ { "matrix": [0, 6], "x": 6, "y": 1 },
+ { "matrix": [0, 7], "x": 7, "y": 1 },
+ { "matrix": [0, 8], "x": 8, "y": 1 },
+ { "matrix": [0, 9], "x": 9, "y": 1 },
+ { "matrix": [0, 10], "x": 10, "y": 1 },
+ { "matrix": [0, 11], "x": 11, "y": 1 },
+ { "matrix": [1, 0], "x": 0, "y": 2 },
+ { "matrix": [1, 1], "x": 1, "y": 2 },
+ { "matrix": [1, 2], "x": 2, "y": 2 },
+ { "matrix": [1, 3], "x": 3, "y": 2 },
+ { "matrix": [1, 4], "x": 4, "y": 2 },
+ { "matrix": [1, 5], "x": 5, "y": 2 },
+ { "matrix": [1, 6], "x": 6, "y": 2 },
+ { "matrix": [1, 7], "x": 7, "y": 2 },
+ { "matrix": [1, 8], "x": 8, "y": 2 },
+ { "matrix": [1, 9], "x": 9, "y": 2 },
+ { "matrix": [1, 10], "x": 10, "y": 2 },
+ { "matrix": [1, 11], "x": 11, "y": 2 },
+ { "matrix": [2, 0], "x": 0, "y": 3 },
+ { "matrix": [2, 1], "x": 1, "y": 3 },
+ { "matrix": [2, 2], "x": 2, "y": 3 },
+ { "matrix": [2, 3], "x": 3, "y": 3 },
+ { "matrix": [2, 4], "x": 4, "y": 3 },
+ { "matrix": [2, 5], "x": 5, "y": 3 },
+ { "matrix": [2, 6], "x": 6, "y": 3 },
+ { "matrix": [2, 7], "x": 7, "y": 3 },
+ { "matrix": [2, 8], "x": 8, "y": 3 },
+ { "matrix": [2, 9], "x": 9, "y": 3 },
+ { "matrix": [2, 10], "x": 10, "y": 3 },
+ { "matrix": [2, 11], "x": 11, "y": 3 },
+ { "matrix": [3, 0], "x": 0, "y": 4 },
+ { "matrix": [3, 1], "x": 1, "y": 4 },
+ { "matrix": [3, 2], "x": 2, "y": 4 },
+ { "matrix": [3, 3], "x": 3, "y": 4 },
+ { "matrix": [3, 4], "x": 4, "y": 4 },
+ { "matrix": [3, 5], "x": 5, "y": 4, "w": 2},
+ { "matrix": [3, 7], "x": 7, "y": 4 },
+ { "matrix": [3, 8], "x": 8, "y": 4 },
+ { "matrix": [3, 9], "x": 9, "y": 4 },
+ { "matrix": [3, 10], "x": 10, "y": 4 },
+ { "matrix": [3, 11], "x": 11, "y": 4 }
+ ]
+ },
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3, "label": "ENC" },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e417828f72
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
@@ -0,0 +1,124 @@
+/* Copyright 2022 ziptyze
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _ONE = 0,
+ _TWO,
+ _THREE,
+ _FOUR
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ╱⎺⎺⎺⎺╲
+ * |RGBTOG|
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_ONE] = LAYOUT (
+ RGB_TOG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, 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 ,
+ MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_TWO] = LAYOUT (
+ KC_MUTE,
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ /* Raise
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | Mute | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_THREE] = LAYOUT (
+ 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_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ /* Adjust (Lower + Raise)
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | Mute | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_FOUR] = LAYOUT (
+ KC_MUTE,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+ [_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
+};
+#endif
diff --git a/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk b/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk
new file mode 100644
index 0000000000..a40474b4d5
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
new file mode 100644
index 0000000000..48c201f0a3
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
@@ -0,0 +1,268 @@
+/* Copyright 2022 ziptyze
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _ONE = 0,
+ _TWO,
+ _THREE,
+ _FOUR,
+ _FIVE,
+ _SIX,
+ _SEVEN,
+ _EIGHT,
+ _NINE,
+ _TEN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ╱⎺⎺⎺⎺╲
+ * |RGBTOG|
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_ONE] = LAYOUT (
+ RGB_TOG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, 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 ,
+ MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Lower
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_TWO] = LAYOUT (
+ KC_MUTE,
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ /* Raise
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | Mute | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_THREE] = LAYOUT (
+ 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_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ /* Adjust (Lower + Raise)
+ * ╱⎺⎺⎺⎺╲
+ * | MUTE |
+ * v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | Mute | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_FOUR] = LAYOUT (
+ KC_MUTE,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_FIVE] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_SIX] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_SEVEN] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_EIGHT] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_NINE] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Placeholder
+ * ╱⎺⎺⎺⎺╲
+ * | |
+ * ╲⎽⎽⎽⎽╱
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_TEN] = LAYOUT (
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+ [_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FIVE] = { ENCODER_CCW_CW(_______, _______) },
+ [_SIX] = { ENCODER_CCW_CW(_______, _______) },
+ [_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
+ [_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
+ [_NINE] = { ENCODER_CCW_CW(_______, _______) },
+ [_TEN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
diff --git a/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
new file mode 100644
index 0000000000..bf70b1f3e0
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/lib/glcdfont.c b/keyboards/1upkeyboards/pi40/lib/glcdfont.c
new file mode 100644
index 0000000000..4b354756b6
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/lib/glcdfont.c
@@ -0,0 +1,231 @@
+// Copyright 2022 @filterpaper
+// SPDX-License-Identifier: GPL-2.0+
+
+#include "progmem.h"
+
+static const unsigned char PROGMEM font[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x18, 0x02,
+ 0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
+ 0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
+ 0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
+ 0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
+ 0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xD0, 0x58, 0x78,
+ 0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
+ 0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
+ 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
+ 0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
+ 0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+ 0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+ 0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
+ 0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
+ 0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
+ 0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
+ 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
+ 0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
+ 0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
+ 0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
+ 0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
+ 0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/keyboards/1upkeyboards/pi40/mcuconf.h b/keyboards/1upkeyboards/pi40/mcuconf.h
new file mode 100644
index 0000000000..df94cb0346
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/mcuconf.h
@@ -0,0 +1,10 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef RP_I2C_USE_I2C0
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C0 TRUE
+#define RP_I2C_USE_I2C1 FALSE \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/pi40.c b/keyboards/1upkeyboards/pi40/pi40.c
new file mode 100644
index 0000000000..8e2fc4c3d3
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/pi40.c
@@ -0,0 +1,312 @@
+/* Copyright 2022 ziptyze
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#ifdef OLED_ENABLE
+
+static uint32_t oled_logo_timer = 0;
+static bool clear_logo = true;
+static const char PROGMEM my_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
+ { 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 },
+ { 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 },
+ { 46, 45, 44, 43, 42, 41, NO_LED, 40, 39, 38, 37, 36 }
+}, {
+ // LED Index to Physical Position
+ { 9, 8 }, { 28, 8 }, { 46, 8 }, { 65, 8 }, { 84, 8 }, { 102, 8 }, { 121, 8 }, { 140, 8 }, { 159, 8 }, { 177, 8 }, { 196, 8 }, { 215, 8 },
+ { 215, 24 }, { 196, 24 }, { 177, 24 }, { 159, 24 }, { 140, 24 }, { 121, 24 }, { 102, 24 }, { 84, 24 }, { 65, 24 }, { 46, 24 }, { 28, 24 }, { 9, 24 },
+ { 9, 40 }, { 28, 40 }, { 46, 40 }, { 65, 40 }, { 84, 40 }, { 102, 40 }, { 121, 40 }, { 140, 40 }, { 159, 40 }, { 177, 40 }, { 196, 40 }, { 215, 40 },
+ { 215, 56 }, { 196, 56 }, { 177, 56 }, { 159, 56 }, { 140, 56 }, { 112, 56 }, { 84, 56 }, { 65, 56 }, { 46, 56 }, { 28, 56 }, { 9, 56 }
+}, {
+ // LED Index to Flag
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+} };
+#endif
+
+#ifdef OLED_ENABLE
+
+void init_timer(void){
+ oled_logo_timer = timer_read32();
+};
+
+void user_oled_magic(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("One\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Two\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Three\n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Four\n"), false);
+ break;
+ case 4:
+ oled_write_P(PSTR("Five\n"), false);
+ break;
+ case 5:
+ oled_write_P(PSTR("Six\n"), false);
+ break;
+ case 6:
+ oled_write_P(PSTR("Seven\n"), false);
+ break;
+ case 7:
+ oled_write_P(PSTR("Eight\n"), false);
+ break;
+ case 8:
+ oled_write_P(PSTR("Nine\n"), false);
+ break;
+ case 9:
+ oled_write_P(PSTR("Ten\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.caps_lock ? PSTR("Cap(x) ") : PSTR("Cap( ) "), false);
+ oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false);
+
+
+ switch (rgb_matrix_get_mode()) {
+ case 1:
+ oled_write_P(PSTR("Solid Color\n "), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Alphas Mods\n "), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Gradient Up Down\n "), false);
+ break;
+ case 4:
+ oled_write_P(PSTR("Gradient Left Right\n "), false);
+ break;
+ case 5:
+ oled_write_P(PSTR("Breathing\n "), false);
+ break;
+ case 6:
+ oled_write_P(PSTR("Band Sat\n "), false);
+ break;
+ case 7:
+ oled_write_P(PSTR("Band Val\n "), false);
+ break;
+ case 8:
+ oled_write_P(PSTR("Band Pinwheel Sat\n "), false);
+ break;
+ case 9:
+ oled_write_P(PSTR("Band Pinwheel Val\n "), false);
+ break;
+ case 10:
+ oled_write_P(PSTR("Band Spiral Sat\n "), false);
+ break;
+ case 11:
+ oled_write_P(PSTR("Band Spiral Val\n "), false);
+ break;
+ case 12:
+ oled_write_P(PSTR("Cycle All\n "), false);
+ break;
+ case 13:
+ oled_write_P(PSTR("Cycle Left Right\n "), false);
+ break;
+ case 14:
+ oled_write_P(PSTR("Cycle Up Down\n "), false);
+ break;
+ case 15:
+ oled_write_P(PSTR("Rainbow\nMoving Chevron "), false);
+ break;
+ case 16:
+ oled_write_P(PSTR("Cycle Out In\n "), false);
+ break;
+ case 17:
+ oled_write_P(PSTR("Cycle Out In Dual\n "), false);
+ break;
+ case 18:
+ oled_write_P(PSTR("Cycle Pinwheel\n "), false);
+ break;
+ case 19:
+ oled_write_P(PSTR("Cycle Spiral\n "), false);
+ break;
+ case 20:
+ oled_write_P(PSTR("Dual Beacon\n "), false);
+ break;
+ case 21:
+ oled_write_P(PSTR("Rainbow Beacon\n "), false);
+ break;
+ case 22:
+ oled_write_P(PSTR("Rainbow Pinwheels\n "), false);
+ break;
+ case 23:
+ oled_write_P(PSTR("Raindrops\n "), false);
+ break;
+ case 24:
+ oled_write_P(PSTR("Jellybean Raindrops\n "), false);
+ break;
+ case 25:
+ oled_write_P(PSTR("Hue Breathing\n "), false);
+ break;
+ case 26:
+ oled_write_P(PSTR("Hue Pendulum\n "), false);
+ break;
+ case 27:
+ oled_write_P(PSTR("Hue Wave\n "), false);
+ break;
+ case 28:
+ oled_write_P(PSTR("Pixel Rain\n "), false);
+ break;
+ case 29:
+ oled_write_P(PSTR("Pixel Flow\n "), false);
+ break;
+ case 30:
+ oled_write_P(PSTR("Pixel Fractal\n "), false);
+ break;
+ case 31:
+ oled_write_P(PSTR("Typing Heatmap\n "), false);
+ break;
+ case 32:
+ oled_write_P(PSTR("Digital Rain\n "), false);
+ break;
+ case 33:
+ oled_write_P(PSTR("Solid Reactive\nSimple "), false);
+ break;
+ case 34:
+ oled_write_P(PSTR("Solid Reactive\n "), false);
+ break;
+ case 35:
+ oled_write_P(PSTR("Solid Reactive\nWide "), false);
+ break;
+ case 36:
+ oled_write_P(PSTR("Solid Reactive\nMultiwide "), false);
+ break;
+ case 37:
+ oled_write_P(PSTR("Solid Reactive\nCross "), false);
+ break;
+ case 38:
+ oled_write_P(PSTR("Solid Reactive\nMulticross "), false);
+ break;
+ case 39:
+ oled_write_P(PSTR("Solid Reactive\nNexus "), false);
+ break;
+ case 40:
+ oled_write_P(PSTR("Solid Reactive\nMultinexus "), false);
+ break;
+ case 41:
+ oled_write_P(PSTR("Splash\n "), false);
+ break;
+ case 42:
+ oled_write_P(PSTR("Multisplash\n "), false);
+ break;
+ case 43:
+ oled_write_P(PSTR("Solid Splash\n "), false);
+ break;
+ case 44:
+ oled_write_P(PSTR("Solid Multisplash\n "), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined\n "), false);
+ }
+
+}
+
+void render_logo(void) {
+ oled_write_raw_P(my_logo, sizeof(my_logo));
+}
+
+void clear_screen(void) {
+ if (clear_logo){
+ for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
+ for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
+ oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
+ }
+ }
+ clear_logo = false;
+ }
+}
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+void keyboard_post_init_kb(void) {
+ init_timer();
+
+ keyboard_post_init_user();
+}
+
+# define SHOW_LOGO 5000
+bool oled_task_kb(void) {
+ if (!oled_task_user()) { return false; }
+ if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
+ render_logo();
+ }else{
+ clear_screen();
+ user_oled_magic();
+ }
+ return false;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/readme.md b/keyboards/1upkeyboards/pi40/readme.md
new file mode 100644
index 0000000000..95ddec4358
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/readme.md
@@ -0,0 +1,38 @@
+# pi40
+
+![pi40](https://i.imgur.com/ONVtaVZh.jpeg)
+
+The pi40 is a 4x12 ortholinear keyboard with a fixed 2u spacebar using a Raspberry Pi Pico for the controller.
+
+It includes options for a rotary encoder, SSD1306 oled, and per-key in-switch RGB LEDs.
+
+All unused GPIO pins are broken out on the main pcb, as well as the available voltage pins.
+
+This firmware also includes the option for VIA which includes configuration options for the rotary encoder, matrix lighting, and up to 10 layers.
+
+Default oled configuration displays:
+ - current layer
+ - caps lock status
+ - num lock status
+ - scroll lock status
+ - current RGB lighting mode
+
+* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
+* Hardware Availability: (https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/pi40-keyboard-kit/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 1upkeyboards/pi40:default
+
+Flashing example for this keyboard:
+
+ make 1upkeyboards/pi40:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
+* **BOOTSEL button**: Hold down the BOOTSEL button on the pico, and plug in the keyboard
diff --git a/keyboards/1upkeyboards/pi40/rules.mk b/keyboards/1upkeyboards/pi40/rules.mk
new file mode 100644
index 0000000000..ecf7a9ce3a
--- /dev/null
+++ b/keyboards/1upkeyboards/pi40/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = RP2040
+BOOTLOADER = rp2040
+BOARD = GENERIC_RP_RP2040
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+WS2812_DRIVER = vendor
+ENCODER_ENABLE = yes
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 \ No newline at end of file
diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
index fd11e13fe1..1a9344cbac 100644
--- a/keyboards/1upkeyboards/super16/config.h
+++ b/keyboards/1upkeyboards/super16/config.h
@@ -37,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D1, D0, F4, F5 }
#define MATRIX_COL_PINS \
{ D4, C6, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c
index e62f3b6095..1bfe4e9b2a 100644
--- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c
+++ b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[4] = LAYOUT_ortho_4x4(
KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU,
KC_NO, KC_NO, KC_NO, KC_MUTE,
- KC_NO, RESET, EEP_RST, KC_VOLD,
+ KC_NO, QK_BOOT, EEP_RST, KC_VOLD,
TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
),
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[5] = LAYOUT_ortho_4x4(
RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EEP_RST, RESET, KC_LSHIFT,
+ RGB_TOG, EEP_RST, QK_BOOT, KC_LSHIFT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
),
};
diff --git a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c
index 170d1ad8f1..3261058a9b 100644
--- a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c
+++ b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[4] = LAYOUT_ortho_4x4(
KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU,
RGB_TOG, RGB_MOD, RGB_RMOD, KC_MUTE,
- TO(0), RESET, EEP_RST, KC_VOLD,
+ TO(0), QK_BOOT, EEP_RST, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
),
};
diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h
index 9832c28bef..cea3c4edb6 100644
--- a/keyboards/1upkeyboards/super16v2/config.h
+++ b/keyboards/1upkeyboards/super16v2/config.h
@@ -42,7 +42,6 @@
#define ENCODERS_PAD_A { B1, B3 }
#define ENCODERS_PAD_B { B2, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c
index 86ea58e8a5..8888fe35e4 100644
--- a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c
+++ b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, RESET
+ KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
),
};
diff --git a/keyboards/1upkeyboards/super16v2/readme.md b/keyboards/1upkeyboards/super16v2/readme.md
index b2c0ca747b..f1b8cbaf5d 100644
--- a/keyboards/1upkeyboards/super16v2/readme.md
+++ b/keyboards/1upkeyboards/super16v2/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h
index f858685b8f..6463505000 100644
--- a/keyboards/1upkeyboards/sweet16/config.h
+++ b/keyboards/1upkeyboards/sweet16/config.h
@@ -2,11 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6F75 // OU
-#define MANUFACTURER 1up Keyboards
-#define PRODUCT Sweet16
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/1upkeyboards/sweet16/info.json b/keyboards/1upkeyboards/sweet16/info.json
index 7755c8efb0..320c96bac8 100644
--- a/keyboards/1upkeyboards/sweet16/info.json
+++ b/keyboards/1upkeyboards/sweet16/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Sweet 16",
+ "keyboard_name": "Sweet16",
+ "manufacturer": "1up Keyboards",
"url": "",
"maintainer": "skullydazed",
+ "usb": {
+ "vid": "0x6F75"
+ },
"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/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h
index c835440076..161b46c814 100644
--- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h
+++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h
@@ -3,6 +3,7 @@
/* tap dance stuff*/
#undef TAPPING_TERM
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
#define TAPPING_TOGGLE 2
@@ -12,4 +13,4 @@
#define EXAMPLESTRING4 "tapdance_4"
#undef RGBLED_NUM
-#define RGBLED_NUM 16 \ No newline at end of file
+#define RGBLED_NUM 16
diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
index 6b7b36cbb2..eeca552657 100644
--- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
+++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
@@ -196,7 +196,7 @@ void matrix_scan_user(void) {
}
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _TAPLAND:
rgblight_setrgb(0, 16, 0); //green
break;
diff --git a/keyboards/1upkeyboards/sweet16/v1/config.h b/keyboards/1upkeyboards/sweet16/v1/config.h
index 4020f4fdc0..a107a1899a 100644
--- a/keyboards/1upkeyboards/sweet16/v1/config.h
+++ b/keyboards/1upkeyboards/sweet16/v1/config.h
@@ -2,14 +2,9 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0161
-#define DEVICE_VER 0x0001
-
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/1upkeyboards/sweet16/v1/info.json b/keyboards/1upkeyboards/sweet16/v1/info.json
new file mode 100644
index 0000000000..11a0d97d89
--- /dev/null
+++ b/keyboards/1upkeyboards/sweet16/v1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x0161",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/config.h b/keyboards/1upkeyboards/sweet16/v2/promicro/config.h
index d344b0750d..8bacff2f6e 100644
--- a/keyboards/1upkeyboards/sweet16/v2/promicro/config.h
+++ b/keyboards/1upkeyboards/sweet16/v2/promicro/config.h
@@ -2,14 +2,9 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0162
-#define DEVICE_VER 0x0001
-
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, D1, E6, B5 }
#define MATRIX_COL_PINS { F7, F6, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/info.json b/keyboards/1upkeyboards/sweet16/v2/promicro/info.json
new file mode 100644
index 0000000000..bed6579e82
--- /dev/null
+++ b/keyboards/1upkeyboards/sweet16/v2/promicro/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x0162",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h b/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h
index 286af1857f..e1d66894b3 100644
--- a/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h
+++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h
@@ -2,14 +2,9 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0162
-#define DEVICE_VER 0x0001
-
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, B7, B2, B0 }
#define MATRIX_COL_PINS { B8, A0, A10, A9 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/info.json b/keyboards/1upkeyboards/sweet16/v2/proton_c/info.json
new file mode 100644
index 0000000000..bed6579e82
--- /dev/null
+++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x0162",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/25keys/aleth42/info.json b/keyboards/25keys/aleth42/info.json
index 5a8b564685..7a71d2b367 100644
--- a/keyboards/25keys/aleth42/info.json
+++ b/keyboards/25keys/aleth42/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "aleth42",
+ "keyboard_name": "ALETH42",
+ "manufacturer": "25KEYS",
"url": "http://www.sho-k.co.uk/tech/aleth42",
"maintainer": "monksoffunk",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAC8"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h
index 8424b2edc3..c177990e99 100644
--- a/keyboards/25keys/aleth42/rev0/config.h
+++ b/keyboards/25keys/aleth42/rev0/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAC8
-#define DEVICE_VER 0x0000
-#define MANUFACTURER 25KEYS
-#define PRODUCT ALETH42
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, C2, C4, C5, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/info.json
new file mode 100644
index 0000000000..5baab67dba
--- /dev/null
+++ b/keyboards/25keys/aleth42/rev0/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.0"
+ }
+}
diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h
index 38c74c6bf1..14b5588ab4 100644
--- a/keyboards/25keys/aleth42/rev1/config.h
+++ b/keyboards/25keys/aleth42/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAC8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 25KEYS
-#define PRODUCT ALETH42
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B0, B2, B1 }
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, D6, D4, F7, F0, F1, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/25keys/aleth42/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h
index 71621695f4..44c17ea85a 100644
--- a/keyboards/25keys/cassette42/config.h
+++ b/keyboards/25keys/cassette42/config.h
@@ -24,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 6
#define DIRECT_PINS {{ B4, F6, F5, F4, B5, F7 }}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B6, B3 }
#define ENCODERS_PAD_B { B2, B1 }
diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json
index 8064e94e2f..3d9c898841 100644
--- a/keyboards/25keys/zinc/info.json
+++ b/keyboards/25keys/zinc/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "Zinc",
- "url": "https://github.com/monksoffunk/",
+ "manufacturer": "25KEYS",
+ "url": "https://github.com/monksoffunk/zinc",
"maintainer": "monksoffunk",
- "layouts": {
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA3B",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
"LAYOUT": {
"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":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "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":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}]
}
diff --git a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
index 323d2c7d44..93dfc590e9 100644
--- a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c
@@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, \
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, \
AQOURS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS,\
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, EISU, EISU, EISU, KANA, KANA, KC_HOME, KC_PGDN, KC_PGUP, KC_END\
diff --git a/keyboards/25keys/zinc/keymaps/monks/keymap.c b/keyboards/25keys/zinc/keymaps/monks/keymap.c
index a30e8ac5fc..8670a58efb 100644
--- a/keyboards/25keys/zinc/keymaps/monks/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/monks/keymap.c
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS,\
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,\
_______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END\
diff --git a/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c b/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c
index 72c3fee6f3..122ecd3611 100644
--- a/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, RCMD(RALT(KC_O)), RCMD(RALT(KC_L)), _______,
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
_______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_RGUI, _______, _______, _______, _______
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_4x12(
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX,
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LANG1, KC_LANG2,
+ KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LANG1, KC_LANG2,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KANA
),
};
diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h
index 43af843a0b..1b2ae25cd8 100644
--- a/keyboards/25keys/zinc/rev1/config.h
+++ b/keyboards/25keys/zinc/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA3B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 25KEYS
-#define PRODUCT zinc rev.1
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/25keys/zinc/rev1/info.json b/keyboards/25keys/zinc/rev1/info.json
index 1ed5f9130a..5233dcb04e 100644
--- a/keyboards/25keys/zinc/rev1/info.json
+++ b/keyboards/25keys/zinc/rev1/info.json
@@ -1,10 +1,3 @@
{
- "keyboard_name": "Zinc rev.1",
- "url": "https://github.com/monksoffunk/zinc",
- "maintainer": "monksoffunk",
- "layouts": {
- "LAYOUT": {
- "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":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "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":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}]
- }
- }
+ "keyboard_name": "Zinc rev.1"
}
diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h
index 428c704d19..f740f4d011 100644
--- a/keyboards/25keys/zinc/reva/config.h
+++ b/keyboards/25keys/zinc/reva/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA3B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 25KEYS
-#define PRODUCT zinc rev.A
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/25keys/zinc/reva/info.json b/keyboards/25keys/zinc/reva/info.json
index de1d2933ec..79c4795bb3 100644
--- a/keyboards/25keys/zinc/reva/info.json
+++ b/keyboards/25keys/zinc/reva/info.json
@@ -1,10 +1,3 @@
{
- "keyboard_name": "Zinc rev.A",
- "url": "https://github.com/monksoffunk/zinc",
- "maintainer": "monksoffunk",
- "layouts": {
- "LAYOUT": {
- "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":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "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":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}]
- }
- }
+ "keyboard_name": "Zinc rev.A"
}
diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h
index f6fc6f8c1e..4a0d7eb013 100644
--- a/keyboards/2key2crawl/config.h
+++ b/keyboards/2key2crawl/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C4, C5 }
#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7, B2 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D0 }
diff --git a/keyboards/30wer/config.h b/keyboards/30wer/config.h
index 65a54cba4a..3dcd4d0302 100644
--- a/keyboards/30wer/config.h
+++ b/keyboards/30wer/config.h
@@ -9,7 +9,6 @@
/* pcb default pin-out */
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D1, D0, D4, C6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h
index 80e864ce9d..5ccd3f1cd5 100644
--- a/keyboards/3keyecosystem/2key2/config.h
+++ b/keyboards/3keyecosystem/2key2/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F6 }
#define MATRIX_COL_PINS { F4, D7 }
-#define UNUSED_PINS
// LED on kbmount base board is on B7
#define LED_CAPS_LOCK_PIN B7 // onboard LED for testing
diff --git a/keyboards/3w6/info.json b/keyboards/3w6/info.json
index ab463bc60c..d76688bfc1 100644
--- a/keyboards/3w6/info.json
+++ b/keyboards/3w6/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "3w6",
+ "manufacturer": "weteor",
"url": "https://github.com/weteor/3W6/",
"maintainer": "weteor",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4658"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/3w6/rev1/config.h b/keyboards/3w6/rev1/config.h
index 0c14dc72d3..c9b8f8b58e 100644
--- a/keyboards/3w6/rev1/config.h
+++ b/keyboards/3w6/rev1/config.h
@@ -17,14 +17,6 @@ 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 0x4658
-#define DEVICE_VER 0x0001
-#define MANUFACTURER weteor
-#define PRODUCT 3w6
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
@@ -44,11 +36,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS_L { B0, B1, B2, B4}
#define MATRIX_COL_PINS_L { B3, E6, F7, B6, B5 }
-#define UNUSED_PINS_L { B7, C6, C7, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6 }
#define MATRIX_ROW_PINS_R { P10, P11, P12, P05 }
#define MATRIX_COL_PINS_R { P06, P13, P14, P01, P00 }
-#define UNUSED_PINS_R { P02, P03, P04, P07, P15, P16, P17 }
/* COL2ROW, ROW2COL */
diff --git a/keyboards/3w6/rev1/info.json b/keyboards/3w6/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/3w6/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/3w6/rev2/config.h b/keyboards/3w6/rev2/config.h
index 4101aa76cd..c9b8f8b58e 100644
--- a/keyboards/3w6/rev2/config.h
+++ b/keyboards/3w6/rev2/config.h
@@ -17,14 +17,6 @@ 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 0x4658
-#define DEVICE_VER 0x0002
-#define MANUFACTURER weteor
-#define PRODUCT 3w6
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
@@ -44,11 +36,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS_L { B0, B1, B2, B4}
#define MATRIX_COL_PINS_L { B3, E6, F7, B6, B5 }
-#define UNUSED_PINS_L { B7, C6, C7, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6 }
#define MATRIX_ROW_PINS_R { P10, P11, P12, P05 }
#define MATRIX_COL_PINS_R { P06, P13, P14, P01, P00 }
-#define UNUSED_PINS_R { P02, P03, P04, P07, P15, P16, P17 }
/* COL2ROW, ROW2COL */
diff --git a/keyboards/3w6/rev2/info.json b/keyboards/3w6/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/3w6/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
index c753f7c29f..9027cdac5f 100644
--- a/keyboards/40percentclub/25/config.h
+++ b/keyboards/40percentclub/25/config.h
@@ -44,7 +44,6 @@
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h
index 943b918d56..67a21d3c97 100644
--- a/keyboards/40percentclub/4pack/config.h
+++ b/keyboards/40percentclub/4pack/config.h
@@ -38,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ E6, D7, C6, D4 } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h
index 44628ac741..4744d61dbf 100644
--- a/keyboards/40percentclub/4x4/config.h
+++ b/keyboards/40percentclub/4x4/config.h
@@ -20,7 +20,6 @@
*/
#define MATRIX_ROW_PINS { B2, D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B7, D6, F7, F6, F5, F4, F1, F0, B3, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h
index 460f5ba93d..60a5122830 100644
--- a/keyboards/40percentclub/5x5/config.h
+++ b/keyboards/40percentclub/5x5/config.h
@@ -20,7 +20,6 @@
*/
#define MATRIX_ROW_PINS { B2, D1, D0, D4, C6 }
#define MATRIX_COL_PINS { D7, E6, B4, B5, B6, B7, D6, F7, F6, F5, F4, F1, F0, B3, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h
index 302decc162..c886eb48da 100644
--- a/keyboards/40percentclub/6lit/config.h
+++ b/keyboards/40percentclub/6lit/config.h
@@ -45,7 +45,6 @@
*/
#define MATRIX_ROW_PINS { D7, E6 }
#define MATRIX_COL_PINS { F6, F7, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h
index afc50acb7e..d507a2c445 100644
--- a/keyboards/40percentclub/foobar/config.h
+++ b/keyboards/40percentclub/foobar/config.h
@@ -45,7 +45,6 @@
*/
#define MATRIX_ROW_PINS { D7, E6, B4 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/gherkin/config.h b/keyboards/40percentclub/gherkin/config.h
index e7062990cb..db81033f9b 100644
--- a/keyboards/40percentclub/gherkin/config.h
+++ b/keyboards/40percentclub/gherkin/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/README.md b/keyboards/40percentclub/gherkin/keymaps/bbaserdem/README.md
deleted file mode 100644
index 3c9a5e98b3..0000000000
--- a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Gherkin Layout
-This is my gherkin layout.
-It is used as a game pad, and key layout is inspired by spare keys I had lying around.
-The firmware is very simple, and only includes one layer keymap, and RGB effects.
-
-# Flashing
-The following command should be used from the main qmk directory.
-```
-make gherkin:bbaserdem
-sudo avrdude -p atmgea34u4 -P `ls /dev/ttyACM*` -c avr109 -U flash:.build/gherkin_bbaserdem.hex
-```
diff --git a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/config.h b/keyboards/40percentclub/gherkin/keymaps/bbaserdem/config.h
deleted file mode 100644
index 5c9ca52d75..0000000000
--- a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-
-#define RGB_DI_PIN F6
-#define RGBLED_NUM 10
-#define RGBLIGHT_ANIMATIONS
-#ifdef BACKLIGHT_LEVELS
-#undef BACKLIGHT_LEVELS
-#endif
-#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/keymap.c b/keyboards/40percentclub/gherkin/keymaps/bbaserdem/keymap.c
deleted file mode 100644
index 0d3c8557c5..0000000000
--- a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// This is a game-pad gherkin layout with RGB and LED lights
-
-#include QMK_KEYBOARD_H
-
-backlight_config_t backlight_config;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Game pad
- * ,-----------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | Ctl | Alt | ~ |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | Tab | Q | W | E | R | T | |^| | ; | ' | / |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | Shf | A | S | D | F | <-- | |v| | --> | , | . |
- * `-----------------------------------------------------------'
- */
- LAYOUT_ortho_3x10(
- KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_LCTRL, KC_LALT, KC_GRAVE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP, KC_SCLN, KC_QUOTE, KC_SLASH,
- KC_LSHIFT, KC_A, KC_S, KC_D, KC_F, KC_LEFT, KC_DOWN, KC_RIGHT, KC_COMMA, KC_DOT
- )
-};
-
-void matrix_init_user(void) {
- // Set LED's to max
- _delay_us(300);
- backlight_config.level = 2;
- backlight_config.enable = 1;
- eeconfig_update_backlight(backlight_config.raw);
- backlight_set(backlight_config.level);
- // Set RGB to rainbow mood light
- rgblight_enable();
- rgblight_mode(1);
- rgblight_sethsv(120,255,255);
- rgblight_mode(6);
-}
diff --git a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/rules.mk b/keyboards/40percentclub/gherkin/keymaps/bbaserdem/rules.mk
deleted file mode 100644
index 07a20a4217..0000000000
--- a/keyboards/40percentclub/gherkin/keymaps/bbaserdem/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-USER_NAME := bbaserdem-nouserspace
-
-STENO_ENABLE = no # Additional protocols for Stenography(+1700), requires VIRTSER
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-AUDIO_ENABLE = no # Enable audio output from keyboard
-
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-RGBLIGHT_ENABLE = yes # Enable RBG light strips
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
diff --git a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
index 950b6e86b9..32c074c88f 100644
--- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c
@@ -105,7 +105,7 @@ void matrix_scan_user(void) {
#ifdef RGBLIGHT_ENABLE
static uint8_t old_layer = 255;
- uint8_t new_layer = biton32(layer_state);
+ uint8_t new_layer = get_highest_layer(layer_state);
// Color of the Icons.
if (old_layer != new_layer) {
diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c b/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c
index 965652441a..b4e8572f79 100644
--- a/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MENU] = LAYOUT_ortho_3x10(
IONIAN, LYDIAN, LOCRIAN, _______, _______, _______, _______, _______, _______, _______,
DORIAN, MIXOLYDIAN, _______, _______, _______, _______, _______, _______, _______, _______,
- PHRYGIAN, AEOLIAN, _______, _______, _______, _______, _______, _______, RESET, _______
+ PHRYGIAN, AEOLIAN, _______, _______, _______, _______, _______, _______, QK_BOOT, _______
)
};
diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
index 2fd4c2a461..3a9e4d51fa 100644
--- a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
EXT_PLV, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJUST] = LAYOUT_ortho_3x10(
- RESET, _______, _______, _______, _______, QWERTY, NUMBERS, SYMBOLS, PLOVER, SONGS,
+ QK_BOOT, _______, _______, _______, _______, QWERTY, NUMBERS, SYMBOLS, PLOVER, SONGS,
MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, MACSLEEP, _______,
BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json b/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json
index 073eb568f0..21c84488dc 100644
--- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json
+++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json
@@ -1 +1 @@
-{"version":1,"notes":"My awesome keymap","documentation":"\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"40percentclub/gherkin","keymap":"pierrec83","layout":"LAYOUT_ortho_3x10","layers":[["KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_BSPC","LSFT_T(KC_A)","LT(5,KC_S)","LT(1,KC_H)","LT(3,KC_T)","KC_G","KC_Y","LT(4,KC_N)","LT(2,KC_E)","LT(6,KC_O)","LSFT_T(KC_I)","KC_Z","KC_X","KC_M","KC_C","KC_V","LT(7,KC_SPC)","KC_L","LALT_T(KC_COMM)","LCTL_T(KC_DOT)","KC_K"],["KC_TRNS","ANY(LCTL(LSFT(KC_C)))","KC_PGUP","ANY(LCTL(LSFT(KC_V)))","KC_TRNS","KC_TRNS","KC_BTN1","KC_WH_U","KC_BTN2","KC_TRNS","KC_TRNS","KC_BTN2","KC_NO","KC_BTN1","KC_TRNS","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_U","KC_MS_R","KC_TRNS","KC_TRNS","KC_PGDN","KC_TRNS","KC_TRNS","KC_TRNS","KC_MPRV","KC_WH_D","KC_MNXT","TG(1)"],["KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","BL_BRTG","BL_INC","KC_WH_U","KC_TRNS","KC_TRNS","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_TRNS","BL_TOGG","KC_LGUI","KC_NO","LCTL(KC_LALT)","LCA(KC_LSFT)","KC_TRNS","KC_HOME","KC_PGDN","KC_END","KC_TRNS","BL_STEP","BL_DEC","KC_WH_D","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UNDS","KC_PIPE","KC_QUOT","KC_TRNS","KC_CIRC","KC_ASTR","KC_AMPR","KC_NO","KC_TRNS","KC_HASH","KC_TILD","KC_SLSH","KC_DQUO","KC_DLR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MINS","KC_BSLS","KC_GRV","KC_TRNS"],["KC_TRNS","KC_COLN","KC_LT","KC_GT","KC_SCLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_LPRN","KC_RPRN","KC_AT","KC_TRNS","KC_NO","KC_EQL","KC_PLUS","KC_PERC","KC_TRNS","KC_EXLM","KC_LBRC","KC_RBRC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F7","KC_F8","KC_F9","KC_F10","KC_LCTL","KC_NO","KC_LALT","LCTL(KC_LALT)","KC_TRNS","KC_TRNS","KC_F4","KC_F5","KC_F6","KC_F11","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F12"],["KC_PSLS","KC_7","KC_8","KC_9","KC_PPLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_0","KC_4","KC_5","KC_6","KC_PMNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_PAST","KC_1","KC_2","KC_3","KC_PEQL","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["LT(8,KC_TRNS)","KC_ESC","KC_COLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_PERC","KC_SLSH","KC_ENT","KC_EXLM","KC_TRNS","KC_LGUI","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_TRNS","RALT(KC_TRNS)","RCTL(KC_TRNS)","TG(1)"],["KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","EEP_RST","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","RESET","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Anonymous"} \ No newline at end of file
+{"version":1,"notes":"My awesome keymap","documentation":"\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"40percentclub/gherkin","keymap":"pierrec83","layout":"LAYOUT_ortho_3x10","layers":[["KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_BSPC","LSFT_T(KC_A)","LT(5,KC_S)","LT(1,KC_H)","LT(3,KC_T)","KC_G","KC_Y","LT(4,KC_N)","LT(2,KC_E)","LT(6,KC_O)","LSFT_T(KC_I)","KC_Z","KC_X","KC_M","KC_C","KC_V","LT(7,KC_SPC)","KC_L","LALT_T(KC_COMM)","LCTL_T(KC_DOT)","KC_K"],["KC_TRNS","ANY(LCTL(LSFT(KC_C)))","KC_PGUP","ANY(LCTL(LSFT(KC_V)))","KC_TRNS","KC_TRNS","KC_BTN1","KC_WH_U","KC_BTN2","KC_TRNS","KC_TRNS","KC_BTN2","KC_NO","KC_BTN1","KC_TRNS","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_U","KC_MS_R","KC_TRNS","KC_TRNS","KC_PGDN","KC_TRNS","KC_TRNS","KC_TRNS","KC_MPRV","KC_WH_D","KC_MNXT","TG(1)"],["KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","BL_BRTG","BL_INC","KC_WH_U","KC_TRNS","KC_TRNS","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_TRNS","BL_TOGG","KC_LGUI","KC_NO","LCTL(KC_LALT)","LCA(KC_LSFT)","KC_TRNS","KC_HOME","KC_PGDN","KC_END","KC_TRNS","BL_STEP","BL_DEC","KC_WH_D","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UNDS","KC_PIPE","KC_QUOT","KC_TRNS","KC_CIRC","KC_ASTR","KC_AMPR","KC_NO","KC_TRNS","KC_HASH","KC_TILD","KC_SLSH","KC_DQUO","KC_DLR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MINS","KC_BSLS","KC_GRV","KC_TRNS"],["KC_TRNS","KC_COLN","KC_LT","KC_GT","KC_SCLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_LPRN","KC_RPRN","KC_AT","KC_TRNS","KC_NO","KC_EQL","KC_PLUS","KC_PERC","KC_TRNS","KC_EXLM","KC_LBRC","KC_RBRC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F7","KC_F8","KC_F9","KC_F10","KC_LCTL","KC_NO","KC_LALT","LCTL(KC_LALT)","KC_TRNS","KC_TRNS","KC_F4","KC_F5","KC_F6","KC_F11","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F12"],["KC_PSLS","KC_7","KC_8","KC_9","KC_PPLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_0","KC_4","KC_5","KC_6","KC_PMNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_PAST","KC_1","KC_2","KC_3","KC_PEQL","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["LT(8,KC_TRNS)","KC_ESC","KC_COLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_PERC","KC_SLSH","KC_ENT","KC_EXLM","KC_TRNS","KC_LGUI","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_TRNS","RALT(KC_TRNS)","RCTL(KC_TRNS)","TG(1)"],["KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","EEP_RST","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","QK_BOOT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Anonymous"} \ No newline at end of file
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
index c708babf16..d837be8ba1 100644
--- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
@@ -39,8 +39,6 @@
// how long before oneshot times out
#define ONESHOT_TAP_TOGGLE 2
// how many taps before oneshot toggle is triggered
- #define QMK_KEYS_PER_SCAN 4
- // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
#define COMBO_COUNT 2
// Set this to the number of combos that you're using in the Combo feature.
#define COMBO_TERM 200
diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
index 2c3e872265..111264c378 100644
--- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_3x10(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ST_BOLT, ST_GEM, TG_PLV,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT
),
};
diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h
index 2ed218199f..f47788ce87 100644
--- a/keyboards/40percentclub/half_n_half/config.h
+++ b/keyboards/40percentclub/half_n_half/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
index 2eef3dc48b..b7c31f9bd7 100644
--- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
+++ b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------' `-------------'
*/
[_RAISE] = LAYOUT(/* Arrows, Shifted Numbers, Symbols, Delete, Macros */
- RESET, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, PRVWIN, CLSTAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, PRVWIN, CLSTAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_GRV, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, NEWTAB, ALTF4, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
KC_TRNS, KC_TRNS
@@ -128,10 +128,10 @@ void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data)
layer_off(_RAISE);
break;
case 3:
- if (biton32(default_layer_state) == _DVORAK) {
+ if (get_highest_layer(default_layer_state) == _DVORAK) {
set_single_persistent_default_layer(_QWERTY);
}
- else if (biton32(default_layer_state) == _QWERTY) {
+ else if (get_highest_layer(default_layer_state) == _QWERTY) {
set_single_persistent_default_layer(_DVORAK);
}
break;
diff --git a/keyboards/40percentclub/i75/promicro/config.h b/keyboards/40percentclub/i75/promicro/config.h
index d4cd997736..971f626cc8 100644
--- a/keyboards/40percentclub/i75/promicro/config.h
+++ b/keyboards/40percentclub/i75/promicro/config.h
@@ -34,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B4, E6, D7, C6, D4, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/i75/teensy2/config.h b/keyboards/40percentclub/i75/teensy2/config.h
index bcf9b1b888..77ef177f0d 100644
--- a/keyboards/40percentclub/i75/teensy2/config.h
+++ b/keyboards/40percentclub/i75/teensy2/config.h
@@ -34,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, B7, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { C6, C7, D6, D7, B5, B6, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h
index 3924841b04..9ea825e7d7 100644
--- a/keyboards/40percentclub/luddite/config.h
+++ b/keyboards/40percentclub/luddite/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h
index 404cd6f7d3..6853462585 100644
--- a/keyboards/40percentclub/mf68/config.h
+++ b/keyboards/40percentclub/mf68/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk b/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk
index 5ac2ce5ccb..3d056cb71b 100644
--- a/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk
+++ b/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk
@@ -1,6 +1,5 @@
BACKLIGHT_DRIVER = custom
NKRO_ENABLE = yes
-TERMINAL_ENABLE = yes
DYNAMIC_MACRO_ENABLE = yes
# Use RAM (fake EEPROM, transient) instead of real EEPROM
diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h b/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
index bc5de30f2f..caaafa67c6 100644
--- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
+++ b/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h
@@ -33,7 +33,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
-#undef UNUSED_PINS
#define MATRIX_ROW_PINS { D1, D0, C6, D7, B5, B6, B7, D6 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, D2, D3 }
-#define UNUSED_PINS {B5}
diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h
index 7d789cff04..e71f91a030 100644
--- a/keyboards/40percentclub/nano/config.h
+++ b/keyboards/40percentclub/nano/config.h
@@ -40,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F4, F5, F6, F7 }, \
{ D1, D0, D4, C6 }, \
}
-#define UNUSED_PINS
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h
index 53c227d832..48f7f949fb 100644
--- a/keyboards/40percentclub/nein/config.h
+++ b/keyboards/40percentclub/nein/config.h
@@ -28,7 +28,6 @@
{ F7, B1, B3 }, \
{ B2, B6, B5 } \
}
-#define UNUSED_PINS
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h
index bf0507716f..01d4f9b537 100644
--- a/keyboards/40percentclub/nori/config.h
+++ b/keyboards/40percentclub/nori/config.h
@@ -34,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D4, C6, D7, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/nori/keymaps/default/keymap.c b/keyboards/40percentclub/nori/keymaps/default/keymap.c
index 25d5c89af3..f7760a268f 100644
--- a/keyboards/40percentclub/nori/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/nori/keymaps/default/keymap.c
@@ -4,12 +4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c b/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c
index 7d9d516590..40d59ecf76 100644
--- a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c
+++ b/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
- * |PntSrn| | | PgUp |BrtUp | | | Mute |VolDw |VolUp |Ply/Ps|RESET |
+ * |PntSrn| | | PgUp |BrtUp | | | Mute |VolDw |VolUp |Ply/Ps|QK_BOOT |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | PgDw |BrtDw | | | Left | Down | Up |Right | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- KC_PSCR, XXXXXXX, XXXXXXX, KC_PGUP, KC_BRIU, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, RESET,
+ KC_PSCR, XXXXXXX, XXXXXXX, KC_PGUP, KC_BRIU, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_BRID, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MNXT, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/40percentclub/polyandry/promicro/config.h b/keyboards/40percentclub/polyandry/promicro/config.h
index e6f8643c44..f1bd8adc76 100644
--- a/keyboards/40percentclub/polyandry/promicro/config.h
+++ b/keyboards/40percentclub/polyandry/promicro/config.h
@@ -28,7 +28,6 @@
*/
#define MATRIX_ROW_PINS { D7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, E6, B4, F4, F5, F6, F7, B3, B2 }
-#define UNUSED_PINS
/* doesn't really matter lol */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/polyandry/readme.md b/keyboards/40percentclub/polyandry/readme.md
index b6acf3cd7f..6162bea7a3 100644
--- a/keyboards/40percentclub/polyandry/readme.md
+++ b/keyboards/40percentclub/polyandry/readme.md
@@ -48,6 +48,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key of the keyboard (top right or bottom left in horizontal configuration)
* **Physical reset**: Briefly press the button on the bottom of the microcontroller or, if not present short the pin marked RST to a GND.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/40percentclub/polyandry/teensy2/config.h b/keyboards/40percentclub/polyandry/teensy2/config.h
index d730ce6f94..6d6ba19489 100644
--- a/keyboards/40percentclub/polyandry/teensy2/config.h
+++ b/keyboards/40percentclub/polyandry/teensy2/config.h
@@ -30,7 +30,6 @@
#define MATRIX_ROW_PINS { D3 }
#define MATRIX_COL_PINS { B7, D0, D1, D2, C6, C7, F6, F7, B6, B5, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/sixpack/config.h b/keyboards/40percentclub/sixpack/config.h
index 4ddad2efb7..9a03bc7974 100644
--- a/keyboards/40percentclub/sixpack/config.h
+++ b/keyboards/40percentclub/sixpack/config.h
@@ -37,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D4, C6, D7 }, \
{ E6, B4, B5 } \
}
-#define UNUSED_PINS { D1, D0, C4, C5, B1, B2, B3 } // TX, RX, SDA, SCL, PB1, PB2, PB3 on expansion connector
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h
index b6534622ea..a29f22834e 100644
--- a/keyboards/40percentclub/tomato/config.h
+++ b/keyboards/40percentclub/tomato/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h
index 3724e4b2d5..04742e93e0 100644
--- a/keyboards/40percentclub/ut47/config.h
+++ b/keyboards/40percentclub/ut47/config.h
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
index 5e79cdb9a4..64bc4506da 100644
--- a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
+++ b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
@@ -96,7 +96,7 @@ LAYOUT( /* Left modifier - L2 */
* |-------------------------------------------------------------------------+
* | | | | | | | |VolDn|VolUp| | | |
* |-------------------------------------------------------------------------+
- * | |LEDtg|LEDch| | |RESET| | Mute| |MouB1|MousU|MouB2|
+ * | |LEDtg|LEDch| | |QK_BOOT| | Mute| |MouB1|MousU|MouB2|
* |-------------------------------------------------------------------------+
* | | | | | | | | |MousL|MousD|MousR|
* `-------------------------------------------------------------------------'
@@ -105,7 +105,7 @@ LAYOUT( /* Left modifier - L2 */
LAYOUT( /* Hold Tab down - L3 */
KC_ESC, KC_CALC, KC_WHOM, KC_MYCM, KC_WREF, _______, _______, _______, _______, _______, KC_PSCR, CTRADEL,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______,
- _______, LED_TOG, LED_CHG, _______, _______, RESET, _______, KC_MUTE, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2,
+ _______, LED_TOG, LED_CHG, _______, _______, QK_BOOT, _______, KC_MUTE, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
),
diff --git a/keyboards/45_ats/config.h b/keyboards/45_ats/config.h
index 8177f89038..762abd0fce 100644
--- a/keyboards/45_ats/config.h
+++ b/keyboards/45_ats/config.h
@@ -30,7 +30,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D5, D7, D6 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, F6, F5, F4, C7, F7, C6, B6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/4by3/config.h b/keyboards/4by3/config.h
index 27ad7441cc..be28796d1f 100644
--- a/keyboards/4by3/config.h
+++ b/keyboards/4by3/config.h
@@ -9,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/4pplet/aekiso60/rev_a/config.h b/keyboards/4pplet/aekiso60/rev_a/config.h
index 3100a20fea..ed14a11435 100644
--- a/keyboards/4pplet/aekiso60/rev_a/config.h
+++ b/keyboards/4pplet/aekiso60/rev_a/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT AEKISO60 Rev A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json
index 7f2e2be78a..f838933c08 100644
--- a/keyboards/4pplet/aekiso60/rev_a/info.json
+++ b/keyboards/4pplet/aekiso60/rev_a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AEKISO60 Rev A",
+ "manufacturer": "4pplet",
"url": "",
"maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/4pplet/bootleg/info.json b/keyboards/4pplet/bootleg/info.json
deleted file mode 100644
index 9719b07150..0000000000
--- a/keyboards/4pplet/bootleg/info.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "keyboard_name": "bootleg Rev A",
- "url": "https://github.com/4pplet/bootlegs",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "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": "|", "x": 13, "y": 0 },
- { "label": "~", "x": 14, "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": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
- { "label": "Caps Lock", "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": 1.25 },
- { "label": "|", "x": 1.25, "y": 3 },
- { "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": "Fn", "x": 14, "y": 3, "w": 1 },
- { "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 },
- { "label": "Space1", "x": 3.75, "y": 4, "w": 2.25 },
- { "label": "Space2", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space3", "x": 7.25, "y": 4, "w": 2.75 },
- { "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
- { "label": "Menu", "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/4pplet/bootleg/rev_a/config.h b/keyboards/4pplet/bootleg/rev_a/config.h
index 4d3122afd2..1fb06d5bf6 100644
--- a/keyboards/4pplet/bootleg/rev_a/config.h
+++ b/keyboards/4pplet/bootleg/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT bootleg Rev A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/4pplet/bootleg/rev_a/info.json b/keyboards/4pplet/bootleg/rev_a/info.json
new file mode 100644
index 0000000000..007ba9fef4
--- /dev/null
+++ b/keyboards/4pplet/bootleg/rev_a/info.json
@@ -0,0 +1,83 @@
+{
+ "keyboard_name": "bootleg Rev A",
+ "manufacturer": "4pplet",
+ "url": "https://github.com/4pplet/bootlegs",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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": "|", "x": 13, "y": 0 },
+ { "label": "~", "x": 14, "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": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "Caps Lock", "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": 1.25 },
+ { "label": "|", "x": 1.25, "y": 3 },
+ { "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": "Fn", "x": 14, "y": 3, "w": 1 },
+ { "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 },
+ { "label": "Space1", "x": 3.75, "y": 4, "w": 2.25 },
+ { "label": "Space2", "x": 6, "y": 4, "w": 1.25 },
+ { "label": "Space3", "x": 7.25, "y": 4, "w": 2.75 },
+ { "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
+ { "label": "Menu", "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/4pplet/eagle_viper_rep/info.json b/keyboards/4pplet/eagle_viper_rep/info.json
deleted file mode 100644
index 26d3d45893..0000000000
--- a/keyboards/4pplet/eagle_viper_rep/info.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "keyboard_name": "Eagle/Viper Rep",
- "url": "https://github.com/4pplet/eagle_viper_rep",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "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": "|", "x": 13, "y": 0 },
- { "label": "~", "x": 14, "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": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
- { "label": "Caps Lock", "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": "~", "x": 12.75, "y": 2},
- { "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 },
- { "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
- { "label": "|", "x": 1.25, "y": 3 },
- { "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": "Fn", "x": 14, "y": 3, "w": 1 },
- { "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 },
- { "label": "Space", "x": 3.75, "y": 4, "w": 6.25 },
- { "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
- { "label": "Menu", "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/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
index 4edb4754e9..951c943f1d 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Eagle Viper REP Rev A
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
new file mode 100644
index 0000000000..110e1cce92
--- /dev/null
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
@@ -0,0 +1,82 @@
+{
+ "keyboard_name": "Eagle Viper REP Rev A",
+ "manufacturer": "4pplet",
+ "url": "https://github.com/4pplet/eagle_viper_rep",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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": "|", "x": 13, "y": 0 },
+ { "label": "~", "x": 14, "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": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "Caps Lock", "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": "~", "x": 12.75, "y": 2},
+ { "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 },
+ { "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
+ { "label": "|", "x": 1.25, "y": 3 },
+ { "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": "Fn", "x": 14, "y": 3, "w": 1 },
+ { "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 },
+ { "label": "Space", "x": 3.75, "y": 4, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
+ { "label": "Menu", "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/4pplet/perk60_iso/keymaps/default/keymap.c b/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d492302344
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// main layer
+[0] = LAYOUT_60_iso(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
+ // basic function layer
+[1] = LAYOUT_60_iso(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c b/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..22436397bd
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// main layer// main layer
+[0] = LAYOUT_60_iso(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
+ // basic function layer
+[1] = LAYOUT_60_iso(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_60_iso(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_60_iso(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/peej/rosaline/keymaps/via-ortho/rules.mk b/keyboards/4pplet/perk60_iso/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/peej/rosaline/keymaps/via-ortho/rules.mk
+++ b/keyboards/4pplet/perk60_iso/keymaps/via/rules.mk
diff --git a/keyboards/4pplet/perk60_iso/readme.md b/keyboards/4pplet/perk60_iso/readme.md
new file mode 100644
index 0000000000..d3390c0c00
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/readme.md
@@ -0,0 +1,17 @@
+# Perk60 ISO Rev A
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: Perk60 ISO Rev A
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 4pplet/perk60_iso/rev_a:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+How to enter bootloader (DFU):
+* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware.
+* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it.
+
+Alternative option if the firmware is already pre-flashed:
+* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default.
diff --git a/keyboards/4pplet/perk60_iso/rev_a/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h
new file mode 100644
index 0000000000..bd24723df0
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/config.h
@@ -0,0 +1,70 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.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 MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+#define MATRIX_COL_PINS { A1, B12, B14, A2, A0, A3, A4}
+#define MATRIX_ROW_PINS { C14, C13, B5, B4, B8, A15, B3, B9, A5, A7}
+#define DIODE_DIRECTION COL2ROW
+
+/* 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
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define DRIVER_ADDR_1 0b1010000
+#define DRIVER_COUNT 1
+#define DRIVER_LED_TOTAL 62
+#define ISSI_PWM_FREQUENCY 0b010
+
+#define RGB_MATRIX_STARTUP_VAL 80
+#define RGB_MATRIX_KEYPRESSES
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+
diff --git a/keyboards/4pplet/perk60_iso/rev_a/halconf.h b/keyboards/4pplet/perk60_iso/rev_a/halconf.h
new file mode 100644
index 0000000000..a1aac3152d
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/halconf.h
@@ -0,0 +1,25 @@
+/* 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
+
+#define HAL_USE_I2C TRUE
+
+#define HAL_USE_PWM FALSE
+
+#define HAL_USE_SPI FALSE
+
+#include_next <halconf.h>
diff --git a/keyboards/4pplet/perk60_iso/rev_a/info.json b/keyboards/4pplet/perk60_iso/rev_a/info.json
new file mode 100644
index 0000000000..2c61e91a96
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Perk60 ISO Rev A",
+ "manufacturer": "4pplet",
+ "url": "",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_60_iso": {
+ "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "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":"Caps Lock", "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":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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":"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":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+ }
+ }
+}
diff --git a/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
new file mode 100644
index 0000000000..dd68a8c1e7
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
@@ -0,0 +1,27 @@
+/* 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/acheron/austin/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/4pplet/perk60_iso/rev_a/readme.md b/keyboards/4pplet/perk60_iso/rev_a/readme.md
new file mode 100644
index 0000000000..d3390c0c00
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/readme.md
@@ -0,0 +1,17 @@
+# Perk60 ISO Rev A
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: Perk60 ISO Rev A
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 4pplet/perk60_iso/rev_a:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+How to enter bootloader (DFU):
+* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware.
+* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it.
+
+Alternative option if the firmware is already pre-flashed:
+* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default.
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
new file mode 100644
index 0000000000..8f6ef05cec
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
@@ -0,0 +1,126 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.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 "rev_a.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+ { 0, K_2, J_2, L_2 }, //D402
+ { 0, K_3, J_3, L_3 }, //D403
+ { 0, K_4, J_4, L_4 }, //D404
+ { 0, K_5, J_5, L_5 }, //D405
+ { 0, K_6, J_6, L_6 }, //D406
+ { 0, K_7, J_7, L_7 }, //D407
+ { 0, K_8, J_8, L_8 }, //D408
+ { 0, K_9, J_9, L_9 }, //D409
+ { 0, K_10, J_10, L_10 }, //D410
+ { 0, K_11, J_11, L_11 }, //D411
+ { 0, K_12, J_12, L_12 }, //D412
+ { 0, K_13, J_13, L_13 }, //D413
+ { 0, K_14, J_14, L_14 }, //D414
+ { 0, K_15, J_15, L_15 }, //D415
+ { 0, K_1, J_1, L_1 }, //D401
+ { 0, H_4, G_4, I_4 }, //D420
+ { 0, H_5, G_5, I_5 }, //D421
+ { 0, H_6, G_6, I_6 }, //D422
+ { 0, H_7, G_7, I_7 }, //D423
+ { 0, H_8, G_8, I_8 }, //D424
+ { 0, H_9, G_9, I_9 }, //D425
+ { 0, H_10, G_10, I_10 }, //D426
+ { 0, H_11, G_11, I_11 }, //D427
+ { 0, H_12, G_12, I_12 }, //D428
+ { 0, H_13, G_13, I_13 }, //D429
+ { 0, H_14, G_14, I_14 }, //D430
+ { 0, H_15, G_15, I_15 }, //D431
+ { 0, K_16, J_16, L_16 }, //D416
+ { 0, H_2, G_2, I_2 }, //D418
+ { 0, H_3, G_3, I_3 }, //D419
+ { 0, E_5, D_5, F_5 }, //D437
+ { 0, E_6, D_6, F_6 }, //D438
+ { 0, E_7, D_7, F_7 }, //D439
+ { 0, E_8, D_8, F_8 }, //D440
+ { 0, E_9, D_9, F_9 }, //D441
+ { 0, E_10, D_10, F_10 }, //D442
+ { 0, E_11, D_11, F_11 }, //D443
+ { 0, E_12, D_12, F_12 }, //D444
+ { 0, E_13, D_13, F_13 }, //D445
+ { 0, E_14, D_14, F_14 }, //D446
+ { 0, H_16, G_16, I_16 }, //D432
+ { 0, H_1, G_1, I_1 }, //D417
+ { 0, E_3, D_3, F_3 }, //D435
+ { 0, E_4, D_4, F_4 }, //D436
+ { 0, B_2, A_2, C_2 }, //D450
+ { 0, B_3, A_3, C_3 }, //D451
+ { 0, B_4, A_4, C_4 }, //D452
+ { 0, B_6, A_6, C_6 }, //D454
+ { 0, B_8, A_8, C_8 }, //D456
+ { 0, B_9, A_9, C_9 }, //D457
+ { 0, B_10, A_10, C_10 }, //D458
+ { 0, B_12, A_12, C_12 }, //D460
+ { 0, B_13, A_13, C_13 }, //D461
+ { 0, E_15, D_15, F_15 }, //D447
+ { 0, E_1, D_1, F_1 }, //D433
+ { 0, E_2, D_2, F_2 }, //D434
+ { 0, B_1, A_1, C_1 }, //D449
+ { 0, B_7, A_7, C_7 }, //D455
+ { 0, B_11, A_11, C_11 }, //D459
+ { 0, B_14, A_14, C_14 }, //D462
+ { 0, B_15, A_15, C_15 }, //D463
+ { 0, B_16, A_16, C_16 } //D464
+};
+
+led_config_t g_led_config = {
+ {
+ #define XXX NO_LED
+
+ { 0, 2, 4, 6, 8, 10, 12 },
+ { 1, 3, 5, 7, 9, 11, XXX },
+ { 14, 16, 18, 20, 22, 24, 26 },
+ { 15, 17, 19, 21, 23, 25, 13 },
+ { 28, 30, 32, 34, 36, 38, 40 },
+ { 29, 31, 33, 35, 37, 39, XXX },
+ { 41, 43, 45, 47, 49, 51, XXX },
+ { 42, 44, 46, 48, 50, 52, 27 },
+ { 54, 55, XXX, 57, XXX, 60, 53 },
+ { 56, XXX, XXX, 58, 59, 61, XXX },
+
+ }, {
+ { 0,0 }, { 16,0 }, { 32,0 }, { 48,0 }, { 65,0 }, { 81,0 }, { 97,0 }, {113,0 }, {129,0 }, {145,0 },
+ {161,0 }, {178,0 }, {194,0 }, {218,0 }, { 4,16 }, { 24,16 }, { 40,16 }, { 57,16 }, { 73,16 }, { 89,16 },
+ {105,16 }, {121,16 }, {137,16 }, {153,16 }, {170,16 }, {186,16 }, {202,16 }, {224,24 }, { 6,32 }, { 28,32 },
+ { 44,32 }, { 61,32 }, { 77,32 }, { 93,32 }, {109,32 }, {125,32 }, {141,32 }, {157,32 }, {174,32 }, {190,32 },
+ {206,32 }, { 2,48 }, { 20,48 }, { 36,48 }, { 52,48 }, { 69,48 }, { 85,48 }, {101,48 }, {117,48 }, {133,48 },
+ {149,48 }, {165,48 }, {182,48 }, {212,48 }, { 2,64 }, { 22,64 }, { 42,64 }, {103,64 }, {163,64 }, {184,64 },
+ {204,64 }, {224,64 },
+ }, {
+ 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,
+ 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1
+ }
+};
+
+__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ if (host_keyboard_led_state().caps_lock && CAPS_LOCK_ENABLE) {
+ for (uint8_t i = led_min; i <= led_max; i++) {
+ if (g_led_config.flags[i] & CAPS_LED_GROUP) {
+ rgb_matrix_set_color(i, CAPS_LOCK_COLOR);
+ }
+ }
+ }
+}
+#endif
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.h b/keyboards/4pplet/perk60_iso/rev_a/rev_a.h
new file mode 100644
index 0000000000..d1cd6a35d4
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.h
@@ -0,0 +1,43 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.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 CAPS_LOCK_ENABLE true
+#define CAPS_LOCK_COLOR RGB_RED
+#define CAPS_LED_GROUP LED_FLAG_INDICATOR // change what leds to target, for example LED_FLAG_KEYLIGHT for alpas or LED_FLAG_MODIFIER for modifiers
+
+#include "quantum.h"
+
+#define LAYOUT_60_iso( \
+ k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k36, \
+ k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, \
+ k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k76, \
+ k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k86,\
+ k80, k90, k81, k83, k93, k94, k85, k95 \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06}, \
+ {k10, k11, k12, k13, k14, k15, KC_NO}, \
+ {k20, k21, k22, k23, k24, k25, k26}, \
+ {k30, k31, k32, k33, k34, k35, k36}, \
+ {k40, k41, k42, k43, k44, k45, k46}, \
+ {k50, k51, k52, k53, k54, k55, KC_NO}, \
+ {k60, k61, k62, k63, k64, k65, KC_NO}, \
+ {k70, k71, k72, k73, k74, k75, k76}, \
+ {k80, k81, KC_NO, k83, KC_NO, k85, k86}, \
+ {k90, KC_NO, KC_NO, k93, k94, k95, KC_NO} \
+}
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rules.mk b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
new file mode 100644
index 0000000000..8182d9e7e2
--- /dev/null
+++ b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3733
+
+LAYOUTS = 60_iso
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c b/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c
index 67820f2ac0..5e0b36d499 100644
--- a/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c
+++ b/keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL,
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, KC_PENT,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- DF(1), DF(0), _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, RESET )
+ DF(1), DF(0), _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, QK_BOOT )
};
diff --git a/keyboards/4pplet/steezy60/rev_a/config.h b/keyboards/4pplet/steezy60/rev_a/config.h
index 8f0c0d9531..2fa229bc44 100644
--- a/keyboards/4pplet/steezy60/rev_a/config.h
+++ b/keyboards/4pplet/steezy60/rev_a/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Steezy60 Rev A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/info.json
index cecd47559f..ba16d348b9 100644
--- a/keyboards/4pplet/steezy60/rev_a/info.json
+++ b/keyboards/4pplet/steezy60/rev_a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Steezy60 Rev A",
+ "manufacturer": "4pplet",
"url": "",
"maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/4pplet/waffling60/info.json b/keyboards/4pplet/waffling60/info.json
index 0ff2c1f7e8..9e4f081ddc 100644
--- a/keyboards/4pplet/waffling60/info.json
+++ b/keyboards/4pplet/waffling60/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Waffling60 Rev A",
+ "manufacturer": "4pplet",
"url": "https://github.com/4pplet/waffling60",
"maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/4pplet/waffling60/rev_a/config.h b/keyboards/4pplet/waffling60/rev_a/config.h
index 33279d67a7..5b5066859c 100644
--- a/keyboards/4pplet/waffling60/rev_a/config.h
+++ b/keyboards/4pplet/waffling60/rev_a/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT waffling60 Rev A
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 11
diff --git a/keyboards/4pplet/waffling60/rev_a/info.json b/keyboards/4pplet/waffling60/rev_a/info.json
new file mode 100644
index 0000000000..6d4bf31f32
--- /dev/null
+++ b/keyboards/4pplet/waffling60/rev_a/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Waffling60 Rev A",
+ "usb": {
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/4pplet/waffling60/rev_b/config.h b/keyboards/4pplet/waffling60/rev_b/config.h
index eb9882d738..69d9a485c5 100644
--- a/keyboards/4pplet/waffling60/rev_b/config.h
+++ b/keyboards/4pplet/waffling60/rev_b/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0002
-#define MANUFACTURER 4pplet
-#define PRODUCT waffling60 Rev B
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/4pplet/waffling60/rev_b/info.json b/keyboards/4pplet/waffling60/rev_b/info.json
new file mode 100644
index 0000000000..1e0075d47b
--- /dev/null
+++ b/keyboards/4pplet/waffling60/rev_b/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Waffling60 Rev B",
+ "usb": {
+ "pid": "0x0005",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/4pplet/waffling60/rev_c/config.h b/keyboards/4pplet/waffling60/rev_c/config.h
index e1862f4c0e..6afdcced5b 100644
--- a/keyboards/4pplet/waffling60/rev_c/config.h
+++ b/keyboards/4pplet/waffling60/rev_c/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0003
-#define MANUFACTURER 4pplet
-#define PRODUCT waffling60 Rev C
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/4pplet/waffling60/rev_c/info.json b/keyboards/4pplet/waffling60/rev_c/info.json
new file mode 100644
index 0000000000..5af681f27a
--- /dev/null
+++ b/keyboards/4pplet/waffling60/rev_c/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Waffling60 Rev C",
+ "usb": {
+ "pid": "0x0008",
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/4pplet/waffling80/info.json b/keyboards/4pplet/waffling80/info.json
deleted file mode 100644
index ca92728000..0000000000
--- a/keyboards/4pplet/waffling80/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "waffling80 Rev A",
- "url": "",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "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":"|", "x":13, "y":1.5}, {"label":"~", "x":14, "y":1.5}, {"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}, {"x":15.25, "y":3.5}, {"x":17.25, "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":1.75}, {"label":"Fn", "x":14, "y":4.5}, {"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":2.25}, {"x":6, "y":5.5, "w":1.25}, {"x":7.25, "y":5.5, "w":2.75}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Menu", "x":11.25, "y":5.5, "w":1.25}, {"label":"Win", "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}]
- }
- }
-}
diff --git a/keyboards/4pplet/waffling80/rev_a/config.h b/keyboards/4pplet/waffling80/rev_a/config.h
index 715414b641..a5eed83a80 100644
--- a/keyboards/4pplet/waffling80/rev_a/config.h
+++ b/keyboards/4pplet/waffling80/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT waffling80 Rev A
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
diff --git a/keyboards/4pplet/waffling80/rev_a/info.json b/keyboards/4pplet/waffling80/rev_a/info.json
new file mode 100644
index 0000000000..16ff5f8cef
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_a/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "waffling80 Rev A",
+ "manufacturer": "4pplet",
+ "url": "",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "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":"|", "x":13, "y":1.5}, {"label":"~", "x":14, "y":1.5}, {"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}, {"x":15.25, "y":3.5}, {"x":17.25, "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":1.75}, {"label":"Fn", "x":14, "y":4.5}, {"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":2.25}, {"x":6, "y":5.5, "w":1.25}, {"x":7.25, "y":5.5, "w":2.75}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Menu", "x":11.25, "y":5.5, "w":1.25}, {"label":"Win", "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}]
+ }
+ }
+}
diff --git a/keyboards/4pplet/waffling80/rev_a/rev_a.h b/keyboards/4pplet/waffling80/rev_a/rev_a.h
index d79fa17ebe..298a1b5a9f 100644
--- a/keyboards/4pplet/waffling80/rev_a/rev_a.h
+++ b/keyboards/4pplet/waffling80/rev_a/rev_a.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k77, kb7, \
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, \
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k96, k87, \
- ka0, ka1, kb1, kb2, ka3, kb3, ka4, kb4, ka5, kb5, ka6, kb6, ka7, \
+ ka0, kb1, ka1, kb2, ka3, kb3, ka4, kb4, ka5, kb5, ka6, kb6, ka7, \
kb0, ka2 \
) \
{ \
diff --git a/keyboards/4pplet/yakiimo/info.json b/keyboards/4pplet/yakiimo/info.json
deleted file mode 100644
index aa3dcb429b..0000000000
--- a/keyboards/4pplet/yakiimo/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Yakiimo Rev A",
- "url": "https://github.com/4pplet/yakiimo-PCB",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "layout": [{"label":"Esc", "x":2.75, "y":0}, {"label":"F1", "x":4.75, "y":0}, {"label":"F2", "x":5.75, "y":0}, {"label":"F3", "x":6.75, "y":0}, {"label":"F4", "x":7.75, "y":0}, {"label":"F5", "x":9.25, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "y":0}, {"label":"~", "x":2.75, "y":1.5}, {"label":"!", "x":3.75, "y":1.5}, {"label":"@", "x":4.75, "y":1.5}, {"label":"#", "x":5.75, "y":1.5}, {"label":"$", "x":6.75, "y":1.5}, {"label":"%", "x":7.75, "y":1.5}, {"label":"^", "x":8.75, "y":1.5}, {"label":"&", "x":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"|", "x":15.75, "y":1.5}, {"label":"~", "x":16.75, "y":1.5}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "y":1.5}, {"label":"Tab", "x":2.75, "y":2.5, "w":1.5}, {"label":"Q", "x":4.25, "y":2.5}, {"label":"W", "x":5.25, "y":2.5}, {"label":"E", "x":6.25, "y":2.5}, {"label":"R", "x":7.25, "y":2.5}, {"label":"T", "x":8.25, "y":2.5}, {"label":"Y", "x":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "y":2.5}, {"label":"Caps Lock", "x":2.75, "y":3.5, "w":1.75}, {"label":"A", "x":4.5, "y":3.5}, {"label":"S", "x":5.5, "y":3.5}, {"label":"D", "x":6.5, "y":3.5}, {"label":"F", "x":7.5, "y":3.5}, {"label":"G", "x":8.5, "y":3.5}, {"label":"H", "x":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"~", "x":15.5, "y":3.5}, {"label":"Enter", "x":16.5, "y":3.5, "w":1.25}, {"label":"Shift", "x":2.75, "y":4.5, "w":1.25}, {"label":"|", "x":4, "y":4.5}, {"label":"Z", "x":5, "y":4.5}, {"label":"X", "x":6, "y":4.5}, {"label":"C", "x":7, "y":4.5}, {"label":"V", "x":8, "y":4.5}, {"label":"B", "x":9, "y":4.5}, {"label":"N", "x":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":1.75}, {"label":"Fn", "x":16.75, "y":4.5}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":2.75, "y":5.5, "w":1.5}, {"label":"Win", "x":4.25, "y":5.5}, {"label":"Alt", "x":5.25, "y":5.5, "w":1.5}, {"x":6.75, "y":5.5, "w":3}, {"x":9.75, "y":5.5}, {"x":10.75, "y":5.5, "w":3}, {"label":"AltGr", "x":13.75, "y":5.5, "w":1.5}, {"label":"Win", "x":15.25, "y":5.5}, {"label":"Ctrl", "x":16.25, "y":5.5, "w":1.5}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}]
- }
- }
-}
diff --git a/keyboards/4pplet/yakiimo/rev_a/config.h b/keyboards/4pplet/yakiimo/rev_a/config.h
index 762ff55c41..4200eb10c7 100644
--- a/keyboards/4pplet/yakiimo/rev_a/config.h
+++ b/keyboards/4pplet/yakiimo/rev_a/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4444
-#define PRODUCT_ID 0x000A
-#define DEVICE_VER 0x0002
-#define MANUFACTURER 4pplet
-#define PRODUCT Yakiimo Rev A
-
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -40,5 +33,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-
-#define STM32_HSECLK 8000000
diff --git a/keyboards/4pplet/yakiimo/rev_a/info.json b/keyboards/4pplet/yakiimo/rev_a/info.json
new file mode 100644
index 0000000000..f4eeba747f
--- /dev/null
+++ b/keyboards/4pplet/yakiimo/rev_a/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Yakiimo Rev A",
+ "manufacturer": "4pplet",
+ "url": "https://github.com/4pplet/yakiimo-PCB",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4444",
+ "pid": "0x000A",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"Esc", "x":2.75, "y":0}, {"label":"F1", "x":4.75, "y":0}, {"label":"F2", "x":5.75, "y":0}, {"label":"F3", "x":6.75, "y":0}, {"label":"F4", "x":7.75, "y":0}, {"label":"F5", "x":9.25, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "y":0}, {"label":"~", "x":2.75, "y":1.5}, {"label":"!", "x":3.75, "y":1.5}, {"label":"@", "x":4.75, "y":1.5}, {"label":"#", "x":5.75, "y":1.5}, {"label":"$", "x":6.75, "y":1.5}, {"label":"%", "x":7.75, "y":1.5}, {"label":"^", "x":8.75, "y":1.5}, {"label":"&", "x":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"|", "x":15.75, "y":1.5}, {"label":"~", "x":16.75, "y":1.5}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "y":1.5}, {"label":"Tab", "x":2.75, "y":2.5, "w":1.5}, {"label":"Q", "x":4.25, "y":2.5}, {"label":"W", "x":5.25, "y":2.5}, {"label":"E", "x":6.25, "y":2.5}, {"label":"R", "x":7.25, "y":2.5}, {"label":"T", "x":8.25, "y":2.5}, {"label":"Y", "x":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "y":2.5}, {"label":"Caps Lock", "x":2.75, "y":3.5, "w":1.75}, {"label":"A", "x":4.5, "y":3.5}, {"label":"S", "x":5.5, "y":3.5}, {"label":"D", "x":6.5, "y":3.5}, {"label":"F", "x":7.5, "y":3.5}, {"label":"G", "x":8.5, "y":3.5}, {"label":"H", "x":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"~", "x":15.5, "y":3.5}, {"label":"Enter", "x":16.5, "y":3.5, "w":1.25}, {"label":"Shift", "x":2.75, "y":4.5, "w":1.25}, {"label":"|", "x":4, "y":4.5}, {"label":"Z", "x":5, "y":4.5}, {"label":"X", "x":6, "y":4.5}, {"label":"C", "x":7, "y":4.5}, {"label":"V", "x":8, "y":4.5}, {"label":"B", "x":9, "y":4.5}, {"label":"N", "x":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":1.75}, {"label":"Fn", "x":16.75, "y":4.5}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":2.75, "y":5.5, "w":1.5}, {"label":"Win", "x":4.25, "y":5.5}, {"label":"Alt", "x":5.25, "y":5.5, "w":1.5}, {"x":6.75, "y":5.5, "w":3}, {"x":9.75, "y":5.5}, {"x":10.75, "y":5.5, "w":3}, {"label":"AltGr", "x":13.75, "y":5.5, "w":1.5}, {"label":"Win", "x":15.25, "y":5.5}, {"label":"Ctrl", "x":16.25, "y":5.5, "w":1.5}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}]
+ }
+ }
+}
diff --git a/keyboards/4pplet/yakiimo/rev_a/mcuconf.h b/keyboards/4pplet/yakiimo/rev_a/mcuconf.h
deleted file mode 100644
index 566a38124d..0000000000
--- a/keyboards/4pplet/yakiimo/rev_a/mcuconf.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* 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/acheron/austin/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
- */
-
-#pragma once
-
-#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
diff --git a/keyboards/4pplet/yakiimo/rev_a/rules.mk b/keyboards/4pplet/yakiimo/rev_a/rules.mk
index 69e3ba1629..2f1c4fc78b 100644
--- a/keyboards/4pplet/yakiimo/rev_a/rules.mk
+++ b/keyboards/4pplet/yakiimo/rev_a/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h
index 88bd1f351b..b9b7abebe7 100644
--- a/keyboards/8pack/config.h
+++ b/keyboards/8pack/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2171
-#define MANUFACTURER Charles Garcia
-#define PRODUCT 8-Pack
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json
index fc1bcb8ef8..f36f4c9dc3 100644
--- a/keyboards/8pack/info.json
+++ b/keyboards/8pack/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "8-Pack",
+ "manufacturer": "Charles Garcia",
"url": "https://github.com/cgarcia2097/8-Pack",
"maintainer": "Charles Garcia",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2171"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/8pack/rev11/config.h b/keyboards/8pack/rev11/config.h
deleted file mode 100644
index 83ad51ada3..0000000000
--- a/keyboards/8pack/rev11/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define DEVICE_VER 0x0001
diff --git a/keyboards/8pack/rev11/info.json b/keyboards/8pack/rev11/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/8pack/rev11/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/8pack/rev12/config.h b/keyboards/8pack/rev12/config.h
deleted file mode 100644
index 9a527501a5..0000000000
--- a/keyboards/8pack/rev12/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define DEVICE_VER 0x0002
diff --git a/keyboards/8pack/rev12/info.json b/keyboards/8pack/rev12/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/8pack/rev12/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/9key/config.h b/keyboards/9key/config.h
index 622ccc7ae9..dc1eef180e 100644
--- a/keyboards/9key/config.h
+++ b/keyboards/9key/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 9Key PCB default pin-out */
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { F4, F5, F6 }
-#define UNUSED_PINS
/* ws2812 RGB LED */
#define RGB_DI_PIN F7
diff --git a/keyboards/9key/keymaps/bcat/keymap.c b/keyboards/9key/keymaps/bcat/keymap.c
index 944a48c0d3..c445a19406 100644
--- a/keyboards/9key/keymaps/bcat/keymap.c
+++ b/keyboards/9key/keymaps/bcat/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LY_FN1, KC_MUTE, KY_MICM
),
[LAYER_FUNCTION_1] = LAYOUT(
- EEP_RST, _______, RESET,
+ EEP_RST, _______, QK_BOOT,
_______, _______, _______,
_______, _______, _______
),
diff --git a/keyboards/a_dux/config.h b/keyboards/a_dux/config.h
index b007945774..ffda0a301c 100644
--- a/keyboards/a_dux/config.h
+++ b/keyboards/a_dux/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x3939
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tapioki
-#define PRODUCT Architeuthis dux
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -56,7 +49,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/a_dux/info.json b/keyboards/a_dux/info.json
index e276128a62..7b9a43822a 100644
--- a/keyboards/a_dux/info.json
+++ b/keyboards/a_dux/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Architeuthis dux",
+ "manufacturer": "tapioki",
"url": "https://github.com/tapioki/cephalopoda",
"maintainer": "@tapioki",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x3939",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_2": {
"layout": [
diff --git a/keyboards/a_dux/keymaps/daliusd/keymap.c b/keyboards/a_dux/keymaps/daliusd/keymap.c
index 2a65ce4580..aa45d10449 100644
--- a/keyboards/a_dux/keymaps/daliusd/keymap.c
+++ b/keyboards/a_dux/keymaps/daliusd/keymap.c
@@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MISC] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────â”
- RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BRID ,KC_BRIU ,XXXXXXX ,KC_PSCR ,K_PRINT ,
+ QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BRID ,KC_BRIU ,XXXXXXX ,KC_PSCR ,K_PRINT ,
//├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,DEBUG ,XXXXXXX ,XXXXXXX , KC_MPRV ,KC_MPLY ,XXXXXXX ,KC_MNXT ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h b/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..dbbff11bb6
--- /dev/null
+++ b/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,19 @@
+// Copyright 2021 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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 LAYOUT_miryoku( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K33, K34, K35, K36 \
+)
diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk
new file mode 100644
index 0000000000..ef40279cbc
--- /dev/null
+++ b/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2021 Manna Harbour
+# https://github.com/manna-harbour/miryoku
+
+MIRYOKU_KLUDGE_THUMBCOMBOS=yes
diff --git a/keyboards/a_dux/readme.md b/keyboards/a_dux/readme.md
index f709542b31..2fca2d424f 100644
--- a/keyboards/a_dux/readme.md
+++ b/keyboards/a_dux/readme.md
@@ -41,5 +41,5 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key on the left half (or the top right right key on the right half) and plug in the controller on that side.
* **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is configured.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h
index 5a627e630a..814f0b59f7 100644
--- a/keyboards/abacus/config.h
+++ b/keyboards/abacus/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nickolaij
-#define PRODUCT abacus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D4, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, D7, B3, E6, B2, B4, B6, B5}
-#define UNUSED_PINS {B0}
#define DIP_SWITCH_PINS { D0 }
diff --git a/keyboards/abacus/info.json b/keyboards/abacus/info.json
index 21d035c97c..858c6949b5 100644
--- a/keyboards/abacus/info.json
+++ b/keyboards/abacus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Abacus",
+ "manufacturer": "nickolaij",
"url": "https://www.github.com/nickolaij",
"maintainer": "nickolaij",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/abatskeyboardclub/nayeon/config.h b/keyboards/abatskeyboardclub/nayeon/config.h
index dad3ee307f..449f2da113 100644
--- a/keyboards/abatskeyboardclub/nayeon/config.h
+++ b/keyboards/abatskeyboardclub/nayeon/config.h
@@ -19,119 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B47
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Abats Keyboard Club
-#define PRODUCT Nayeon
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 17
-
-/*
- * 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 { B2, B3, B7, D6, D3, D2 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D5, B0, B1, D1 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-#define RGB_DI_PIN E2
-#ifdef RGB_DI_PIN
-# define RGBLED_NUM 26
-# 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 */
-/*== 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
-/*== customize breathing effect ==*/
-/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-/*==== use exp() and sin() ====*/
-//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-#endif
-
-/* 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
-
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
+/* RGB Matrix setup */
+#define RGB_DI_PIN GP19
+#define DRIVER_LED_TOTAL 2
+#define RGBLED_NUM 2
+#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/abatskeyboardclub/nayeon/info.json b/keyboards/abatskeyboardclub/nayeon/info.json
index 3df680f62b..8cafe5aebf 100644
--- a/keyboards/abatskeyboardclub/nayeon/info.json
+++ b/keyboards/abatskeyboardclub/nayeon/info.json
@@ -1,9 +1,32 @@
{
"keyboard_name": "Nayeon",
+ "manufacturer": "Abats Keyboard Club",
"url": "",
- "maintainer": "Ramon Imbao",
+ "maintainer": "ramonimbao",
+ "layout_aliases": {
+ "LAYOUT_ansi": "LAYOUT_tkl_f13_ansi_tsangan",
+ "LAYOUT_iso": "LAYOUT_tkl_f13_iso_tsangan"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": false
+ },
+ "usb": {
+ "vid": "0x4B47",
+ "pid": "0x0001",
+ "device_version": "2.0.0"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP12", "GP11", "GP5"],
+ "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"]
+ },
"layouts": {
- "LAYOUT_ansi": {
+ "LAYOUT_tkl_f13_ansi_tsangan": {
"layout": [
{"x":0, "y":0},
{"x":1.25, "y":0},
@@ -99,7 +122,105 @@
{"x":17.25, "y":5.25}
]
},
- "LAYOUT_iso": {
+ "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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":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, "y":4.25},
+ {"x":16.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.5},
+ {"x":1.5, "y":5.25},
+ {"x":2.5, "y":5.25, "w":1.5},
+ {"x":4, "y":5.25, "w":7},
+ {"x":11, "y":5.25, "w":1.5},
+ {"x":12.5, "y":5.25},
+ {"x":13.5, "y":5.25, "w":1.5},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan": {
"layout": [
{"x":0, "y":0},
{"x":1.25, "y":0},
@@ -196,6 +317,105 @@
{"x":17.25, "y":5.25}
]
},
+ "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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},
+ {"x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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, "y":4.25},
+ {"x":16.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.5},
+ {"x":1.5, "y":5.25},
+ {"x":2.5, "y":5.25, "w":1.5},
+ {"x":4, "y":5.25, "w":7},
+ {"x":11, "y":5.25, "w":1.5},
+ {"x":12.5, "y":5.25},
+ {"x":13.5, "y":5.25, "w":1.5},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
"LAYOUT_all": {
"layout": [
{"x":0, "y":0},
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/default/keymap.c b/keyboards/abatskeyboardclub/nayeon/keymaps/default/keymap.c
index f8d8d35058..134fbd4972 100644
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/default/keymap.c
+++ b/keyboards/abatskeyboardclub/nayeon/keymaps/default/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi(
+ [0] = LAYOUT_tkl_f13_ansi_tsangan(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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,
@@ -25,37 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
-
-#ifdef RGBLIGHT_ENABLE
-
-const rgblight_segment_t PROGMEM ll_none[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF},
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_cl[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_sl[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(ll_none, ll_cl, ll_sl);
-
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-bool led_update_user(led_t led_state) {
- uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock;
- for (uint8_t i=0; i<3; i++) {
- rgblight_set_layer_state(i, false);
- }
- if (lock_bits < 3) {
- rgblight_set_layer_state(lock_bits, true);
- }
-
- return false;
-}
-#endif
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/iso/keymap.c b/keyboards/abatskeyboardclub/nayeon/keymaps/iso/keymap.c
index eeef21b19e..74e74207a3 100644
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/iso/keymap.c
+++ b/keyboards/abatskeyboardclub/nayeon/keymaps/iso/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_iso(
+ [0] = LAYOUT_tkl_f13_iso_tsangan(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_DEL, KC_END, KC_PGDN,
@@ -25,37 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
-
-#ifdef RGBLIGHT_ENABLE
-
-const rgblight_segment_t PROGMEM ll_none[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF},
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_cl[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_sl[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(ll_none, ll_cl, ll_sl);
-
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-bool led_update_user(led_t led_state) {
- uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock;
- for (uint8_t i=0; i<3; i++) {
- rgblight_set_layer_state(i, false);
- }
- if (lock_bits < 3) {
- rgblight_set_layer_state(lock_bits, true);
- }
-
- return false;
-}
-#endif
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c b/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c
index a212b820f4..062b05ec49 100644
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c
+++ b/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c
@@ -49,37 +49,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
-
-#ifdef RGBLIGHT_ENABLE
-
-const rgblight_segment_t PROGMEM ll_none[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF},
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_cl[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 1, HSV_OFF}
-);
-
-const rgblight_segment_t PROGMEM ll_sl[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_OFF}
-);
-
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(ll_none, ll_cl, ll_sl);
-
-void keyboard_post_init_user(void) {
- rgblight_layers = rgb_layers;
-}
-
-bool led_update_user(led_t led_state) {
- uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock;
- for (uint8_t i=0; i<3; i++) {
- rgblight_set_layer_state(i, false);
- }
- if (lock_bits < 3) {
- rgblight_set_layer_state(lock_bits, true);
- }
-
- return false;
-}
-#endif
diff --git a/keyboards/abatskeyboardclub/nayeon/nayeon.c b/keyboards/abatskeyboardclub/nayeon/nayeon.c
index 14fb22a486..6f367d3ed6 100644
--- a/keyboards/abatskeyboardclub/nayeon/nayeon.c
+++ b/keyboards/abatskeyboardclub/nayeon/nayeon.c
@@ -15,3 +15,30 @@
*/
#include "nayeon.h"
+
+led_config_t g_led_config = {{
+ // Key Matrix to LED Index
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 1, 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 },
+ { 0, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
+}, {
+ // LED Index to Physical Position
+ { 5, 40 }, { 211, 0 }
+}, {
+ // LED Index to Flag
+ LED_FLAG_INDICATOR, LED_FLAG_INDICATOR
+}};
+
+void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ if (!host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
+ }
+ if (!host_keyboard_led_state().scroll_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0);
+ }
+
+ rgb_matrix_indicators_advanced_user(led_min, led_max);
+}
diff --git a/keyboards/abatskeyboardclub/nayeon/nayeon.h b/keyboards/abatskeyboardclub/nayeon/nayeon.h
index ba0b1498f7..fb1806f32d 100644
--- a/keyboards/abatskeyboardclub/nayeon/nayeon.h
+++ b/keyboards/abatskeyboardclub/nayeon/nayeon.h
@@ -24,7 +24,7 @@
// Full backspace
// Full right shift
// Full left shift
-#define LAYOUT_ansi( \
+#define LAYOUT_tkl_f13_ansi_tsangan( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
@@ -40,11 +40,31 @@
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
}
+// ANSI layout
+// Split backspace
+// Split right shift
+// Full left shift
+#define LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k57, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
+ { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
// ISO layout
// Full backspace
// Full right shift
// Split left shift
-#define LAYOUT_iso( \
+#define LAYOUT_tkl_f13_iso_tsangan( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
@@ -60,6 +80,26 @@
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
}
+// ISO layout
+// Split backspace
+// Split right shift
+// Split left shift
+#define LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k2d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k57, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
// Layout for VIA
// Split backspace
// Split left shift
diff --git a/keyboards/abatskeyboardclub/nayeon/readme.md b/keyboards/abatskeyboardclub/nayeon/readme.md
index f88c1e187d..7c7c91c1f1 100644
--- a/keyboards/abatskeyboardclub/nayeon/readme.md
+++ b/keyboards/abatskeyboardclub/nayeon/readme.md
@@ -5,7 +5,7 @@
Nayeon is a screwless TKL keyboard with an extra key, inspired by a K-pop artist named Im-Nayeon.
* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
-* Hardware Supported: ATmega32u4
+* Hardware Supported: RP2040
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/abatskeyboardclub/nayeon/rules.mk b/keyboards/abatskeyboardclub/nayeon/rules.mk
index 1f52c37154..d106ef4d6a 100644
--- a/keyboards/abatskeyboardclub/nayeon/rules.mk
+++ b/keyboards/abatskeyboardclub/nayeon/rules.mk
@@ -1,18 +1,13 @@
# MCU name
-MCU = atmega32u4
+MCU = RP2040
# Bootloader selection
-BOOTLOADER = atmel-dfu
+BOOTLOADER = rp2040
+
+# RGB Matrix
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+WS2812_DRIVER = vendor
+
+LAYOUTS = tkl_f13_ansi_tsangan tkl_f13_ansi_tsangan_split_bs_rshift tkl_f13_iso_tsangan tkl_f13_iso_tsangan_split_bs_rshift
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/abstract/ellipse/info.json b/keyboards/abstract/ellipse/info.json
deleted file mode 100644
index 3348b38477..0000000000
--- a/keyboards/abstract/ellipse/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Ellipse",
- "url": "https://abstractkb.tk/product/ellipse-rev1",
- "maintainer": "AbstractKB",
- "layouts": {
- "LAYOUT": {
- "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}]
- }
- }
-}
diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h
index 060229abb2..2025739210 100644
--- a/keyboards/abstract/ellipse/rev1/config.h
+++ b/keyboards/abstract/ellipse/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AbstractKB
-#define PRODUCT EllipseRev1
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, C7 }
#define MATRIX_COL_PINS { F0, B6, B5 }
-#define UNUSED_PINS { B0, D0, D1, D2, D4, D6, D7, F1, F4, F5, F6, F7 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/abstract/ellipse/rev1/info.json b/keyboards/abstract/ellipse/rev1/info.json
new file mode 100644
index 0000000000..0037719e12
--- /dev/null
+++ b/keyboards/abstract/ellipse/rev1/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Ellipse",
+ "manufacturer": "AbstractKB",
+ "url": "https://abstractkb.tk/product/ellipse-rev1",
+ "maintainer": "AbstractKB",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}]
+ }
+ }
+}
diff --git a/keyboards/acekeyboard/titan60/config.h b/keyboards/acekeyboard/titan60/config.h
index 6cfaa7980e..0daf1a90cd 100644
--- a/keyboards/acekeyboard/titan60/config.h
+++ b/keyboards/acekeyboard/titan60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xACE1 // Ace
-#define PRODUCT_ID 0x5449 // TI
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Acekeyboard
-#define PRODUCT titan60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D
#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}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/acekeyboard/titan60/info.json b/keyboards/acekeyboard/titan60/info.json
index 8e7b41c9cd..0867639515 100644
--- a/keyboards/acekeyboard/titan60/info.json
+++ b/keyboards/acekeyboard/titan60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Titan60",
+ "manufacturer": "Acekeyboard",
"url": "https://acekeyboard.co/",
"maintainer": "keebnewb",
+ "usb": {
+ "vid": "0xACE1",
+ "pid": "0x5449",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/acheron/apollo/87h/87h.c b/keyboards/acheron/apollo/87h/87h.c
new file mode 100644
index 0000000000..3d3f364ba8
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/87h.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Alvaro "Gondolindrim" Volpato
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "87h.h"
diff --git a/keyboards/acheron/apollo/87h/87h.h b/keyboards/acheron/apollo/87h/87h.h
new file mode 100644
index 0000000000..535575f451
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/87h.h
@@ -0,0 +1,24 @@
+/* Copyright 2022 Alvaro "Gondolindrim" Volpato
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+#if defined(KEYBOARD_acheron_apollo_87h_gamma)
+ #include "gamma.h"
+#elif defined(KEYBOARD_acheron_apollo_87h_delta)
+ #include "delta.h"
+#endif
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h
new file mode 100644
index 0000000000..5df3628db2
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/config.h
@@ -0,0 +1,103 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15, C16 }
+#define MATRIX_COL_PINS { C8 , C9 , A8 , A10, C7 , C6 , B14, B12, B10, B1 , C5 , C4 , A7 , B0 , C11, A3 , B4 }
+// R0 , R1 , R2 , R3 , R4 , R5
+#define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+#define RGB_DI_PIN B15
+#define DRIVER_LED_TOTAL 87
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+
+#define RGB_MATRIX_STARTUP_VAL 60
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87h/delta/delta.c b/keyboards/acheron/apollo/87h/delta/delta.c
new file mode 100644
index 0000000000..d55880d482
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/delta.c
@@ -0,0 +1,61 @@
+/*
+ Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "delta.h"
+
+void board_init(void) {
+ setPinInput(B9);
+ setPinInput(B10);
+}
+
+led_config_t g_led_config = { {
+// { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , 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 , NO_LED , NO_LED , NO_LED , NO_LED },
+// { 63 , NO_LED , 64 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , NO_LED , NO_LED , 75 , NO_LED },
+// { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 }
+//
+ { 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , NO_LED , 2 , 1 , 0 },
+ { 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 },
+ { 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 , 33 },
+ { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED , NO_LED },
+ { 75 , NO_LED , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , 64 , NO_LED , NO_LED , 63 , NO_LED },
+ { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 }
+},{
+// "Fine-tuned" complex configuration
+ { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0},
+ { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45},
+ { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90},
+ { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
+ { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180},
+ { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90}
+// "Stock" simple configuration
+// { 224, 0}, { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0},
+// { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45},
+// { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90},
+// { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
+// { 224, 180}, { 196, 180}, { 182, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 14, 180},
+// { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90}
+}, {
+ 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 , 4 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 4 , 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 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1
+} };
diff --git a/keyboards/acheron/apollo/87h/delta/delta.h b/keyboards/acheron/apollo/87h/delta/delta.h
new file mode 100644
index 0000000000..c3f5f6c22e
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/delta.h
@@ -0,0 +1,38 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, ___, ___, ___ }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, ___, K5E, K5F, K5G } \
+}
diff --git a/keyboards/acheron/apollo/87h/delta/halconf.h b/keyboards/acheron/apollo/87h/delta/halconf.h
new file mode 100644
index 0000000000..691c0552a3
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Gondolindrim <gondolindrim@acheronproject.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json
new file mode 100644
index 0000000000..8f501970a5
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Apollo87H",
+ "usb": {
+ "pid": "0x8775",
+ "device_version": "0.0.4"
+ }
+}
diff --git a/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c b/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c
new file mode 100755
index 0000000000..3ad45e3679
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c b/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c
new file mode 100755
index 0000000000..3ad45e3679
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/peej/rosaline/keymaps/via/rules.mk b/keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/peej/rosaline/keymaps/via/rules.mk
+++ b/keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk
diff --git a/keyboards/acheron/apollo/87h/delta/mcuconf.h b/keyboards/acheron/apollo/87h/delta/mcuconf.h
new file mode 100644
index 0000000000..652fecfc8a
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk
new file mode 100644
index 0000000000..814a3f15f0
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/delta/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = legacy
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h
new file mode 100644
index 0000000000..21fe929409
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/config.h
@@ -0,0 +1,100 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 16
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15 }
+#define MATRIX_COL_PINS { B3 , A15, A10, A8 , B14, B12, B10, B1 , B0 , A7 , A4 , A5 , A6 , C15, A0 , A1 }
+// R0 , R1 , R2 , R3 , R4 , R5
+#define MATRIX_ROW_PINS { C14, C13, B9 , B4 , A3 , A2 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+// RGB Matrix defines
+#define DRIVER_ADDR_1 0b0110000
+
+#define DRIVER_COUNT 1
+#define DRIVER_1_LED_TOTAL 87
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
+
+#define RGB_MATRIX_STARTUP_VAL 80
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_HUE_WAVE
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c
new file mode 100644
index 0000000000..babad3c11c
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/gamma.c
@@ -0,0 +1,146 @@
+/*
+ Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "gamma.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+// First row
+ {0, CS7_SW9 , CS9_SW9 , CS8_SW9 }, //ESC 0
+ {0, CS7_SW8 , CS9_SW8 , CS8_SW8 }, //F1 1
+ {0, CS7_SW7 , CS9_SW7 , CS8_SW7 }, //F2 2
+ {0, CS7_SW6 , CS9_SW6 , CS8_SW6 }, //F3 3
+ {0, CS7_SW5 , CS9_SW5 , CS8_SW5 }, //F4 4
+ {0, CS7_SW4 , CS9_SW4 , CS8_SW4 }, //F5 5
+ {0, CS7_SW3 , CS9_SW3 , CS8_SW3 }, //F6 6
+ {0, CS7_SW2 , CS9_SW2 , CS8_SW2 }, //F7 7
+ {0, CS7_SW1 , CS9_SW1 , CS8_SW1 }, //F8 8
+ {0, CS18_SW2, CS16_SW2, CS17_SW2 }, //F9 9
+ {0, CS18_SW3, CS16_SW3, CS17_SW3 }, //F10 10
+ {0, CS18_SW4, CS16_SW4, CS17_SW4 }, //F11 11
+ {0, CS18_SW6, CS16_SW6, CS17_SW6 }, //F12 12
+ {0, CS18_SW7, CS16_SW7, CS17_SW7 }, //PRI 13
+ {0, CS18_SW8, CS16_SW8, CS17_SW8 }, //SCR 14
+ {0, CS18_SW9, CS16_SW9, CS17_SW9 }, //PAUS 15
+//Second row
+ {0, CS12_SW9, CS11_SW9, CS10_SW9 }, //GRAVE 16
+ {0, CS12_SW8, CS11_SW8, CS10_SW8 }, //1 17
+ {0, CS12_SW7, CS11_SW7, CS10_SW7 }, //2 18
+ {0, CS12_SW6, CS11_SW6, CS10_SW6 }, //3 19
+ {0, CS12_SW5, CS11_SW5, CS10_SW5 }, //4 20
+ {0, CS12_SW4, CS11_SW4, CS10_SW4 }, //5 21
+ {0, CS12_SW3, CS11_SW3, CS10_SW3 }, //6 22
+ {0, CS12_SW2, CS11_SW2, CS10_SW2 }, //7 23
+ {0, CS12_SW1, CS11_SW1, CS10_SW1 }, //8 24
+ {0, CS15_SW1, CS13_SW1, CS14_SW1 }, //9 25
+ {0, CS15_SW2, CS13_SW2, CS14_SW2 }, //0 26
+ {0, CS15_SW3, CS13_SW3, CS14_SW3 }, //MINUS 27
+ {0, CS15_SW4, CS13_SW4, CS14_SW4 }, //PLUS 28
+ {0, CS15_SW5, CS13_SW5, CS14_SW5 }, //BKSP 29
+ {0, CS15_SW7, CS13_SW7, CS14_SW7 }, //INS 30
+ {0, CS15_SW8, CS13_SW8, CS14_SW8 }, //HOME 31
+ {0, CS15_SW9, CS13_SW9, CS14_SW9 }, //PGUP 32
+//Third row
+ {0, CS4_SW9 , CS6_SW9 , CS5_SW9 }, //TAB 33
+ {0, CS4_SW8 , CS6_SW8 , CS5_SW8 }, //Q 34
+ {0, CS4_SW7 , CS6_SW7 , CS5_SW7 }, //W 35
+ {0, CS4_SW6 , CS6_SW6 , CS5_SW6 }, //E 36
+ {0, CS4_SW5 , CS6_SW5 , CS5_SW5 }, //R 37
+ {0, CS4_SW4 , CS6_SW4 , CS5_SW4 }, //T 38
+ {0, CS4_SW3 , CS6_SW3 , CS5_SW3 }, //Y 39
+ {0, CS4_SW2 , CS6_SW2 , CS5_SW2 }, //U 40
+ {0, CS4_SW1 , CS6_SW1 , CS5_SW1 }, //I 41
+ {0, CS3_SW2 , CS1_SW2 , CS2_SW2 }, //O 42
+ {0, CS3_SW3 , CS1_SW3 , CS2_SW3 }, //P 43
+ {0, CS3_SW4 , CS1_SW4 , CS2_SW4 }, //LBRKT 44
+ {0, CS3_SW5 , CS1_SW5 , CS2_SW5 }, //RBRKT 45
+ {0, CS3_SW6 , CS1_SW6 , CS2_SW6 }, //BSLS 46
+ {0, CS3_SW7 , CS1_SW7 , CS2_SW7 }, //DEL 47
+ {0, CS3_SW8 , CS1_SW8 , CS2_SW8 }, //END 48
+ {0, CS3_SW9 , CS1_SW9 , CS2_SW9 }, //PGDN 49
+//Fourth row
+ {0, CS33_SW9, CS32_SW9, CS31_SW9 }, //CAPS 50
+ {0, CS33_SW8, CS32_SW8, CS31_SW8 }, //A 51
+ {0, CS33_SW7, CS32_SW7, CS31_SW7 }, //S 52
+ {0, CS33_SW6, CS32_SW6, CS31_SW6 }, //D 53
+ {0, CS33_SW5, CS32_SW5, CS31_SW5 }, //F 54
+ {0, CS33_SW4, CS32_SW4, CS31_SW4 }, //G 55
+ {0, CS33_SW3, CS32_SW3, CS31_SW3 }, //H 56
+ {0, CS33_SW2, CS32_SW2, CS31_SW2 }, //J 57
+ {0, CS33_SW1, CS32_SW1, CS31_SW1 }, //K 58
+ {0, CS39_SW2, CS38_SW2, CS37_SW2 }, //L 59
+ {0, CS39_SW3, CS38_SW3, CS37_SW3 }, //COLON 60
+ {0, CS39_SW4, CS38_SW4, CS37_SW4 }, //QUOTE 61
+ {0, CS39_SW6, CS38_SW6, CS37_SW6 }, //ENTER 62
+//Fifth row
+ {0, CS30_SW9, CS28_SW9, CS29_SW9 }, //LSFT 63
+ {0, CS30_SW7, CS28_SW7, CS29_SW7 }, //Z 64
+ {0, CS30_SW6, CS28_SW6, CS29_SW6 }, //X 65
+ {0, CS30_SW5, CS28_SW5, CS29_SW5 }, //C 66
+ {0, CS30_SW4, CS28_SW4, CS29_SW4 }, //V 67
+ {0, CS30_SW3, CS28_SW3, CS29_SW3 }, //B 68
+ {0, CS30_SW2, CS28_SW2, CS29_SW2 }, //N 69
+ {0, CS30_SW1, CS28_SW1, CS29_SW1 }, //M 70
+ {0, CS36_SW1, CS35_SW1, CS34_SW1 }, //COMMA 71
+ {0, CS36_SW3, CS35_SW3, CS34_SW3 }, //DOT 72
+ {0, CS36_SW4, CS35_SW4, CS34_SW4 }, //SLASH 73
+ {0, CS36_SW6, CS35_SW6, CS34_SW6 }, //RSFT 74
+ {0, CS36_SW7, CS35_SW7, CS34_SW7 }, //UP 75
+//Sixth row
+ {0, CS27_SW9, CS25_SW9, CS26_SW9 }, //LCTRL 76
+ {0, CS27_SW7, CS25_SW7, CS26_SW7 }, //LWIN 77
+ {0, CS27_SW6, CS25_SW6, CS26_SW6 }, //LALT 78
+ {0, CS27_SW5, CS25_SW5, CS26_SW5 }, //SPACE 79
+ {0, CS27_SW3, CS25_SW3, CS26_SW3 }, //RALT 80
+ {0, CS24_SW4, CS23_SW4, CS22_SW4 }, //RGUI 81
+ {0, CS24_SW5, CS23_SW5, CS22_SW5 }, //MENU 82
+ {0, CS24_SW6, CS23_SW6, CS22_SW6 }, //RCTRL 83
+ {0, CS24_SW1, CS23_SW1, CS22_SW1 }, //LEFT 84
+ {0, CS24_SW2, CS23_SW2, CS22_SW2 }, //DOWN 85
+ {0, CS24_SW3, CS23_SW3, CS22_SW3 }, //RIGHT 86
+
+};
+
+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 },
+ { 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 41 , 43 , 44 , 45 , 46 , 47 , 48 },
+ { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED },
+ { 63 , NO_LED , 64 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 49 , 32 },
+ { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , 84 , 85 , 86 }
+},{
+ { 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, { 105, 0}, { 120, 0}, { 135, 0}, { 150, 0}, { 165, 0}, { 180, 0}, { 210, 0}, { 210, 0}, { 225, 0},
+ { 0, 45}, { 15, 45}, { 30, 45}, { 45, 45}, { 60, 45}, { 75, 45}, { 90, 45}, { 105, 45}, { 120, 45}, { 135, 45}, { 150, 45}, { 165, 45}, { 180, 45}, { 210, 45}, { 210, 45}, { 215, 45},
+ { 0, 90}, { 15, 90}, { 30, 90}, { 45, 90}, { 60, 90}, { 75, 90}, { 90, 90}, { 105, 90}, { 120, 90}, { 135, 90}, { 150, 90}, { 165, 90}, { 180, 90}, { 195, 90}, { 210, 90}, { 215, 90},
+ { 0, 135}, { 15, 135}, { 30, 135}, { 45, 135}, { 60, 135}, { 75, 135}, { 90, 135}, { 105, 135}, { 120, 135}, { 135, 135}, { 150, 135}, { 165, 135}, { 180, 135},
+ { 0, 180}, { 30, 180}, { 45, 180}, { 60, 180}, { 75, 180}, { 90, 180}, { 105, 180}, { 120, 180}, { 135, 180}, { 150, 180}, { 165, 180}, { 180, 180}, { 210, 180}, { 225, 45}, { 225, 0},
+ { 0, 225}, { 15, 225}, { 30, 225}, { 90, 225}, { 135, 225}, { 150, 225}, { 165, 225}, { 180, 225}, { 195, 225}, { 210, 225}, { 225, 225}
+}, {
+ 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 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 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 ,
+ 1 , 1 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1
+} };
+#endif
diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.h b/keyboards/acheron/apollo/87h/gamma/gamma.h
new file mode 100644
index 0000000000..97342016f2
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/gamma.h
@@ -0,0 +1,38 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_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, K1F, K4F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K4E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E, K5F \
+) { \
+ { 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, 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, ___, ___, ___ }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E, K5F } \
+}
diff --git a/keyboards/acheron/apollo/87h/gamma/halconf.h b/keyboards/acheron/apollo/87h/gamma/halconf.h
new file mode 100644
index 0000000000..2e098f5113
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json
new file mode 100644
index 0000000000..6a7a382eaa
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Apollo87H rev. Gamma",
+ "usb": {
+ "pid": "0x8774",
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c b/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c
new file mode 100755
index 0000000000..3ad45e3679
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c b/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c
new file mode 100755
index 0000000000..8b6e77a5b5
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk b/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/87h/gamma/mcuconf.h b/keyboards/acheron/apollo/87h/gamma/mcuconf.h
new file mode 100644
index 0000000000..9cf24d5bcd
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/87h/gamma/rules.mk b/keyboards/acheron/apollo/87h/gamma/rules.mk
new file mode 100644
index 0000000000..c05ab3c41a
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/gamma/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3741
+KEYBOARD_SHARED_EP = yes
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = legacy
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/acheron/apollo/87h/info.json b/keyboards/acheron/apollo/87h/info.json
new file mode 100644
index 0000000000..7dbd896a18
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/info.json
@@ -0,0 +1,106 @@
+{
+ "manufacturer": "AcheronProject",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150"
+ },
+ "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/acheron/apollo/87h/readme.md b/keyboards/acheron/apollo/87h/readme.md
new file mode 100644
index 0000000000..f00dae4450
--- /dev/null
+++ b/keyboards/acheron/apollo/87h/readme.md
@@ -0,0 +1,25 @@
+# Acheron Apollo87H QMK firmware
+
+![apollo](https://acheronproject.com/images/apollo/delta-pictures/delta1_small.jpeg)
+
+The Apollo87H is Acheron Project's open-source, freely available tenkeyless (TKL) keyboard Printed Circuit Boards (PCB) which features:
+
+- Per-key RGB lighting
+- Hotswap sockets
+- ANSI default layout with F12 and 6.25 units spacebar.
+
+* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
+* Hardware Supported: open-source PCB using the [Joker template](https://acheronproject.com/joker_mcus/joker/). First units were manufactured using STM32F401 microcontroller;
+* Hardware Availability: these PCBs are open-source so you can manufacture them yourself or order them from a factory. See the [project's documentation](https://acheronproject.com/pcbs/apollo/apollo/) for more information.
+
+In order to flash this PCB, first build the default layout (after setting up your build environment):
+
+ make acheron/apollo/87h/<revision>:default
+
+Where `revision` is the revision of your PCB. Two revisions were prototyped and sold: _Gamma_ and _Delta_. Look into the label on the PCB's back to see what revision is yours. Ready-to-use binaries for the default and the VIA layouts are available in the release pages of the [project's repository](https://github.com/AcheronProject/Apollo87H).
+
+After building or downloading the firmware, put the PCB into DFU mode by holding the reset button for at least five seconds and upload the firmware onto the microcontroller through a utility like `dfu-util` or QMK Toolbox. Alternatively, you can build and flash using:
+
+ make acheron/apollo/87h/<revision>: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/acheron/apollo/87htsc/87htsc.c b/keyboards/acheron/apollo/87htsc/87htsc.c
new file mode 100644
index 0000000000..a476b7086e
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/87htsc.c
@@ -0,0 +1,47 @@
+/*
+ Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "87htsc.h"
+
+void board_init(void) {
+ setPinInput(B9);
+ setPinInput(B10);
+}
+
+led_config_t g_led_config = { {
+ { 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , NO_LED , 2 , 1 , 0 },
+ { 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 },
+ { 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 , 33 },
+ { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED , NO_LED },
+ { 75 , NO_LED , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , 64 , NO_LED , NO_LED , 63 , NO_LED },
+ { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , NO_LED , 80 , 81 , 82 , NO_LED , 83 , 84 , 85 }
+},{
+// "Fine-tuned" complex configuration
+ { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0},
+ { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45},
+ { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90},
+ { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
+ { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180},
+ { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 225}, { 210, 225}, { 224, 225}
+}, {
+ 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 , 4 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 4 , 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 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1
+} };
diff --git a/keyboards/acheron/apollo/87htsc/87htsc.h b/keyboards/acheron/apollo/87htsc/87htsc.h
new file mode 100644
index 0000000000..edfb2f4dab
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/87htsc.h
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// 87t for 87-key plus tsangan
+#define LAYOUT_tkl_ansi_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, ___, ___, ___ }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, ___, K5E, K5F, K5G } \
+}
diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h
new file mode 100644
index 0000000000..30021a51b9
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/config.h
@@ -0,0 +1,103 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15, C16 }
+#define MATRIX_COL_PINS { C8 , C9 , A8 , A10, C7 , C6 , B14, B12, B10, B1 , C5 , C4 , A7 , B0 , C11, A3 , B4 }
+// R0 , R1 , R2 , R3 , R4 , R5
+#define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+#define RGB_DI_PIN B15
+#define DRIVER_LED_TOTAL 86
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+
+#define RGB_MATRIX_STARTUP_VAL 60
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/87htsc/halconf.h b/keyboards/acheron/apollo/87htsc/halconf.h
new file mode 100644
index 0000000000..09240969ab
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/apollo/87htsc/info.json b/keyboards/acheron/apollo/87htsc/info.json
new file mode 100644
index 0000000000..b2a9cf1643
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/info.json
@@ -0,0 +1,108 @@
+{
+ "keyboard_name": "Apollo87H-T-SC",
+ "manufacturer": "AcheronProject",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x8776",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_tkl_ansi_tsangan": {
+ "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":5.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+ {"label":"Space", "x":4, "y":5.25, "w":7},
+ {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+ {"label":"GUI", "x":12.5, "y":5.25},
+ {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c b/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c
new file mode 100755
index 0000000000..f814960810
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi_tsangan(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c b/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c
new file mode 100755
index 0000000000..f814960810
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi_tsangan(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk b/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/87htsc/mcuconf.h b/keyboards/acheron/apollo/87htsc/mcuconf.h
new file mode 100644
index 0000000000..652fecfc8a
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk
new file mode 100644
index 0000000000..f2becf4db4
--- /dev/null
+++ b/keyboards/acheron/apollo/87htsc/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = legacy
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/acheron/apollo/88htsc/88htsc.c b/keyboards/acheron/apollo/88htsc/88htsc.c
new file mode 100644
index 0000000000..574e1829de
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/88htsc.c
@@ -0,0 +1,42 @@
+/*
+ Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "88htsc.h"
+
+led_config_t g_led_config = { {
+ { 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 },
+ { 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 },
+ { 50 , 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 },
+ { 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , NO_LED , NO_LED , NO_LED , NO_LED },
+ { 76 , NO_LED , 75 , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , NO_LED , NO_LED , 64 , NO_LED },
+ { 77 , 78 , 79 , NO_LED , NO_LED , NO_LED , 80 , NO_LED , NO_LED , NO_LED , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 }
+},{
+// "Fine-tuned" complex configuration
+ { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 45, 0}, { 28, 0}, { 14, 0}, { 0, 0},
+ { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45},
+ { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90},
+ { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
+ { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180},
+ { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90}
+}, {
+ 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 , 4 , 4 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 4 , 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 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1
+} };
diff --git a/keyboards/acheron/apollo/88htsc/88htsc.h b/keyboards/acheron/apollo/88htsc/88htsc.h
new file mode 100644
index 0000000000..0963663c3f
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/88htsc.h
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// 88T for 88-key plus tsangan
+#define LAYOUT_tkl_f13_ansi_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, ___, ___, ___ }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, ___, K5E, K5F, K5G } \
+}
diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h
new file mode 100644
index 0000000000..5df3628db2
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/config.h
@@ -0,0 +1,103 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15, C16 }
+#define MATRIX_COL_PINS { C8 , C9 , A8 , A10, C7 , C6 , B14, B12, B10, B1 , C5 , C4 , A7 , B0 , C11, A3 , B4 }
+// R0 , R1 , R2 , R3 , R4 , R5
+#define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+#define RGB_DI_PIN B15
+#define DRIVER_LED_TOTAL 87
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+
+#define RGB_MATRIX_STARTUP_VAL 60
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/acheron/apollo/88htsc/halconf.h b/keyboards/acheron/apollo/88htsc/halconf.h
new file mode 100644
index 0000000000..09240969ab
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/apollo/88htsc/info.json b/keyboards/acheron/apollo/88htsc/info.json
new file mode 100644
index 0000000000..4d695faf70
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/info.json
@@ -0,0 +1,109 @@
+{
+ "keyboard_name": "Apollo88H-T-SC",
+ "manufacturer": "AcheronProject",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x8873",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":5.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+ {"label":"Space", "x":4, "y":5.25, "w":7},
+ {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+ {"label":"GUI", "x":12.5, "y":5.25},
+ {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c b/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c
new file mode 100755
index 0000000000..abed7e6fbe
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_f13_ansi_tsangan(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c b/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c
new file mode 100755
index 0000000000..abed7e6fbe
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_f13_ansi_tsangan(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS ,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_tkl_f13_ansi_tsangan(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk b/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/88htsc/mcuconf.h b/keyboards/acheron/apollo/88htsc/mcuconf.h
new file mode 100644
index 0000000000..652fecfc8a
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk
new file mode 100644
index 0000000000..18e8b33b07
--- /dev/null
+++ b/keyboards/acheron/apollo/88htsc/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = legacy
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/acheron/apollo/readme.md b/keyboards/acheron/apollo/readme.md
new file mode 100644
index 0000000000..701378b64e
--- /dev/null
+++ b/keyboards/acheron/apollo/readme.md
@@ -0,0 +1,54 @@
+# Acheron Apollo QMK firmware
+
+![apollo](https://acheronproject.com/images/apollo/delta-pictures/delta1_small.jpeg)
+
+The Apollo is Acheron Project's family of open-source, freely available tenkeyless (TKL) keyboard Printed Circuit Boards (PCB) which main feature is the per-key RGB lighting.
+
+* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
+* Hardware Supported: open-source PCB using the [Joker template](https://acheronproject.com/joker_mcus/joker/). First units were manufactured using STM32F401 microcontroller;
+* Hardware Availability: these PCBs are open-source so you can manufacture them yourself or order them from a factory. See the [project's documentation](https://acheronproject.com/pcbs/apollo/apollo/) for more information.
+
+As of april 7, 2022, Apollo comes in three different layouts:
+
+- 87H (default ANSI)
+- 87H-T-SC (ANSI with tsangan bottom row and stepped caps);
+- 88H-T-SC (ANSI with F13, tsangan bottom row and stepped caps);
+
+See each variant's README for more information on flashing.
+
+## Flashing instructions
+
+### Step 1: enter bootloader
+
+The DFU state in the bootloader can be accessed in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: press the physical button on the back of the PCB for at least five seconds
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
+
+### Step 2: compile firmware
+
+After accessing the DFU state in your PCB, build the default layout using:
+
+ make acheron/apollo/87h/gamma:default # For 87H revision Gamma
+ make acheron/apollo/87h/delta:default # For 87H revision Delta
+ make acheron/apollo/87htsc:default # For 87H-T-SC (only a single revision as of may 2022)
+ make acheron/apollo/88htsc:default # For 88H-T-SC (only a single revision as of may 2022)
+
+### Step 3: flashing
+
+You can use a flashing tool like `dfu-util` or QMK Toolbox to download the resulting `*.bin` file into your PCB.
+
+### (Alternative) Compile and flash
+
+After accessing the DFU state in your PCB, you can compile-and-flash automatically using `dfu-util` through
+
+ make acheron/apollo/<variant>:default:flash
+
+### VIA firmware
+
+When compiling, just substitute `default` for `via`.
+
+## Additional info
+
+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/acheron/arctic/config.h b/keyboards/acheron/arctic/config.h
index 1275eb5a65..63fa908081 100644
--- a/keyboards/acheron/arctic/config.h
+++ b/keyboards/acheron/arctic/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4150 // AP for AcheronProject
-#define PRODUCT_ID 0x4152 // AR for Arctic
-#define DEVICE_VER 0x0001 // Revision pre-Alpha
-#define MANUFACTURER AcheronProject
-#define PRODUCT ArcticPCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/acheron/arctic/info.json b/keyboards/acheron/arctic/info.json
index 4f9974a1f6..4c249a31d3 100644
--- a/keyboards/acheron/arctic/info.json
+++ b/keyboards/acheron/arctic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ArcticPCB",
+ "manufacturer": "AcheronProject",
"url": "http://gondolindrim.github.io/AcheronDocs/arctic/intro.html",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x4152",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [{"label":"~", "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":"Caps Lock", "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.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Fn", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c
new file mode 100644
index 0000000000..645e0ea635
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/alpha.c
@@ -0,0 +1,45 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "alpha.h"
+
+
+void board_init(void) {
+ setPinInput(B6);
+ setPinInput(B7);
+}
+
+void keyboard_post_init_kb(void){
+ // Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin
+ palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(BACKLIGHT_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
+}
+
+#define LED_PIN_ON_STATE 1
+void led_init_ports(void) {
+ palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN | PAL_STM32_PUPDR_FLOATING);
+}
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ #ifdef CAPSLOCK_INDICATOR
+ if(res) {
+ writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock);
+ }
+ #else
+ writePin(LED_CAPS_LOCK_PIN, 0);
+ #endif
+ return res;
+}
diff --git a/keyboards/acheron/athena/alpha/alpha.h b/keyboards/acheron/athena/alpha/alpha.h
new file mode 100644
index 0000000000..740b4280a1
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/alpha.h
@@ -0,0 +1,196 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ │0E │0F │0G │ F13 Row
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │2E │1F │1G │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │3E │2F │2G │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴â”3D │ ISO Enter
+ * LShift │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┠┌─┴───┴────┤
+ * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ │4C │ 2.75u RShift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┠└──────────┘
+ * │50 │51 │52 │56 │59 │5A │5B │5D │ │5E │5F │5G │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │50 │51 │52 │56 │5A │5B │5D │ Tsangan/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_ansi( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_ansi_split_bs_rshift( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_iso( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_iso_split_bs_rshift( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_iso_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h
new file mode 100644
index 0000000000..99dbd76c6f
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/config.h
@@ -0,0 +1,67 @@
+/*
+Copyright 2020 Gondolindrim
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_COL_PINS { A8 , B14, B12, B10, B1 , B0 , A5 , A4 , A3 , A2 , A1 , A0 , C15, A7 , B4 , B3 , A15 }
+#define MATRIX_ROW_PINS { B9 , C13, B8 , B5 , A14 , C14 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
+
+#define BACKLIGHT_PIN A6
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 2
+#define BACKLIGHT_LEVELS 20
+#define BACKLIGHT_BREATHING
+#define BREATHING_PERIOD 5
+#define BACKLIGHT_ON_STATE 0
+
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 34
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+
+#define LED_CAPS_LOCK_PIN A10
+
+// If this is defined, the caps lock LED will turn on and off according to the state of caps lock. If not, the LED will shine like all other LEDs despite the caps lock state.
+#define CAPSLOCK_INDICATOR
diff --git a/keyboards/acheron/athena/alpha/halconf.h b/keyboards/acheron/athena/alpha/halconf.h
new file mode 100644
index 0000000000..ebdb4954a1
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/halconf.h
@@ -0,0 +1,24 @@
+/* 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
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/athena/alpha/info.json b/keyboards/acheron/athena/alpha/info.json
new file mode 100644
index 0000000000..03640fd01d
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Athena",
+ "usb": {
+ "pid": "0x6584",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/acheron/athena/alpha/keymaps/default/keymap.c b/keyboards/acheron/athena/alpha/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f17c1234b7
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/keymaps/default/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, 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, MO(1) , KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/acheron/athena/alpha/keymaps/via/keymap.c b/keyboards/acheron/athena/alpha/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f17c1234b7
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, 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, MO(1) , KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/acheron/athena/alpha/keymaps/via/rules.mk b/keyboards/acheron/athena/alpha/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/acheron/athena/alpha/mcuconf.h b/keyboards/acheron/athena/alpha/mcuconf.h
new file mode 100644
index 0000000000..63f1e30e64
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/mcuconf.h
@@ -0,0 +1,31 @@
+/* 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_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk
new file mode 100644
index 0000000000..7711254bbe
--- /dev/null
+++ b/keyboards/acheron/athena/alpha/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+BACKLIGHT_DRIVER = pwm
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
+ENCODER_ENABLE = no
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/acheron/athena/athena.c b/keyboards/acheron/athena/athena.c
new file mode 100644
index 0000000000..aa5fae94f6
--- /dev/null
+++ b/keyboards/acheron/athena/athena.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Alvaro "Gondolindrim" Volpato
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "athena.h"
diff --git a/keyboards/acheron/athena/athena.h b/keyboards/acheron/athena/athena.h
new file mode 100644
index 0000000000..0dd55ba8f1
--- /dev/null
+++ b/keyboards/acheron/athena/athena.h
@@ -0,0 +1,24 @@
+/* Copyright 2022 Alvaro "Gondolindrim" Volpato
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+#if defined(KEYBOARD_acheron_athena_alpha)
+ #include "alpha.h"
+#elif defined(KEYBOARD_acheron_athena_beta)
+ #include "beta.h"
+#endif
diff --git a/keyboards/acheron/athena/beta/beta.c b/keyboards/acheron/athena/beta/beta.c
new file mode 100644
index 0000000000..06d40d1493
--- /dev/null
+++ b/keyboards/acheron/athena/beta/beta.c
@@ -0,0 +1,35 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "beta.h"
+
+
+void board_init(void) {
+ setPinInput(B6);
+ setPinInput(B7);
+}
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ #ifdef CAPSLOCK_INDICATOR
+ if(res) {
+ writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
+ }
+ #else
+ writePin(LED_CAPS_LOCK_PIN, 0);
+ #endif
+ return res;
+}
diff --git a/keyboards/acheron/athena/beta/beta.h b/keyboards/acheron/athena/beta/beta.h
new file mode 100644
index 0000000000..740b4280a1
--- /dev/null
+++ b/keyboards/acheron/athena/beta/beta.h
@@ -0,0 +1,196 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ │0E │0F │0G │ F13 Row
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │2E │1F │1G │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │3E │2F │2G │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴â”3D │ ISO Enter
+ * LShift │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┠┌─┴───┴────┤
+ * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ │4C │ 2.75u RShift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┠└──────────┘
+ * │50 │51 │52 │56 │59 │5A │5B │5D │ │5E │5F │5G │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │50 │51 │52 │56 │5A │5B │5D │ Tsangan/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_ansi( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_ansi_split_bs_rshift( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { 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, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_iso( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_iso_split_bs_rshift( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
+
+#define LAYOUT_tkl_f13_iso_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+)\
+{\
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, ___, K5D, K5E, K5F, K5G }\
+}
diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h
new file mode 100644
index 0000000000..4b2ae3f06b
--- /dev/null
+++ b/keyboards/acheron/athena/beta/config.h
@@ -0,0 +1,67 @@
+/*
+Copyright 2020 Gondolindrim
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_COL_PINS { C7 , C6 , B14, B12, B10, B1 , C4 , A7 , A6 , A5 , A4 , A3 , A2 , C5 , A10, A8 , C9 }
+#define MATRIX_ROW_PINS { C11, C12, C10, A15, C0 , A1 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
+
+#define BACKLIGHT_PIN B0
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 3
+#define BACKLIGHT_PAL_MODE 2
+#define BACKLIGHT_LEVELS 20
+#define BACKLIGHT_BREATHING
+#define BREATHING_PERIOD 5
+
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 34
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+
+#define LED_CAPS_LOCK_PIN C8
+
+// If this is defined, the caps lock LED will turn on and off according to the state of caps lock. If not, the LED will shine like all other LEDs despite the caps lock state.
+#define CAPSLOCK_INDICATOR
diff --git a/keyboards/acheron/athena/beta/halconf.h b/keyboards/acheron/athena/beta/halconf.h
new file mode 100644
index 0000000000..ebdb4954a1
--- /dev/null
+++ b/keyboards/acheron/athena/beta/halconf.h
@@ -0,0 +1,24 @@
+/* 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
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/acheron/athena/beta/info.json b/keyboards/acheron/athena/beta/info.json
new file mode 100644
index 0000000000..7db7665fe2
--- /dev/null
+++ b/keyboards/acheron/athena/beta/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Athena rev Beta",
+ "usb": {
+ "pid": "0x6585",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/acheron/athena/beta/keymaps/default/keymap.c b/keyboards/acheron/athena/beta/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f17c1234b7
--- /dev/null
+++ b/keyboards/acheron/athena/beta/keymaps/default/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, 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, MO(1) , KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/acheron/athena/beta/keymaps/via/keymap.c b/keyboards/acheron/athena/beta/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f17c1234b7
--- /dev/null
+++ b/keyboards/acheron/athena/beta/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, 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, MO(1) , KC_UP ,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/acheron/athena/beta/keymaps/via/rules.mk b/keyboards/acheron/athena/beta/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/acheron/athena/beta/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/acheron/athena/beta/mcuconf.h b/keyboards/acheron/athena/beta/mcuconf.h
new file mode 100644
index 0000000000..63f1e30e64
--- /dev/null
+++ b/keyboards/acheron/athena/beta/mcuconf.h
@@ -0,0 +1,31 @@
+/* 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_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk
new file mode 100644
index 0000000000..81bbce68c1
--- /dev/null
+++ b/keyboards/acheron/athena/beta/rules.mk
@@ -0,0 +1,24 @@
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+BACKLIGHT_DRIVER = pwm
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
+ENCODER_ENABLE = no
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/acheron/athena/info.json b/keyboards/acheron/athena/info.json
new file mode 100644
index 0000000000..34853a12f6
--- /dev/null
+++ b/keyboards/acheron/athena/info.json
@@ -0,0 +1,895 @@
+{
+ "manufacturer": "AcheronProject",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0xAC11"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"Print Screen", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Back Space", "x":13, "y":1.25},
+ {"label":"Back Space", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":3.25, "w":1.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "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":"Print Screen", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_split_bs_rshift": {
+ "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":"Print Screen", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Back Space", "x":13, "y":1.25},
+ {"label":"Back Space", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"Print Screen", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"Print Screen", "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.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Back Space", "x":13, "y":1.25},
+ {"label":"Back Space", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "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":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_iso_split_bs_rshift": {
+ "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":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Back Space", "x":13, "y":1.25},
+ {"label":"Back Space", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Back Space", "x":13, "y":1.25},
+ {"label":"Back Space", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"Page Up", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"Page Down", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/acheron/athena/readme.md b/keyboards/acheron/athena/readme.md
new file mode 100644
index 0000000000..1c091ada01
--- /dev/null
+++ b/keyboards/acheron/athena/readme.md
@@ -0,0 +1,25 @@
+# Acheron Athena QMK firmware
+
+![athena](https://acheronproject.com/images/athena/IMG_9653.jpg)
+
+The Athena is Acheron Project's open-source, freely available tenkeyless (TKL) keyboard Printed Circuit Boards (PCB) which features:
+
+- Per-key LED lighting
+- Solderable MX switches support
+- Wide variety of layouts including Tsangan bottom row, split right and left shifts, ISO enter, split backspace, F13 top row
+
+* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
+* Hardware Supported: open-source PCB using the [Joker template](https://acheronproject.com/joker_mcus/joker/). First units were manufactured using STM32F4x1 microcontroller;
+* Hardware Availability: these PCBs are open-source so you can manufacture them yourself or order them from a factory. See the [project's documentation](https://acheronproject.com/pcbs/athena/athena/) for more information.
+
+In order to flash this PCB, first build the default layout (after setting up your build environment):
+
+ make acheron/athena/<revision>:default
+
+Where `revision` is the revision of your PCB. Two revisions were prototyped and sold: _Alpha_ and _Beta_. Look into the label on the PCB's back to see what revision is yours. Ready-to-use binaries for the default and the VIA layouts are available in the release pages of the [project's repository](https://github.com/AcheronProject/Athena).
+
+After building or downloading the firmware, put the PCB into DFU mode by holding the reset button for at least five seconds and upload the firmware onto the microcontroller through a utility like `dfu-util` or QMK Toolbox. Alternatively, you can build and flash using:
+
+ make acheron/athena/<revision>: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/acheron/austin/config.h b/keyboards/acheron/austin/config.h
index ddbd6975d4..3b51bb3f86 100644
--- a/keyboards/acheron/austin/config.h
+++ b/keyboards/acheron/austin/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC11
-#define PRODUCT_ID 0x4175
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DriftMechanics
-#define PRODUCT Austin
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
diff --git a/keyboards/acheron/austin/info.json b/keyboards/acheron/austin/info.json
index bee81486e3..6fda03534e 100755
--- a/keyboards/acheron/austin/info.json
+++ b/keyboards/acheron/austin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Austin",
+ "manufacturer": "DriftMechanics",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xAC11",
+ "pid": "0x4175",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/acheron/elongate/beta/config.h b/keyboards/acheron/elongate/beta/config.h
index 874183362c..042da65f8e 100644
--- a/keyboards/acheron/elongate/beta/config.h
+++ b/keyboards/acheron/elongate/beta/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4150 //AP for AcheronProject
-#define PRODUCT_ID 0x454C // EL for Elongate
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Acheron Project
-#define PRODUCT Elongate
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, B7, D5, B5, D6 }
#define MATRIX_COL_PINS { F5, F6, F4, F1, F0, B2, B1, C6, B0, B3, E6, D4, B4}
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/acheron/elongate/beta/info.json b/keyboards/acheron/elongate/beta/info.json
index bfb9db9b3a..7eb1de3c17 100644
--- a/keyboards/acheron/elongate/beta/info.json
+++ b/keyboards/acheron/elongate/beta/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Elongate",
+ "manufacturer": "Acheron Project",
"url": "http://gondolindrim.github.io/AcheronDocs/elongate/introduction.html",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x454C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/acheron/elongate/beta/readme.md b/keyboards/acheron/elongate/beta/readme.md
index 8a8949fdfe..d4298254b5 100755
--- a/keyboards/acheron/elongate/beta/readme.md
+++ b/keyboards/acheron/elongate/beta/readme.md
@@ -20,7 +20,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the front of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
## Compile firmware
diff --git a/keyboards/acheron/elongate/delta/config.h b/keyboards/acheron/elongate/delta/config.h
index 957a6e39cd..8ebc6300d7 100755
--- a/keyboards/acheron/elongate/delta/config.h
+++ b/keyboards/acheron/elongate/delta/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4150 //AP for AcheronProject
-#define PRODUCT_ID 0x454D // EL+1 for Elongate revision Delta
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Acheron Project
-#define PRODUCT Elongate
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/acheron/elongate/delta/info.json b/keyboards/acheron/elongate/delta/info.json
index d96805a66a..54e58deb92 100644
--- a/keyboards/acheron/elongate/delta/info.json
+++ b/keyboards/acheron/elongate/delta/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Elongate",
+ "manufacturer": "Acheron Project",
"url": "http://gondolindrim.github.io/AcheronDocs/elongate/introduction.html",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x454D",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/acheron/elongate/delta/readme.md b/keyboards/acheron/elongate/delta/readme.md
index 055b02ee04..7300b8aa64 100755
--- a/keyboards/acheron/elongate/delta/readme.md
+++ b/keyboards/acheron/elongate/delta/readme.md
@@ -20,7 +20,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (escape key at layer 2 in the default firmware)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (escape key at layer 2 in the default firmware)
## Compile firmware
diff --git a/keyboards/acheron/keebspcb/config.h b/keyboards/acheron/keebspcb/config.h
index 05e08f74f7..4991c68a50 100644
--- a/keyboards/acheron/keebspcb/config.h
+++ b/keyboards/acheron/keebspcb/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4150 // AP for AcheronProject
-#define PRODUCT_ID 0x4B45 // KE for Keebs
-#define DEVICE_VER 0x0001 // Revision pre-Alpha
-#define MANUFACTURER AcheronProject
-#define PRODUCT KeebsPCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
diff --git a/keyboards/acheron/keebspcb/info.json b/keyboards/acheron/keebspcb/info.json
index b316cc6849..31dc899c42 100644
--- a/keyboards/acheron/keebspcb/info.json
+++ b/keyboards/acheron/keebspcb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KeebsPCB",
+ "manufacturer": "AcheronProject",
"url": "http://gondolindrim.github.io/AcheronDocs/keebs/intro.html",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x4B45",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [{"label":"~", "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":"Caps Lock", "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.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Menu", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/acheron/lasgweloth/config.h b/keyboards/acheron/lasgweloth/config.h
index f9a2427fae..aebe821e3b 100644
--- a/keyboards/acheron/lasgweloth/config.h
+++ b/keyboards/acheron/lasgweloth/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4150 // AP for AcheronProject
-#define PRODUCT_ID 0x7641 // LA for Lasgweloth
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AcheronProect
-#define PRODUCT Lasgweloth
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/acheron/lasgweloth/info.json b/keyboards/acheron/lasgweloth/info.json
index b936b45d6e..7cade663da 100644
--- a/keyboards/acheron/lasgweloth/info.json
+++ b/keyboards/acheron/lasgweloth/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lasgweloth",
+ "manufacturer": "AcheronProject",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4150",
+ "pid": "0x7641",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/acheron/shark/alpha/config.h b/keyboards/acheron/shark/alpha/config.h
index 493d267b51..50e14aa258 100644
--- a/keyboards/acheron/shark/alpha/config.h
+++ b/keyboards/acheron/shark/alpha/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC11
-#define PRODUCT_ID 0x5368
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AcheronProject
-#define PRODUCT SharkPCB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -52,7 +45,6 @@ EncA (B6) because it is not used in the default PCB
All Extra pins (A8, B15, B14, B13, B3, B5, B8, B9) , for the same reason;
B0, which is unconnected on the PCB
*/
-//#define UNUSED_PINS { B0, B6, B13, B14, B15, B8, B9, B5, B3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/acheron/shark/alpha/info.json b/keyboards/acheron/shark/alpha/info.json
index 21f4807eeb..435ea843aa 100644
--- a/keyboards/acheron/shark/alpha/info.json
+++ b/keyboards/acheron/shark/alpha/info.json
@@ -2,6 +2,10 @@
"keyboard_name": "SharkPCB",
"url": "https://gondolindrim.github.io/AcheronDocs/shark/intro.html",
"maintainer": "Gondolindrim",
+ "usb": {
+ "pid": "0x5368",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h
index 54fa270336..77e98b329c 100644
--- a/keyboards/acheron/shark/beta/config.h
+++ b/keyboards/acheron/shark/beta/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC11
-#define PRODUCT_ID 0x5369 // For Shark+1
-#define DEVICE_VER 0x0002
-#define MANUFACTURER AcheronProject
-#define PRODUCT SharkPCB rev. Beta
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -47,8 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BREATHING_PERIOD 5
#define BACKLIGHT_ON_STATE 1
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 24
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/acheron/shark/beta/info.json b/keyboards/acheron/shark/beta/info.json
new file mode 100644
index 0000000000..5d0c6557e7
--- /dev/null
+++ b/keyboards/acheron/shark/beta/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "SharkPCB rev. Beta",
+ "usb": {
+ "pid": "0x5369",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/acheron/shark/beta/mcuconf.h b/keyboards/acheron/shark/beta/mcuconf.h
index 35d7e95f57..63f1e30e64 100644
--- a/keyboards/acheron/shark/beta/mcuconf.h
+++ b/keyboards/acheron/shark/beta/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 96
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 4
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/shark/beta/rules.mk b/keyboards/acheron/shark/beta/rules.mk
index 928ad2d49a..0347228300 100644
--- a/keyboards/acheron/shark/beta/rules.mk
+++ b/keyboards/acheron/shark/beta/rules.mk
@@ -1,4 +1,5 @@
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/shark/info.json b/keyboards/acheron/shark/info.json
new file mode 100644
index 0000000000..6d22c842fb
--- /dev/null
+++ b/keyboards/acheron/shark/info.json
@@ -0,0 +1,6 @@
+{
+ "manufacturer": "AcheronProject",
+ "usb": {
+ "vid": "0xAC11"
+ }
+}
diff --git a/keyboards/acheron/shark/readme.md b/keyboards/acheron/shark/readme.md
index d805571ebb..f3ae43ac47 100644
--- a/keyboards/acheron/shark/readme.md
+++ b/keyboards/acheron/shark/readme.md
@@ -17,7 +17,7 @@ The DFU state in the bootloader can be accessed in 2 ways:
* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the back of the PCB
-* **Keycode in layout**: press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout)
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
### Release Beta:
@@ -25,7 +25,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the back of the PCB, for at least five seconds
-* **Keycode in layout**: press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout)
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
## Compile firmware
diff --git a/keyboards/ada/ada1800mini/config.h b/keyboards/ada/ada1800mini/config.h
index 38be5ad5c7..36dc47c124 100644
--- a/keyboards/ada/ada1800mini/config.h
+++ b/keyboards/ada/ada1800mini/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xADA0
-#define PRODUCT_ID 0x1800
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ada
-#define PRODUCT ada1800mini
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/ada/ada1800mini/info.json b/keyboards/ada/ada1800mini/info.json
index 8e746467fc..a7cf7986bd 100644
--- a/keyboards/ada/ada1800mini/info.json
+++ b/keyboards/ada/ada1800mini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ada1800mini",
+ "manufacturer": "Ada",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xADA0",
+ "pid": "0x1800",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ada/ada1800mini/readme.md b/keyboards/ada/ada1800mini/readme.md
index ad323114a6..561dbd99a9 100644
--- a/keyboards/ada/ada1800mini/readme.md
+++ b/keyboards/ada/ada1800mini/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/ada/infinity81/config.h b/keyboards/ada/infinity81/config.h
index af28efeae2..e4cfa2c34e 100644
--- a/keyboards/ada/infinity81/config.h
+++ b/keyboards/ada/infinity81/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xADA0
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ada
-#define PRODUCT infinity81
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { B3, B2, B1, B0, F6, B7 }
#define MATRIX_COL_PINS { D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F5, F1, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ada/infinity81/info.json b/keyboards/ada/infinity81/info.json
index 71fb774721..b2d465fdf9 100644
--- a/keyboards/ada/infinity81/info.json
+++ b/keyboards/ada/infinity81/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "infinity81",
+ "manufacturer": "Ada",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xADA0",
+ "pid": "0x0081",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ada/infinity81/readme.md b/keyboards/ada/infinity81/readme.md
index a134379ce5..f44d762cb7 100644
--- a/keyboards/ada/infinity81/readme.md
+++ b/keyboards/ada/infinity81/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h
new file mode 100644
index 0000000000..cc4cbc940c
--- /dev/null
+++ b/keyboards/adafruit/macropad/config.h
@@ -0,0 +1,131 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 3
+
+/* Keyboard Matrix Assignments */
+// clang-format off
+#define DIRECT_PINS { \
+ { NO_PIN, NO_PIN, GP0 }, \
+ { GP1, GP2, GP3 }, \
+ { GP4, GP5, GP6 }, \
+ { GP7, GP8, GP9 }, \
+ { GP10, GP11, GP12 } \
+}
+// clang-format on
+
+/* OLED SPI Defines */
+#define OLED_DISPLAY_128X64
+#define OLED_IC OLED_IC_SH1106
+
+/* OLED SPI Pins */
+#define OLED_DC_PIN GP24
+#define OLED_CS_PIN GP22
+#define OLED_RST_PIN GP23
+
+/* Shift OLED columns by 2 pixels */
+#define OLED_COLUMN_OFFSET 2
+
+/* Divisor for OLED */
+#define OLED_SPI_DIVISOR 4
+
+/* ChibiOS SPI definitions */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN GP26
+#define SPI_MOSI_PIN GP27
+#define SPI_MISO_PIN GP28
+
+/* Encoders */
+#define ENCODERS_PAD_A { GP18 }
+#define ENCODERS_PAD_B { GP17 }
+
+#define DEBOUNCE 5
+
+/* Bootmagic lite */
+/* (Press the key bellow the encoder button while plugging the keyboard to enter the bootloader and clear flash) */
+#define BOOTMAGIC_LITE_ROW 1
+#define BOOTMAGIC_LITE_COLUMN 2
+
+/* Double tap the side button to enter bootloader */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+/* Audio (Unsupported for now)*/
+// #define AUDIO_PIN GP16
+// #define SPEAKER_SHUTDOWN GP14
+
+#ifdef RGB_MATRIX_ENABLE
+
+ /* RGB Defines */
+# define RGB_DI_PIN GP19
+# define DRIVER_LED_TOTAL 12
+# define RGBLED_NUM 12
+
+ /* Enable Framebuffer and keypress effects */
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_KEYPRESSES
+
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/adafruit/macropad/halconf.h b/keyboards/adafruit/macropad/halconf.h
new file mode 100644
index 0000000000..6cd66fd520
--- /dev/null
+++ b/keyboards/adafruit/macropad/halconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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_next <halconf.h>
+
+#undef HAL_USE_SPI
+#define HAL_USE_SPI TRUE
+
+#undef SPI_USE_WAIT
+#define SPI_USE_WAIT TRUE
+
+#undef SPI_SELECT_MODE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json
new file mode 100644
index 0000000000..e9bd7d85b1
--- /dev/null
+++ b/keyboards/adafruit/macropad/info.json
@@ -0,0 +1,30 @@
+{
+ "keyboard_name": "Macropad RP2040",
+ "manufacturer": "Adafruit",
+ "url": "https://learn.adafruit.com/adafruit-macropad-rp2040",
+ "maintainer": "Jpe230",
+ "usb": {
+ "vid": "0x239A",
+ "pid": "0x0108",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Mute", "x":2, "y":0},
+ {"label":"Enter", "x":0, "y":1},
+ {"label":"KC_0", "x":1, "y":1},
+ {"label":"BackSpace", "x":2, "y":1},
+ {"label":"KC_7", "x":0, "y":2},
+ {"label":"KC_8", "x":1, "y":2},
+ {"label":"KC_9", "x":2, "y":2},
+ {"label":"KC_4", "x":0, "y":3},
+ {"label":"KC_5", "x":1, "y":3},
+ {"label":"KC_6", "x":2, "y":3},
+ {"label":"KC_1", "x":0, "y":4},
+ {"label":"KC_2", "x":1, "y":4},
+ {"label":"KC_3", "x":2, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/adafruit/macropad/keymaps/default/keymap.c b/keyboards/adafruit/macropad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..34989ea0b6
--- /dev/null
+++ b/keyboards/adafruit/macropad/keymaps/default/keymap.c
@@ -0,0 +1,114 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_MUTE,
+ KC_ENT, KC_0, KC_BSPC,
+ KC_7, KC_8, KC_9,
+ KC_4, KC_5, KC_6,
+ KC_1, KC_2, KC_3
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+};
+#endif
+
+
+#ifdef OLED_ENABLE
+static void render_qmk_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
+ 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x7e, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff,
+ 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(qmk_logo, sizeof(qmk_logo));
+}
+
+bool oled_task_user(void) {
+ render_qmk_logo();
+ return true;
+}
+
+#endif
+
diff --git a/keyboards/adafruit/macropad/keymaps/default/rules.mk b/keyboards/adafruit/macropad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/adafruit/macropad/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/adafruit/macropad/keymaps/via/keymap.c b/keyboards/adafruit/macropad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6ef3d3e29d
--- /dev/null
+++ b/keyboards/adafruit/macropad/keymaps/via/keymap.c
@@ -0,0 +1,138 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_MUTE,
+ KC_ENT, KC_0, KC_BSPC,
+ KC_7, KC_8, KC_9,
+ KC_4, KC_5, KC_6,
+ KC_1, KC_2, KC_3
+ ),
+ [1] = LAYOUT(
+ _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
+
+
+#ifdef OLED_ENABLE
+static void render_qmk_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
+ 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x7e, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff,
+ 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(qmk_logo, sizeof(qmk_logo));
+}
+
+bool oled_task_user(void) {
+ render_qmk_logo();
+ return true;
+}
+
+#endif
+
diff --git a/keyboards/adafruit/macropad/keymaps/via/rules.mk b/keyboards/adafruit/macropad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..715838ecc5
--- /dev/null
+++ b/keyboards/adafruit/macropad/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+ENCODER_MAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/adafruit/macropad/lib/oled_driver_spi.h b/keyboards/adafruit/macropad/lib/oled_driver_spi.h
new file mode 100644
index 0000000000..c8a2cd7d9a
--- /dev/null
+++ b/keyboards/adafruit/macropad/lib/oled_driver_spi.h
@@ -0,0 +1,29 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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
+
+#ifndef OLED_DC_PIN
+# error "The OLED driver in SPI needs a D/C pin defined"
+#endif
+#ifndef OLED_CS_PIN
+# error "The OLED driver in SPI needs a CS pin defined"
+#endif
+#ifndef OLED_SPI_MODE
+# define OLED_SPI_MODE 3
+#endif
+#ifndef OLED_SPI_DIVISOR
+# define OLED_SPI_DIVISOR 2
+#endif
diff --git a/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c b/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c
new file mode 100644
index 0000000000..dc1289fdb1
--- /dev/null
+++ b/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c
@@ -0,0 +1,827 @@
+/*
+Copyright 2019 Ryan Caltabiano <https://github.com/XScorpion2>
+Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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 "oled_driver.h"
+#include "oled_driver_spi.h"
+
+#include "spi_master.h"
+
+#include <quantum.h>
+#include OLED_FONT_H
+#include "timer.h"
+#include "print.h"
+
+#include <string.h>
+
+#include "progmem.h"
+
+#include "keyboard.h"
+
+// Used commands from spec sheet: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
+// for SH1106: https://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf
+
+// Fundamental Commands
+#define CONTRAST 0x81
+#define DISPLAY_ALL_ON 0xA5
+#define DISPLAY_ALL_ON_RESUME 0xA4
+#define NORMAL_DISPLAY 0xA6
+#define INVERT_DISPLAY 0xA7
+#define DISPLAY_ON 0xAF
+#define DISPLAY_OFF 0xAE
+#define NOP 0xE3
+
+// Scrolling Commands
+#define ACTIVATE_SCROLL 0x2F
+#define DEACTIVATE_SCROLL 0x2E
+#define SCROLL_RIGHT 0x26
+#define SCROLL_LEFT 0x27
+#define SCROLL_RIGHT_UP 0x29
+#define SCROLL_LEFT_UP 0x2A
+
+// Addressing Setting Commands
+#define MEMORY_MODE 0x20
+#define COLUMN_ADDR 0x21
+#define PAGE_ADDR 0x22
+#define PAM_SETCOLUMN_LSB 0x00
+#define PAM_SETCOLUMN_MSB 0x10
+#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7
+
+// Hardware Configuration Commands
+#define DISPLAY_START_LINE 0x40
+#define SEGMENT_REMAP 0xA0
+#define SEGMENT_REMAP_INV 0xA1
+#define MULTIPLEX_RATIO 0xA8
+#define COM_SCAN_INC 0xC0
+#define COM_SCAN_DEC 0xC8
+#define DISPLAY_OFFSET 0xD3
+#define COM_PINS 0xDA
+#define COM_PINS_SEQ 0x02
+#define COM_PINS_ALT 0x12
+#define COM_PINS_SEQ_LR 0x22
+#define COM_PINS_ALT_LR 0x32
+
+// Timing & Driving Commands
+#define DISPLAY_CLOCK 0xD5
+#define PRE_CHARGE_PERIOD 0xD9
+#define VCOM_DETECT 0xDB
+
+// Advance Graphic Commands
+#define FADE_BLINK 0x23
+#define ENABLE_FADE 0x20
+#define ENABLE_BLINK 0x30
+
+// Charge Pump Commands
+#define CHARGE_PUMP 0x8D
+
+// Misc defines
+#ifndef OLED_BLOCK_COUNT
+# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8)
+#endif
+#ifndef OLED_BLOCK_SIZE
+# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT)
+#endif
+
+#define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1)
+
+#define ARRAY_SIZE(arr) sizeof(arr)/sizeof(arr[0])
+
+// spi defines
+#define OLED_STATUS_SUCCESS SPI_STATUS_SUCCESS
+
+void oled_spi_init(void) {
+ spi_init();
+
+ setPinOutput(OLED_CS_PIN);
+ writePinHigh(OLED_CS_PIN);
+
+ setPinOutput(OLED_DC_PIN);
+ writePinLow(OLED_DC_PIN);
+}
+
+void oled_spi_start(void) {
+ spi_start(OLED_CS_PIN, false, OLED_SPI_MODE, OLED_SPI_DIVISOR);
+}
+
+void oled_spi_stop(void) {
+ spi_stop();
+}
+
+// Transmit/Write Funcs.
+bool oled_cmd(const uint8_t *data, uint16_t size) {
+ oled_spi_start();
+ // Command Mode
+ writePinLow(OLED_DC_PIN);
+ // Send the commands
+ if(spi_transmit(data, size) != OLED_STATUS_SUCCESS){
+ oled_spi_stop();
+ return false;
+ }
+ oled_spi_stop();
+ return true;
+}
+
+bool oled_cmd_p(const uint8_t *data, uint16_t size) {
+ return oled_cmd(data, size);
+}
+
+bool oled_write_reg(const uint8_t *data, uint16_t size)
+{
+ oled_spi_start();
+ // Command Mode
+ writePinHigh(OLED_DC_PIN);
+ // Send the commands
+ if(spi_transmit(data, size) != OLED_STATUS_SUCCESS){
+ oled_spi_stop();
+ return false;
+ }
+ oled_spi_stop();
+ return true;
+}
+
+#define HAS_FLAGS(bits, flags) ((bits & flags) == flags)
+
+// Display buffer's is the same as the OLED memory layout
+// this is so we don't end up with rounding errors with
+// parts of the display unusable or don't get cleared correctly
+// and also allows for drawing & inverting
+uint8_t oled_buffer[OLED_MATRIX_SIZE];
+uint8_t * oled_cursor;
+OLED_BLOCK_TYPE oled_dirty = 0;
+bool oled_initialized = false;
+bool oled_active = false;
+bool oled_scrolling = false;
+bool oled_inverted = false;
+uint8_t oled_brightness = OLED_BRIGHTNESS;
+oled_rotation_t oled_rotation = 0;
+uint8_t oled_rotation_width = 0;
+uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values
+uint8_t oled_scroll_start = 0;
+uint8_t oled_scroll_end = 7;
+#if OLED_TIMEOUT > 0
+uint32_t oled_timeout;
+#endif
+#if OLED_SCROLL_TIMEOUT > 0
+uint32_t oled_scroll_timeout;
+#endif
+#if OLED_UPDATE_INTERVAL > 0
+uint16_t oled_update_timeout;
+#endif
+
+// Flips the rendering bits for a character at the current cursor position
+static void InvertCharacter(uint8_t *cursor) {
+ const uint8_t *end = cursor + OLED_FONT_WIDTH;
+ while (cursor < end) {
+ *cursor = ~(*cursor);
+ cursor++;
+ }
+}
+
+bool oled_init(oled_rotation_t rotation) {
+ oled_rotation = oled_init_user(oled_init_kb(rotation));
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) {
+ oled_rotation_width = OLED_DISPLAY_WIDTH;
+ } else {
+ oled_rotation_width = OLED_DISPLAY_HEIGHT;
+ }
+
+ oled_spi_init();
+
+#ifdef OLED_RST_PIN
+ /* Reset device */
+ setPinOutput(OLED_RST_PIN);
+ writePinLow(OLED_RST_PIN);
+ wait_ms(20);
+ writePinHigh(OLED_RST_PIN);
+ wait_ms(20);
+#endif
+
+ static const uint8_t PROGMEM display_setup1[] = {
+ DISPLAY_OFF,
+ DISPLAY_CLOCK,
+ 0x80,
+ MULTIPLEX_RATIO,
+ OLED_DISPLAY_HEIGHT - 1,
+ DISPLAY_OFFSET,
+ 0x00,
+ DISPLAY_START_LINE | 0x00,
+ CHARGE_PUMP,
+ 0x14,
+#if (OLED_IC != OLED_IC_SH1106)
+ // MEMORY_MODE is unsupported on SH1106 (Page Addressing only)
+ MEMORY_MODE,
+ 0x00, // Horizontal addressing mode
+#endif
+ };
+
+ if (!oled_cmd_p(display_setup1, ARRAY_SIZE(display_setup1))) {
+ print("oled_init cmd set 1 failed\n");
+ return false;
+ }
+
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_180)) {
+ static const uint8_t PROGMEM display_normal[] = {SEGMENT_REMAP_INV, COM_SCAN_DEC};
+ if (!oled_cmd_p(display_normal, ARRAY_SIZE(display_normal))) {
+ print("oled_init cmd normal rotation failed\n");
+ return false;
+ }
+ } else {
+ static const uint8_t PROGMEM display_flipped[] = {SEGMENT_REMAP, COM_SCAN_INC};
+ if (!oled_cmd_p(display_flipped, ARRAY_SIZE(display_flipped))) {
+ print("display_flipped failed\n");
+ return false;
+ }
+ }
+
+ static const uint8_t PROGMEM display_setup2[] = {COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
+ if (!oled_cmd_p(display_setup2, ARRAY_SIZE(display_setup2))) {
+ print("display_setup2 failed\n");
+ return false;
+ }
+
+#if OLED_TIMEOUT > 0
+ oled_timeout = timer_read32() + OLED_TIMEOUT;
+#endif
+#if OLED_SCROLL_TIMEOUT > 0
+ oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT;
+#endif
+
+ oled_clear();
+ oled_initialized = true;
+ oled_active = true;
+ oled_scrolling = false;
+ return true;
+}
+
+__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return rotation;
+}
+__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return rotation;
+}
+
+void oled_clear(void) {
+ memset(oled_buffer, 0, sizeof(oled_buffer));
+ oled_cursor = &oled_buffer[0];
+ oled_dirty = OLED_ALL_BLOCKS_MASK;
+}
+
+static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) {
+ // Calculate commands to set memory addressing bounds.
+ uint8_t start_page = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_WIDTH;
+ uint8_t start_column = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_WIDTH;
+#if (OLED_IC == OLED_IC_SH1106)
+ // Commands for Page Addressing Mode. Sets starting page and column; has no end bound.
+ // Column value must be split into high and low nybble and sent as two commands.
+ cmd_array[0] = PAM_PAGE_ADDR | start_page;
+ cmd_array[1] = PAM_SETCOLUMN_LSB | ((OLED_COLUMN_OFFSET + start_column) & 0x0f);
+ cmd_array[2] = PAM_SETCOLUMN_MSB | ((OLED_COLUMN_OFFSET + start_column) >> 4 & 0x0f);
+ cmd_array[3] = NOP;
+ cmd_array[4] = NOP;
+ cmd_array[5] = NOP;
+#else
+ // Commands for use in Horizontal Addressing mode.
+ cmd_array[1] = start_column;
+ cmd_array[4] = start_page;
+ cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) % OLED_DISPLAY_WIDTH + cmd_array[1];
+ cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) / OLED_DISPLAY_WIDTH - 1;
+#endif
+}
+
+static void calc_bounds_90(uint8_t update_start, uint8_t *cmd_array) {
+ cmd_array[1] = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_HEIGHT * 8;
+ cmd_array[4] = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_HEIGHT;
+ cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) / OLED_DISPLAY_HEIGHT * 8 - 1 + cmd_array[1];
+ ;
+ cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) % OLED_DISPLAY_HEIGHT / 8;
+}
+
+uint8_t crot(uint8_t a, int8_t n) {
+ const uint8_t mask = 0x7;
+ n &= mask;
+ return a << n | a >> (-n & mask);
+}
+
+static void rotate_90(const uint8_t *src, uint8_t *dest) {
+ for (uint8_t i = 0, shift = 7; i < 8; ++i, --shift) {
+ uint8_t selector = (1 << i);
+ for (uint8_t j = 0; j < 8; ++j) {
+ dest[i] |= crot(src[j] & selector, shift - (int8_t)j);
+ }
+ }
+}
+
+void oled_render(void) {
+ if (!oled_initialized) {
+ return;
+ }
+
+ // Do we have work to do?
+ oled_dirty &= OLED_ALL_BLOCKS_MASK;
+ if (!oled_dirty || oled_scrolling) {
+ return;
+ }
+
+ // Find first dirty block
+ uint8_t update_start = 0;
+ while (!(oled_dirty & ((OLED_BLOCK_TYPE)1 << update_start))) {
+ ++update_start;
+ }
+
+ // Set column & page position
+ static uint8_t display_start[] = {COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1};
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) {
+ calc_bounds(update_start, display_start);
+ } else {
+ calc_bounds_90(update_start, display_start);
+ }
+
+ // Send column & page position
+ if (!oled_cmd(display_start, ARRAY_SIZE(display_start))) {
+ print("oled_render offset command failed\n");
+ return;
+ }
+
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) {
+ // Send render data chunk as is
+ if (!oled_write_reg(&oled_buffer[OLED_BLOCK_SIZE * update_start], OLED_BLOCK_SIZE)) {
+ print("oled_render data failed\n");
+ return;
+ }
+ } else {
+ // Rotate the render chunks
+ const static uint8_t source_map[] = OLED_SOURCE_MAP;
+ const static uint8_t target_map[] = OLED_TARGET_MAP;
+
+ static uint8_t temp_buffer[OLED_BLOCK_SIZE];
+ memset(temp_buffer, 0, sizeof(temp_buffer));
+ for (uint8_t i = 0; i < sizeof(source_map); ++i) {
+ rotate_90(&oled_buffer[OLED_BLOCK_SIZE * update_start + source_map[i]], &temp_buffer[target_map[i]]);
+ }
+
+ // Send render data chunk after rotating
+ if (!oled_write_reg(temp_buffer, OLED_BLOCK_SIZE)) {
+ print("oled_render90 data failed\n");
+ return;
+ }
+ }
+
+ // Turn on display if it is off
+ oled_on();
+
+ // Clear dirty flag
+ oled_dirty &= ~((OLED_BLOCK_TYPE)1 << update_start);
+}
+
+void oled_set_cursor(uint8_t col, uint8_t line) {
+ uint16_t index = line * oled_rotation_width + col * OLED_FONT_WIDTH;
+
+ // Out of bounds?
+ if (index >= OLED_MATRIX_SIZE) {
+ index = 0;
+ }
+
+ oled_cursor = &oled_buffer[index];
+}
+
+void oled_advance_page(bool clearPageRemainder) {
+ uint16_t index = oled_cursor - &oled_buffer[0];
+ uint8_t remaining = oled_rotation_width - (index % oled_rotation_width);
+
+ if (clearPageRemainder) {
+ // Remaining Char count
+ remaining = remaining / OLED_FONT_WIDTH;
+
+ // Write empty character until next line
+ while (remaining--)
+ oled_write_char(' ', false);
+ } else {
+ // Next page index out of bounds?
+ if (index + remaining >= OLED_MATRIX_SIZE) {
+ index = 0;
+ remaining = 0;
+ }
+
+ oled_cursor = &oled_buffer[index + remaining];
+ }
+}
+
+void oled_advance_char(void) {
+ uint16_t nextIndex = oled_cursor - &oled_buffer[0] + OLED_FONT_WIDTH;
+ uint8_t remainingSpace = oled_rotation_width - (nextIndex % oled_rotation_width);
+
+ // Do we have enough space on the current line for the next character
+ if (remainingSpace < OLED_FONT_WIDTH) {
+ nextIndex += remainingSpace;
+ }
+
+ // Did we go out of bounds
+ if (nextIndex >= OLED_MATRIX_SIZE) {
+ nextIndex = 0;
+ }
+
+ // Update cursor position
+ oled_cursor = &oled_buffer[nextIndex];
+}
+
+// Main handler that writes character data to the display buffer
+void oled_write_char(const char data, bool invert) {
+ // Advance to the next line if newline
+ if (data == '\n') {
+ // Old source wrote ' ' until end of line...
+ oled_advance_page(true);
+ return;
+ }
+
+ if (data == '\r') {
+ oled_advance_page(false);
+ return;
+ }
+
+ // copy the current render buffer to check for dirty after
+ static uint8_t oled_temp_buffer[OLED_FONT_WIDTH];
+ memcpy(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH);
+
+ _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array");
+
+ // set the reder buffer data
+ uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index
+ if (cast_data < OLED_FONT_START || cast_data > OLED_FONT_END) {
+ memset(oled_cursor, 0x00, OLED_FONT_WIDTH);
+ } else {
+ const uint8_t *glyph = &font[(cast_data - OLED_FONT_START) * OLED_FONT_WIDTH];
+ memcpy_P(oled_cursor, glyph, OLED_FONT_WIDTH);
+ }
+
+ // Invert if needed
+ if (invert) {
+ InvertCharacter(oled_cursor);
+ }
+
+ // Dirty check
+ if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) {
+ uint16_t index = oled_cursor - &oled_buffer[0];
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
+ // Edgecase check if the written data spans the 2 chunks
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << ((index + OLED_FONT_WIDTH - 1) / OLED_BLOCK_SIZE));
+ }
+
+ // Finally move to the next char
+ oled_advance_char();
+}
+
+void oled_write(const char *data, bool invert) {
+ const char *end = data + strlen(data);
+ while (data < end) {
+ oled_write_char(*data, invert);
+ data++;
+ }
+}
+
+void oled_write_ln(const char *data, bool invert) {
+ oled_write(data, invert);
+ oled_advance_page(true);
+}
+
+void oled_pan(bool left) {
+ uint16_t i = 0;
+ for (uint16_t y = 0; y < OLED_DISPLAY_HEIGHT / 8; y++) {
+ if (left) {
+ for (uint16_t x = 0; x < OLED_DISPLAY_WIDTH - 1; x++) {
+ i = y * OLED_DISPLAY_WIDTH + x;
+ oled_buffer[i] = oled_buffer[i + 1];
+ }
+ } else {
+ for (uint16_t x = OLED_DISPLAY_WIDTH - 1; x > 0; x--) {
+ i = y * OLED_DISPLAY_WIDTH + x;
+ oled_buffer[i] = oled_buffer[i - 1];
+ }
+ }
+ }
+ oled_dirty = OLED_ALL_BLOCKS_MASK;
+}
+
+oled_buffer_reader_t oled_read_raw(uint16_t start_index) {
+ if (start_index > OLED_MATRIX_SIZE) start_index = OLED_MATRIX_SIZE;
+ oled_buffer_reader_t ret_reader;
+ ret_reader.current_element = &oled_buffer[start_index];
+ ret_reader.remaining_element_count = OLED_MATRIX_SIZE - start_index;
+ return ret_reader;
+}
+
+void oled_write_raw_byte(const char data, uint16_t index) {
+ if (index > OLED_MATRIX_SIZE) index = OLED_MATRIX_SIZE;
+ if (oled_buffer[index] == data) return;
+ oled_buffer[index] = data;
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
+}
+
+void oled_write_raw(const char *data, uint16_t size) {
+ uint16_t cursor_start_index = oled_cursor - &oled_buffer[0];
+ if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index;
+ for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) {
+ uint8_t c = *data++;
+ if (oled_buffer[i] == c) continue;
+ oled_buffer[i] = c;
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE));
+ }
+}
+
+void oled_write_pixel(uint8_t x, uint8_t y, bool on) {
+ if (x >= oled_rotation_width) {
+ return;
+ }
+ uint16_t index = x + (y / 8) * oled_rotation_width;
+ if (index >= OLED_MATRIX_SIZE) {
+ return;
+ }
+ uint8_t data = oled_buffer[index];
+ if (on) {
+ data |= (1 << (y % 8));
+ } else {
+ data &= ~(1 << (y % 8));
+ }
+ if (oled_buffer[index] != data) {
+ oled_buffer[index] = data;
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE));
+ }
+}
+
+#if defined(__AVR__)
+void oled_write_P(const char *data, bool invert) {
+ uint8_t c = pgm_read_byte(data);
+ while (c != 0) {
+ oled_write_char(c, invert);
+ c = pgm_read_byte(++data);
+ }
+}
+
+void oled_write_ln_P(const char *data, bool invert) {
+ oled_write_P(data, invert);
+ oled_advance_page(true);
+}
+
+void oled_write_raw_P(const char *data, uint16_t size) {
+ uint16_t cursor_start_index = oled_cursor - &oled_buffer[0];
+ if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index;
+ for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) {
+ uint8_t c = pgm_read_byte(data++);
+ if (oled_buffer[i] == c) continue;
+ oled_buffer[i] = c;
+ oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE));
+ }
+}
+#endif // defined(__AVR__)
+
+bool oled_on(void) {
+ if (!oled_initialized) {
+ return oled_active;
+ }
+
+#if OLED_TIMEOUT > 0
+ oled_timeout = timer_read32() + OLED_TIMEOUT;
+#endif
+
+ static const uint8_t PROGMEM display_on[] =
+#ifdef OLED_FADE_OUT
+ {FADE_BLINK, 0x00};
+#else
+ {DISPLAY_ON};
+#endif
+
+ if (!oled_active) {
+ if (!oled_cmd_p(display_on, ARRAY_SIZE(display_on))) {
+ print("oled_on cmd failed\n");
+ return oled_active;
+ }
+ oled_active = true;
+ }
+ return oled_active;
+}
+
+bool oled_off(void) {
+ if (!oled_initialized) {
+ return !oled_active;
+ }
+
+ static const uint8_t PROGMEM display_off[] =
+#ifdef OLED_FADE_OUT
+ {FADE_BLINK, ENABLE_FADE | OLED_FADE_OUT_INTERVAL};
+#else
+ {DISPLAY_OFF};
+#endif
+
+ if (oled_active) {
+ if (!oled_cmd_p(display_off, ARRAY_SIZE(display_off))) {
+ print("oled_off cmd failed\n");
+ return oled_active;
+ }
+ oled_active = false;
+ }
+ return !oled_active;
+}
+
+bool is_oled_on(void) {
+ return oled_active;
+}
+
+uint8_t oled_set_brightness(uint8_t level) {
+ if (!oled_initialized) {
+ return oled_brightness;
+ }
+
+ uint8_t set_contrast[] = { CONTRAST, level};
+ if (oled_brightness != level) {
+ if (!oled_cmd(set_contrast, ARRAY_SIZE(set_contrast))) {
+ print("set_brightness cmd failed\n");
+ return oled_brightness;
+ }
+ oled_brightness = level;
+ }
+ return oled_brightness;
+}
+
+uint8_t oled_get_brightness(void) {
+ return oled_brightness;
+}
+
+// Set the specific 8 lines rows of the screen to scroll.
+// 0 is the default for start, and 7 for end, which is the entire
+// height of the screen. For 128x32 screens, rows 4-7 are not used.
+void oled_scroll_set_area(uint8_t start_line, uint8_t end_line) {
+ oled_scroll_start = start_line;
+ oled_scroll_end = end_line;
+}
+
+void oled_scroll_set_speed(uint8_t speed) {
+ // Sets the speed for scrolling... does not take effect
+ // until scrolling is either started or restarted
+ // the ssd1306 supports 8 speeds
+ // FrameRate2 speed = 7
+ // FrameRate3 speed = 4
+ // FrameRate4 speed = 5
+ // FrameRate5 speed = 0
+ // FrameRate25 speed = 6
+ // FrameRate64 speed = 1
+ // FrameRate128 speed = 2
+ // FrameRate256 speed = 3
+ // for ease of use these are remaped here to be in order
+ static const uint8_t scroll_remap[8] = {7, 4, 5, 0, 6, 1, 2, 3};
+ oled_scroll_speed = scroll_remap[speed];
+}
+
+bool oled_scroll_right(void) {
+ if (!oled_initialized) {
+ return oled_scrolling;
+ }
+
+ // Dont enable scrolling if we need to update the display
+ // This prevents scrolling of bad data from starting the scroll too early after init
+ if (!oled_dirty && !oled_scrolling) {
+ uint8_t display_scroll_right[] = {SCROLL_RIGHT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL};
+ if (!oled_cmd(display_scroll_right, ARRAY_SIZE(display_scroll_right))) {
+ print("oled_scroll_right cmd failed\n");
+ return oled_scrolling;
+ }
+ oled_scrolling = true;
+ }
+ return oled_scrolling;
+}
+
+bool oled_scroll_left(void) {
+ if (!oled_initialized) {
+ return oled_scrolling;
+ }
+
+ // Dont enable scrolling if we need to update the display
+ // This prevents scrolling of bad data from starting the scroll too early after init
+ if (!oled_dirty && !oled_scrolling) {
+ uint8_t display_scroll_left[] = {SCROLL_LEFT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL};
+ if (!oled_cmd(display_scroll_left, ARRAY_SIZE(display_scroll_left))) {
+ print("oled_scroll_left cmd failed\n");
+ return oled_scrolling;
+ }
+ oled_scrolling = true;
+ }
+ return oled_scrolling;
+}
+
+bool oled_scroll_off(void) {
+ if (!oled_initialized) {
+ return !oled_scrolling;
+ }
+
+ if (oled_scrolling) {
+ static const uint8_t PROGMEM display_scroll_off[] = {DEACTIVATE_SCROLL};
+ if (!oled_cmd_p(display_scroll_off, ARRAY_SIZE(display_scroll_off))) {
+ print("oled_scroll_off cmd failed\n");
+ return oled_scrolling;
+ }
+ oled_scrolling = false;
+ oled_dirty = OLED_ALL_BLOCKS_MASK;
+ }
+ return !oled_scrolling;
+}
+
+bool is_oled_scrolling(void) {
+ return oled_scrolling;
+}
+
+bool oled_invert(bool invert) {
+ if (!oled_initialized) {
+ return oled_inverted;
+ }
+
+ if (invert && !oled_inverted) {
+ static const uint8_t PROGMEM display_inverted[] = {INVERT_DISPLAY};
+ if (!oled_cmd_p(display_inverted, ARRAY_SIZE(display_inverted))) {
+ print("oled_invert cmd failed\n");
+ return oled_inverted;
+ }
+ oled_inverted = true;
+ } else if (!invert && oled_inverted) {
+ static const uint8_t PROGMEM display_normal[] = {NORMAL_DISPLAY};
+ if (!oled_cmd_p(display_normal, ARRAY_SIZE(display_normal))) {
+ print("oled_invert cmd failed\n");
+ return oled_inverted;
+ }
+ oled_inverted = false;
+ }
+
+ return oled_inverted;
+}
+
+uint8_t oled_max_chars(void) {
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) {
+ return OLED_DISPLAY_WIDTH / OLED_FONT_WIDTH;
+ }
+ return OLED_DISPLAY_HEIGHT / OLED_FONT_WIDTH;
+}
+
+uint8_t oled_max_lines(void) {
+ if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) {
+ return OLED_DISPLAY_HEIGHT / OLED_FONT_HEIGHT;
+ }
+ return OLED_DISPLAY_WIDTH / OLED_FONT_HEIGHT;
+}
+
+void oled_task(void) {
+ if (!oled_initialized) {
+ return;
+ }
+
+#if OLED_UPDATE_INTERVAL > 0
+ if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) {
+ oled_update_timeout = timer_read();
+ oled_set_cursor(0, 0);
+ oled_task_kb();
+ }
+#else
+ oled_set_cursor(0, 0);
+ oled_task_kb();
+#endif
+
+#if OLED_SCROLL_TIMEOUT > 0
+ if (oled_dirty && oled_scrolling) {
+ oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT;
+ oled_scroll_off();
+ }
+#endif
+
+ // Smart render system, no need to check for dirty
+ oled_render();
+
+ // Display timeout check
+#if OLED_TIMEOUT > 0
+ if (oled_active && timer_expired32(timer_read32(), oled_timeout)) {
+ oled_off();
+ }
+#endif
+
+#if OLED_SCROLL_TIMEOUT > 0
+ if (!oled_scrolling && timer_expired32(timer_read32(), oled_scroll_timeout)) {
+# ifdef OLED_SCROLL_TIMEOUT_RIGHT
+ oled_scroll_right();
+# else
+ oled_scroll_left();
+# endif
+ }
+#endif
+}
+
+__attribute__((weak)) bool oled_task_kb(void) {
+ return oled_task_user();
+}
+__attribute__((weak)) bool oled_task_user(void) {
+ return true;
+}
diff --git a/keyboards/adafruit/macropad/macropad.c b/keyboards/adafruit/macropad/macropad.c
new file mode 100644
index 0000000000..a82a2dabb1
--- /dev/null
+++ b/keyboards/adafruit/macropad/macropad.c
@@ -0,0 +1,56 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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 "macropad.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+#define NA NO_LED
+
+/* RGB Positioning */
+led_config_t g_led_config = { {
+ { NA, NA, NA },
+ { 0, 1, 2 },
+ { 3, 4, 5 },
+ { 6, 7, 8 },
+ { 9, 10, 11 }
+}, {
+ { 0, 0 }, { 112, 0 }, { 224, 0},
+ { 0, 21 }, { 112, 21 }, { 224, 21},
+ { 0, 42 }, { 112, 42 }, { 224, 42},
+ { 0, 64 }, { 112, 64 }, { 224, 64}
+}, {
+ 4, 4, 4,
+ 4, 4, 4,
+ 4, 4, 4,
+ 4, 4, 4
+} };
+
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/adafruit/macropad/macropad.h b/keyboards/adafruit/macropad/macropad.h
new file mode 100644
index 0000000000..6e2e3524b7
--- /dev/null
+++ b/keyboards/adafruit/macropad/macropad.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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"
+
+#define ___ KC_NO
+
+// clang-format off
+ #define LAYOUT( \
+ K02, \
+ K10, K11, K12, \
+ K20, K21, K22, \
+ K30, K31, K32, \
+ K40, K41, K42 \
+ ) \
+ { \
+ { ___, ___, K02 }, \
+ { K10, K11, K12 }, \
+ { K20, K21, K22 }, \
+ { K30, K31, K32 }, \
+ { K40, K41, K42 } \
+ }
+// clang-format on
diff --git a/keyboards/adafruit/macropad/mcuconf.h b/keyboards/adafruit/macropad/mcuconf.h
new file mode 100644
index 0000000000..198a2eea69
--- /dev/null
+++ b/keyboards/adafruit/macropad/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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_next <mcuconf.h>
+
+#undef RP_SPI_USE_SPI1
+#define RP_SPI_USE_SPI1 TRUE
diff --git a/keyboards/adafruit/macropad/readme.md b/keyboards/adafruit/macropad/readme.md
new file mode 100644
index 0000000000..09c8657902
--- /dev/null
+++ b/keyboards/adafruit/macropad/readme.md
@@ -0,0 +1,38 @@
+# Adafruit MacroPad RP2040
+
+![AdafruitMacropad](https://i.imgur.com/dSBSwcJh.jpeg)
+
+A RP2040-powered Macropad with a 3x4 layout.
+
+- Keyboard Maintainer: [Jpe230](https://github.com/jpe230/)
+- Hardware Supported: Adafruit MacroPad RP2040
+- Hardware Availability: [Barebones kit](https://www.adafruit.com/product/5100) [Starter Kit](https://www.adafruit.com/product/5128)
+
+Make example for this board (after setting up your build environment):
+
+```sh
+qmk compile -kb adafruit/macropad -km 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).
+
+## Features
+
+- Raspberry Pi RP2040 Chip + 8MB Flash memory - Dual-core Cortex M0+ at ~130MHz with 264KB of RAM.
+- 3x4 Mechanical key switch sockets - accepts any Cherry MX-compatible switches. Individually tied to GPIO pins (not matrix wired)
+- One NeoPixel RGB LED per switch, on north side.
+- Rotary encoder, 20 detents per rotation, with push-switch on GPIO pin. Push switch is also used for entering bootloader mode when held down on power-up or reset.
+- 128x64 SH1106 Monochrome OLED display - On high-speed hardware SPI port for quick updates.
+- 8mm Speaker/Buzzer - With Class D amplifier and RC filter, can be used to make simple beeps and sounds effects. (Unsupported for now)
+- STEMMA QT Connector - Allows adding any I2C sensors/displays/devices with plug-and-play cables.
+- Reset button - On the side, for quick restarting, press it twice to enter bootloader.
+- Four M3 mounting bosses - Make custom enclosures easily.
+
+## Bootloader
+
+Enter the bootloader in 4 ways:
+
+* **Bootmagic reset**: Hold down the key just bellow the rotary encoder push-button on power-up.
+* **Physical reset button**: Press twice the button on the side while the board is connected.
+* **BOOT button** Hold down the rotary encoder push-button on power-up or reset.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/adafruit/macropad/rules.mk b/keyboards/adafruit/macropad/rules.mk
new file mode 100644
index 0000000000..3636424a71
--- /dev/null
+++ b/keyboards/adafruit/macropad/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = RP2040
+# Bootloader selection
+BOOTLOADER = rp2040
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+# AUDIO_DRIVER = pwm_software
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+WS2812_DRIVER = vendor
+OLED_ENABLE = yes
+OLED_DRIVER = custom
+# Project specific files
+SRC += lib/ssd1306_sh1106.c
+QUANTUM_LIB_SRC += spi_master.c
diff --git a/keyboards/adelheid/config.h b/keyboards/adelheid/config.h
index aca9bdc701..f3eecce72b 100644
--- a/keyboards/adelheid/config.h
+++ b/keyboards/adelheid/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF100
-#define PRODUCT_ID 0xAD78
-#define DEVICE_VER 0x0002
-#define MANUFACTURER floookay
-#define PRODUCT adelheid
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, F4, D1, D2, D3, D5, F7 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, F6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/adelheid/info.json b/keyboards/adelheid/info.json
index 8b92e306e0..c00755d403 100644
--- a/keyboards/adelheid/info.json
+++ b/keyboards/adelheid/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Adelheid",
+ "manufacturer": "floookay",
"url": "https://github.com/floookay/adelheid",
"maintainer": "floookay",
+ "usb": {
+ "vid": "0xF100",
+ "pid": "0xAD78",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/adkb96/info.json b/keyboards/adkb96/info.json
index 609e459749..13fc7e8ccf 100644
--- a/keyboards/adkb96/info.json
+++ b/keyboards/adkb96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "adkb96",
+ "keyboard_name": "ADKB96",
+ "manufacturer": "Bit Trade One",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00A5",
+ "pid": "0xAD96",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x16": {
"layout": [
diff --git a/keyboards/adkb96/rev1/config.h b/keyboards/adkb96/rev1/config.h
index 9727e7eaf7..c9e95b7af0 100644
--- a/keyboards/adkb96/rev1/config.h
+++ b/keyboards/adkb96/rev1/config.h
@@ -16,13 +16,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/>.
*/
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00a5
-#define PRODUCT_ID 0xad96
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bit Trade One
-#define PRODUCT ADKB96
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/adm42/config.h b/keyboards/adm42/config.h
index 7843f38d4f..50e697a645 100644
--- a/keyboards/adm42/config.h
+++ b/keyboards/adm42/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* Microchip ADM42 sublicensing */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE873
-
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lorenzo Leonini
-#define PRODUCT ADM42
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/adm42/info.json b/keyboards/adm42/info.json
new file mode 100644
index 0000000000..bf57885afa
--- /dev/null
+++ b/keyboards/adm42/info.json
@@ -0,0 +1,62 @@
+{
+ "keyboard_name": "ADM42",
+ "manufacturer": "Lorenzo Leonini",
+ "url": "https://adm42.dev/",
+ "maintainer": "lleonini",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE873",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_adm42_3x12_6": {
+ "layout": [
+ {"label":"GUI/`~", "x":0, "y":0.8},
+ {"label":"Q", "x":1, "y":0.8},
+ {"label":"W", "x":2, "y":0},
+ {"label":"E", "x":3, "y":0},
+ {"label":"R", "x":4, "y":0.5},
+ {"label":"T", "x":5, "y":0.5},
+ {"label":"Y", "x":7.5, "y":0.5},
+ {"label":"U", "x":8.5, "y":0.5},
+ {"label":"I", "x":9.5, "y":0},
+ {"label":"O", "x":10.5, "y":0},
+ {"label":"P", "x":11.5, "y":0.8},
+ {"label":"GUI/=+", "x":12.5, "y":0.8},
+
+ {"label":"Ctrl/Tab", "x":0, "y":1.8},
+ {"label":"A", "x":1, "y":1.8},
+ {"label":"S", "x":2, "y":1},
+ {"label":"D", "x":3, "y":1},
+ {"label":"F", "x":4, "y":1.5},
+ {"label":"G", "x":5, "y":1.5},
+ {"label":"H", "x":7.5, "y":1.5},
+ {"label":"J", "x":8.5, "y":1.5},
+ {"label":"K", "x":9.5, "y":1},
+ {"label":"L", "x":10.5, "y":1},
+ {"label":";:", "x":11.5, "y":1.8},
+ {"label":"Ctrl/'\"", "x":12.5, "y":1.8},
+
+ {"label":"Alt", "x":0, "y":2.8},
+ {"label":"Z", "x":1, "y":2.8},
+ {"label":"X", "x":2, "y":2},
+ {"label":"C", "x":3, "y":2},
+ {"label":"V", "x":4, "y":2.5},
+ {"label":"B", "x":5, "y":2.5},
+ {"label":"N", "x":7.5, "y":2.5},
+ {"label":"M", "x":8.5, "y":2.5},
+ {"label":",<", "x":9.5, "y":2},
+ {"label":".>", "x":10.5, "y":2},
+ {"label":"/?", "x":11.5, "y":2.8},
+ {"label":"Alt", "x":12.5, "y":2.8},
+
+ {"label":"Special/Esc", "x":4.25, "y":3.55},
+ {"label":"Shift/Backspace", "x":5.25, "y":3.65},
+ {"label":"Adm/Delete", "x":6.25, "y":1.875, "h":1.25},
+ {"label":"Extra/Enter", "x":6.25, "y":4.05},
+ {"label":"Shift/Space", "x":7.25, "y":3.65},
+ {"label":"Special/Alt", "x":8.25, "y":3.55}
+ ]
+ }
+ }
+}
diff --git a/keyboards/adm42/readme.md b/keyboards/adm42/readme.md
index 1affc11628..a767e8a70b 100644
--- a/keyboards/adm42/readme.md
+++ b/keyboards/adm42/readme.md
@@ -22,6 +22,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/adpenrose/kintsugi/config.h b/keyboards/adpenrose/kintsugi/config.h
index b3aca40a06..d4e3dcc729 100644
--- a/keyboards/adpenrose/kintsugi/config.h
+++ b/keyboards/adpenrose/kintsugi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4450 // "ADP"
-#define PRODUCT_ID 0x0001 // 'Cause it's my first keeb
-#define DEVICE_VER 0x0001
-#define MANUFACTURER adpenrose
-#define PRODUCT Kintsugi
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, E6, D7, C6, D4, D2, F4, F5, B5, B4 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6, F0 }
-#define UNUSED_PINS { D3, C7 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/adpenrose/kintsugi/info.json b/keyboards/adpenrose/kintsugi/info.json
index 0e76187335..db9952af29 100644
--- a/keyboards/adpenrose/kintsugi/info.json
+++ b/keyboards/adpenrose/kintsugi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kintsugi",
+ "manufacturer": "adpenrose",
"url": "https://github.com/ADPenrose/kintsugi_keeb",
"maintainer": "adpenrose",
+ "usb": {
+ "vid": "0x4450",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/adpenrose/kintsugi/readme.md b/keyboards/adpenrose/kintsugi/readme.md
index 2aa402543e..708dc16699 100644
--- a/keyboards/adpenrose/kintsugi/readme.md
+++ b/keyboards/adpenrose/kintsugi/readme.md
@@ -34,4 +34,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the front of the Elite-C microcontroller _**before soldering**_ it to the PCB- some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/adpenrose/shisaku/config.h b/keyboards/adpenrose/shisaku/config.h
new file mode 100644
index 0000000000..7371685ca6
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/config.h
@@ -0,0 +1,37 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#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 { B2, B0, B1, D0, B4, D6, B3, D7 }
+#define MATRIX_COL_PINS { D1, C3, C4, D4, C0, C1, C2 }
+//#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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* Solenoid pin */
+#define SOLENOID_PIN C5
diff --git a/keyboards/adpenrose/shisaku/info.json b/keyboards/adpenrose/shisaku/info.json
new file mode 100644
index 0000000000..6f765ba648
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/info.json
@@ -0,0 +1,17 @@
+{
+ "keyboard_name": "shisaku",
+ "url": "https://github.com/ADPenrose/shisaku_keeb",
+ "maintainer": "ADPenrose",
+ "usb": {
+ "vid": "0x4450",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":1.25, "y":0}, {"label":"Q", "x":2.25, "y":0}, {"label":"W", "x":3.25, "y":0}, {"label":"E", "x":4.25, "y":0}, {"label":"R", "x":5.25, "y":0}, {"label":"T", "x":6.25, "y":0}, {"label":"Y", "x":7.75, "y":0}, {"label":"U", "x":8.75, "y":0}, {"label":"I", "x":9.75, "y":0}, {"label":"O", "x":10.75, "y":0}, {"label":"P", "x":11.75, "y":0}, {"label":"Backspace", "x":12.75, "y":0, "w":1.5}, {"label":"Caps Lock", "x":0.5, "y":1, "w":1.75}, {"label":"A", "x":2.25, "y":1}, {"label":"S", "x":3.25, "y":1}, {"label":"D", "x":4.25, "y":1}, {"label":"F", "x":5.25, "y":1}, {"label":"G", "x":6.25, "y":1}, {"label":"H", "x":7.75, "y":1}, {"label":"J", "x":8.75, "y":1}, {"label":"K", "x":9.75, "y":1}, {"label":"L", "x":10.75, "y":1}, {"label":":", "x":11.75, "y":1}, {"label":"Enter", "x":12.75, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.25}, {"label":"Fn", "x":1.25, "y":2}, {"label":"Z", "x":2.25, "y":2}, {"label":"X", "x":3.25, "y":2}, {"label":"C", "x":4.25, "y":2}, {"label":"V", "x":5.25, "y":2}, {"label":"B", "x":6.25, "y":2}, {"label":"B", "x":7.75, "y":2}, {"label":"N", "x":8.75, "y":2}, {"label":"M", "x":9.75, "y":2}, {"label":"<", "x":10.75, "y":2}, {"label":">", "x":11.75, "y":2}, {"label":"Up", "x":12.75, "y":2}, {"label":"?", "x":13.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":0, "y":3, "w":1.5}, {"label":"Win", "x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"label":"Alt", "x":6.25, "y":3}, {"x":7.75, "y":3, "w":2.75}, {"label":"Left", "x":11.75, "y":3}, {"label":"Down", "x":12.75, "y":3}, {"label":"Right", "x":13.75, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/adpenrose/shisaku/keymaps/default/keymap.c b/keyboards/adpenrose/shisaku/keymaps/default/keymap.c
new file mode 100644
index 0000000000..43ab3d7528
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, MO(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_all(
+ KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+};
diff --git a/keyboards/adpenrose/shisaku/keymaps/default/readme.md b/keyboards/adpenrose/shisaku/keymaps/default/readme.md
new file mode 100644
index 0000000000..6f49aff82e
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Shisaku \ No newline at end of file
diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c b/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c
new file mode 100644
index 0000000000..c3955bf0b1
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, MO(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, HPT_TOG,
+ KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_all(
+ KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+};
diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md b/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md
new file mode 100644
index 0000000000..e9d4bb6af9
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md
@@ -0,0 +1 @@
+# Solenoid keymap for Shisaku
diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk b/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk
new file mode 100644
index 0000000000..e13f2bd035
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+HAPTIC_ENABLE = yes
+HAPTIC_DRIVER += SOLENOID \ No newline at end of file
diff --git a/keyboards/adpenrose/shisaku/keymaps/via/keymap.c b/keyboards/adpenrose/shisaku/keymaps/via/keymap.c
new file mode 100644
index 0000000000..43ab3d7528
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, MO(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_all(
+ KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+};
diff --git a/keyboards/adpenrose/shisaku/keymaps/via/readme.md b/keyboards/adpenrose/shisaku/keymaps/via/readme.md
new file mode 100644
index 0000000000..f7d4f74fdb
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/keymaps/via/readme.md
@@ -0,0 +1 @@
+# VIA keymap for Shisaku \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/keymaps/silly/rules.mk b/keyboards/adpenrose/shisaku/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/mechwild/mokulua/keymaps/silly/rules.mk
+++ b/keyboards/adpenrose/shisaku/keymaps/via/rules.mk
diff --git a/keyboards/adpenrose/shisaku/readme.md b/keyboards/adpenrose/shisaku/readme.md
new file mode 100644
index 0000000000..6a3ffeffda
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/readme.md
@@ -0,0 +1,29 @@
+# Shisaku
+
+![shisaku](https://i.imgur.com/42H1h1dh.jpg)
+
+A 40% alice-like keyboard assembled only with THT components, including the option for a solenoid.
+
+## General info
+
+* Keyboard Maintainer: [Arturo Avila](https://github.com/ADPenrose)
+* Hardware Supported: Shisaku v1 PCB
+* Hardware Availability: [Arturo Avila](https://github.com/ADPenrose)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make adpenrose/shisaku:default
+
+Flashing example for this keyboard:
+
+ make adpenrose/shisaku:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Hold down the button labeled "BOOT" and briefly press the button labeled "RESET" on the back of the PCB. To exit the bootloader mode, briefly press the button labeled "RESET" once more.
+* **Keycode in layout**: Press the key mapped to "QK BOOT" if it is available
diff --git a/keyboards/adpenrose/shisaku/rules.mk b/keyboards/adpenrose/shisaku/rules.mk
new file mode 100644
index 0000000000..ef08ed4a06
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega328p
+
+# Bootloader selection
+BOOTLOADER = usbasploader
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/adpenrose/shisaku/shisaku.c b/keyboards/adpenrose/shisaku/shisaku.c
new file mode 100644
index 0000000000..a1ab356ac6
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/shisaku.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "shisaku.h"
diff --git a/keyboards/adpenrose/shisaku/shisaku.h b/keyboards/adpenrose/shisaku/shisaku.h
new file mode 100644
index 0000000000..ea92202435
--- /dev/null
+++ b/keyboards/adpenrose/shisaku/shisaku.h
@@ -0,0 +1,32 @@
+// Copyright 2022 Arturo Avila (@ADPenrose)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define XXX KC_NO
+
+#define LAYOUT_all( \
+ k00, k01, k02, k03, k04, k05, k06, k10, k11, k12, k13, k14, \
+ k15, k16, k20, k21, k22, k23, k24, k25, k26, k30, k33, k34, \
+ k35, k40, k41, k42, k43, k44, k45, k50, k51, k52, k53, k54, k55, k60, \
+ k61, k62, k63, k64, k65, k70, k74, k75 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06 }, \
+ { k10, k11, k12, k13, k14, k15, k16 }, \
+ { k20, k21, k22, k23, k24, k25, k26 }, \
+ { k30, XXX, XXX, k33, k34, k35, XXX }, \
+ { k40, k41, k42, k43, k44, k45, XXX }, \
+ { k50, k51, k52, k53, k54, k55, XXX }, \
+ { k60, k61, k62, k63, k64, k65, XXX }, \
+ { k70, XXX, XXX, XXX, k74, k75, XXX } \
+}
diff --git a/keyboards/aeboards/aegis/config.h b/keyboards/aeboards/aegis/config.h
index 7f59c52005..e87b856968 100644
--- a/keyboards/aeboards/aegis/config.h
+++ b/keyboards/aeboards/aegis/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4145 // "AE"
-#define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-)
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AEboards
-#define PRODUCT AEboards Aegis
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, F6, E6, F7, D1, D0, D6, D4, B4, D7, B6, B5 }
#define MATRIX_COL_PINS { C7, C6, B7, D2, D3, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aeboards/aegis/info.json b/keyboards/aeboards/aegis/info.json
index ff0c9bf822..00e03f7685 100644
--- a/keyboards/aeboards/aegis/info.json
+++ b/keyboards/aeboards/aegis/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aegis",
+ "manufacturer": "AEboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4145",
+ "pid": "0x0807",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_aegis": {
"layout": [
diff --git a/keyboards/aeboards/constellation/rev1/config.h b/keyboards/aeboards/constellation/rev1/config.h
index 22dd96f663..bd4614f8b2 100755
--- a/keyboards/aeboards/constellation/rev1/config.h
+++ b/keyboards/aeboards/constellation/rev1/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4145 // AE
-#define PRODUCT_ID 0x065C // 65 - Constellation
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AEBoards
-#define PRODUCT AEBoards Constellation Rev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, F0, F1, F4 }
#define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aeboards/constellation/rev1/info.json b/keyboards/aeboards/constellation/rev1/info.json
index af09a0dfc7..7539c9bf45 100644
--- a/keyboards/aeboards/constellation/rev1/info.json
+++ b/keyboards/aeboards/constellation/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Constellation",
+ "keyboard_name": "Constellation Rev1",
+ "manufacturer": "AEBoards",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x4145",
+ "pid": "0x065C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/aeboards/constellation/rev2/config.h b/keyboards/aeboards/constellation/rev2/config.h
index de42885b47..e057382aee 100755
--- a/keyboards/aeboards/constellation/rev2/config.h
+++ b/keyboards/aeboards/constellation/rev2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4145 // AE
-#define PRODUCT_ID 0x065C // 65 - Constellation
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AEBoards
-#define PRODUCT AEBoards Constellation Rev2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B15, A14, A2, B13, B14 }
#define MATRIX_COL_PINS { B12, A1, H0, C15, C14, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aeboards/constellation/rev2/info.json b/keyboards/aeboards/constellation/rev2/info.json
index af09a0dfc7..95da6851c4 100644
--- a/keyboards/aeboards/constellation/rev2/info.json
+++ b/keyboards/aeboards/constellation/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Constellation",
+ "keyboard_name": "Constellation Rev2",
+ "manufacturer": "AEBoards",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x4145",
+ "pid": "0x065C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/aeboards/ext65/info.json b/keyboards/aeboards/ext65/info.json
index bc2fe64bf4..09056ce1f4 100644
--- a/keyboards/aeboards/ext65/info.json
+++ b/keyboards/aeboards/ext65/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Ext65",
+ "manufacturer": "AEBoards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4145",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ext65": {
"layout": [
diff --git a/keyboards/aeboards/ext65/rev1/config.h b/keyboards/aeboards/ext65/rev1/config.h
index cd9c240069..94c932e44d 100644
--- a/keyboards/aeboards/ext65/rev1/config.h
+++ b/keyboards/aeboards/ext65/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4145 // "AE"
-#define PRODUCT_ID 0xAE65 // AEboards EXT65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AEBoards
-#define PRODUCT AEBoards Ext65
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, C7, B5, B6, D7, B4, D4, D6, B7, E6 }
#define MATRIX_COL_PINS { B2, B3, B1, B0, F7, F0, F1, F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aeboards/ext65/rev1/info.json b/keyboards/aeboards/ext65/rev1/info.json
new file mode 100644
index 0000000000..bb472fcf7f
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0xAE65"
+ }
+}
diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h
index 498e345ad7..0ccbc6353a 100644
--- a/keyboards/aeboards/ext65/rev2/config.h
+++ b/keyboards/aeboards/ext65/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4145 // "AE"
-#define PRODUCT_ID 0xA652 // AEboards EXT65 Rev2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AEBoards
-#define PRODUCT AEBoards Ext65 Rev2
-
/* key matrix size */
/* key matrix size */
#define MATRIX_ROWS 10
diff --git a/keyboards/aeboards/ext65/rev2/info.json b/keyboards/aeboards/ext65/rev2/info.json
new file mode 100644
index 0000000000..cacde3b019
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0xA652"
+ }
+}
diff --git a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c
index 61db52392e..521691d74f 100644
--- a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c
+++ b/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNCTION] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”┌────────┬────────┬────────â”
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCA(KC_D),LCA(KC_F),LCA(KC_G),
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCA(KC_D),LCA(KC_F),LCA(KC_G),
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, LCA(KC_E),LCA(KC_ENT),LCA(KC_T),
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
diff --git a/keyboards/afternoonlabs/breeze/rev0/config.h b/keyboards/afternoonlabs/breeze/rev0/config.h
index 7dc9a68f7d..a4f03a7c4e 100644
--- a/keyboards/afternoonlabs/breeze/rev0/config.h
+++ b/keyboards/afternoonlabs/breeze/rev0/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0000
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT Breeze
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/afternoonlabs/breeze/rev0/info.json b/keyboards/afternoonlabs/breeze/rev0/info.json
index ccf44f5e3a..b53227a50d 100644
--- a/keyboards/afternoonlabs/breeze/rev0/info.json
+++ b/keyboards/afternoonlabs/breeze/rev0/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Breeze",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com/breeze",
- "productId": "0x0001",
"maintainer": "eithanshavit",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0001",
+ "device_version": "0.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/afternoonlabs/breeze/rev1/config.h b/keyboards/afternoonlabs/breeze/rev1/config.h
index 383a16d455..0e2a0af980 100644
--- a/keyboards/afternoonlabs/breeze/rev1/config.h
+++ b/keyboards/afternoonlabs/breeze/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT Breeze
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/afternoonlabs/breeze/rev1/info.json b/keyboards/afternoonlabs/breeze/rev1/info.json
index ccf44f5e3a..e69c88510a 100644
--- a/keyboards/afternoonlabs/breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/breeze/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Breeze",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com/breeze",
- "productId": "0x0001",
"maintainer": "eithanshavit",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/afternoonlabs/gust/rev1/config.h b/keyboards/afternoonlabs/gust/rev1/config.h
index 650b98c1b8..c2f4290a0b 100644
--- a/keyboards/afternoonlabs/gust/rev1/config.h
+++ b/keyboards/afternoonlabs/gust/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT Gust
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 3
diff --git a/keyboards/afternoonlabs/gust/rev1/info.json b/keyboards/afternoonlabs/gust/rev1/info.json
index 6a9406d399..643e9fbf25 100644
--- a/keyboards/afternoonlabs/gust/rev1/info.json
+++ b/keyboards/afternoonlabs/gust/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Gust",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com/breeze",
- "productId": "0x0002",
"maintainer": "eithanshavit",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h b/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
index 6afe6b54e8..41a7c78113 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
+++ b/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT OceanBreeze
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/info.json b/keyboards/afternoonlabs/oceanbreeze/rev1/info.json
index 0d0db367a4..166548d154 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/info.json
+++ b/keyboards/afternoonlabs/oceanbreeze/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "OceanBreeze",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com",
- "productId": "0x0003",
"maintainer": "afternoonlabs",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/config.h b/keyboards/afternoonlabs/southern_breeze/rev1/config.h
index e1533a6fa0..0e2a0af980 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/config.h
+++ b/keyboards/afternoonlabs/southern_breeze/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT Southern Breeze
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/info.json b/keyboards/afternoonlabs/southern_breeze/rev1/info.json
index b7f541ffb7..cb86c899ae 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/southern_breeze/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Southern Breeze",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com/breeze",
- "productId": "0x0005",
"maintainer": "eithanshavit",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/config.h b/keyboards/afternoonlabs/summer_breeze/rev1/config.h
index 86c40389aa..0e2a0af980 100644
--- a/keyboards/afternoonlabs/summer_breeze/rev1/config.h
+++ b/keyboards/afternoonlabs/summer_breeze/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x616C
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AfternoonLabs
-#define PRODUCT Summer Breeze
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/info.json b/keyboards/afternoonlabs/summer_breeze/rev1/info.json
index 7e5da9b8cb..5d555fadcf 100644
--- a/keyboards/afternoonlabs/summer_breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/summer_breeze/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Summer Breeze",
+ "manufacturer": "AfternoonLabs",
"url": "afternoonlabs.com/breeze",
- "productId": "0x0004",
"maintainer": "eithanshavit",
+ "usb": {
+ "vid": "0x616C",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai/config.h b/keyboards/ai/config.h
new file mode 100644
index 0000000000..ceac109fb2
--- /dev/null
+++ b/keyboards/ai/config.h
@@ -0,0 +1,20 @@
+// Copyright 2022 Louis Dalibard (@make42)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ai/info.json b/keyboards/ai/info.json
new file mode 100644
index 0000000000..3f0f7ffbca
--- /dev/null
+++ b/keyboards/ai/info.json
@@ -0,0 +1,51 @@
+{
+ "manufacturer": "Louis Dalibard",
+ "keyboard_name": "ai",
+ "maintainer": "make42",
+ "bootloader": "caterina",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F5", "F6", "F7", "B1"],
+ "rows": ["D0", "D4", "C6", "D7", "D1"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xFEED"
+ },
+ "layouts": {
+ "LAYOUT_ai_5x4_1": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0.5 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0.3 },
+ { "matrix": [0, 3], "x": 3, "y": 0.7 },
+ { "matrix": [1, 0], "x": 0, "y": 1.5 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1.3 },
+ { "matrix": [1, 3], "x": 3, "y": 1.7 },
+ { "matrix": [2, 0], "x": 0, "y": 2.5 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2.3 },
+ { "matrix": [2, 3], "x": 3, "y": 2.7 },
+ { "matrix": [3, 0], "x": 0, "y": 3.5 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3.3 },
+ { "matrix": [3, 3], "x": 3, "y": 3.7 },
+ { "matrix": [4, 1], "x": 2.5, "y": 5 },
+ { "matrix": [4, 2], "x": 3.5, "y": 4.8 },
+ { "matrix": [4, 3], "x": 4.5, "y": 4.6 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/ai/keymaps/default/keymap.c b/keyboards/ai/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c948476776
--- /dev/null
+++ b/keyboards/ai/keymaps/default/keymap.c
@@ -0,0 +1,24 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───â”
+ * │Tab│ Q │ W │ E │
+ * ├───┼───┼───┼───┤
+ * │Bsp│ R │ T │ A │
+ * ├───┼───┼───┼───┤
+ * │Sft│ S │ D │ F │
+ * ├───┼───┼───┼───┤
+ * │Ctl│ Z │ X │ C │
+ * ├───┼───┼───┼───┤
+ * │NaN│App│GUI│Alt│
+ * └───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_ai_5x4_1(
+ KC_TAB, KC_Q, KC_W, KC_E,
+ KC_BSPC, KC_R, KC_T, KC_A,
+ KC_LSFT, KC_S, KC_D, KC_F,
+ KC_LCTL, KC_Z, KC_X, KC_C,
+ KC_MENU, KC_LGUI, KC_LALT
+ )
+};
diff --git a/keyboards/ai/readme.md b/keyboards/ai/readme.md
new file mode 100644
index 0000000000..f61e4933ac
--- /dev/null
+++ b/keyboards/ai/readme.md
@@ -0,0 +1,34 @@
+# ai
+
+![ai](https://i.imgur.com/4l6BzRh.png)
+
+This is a small open source 5x4-1 macropad powered by QMK
+
+* Keyboard Maintainer: [Louis Dalibard](https://github.com/make42)
+* Hardware Supported: The PCB for ai is located here: [ai](https://github.com/make42/ai)
+* Hardware Availability: Here is a complete BOM with links to where you can find parts:
+ * PCB (I personally used JLCPCB)
+ * Arduino Pro Micro ([Aliexpress](https://fr.aliexpress.com/item/32768308647.html?spm=a2g0o.order_list.0.0.3ccc5e5bU64POK&gatewayAdapt=glo2fra))
+ * Female pin rows ([Aliexpress]https://fr.aliexpress.com/item/4001122376295.html?spm=a2g0o.order_list.0.0.23845e5bTBt8sp&gatewayAdapt=glo2fra))
+ * Gateron hotswap sockets ([Aliexpress](https://fr.aliexpress.com/item/1005003129613578.html?spm=a2g0o.order_list.0.0.23845e5bTBt8sp&gatewayAdapt=glo2fra))
+ * Zener diodes ([Aliexpress](https://fr.aliexpress.com/item/1005003276184193.html?spm=a2g0o.order_list.0.0.23845e5bTBt8sp&gatewayAdapt=glo2fra))
+ * Keyswitches (use a compatible MX switch)
+ * Keycaps (Duh)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make ai:default
+
+Flashing example for this keyboard:
+
+ make ai:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/ai/rules.mk b/keyboards/ai/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/ai/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ai03/andromeda/config.h b/keyboards/ai03/andromeda/config.h
index f88eb02123..cfacca7c04 100644
--- a/keyboards/ai03/andromeda/config.h
+++ b/keyboards/ai03/andromeda/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x000A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT Andromeda
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/ai03/andromeda/info.json b/keyboards/ai03/andromeda/info.json
index 0f4c0adb14..8e77bc59fd 100644
--- a/keyboards/ai03/andromeda/info.json
+++ b/keyboards/ai03/andromeda/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Andromeda",
+ "manufacturer": "ai03 Design Studio",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x000A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_wkl": {
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/ai03/equinox/config.h b/keyboards/ai03/equinox/config.h
index 4a6b841b60..b6dd990e5f 100644
--- a/keyboards/ai03/equinox/config.h
+++ b/keyboards/ai03/equinox/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT Equinox
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, C5, D4, D5 }
#define MATRIX_COL_PINS { D1, D2, C6, C7, B6, B5, B4, B3, B2, B1, B0, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/equinox/info.json b/keyboards/ai03/equinox/info.json
index 18aa1fe8d6..f5c8ecbfba 100644
--- a/keyboards/ai03/equinox/info.json
+++ b/keyboards/ai03/equinox/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Equinox",
+ "manufacturer": "ai03 Design Studio",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ai03/equinox/keymaps/crd/keymap.c b/keyboards/ai03/equinox/keymaps/crd/keymap.c
index 108a00d9d4..b945dc16d5 100644
--- a/keyboards/ai03/equinox/keymaps/crd/keymap.c
+++ b/keyboards/ai03/equinox/keymaps/crd/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_all( /* Num and FN */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_MINS, KC_EQL, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_MINS, KC_EQL, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_SCLN, KC_QUOT, XXXXXXX, _______,
_______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
_______, XXXXXXX, _______, _______, _______, _______, _______, XXXXXXX, _______
diff --git a/keyboards/ai03/jp60/config.h b/keyboards/ai03/jp60/config.h
index 2e48321546..dd1b4bcb0e 100644
--- a/keyboards/ai03/jp60/config.h
+++ b/keyboards/ai03/jp60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0024
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT JP60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B5, B4, D7, E6 }
#define MATRIX_COL_PINS { D2, D1, D3, D5, D4, D6, C6, F0, F1, F4, F5, F6, F7, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/jp60/info.json b/keyboards/ai03/jp60/info.json
index d5453de734..a5428270f9 100644
--- a/keyboards/ai03/jp60/info.json
+++ b/keyboards/ai03/jp60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JP60",
+ "manufacturer": "ai03 Design Studio",
"url": "https://github.com/ai03-2725/JP60",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0024",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai03/jp60/keymaps/default/config.h b/keyboards/ai03/jp60/keymaps/default/config.h
deleted file mode 100644
index 9e0623524a..0000000000
--- a/keyboards/ai03/jp60/keymaps/default/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 ai03
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Increase scan quantity for improved performance */
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/ai03/jp60/keymaps/via/config.h b/keyboards/ai03/jp60/keymaps/via/config.h
deleted file mode 100644
index 9e0623524a..0000000000
--- a/keyboards/ai03/jp60/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 ai03
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Increase scan quantity for improved performance */
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/ai03/jp60/readme.md b/keyboards/ai03/jp60/readme.md
index 25a3b16413..d5dbd669fd 100644
--- a/keyboards/ai03/jp60/readme.md
+++ b/keyboards/ai03/jp60/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/ai03/lunar/config.h b/keyboards/ai03/lunar/config.h
index 65f428776f..3cdec4d046 100644
--- a/keyboards/ai03/lunar/config.h
+++ b/keyboards/ai03/lunar/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Switchplate Peripherals
-#define PRODUCT Lunar
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/lunar/info.json b/keyboards/ai03/lunar/info.json
index ca2b35e3de..f65d21ab80 100644
--- a/keyboards/ai03/lunar/info.json
+++ b/keyboards/ai03/lunar/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lunar",
+ "manufacturer": "Switchplate Peripherals",
"url": "https://geekhack.org/index.php?topic=96112.0",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c b/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c
index 4bbea42af0..4846a220e3 100644
--- a/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c
+++ b/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT( /* FN */
- 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_DEL, KC_DEL, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
_______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______,
diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h
index 1b745b4e1f..3cd0895788 100644
--- a/keyboards/ai03/orbit/config.h
+++ b/keyboards/ai03/orbit/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0003
-#define MANUFACTURER ai03 Keyboard Designs
-#define PRODUCT Orbit
-
/* key matrix size */
#define MATRIX_ROWS 10 // Double rows for split keyboards. Orbit has 5, so define 10
#define MATRIX_COLS 7
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { C7, B4, D7, D6, D4, F1, F0 }
#define MATRIX_ROW_PINS_RIGHT { B6, B5, B4, D7, E6 }
#define MATRIX_COL_PINS_RIGHT { D4, D6, F1, F0, F4, F5, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/orbit/info.json b/keyboards/ai03/orbit/info.json
index a9f0804820..9deccb9a30 100644
--- a/keyboards/ai03/orbit/info.json
+++ b/keyboards/ai03/orbit/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "orbit",
+ "keyboard_name": "Orbit",
+ "manufacturer": "ai03 Keyboard Designs",
"url": "https://github.com/ai03-2725/Orbit",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0003",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h
index 74acd64746..6966de9df5 100644
--- a/keyboards/ai03/orbit_x/config.h
+++ b/keyboards/ai03/orbit_x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0014
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT OrbitX
-
/* key matrix size */
#define MATRIX_ROWS 8 // Double the rows for split
#define MATRIX_COLS 6
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { E6, F6, B1, B0, C7, C6 }
#define MATRIX_ROW_PINS_RIGHT { B5, D7, B4, D4 }
#define MATRIX_COL_PINS_RIGHT { D6, B6, B1, B0, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/orbit_x/info.json b/keyboards/ai03/orbit_x/info.json
index 9d22282925..19ae38fcdf 100644
--- a/keyboards/ai03/orbit_x/info.json
+++ b/keyboards/ai03/orbit_x/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Orbit-X",
+ "keyboard_name": "OrbitX",
+ "manufacturer": "ai03 Design Studio",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0014",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h
index 2d869dd0bd..8cf852cfab 100644
--- a/keyboards/ai03/polaris/config.h
+++ b/keyboards/ai03/polaris/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT Polaris
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/polaris/info.json b/keyboards/ai03/polaris/info.json
index 99f8ca7a3d..c4bef0c4a0 100644
--- a/keyboards/ai03/polaris/info.json
+++ b/keyboards/ai03/polaris/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Polaris",
+ "manufacturer": "ai03 Design Studio",
"url": "https://kb.ai03.me/projects/polaris.html",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ai03/polaris/keymaps/mekberg/keymap.c b/keyboards/ai03/polaris/keymaps/mekberg/keymap.c
index fce03adfbe..a33a9247af 100644
--- a/keyboards/ai03/polaris/keymaps/mekberg/keymap.c
+++ b/keyboards/ai03/polaris/keymaps/mekberg/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_60_tsangan_hhkb(
// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────â”
// | | | | | | | | | | | | | | | |
- 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,5u | | | | | | | | | | | | | 1,5u |
_______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/ai03/polaris/keymaps/testing/keymap.c b/keyboards/ai03/polaris/keymaps/testing/keymap.c
index c819225103..9a8efc5d09 100644
--- a/keyboards/ai03/polaris/keymaps/testing/keymap.c
+++ b/keyboards/ai03/polaris/keymaps/testing/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
),
[_FN] = LAYOUT_all( /* FN */
- 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_DEL, KC_BSPC,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
diff --git a/keyboards/ai03/quasar/config.h b/keyboards/ai03/quasar/config.h
index 97fa2df2da..462ffe1a8e 100644
--- a/keyboards/ai03/quasar/config.h
+++ b/keyboards/ai03/quasar/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ryota Goto
-#define PRODUCT Quasar
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/quasar/info.json b/keyboards/ai03/quasar/info.json
index 439d4feea8..d404e644a0 100644
--- a/keyboards/ai03/quasar/info.json
+++ b/keyboards/ai03/quasar/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "quasar",
+ "keyboard_name": "Quasar",
+ "manufacturer": "Ryota Goto",
"url": "https://github.com/ai03-2725/Quasar/",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ai03/quasar/keymaps/ai03/keymap.c b/keyboards/ai03/quasar/keymaps/ai03/keymap.c
index e2dca55cd1..95348ee113 100644
--- a/keyboards/ai03/quasar/keymaps/ai03/keymap.c
+++ b/keyboards/ai03/quasar/keymaps/ai03/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_SPC, KC_GRV, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT( /* FN */
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______,
KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_PGUP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLU, KC_VOLD, KC_HOME, KC_PGDN, KC_END, _______, _______, _______,
diff --git a/keyboards/ai03/soyuz/config.h b/keyboards/ai03/soyuz/config.h
index 8022145ceb..9ffec17840 100644
--- a/keyboards/ai03/soyuz/config.h
+++ b/keyboards/ai03/soyuz/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0018
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT Soyuz
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, B6, E6, B4 }
#define MATRIX_COL_PINS { F4, B3, D7, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/soyuz/info.json b/keyboards/ai03/soyuz/info.json
index 8195a6f099..98af3b3373 100644
--- a/keyboards/ai03/soyuz/info.json
+++ b/keyboards/ai03/soyuz/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Soyuz",
+ "manufacturer": "ai03 Design Studio",
"url": "https://github.com/ai03-2725/soyuz",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0018",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/ai03/vega/config.h b/keyboards/ai03/vega/config.h
index 5f94ea9a7d..d6fbd8418d 100644
--- a/keyboards/ai03/vega/config.h
+++ b/keyboards/ai03/vega/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0015
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03 Design Studio
-#define PRODUCT Vega
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/ai03/vega/info.json b/keyboards/ai03/vega/info.json
index 027f03ef35..ee66f539c9 100644
--- a/keyboards/ai03/vega/info.json
+++ b/keyboards/ai03/vega/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Vega",
+ "manufacturer": "ai03 Design Studio",
"url": "ai03.com",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0015",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ai03/voyager60_alps/config.h b/keyboards/ai03/voyager60_alps/config.h
index cd06071989..c96be0030d 100644
--- a/keyboards/ai03/voyager60_alps/config.h
+++ b/keyboards/ai03/voyager60_alps/config.h
@@ -16,18 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x060A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ai03
-#define PRODUCT Voyager60-Alps
-
#define MATRIX_ROWS 5
#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}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ai03/voyager60_alps/info.json b/keyboards/ai03/voyager60_alps/info.json
index 64cbaa668e..25c142f795 100644
--- a/keyboards/ai03/voyager60_alps/info.json
+++ b/keyboards/ai03/voyager60_alps/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Voyager60-Alps",
+ "manufacturer": "ai03",
"url": "https://github.com/ai03-2725/Voyager60/tree/alps",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x060A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/aidansmithdotdev/fine40/config.h b/keyboards/aidansmithdotdev/fine40/config.h
new file mode 100644
index 0000000000..43ac1e5dda
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/config.h
@@ -0,0 +1,12 @@
+// Copyright 2022 Aidan Smith (@Aidan-OS)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define ENCODER_RESOLUTION 2
+#define ENCODERS_PAD_A { D5 }
+#define ENCODERS_PAD_B { B7 }
+
+#define OLED_DISPLAY_128X64 //Comment this out to change the screen size
diff --git a/keyboards/aidansmithdotdev/fine40/fine40.c b/keyboards/aidansmithdotdev/fine40/fine40.c
new file mode 100644
index 0000000000..cc4024136e
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/fine40.c
@@ -0,0 +1,85 @@
+// Copyright 2022 Aidan Smith (@Aidan-OS)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "fine40.h"
+
+enum keyboard_layers {
+ _MAIN,
+ _RIGHT,
+ _LEFT,
+ _TAB,
+};
+
+#ifdef OLED_ENABLE
+//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,128,192,224,224,240,240,248,248,248,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,248,248,248,240,240,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,224,224,192, 0, 0, 0, 0, 96,240,240, 96, 0, 0, 0, 0, 0, 0,240,240,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,128,192,224,240,248,252,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 15, 7, 7, 7, 15,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,248,240,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,240,254,255,127,115,127,127,255,252,224, 0,255,255,255,254, 48,254,254,255,199,135,255,255,255, 0,224,247,255,191,191,255,255,254, 0,254,255,255,255, 7,255,255,254,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// 0, 0, 0, 0,192,248,254,255,255,255,255,255,255,255,255,255,127, 31, 15, 7, 3, 1,192,224,240,251,255,255,255,255,255, 0, 0, 0, 0, 0,255,255,255,255,255,255,241,225,192, 1, 3, 7, 15, 31,127,255,255,255,255,255,255,255,255,255,254,248,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3,128,128,128,128, 0, 1, 3, 3, 1, 1, 3, 3, 1, 0, 0, 1, 1, 3, 3, 3, 3,129,192,128, 1, 3, 3, 3, 3, 1, 1, 0,129,195,195,193, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255, 7, 0, 0, 0,240,252,255,255,255,255,255,255,255,255,255,255,255,254,252,254,255,255,255,255,255,255,255,255,255,255,255,252,240, 0, 0, 0, 7,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 63, 63,127,123,243,247,231,193, 0,252,252,252, 28, 60,252,252,252, 28,252,252,248,224, 0,255,255,255, 0,255,255,255,255, 28, 28, 0,255,255,255,255, 28,252,252,248,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,240, 0, 0, 0, 7, 31,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127, 31, 7, 0, 0, 0,240,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 15, 15, 14, 15, 7, 7, 3, 0, 15, 15, 15, 0, 0, 15, 15, 15, 0, 7, 15, 15, 7, 0, 15, 15, 15, 0, 1, 7, 7, 15, 14, 14, 6, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// 0, 0, 0, 0, 1, 15, 63,255,255,255,255,255,255,255,255,255,255,254,248,240,224,192,128,129, 3, 7, 15, 15, 31, 31, 31, 63, 63, 63, 63, 63, 31, 31, 31, 15, 15, 7, 3,129,128,192,224,240,248,254,255,255,255,255,255,255,255,255,255,255, 63, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224,224,252,254,254, 0, 0,128,192,224,224,224,224,192,128, 96,224,224,224, 0, 0,224,224,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 31, 63,127,255,255,255,255,255,255,255,255,255,255,254,254,254,254,254,252,252,252,252,252,252,252,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,127, 63, 31, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,120,120, 48, 31, 63, 63,120,112,127,127, 63, 0, 6, 31, 63, 63,127,119,119, 63, 55, 0, 3, 15, 63,127,127, 63, 15, 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, 1, 3, 3, 7, 7, 15, 15, 15, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15, 7, 7, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+// };
+// oled_write_raw_P(raw_logo, sizeof(raw_logo));
+//}
+
+static void render_mochi(void)
+{
+ static const char PROGMEM mochi_logo[] = {
+ 0, 0, 0, 0, 0,224,240,240,240,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,240,240,240,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,252,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,248,248,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,240,240,240,224, 0, 0, 0, 0, 0, 0,128,192,224,240,240,240,240,240,240,224,224,192, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,224,255,255,255, 15, 63,255,254,248,224, 0, 0, 0, 0,224,248,254,255, 31, 31,255,255,255,128, 0, 0, 0,128,224,240,248,252, 60, 28, 28, 30, 28, 60,124,248,248,240,192, 0, 0, 0,128,224,240,248,252, 60, 60, 28, 30, 28, 28, 60, 28, 0, 0, 0,255,255,255,255, 28, 28, 28, 28, 60,124,252,248,240,192, 0, 0, 0, 0,252,252,252,252, 0, 0, 0, 0, 0,192,224,248,252, 63, 31, 7, 3,255,255,255,255, 0, 0, 0, 0,224,254,255,255, 15, 1, 0, 0, 0, 0, 1, 15,255,255,255,248, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 3, 15, 63,255,252,252,255, 63, 15, 3, 0, 0, 0,255,255,255,255, 0, 0, 0, 63,255,255,255,224,128, 0, 0, 0, 0,128,192,255,255,255,127, 4, 0, 0, 63,255,255,255,224,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 60, 63, 63, 63, 61, 60, 60, 60, 60, 60,255,255,255,255, 60, 60, 0, 0, 7,127,255,255,248,128, 0, 0, 0, 0,128,240,255,255,127, 31, 0, 0, 0,
+ 0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 15, 15, 15, 0, 0, 0, 0, 0, 1, 3, 7, 7, 15, 15, 15, 15, 15, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 7, 7, 15, 15, 15, 15, 15, 15, 7, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 7, 15, 15, 15, 0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 15, 15, 15, 15, 7, 7, 3, 1, 0, 0, 0, 0, 0,
+ };
+
+ oled_write_raw_P(mochi_logo, sizeof(mochi_logo));
+}
+
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180; // flips the display 180 degrees
+}
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_mochi();
+ oled_set_cursor(0, 4);
+ oled_write_P(PSTR("Layer: "), false);
+
+ switch(get_highest_layer(layer_state))
+ {
+ case _MAIN:
+ oled_write_ln_P(PSTR("Main"), false);
+ break;
+ case _LEFT:
+ oled_write_ln_P(PSTR("Left"), false);
+ break;
+ case _RIGHT:
+ oled_write_ln_P(PSTR("Right"), false);
+ break;
+ case _TAB:
+ oled_write_ln_P(PSTR("Tab"), false);
+ break;
+ }
+
+ //render_logo();
+ return(true);
+}
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ // Volume control
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif \ No newline at end of file
diff --git a/keyboards/aidansmithdotdev/fine40/fine40.h b/keyboards/aidansmithdotdev/fine40/fine40.h
new file mode 100644
index 0000000000..dd675cf3ad
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/fine40.h
@@ -0,0 +1,3 @@
+// Copyright 2022 Aidan Smith (@Aidan-OS)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/aidansmithdotdev/fine40/info.json b/keyboards/aidansmithdotdev/fine40/info.json
new file mode 100644
index 0000000000..c2e1afd84c
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/info.json
@@ -0,0 +1,231 @@
+{
+ "manufacturer": "Aidan Smith",
+ "keyboard_name": "aidansmithdotdev/fine40",
+ "maintainer": "Aidan-OS",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "encoder": true,
+ "oled": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": [ "B3", "E6", "B1", "D7", "F7", "C6" ],
+ "rows": [ "F5", "F6", "B2", "B5", "F4", "D4", "B4", "B6" ]
+ },
+ "processor": "atmega32u4",
+ "url": "https://aidansmith.dev",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x4564",
+ "vid": "0xA059"
+ },
+ "layouts": {
+ "LAYOUT_2u_single_space": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [4, 5], "x": 6, "y": 0 },
+ { "matrix": [4, 4], "x": 7, "y": 0 },
+ { "matrix": [4, 3], "x": 8, "y": 0 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 1], "x": 10, "y": 0 },
+ { "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 },
+ { "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 },
+ { "matrix": [1, 1], "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "x": 2.25, "y": 1 },
+ { "matrix": [1, 3], "x": 3.25, "y": 1 },
+ { "matrix": [1, 4], "x": 4.25, "y": 1 },
+ { "matrix": [1, 5], "x": 5.25, "y": 1 },
+ { "matrix": [5, 5], "x": 6.25, "y": 1 },
+ { "matrix": [5, 4], "x": 7.25, "y": 1 },
+ { "matrix": [5, 3], "x": 8.25, "y": 1 },
+ { "matrix": [5, 2], "x": 9.25, "y": 1 },
+ { "matrix": [5, 1], "x": 10.25, "y": 1 },
+ { "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 },
+ { "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2 },
+ { "matrix": [6, 5], "x": 6.5, "y": 2 },
+ { "matrix": [6, 4], "x": 7.5, "y": 2 },
+ { "matrix": [6, 3], "x": 8.5, "y": 2 },
+ { "matrix": [6, 2], "x": 9.5, "y": 2 },
+ { "matrix": [6, 1], "x": 10.5, "y": 2 },
+ { "matrix": [6, 0], "x": 11.5, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3, "w": 1.25 },
+ { "matrix": [3, 5], "x": 5.25, "y": 3, "w": 2 },
+ { "matrix": [7, 5], "x": 7.25, "y": 3, "w": 1.25 },
+ { "matrix": [7, 4], "x": 8.5, "y": 3 },
+ { "matrix": [7, 3], "x": 9.5, "y": 3 },
+ { "matrix": [7, 2], "x": 10.5, "y": 3 },
+ { "matrix": [7, 1], "x": 11.5, "y": 3 },
+ { "matrix": [7, 0], "x": 13, "y": 3 }
+ ]
+ },
+ "LAYOUT_2u_split_space": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [4, 5], "x": 6, "y": 0 },
+ { "matrix": [4, 4], "x": 7, "y": 0 },
+ { "matrix": [4, 3], "x": 8, "y": 0 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 1], "x": 10, "y": 0 },
+ { "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 },
+ { "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 },
+ { "matrix": [1, 1], "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "x": 2.25, "y": 1 },
+ { "matrix": [1, 3], "x": 3.25, "y": 1 },
+ { "matrix": [1, 4], "x": 4.25, "y": 1 },
+ { "matrix": [1, 5], "x": 5.25, "y": 1 },
+ { "matrix": [5, 5], "x": 6.25, "y": 1 },
+ { "matrix": [5, 4], "x": 7.25, "y": 1 },
+ { "matrix": [5, 3], "x": 8.25, "y": 1 },
+ { "matrix": [5, 2], "x": 9.25, "y": 1 },
+ { "matrix": [5, 1], "x": 10.25, "y": 1 },
+ { "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 },
+ { "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2 },
+ { "matrix": [6, 5], "x": 6.5, "y": 2 },
+ { "matrix": [6, 4], "x": 7.5, "y": 2 },
+ { "matrix": [6, 3], "x": 8.5, "y": 2 },
+ { "matrix": [6, 2], "x": 9.5, "y": 2 },
+ { "matrix": [6, 1], "x": 10.5, "y": 2 },
+ { "matrix": [6, 0], "x": 11.5, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3, "w": 1.25 },
+ { "matrix": [3, 4], "x": 4.25, "y": 3, "w": 2 },
+ { "matrix": [7, 5], "x": 6.25, "y": 3, "w": 2 },
+ { "matrix": [7, 4], "x": 8.25, "y": 3, "w": 1.25 },
+ { "matrix": [7, 3], "x": 9.5, "y": 3 },
+ { "matrix": [7, 2], "x": 10.5, "y": 3 },
+ { "matrix": [7, 1], "x": 11.5, "y": 3 },
+ { "matrix": [7, 0], "x": 13, "y": 3 }
+ ]
+ },
+ "LAYOUT_225u_split_space": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [4, 5], "x": 6, "y": 0 },
+ { "matrix": [4, 4], "x": 7, "y": 0 },
+ { "matrix": [4, 3], "x": 8, "y": 0 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 1], "x": 10, "y": 0 },
+ { "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 },
+ { "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 },
+ { "matrix": [1, 1], "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "x": 2.25, "y": 1 },
+ { "matrix": [1, 3], "x": 3.25, "y": 1 },
+ { "matrix": [1, 4], "x": 4.25, "y": 1 },
+ { "matrix": [1, 5], "x": 5.25, "y": 1 },
+ { "matrix": [5, 5], "x": 6.25, "y": 1 },
+ { "matrix": [5, 4], "x": 7.25, "y": 1 },
+ { "matrix": [5, 3], "x": 8.25, "y": 1 },
+ { "matrix": [5, 2], "x": 9.25, "y": 1 },
+ { "matrix": [5, 1], "x": 10.25, "y": 1 },
+ { "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 },
+ { "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2 },
+ { "matrix": [6, 5], "x": 6.5, "y": 2 },
+ { "matrix": [6, 4], "x": 7.5, "y": 2 },
+ { "matrix": [6, 3], "x": 8.5, "y": 2 },
+ { "matrix": [6, 2], "x": 9.5, "y": 2 },
+ { "matrix": [6, 1], "x": 10.5, "y": 2 },
+ { "matrix": [6, 0], "x": 11.5, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3, "w": 2.25 },
+ { "matrix": [7, 5], "x": 6.25, "y": 3, "w": 2.25 },
+ { "matrix": [7, 4], "x": 8.5, "y": 3 },
+ { "matrix": [7, 3], "x": 9.5, "y": 3 },
+ { "matrix": [7, 2], "x": 10.5, "y": 3 },
+ { "matrix": [7, 1], "x": 11.5, "y": 3 },
+ { "matrix": [7, 0], "x": 13, "y": 3 }
+ ]
+ },
+ "LAYOUT_7u_space": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [4, 5], "x": 6, "y": 0 },
+ { "matrix": [4, 4], "x": 7, "y": 0 },
+ { "matrix": [4, 3], "x": 8, "y": 0 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 1], "x": 10, "y": 0 },
+ { "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 },
+ { "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 },
+ { "matrix": [1, 1], "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "x": 2.25, "y": 1 },
+ { "matrix": [1, 3], "x": 3.25, "y": 1 },
+ { "matrix": [1, 4], "x": 4.25, "y": 1 },
+ { "matrix": [1, 5], "x": 5.25, "y": 1 },
+ { "matrix": [5, 5], "x": 6.25, "y": 1 },
+ { "matrix": [5, 4], "x": 7.25, "y": 1 },
+ { "matrix": [5, 3], "x": 8.25, "y": 1 },
+ { "matrix": [5, 2], "x": 9.25, "y": 1 },
+ { "matrix": [5, 1], "x": 10.25, "y": 1 },
+ { "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 },
+ { "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2 },
+ { "matrix": [6, 5], "x": 6.5, "y": 2 },
+ { "matrix": [6, 4], "x": 7.5, "y": 2 },
+ { "matrix": [6, 3], "x": 8.5, "y": 2 },
+ { "matrix": [6, 2], "x": 9.5, "y": 2 },
+ { "matrix": [6, 1], "x": 10.5, "y": 2 },
+ { "matrix": [6, 0], "x": 11.5, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 },
+ { "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25 },
+ { "matrix": [3, 5], "x": 2.5, "y": 3, "w": 7 },
+ { "matrix": [7, 3], "x": 9.5, "y": 3 },
+ { "matrix": [7, 2], "x": 10.5, "y": 3 },
+ { "matrix": [7, 1], "x": 11.5, "y": 3 },
+ { "matrix": [7, 0], "x": 13, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d157d9db31
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2022 Aidan Smith (@Aidan-OS)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+enum keyboard_layers {
+ _MAIN,
+ _RIGHT,
+ _LEFT,
+ _TAB,
+};
+
+#define LT3_TAB LT(_TAB, KC_TAB)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MAIN] = LAYOUT_2u_single_space(
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
+ LT3_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_RALT , KC_LGUI , KC_BSLS , MO(_LEFT) , KC_SPC , MO(_RIGHT) , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_MPLY
+),
+
+[_LEFT] = LAYOUT_2u_single_space( /* LEFT */
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DELETE ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_UNDERSCORE , KC_PLUS , KC_LEFT_CURLY_BRACE , KC_RIGHT_CURLY_BRACE , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME , KC_PGDN , KC_PGUP , KC_END , _______
+),
+
+[_RIGHT] = LAYOUT_2u_single_space( /* RIGHT */
+ KC_TILDE , KC_EXCLAIM , KC_AT , KC_HASH , KC_DOLLAR , KC_PERCENT , KC_CIRCUMFLEX , KC_AMPERSAND , KC_ASTERISK , KC_LEFT_PAREN , KC_RIGHT_PAREN , KC_DELETE ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MINS , KC_EQL , KC_LBRC , KC_RBRC , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_LT , KC_GT , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , KC_MPLY , _______
+),
+
+[_TAB] = LAYOUT_2u_single_space( /* Tab */
+ KC_ESC , QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , _______ ,
+ _______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MS_L , KC_MS_D , KC_MS_U , KC_MS_R , _______
+),
+};
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d157d9db31
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2022 Aidan Smith (@Aidan-OS)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+enum keyboard_layers {
+ _MAIN,
+ _RIGHT,
+ _LEFT,
+ _TAB,
+};
+
+#define LT3_TAB LT(_TAB, KC_TAB)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MAIN] = LAYOUT_2u_single_space(
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
+ LT3_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_RALT , KC_LGUI , KC_BSLS , MO(_LEFT) , KC_SPC , MO(_RIGHT) , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_MPLY
+),
+
+[_LEFT] = LAYOUT_2u_single_space( /* LEFT */
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DELETE ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_UNDERSCORE , KC_PLUS , KC_LEFT_CURLY_BRACE , KC_RIGHT_CURLY_BRACE , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME , KC_PGDN , KC_PGUP , KC_END , _______
+),
+
+[_RIGHT] = LAYOUT_2u_single_space( /* RIGHT */
+ KC_TILDE , KC_EXCLAIM , KC_AT , KC_HASH , KC_DOLLAR , KC_PERCENT , KC_CIRCUMFLEX , KC_AMPERSAND , KC_ASTERISK , KC_LEFT_PAREN , KC_RIGHT_PAREN , KC_DELETE ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MINS , KC_EQL , KC_LBRC , KC_RBRC , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_LT , KC_GT , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , KC_MPLY , _______
+),
+
+[_TAB] = LAYOUT_2u_single_space( /* Tab */
+ KC_ESC , QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , _______ ,
+ _______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MS_L , KC_MS_D , KC_MS_U , KC_MS_R , _______
+),
+};
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk b/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/aidansmithdotdev/fine40/readme.md b/keyboards/aidansmithdotdev/fine40/readme.md
new file mode 100644
index 0000000000..19d23fb914
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/readme.md
@@ -0,0 +1,27 @@
+# Fine!40 PCB (For Mochi40)
+
+![aidansmithdotdev/fine40](https://i.imgur.com/2JMorvxh.png)
+
+The PCB for the Mochi40, a spiritual successor to the unreleased Whimsy recreated from scratch and made completely open source! With an OLED, Rotary Encoder, and headers for both the Elite-C and Nice!Nano, this board gives you all you could want in a 40%.
+
+* Keyboard Maintainer: [Aidan Smith](https://github.com/Aidan-OS)
+* Hardware Supported: Fine!40
+* Hardware Availability: https://github.com/Aidan-OS/Mochi40
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aidansmithdotdev/fine40:default
+
+Flashing example for this keyboard:
+
+ make aidansmithdotdev/fine40:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/aidansmithdotdev/fine40/rules.mk b/keyboards/aidansmithdotdev/fine40/rules.mk
new file mode 100644
index 0000000000..2e3ef9fb84
--- /dev/null
+++ b/keyboards/aidansmithdotdev/fine40/rules.mk
@@ -0,0 +1 @@
+OLED_DRIVER = SSD1306
diff --git a/keyboards/akb/eb46/config.h b/keyboards/akb/eb46/config.h
index 644cd97305..68fa6aaf1c 100644
--- a/keyboards/akb/eb46/config.h
+++ b/keyboards/akb/eb46/config.h
@@ -19,12 +19,6 @@ 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 0x4646
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT eb46
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/akb/eb46/info.json b/keyboards/akb/eb46/info.json
index dbcc9abb83..d2cae832b5 100644
--- a/keyboards/akb/eb46/info.json
+++ b/keyboards/akb/eb46/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "eb46",
+ "manufacturer": "Elliot Powell",
"maintainer": "e11i0t23",
+ "usb": {
+ "vid": "0x4646",
+ "pid": "0xFEED",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/akb/ogr/config.h b/keyboards/akb/ogr/config.h
new file mode 100644
index 0000000000..5bb1cbd09f
--- /dev/null
+++ b/keyboards/akb/ogr/config.h
@@ -0,0 +1,20 @@
+// Copyright 2022 Martin Arnstad (@arnstadm)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/akb/ogr/info.json b/keyboards/akb/ogr/info.json
new file mode 100644
index 0000000000..f2583154ba
--- /dev/null
+++ b/keyboards/akb/ogr/info.json
@@ -0,0 +1,115 @@
+{
+ "manufacturer": "AKB",
+ "keyboard_name": "akb/ogr",
+ "maintainer": "arnstadm",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F1", "E6", "B7", "B3", "B2", "B1", "C7", "C6", "B6", "B5", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
+ "rows": ["F0", "F4", "F5", "F6", "F7"]
+ },
+ "indicators": {
+ "caps_lock": "B4"
+ },
+ "processor": "atmega32u4",
+ "url": "https://www.alchemistkeyboards.com/ogr",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x4F47",
+ "vid": "0x414B"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0.0, "y": 0.0 },
+ { "matrix": [0, 1], "x": 1.0, "y": 0.0 },
+ { "matrix": [0, 2], "x": 2.5, "y": 0.0 },
+ { "matrix": [0, 3], "x": 3.5, "y": 0.0 },
+ { "matrix": [0, 4], "x": 4.5, "y": 0.0 },
+ { "matrix": [0, 5], "x": 5.5, "y": 0.0 },
+ { "matrix": [0, 6], "x": 6.5, "y": 0.0 },
+ { "matrix": [0, 7], "x": 7.5, "y": 0.0 },
+ { "matrix": [0, 8], "x": 8.5, "y": 0.0 },
+ { "matrix": [0, 9], "x": 9.5, "y": 0.0 },
+ { "matrix": [0, 10], "x": 10.5, "y": 0.0 },
+ { "matrix": [0, 11], "x": 11.5, "y": 0.0 },
+ { "matrix": [0, 12], "x": 12.5, "y": 0.0 },
+ { "matrix": [0, 13], "x": 13.5, "y": 0.0 },
+ { "matrix": [0, 14], "x": 14.5, "y": 0.0 },
+ { "matrix": [0, 15], "x": 15.5, "y": 0.0 },
+ { "matrix": [0, 16], "x": 16.5, "y": 0.0 },
+ { "matrix": [0, 17], "x": 17.5, "y": 0.0 },
+ { "matrix": [1, 0], "x": 0.0, "y": 1.0 },
+ { "matrix": [1, 1], "x": 1.0, "y": 1.0 },
+ { "matrix": [1, 2], "w": 1.5, "x": 2.5, "y": 1.0 },
+ { "matrix": [1, 3], "x": 4.0, "y": 1.0 },
+ { "matrix": [1, 4], "x": 5.0, "y": 1.0 },
+ { "matrix": [1, 5], "x": 6.0, "y": 1.0 },
+ { "matrix": [1, 6], "x": 7.0, "y": 1.0 },
+ { "matrix": [1, 7], "x": 8.0, "y": 1.0 },
+ { "matrix": [1, 8], "x": 9.0, "y": 1.0 },
+ { "matrix": [1, 9], "x": 10.0, "y": 1.0 },
+ { "matrix": [1, 10], "x": 11.0, "y": 1.0 },
+ { "matrix": [1, 11], "x": 12.0, "y": 1.0 },
+ { "matrix": [1, 12], "x": 13.0, "y": 1.0 },
+ { "matrix": [1, 13], "x": 14.0, "y": 1.0 },
+ { "matrix": [1, 14], "x": 15.0, "y": 1.0 },
+ { "matrix": [1, 15], "w": 1.5, "x": 16.0, "y": 1.0 },
+ { "matrix": [1, 16], "x": 17.5, "y": 1.0 },
+ { "matrix": [2, 0], "x": 0.0, "y": 2.0 },
+ { "matrix": [2, 1], "x": 1.0, "y": 2.0 },
+ { "matrix": [2, 2], "w": 1.75, "x": 2.5, "y": 2.0 },
+ { "matrix": [2, 3], "x": 4.25, "y": 2.0 },
+ { "matrix": [2, 4], "x": 5.25, "y": 2.0 },
+ { "matrix": [2, 5], "x": 6.25, "y": 2.0 },
+ { "matrix": [2, 6], "x": 7.25, "y": 2.0 },
+ { "matrix": [2, 7], "x": 8.25, "y": 2.0 },
+ { "matrix": [2, 8], "x": 9.25, "y": 2.0 },
+ { "matrix": [2, 9], "x": 10.25, "y": 2.0 },
+ { "matrix": [2, 10], "x": 11.25, "y": 2.0 },
+ { "matrix": [2, 11], "x": 12.25, "y": 2.0 },
+ { "matrix": [2, 12], "x": 13.25, "y": 2.0 },
+ { "matrix": [2, 13], "x": 14.25, "y": 2.0 },
+ { "matrix": [2, 15], "w": 2.25, "x": 15.25, "y": 2.0 },
+ { "matrix": [2, 16], "x": 17.5, "y": 2.0 },
+ { "matrix": [3, 0], "x": 0.0, "y": 3.0 },
+ { "matrix": [3, 1], "x": 1.0, "y": 3.0 },
+ { "matrix": [3, 2], "w": 1.25, "x": 2.5, "y": 3.0 },
+ { "matrix": [3, 3], "x": 3.75, "y": 3.0 },
+ { "matrix": [3, 4], "x": 4.75, "y": 3.0 },
+ { "matrix": [3, 5], "x": 5.75, "y": 3.0 },
+ { "matrix": [3, 6], "x": 6.75, "y": 3.0 },
+ { "matrix": [3, 7], "x": 7.75, "y": 3.0 },
+ { "matrix": [3, 8], "x": 8.75, "y": 3.0 },
+ { "matrix": [3, 9], "x": 9.75, "y": 3.0 },
+ { "matrix": [3, 10], "x": 10.75, "y": 3.0 },
+ { "matrix": [3, 11], "x": 11.75, "y": 3.0 },
+ { "matrix": [3, 12], "x": 12.75, "y": 3.0 },
+ { "matrix": [3, 13], "x": 13.75, "y": 3.0 },
+ { "matrix": [3, 14], "w": 1.75, "x": 14.75, "y": 3.0 },
+ { "matrix": [3, 15], "x": 16.5, "y": 3.0 },
+ { "matrix": [3, 16], "x": 17.5, "y": 3.0 },
+ { "matrix": [4, 0], "x": 0.0, "y": 4.0 },
+ { "matrix": [4, 1], "x": 1.0, "y": 4.0 },
+ { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4.0 },
+ { "matrix": [4, 3], "w": 1.25, "x": 3.75, "y": 4.0 },
+ { "matrix": [4, 4], "w": 1.25, "x": 5.0, "y": 4.0 },
+ { "matrix": [4, 9], "w": 6.25, "x": 6.25, "y": 4.0 },
+ { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4.0 },
+ { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4.0 },
+ { "matrix": [4, 14], "x": 15.5, "y": 4.0 },
+ { "matrix": [4, 15], "x": 16.5, "y": 4.0 },
+ { "matrix": [4, 16], "x": 17.5, "y": 4.0 }
+ ]
+ }
+
+ }
+} \ No newline at end of file
diff --git a/keyboards/akb/ogr/keymaps/default/keymap.c b/keyboards/akb/ogr/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fa95d127da
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+// Copyright 2018-2022 QMK (@qmk)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┬───┠┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ F1│ F2│ │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
+ * ├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * | F3| F4| │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
+ * ├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * | F5| F6| │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
+ * ├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * | F7| F8| │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+ * | F9|F10| │Ctrl│GUI │Alt │ │Alt│Ctl│ │ ↠│ ↓ │ → │
+ * └───┴───┘ └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_all(
+
+ KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_F7, KC_F8, KC_LSFT, KC_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_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+
+ [1] = LAYOUT_all(
+ _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/akb/ogr/keymaps/via/keymap.c b/keyboards/akb/ogr/keymaps/via/keymap.c
new file mode 100644
index 0000000000..844a454fce
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/via/keymap.c
@@ -0,0 +1,39 @@
+// Copyright 2018-2022 QMK (@qmk)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┬───┠┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ F1│ F2│ │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
+ * ├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * | F3| F4| │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
+ * ├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * | F5| F6| │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
+ * ├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * | F7| F8| │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+ * | F9|F10| │Ctrl│GUI │Alt │ │Alt│Ctl│ │ ↠│ ↓ │ → │
+ * └───┴───┘ └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_all(
+
+ KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_F7, KC_F8, KC_LSFT, KC_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_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+
+ [1] = LAYOUT_all(
+ _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/akb/ogr/keymaps/via/rules.mk b/keyboards/akb/ogr/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/akb/ogr/readme.md b/keyboards/akb/ogr/readme.md
new file mode 100644
index 0000000000..e9b01e958c
--- /dev/null
+++ b/keyboards/akb/ogr/readme.md
@@ -0,0 +1,29 @@
+# akb/ogr
+
+![akb/ogr](https://i.imgur.com/qbolyMah.jpeg)
+
+OGR - Multi-functional keyboard with 75-78 keys for USB systems.
+
+Keyboard designed by [AKB](https://alchemistkeyboards.com/), PCB designed by [martin](https://github.com/arnstadm)
+
+* Keyboard Maintainer: [AKB](https://alchemistkeyboards.com/)
+* Hardware Supported: OGR PCB
+* Hardware Availability: https://alchemistkeyboards.com/projects/keyboards/ogr/
+
+Make example for this keyboard (after setting up your build environment):
+
+ make akb/ogr:default
+
+Flashing example for this keyboard:
+
+ make akb/ogr:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/akb/ogr/rules.mk b/keyboards/akb/ogr/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/akb/ogr/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/akb/ogrn/config.h b/keyboards/akb/ogrn/config.h
new file mode 100644
index 0000000000..ef8bb6d07b
--- /dev/null
+++ b/keyboards/akb/ogrn/config.h
@@ -0,0 +1,20 @@
+// Copyright 2022 arnstadm (@arnstadm)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/akb/ogrn/info.json b/keyboards/akb/ogrn/info.json
new file mode 100644
index 0000000000..23d4d77273
--- /dev/null
+++ b/keyboards/akb/ogrn/info.json
@@ -0,0 +1,59 @@
+{
+ "manufacturer": "akb",
+ "keyboard_name": "akb/ogrn",
+ "maintainer": "arnstadm",
+ "bootloader": "atmel-dfu",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["F1", "E6", "B2", "D2"],
+ ["F5", "F0", "B1", "D1"],
+ ["F6", "F7", "D5", "D3"],
+ ["C7", "C6", "D6", "D4"],
+ ["B5", "B6", "D7", "B4"]
+ ]
+ },
+ "indicators": {
+ "num_lock": "F4"
+ },
+ "processor": "atmega32u4",
+ "url": "https://alchemistkeyboards.com/projects/keyboards/ogr/",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x4F4E",
+ "vid": "0x414B"
+ },
+ "community_layouts": [
+ "numpad_5x4"
+ ],
+ "layouts": {
+ "LAYOUT_numpad_5x4": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "h": 2, "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [4, 0], "w": 2, "x": 0, "y": 4 },
+ { "matrix": [4, 2], "x": 2, "y": 4 },
+ { "h": 2, "matrix": [3, 3], "x": 3, "y": 3 }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/akb/ogrn/keymaps/default/keymap.c b/keyboards/akb/ogrn/keymaps/default/keymap.c
new file mode 100644
index 0000000000..35a275d055
--- /dev/null
+++ b/keyboards/akb/ogrn/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
+// Copyright 2021 Martin Arnstad (@arnstadm)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───â”
+ * │TG1│ / │ * │ - │
+ * ├───┼───┼───┼───┤
+ * │ 7 │ 8 │ 9 │ │
+ * ├───┼───┼───┤ + │
+ * │ 4 │ 5 │ 6 │ │
+ * ├───┼───┼───┼───┤
+ * │ 1 │ 2 │ 3 │ │
+ * ├───┴───┼───┤Ent│
+ * │ 0 │ . │ │
+ * └───────┴───┴───┘
+ */
+ [0] = LAYOUT_numpad_5x4(
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───â”
+ * │TG1│ / │ * │ - │
+ * ┌───┬───┬───â”───┤
+ * │Hom│ ↑ │PgU│ │
+ * ├───┼───┼───┤ + │
+ * │ ↠│ │ → │ │
+ * ├───┼───┼───┤───┤
+ * │End│ ↓ │PgD│ │
+ * ├───┴───┼───┤Ent│
+ * │Insert │Del│ │
+ * └───────┴───┘───┘
+ */
+ [1] = LAYOUT_numpad_5x4(
+ _______, _______, _______, _______,
+ KC_HOME, KC_UP, KC_PGUP,
+ KC_LEFT, XXXXXXX, KC_RGHT, _______,
+ KC_END, KC_DOWN, KC_PGDN,
+ KC_INS, KC_DEL, _______
+ )
+};
diff --git a/keyboards/akb/ogrn/keymaps/via/keymap.c b/keyboards/akb/ogrn/keymaps/via/keymap.c
new file mode 100644
index 0000000000..7aec87a623
--- /dev/null
+++ b/keyboards/akb/ogrn/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+// Copyright 2021 Martin Arnstad (@arnstadm)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───â”
+ * │NUM│ / │ * │ - │
+ * ├───┼───┼───┼───┤
+ * │ 7 │ 8 │ 9 │ │
+ * ├───┼───┼───┤ + │
+ * │ 4 │ 5 │ 6 │ │
+ * ├───┼───┼───┼───┤
+ * │ 1 │ 2 │ 3 │ │
+ * ├───┴───┼───┤Ent│
+ * │ 0 │ . │ │
+ * └───────┴───┴───┘
+ */
+ [0] = LAYOUT_numpad_5x4(
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───â”
+ * │ │ / │ * │ - │
+ * ┌───┬───┬───â”───┤
+ * │Hom│ ↑ │PgU│ │
+ * ├───┼───┼───┤ + │
+ * │ ↠│ │ → │ │
+ * ├───┼───┼───┤───┤
+ * │End│ ↓ │PgD│ │
+ * ├───┴───┼───┤Ent│
+ * │Insert │Del│ │
+ * └───────┴───┘───┘
+ */
+ [1] = LAYOUT_numpad_5x4(
+ _______, _______, _______, _______,
+ KC_HOME, KC_UP, KC_PGUP,
+ KC_LEFT, XXXXXXX, KC_RGHT, _______,
+ KC_END, KC_DOWN, KC_PGDN,
+ KC_INS, KC_DEL, _______
+ )
+};
diff --git a/keyboards/akb/ogrn/keymaps/via/rules.mk b/keyboards/akb/ogrn/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/akb/ogrn/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/akb/ogrn/readme.md b/keyboards/akb/ogrn/readme.md
new file mode 100644
index 0000000000..fc55da54f8
--- /dev/null
+++ b/keyboards/akb/ogrn/readme.md
@@ -0,0 +1,27 @@
+# akb/ogrn
+
+![akb/ogrn](https://i.imgur.com/qbolyMal.png)
+
+Numpad for the OGR keyboard by AKB
+
+* Keyboard Maintainer: [akb](https://alchemistkeyboards.com/)
+* Hardware Supported: OGRN PCB
+* Hardware Availability: https://alchemistkeyboards.com/projects/keyboards/ogr/
+
+Make example for this keyboard (after setting up your build environment):
+
+ make akb/ogrn:default
+
+Flashing example for this keyboard:
+
+ make akb/ogrn:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/akb/ogrn/rules.mk b/keyboards/akb/ogrn/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/akb/ogrn/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/akb/raine/config.h b/keyboards/akb/raine/config.h
index e0377514e2..d04304c9c3 100644
--- a/keyboards/akb/raine/config.h
+++ b/keyboards/akb/raine/config.h
@@ -18,13 +18,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AKB
-#define PRODUCT Raine
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ E6, C6, F7, B2, B0 }
#define MATRIX_COL_PINS \
{ F6, F5, F4, B1, F1, F0, B3, B7, D0, D1, D2, D3, D5, D4, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/akb/raine/info.json b/keyboards/akb/raine/info.json
index d3205ecb66..2efbba3fe1 100644
--- a/keyboards/akb/raine/info.json
+++ b/keyboards/akb/raine/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "raine",
+ "keyboard_name": "Raine",
+ "manufacturer": "AKB",
"maintainer": "e11i0t23",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c b/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c
index 0014d699a3..c2de091fef 100644
--- a/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c
+++ b/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c
@@ -70,6 +70,6 @@ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, K
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, _______, KC_HOME, KC_UP, KC_PGUP,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_DEL, KC_LEFT, KC_SLCK, KC_RGHT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_END, KC_DOWN, KC_PGDN,
-KC_LGUI, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, RESET),
+KC_LGUI, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, QK_BOOT),
};
diff --git a/keyboards/akegata_denki/device_one/config.h b/keyboards/akegata_denki/device_one/config.h
index cae2c60c04..33a017f3fb 100644
--- a/keyboards/akegata_denki/device_one/config.h
+++ b/keyboards/akegata_denki/device_one/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xADD0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER akegata denki
-#define PRODUCT device one mechanical keyboard
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/akegata_denki/device_one/info.json b/keyboards/akegata_denki/device_one/info.json
index 34de2927b9..bc75208eb7 100644
--- a/keyboards/akegata_denki/device_one/info.json
+++ b/keyboards/akegata_denki/device_one/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "device one",
+ "manufacturer": "akegata denki",
"url": "https://akegata.co",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xADD0",
+ "device_version": "0.0.1"
+ },
"maintainer": "qmk",
"layouts": {
"LAYOUT_60_ansi": {
diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h
index 07cc94a279..b0f485dfaa 100644
--- a/keyboards/al1/config.h
+++ b/keyboards/al1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544C
-#define PRODUCT_ID 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Alsoran
-#define PRODUCT AL1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/al1/info.json b/keyboards/al1/info.json
index 4014687fe9..bbb928a3ea 100644
--- a/keyboards/al1/info.json
+++ b/keyboards/al1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AL1",
+ "manufacturer": "Alsoran",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x544C",
+ "pid": "0x6050",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/al1/keymaps/splitbs/keymap.c b/keyboards/al1/keymaps/splitbs/keymap.c
index d896b10dbe..5214e23646 100644
--- a/keyboards/al1/keymaps/splitbs/keymap.c
+++ b/keyboards/al1/keymaps/splitbs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_split_bs(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______
diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/aleblazer/zodiark/config.h
index a3ea6382e4..90ecb7ce96 100644
--- a/keyboards/aleblazer/zodiark/config.h
+++ b/keyboards/aleblazer/zodiark/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF901
-#define PRODUCT_ID 0xF902
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Aleblazer
-#define PRODUCT Zodiark
-
#define SOFT_SERIAL_PIN D3
#define SERIAL_USE_MULTI_TRANSACTION
#define SELECT_SOFT_SERIAL_SPEED 1
diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/info.json
index 89e3deb414..a42819b3a1 100644
--- a/keyboards/aleblazer/zodiark/info.json
+++ b/keyboards/aleblazer/zodiark/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "zodiark",
+ "keyboard_name": "Zodiark",
+ "manufacturer": "Aleblazer",
"url": "https://github.com/Aleblazer/qmk_firmware/tree/master/keyboards/zodiark",
"maintainer": "Aleblazer",
+ "usb": {
+ "vid": "0xF901",
+ "pid": "0xF902",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h
index bdbea9578c..f9d9c1363b 100644
--- a/keyboards/alf/dc60/config.h
+++ b/keyboards/alf/dc60/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alf
-#define PRODUCT dc60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ 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, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/alf/dc60/info.json b/keyboards/alf/dc60/info.json
index f10d594fc8..81b8613e5b 100644
--- a/keyboards/alf/dc60/info.json
+++ b/keyboards/alf/dc60/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "dc60",
+ "manufacturer": "Alf",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h
index a489174b2d..5e7275dd11 100644
--- a/keyboards/alf/x11/config.h
+++ b/keyboards/alf/x11/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alf
-#define PRODUCT x11
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/alf/x11/info.json b/keyboards/alf/x11/info.json
index 14d4a5efb7..eb78204fc7 100644
--- a/keyboards/alf/x11/info.json
+++ b/keyboards/alf/x11/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "x11",
+ "keyboard_name": "X1.1",
+ "manufacturer": "ALF",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4146",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/alf/x11/keymaps/default/readme.md b/keyboards/alf/x11/keymaps/default/readme.md
deleted file mode 100644
index a08c59173f..0000000000
--- a/keyboards/alf/x11/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for x11
diff --git a/keyboards/alf/x11/keymaps/via/keymap.c b/keyboards/alf/x11/keymaps/via/keymap.c
new file mode 100644
index 0000000000..93ca9df6cb
--- /dev/null
+++ b/keyboards/alf/x11/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2019 MechMerlin (copied from default keymap)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = 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, QK_BOOT,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_MPLY, KC_MSTP,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/alf/x11/keymaps/via/rules.mk b/keyboards/alf/x11/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/alf/x11/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h
index a6f4958b05..9c0c0a527a 100644
--- a/keyboards/alf/x2/config.h
+++ b/keyboards/alf/x2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ALF
-#define PRODUCT X2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@
{ D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS \
{ F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/alf/x2/info.json b/keyboards/alf/x2/info.json
index 4a3cc839c9..7bb69d15e6 100644
--- a/keyboards/alf/x2/info.json
+++ b/keyboards/alf/x2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ALF X2",
+ "keyboard_name": "X2",
+ "manufacturer": "ALF",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/alf/x2/keymaps/hhkb_60/keymap.c b/keyboards/alf/x2/keymaps/hhkb_60/keymap.c
index 1f46c22ade..f8820570d2 100644
--- a/keyboards/alf/x2/keymaps/hhkb_60/keymap.c
+++ b/keyboards/alf/x2/keymaps/hhkb_60/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
KC_MNXT, KC_MPRV,
KC_PWR, 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, _______, RESET,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/alfredslab/swift65/hotswap/config.h b/keyboards/alfredslab/swift65/hotswap/config.h
new file mode 100644
index 0000000000..3845c885e1
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/config.h
@@ -0,0 +1,59 @@
+/* Copyright 2021 Steven Phillips (Spooknik)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/*
+ * 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 { B1, B2, B3, D6, D4 }
+#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, C7, C6, B6, B5, B4, D7, D5, D3, D1 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN D2
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 22
+ #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 */
+/*== all animations 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_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#endif
diff --git a/keyboards/alfredslab/swift65/hotswap/hotswap.c b/keyboards/alfredslab/swift65/hotswap/hotswap.c
new file mode 100644
index 0000000000..83546fff4e
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/hotswap.c
@@ -0,0 +1,19 @@
+/* Copyright 2021 Steven Phillips (spooknik)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "hotswap.h"
+
diff --git a/keyboards/alfredslab/swift65/hotswap/hotswap.h b/keyboards/alfredslab/swift65/hotswap/hotswap.h
new file mode 100644
index 0000000000..ab9c3d8250
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/hotswap.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 Steven Phillips (spooknik)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT_7u_space( \
+ 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, \
+ K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, 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 }, \
+ { XXX, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D, K4E }, \
+}
diff --git a/keyboards/alfredslab/swift65/hotswap/info.json b/keyboards/alfredslab/swift65/hotswap/info.json
new file mode 100644
index 0000000000..21895a1b2d
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "Swift65 Hotswap",
+ "manufacturer": "AlfredsLab",
+ "url": "https://swiftcables.net/",
+ "maintainer": "Spooknik",
+ "usb": {
+ "vid": "0xBBEB",
+ "pid": "0xD4C4",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_7u_space",
+ "LAYOUT_all": "LAYOUT_7u_space"
+ },
+ "layouts": {
+ "LAYOUT_7u_space": {
+ "layout": [
+ { "label": "K00 (B1,F7)", "x": 0, "y": 0 },
+ { "label": "K01 (B1,F6)", "x": 1, "y": 0 },
+ { "label": "K02 (B1,F5)", "x": 2, "y": 0 },
+ { "label": "K03 (B1,F4)", "x": 3, "y": 0 },
+ { "label": "K04 (B1,F1)", "x": 4, "y": 0 },
+ { "label": "K05 (B1,F0)", "x": 5, "y": 0 },
+ { "label": "K06 (B1,C7)", "x": 6, "y": 0 },
+ { "label": "K07 (B1,C6)", "x": 7, "y": 0 },
+ { "label": "K08 (B1,B6)", "x": 8, "y": 0 },
+ { "label": "K09 (B1,B5)", "x": 9, "y": 0 },
+ { "label": "K0A (B1,B4)", "x": 10, "y": 0 },
+ { "label": "K0B (B1,D7)", "x": 11, "y": 0 },
+ { "label": "K0C (B1,D5)", "x": 12, "y": 0 },
+ { "label": "K0D (B1,D3)", "x": 13, "y": 0, "w": 2 },
+ { "label": "K0E (B1,D1)", "x": 15.25, "y": 0 },
+ { "label": "K10 (B2,F7)", "x": 0, "y": 1, "w": 1.5 },
+ { "label": "K11 (B2,F6)", "x": 1.5, "y": 1 },
+ { "label": "K12 (B2,F5)", "x": 2.5, "y": 1 },
+ { "label": "K13 (B2,F4)", "x": 3.5, "y": 1 },
+ { "label": "K14 (B2,F1)", "x": 4.5, "y": 1 },
+ { "label": "K15 (B2,F0)", "x": 5.5, "y": 1 },
+ { "label": "K16 (B2,C7)", "x": 6.5, "y": 1 },
+ { "label": "K17 (B2,C6)", "x": 7.5, "y": 1 },
+ { "label": "K18 (B2,B6)", "x": 8.5, "y": 1 },
+ { "label": "K19 (B2,B5)", "x": 9.5, "y": 1 },
+ { "label": "K1A (B2,B4)", "x": 10.5, "y": 1 },
+ { "label": "K1B (B2,D7)", "x": 11.5, "y": 1 },
+ { "label": "K1C (B2,D5)", "x": 12.5, "y": 1 },
+ { "label": "K1D (B2,D3)", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "K1E (B2,D1)", "x": 15.25, "y": 1 },
+ { "label": "K20 (B3,F7)", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "K21 (B3,F6)", "x": 1.75, "y": 2 },
+ { "label": "K22 (B3,F5)", "x": 2.75, "y": 2 },
+ { "label": "K23 (B3,F4)", "x": 3.75, "y": 2 },
+ { "label": "K24 (B3,F1)", "x": 4.75, "y": 2 },
+ { "label": "K25 (B3,F0)", "x": 5.75, "y": 2 },
+ { "label": "K26 (B3,C7)", "x": 6.75, "y": 2 },
+ { "label": "K27 (B3,C6)", "x": 7.75, "y": 2 },
+ { "label": "K28 (B3,B6)", "x": 8.75, "y": 2 },
+ { "label": "K29 (B3,B5)", "x": 9.75, "y": 2 },
+ { "label": "K2A (B3,B4)", "x": 10.75, "y": 2 },
+ { "label": "K2B (B3,D7)", "x": 11.75, "y": 2 },
+ { "label": "K2D (B3,D3)", "x": 12.75, "y": 2, "w": 2.25 },
+ { "label": "K2E (B3,D1)", "x": 15.25, "y": 2 },
+ { "label": "K31 (D6,F6)", "x": 0, "y": 3, "w": 2.25 },
+ { "label": "K32 (D6,F5)", "x": 2.25, "y": 3 },
+ { "label": "K33 (D6,F4)", "x": 3.25, "y": 3 },
+ { "label": "K34 (D6,F1)", "x": 4.25, "y": 3 },
+ { "label": "K35 (D6,F0)", "x": 5.25, "y": 3 },
+ { "label": "K36 (D6,C7)", "x": 6.25, "y": 3 },
+ { "label": "K37 (D6,C6)", "x": 7.25, "y": 3 },
+ { "label": "K38 (D6,B6)", "x": 8.25, "y": 3 },
+ { "label": "K39 (D6,B5)", "x": 9.25, "y": 3 },
+ { "label": "K3A (D6,B4)", "x": 10.25, "y": 3 },
+ { "label": "K3B (D6,D7)", "x": 11.25, "y": 3 },
+ { "label": "K3C (D6,D5)", "x": 12.25, "y": 3, "w": 1.75 },
+ { "label": "K3D (D6,D3)", "x": 14, "y": 3 },
+ { "label": "K40 (D4,F7)", "x": 0, "y": 4, "w": 1.5 },
+ { "label": "K41 (D4,F6)", "x": 1.5, "y": 4},
+ { "label": "K42 (D4,F5)", "x": 2.5, "y": 4, "w": 1.5 },
+ { "label": "K46 (D4,C7)", "x": 4, "y": 4, "w": 7},
+ { "label": "K4B (D4,D7)", "x": 11, "y": 4, "w": 1.5 },
+ { "label": "K4C (D4,D5)", "x": 13, "y": 4 },
+ { "label": "K4D (D4,D3)", "x": 14, "y": 4 },
+ { "label": "K4E (D4,D1)", "x": 15, "y": 4 }
+ ]
+ }
+ }
+}
+
diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c b/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c
new file mode 100644
index 0000000000..53c29981df
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2022 Steven Phillips (spooknik)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_7u_space(
+ 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,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_7u_space(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+}; \ No newline at end of file
diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c
new file mode 100644
index 0000000000..25abe67bee
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 Steven Phillips (spooknik)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_7u_space(
+ 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,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_7u_space(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+
+ [2] = LAYOUT_7u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT_7u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk b/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/alfredslab/swift65/hotswap/readme.md b/keyboards/alfredslab/swift65/hotswap/readme.md
new file mode 100644
index 0000000000..b5acc2a9c9
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/readme.md
@@ -0,0 +1,19 @@
+# Swift65
+
+A 65% Keyboard from Swiftcables
+
+* Keyboard Maintainer: [Steven Phillips (spooknik)](https://github.com/keyboardcollective)
+* Hardware Supported: Swift65 Hotswap
+* Hardware Availability: Soom from Swiftcables
+
+To enter bootloader for flashing firmware, press layer change key (MO(1)) and Right Shift simultaneously.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make alfredslab/swift65/hotswap:default
+
+Flashing example for this keyboard:
+
+ make alfredslab/swift65/hotswap:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/alfredslab/swift65/hotswap/rules.mk b/keyboards/alfredslab/swift65/hotswap/rules.mk
new file mode 100644
index 0000000000..a6a5692999
--- /dev/null
+++ b/keyboards/alfredslab/swift65/hotswap/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/alfredslab/swift65/solder/config.h b/keyboards/alfredslab/swift65/solder/config.h
index 509aae6a89..f0161bf616 100644
--- a/keyboards/alfredslab/swift65/solder/config.h
+++ b/keyboards/alfredslab/swift65/solder/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBBEB
-#define PRODUCT_ID 0xD4C3
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlfredsLab
-#define PRODUCT Swift65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/alfredslab/swift65/solder/info.json b/keyboards/alfredslab/swift65/solder/info.json
index 69729e4330..154747b588 100644
--- a/keyboards/alfredslab/swift65/solder/info.json
+++ b/keyboards/alfredslab/swift65/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Swift65",
+ "keyboard_name": "Swift65 Solder",
+ "manufacturer": "AlfredsLab",
"url": "https://swiftcables.net/",
"maintainer": "Spooknik",
+ "usb": {
+ "vid": "0xBBEB",
+ "pid": "0xD4C3",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_625u_space_split_bs",
"LAYOUT_all": "LAYOUT_625u_space_split_bs"
diff --git a/keyboards/aliceh66/pianoforte/config.h b/keyboards/aliceh66/pianoforte/config.h
new file mode 100644
index 0000000000..39f79b3c27
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/config.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROWS 12
+#define MATRIX_COLS 9
+
+#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, F1, F0, E6, B6 }
+#define MATRIX_ROW_PINS { D1, D0, D3, D2, D5, B0, C6, C7, F6, F7, F5, F4 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+
diff --git a/keyboards/aliceh66/pianoforte/info.json b/keyboards/aliceh66/pianoforte/info.json
new file mode 100644
index 0000000000..7128937a74
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/info.json
@@ -0,0 +1,503 @@
+{
+ "keyboard_name": "pianoforte solder",
+ "manufacturer": "AliceH",
+ "url": "https://github.com/AliceH66",
+ "maintainer": "AliceH66",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7066",
+ "vid": "0x6168"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25},
+ {"label":"SB2", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Pipe", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"ISO Pipe", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Shift", "x":12.24, "y":4.25, "w":1.75},
+ {"label":"Fn", "x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25},
+ {"label":"Alt", "x":11, "y":5.25},
+ {"label":"Win", "x":12, "y":5.25},
+ {"label": "MO(1)", "x":13, "y": 5.25},
+ {"label":"Ctrl", "x":14, "y":5.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Pipe", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"MO(1)", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'", "x":11.75, "y":3.25},
+ {"label":"ISO #", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"ISO Pipe", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"MO(1)", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_7u": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Pipe", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+ {"label":"Win", "x":1.5, "y":5.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+ {"label":"Space", "x":4, "y":5.25, "w":7},
+ {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+ {"label":"Win", "x":12.5, "y":5.25},
+ {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_iso_7u": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'", "x":11.75, "y":3.25},
+ {"label":"ISO #", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"ISO Pipe", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.5},
+ {"label":"Win", "x":1.5, "y":5.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.5},
+ {"label":"Space", "x":4, "y":5.25, "w":7},
+ {"label":"Alt", "x":11, "y":5.25, "w":1.5},
+ {"label":"Win", "x":12.5, "y":5.25},
+ {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a63648bcf7
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/*
+Copyright 2022 AliceH <hayasakakb@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 layer_names {
+ _LAYER0,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_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_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+)
+
+};
diff --git a/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c
new file mode 100644
index 0000000000..72892846f9
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c
@@ -0,0 +1,33 @@
+/*
+Copyright 2022 AliceH <hayasakakb@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 layer_names {
+ _LAYER0,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_tkl_f13_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_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_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+)
+
+};
diff --git a/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c
new file mode 100644
index 0000000000..234b1baf76
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/*
+Copyright 2022 AliceH <hayasakakb@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 layer_names {
+ _LAYER0,
+ _LAYER1,
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_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_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk b/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/aliceh66/pianoforte/pianoforte.c b/keyboards/aliceh66/pianoforte/pianoforte.c
new file mode 100644
index 0000000000..3531744aef
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/pianoforte.c
@@ -0,0 +1,17 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "pianoforte.h"
diff --git a/keyboards/aliceh66/pianoforte/pianoforte.h b/keyboards/aliceh66/pianoforte/pianoforte.h
new file mode 100644
index 0000000000..614af44cfe
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/pianoforte.h
@@ -0,0 +1,131 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_all( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, \
+ K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, \
+ K100, K110, K101, K113, K105, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, K056, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, K066, K067, ____ }, \
+ { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, K086, K087, ____ }, \
+ { K090, K091, K092, K093, K094, K095, K096, K097, ____ }, \
+ { K100, K101, ____, ____, ____, ____, K106, K107, K108 }, \
+ { K110, ____, ____, K113, ____, K115, K116, K117, ____ } \
+}
+
+#define LAYOUT_tkl_f13_ansi( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
+ K080, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K096, K097, \
+ K100, K110, K101, K113, K105, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, K056, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, ____, ____, ____ }, \
+ { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, ____, ____, ____ }, \
+ { ____, K091, K092, K093, K094, K095, K096, K097, ____ }, \
+ { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
+ { K110, ____, ____, K113, ____, K115, K116, K117, ____ } \
+}
+
+#define LAYOUT_tkl_f13_iso( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, \
+ K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K096, K097, \
+ K100, K110, K101, K113, K105, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, ____, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, K066, ____, ____ }, \
+ { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, ____, ____, ____ }, \
+ { K090, K091, K092, K093, K094, K095, K096, K097, ____ }, \
+ { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
+ { K110, ____, ____, K113, ____, K115, K116, K117, ____ } \
+}
+
+#define LAYOUT_tkl_ansi_7u( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
+ K080, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K096, K097, \
+ K100, K110, K101, K113, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, K056, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, ____, ____, ____ }, \
+ { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, ____, ____, ____ }, \
+ { ____, K091, K092, K093, K094, K095, K096, K097, ____ }, \
+ { K100, K101, ____, ____, ____, ____, K106, K107, K108 }, \
+ { K110, ____, ____, K113, ____, K115, K116, K117, ____ } \
+}
+
+#define LAYOUT_tkl_iso_7u( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, \
+ K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K096, K097, \
+ K100, K110, K101, K113, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, ____, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, K066, ____, ____ }, \
+ { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, ____, ____, ____ }, \
+ { K090, K091, K092, K093, K094, K095, K096, K097, ____ }, \
+ { K100, K101, ____, ____, ____, ____, K106, K107, K108 }, \
+ { K110, ____, ____, K113, ____, K115, K116, K117, ____ } \
+}
diff --git a/keyboards/aliceh66/pianoforte/readme.md b/keyboards/aliceh66/pianoforte/readme.md
new file mode 100644
index 0000000000..aadd975b79
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/readme.md
@@ -0,0 +1,15 @@
+# AliceH pianoforte solder PCB
+
+QMK Firmware for the pianoforte solder PCB
+
+* Keyboard Maintainer: [AliceH] (https://github.com/AliceH66)
+* Hardware Supported: pianoforte Solder
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aliceh66/pianoforte:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+Press and hold the reset button to enter bootloader mode. \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte/rules.mk b/keyboards/aliceh66/pianoforte/rules.mk
new file mode 100644
index 0000000000..c7f0b93fef
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor Frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
+
+LAYOUTS = tkl_f13_ansi tkl_f13_iso \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte_hs/config.h b/keyboards/aliceh66/pianoforte_hs/config.h
new file mode 100644
index 0000000000..cff3af7aa2
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/config.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROWS 12
+#define MATRIX_COLS 9
+
+#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, F6, F5, E6, D4 }
+#define MATRIX_ROW_PINS { D2, D1, D3, D0, D5, B0, F0, F1, F7, F4, C7, C6 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+
diff --git a/keyboards/aliceh66/pianoforte_hs/info.json b/keyboards/aliceh66/pianoforte_hs/info.json
new file mode 100644
index 0000000000..c1a99905ba
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/info.json
@@ -0,0 +1,110 @@
+{
+ "keyboard_name": "pianoforte hotswap",
+ "manufacturer": "AliceH",
+ "url": "https://github.com/AliceH66",
+ "maintainer": "AliceH66",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7068",
+ "vid": "0x6168"
+ },
+ "layouts": {
+ "LAYOUT_tkl_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"F13", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause Break", "x":17.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Pipe", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":4, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"MO(1)", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c b/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d39b7dda99
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/*
+Copyright 2022 AliceH <hayasakakb@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 layer_names {
+ _LAYER0,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+)
+
+};
diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c
new file mode 100644
index 0000000000..3d69572d42
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/*
+Copyright 2022 AliceH <hayasakakb@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 layer_names {
+ _LAYER0,
+ _LAYER1
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_tkl_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk b/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.c b/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.c
new file mode 100644
index 0000000000..4617663fd3
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.c
@@ -0,0 +1,17 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "pianoforte_hs.h"
diff --git a/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.h b/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.h
new file mode 100644
index 0000000000..cd24668766
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/pianoforte_hs.h
@@ -0,0 +1,43 @@
+/*
+Copyright 2022 AliceH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_tkl_ansi( \
+ K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
+ K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
+ K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
+ K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, \
+ K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K096, K087, \
+ K100, K110, K101, K112, K104, K115, K106, K116, K107, K117, K108 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
+ { K010, K011, K012, K013, K014, K015, K016, K017, ____ }, \
+ { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
+ { K030, K031, K032, K033, K034, K035, K036, K037, ____ }, \
+ { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
+ { K050, K051, K052, K053, K054, K055, K056, K057, ____ }, \
+ { K060, K061, K062, K063, K064, K065, K066, ____, ____ }, \
+ { K070, K071, K072, K073, K074, K075, ____, ____, ____ }, \
+ { K080, K081, K082, K083, K084, K085, ____, K087, ____ }, \
+ { K090, K091, K092, K093, K094, ____, K096, ____, ____ }, \
+ { K100, K101, ____, ____, K104, ____, K106, K107, K108 }, \
+ { K110, ____, K112, ____, ____, K115, K116, K117, ____ } \
+}
diff --git a/keyboards/aliceh66/pianoforte_hs/readme.md b/keyboards/aliceh66/pianoforte_hs/readme.md
new file mode 100644
index 0000000000..6b05e06805
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/readme.md
@@ -0,0 +1,15 @@
+# AliceH pianoforte hotswap PCB
+
+QMK Firmware for the pianoforte hotswap PCB
+
+* Keyboard Maintainer: [AliceH] (https://github.com/AliceH66)
+* Hardware Supported: pianoforte hotswap
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aliceh66/pianoforte_hs:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+Press and hold the reset button to enter bootloader mode. \ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte_hs/rules.mk b/keyboards/aliceh66/pianoforte_hs/rules.mk
new file mode 100644
index 0000000000..173f16ffe7
--- /dev/null
+++ b/keyboards/aliceh66/pianoforte_hs/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor Frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h
index ae1c69656b..e98029fb82 100755
--- a/keyboards/alpha/config.h
+++ b/keyboards/alpha/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PyroL
-#define PRODUCT alpha
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 10
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, B4, B5 }
#define MATRIX_COL_PINS { D7, E6, C6, B6, B2, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/alpha/info.json b/keyboards/alpha/info.json
index 3564b8d536..eb6144bdbf 100644
--- a/keyboards/alpha/info.json
+++ b/keyboards/alpha/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Alpha",
+ "manufacturer": "PyroL",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2, "w":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}]
diff --git a/keyboards/alpha/keymaps/hvp/keymap.c b/keyboards/alpha/keymaps/hvp/keymap.c
index 9e8f2d3b9c..13071b0830 100755
--- a/keyboards/alpha/keymaps/hvp/keymap.c
+++ b/keyboards/alpha/keymaps/hvp/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_VAI, RGB_VAD, RGB_HUI, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU),
[OTHER] = LAYOUT(
- KC_ESC, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
+ KC_ESC, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, _______,
KC_F10, KC_F11, KC_F12, _______, _______, KC_NO, KC_NO, KC_NO),
};
diff --git a/keyboards/alpine65/config.h b/keyboards/alpine65/config.h
index ce674396ab..a5180dc227 100644
--- a/keyboards/alpine65/config.h
+++ b/keyboards/alpine65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6680 // BP for Bitmap
-#define PRODUCT_ID 0x0065 // AR for Arctic
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bitmap Designs
-#define PRODUCT Alpine65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json
index 94cd3589a3..51006056c9 100644
--- a/keyboards/alpine65/info.json
+++ b/keyboards/alpine65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alpine65",
+ "manufacturer": "Bitmap Designs",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x6680",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/alps64/config.h b/keyboards/alps64/config.h
index 640bab8bca..5ca083c349 100644
--- a/keyboards/alps64/config.h
+++ b/keyboards/alps64/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6873 //hs "Hasu"
-#define PRODUCT_ID 0x6464 //Alps"64"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hasu
-#define PRODUCT Alps64
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5, D6, C2 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/alps64/info.json b/keyboards/alps64/info.json
index c7917c8c6e..d2b2400997 100644
--- a/keyboards/alps64/info.json
+++ b/keyboards/alps64/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "alps64",
+ "keyboard_name": "Alps64",
+ "manufacturer": "Hasu",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6873",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/alps64/keymaps/crd/keymap.c b/keyboards/alps64/keymaps/crd/keymap.c
index 9268083522..533a30b1bc 100644
--- a/keyboards/alps64/keymaps/crd/keymap.c
+++ b/keyboards/alps64/keymaps/crd/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_aek_103(
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_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
+ _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/alt34/config.h b/keyboards/alt34/config.h
deleted file mode 100644
index 44ee245fe4..0000000000
--- a/keyboards/alt34/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2022 Tommy Alatalo <@altosys>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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"
diff --git a/keyboards/alt34/info.json b/keyboards/alt34/info.json
deleted file mode 100644
index 647c853136..0000000000
--- a/keyboards/alt34/info.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "keyboard_name": "alt34",
- "url": "https://gitlab.com/altosys/alt34",
- "maintainer": "@altosys",
- "layouts": {
- "LAYOUT_split_3x5_2": {
- "layout": [
- {"x": 0, "y": 0.93},
- {"x": 1, "y": 0.31},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0.28},
- {"x": 4, "y": 0.42},
-
- {"x": 7, "y": 0.42},
- {"x": 8, "y": 0.28},
- {"x": 9, "y": 0},
- {"x": 10, "y": 0.31},
- {"x": 11, "y": 0.93},
-
- {"x": 0, "y": 1.93},
- {"x": 1, "y": 1.31},
- {"x": 2, "y": 1},
- {"x": 3, "y": 1.28},
- {"x": 4, "y": 1.42},
-
- {"x": 7, "y": 1.42},
- {"x": 8, "y": 1.28},
- {"x": 9, "y": 1},
- {"x": 10, "y": 1.31},
- {"x": 11, "y": 1.93},
-
- {"x": 0, "y": 2.93},
- {"x": 1, "y": 2.31},
- {"x": 2, "y": 2},
- {"x": 3, "y": 2.28},
- {"x": 4, "y": 2.42},
-
- {"x": 7, "y": 2.42},
- {"x": 8, "y": 2.28},
- {"x": 9, "y": 2},
- {"x": 10, "y": 2.31},
- {"x": 11, "y": 2.93},
-
- {"x": 3.5, "y": 3.45},
- {"x": 4.5, "y": 3.7},
-
- {"x": 6.5, "y": 3.7},
- {"x": 7.5, "y": 3.45}
- ]
- }
- }
-}
diff --git a/keyboards/alt34/readme.md b/keyboards/alt34/readme.md
index 14c1e28c7a..59e8365c51 100644
--- a/keyboards/alt34/readme.md
+++ b/keyboards/alt34/readme.md
@@ -24,7 +24,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset jumper**: Briefly short the pads just below the TRRS connector on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Latest updates and information for alt34 is found at https://gitlab.com/altosys/alt34
diff --git a/keyboards/alt34/rev1/config.h b/keyboards/alt34/rev1/config.h
index 7ea63954b0..7027d449ec 100644
--- a/keyboards/alt34/rev1/config.h
+++ b/keyboards/alt34/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1ABC
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER altosys
-#define PRODUCT alt34
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/alt34/rev1/info.json b/keyboards/alt34/rev1/info.json
new file mode 100644
index 0000000000..0d22194885
--- /dev/null
+++ b/keyboards/alt34/rev1/info.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "alt34",
+ "manufacturer": "altosys",
+ "url": "https://gitlab.com/altosys/alt34",
+ "maintainer": "@altosys",
+ "usb": {
+ "vid": "0x1ABC",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_2": {
+ "layout": [
+ {"x": 0, "y": 0.93},
+ {"x": 1, "y": 0.31},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0.28},
+ {"x": 4, "y": 0.42},
+
+ {"x": 7, "y": 0.42},
+ {"x": 8, "y": 0.28},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0.31},
+ {"x": 11, "y": 0.93},
+
+ {"x": 0, "y": 1.93},
+ {"x": 1, "y": 1.31},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1.28},
+ {"x": 4, "y": 1.42},
+
+ {"x": 7, "y": 1.42},
+ {"x": 8, "y": 1.28},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1.31},
+ {"x": 11, "y": 1.93},
+
+ {"x": 0, "y": 2.93},
+ {"x": 1, "y": 2.31},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2.28},
+ {"x": 4, "y": 2.42},
+
+ {"x": 7, "y": 2.42},
+ {"x": 8, "y": 2.28},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2.31},
+ {"x": 11, "y": 2.93},
+
+ {"x": 3.5, "y": 3.45},
+ {"x": 4.5, "y": 3.7},
+
+ {"x": 6.5, "y": 3.7},
+ {"x": 7.5, "y": 3.45}
+ ]
+ }
+ }
+}
diff --git a/keyboards/amag23/config.h b/keyboards/amag23/config.h
index 798fcf9d0f..a847c0ef7e 100644
--- a/keyboards/amag23/config.h
+++ b/keyboards/amag23/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B54 // "KT"
-#define PRODUCT_ID 0x2323
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koolertron
-#define PRODUCT AMAG23
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 6
#define MATRIX_ROW_PINS { A0, A1, A2, A3 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/amag23/info.json b/keyboards/amag23/info.json
index dc44b51224..7eb9aed982 100644
--- a/keyboards/amag23/info.json
+++ b/keyboards/amag23/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMAG23",
+ "manufacturer": "Koolertron",
"url": "http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-874.html",
"maintainer": "ianmclinden",
+ "usb": {
+ "vid": "0x4B54",
+ "pid": "0x2323",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/amjkeyboard/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h
index 2f472eac01..b5b9c2e4df 100755
--- a/keyboards/amjkeyboard/amj40/config.h
+++ b/keyboards/amjkeyboard/amj40/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0x6072
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Han Chen
-#define PRODUCT AMJ40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F4, F5, F6, F7}
#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7}
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/amjkeyboard/amj40/info.json b/keyboards/amjkeyboard/amj40/info.json
index 575fd1b034..cb7c274f10 100644
--- a/keyboards/amjkeyboard/amj40/info.json
+++ b/keyboards/amjkeyboard/amj40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMJ40",
+ "manufacturer": "Han Chen",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0x6072",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c
index a35337a4e2..f3fa391105 100755
--- a/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c
+++ b/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c
index caf6700bc3..365f4ac0c0 100755
--- a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Fkey Layer
[3] = LAYOUT( \
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,\
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,\
KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\
diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c
index ec8cdd87db..4a598d42a8 100644
--- a/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c
+++ b/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_SYSTEM_SLEEP, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/amjkeyboard/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h
index 4e894a45fc..68994d2b2e 100644
--- a/keyboards/amjkeyboard/amj60/config.h
+++ b/keyboards/amjkeyboard/amj60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0x6066
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Han Chen
-#define PRODUCT AMJ60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5 }
#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/amjkeyboard/amj60/info.json b/keyboards/amjkeyboard/amj60/info.json
index 2c1781738e..3b106beb18 100644
--- a/keyboards/amjkeyboard/amj60/info.json
+++ b/keyboards/amjkeyboard/amj60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMJ60",
+ "manufacturer": "Han Chen",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0x6066",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/amjkeyboard/amj66/config.h b/keyboards/amjkeyboard/amj66/config.h
index cc84524b0b..9cbab73e70 100644
--- a/keyboards/amjkeyboard/amj66/config.h
+++ b/keyboards/amjkeyboard/amj66/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0xBD66
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AMJKeyboard
-#define PRODUCT AMJ66
-
/* Key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { F0, B3, B2, B1, B0, B7, D0, D1, D2, D3, D5, D6, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/amjkeyboard/amj66/info.json b/keyboards/amjkeyboard/amj66/info.json
index 27a6ecdb94..2b55e1e3c3 100644
--- a/keyboards/amjkeyboard/amj66/info.json
+++ b/keyboards/amjkeyboard/amj66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMJ66",
+ "manufacturer": "AMJKeyboard",
"url": "",
"maintainer": "FSund, qmk",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0xBD66",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/amjkeyboard/amj84/config.h b/keyboards/amjkeyboard/amj84/config.h
index 569c06dac2..1166c3f986 100644
--- a/keyboards/amjkeyboard/amj84/config.h
+++ b/keyboards/amjkeyboard/amj84/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0x6068
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Han Chen
-#define PRODUCT AMJ84
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { D0, F7, F6, F5, F4, D5 }
#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json
index 484823fcca..3d56530686 100644
--- a/keyboards/amjkeyboard/amj84/info.json
+++ b/keyboards/amjkeyboard/amj84/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMJ84",
- "maintainer": "peepeetee",
+ "manufacturer": "Han Chen",
"url": "",
+ "maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0x6068",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/amjkeyboard/amj84/readme.md b/keyboards/amjkeyboard/amj84/readme.md
index c0df110eb0..d1cc03a7f4 100644
--- a/keyboards/amjkeyboard/amj84/readme.md
+++ b/keyboards/amjkeyboard/amj84/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/amjkeyboard/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h
index 67b3699047..12a01dc3e6 100644
--- a/keyboards/amjkeyboard/amj96/config.h
+++ b/keyboards/amjkeyboard/amj96/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0x6074
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Han Chen
-#define PRODUCT AMJ96
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 16
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/amjkeyboard/amj96/info.json b/keyboards/amjkeyboard/amj96/info.json
index b2aac215c0..329232293e 100644
--- a/keyboards/amjkeyboard/amj96/info.json
+++ b/keyboards/amjkeyboard/amj96/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AMJ96",
+ "manufacturer": "Han Chen",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0x6074",
+ "device_version": "0.0.2"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/amjkeyboard/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h
index fe621b7bf3..647df951df 100644
--- a/keyboards/amjkeyboard/amjpad/config.h
+++ b/keyboards/amjkeyboard/amjpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00D8 //A+M+J
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER AMJ
-#define PRODUCT PAD
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5, D0 }
#define MATRIX_COL_PINS { F1, F0, E6, C7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
diff --git a/keyboards/amjkeyboard/amjpad/info.json b/keyboards/amjkeyboard/amjpad/info.json
index 76147716d2..456b90e049 100644
--- a/keyboards/amjkeyboard/amjpad/info.json
+++ b/keyboards/amjkeyboard/amjpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "AMJ Pad",
+ "keyboard_name": "PAD",
+ "manufacturer": "AMJ",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00D8",
+ "pid": "0x6060",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k23", "x":3, "y":2, "h":2}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k50", "x":0, "y":5, "w":2}, {"label":"k52", "x":2, "y":5}, {"label":"k43", "x":3, "y":4, "h":2}]
diff --git a/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c
index 7bfaed5999..9579726594 100644
--- a/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c
+++ b/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_ortho_6x4(
KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_P7, KC_P8, KC_P9, RESET, \
+ KC_P7, KC_P8, KC_P9, QK_BOOT, \
KC_P4, KC_P5, KC_P6, KC_PENT, \
KC_P1, KC_P2, KC_P3, KC_PENT, \
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
diff --git a/keyboards/an_achronism/tetromino/README.md b/keyboards/an_achronism/tetromino/README.md
new file mode 100644
index 0000000000..0fae9a821d
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/README.md
@@ -0,0 +1,42 @@
+# tetromino
+
+![tetromino](https://i.postimg.cc/RSfJkbTP/IMG-2428.jpg)
+* Keyboard Maintainer: [an_achronism](https://github.com/an-achronism)
+* Hardware Availability: Currently in prototyping stage, so only via [Discord](https://discord.gg/8hpygm4PgW)
+
+This project started for one reason alone: I suspected that I would hate typing on an ortholinear keyboard and wanted to find out if I was correct.
+
+It ended up turning into something a little more interesting, at least from my perspective. Much of this was driven by my general dissatisfaction with how RGB LEDs tend to be used in keyboards. I'd been talking for quite some time about how I'd like to build RGB behaviours into my keyboards that had a purely functional purpose, rather than existing mostly to look cool. Specifically, I wanted to represent layer and lock statuses in a way I've never seen anybody else do. For instance, turning on Caps Lock would not switch on a single Caps Lock indicator LED, but rather light up all of the keys that would behave differently because of Caps Lock being switched on, meaning A-Z but nothing else. The other indicators (Num and Scroll Lock) would do something very similar. Activating a custom keymap layer would also light up only the keys that were mapped differently on that layer compared to the base layer.
+
+I managed to implement a custom function to achieve exactly the desired RGB LED functionality, but for reasons that mostly have to do with following general QMK guidelines, this (relatively large) custom function is not included in the default keymap. If you want it, flash the "indicators" keymap instead.
+
+## Compiling the firmware
+
+You'll first need to set up a build environment for QMK (see below). Once you've done that, you can run a `make` for the keymap of your choice.
+
+The default keymap does NOT have my preferred custom RGB behaviour in it, in the interests of keeping with QMK repository's preference of keeping the default keymap as straightforward as possible (the custom RGB function is relatively large). If you don't care about having that, you can just do this:
+
+ make tetromino:default
+
+If however you do want my custom RGB matrix behaviour, do this:
+
+ make tetromino:indicators
+
+This will give you the RGB behaviour described in the section above.
+
+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).
+
+## Entering the bootloader
+
+You'll need to do this to flash or reflash the firmware. You can enter the bootloader in a number of different ways:
+
+* **Physical reset button**: If you have a reset button soldered on, and the keyboard is fully assembled, you should be able to reach into the hole in the underside of the case while the keyboard is connected and double-press the reset button (push it twice in quick succession). Only pressing it once will reset the microcontroller, but won't put it into bootloader mode.
+* **Physical BOOTSEL button**: Regardless of whether you have a reset button soldered into place, there is a BOOTSEL button included onboard the Raspberry Pi Pico that hosts the microcontroller. With the keyboard disconnected, press and hold down the BOOTSEL button and connect the keyboard, then release BOOTSEL.
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard (similar to the BOOTSEL method above).
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available in your keymap.
+
+Once that's done, you should see a USB mass storage device appear in your operating system pertaining to the RP2040's bootloader. This indicates that the MCU is ready to flash a firmware of your choice.
+
+## Flashing the firmware
+
+The RP2040 MCU comes preflashed with a UF2 bootloader which, once activated by one of the methods above, allows the user to flash a firmware by simply dragging and dropping the firmware file into the USB mass storage device that appears in the OS. In this case, drag and drop the .uf2 file for your corresponding QMK firmware (compiled previously as per instructions above) into the relevant USB device and the firmware should flash, then the keyboard will immediately restart with the firmware on it, ready to use. Happy typing!
diff --git a/keyboards/an_achronism/tetromino/config.h b/keyboards/an_achronism/tetromino/config.h
new file mode 100644
index 0000000000..6208224465
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/config.h
@@ -0,0 +1,31 @@
+/*
+Copyright 2022 an_achronism (@an-achronism)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define DRIVER_LED_TOTAL 70
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/an_achronism/tetromino/info.json b/keyboards/an_achronism/tetromino/info.json
new file mode 100644
index 0000000000..b8aae9d201
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/info.json
@@ -0,0 +1,184 @@
+{
+ "manufacturer": "an_achronism",
+ "keyboard_name": "tetromino",
+ "maintainer": "an-achronism",
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "url": "https://github.com/an-achronism/tetromino",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x3435",
+ "vid": "0x4161"
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "rgb_matrix": true
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6",
+ "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"],
+ "rows": ["GP16", "GP17", "GP18", "GP19", "GP20"]
+ },
+ "layouts": {
+ "LAYOUT_ortho_5x14": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [0, 12], "x": 12, "y": 0 },
+ { "matrix": [0, 13], "x": 13, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [1, 12], "x": 12, "y": 1 },
+ { "matrix": [1, 13], "x": 13, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [2, 12], "x": 12, "y": 2 },
+ { "matrix": [2, 13], "x": 13, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3 },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 },
+ { "matrix": [3, 12], "x": 12, "y": 3 },
+ { "matrix": [3, 13], "x": 13, "y": 3 },
+ { "matrix": [4, 0], "x": 0, "y": 4 },
+ { "matrix": [4, 1], "x": 1, "y": 4 },
+ { "matrix": [4, 2], "x": 2, "y": 4 },
+ { "matrix": [4, 3], "x": 3, "y": 4 },
+ { "matrix": [4, 4], "x": 4, "y": 4 },
+ { "matrix": [4, 5], "x": 5, "y": 4 },
+ { "matrix": [4, 6], "x": 6, "y": 4 },
+ { "matrix": [4, 7], "x": 7, "y": 4 },
+ { "matrix": [4, 8], "x": 8, "y": 4 },
+ { "matrix": [4, 9], "x": 9, "y": 4 },
+ { "matrix": [4, 10], "x": 10, "y": 4 },
+ { "matrix": [4, 11], "x": 11, "y": 4 },
+ { "matrix": [4, 12], "x": 12, "y": 4 },
+ { "matrix": [4, 13], "x": 13, "y": 4 }
+ ]
+ }
+ },
+ "rgblight": {
+ "led_count": 70,
+ "pin": "GP26"
+ },
+ "rgb_matrix": {
+ "driver": "WS2812",
+ "layout": [
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 17, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 34, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 52, "y": 0 },
+ { "flags": 4, "matrix": [0, 4], "x": 69, "y": 0 },
+ { "flags": 4, "matrix": [0, 5], "x": 86, "y": 0 },
+ { "flags": 4, "matrix": [0, 6], "x": 103, "y": 0 },
+ { "flags": 4, "matrix": [0, 7], "x": 121, "y": 0 },
+ { "flags": 4, "matrix": [0, 8], "x": 138, "y": 0 },
+ { "flags": 4, "matrix": [0, 9], "x": 155, "y": 0 },
+ { "flags": 4, "matrix": [0, 10], "x": 172, "y": 0 },
+ { "flags": 4, "matrix": [0, 11], "x": 190, "y": 0 },
+ { "flags": 4, "matrix": [0, 12], "x": 207, "y": 0 },
+ { "flags": 4, "matrix": [0, 13], "x": 224, "y": 0 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 16 },
+ { "flags": 4, "matrix": [1, 1], "x": 17, "y": 16 },
+ { "flags": 4, "matrix": [1, 2], "x": 34, "y": 16 },
+ { "flags": 4, "matrix": [1, 3], "x": 52, "y": 16 },
+ { "flags": 4, "matrix": [1, 4], "x": 69, "y": 16 },
+ { "flags": 4, "matrix": [1, 5], "x": 86, "y": 16 },
+ { "flags": 4, "matrix": [1, 6], "x": 103, "y": 16 },
+ { "flags": 4, "matrix": [1, 7], "x": 121, "y": 16 },
+ { "flags": 4, "matrix": [1, 8], "x": 138, "y": 16 },
+ { "flags": 4, "matrix": [1, 9], "x": 155, "y": 16 },
+ { "flags": 4, "matrix": [1, 10], "x": 172, "y": 16 },
+ { "flags": 4, "matrix": [1, 11], "x": 190, "y": 16 },
+ { "flags": 4, "matrix": [1, 12], "x": 207, "y": 16 },
+ { "flags": 4, "matrix": [1, 13], "x": 224, "y": 16 },
+ { "flags": 4, "matrix": [2, 0], "x": 0, "y": 32 },
+ { "flags": 4, "matrix": [2, 1], "x": 17, "y": 32 },
+ { "flags": 4, "matrix": [2, 2], "x": 34, "y": 32 },
+ { "flags": 4, "matrix": [2, 3], "x": 52, "y": 32 },
+ { "flags": 4, "matrix": [2, 4], "x": 69, "y": 32 },
+ { "flags": 4, "matrix": [2, 5], "x": 86, "y": 32 },
+ { "flags": 4, "matrix": [2, 6], "x": 103, "y": 32 },
+ { "flags": 4, "matrix": [2, 7], "x": 121, "y": 32 },
+ { "flags": 4, "matrix": [2, 8], "x": 138, "y": 32 },
+ { "flags": 4, "matrix": [2, 9], "x": 155, "y": 32 },
+ { "flags": 4, "matrix": [2, 10], "x": 172, "y": 32 },
+ { "flags": 4, "matrix": [2, 11], "x": 190, "y": 32 },
+ { "flags": 4, "matrix": [2, 12], "x": 207, "y": 32 },
+ { "flags": 4, "matrix": [2, 13], "x": 224, "y": 32 },
+ { "flags": 4, "matrix": [3, 0], "x": 0, "y": 48 },
+ { "flags": 4, "matrix": [3, 1], "x": 17, "y": 48 },
+ { "flags": 4, "matrix": [3, 2], "x": 34, "y": 48 },
+ { "flags": 4, "matrix": [3, 3], "x": 52, "y": 48 },
+ { "flags": 4, "matrix": [3, 4], "x": 69, "y": 48 },
+ { "flags": 4, "matrix": [3, 5], "x": 86, "y": 48 },
+ { "flags": 4, "matrix": [3, 6], "x": 103, "y": 48 },
+ { "flags": 4, "matrix": [3, 7], "x": 121, "y": 48 },
+ { "flags": 4, "matrix": [3, 8], "x": 138, "y": 48 },
+ { "flags": 4, "matrix": [3, 9], "x": 155, "y": 48 },
+ { "flags": 4, "matrix": [3, 10], "x": 172, "y": 48 },
+ { "flags": 4, "matrix": [3, 11], "x": 190, "y": 48 },
+ { "flags": 4, "matrix": [3, 12], "x": 207, "y": 48 },
+ { "flags": 4, "matrix": [3, 13], "x": 224, "y": 48 },
+ { "flags": 4, "matrix": [4, 0], "x": 0, "y": 64 },
+ { "flags": 4, "matrix": [4, 1], "x": 17, "y": 64 },
+ { "flags": 4, "matrix": [4, 2], "x": 34, "y": 64 },
+ { "flags": 4, "matrix": [4, 3], "x": 52, "y": 64 },
+ { "flags": 4, "matrix": [4, 4], "x": 69, "y": 64 },
+ { "flags": 4, "matrix": [4, 5], "x": 86, "y": 64 },
+ { "flags": 4, "matrix": [4, 6], "x": 103, "y": 64 },
+ { "flags": 4, "matrix": [4, 7], "x": 121, "y": 64 },
+ { "flags": 4, "matrix": [4, 8], "x": 138, "y": 64 },
+ { "flags": 4, "matrix": [4, 9], "x": 155, "y": 64 },
+ { "flags": 4, "matrix": [4, 10], "x": 172, "y": 64 },
+ { "flags": 4, "matrix": [4, 11], "x": 190, "y": 64 },
+ { "flags": 4, "matrix": [4, 12], "x": 207, "y": 64 },
+ { "flags": 4, "matrix": [4, 13], "x": 224, "y": 64 }
+ ]
+ }
+}
diff --git a/keyboards/an_achronism/tetromino/keymaps/default/keymap.c b/keyboards/an_achronism/tetromino/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4f47154c69
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/keymaps/default/keymap.c
@@ -0,0 +1,62 @@
+/*
+Copyright 2022 an_achronism (@an-achronism)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Del│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Tab| Q │ W │ E | R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bsp│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Ctl│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │UK#│Rtn|
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Sft│ ↑ │App|
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Esc│Ctl│Alt│GUI│L_1│Spc│L_2|GUI│Alt│Ctl|UK\│ ↠│ ↓ │ → │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_5x14(
+ 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_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, RSFT_T(KC_APP),
+ KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_RGUI, KC_RALT, KC_RCTL, KC_NUBS, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ortho_5x14(
+ KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PEQL, _______, _______, _______, KC_PWR,
+ _______, _______, KC_UP, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_PAUS, KC_ESC, _______, KC_SLEP,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_CALC,
+ KC_CAPS, _______, _______, _______, _______, KC_PAUS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, KC_CAPS, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_ortho_5x14(
+ _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP,
+ _______, KC_F4, KC_F3, KC_F2, KC_F1, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, C(KC_BRK), KC_ESC, _______, _______,
+ _______, KC_F8, KC_F7, KC_F6, KC_F5, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MPRV, KC_MNXT, KC_MPLY,
+ KC_CAPS, KC_F12, KC_F11, KC_F10, KC_F9, C(KC_BRK),_______, _______, _______, _______, _______, KC_CAPS, _______, KC_PSCR,
+ _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_ortho_5x14(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/an_achronism/tetromino/keymaps/indicators/config.h b/keyboards/an_achronism/tetromino/keymaps/indicators/config.h
new file mode 100644
index 0000000000..f117063fb1
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/keymaps/indicators/config.h
@@ -0,0 +1,30 @@
+/*
+Copyright 2022 an_achronism (@an-achronism)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 RGB_TRIGGER_ON_KEYDOWN
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c b/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c
new file mode 100644
index 0000000000..8f56c41be6
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c
@@ -0,0 +1,124 @@
+/*
+Copyright 2022 an_achronism (@an-achronism)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Del│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Tab| Q │ W │ E | R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bsp│
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Ctl│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │UK#│Rtn|
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Sft│ ↑ │App|
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │Esc│Ctl│Alt│GUI│L_1│Spc│L_2|GUI│Alt│Ctl|UK\│ ↠│ ↓ │ → │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_5x14(
+ 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_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, RSFT_T(KC_APP),
+ KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_RGUI, KC_RALT, KC_RCTL, KC_NUBS, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ortho_5x14(
+ KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PEQL, _______, _______, _______, KC_PWR,
+ _______, _______, KC_UP, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_PAUS, KC_ESC, _______, KC_SLEP,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_CALC,
+ KC_CAPS, _______, _______, _______, _______, KC_PAUS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, KC_CAPS, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_ortho_5x14(
+ _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP,
+ _______, KC_F4, KC_F3, KC_F2, KC_F1, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, C(KC_BRK), KC_ESC, _______, _______,
+ _______, KC_F8, KC_F7, KC_F6, KC_F5, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MPRV, KC_MNXT, KC_MPLY,
+ KC_CAPS, KC_F12, KC_F11, KC_F10, KC_F9, C(KC_BRK),_______, _______, _______, _______, _______, KC_CAPS, _______, KC_PSCR,
+ _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_ortho_5x14(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+// Initialise RBG matrix with all LEDs set to solid colour and zero HSV (i.e. off):
+void keyboard_post_init_user(void) {
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ rgb_matrix_sethsv_noeeprom(HSV_OFF);
+};
+
+// Custom RGB indicator behaviour:
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ uint8_t led_processed_count = 0;
+ for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
+ for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
+ if (led_processed_count == RGB_MATRIX_LED_PROCESS_LIMIT){
+ return;
+ }
+ uint8_t led_index = g_led_config.matrix_co[row][col];
+ uint16_t keycode = keymap_key_to_keycode(0, (keypos_t){col,row});
+ if (led_index >= led_min && led_index <= led_max && led_index != NO_LED) {
+ // Light base layer arrow keys orange if Scroll Lock is on, otherwise light them magenta:
+ led_processed_count++;
+ if (keycode >= KC_RIGHT && keycode <= KC_UP) {
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(led_index, RGB_ORANGE);
+ } else {
+ rgb_matrix_set_color(led_index, RGB_MAGENTA);
+ }
+ }
+ // Light alpha keys (A-Z only) red if Caps Lock is on:
+ if (host_keyboard_led_state().caps_lock && keycode >= KC_A && keycode <= KC_Z) {
+ rgb_matrix_set_color(led_index, RGB_RED);
+ }
+ // Whenever a layer above base is active, recolour only the keys that are different on that layer:
+ if (get_highest_layer(layer_state) > 0) {
+ uint8_t layer = get_highest_layer(layer_state);
+ uint16_t momentary_keycode = keymap_key_to_keycode(layer, (keypos_t){col,row});
+ if (momentary_keycode > KC_TRNS) {
+ switch(layer) {
+ case 2:
+ // The uppermost layer is blue:
+ rgb_matrix_set_color(led_index, RGB_BLUE);
+ break;
+ case 1:
+ // The middle layer is green, except that the numpad section turns
+ // orange when Num Lock is on:
+ if (host_keyboard_led_state().num_lock &&
+ (momentary_keycode == KC_KP_EQUAL ||
+ (momentary_keycode >= KC_NUM_LOCK && momentary_keycode <= KC_KP_DOT)
+ )) {
+ rgb_matrix_set_color(led_index, RGB_ORANGE);
+ } else {
+ rgb_matrix_set_color(led_index, RGB_GREEN);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/keyboards/an_achronism/tetromino/rules.mk b/keyboards/an_achronism/tetromino/rules.mk
new file mode 100644
index 0000000000..ff20f6e38e
--- /dev/null
+++ b/keyboards/an_achronism/tetromino/rules.mk
@@ -0,0 +1,2 @@
+# Use dedicated PIO on Raspberry Pi Pico for RGB LEDs:
+WS2812_DRIVER = vendor
diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h
index 4ec8c73123..b15656fe83 100644
--- a/keyboards/anavi/macropad8/config.h
+++ b/keyboards/anavi/macropad8/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ANAVI
-#define PRODUCT Macro Pad 8
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -51,7 +44,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_LEVELS 3
#define RGBLIGHT_SLEEP
-#define UNUSED_PINS
/* ws2812B RGB LED */
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/anavi/macropad8/info.json b/keyboards/anavi/macropad8/info.json
index 8f6deed82b..fd6d3bd0a1 100644
--- a/keyboards/anavi/macropad8/info.json
+++ b/keyboards/anavi/macropad8/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ANAVI Macro Pad 8",
+ "keyboard_name": "Macro Pad 8",
+ "manufacturer": "ANAVI",
"url": "",
"maintainer": "leon-anavi",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"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}]
diff --git a/keyboards/annepro2/ap2_led.c b/keyboards/annepro2/ap2_led.c
index f12269f93d..8b42e470c2 100644
--- a/keyboards/annepro2/ap2_led.c
+++ b/keyboards/annepro2/ap2_led.c
@@ -138,6 +138,24 @@ void ap2_led_reset_foreground_color() {
ap2_led_mask_set_mono(color);
}
+void ap2_led_sticky_set_key(uint8_t row, uint8_t col, ap2_led_t color) {
+ uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha};
+ proto_tx(CMD_LED_STICKY_SET_KEY, payload, sizeof(payload), 1);
+}
+
+void ap2_led_unset_sticky_key(uint8_t row, uint8_t col) {
+ uint8_t payload[] = {row, col};
+ proto_tx(CMD_LED_STICKY_UNSET_KEY, payload, sizeof(payload), 1);
+}
+
+void ap2_led_unset_sticky_row(uint8_t row) {
+ uint8_t payload[] = {row};
+ proto_tx(CMD_LED_STICKY_UNSET_ROW, payload, sizeof(payload), 1);
+}
+void ap2_led_unset_sticky_all(void) {
+ proto_tx(CMD_LED_STICKY_UNSET_ALL, NULL, 0, 1);
+}
+
/*
* Currently keypresses are unified with other messages, still with single 1
* byte payload. Transfer is normally fast enough for that to not be a problem -
diff --git a/keyboards/annepro2/ap2_led.h b/keyboards/annepro2/ap2_led.h
index 43f78c03e3..9d9a3aca7e 100644
--- a/keyboards/annepro2/ap2_led.h
+++ b/keyboards/annepro2/ap2_led.h
@@ -86,6 +86,11 @@ void ap2_led_blink(uint8_t row, uint8_t col, ap2_led_t color, uint8_t count, uin
void ap2_led_set_foreground_color(uint8_t red, uint8_t green, uint8_t blue);
void ap2_led_reset_foreground_color(void);
+void ap2_led_sticky_set_key(uint8_t row, uint8_t col, ap2_led_t color);
+void ap2_led_unset_sticky_key(uint8_t row, uint8_t col);
+void ap2_led_unset_sticky_row(uint8_t row);
+void ap2_led_unset_sticky_all(void);
+
typedef struct {
uint8_t amount_of_profiles;
uint8_t current_profile;
diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h
index ff92aeea8e..ea38f4dce3 100644
--- a/keyboards/annepro2/c15/config.h
+++ b/keyboards/annepro2/c15/config.h
@@ -20,12 +20,6 @@
#include "pin_defs.h"
#include "config_led.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xfeed
-#define PRODUCT_ID 0xac15
-#define DEVICE_VER 0x1337
-#define MANUFACTURER Obins
-#define PRODUCT Anne Pro 2 QMK
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -49,3 +43,21 @@
// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK
#define PERMISSIVE_HOLD
+
+// SPI configuration
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A0
+#define SPI_MOSI_PIN A1
+#define SPI_MISO_PIN A2
+
+// Flash configuration
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B6
+#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 16
+#define EXTERNAL_FLASH_PAGE_SIZE 256
+#define EXTERNAL_FLASH_SECTOR_SIZE 4096
+#define EXTERNAL_FLASH_BLOCK_SIZE 4096
+#define EXTERNAL_FLASH_SIZE (256 * 1024) // 2M-bit flash size
+
+// Wear-leveling driver configuration
+#define WEAR_LEVELING_LOGICAL_SIZE 1024
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
diff --git a/keyboards/annepro2/c15/info.json b/keyboards/annepro2/c15/info.json
new file mode 100644
index 0000000000..c8c637ccfb
--- /dev/null
+++ b/keyboards/annepro2/c15/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Anne Pro 2 C15 (QMK)",
+ "usb": {
+ "pid": "0xAC15"
+ }
+}
diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk
index 2c518b6339..302aeecbe6 100644
--- a/keyboards/annepro2/c15/rules.mk
+++ b/keyboards/annepro2/c15/rules.mk
@@ -26,6 +26,10 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+# Wear-levelling driver
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
+
# Custom RGB matrix handling
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = custom
diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h
index 82a406a157..6b6307c3d0 100644
--- a/keyboards/annepro2/c18/config.h
+++ b/keyboards/annepro2/c18/config.h
@@ -20,12 +20,6 @@
#include "pin_defs.h"
#include "config_led.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xfeed
-#define PRODUCT_ID 0xac18
-#define DEVICE_VER 0x1337
-#define MANUFACTURER Obins
-#define PRODUCT Anne Pro 2(c18)QMK
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -47,3 +41,21 @@
// Obins stock firmware has something similar to this already enabled, but disabled by default in QMK
#define PERMISSIVE_HOLD
+
+// SPI configuration
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A0
+#define SPI_MOSI_PIN A1
+#define SPI_MISO_PIN A2
+
+// Flash configuration
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN A3
+#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 16
+#define EXTERNAL_FLASH_PAGE_SIZE 256
+#define EXTERNAL_FLASH_SECTOR_SIZE 4096
+#define EXTERNAL_FLASH_BLOCK_SIZE 4096
+#define EXTERNAL_FLASH_SIZE (256 * 1024) // 2M-bit flash size
+
+// Wear-leveling driver configuration
+#define WEAR_LEVELING_LOGICAL_SIZE 1024
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
diff --git a/keyboards/annepro2/c18/info.json b/keyboards/annepro2/c18/info.json
new file mode 100644
index 0000000000..94b96a2c44
--- /dev/null
+++ b/keyboards/annepro2/c18/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Anne Pro 2 C18 (QMK)",
+ "usb": {
+ "pid": "0xAC18"
+ }
+}
diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk
index 60c2e08648..b1c7208f8b 100644
--- a/keyboards/annepro2/c18/rules.mk
+++ b/keyboards/annepro2/c18/rules.mk
@@ -26,6 +26,10 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+# Wear-levelling driver
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
+
# Custom RGB matrix handling
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = custom
diff --git a/keyboards/annepro2/halconf.h b/keyboards/annepro2/halconf.h
index 686b91a7fb..dcb04eab1b 100644
--- a/keyboards/annepro2/halconf.h
+++ b/keyboards/annepro2/halconf.h
@@ -25,4 +25,8 @@
#define SERIAL_USB_BUFFERS_SIZE 256
+#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/annepro2/info.json b/keyboards/annepro2/info.json
index 95786329b2..d2ddae4053 100644
--- a/keyboards/annepro2/info.json
+++ b/keyboards/annepro2/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Anne Pro 2",
+ "manufacturer": "Obins",
"url": "https://openannepro.github.io/",
"maintainer": "bwisn",
+ "usb": {
+ "vid": "0xFEED",
+ "device_version": "13.3.7"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/annepro2/keymaps/default-full-caps/keymap.c b/keyboards/annepro2/keymaps/default-full-caps/keymap.c
index c87447d311..cb6147d40a 100644
--- a/keyboards/annepro2/keymaps/default-full-caps/keymap.c
+++ b/keyboards/annepro2/keymaps/default-full-caps/keymap.c
@@ -96,7 +96,7 @@ enum anne_pro_layers {
*
*/
[FN2] = LAYOUT_60_ansi( /* FN2 */
- _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, KC_AP_LED_OFF, KC_AP_LED_ON, _______, _______, _______, _______,
+ _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_RGB_MOD, KC_AP_RGB_TOG, KC_AP_RGB_VAD, KC_AP_RGB_VAI, _______,
MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______,
@@ -109,9 +109,11 @@ enum anne_pro_layers {
bool led_update_user(led_t leds) {
if (leds.caps_lock) {
// Set the leds to red
- ap2_led_set_foreground_color(0xFF, 0x00, 0x00);
+ const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff};
+ ap2_led_mask_set_mono(color);
} else {
- ap2_led_reset_foreground_color();
+ const ap2_led_t color = {.p.red = 0x00, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00};
+ ap2_led_mask_set_mono(color);
}
return true;
diff --git a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c
index 1fd97c584e..ca042dcd32 100644
--- a/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c
+++ b/keyboards/annepro2/keymaps/default-layer-indicators/keymap.c
@@ -96,7 +96,7 @@ enum anne_pro_layers {
*
*/
[FN2] = LAYOUT_60_ansi( /* FN2 */
- _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_LED_TOG, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_PREV_PROFILE, KC_AP_LED_NEXT_PROFILE, _______,
+ _______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_RGB_MOD, KC_AP_RGB_TOG, KC_AP_RGB_VAD, KC_AP_RGB_VAI, _______,
MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______,
@@ -134,16 +134,12 @@ bool led_update_user(led_t leds) {
if (leds.caps_lock) {
// Set the caps-lock to red
const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff};
-
- ap2_led_mask_set_key(2, 0, color);
+ ap2_led_sticky_set_key(2, 0, color);
/* NOTE: Instead of colouring the capslock only, you can change the whole
- keyboard with ap2_led_set_foreground_color */
+ keyboard with ap2_led_mask_set_mono */
} else {
// Reset the capslock if there is no layer active
- if (!layer_state_is(FN1) && !layer_state_is(FN2)) {
- const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00};
- ap2_led_mask_set_key(2, 0, color);
- }
+ ap2_led_unset_sticky_key(2, 0);
}
return true;
diff --git a/keyboards/annepro2/mcuconf.h b/keyboards/annepro2/mcuconf.h
index 8265fe6eb9..9e39bd9681 100644
--- a/keyboards/annepro2/mcuconf.h
+++ b/keyboards/annepro2/mcuconf.h
@@ -60,3 +60,11 @@
#define HT32_USB_USE_USB0 TRUE
#define HT32_USB_USB0_IRQ_PRIORITY 5
+
+/*
+ * SPI driver setting
+ */
+
+#define HT32_SPI_USE_SPI1 TRUE
+#define HT32_SPI1_IRQ_PRIORITY 9
+
diff --git a/keyboards/annepro2/protocol.h b/keyboards/annepro2/protocol.h
index 41610054e0..d38fd0a66e 100644
--- a/keyboards/annepro2/protocol.h
+++ b/keyboards/annepro2/protocol.h
@@ -55,6 +55,14 @@ enum {
/* Number of profiles, current profile, on/off state,
reactive flag, brightness, errors */
CMD_LED_STATUS = 0x41,
+
+ /* Set sticky key, meaning the key will light up even when LEDs are turned off */
+ CMD_LED_STICKY_SET_KEY = 0x50,
+ CMD_LED_STICKY_SET_ROW = 0x51,
+ CMD_LED_STICKY_SET_MONO = 0x52,
+ CMD_LED_STICKY_UNSET_KEY = 0x53,
+ CMD_LED_STICKY_UNSET_ROW = 0x54,
+ CMD_LED_STICKY_UNSET_ALL = 0x55,
};
/* 1 ROW * 14 COLS * 4B (RGBX) = 56 + header prefix. */
diff --git a/keyboards/ano/config.h b/keyboards/ano/config.h
index 3c3ee05fbe..4fe23fb1c8 100644
--- a/keyboards/ano/config.h
+++ b/keyboards/ano/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8372
-#define PRODUCT_ID 0x0651
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Sebastien Sauve-Hoover
-#define PRODUCT Ano Keyboard
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -29,7 +23,6 @@
#define MATRIX_ROW_PINS { A4, B14, B15, B9, B10, B11 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7, A5, A6, A7, A8, A15, A2, A1, A0, B8, B13 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { A14 }
diff --git a/keyboards/ano/info.json b/keyboards/ano/info.json
index 3eda03c74f..63c994c173 100644
--- a/keyboards/ano/info.json
+++ b/keyboards/ano/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ano",
+ "manufacturer": "Sebastien Sauve-Hoover",
"url": "https://github.com/sauvehoo",
"maintainer": "sauvehoo",
+ "usb": {
+ "vid": "0x8372",
+ "pid": "0x0651",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0.25, "y":0.25}, {"label":"F1", "x":1.5, "y":0.25}, {"label":"F2", "x":2.5, "y":0.25}, {"label":"F3", "x":3.5, "y":0.25}, {"label":"F4", "x":4.5, "y":0.25}, {"label":"F5", "x":5.75, "y":0.25}, {"label":"F6", "x":6.75, "y":0.25}, {"label":"F7", "x":7.75, "y":0.25}, {"label":"F8", "x":8.75, "y":0.25}, {"label":"F9", "x":10, "y":0.25}, {"label":"F10", "x":11, "y":0.25}, {"label":"F11", "x":12, "y":0.25}, {"label":"F12", "x":13, "y":0.25}, {"label":"Delete", "x":14.25, "y":0.25}, {"label":"Encoder", "x":18.25, "y":0.25}, {"label":"~", "x":0.25, "y":1.5}, {"label":"!", "x":1.25, "y":1.5}, {"label":"@", "x":2.25, "y":1.5}, {"label":"#", "x":3.25, "y":1.5}, {"label":"$", "x":4.25, "y":1.5}, {"label":"%", "x":5.25, "y":1.5}, {"label":"^", "x":6.25, "y":1.5}, {"label":"&", "x":7.25, "y":1.5}, {"label":"*", "x":8.25, "y":1.5}, {"label":"(", "x":9.25, "y":1.5}, {"label":")", "x":10.25, "y":1.5}, {"label":"_", "x":11.25, "y":1.5}, {"label":"+", "x":12.25, "y":1.5}, {"label":"Backspace", "x":13.25, "y":1.5, "w":2}, {"label":"Num Lock", "x":15.25, "y":1.5}, {"label":"/", "x":16.25, "y":1.5}, {"label":"*", "x":17.25, "y":1.5}, {"label":"*", "x":18.25, "y":1.5}, {"label":"Tab", "x":0.25, "y":2.5, "w":1.5}, {"label":"Q", "x":1.75, "y":2.5}, {"label":"W", "x":2.75, "y":2.5}, {"label":"E", "x":3.75, "y":2.5}, {"label":"R", "x":4.75, "y":2.5}, {"label":"T", "x":5.75, "y":2.5}, {"label":"Y", "x":6.75, "y":2.5}, {"label":"U", "x":7.75, "y":2.5}, {"label":"I", "x":8.75, "y":2.5}, {"label":"O", "x":9.75, "y":2.5}, {"label":"P", "x":10.75, "y":2.5}, {"label":"{", "x":11.75, "y":2.5}, {"label":"}", "x":12.75, "y":2.5}, {"label":"|", "x":13.75, "y":2.5, "w":1.5}, {"label":"7", "x":15.25, "y":2.5}, {"label":"8", "x":16.25, "y":2.5}, {"label":"9", "x":17.25, "y":2.5}, {"label":"-", "x":18.25, "y":2.5}, {"label":"Caps Lock", "x":0.25, "y":3.5, "w":1.75}, {"label":"A", "x":2, "y":3.5}, {"label":"S", "x":3, "y":3.5}, {"label":"D", "x":4, "y":3.5}, {"label":"F", "x":5, "y":3.5}, {"label":"G", "x":6, "y":3.5}, {"label":"H", "x":7, "y":3.5}, {"label":"J", "x":8, "y":3.5}, {"label":"K", "x":9, "y":3.5}, {"label":"L", "x":10, "y":3.5}, {"label":":", "x":11, "y":3.5}, {"label":"\"", "x":12, "y":3.5}, {"label":"Enter", "x":13, "y":3.5, "w":2.25}, {"label":"4", "x":15.25, "y":3.5}, {"label":"5", "x":16.25, "y":3.5}, {"label":"6", "x":17.25, "y":3.5}, {"label":"+", "x":18.25, "y":3.5}, {"label":"Shift", "x":0.25, "y":4.5, "w":2.25}, {"label":"Z", "x":2.5, "y":4.5}, {"label":"X", "x":3.5, "y":4.5}, {"label":"C", "x":4.5, "y":4.5}, {"label":"V", "x":5.5, "y":4.5}, {"label":"B", "x":6.5, "y":4.5}, {"label":"N", "x":7.5, "y":4.5}, {"label":"M", "x":8.5, "y":4.5}, {"label":"<", "x":9.5, "y":4.5}, {"label":">", "x":10.5, "y":4.5}, {"label":"?", "x":11.5, "y":4.5}, {"label":"Shift", "x":12.5, "y":4.5, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"1", "x":15.25, "y":4.5}, {"label":"2", "x":16.25, "y":4.5}, {"label":"3", "x":17.25, "y":4.5}, {"label":"Enter", "x":18.25, "y":4.5, "h":2}, {"label":"Ctrl", "x":0.25, "y":5.5, "w":1.25}, {"label":"Win", "x":1.5, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":6.25}, {"label":"Alt", "x":10.25, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}, {"label":"0", "x":16.25, "y":5.5}, {"label":".", "x":17.25, "y":5.5}]
diff --git a/keyboards/ano/readme.md b/keyboards/ano/readme.md
index cc879d77b5..594d4bc69c 100644
--- a/keyboards/ano/readme.md
+++ b/keyboards/ano/readme.md
@@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* Physical reset button: Briefly press the button on the back of the PCB - or short reset and ground pins
-* Keycode in layout: Press the key mapped to `RESET`. By default this is done by pressing RALT to access second layer and pressing rotary encoder down. \ No newline at end of file
+* Keycode in layout: Press the key mapped to `QK_BOOT`. By default this is done by pressing RALT to access second layer and pressing rotary encoder down. \ No newline at end of file
diff --git a/keyboards/anomalykb/a65i/config.h b/keyboards/anomalykb/a65i/config.h
index b6ca4a8b84..a5a9dc5081 100644
--- a/keyboards/anomalykb/a65i/config.h
+++ b/keyboards/anomalykb/a65i/config.h
@@ -18,20 +18,12 @@ 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 0x4C47
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AnomalyKB
-#define PRODUCT AnomalyKB A65I
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B3, B2, B1, B0, B5 }
#define MATRIX_COL_PINS { D7, D6, D4, B4, B6, E6, F1, B7, C6, C7, D5, D3, D2, F0, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/anomalykb/a65i/info.json b/keyboards/anomalykb/a65i/info.json
index 2cd7e5a4e8..ae249db7ef 100644
--- a/keyboards/anomalykb/a65i/info.json
+++ b/keyboards/anomalykb/a65i/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "A65I",
+ "manufacturer": "AnomalyKB",
"maintainer": "Lfgberg",
+ "usb": {
+ "vid": "0x4C47",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi": "LAYOUT_65_ansi_blocker",
"LAYOUT_ansi_splitbs": "LAYOUT_65_ansi_blocker_split_bs",
diff --git a/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
index 6c7b1094b5..e9e3f7a32a 100644
--- a/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
+++ b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_ansi_blocker_split_bs(
- 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_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
index 7e9b97d406..fe50f9394b 100644
--- a/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
+++ b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_iso_blocker_split_bs(
- 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_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/aos/tkl/config.h b/keyboards/aos/tkl/config.h
index de40845507..5ddec8cda0 100644
--- a/keyboards/aos/tkl/config.h
+++ b/keyboards/aos/tkl/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504B
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ace of Spades
-#define PRODUCT Ace of Spades TKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aos/tkl/info.json b/keyboards/aos/tkl/info.json
index dff8b16439..32aaba37a1 100644
--- a/keyboards/aos/tkl/info.json
+++ b/keyboards/aos/tkl/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Ace of Spades TKL",
+ "manufacturer": "Ace of Spades",
"maintainer": "rys",
+ "usb": {
+ "vid": "0x504B",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_iso_wkl": {
"layout": [
diff --git a/keyboards/aos/tkl/keymaps/aholland909/keymap.c b/keyboards/aos/tkl/keymaps/aholland909/keymap.c
index 5e224811fc..511d1d44df 100644
--- a/keyboards/aos/tkl/keymaps/aholland909/keymap.c
+++ b/keyboards/aos/tkl/keymaps/aholland909/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_SPC, KC_RGUI, TG(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_tkl_iso_wkl(
- RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, _______,
+ QK_BOOT, 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_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______,
diff --git a/keyboards/aozora/config.h b/keyboards/aozora/config.h
index 67972a84b2..ac0f11b409 100644
--- a/keyboards/aozora/config.h
+++ b/keyboards/aozora/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE86A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salmon Cat Studio
-#define PRODUCT Aozora
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/aozora/info.json b/keyboards/aozora/info.json
index 0f442cc12e..414565ce1c 100644
--- a/keyboards/aozora/info.json
+++ b/keyboards/aozora/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aozora",
+ "manufacturer": "Salmon Cat Studio",
"url": "https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21",
"maintainer": "Phooood",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE86A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json
index 2df8d9fb3a..0bd317c1a4 100644
--- a/keyboards/aplyard/aplx6/info.json
+++ b/keyboards/aplyard/aplx6/info.json
@@ -1,7 +1,11 @@
{
"keyboard_name": "Aplx6",
+ "manufacturer": "Aplyard",
"url": "",
"maintainer": "Aplyard",
+ "usb": {
+ "vid": "0xE0E0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/aplyard/aplx6/rev1/config.h b/keyboards/aplyard/aplx6/rev1/config.h
index 98a7381cc7..6aadc3efb2 100644
--- a/keyboards/aplyard/aplx6/rev1/config.h
+++ b/keyboards/aplyard/aplx6/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE0E0
-#define PRODUCT_ID 0x0030
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Aplyard
-#define PRODUCT Aplx6
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { E6, B3 }
#define MATRIX_COL_PINS { F7, B6, F4 }
-#define UNUSED_PINS
/* ws2812 RGB LED */
diff --git a/keyboards/aplyard/aplx6/rev1/info.json b/keyboards/aplyard/aplx6/rev1/info.json
new file mode 100644
index 0000000000..3eb12dda15
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x0030",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/aplyard/aplx6/rev2/config.h b/keyboards/aplyard/aplx6/rev2/config.h
index 2b30e67e09..922ab5f44a 100644
--- a/keyboards/aplyard/aplx6/rev2/config.h
+++ b/keyboards/aplyard/aplx6/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE0E0
-#define PRODUCT_ID 0x0040
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Aplyard
-#define PRODUCT Aplx6
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 9Key PCB default pin-out */
#define MATRIX_ROW_PINS { B4, B5 }
#define MATRIX_COL_PINS { C6, D7, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aplyard/aplx6/rev2/info.json b/keyboards/aplyard/aplx6/rev2/info.json
new file mode 100644
index 0000000000..06fc50187a
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x0040",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/arabica37/config.h b/keyboards/arabica37/config.h
deleted file mode 100644
index cfb6bf4ffc..0000000000
--- a/keyboards/arabica37/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-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"
diff --git a/keyboards/arabica37/info.json b/keyboards/arabica37/info.json
deleted file mode 100644
index 4aae9a6444..0000000000
--- a/keyboards/arabica37/info.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "keyboard_name": "arabica37 rev. 1",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0.25, "y":0.75},
- {"label":"Q", "x":1.25, "y":0.75},
- {"label":"W", "x":2.25, "y":0.25},
- {"label":"E", "x":3.25, "y":0},
- {"label":"R", "x":4.25, "y":0.25},
- {"label":"T", "x":5.25, "y":0.5},
-
- {"label":"Y", "x":9, "y":0.5},
- {"label":"U", "x":10, "y":0.25},
- {"label":"I", "x":11, "y":0},
- {"label":"O", "x":12, "y":0.25},
- {"label":"P", "x":13, "y":0.75},
- {"label":"Backspace", "x":14, "y":0.75},
-
- {"label":"Ctrl", "x":0.25, "y":1.75},
- {"label":"A", "x":1.25, "y":1.75},
- {"label":"S", "x":2.25, "y":1.25},
- {"label":"D", "x":3.25, "y":1},
- {"label":"F", "x":4.25, "y":1.25},
- {"label":"G", "x":5.25, "y":1.5},
-
- {"label":"H", "x":9, "y":1.5},
- {"label":"J", "x":10, "y":1.25},
- {"label":"K", "x":11, "y":1},
- {"label":"L", "x":12, "y":1.25},
- {"label":";", "x":13, "y":1.75},
- {"label":"'", "x":14, "y":1.75},
-
- {"label":"Adjust", "x":0.25, "y":2.75},
- {"label":"Z", "x":1.25, "y":2.75},
- {"label":"X", "x":2.25, "y":2.25},
- {"label":"C", "x":3.25, "y":2},
- {"label":"V", "x":4.25, "y":2.25},
- {"label":"B", "x":5.25, "y":2.5},
-
- {"label":"N", "x":9, "y":2.5},
- {"label":"M", "x":10, "y":2.25},
- {"label":",", "x":11, "y":2},
- {"label":".", "x":12, "y":2.25},
- {"label":"/", "x":13, "y":2.75},
- {"label":"\\", "x":14, "y":2.75},
-
- {"label":"Shift", "x":0, "y":3.75, "w":2.25},
- {"label":"Lower", "x":4.375, "y":3.75, "w":1.5},
- {"label":"GUI", "x":5.875, "y":3.75, "w":1.25},
-
- {"label":"Alt", "x":8.125, "y":3.75, "w":1.25},
- {"label":"Raise", "x":9.375, "y":3.75, "w":1.5},
- {"label":"Shift", "x":13, "y":3.75, "w":2.25},
-
- {"label":"Space", "x":5.125, "y":4.75, "w":1.25},
- {"label":"Enter", "x":8.875, "y":4.75, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/arabica37/rev1/config.h b/keyboards/arabica37/rev1/config.h
index c0339a1a09..b3a9fd3f89 100644
--- a/keyboards/arabica37/rev1/config.h
+++ b/keyboards/arabica37/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CalciumNitride
-#define PRODUCT Arabica3/7
-
#define USE_SERIAL
#define SOFT_SERIAL_PIN D2
diff --git a/keyboards/arabica37/rev1/info.json b/keyboards/arabica37/rev1/info.json
new file mode 100644
index 0000000000..00d29b54a0
--- /dev/null
+++ b/keyboards/arabica37/rev1/info.json
@@ -0,0 +1,69 @@
+{
+ "keyboard_name": "Arabica3/7",
+ "manufacturer": "CalciumNitride",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0.25, "y":0.75},
+ {"label":"Q", "x":1.25, "y":0.75},
+ {"label":"W", "x":2.25, "y":0.25},
+ {"label":"E", "x":3.25, "y":0},
+ {"label":"R", "x":4.25, "y":0.25},
+ {"label":"T", "x":5.25, "y":0.5},
+
+ {"label":"Y", "x":9, "y":0.5},
+ {"label":"U", "x":10, "y":0.25},
+ {"label":"I", "x":11, "y":0},
+ {"label":"O", "x":12, "y":0.25},
+ {"label":"P", "x":13, "y":0.75},
+ {"label":"Backspace", "x":14, "y":0.75},
+
+ {"label":"Ctrl", "x":0.25, "y":1.75},
+ {"label":"A", "x":1.25, "y":1.75},
+ {"label":"S", "x":2.25, "y":1.25},
+ {"label":"D", "x":3.25, "y":1},
+ {"label":"F", "x":4.25, "y":1.25},
+ {"label":"G", "x":5.25, "y":1.5},
+
+ {"label":"H", "x":9, "y":1.5},
+ {"label":"J", "x":10, "y":1.25},
+ {"label":"K", "x":11, "y":1},
+ {"label":"L", "x":12, "y":1.25},
+ {"label":";", "x":13, "y":1.75},
+ {"label":"'", "x":14, "y":1.75},
+
+ {"label":"Adjust", "x":0.25, "y":2.75},
+ {"label":"Z", "x":1.25, "y":2.75},
+ {"label":"X", "x":2.25, "y":2.25},
+ {"label":"C", "x":3.25, "y":2},
+ {"label":"V", "x":4.25, "y":2.25},
+ {"label":"B", "x":5.25, "y":2.5},
+
+ {"label":"N", "x":9, "y":2.5},
+ {"label":"M", "x":10, "y":2.25},
+ {"label":",", "x":11, "y":2},
+ {"label":".", "x":12, "y":2.25},
+ {"label":"/", "x":13, "y":2.75},
+ {"label":"\\", "x":14, "y":2.75},
+
+ {"label":"Shift", "x":0, "y":3.75, "w":2.25},
+ {"label":"Lower", "x":4.375, "y":3.75, "w":1.5},
+ {"label":"GUI", "x":5.875, "y":3.75, "w":1.25},
+
+ {"label":"Alt", "x":8.125, "y":3.75, "w":1.25},
+ {"label":"Raise", "x":9.375, "y":3.75, "w":1.5},
+ {"label":"Shift", "x":13, "y":3.75, "w":2.25},
+
+ {"label":"Space", "x":5.125, "y":4.75, "w":1.25},
+ {"label":"Enter", "x":8.875, "y":4.75, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ares/config.h b/keyboards/ares/config.h
index 53a3bfe13a..6568cdf69d 100644
--- a/keyboards/ares/config.h
+++ b/keyboards/ares/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER LSJ
-#define PRODUCT Ares
-
#define RGBLED_NUM 16
#define MATRIX_ROWS 5
@@ -32,7 +26,6 @@ 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 { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS {}
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/ares/info.json b/keyboards/ares/info.json
index eeff16b7a9..67c6fe3bc7 100644
--- a/keyboards/ares/info.json
+++ b/keyboards/ares/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LSJ Ares",
+ "keyboard_name": "Ares",
+ "manufacturer": "LSJ",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/arisu/config.h b/keyboards/arisu/config.h
index 8e2da440c2..f499c29de3 100644
--- a/keyboards/arisu/config.h
+++ b/keyboards/arisu/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFA7E
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fate
-#define PRODUCT arisu
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/arisu/info.json b/keyboards/arisu/info.json
index c74817aefd..bb7ce228c4 100644
--- a/keyboards/arisu/info.json
+++ b/keyboards/arisu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Arisu",
+ "manufacturer": "Fate",
"url": "https://github.com/FateNozomi/arisu-pcb",
"maintainer": "FateNozomi",
+ "usb": {
+ "vid": "0xFA7E",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/arisu/keymaps/fate/keymap.c b/keyboards/arisu/keymaps/fate/keymap.c
index f737b4d19a..02f15febe1 100644
--- a/keyboards/arisu/keymaps/fate/keymap.c
+++ b/keyboards/arisu/keymaps/fate/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______,
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
)
};
diff --git a/keyboards/arisu/keymaps/kresnak/keymap.c b/keyboards/arisu/keymaps/kresnak/keymap.c
index 0a4b88367d..05a0e6ba4c 100644
--- a/keyboards/arisu/keymaps/kresnak/keymap.c
+++ b/keyboards/arisu/keymaps/kresnak/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_HOME,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_END,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, _______, _______, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/arisu/keymaps/stanrc85/keymap.c b/keyboards/arisu/keymaps/stanrc85/keymap.c
index a8430b9a33..6874d584dc 100644
--- a/keyboards/arisu/keymaps/stanrc85/keymap.c
+++ b/keyboards/arisu/keymaps/stanrc85/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2_60] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT)
diff --git a/keyboards/arrayperipherals/1x4p1/config.h b/keyboards/arrayperipherals/1x4p1/config.h
index 44559be3ed..5fd99ef30f 100644
--- a/keyboards/arrayperipherals/1x4p1/config.h
+++ b/keyboards/arrayperipherals/1x4p1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4152 // "AR"
-#define PRODUCT_ID 0x4F46 // "OF"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Array Peripherals
-#define PRODUCT [1x4] + 1 Macropad
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ C7, B7, D6, F5, F7} \
}
-#define UNUSED_PINS
/* rotary encoder*/
#define ENCODERS_PAD_A {F0}
diff --git a/keyboards/arrayperipherals/1x4p1/info.json b/keyboards/arrayperipherals/1x4p1/info.json
index d962cb586b..6a2e1efd1f 100644
--- a/keyboards/arrayperipherals/1x4p1/info.json
+++ b/keyboards/arrayperipherals/1x4p1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "[1 x 4] + 1 Macropad",
+ "keyboard_name": "[1x4] + 1 Macropad",
+ "manufacturer": "Array Peripherals",
"url": "https://github.com/daviddoan",
"maintainer": "David Doan",
+ "usb": {
+ "vid": "0x4152",
+ "pid": "0x4F46",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [
diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h
index 7b55f31bd3..cd74024125 100644
--- a/keyboards/ash1800/config.h
+++ b/keyboards/ash1800/config.h
@@ -19,13 +19,6 @@ 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 0x1800
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hasyim Ashari
-#define PRODUCT ASH-1800
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D0, D1, D2, D3, D5, D4, D6 }
#define MATRIX_COL_PINS { F1, F4, F5, F6, B0, B2, B1, B3, B7, C7 }
-#define UNUSED_PINS
#define NUM_LOCK_LED_PIN E6
#define CAPS_LOCK_LED_PIN F0
diff --git a/keyboards/ash1800/info.json b/keyboards/ash1800/info.json
index 632544c772..3c7272d884 100644
--- a/keyboards/ash1800/info.json
+++ b/keyboards/ash1800/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "ASH-1800",
+ "manufacturer": "Hasyim Ashari",
"maintainer": "angelbirth",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1800",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ash_xiix/config.h b/keyboards/ash_xiix/config.h
index bcfdaeef7c..2006f2de30 100644
--- a/keyboards/ash_xiix/config.h
+++ b/keyboards/ash_xiix/config.h
@@ -16,13 +16,6 @@ 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 0x14BC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ASH
-#define PRODUCT XIIX
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D0, D1, D2, D3, D5, D4, D6 }
#define MATRIX_COL_PINS { F1, F4, F5, F6, B0, B2, B1, B3, B7, C7 }
-#define UNUSED_PINS
#define NUM_LOCK_LED_PIN E6
#define CAPS_LOCK_LED_PIN F0
diff --git a/keyboards/ash_xiix/info.json b/keyboards/ash_xiix/info.json
index b91d2e14b1..05b926cda0 100644
--- a/keyboards/ash_xiix/info.json
+++ b/keyboards/ash_xiix/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ASH-XIIX",
+ "keyboard_name": "XIIX",
+ "manufacturer": "ASH",
"url": "config.qmk.fm",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x14BC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ashpil/modelm_usbc/config.h b/keyboards/ashpil/modelm_usbc/config.h
index 8572171527..a932d62946 100644
--- a/keyboards/ashpil/modelm_usbc/config.h
+++ b/keyboards/ashpil/modelm_usbc/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ashpil
-#define PRODUCT IBM Model M 101/102
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, C5, C4, C3, C2, C1, C0 }
#define MATRIX_COL_PINS { E6, E7, F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ashpil/modelm_usbc/info.json b/keyboards/ashpil/modelm_usbc/info.json
index 985141afbb..9838025ce5 100644
--- a/keyboards/ashpil/modelm_usbc/info.json
+++ b/keyboards/ashpil/modelm_usbc/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IBM Model M 101 ANSI/102 ISO",
+ "keyboard_name": "IBM Model M 101/102",
+ "manufacturer": "ashpil",
"url": "https://github.com/ashpil/qmk_firmware/tree/master/keyboards/ashpil/modelm_usbc",
"maintainer": "ashpil",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fullsize_iso_wkl": {
"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":"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.5}, {"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":"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.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"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/at_at/660m/config.h b/keyboards/at_at/660m/config.h
index 5a53e8c38a..cdb9b81967 100644
--- a/keyboards/at_at/660m/config.h
+++ b/keyboards/at_at/660m/config.h
@@ -17,19 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* LSE clock */
#define STM32_LSECLK 32768
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA22A
-#define PRODUCT_ID 0x6600
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AT-AT
-#define PRODUCT 660M
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/at_at/660m/info.json b/keyboards/at_at/660m/info.json
index e5282485fb..1558e2d058 100644
--- a/keyboards/at_at/660m/info.json
+++ b/keyboards/at_at/660m/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "AT-AT 660M",
+ "keyboard_name": "660M",
+ "manufacturer": "AT-AT",
"url": "",
"maintainer": "adrientetar",
+ "usb": {
+ "vid": "0xA22A",
+ "pid": "0x6600",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h
index 1b6050f9ac..e097c47cb0 100644
--- a/keyboards/atlantis/ak81_ve/config.h
+++ b/keyboards/atlantis/ak81_ve/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x416B
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Atlantis
-#define PRODUCT AK81_VE
-
/* Key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* Key matrix pins */
#define MATRIX_ROW_PINS { F1, F7, F6, F5, F4, D5 }
#define MATRIX_COL_PINS { F0, C7, C6, B6, B5, B4, D7, D6, B2, B7, D3, D2, D1, D0, B3 }
-#define UNUSED_PINS
/* Encoder pins */
#define ENCODERS_PAD_A { E6 }
diff --git a/keyboards/atlantis/ak81_ve/info.json b/keyboards/atlantis/ak81_ve/info.json
index 8d4a8ebf59..95011de492 100644
--- a/keyboards/atlantis/ak81_ve/info.json
+++ b/keyboards/atlantis/ak81_ve/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "AK81_VE",
+ "manufacturer": "Atlantis",
"maintainer": "fOmey",
+ "usb": {
+ "vid": "0x416B",
+ "pid": "0x0081",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/atlantis/ak81_ve/readme.md b/keyboards/atlantis/ak81_ve/readme.md
index d9a6f9627c..ab1fee5a48 100644
--- a/keyboards/atlantis/ak81_ve/readme.md
+++ b/keyboards/atlantis/ak81_ve/readme.md
@@ -17,7 +17,7 @@ Make example for this keyboard (after setting up your build environment):
Enter the bootloader in 2 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
* **Physical reset pins**: Briefly short the reset pins using tweezers, a paperclip, or any other conductive material.
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). \ No newline at end of file
diff --git a/keyboards/atlas_65/config.h b/keyboards/atlas_65/config.h
index 86613cb193..412b474193 100644
--- a/keyboards/atlas_65/config.h
+++ b/keyboards/atlas_65/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6565
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Joshua Nguyen
-#define PRODUCT atlas_65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atlas_65/info.json b/keyboards/atlas_65/info.json
index d6c0eedb00..266e71118a 100644
--- a/keyboards/atlas_65/info.json
+++ b/keyboards/atlas_65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "atlas-65",
+ "keyboard_name": "atlas_65",
+ "manufacturer": "Joshua Nguyen",
"url": "https://github.com/ryanstevensmith/atlas-65",
"maintainer": "ryanstevensmith, Joshua Nguyen",
+ "usb": {
+ "vid": "0x6565",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/atlas_65/readme.md b/keyboards/atlas_65/readme.md
index 40eebba6f4..398024cbf0 100644
--- a/keyboards/atlas_65/readme.md
+++ b/keyboards/atlas_65/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h
index 095cac906c..ed839dab04 100644
--- a/keyboards/atomic/config.h
+++ b/keyboards/atomic/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OLKB
-#define PRODUCT Atomic
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D5, B5, B6, C6 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, D3, D2, D1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/atomic/info.json b/keyboards/atomic/info.json
index d55ba4b75a..bd0a2c2f99 100644
--- a/keyboards/atomic/info.json
+++ b/keyboards/atomic/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Atomic",
+ "manufacturer": "OLKB",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_grid": "LAYOUT_ortho_5x15"
},
diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c
index 9ed79899d3..d4eee803ac 100644
--- a/keyboards/atomic/keymaps/pvc/keymap.c
+++ b/keyboards/atomic/keymaps/pvc/keymap.c
@@ -217,7 +217,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | VOICE+ | XXXXXX |
+ | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | QK_BOOT | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | VOICE+ | XXXXXX |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ |
'--------------------------------------------------------------------------------------------------------------------------------------'
@@ -226,7 +226,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX,
XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX,
+ XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, QK_BOOT, XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP
),
};
diff --git a/keyboards/atreus/astar/config.h b/keyboards/atreus/astar/config.h
index a925c6fb1c..34df07559a 100644
--- a/keyboards/atreus/astar/config.h
+++ b/keyboards/atreus/astar/config.h
@@ -34,7 +34,6 @@
#else
#define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
#endif
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/astar_mirrored/config.h b/keyboards/atreus/astar_mirrored/config.h
index 75155044de..4b5bf9d887 100644
--- a/keyboards/atreus/astar_mirrored/config.h
+++ b/keyboards/atreus/astar_mirrored/config.h
@@ -32,7 +32,6 @@
#define MATRIX_ROW_PINS { D0, D1, D3, D2 }
#define MATRIX_COL_PINS { B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h
index ae3eb4f232..b7bc5e385a 100644
--- a/keyboards/atreus/config.h
+++ b/keyboards/atreus/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0xA1E5
-#define DEVICE_VER 0x0008
-#define MANUFACTURER Technomancy
-#define PRODUCT Atreus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
diff --git a/keyboards/atreus/f103/config.h b/keyboards/atreus/f103/config.h
index e16c9ee930..d42a057ab8 100644
--- a/keyboards/atreus/f103/config.h
+++ b/keyboards/atreus/f103/config.h
@@ -32,7 +32,6 @@
/* key matrix pins */
#define MATRIX_COL_PINS { B10, B1, B0, A7, A6, B5, B4, B3, A15, A10, A9 }
#define MATRIX_ROW_PINS { A5, A4, A3, A2 }
-#define UNUSED_PINS {B12, B13, B14, B15, A8, B6, B7, B8, B9, A1, A0, C15, C14, C13}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/feather/config.h b/keyboards/atreus/feather/config.h
index 72c9cd716b..ab0640681d 100644
--- a/keyboards/atreus/feather/config.h
+++ b/keyboards/atreus/feather/config.h
@@ -32,7 +32,6 @@
// #define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
#define MATRIX_ROW_PINS { B7, D6, C7, F5 }
#define MATRIX_COL_PINS { D7, B5, D1, D0, C6, B6, F0, D2, D3, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json
index a20cfda051..724fcca78d 100644
--- a/keyboards/atreus/info.json
+++ b/keyboards/atreus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atreus",
+ "manufacturer": "Technomancy",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xA1E5",
+ "device_version": "0.0.8"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.35}, {"x":2, "y":0}, {"x":3, "y":0.35}, {"x":4, "y":0.7}, {"x":8, "y":0.7}, {"x":9, "y":0.35}, {"x":10, "y":0}, {"x":11, "y":0.35}, {"x":12, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.35}, {"x":2, "y":1}, {"x":3, "y":1.35}, {"x":4, "y":1.7}, {"x":8, "y":1.7}, {"x":9, "y":1.35}, {"x":10, "y":1}, {"x":11, "y":1.35}, {"x":12, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.35}, {"x":2, "y":2}, {"x":3, "y":2.35}, {"x":4, "y":2.7}, {"x":8, "y":2.7}, {"x":9, "y":2.35}, {"x":10, "y":2}, {"x":11, "y":2.35}, {"x":12, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.35}, {"x":2, "y":3}, {"x":3, "y":3.35}, {"x":4, "y":3.7}, {"x":5, "y":2.95, "h":1.5}, {"x":7, "y":2.95, "h":1.5}, {"x":8, "y":3.7}, {"x":9, "y":3.35}, {"x":10, "y":3}, {"x":11, "y":3.35}, {"x":12, "y":3.6}]
diff --git a/keyboards/atreus/keymaps/clash/keymap.c b/keyboards/atreus/keymaps/clash/keymap.c
index 3a8b5bf479..9a1876ba74 100644
--- a/keyboards/atreus/keymaps/clash/keymap.c
+++ b/keyboards/atreus/keymaps/clash/keymap.c
@@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT( /* [> LOWER <] */
KC_INS, KC_HOME, KC_MS_U, KC_END, KC_PGUP, KC_BTN1, KC_F7, KC_F8, KC_F9, KC_F10 ,
OUT_USB, KC_MS_L, KC_MS_D, KC_MS_R, KC_PGDN, KC_BTN2, KC_F4, KC_F5, KC_F6, KC_F11 ,
- OUT_BT, KC_VOLU, KC_NO, KC_NO, RESET, KC_BTN3, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ OUT_BT, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_BTN3, KC_F1, KC_F2, KC_F3, KC_F12 ,
OUT_AUTO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS )
};
diff --git a/keyboards/atreus/keymaps/classic/keymap.c b/keyboards/atreus/keymaps/classic/keymap.c
index 5837bcfe74..2777edd8e5 100644
--- a/keyboards/atreus/keymaps/classic/keymap.c
+++ b/keyboards/atreus/keymaps/classic/keymap.c
@@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 ,
- KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, RESET
+ KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, QK_BOOT
),
};
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
index eff7c8d577..50ff84388f 100644
--- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
@@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP),
MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)),
MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN),
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE)
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE)
),
[COMBINED] = LAYOUT(
diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c
index c261e892d4..75491e6869 100644
--- a/keyboards/atreus/keymaps/erlandsona/keymap.c
+++ b/keyboards/atreus/keymaps/erlandsona/keymap.c
@@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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, TO(BASE), RESET , KC_F12 , KC_F1
+ _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, TO(BASE), QK_BOOT, KC_F12 , KC_F1
),
};
diff --git a/keyboards/atreus/keymaps/gerb/keymap.c b/keyboards/atreus/keymaps/gerb/keymap.c
index f6ff7330db..e122c5f12f 100644
--- a/keyboards/atreus/keymaps/gerb/keymap.c
+++ b/keyboards/atreus/keymaps/gerb/keymap.c
@@ -42,6 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, DF(_QW), KC_F7, KC_F8, KC_F9, KC_F10,
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, DF(_CM), KC_F6, KC_F5, KC_F6, KC_F11,
KC_BTN4, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, DF(_DV), KC_F1, KC_F2, KC_F3, KC_F12,
- KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET
+ KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
),
};
diff --git a/keyboards/atreus/keymaps/henxing/keymap.c b/keyboards/atreus/keymaps/henxing/keymap.c
index 51a46fa373..8a792dbc42 100644
--- a/keyboards/atreus/keymaps/henxing/keymap.c
+++ b/keyboards/atreus/keymaps/henxing/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT( \
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, \
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, \
- KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \
+ KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SLCK, KC_PAUS \
),
};
diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c
index de2bedaa7f..7ca35b3d9a 100644
--- a/keyboards/atreus/keymaps/jeremy/keymap.c
+++ b/keyboards/atreus/keymaps/jeremy/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_BSPC, KC_UP, KC_DEL, KC_PGUP, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS,
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TAB, KM_COPY, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TAB, KM_COPY, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[SYMB] = LAYOUT(
KC_BSLS, KC_EXLM, KC_LABK, KC_RABK, CM_COLN, KC_UNDS, KC_DLR, KC_QUES, KC_TRNS, KC_PERC,
diff --git a/keyboards/atreus/keymaps/kejadlen/config.h b/keyboards/atreus/keymaps/kejadlen/config.h
index 03a48dcb4b..437bfa326e 100644
--- a/keyboards/atreus/keymaps/kejadlen/config.h
+++ b/keyboards/atreus/keymaps/kejadlen/config.h
@@ -4,7 +4,6 @@
#undef MATRIX_COL_PINS
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, F7, B0, B1, B2, B3, B7 }
-/* #define UNUSED_PINS */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/keymaps/kejadlen/keymap.c b/keyboards/atreus/keymaps/kejadlen/keymap.c
index 3f6d01a594..45de7824c2 100644
--- a/keyboards/atreus/keymaps/kejadlen/keymap.c
+++ b/keyboards/atreus/keymaps/kejadlen/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[ETC] = LAYOUT(
- RESET, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_HOME,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_HOME,
LT(ETC,KC_A), KC_NO, KC_NO, KC_NO, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_END,
KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_INS,
KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO
diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c
index 1190efa3cb..79f4da0b81 100644
--- a/keyboards/atreus/keymaps/khitsule/keymap.c
+++ b/keyboards/atreus/keymaps/khitsule/keymap.c
@@ -45,6 +45,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TSKMGR, KC_TRNS, KC_TRNS, KC_F11, KC_F12,
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
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
index 6bb1a9a7f3..30a066fa5b 100644
--- a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/atreus/keymaps/nojjan/config.h b/keyboards/atreus/keymaps/nojjan/config.h
index 90b7c4a6c6..bc5c25d416 100644
--- a/keyboards/atreus/keymaps/nojjan/config.h
+++ b/keyboards/atreus/keymaps/nojjan/config.h
@@ -2,9 +2,7 @@
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
-#undef UNUSED_PINS
// Pin configuration for falbatech atreus
#define MATRIX_ROW_PINS { D0, D1, D3, D2 }
#define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
-#define UNUSED_PINS
diff --git a/keyboards/atreus/keymaps/nojjan/keymap.c b/keyboards/atreus/keymaps/nojjan/keymap.c
index 42204b13e0..f7b8f0e51d 100644
--- a/keyboards/atreus/keymaps/nojjan/keymap.c
+++ b/keyboards/atreus/keymaps/nojjan/keymap.c
@@ -37,6 +37,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
- KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS )
};
diff --git a/keyboards/atreus/keymaps/ptillemans/keymap.c b/keyboards/atreus/keymaps/ptillemans/keymap.c
index ea4edeca7d..9328d8ce53 100644
--- a/keyboards/atreus/keymaps/ptillemans/keymap.c
+++ b/keyboards/atreus/keymaps/ptillemans/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
- KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_TILD, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_TILD, KC_F1, KC_F2, KC_F3, KC_F12 ,
KC_NO, KC_VOLD, _______, _______, KC_MNXT, _______, _______, _______, TO(_QW), KC_PSCR, KC_SLCK, KC_MPLY
)
};
diff --git a/keyboards/atreus/keymaps/quartz64/keymap.c b/keyboards/atreus/keymaps/quartz64/keymap.c
index c62011e4b3..eb882bce31 100644
--- a/keyboards/atreus/keymaps/quartz64/keymap.c
+++ b/keyboards/atreus/keymaps/quartz64/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|------+------+------+------+------|------.,------|------+------+------+------+------|
| trns |r_tog | r_hue| r_sat| r_val| || | + | 1 | 2 | 3 | trns |
|------+------+------+------+------| || |------+------+------+------+------|
- | trns | Esc |RESET |capslk| trns |------'`------| trns | 0 | - | += | trns |
+ | trns | Esc |QK_BOOT |capslk| trns |------'`------| trns | 0 | - | += | trns |
`----------------------------------' `----------------------------------'
*/
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PSLS, KC_7, KC_8, KC_9, KC_PDOT,
_______, KC_CIRC, KC_AMPR, KC_ASTR, PWD3, KC_PAST, KC_4, KC_5, KC_6, _______,
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_PPLS, KC_1, KC_2, KC_3, _______,
- _______, KC_ESC , RESET, KC_CAPS, _______, _______, _______, _______, KC_0, KC_PMNS, KC_EQL, _______
+ _______, KC_ESC , QK_BOOT, KC_CAPS, _______, _______, _______, _______, KC_0, KC_PMNS, KC_EQL, _______
)
};
diff --git a/keyboards/atreus/keymaps/replicaJunction/keymap.c b/keyboards/atreus/keymaps/replicaJunction/keymap.c
index 32cc95d2fd..fbefb52df6 100644
--- a/keyboards/atreus/keymaps/replicaJunction/keymap.c
+++ b/keyboards/atreus/keymaps/replicaJunction/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[L_FN] = LAYOUT(
- RESET, _______,_______,_______,_______, KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12,
+ QK_BOOT, _______,_______,_______,_______, KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12,
MS_JIGL,_______,_______,_______,_______, KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8,
_______,K_SECR1,K_SECR2,K_SECR3,K_SECR4, KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4,
DF_TYPE,DF_GAME,_______,_______,_______,KC_LCTL,KC_LALT,_______,_______,_______,_______,ooooooo
diff --git a/keyboards/atreus/keymaps/talljoe/config.h b/keyboards/atreus/keymaps/talljoe/config.h
index 64d5b58943..71c7864b7c 100644
--- a/keyboards/atreus/keymaps/talljoe/config.h
+++ b/keyboards/atreus/keymaps/talljoe/config.h
@@ -46,8 +46,8 @@
)
#define TEMPLATE_RESET LAYOUT( \
- RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
)
diff --git a/keyboards/atreus/keymaps/workman/keymap.c b/keyboards/atreus/keymaps/workman/keymap.c
index aef2c59590..3ca07c325a 100644
--- a/keyboards/atreus/keymaps/workman/keymap.c
+++ b/keyboards/atreus/keymaps/workman/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10,
KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EN_DASH, KC_TRNS, KC_TRNS, DIAERESIS, RESET )
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EN_DASH, KC_TRNS, KC_TRNS, DIAERESIS, QK_BOOT )
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/atreus/keymaps/xk/keymap.c b/keyboards/atreus/keymaps/xk/keymap.c
index a03dee9ca9..8264618004 100644
--- a/keyboards/atreus/keymaps/xk/keymap.c
+++ b/keyboards/atreus/keymaps/xk/keymap.c
@@ -240,7 +240,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//one_ring=2__rule__them-all
[_GRVTABL] = LAYOUT( \
- LALT(KC_PSCR), M(4), KC_PWR, KC_POWER, RESET, RESET, KC_R, KC_E, KC_I, LALT(KC_PSCR), \
+ LALT(KC_PSCR), M(4), KC_PWR, KC_POWER, QK_BOOT, QK_BOOT, KC_R, KC_E, KC_I, LALT(KC_PSCR), \
TG(_NINEKEY), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), TG(_IKAPILA), KC_S, KC_U, KC_B, TG(_NINEKEY), \
M(3), TG(_GAMEQWERTY), XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, KC_CALC, XXXXXXX, TG(_GAMEQWERTY), M(3), \
TT(_GRVTABL), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), _______, _______, TG(_IKAPILA), TG(_IKASHFT), TG(_MLAYER), TG(_MLAYER), TG(_NINEKEY) \
diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c
index 3f428058eb..98dface93c 100644
--- a/keyboards/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus/keymaps/xyverz/keymap.c
@@ -152,13 +152,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|------+------+------+------+------|------.,------|------+------+------+------+------|
| |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | |
|------+------+------+------+------| || |------+------+------+------+------|
- | | | | | |------'`------| | | | | RESET|
+ | | | | | |------'`------| | | | | QK_BOOT|
`----------------------------------' `----------------------------------'*/
[_ADJUST] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_F11, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12 ,
_______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
};
diff --git a/keyboards/atreus/keymaps/yttyx/keymap.c b/keyboards/atreus/keymaps/yttyx/keymap.c
index dad36cad92..ad34182212 100644
--- a/keyboards/atreus/keymaps/yttyx/keymap.c
+++ b/keyboards/atreus/keymaps/yttyx/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][ MATRIX_ROWS ][ MATRIX_COLS ] = {
/* RS: Reset
.-------.------.-------.-----.-------. .------.-------.-----.-------.------.
- | RESET | | | | | | | | | | |
+ | QK_BOOT | | | | | | | | | | |
|-------+------+-------+-----+-------| |------+-------+-----+-------+------|
| | | | | | | | | | | |
|-------+------+-------+-----+-------| |------+-------+-----+-------+------|
@@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][ MATRIX_ROWS ][ MATRIX_COLS ] = {
'-----'-------'-----' '-----'------'-------'
*/
[RS] = LAYOUT(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(BA), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/atreus/promicro/config.h b/keyboards/atreus/promicro/config.h
index a4ed1c642d..605a7ccdae 100644
--- a/keyboards/atreus/promicro/config.h
+++ b/keyboards/atreus/promicro/config.h
@@ -36,7 +36,6 @@
#else
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B6, E6, D7, C6, D4, D0 }
#endif
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus/teensy2/config.h b/keyboards/atreus/teensy2/config.h
index 4130ef9bb7..25ae56ffb6 100644
--- a/keyboards/atreus/teensy2/config.h
+++ b/keyboards/atreus/teensy2/config.h
@@ -30,7 +30,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atreus62/config.h b/keyboards/atreus62/config.h
index 2bb3da484c..bbf5028d7b 100644
--- a/keyboards/atreus62/config.h
+++ b/keyboards/atreus62/config.h
@@ -19,14 +19,6 @@ 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 0x6062
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Profet
-#define PRODUCT Atreus62
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 5
diff --git a/keyboards/atreus62/info.json b/keyboards/atreus62/info.json
index d5f1e7cce9..4bcde69be5 100644
--- a/keyboards/atreus62/info.json
+++ b/keyboards/atreus62/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atreus62",
+ "manufacturer": "Profet",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6062",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.6}, {"x":2, "y":0.35}, {"x":3, "y":0}, {"x":4, "y":0.35}, {"x":5, "y":0.7}, {"x":9, "y":0.7}, {"x":10, "y":0.35}, {"x":11, "y":0}, {"x":12, "y":0.35}, {"x":13, "y":0.6}, {"x":14, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.6}, {"x":2, "y":1.35}, {"x":3, "y":1}, {"x":4, "y":1.35}, {"x":5, "y":1.7}, {"x":9, "y":1.7}, {"x":10, "y":1.35}, {"x":11, "y":1}, {"x":12, "y":1.35}, {"x":13, "y":1.6}, {"x":14, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.6}, {"x":2, "y":2.35}, {"x":3, "y":2}, {"x":4, "y":2.35}, {"x":5, "y":2.7}, {"x":9, "y":2.7}, {"x":10, "y":2.35}, {"x":11, "y":2}, {"x":12, "y":2.35}, {"x":13, "y":2.6}, {"x":14, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.6}, {"x":2, "y":3.35}, {"x":3, "y":3}, {"x":4, "y":3.35}, {"x":5, "y":3.7}, {"x":9, "y":3.7}, {"x":10, "y":3.35}, {"x":11, "y":3}, {"x":12, "y":3.35}, {"x":13, "y":3.6}, {"x":14, "y":3.6}, {"x":0, "y":4.6}, {"x":1, "y":4.6}, {"x":2, "y":4.35}, {"x":3, "y":4}, {"x":4, "y":4.35}, {"x":5, "y":4.7}, {"x":6, "y":3.95, "h":1.5}, {"x":8, "y":3.95, "h":1.5}, {"x":9, "y":4.7}, {"x":10, "y":4.35}, {"x":11, "y":4}, {"x":12, "y":4.35}, {"x":13, "y":4.6}, {"x":14, "y":4.6}]
diff --git a/keyboards/atreus62/keymaps/194h/keymap.c b/keyboards/atreus62/keymaps/194h/keymap.c
index b9587b03e8..31d286bfff 100644
--- a/keyboards/atreus62/keymaps/194h/keymap.c
+++ b/keyboards/atreus62/keymaps/194h/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[L5] = LAYOUT(
XXXXXXX, TO(L1), TO(L2), TO(L3), TO(L4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/atreus62/keymaps/d4mation/keymap.c b/keyboards/atreus62/keymaps/d4mation/keymap.c
index 63b9d6142d..1f0cae666d 100644
--- a/keyboards/atreus62/keymaps/d4mation/keymap.c
+++ b/keyboards/atreus62/keymaps/d4mation/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | NO | NO | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | NO |RESET | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO |
+ * | NO |QK_BOOT | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | NO | NO | NO |UC WIN|UC OSX| NO |,------.,------.| NO |Dvorak|Qwerty| NO | NO | NO |
* |------+------+------+------+------+------|| Swap || ||------+------+------+------+------+------|
@@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, UC_M_WI, UC_M_OS, XXXXXXX, XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/atreus62/keymaps/hvp/keymap.c b/keyboards/atreus62/keymaps/hvp/keymap.c
index 9873897a5a..4b5615c809 100644
--- a/keyboards/atreus62/keymaps/hvp/keymap.c
+++ b/keyboards/atreus62/keymaps/hvp/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______ ,
_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______ ,
KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/*
[_TRNS] = LAYOUT(
diff --git a/keyboards/atreus62/keymaps/pcewing/keymap.c b/keyboards/atreus62/keymaps/pcewing/keymap.c
index 709903c6cf..c8dfd5734b 100644
--- a/keyboards/atreus62/keymaps/pcewing/keymap.c
+++ b/keyboards/atreus62/keymaps/pcewing/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET
+ 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, QK_BOOT
)
/*
diff --git a/keyboards/atreus62/keymaps/scheiklp/keymap.c b/keyboards/atreus62/keymaps/scheiklp/keymap.c
index 58bacaab91..13ad3e4f51 100644
--- a/keyboards/atreus62/keymaps/scheiklp/keymap.c
+++ b/keyboards/atreus62/keymaps/scheiklp/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_7] = LAYOUT(
- KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/atreus62/keymaps/xyverz/keymap.c b/keyboards/atreus62/keymaps/xyverz/keymap.c
index 17a1ec01a3..2bab2c2efc 100644
--- a/keyboards/atreus62/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus62/keymaps/xyverz/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT (
_______, _______, _______, KC_F13, KC_F14, KC_F15, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, DESTINY, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/atreyu/atreyu.c b/keyboards/atreyu/atreyu.c
new file mode 100644
index 0000000000..0c5a97d18a
--- /dev/null
+++ b/keyboards/atreyu/atreyu.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "atreyu.h"
diff --git a/keyboards/atreyu/atreyu.h b/keyboards/atreyu/atreyu.h
new file mode 100644
index 0000000000..92471092ef
--- /dev/null
+++ b/keyboards/atreyu/atreyu.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#if defined(KEYBOARD_atreyu_rev1)
+# include "rev1.h"
+#endif
diff --git a/keyboards/atreyu/config.h b/keyboards/atreyu/config.h
new file mode 100644
index 0000000000..ba12b366a9
--- /dev/null
+++ b/keyboards/atreyu/config.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/atreyu/keymaps/default/config.h b/keyboards/atreyu/keymaps/default/config.h
new file mode 100644
index 0000000000..748a95e439
--- /dev/null
+++ b/keyboards/atreyu/keymaps/default/config.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+// place overrides here
+#ifdef TAPPING_TERM
+#undef TAPPING_TERM
+#define TAPPING_TERM 150
+#endif
+
+#define RETRO_TAPPING
diff --git a/keyboards/atreyu/keymaps/default/keymap.c b/keyboards/atreyu/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f6e15d26cb
--- /dev/null
+++ b/keyboards/atreyu/keymaps/default/keymap.c
@@ -0,0 +1,110 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LWR,
+ RSE,
+ ADJ
+};
+
+
+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_GRV ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_BSPC ,
+ KC_LCTRL, 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_RSFT ,
+ KC_LCTL, LWR , KC_LALT, KC_LGUI, KC_ENT , KC_LBRC, KC_RBRC, KC_SPC , RSE , KC_NO , KC_NO , KC_RCTL
+
+ ),
+
+[_RAISE] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_END , _______, KC_LCBR, KC_RCBR, KC_TILD,
+ _______, _______, _______, _______, KC_HOME, KC_END , KC_PGUP, XXXXXXX, KC_UP , KC_LBRC, KC_RBRC, KC_DEL ,
+ _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PIPE, KC_ENT ,
+ _______, _______, _______, _______, _______, _______, KC_UNDS, KC_MINS, KC_EQL , KC_PLUS, KC_BSLS, _______,
+ _______, _______, _______, _______, KC_SPC , KC_HOME, KC_END , _______, _______, KC_RGUI, KC_RALT, _______
+),
+
+[_LOWER] = LAYOUT(
+ KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______,
+ _______, KC_VOLU, _______, _______, TG(_RAISE), AG_TOGG, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_SPC , KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______
+),
+
+[_ADJUST] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______ , _______, _______ , _______, _______, _______, _______, _______
+)
+
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LWR:
+ 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;
+ break;
+
+ case RSE:
+ 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;
+ break;
+
+ case KC_ESC:
+ if ((get_mods() & MOD_BIT(KC_LGUI)) == MOD_BIT(KC_LGUI)) {
+ if (record->event.pressed) {
+ register_code(KC_GRV);
+ } else {
+ unregister_code(KC_GRV);
+ }
+ return false;
+ }
+ return true;
+ break;
+ }
+ return true;
+}
+
diff --git a/keyboards/atreyu/keymaps/default/readme.md b/keyboards/atreyu/keymaps/default/readme.md
new file mode 100644
index 0000000000..7037fa1885
--- /dev/null
+++ b/keyboards/atreyu/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+# Atreyu Keymap
+
+The default keymap provided here is useful for testing and as a base
+for your own mapping. It only includes basic layers and is missing many
+keycodes. To build the default keymap:
+
+make atreyu:default
diff --git a/keyboards/atreyu/keymaps/default/rules.mk b/keyboards/atreyu/keymaps/default/rules.mk
new file mode 100644
index 0000000000..433146d8d0
--- /dev/null
+++ b/keyboards/atreyu/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_ENABLE = no
diff --git a/keyboards/atreyu/readme.md b/keyboards/atreyu/readme.md
new file mode 100644
index 0000000000..1de288ea88
--- /dev/null
+++ b/keyboards/atreyu/readme.md
@@ -0,0 +1,29 @@
+# atreyu
+
+![atreyu](https://i.imgur.com/NP0cux1h.jpg)
+
+An unsplit, modified version of a Lily58 having a baby with a Sofle keyboard
+
+* Keyboard Maintainer: [Jesus Climent](https://github.com/Jesus Climent)
+* Hardware Supported: AtreyuKeyboard PCB, ProMicro
+* Hardware Availability: [PCB and case data](https://github.com/climent/atreyu)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make atreyu:default
+
+Flashing example for this keyboard:
+
+ make atreyu:default:flash
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+## 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).
diff --git a/keyboards/atreyu/rev1/config.h b/keyboards/atreyu/rev1/config.h
new file mode 100644
index 0000000000..36cf04dd86
--- /dev/null
+++ b/keyboards/atreyu/rev1/config.h
@@ -0,0 +1,72 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+/*
+ * 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 { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 }
+#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3 }
+
+/* encoder support */
+#define ENCODERS_PAD_A { F5 }
+#define ENCODERS_PAD_B { F4 }
+#define ENCODERS_PAD_A_RIGHT { F4 }
+#define ENCODERS_PAD_B_RIGHT { F5 }
+#define ENCODER_RESOLUTION 4
+
+/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
+#define DIODE_DIRECTION COL2ROW
+
+/* 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 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
diff --git a/keyboards/atreyu/rev1/info.json b/keyboards/atreyu/rev1/info.json
new file mode 100644
index 0000000000..d0b3c0eb42
--- /dev/null
+++ b/keyboards/atreyu/rev1/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Atreyu",
+ "manufacturer": "Heyzeus",
+ "url": "https://github.com/climent/atreyu",
+ "maintainer": "Jesus Climent <climent@gmail.com>",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.5},
+ {"x":1, "y":0.375},
+ {"x":2, "y":0.125},
+ {"x":3, "y":0},
+ {"x":4, "y":0.125},
+ {"x":5, "y":0.25},
+ {"x":10.5, "y":0.25},
+ {"x":11.5, "y":0.125},
+ {"x":12.5, "y":0},
+ {"x":13.5, "y":0.125},
+ {"x":14.5, "y":0.375},
+ {"x":15.5, "y":0.5},
+ {"x":0, "y":1.5},
+ {"x":1, "y":1.375},
+ {"x":2, "y":1.125},
+ {"x":3, "y":1},
+ {"x":4, "y":1.125},
+ {"x":5, "y":1.25},
+ {"x":10.5, "y":1.25},
+ {"x":11.5, "y":1.125},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1.125},
+ {"x":14.5, "y":1.375},
+ {"x":15.5, "y":1.5},
+ {"x":0, "y":2.5},
+ {"x":1, "y":2.375},
+ {"x":2, "y":2.125},
+ {"x":3, "y":2},
+ {"x":4, "y":2.125},
+ {"x":5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.125},
+ {"x":12.5, "y":2},
+ {"x":13.5, "y":2.125},
+ {"x":14.5, "y":2.375},
+ {"x":15.5, "y":2.5},
+ {"x":0, "y":3.5},
+ {"x":1, "y":3.375},
+ {"x":2, "y":3.125},
+ {"x":3, "y":3},
+ {"x":4, "y":3.125},
+ {"x":5, "y":3.25},
+ {"x":6, "y":2.75},
+ {"x":9.5, "y":2.75},
+ {"x":10.5, "y":3.25},
+ {"x":11.5, "y":3.125},
+ {"x":12.5, "y":3},
+ {"x":13.5, "y":3.125},
+ {"x":14.5, "y":3.375},
+ {"x":15.5, "y":3.5},
+ {"x":0, "y":4.5},
+ {"x":2.5, "y":4.125},
+ {"x":3.5, "y":4.15},
+ {"x":4.5, "y":4.25},
+ {"x":6, "y":4.25, "h":1.25},
+ {"x":9.5, "y":4.25, "h":1.25},
+ {"x":11, "y":4.25},
+ {"x":12, "y":4.15},
+ {"x":13, "y":4.125},
+ {"x": 14.5, "y": 4.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/atreyu/rev1/rev1.c b/keyboards/atreyu/rev1/rev1.c
new file mode 100644
index 0000000000..3d6829fbd5
--- /dev/null
+++ b/keyboards/atreyu/rev1/rev1.c
@@ -0,0 +1,47 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+
+ if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ if (index == 0) {
+ if (IS_LAYER_ON(_LOWER)) {
+ if (clockwise) {
+ tap_code(KC_WH_U);
+ } else {
+ tap_code(KC_WH_D);
+ }
+ } else {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/atreyu/rev1/rev1.h b/keyboards/atreyu/rev1/rev1.h
new file mode 100644
index 0000000000..4f6852593f
--- /dev/null
+++ b/keyboards/atreyu/rev1/rev1.h
@@ -0,0 +1,40 @@
+/* Copyright 2022 Jesus Climent (@climent)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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, k06, k07, k08, k09, k10, k11,\
+ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23,\
+ k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35,\
+ k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47,\
+ k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59\
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 },\
+ { k12, k13, k14, k15, k16, k17 },\
+ { k24, k25, k26, k27, k28, k29 },\
+ { k36, k37, k38, k39, k40, k41 },\
+ { k11, k10, k09, k08, k07, k06 },\
+ { k23, k22, k21, k20, k19, k18 },\
+ { k35, k34, k33, k32, k31, k30 },\
+ { k47, k46, k45, k44, k43, k42 },\
+ { k48, k49, k50, k51, k52, k53 },\
+ { k59, k58, k57, k56, k55, k54 } \
+}
+
diff --git a/keyboards/just60/.noci b/keyboards/atreyu/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/just60/.noci
+++ b/keyboards/atreyu/rev1/rules.mk
diff --git a/keyboards/atreyu/rules.mk b/keyboards/atreyu/rules.mk
new file mode 100644
index 0000000000..1e05f827de
--- /dev/null
+++ b/keyboards/atreyu/rules.mk
@@ -0,0 +1,22 @@
+DEFAULT_FOLDER = atreyu/rev1
+
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+ENCODER_ENABLE = no
diff --git a/keyboards/atset/at1/at1.c b/keyboards/atset/at1/at1.c
new file mode 100644
index 0000000000..4ed5d7cb29
--- /dev/null
+++ b/keyboards/atset/at1/at1.c
@@ -0,0 +1,15 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "at1.h"
diff --git a/keyboards/atset/at1/at1.h b/keyboards/atset/at1/at1.h
new file mode 100644
index 0000000000..64a90d00ca
--- /dev/null
+++ b/keyboards/atset/at1/at1.h
@@ -0,0 +1,22 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00 \
+) \
+{ \
+ { k00 } \
+}
+
diff --git a/keyboards/atset/at1/config.h b/keyboards/atset/at1/config.h
new file mode 100644
index 0000000000..635faf9b4e
--- /dev/null
+++ b/keyboards/atset/at1/config.h
@@ -0,0 +1,68 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 1
+
+#define MATRIX_ROW_PINS { D2 }
+#define MATRIX_COL_PINS { B6 }
+
+/* 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 userful 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
+
diff --git a/keyboards/atset/at1/info.json b/keyboards/atset/at1/info.json
new file mode 100644
index 0000000000..b73f4de3ae
--- /dev/null
+++ b/keyboards/atset/at1/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "AT1",
+ "manufacturer": "Atset",
+ "maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"k00", "x":0, "y":0}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/atset/at1/keymaps/default/keymap.c b/keyboards/atset/at1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..56e8e3afff
--- /dev/null
+++ b/keyboards/atset/at1/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/*
+ * it under the terms of the GNU General Public License as published by
+ * This program is free software: you can redistribute it and/or modify
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_4
+),
+
+
+[1] = LAYOUT(
+ KC_NO
+),
+
+
+[2] = LAYOUT(
+ KC_NO
+)
+
+
+};
diff --git a/keyboards/atset/at1/keymaps/via/keymap.c b/keyboards/atset/at1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f4806baee5
--- /dev/null
+++ b/keyboards/atset/at1/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_4
+ ),
+ [1] =
+ LAYOUT(
+ KC_NO
+ ),
+ [2] =
+ LAYOUT(
+ KC_NO
+ ),
+ [3] =
+ LAYOUT(
+ KC_NO
+ )
+};
diff --git a/keyboards/atset/at1/readme.md b/keyboards/atset/at1/readme.md
new file mode 100644
index 0000000000..330c1b2ff8
--- /dev/null
+++ b/keyboards/atset/at1/readme.md
@@ -0,0 +1,25 @@
+# ATSET AT1
+
+A special 1 key keyboard powered by QMK.
+
+* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
+* Hardware Supported: ATmega32U4
+* Hardware Availability: Interest Check
+
+Make example for this keyboard (after setting up your build environment):
+
+ make atset/at6:default
+
+Flashing example for this keyboard:
+
+ make atset/at6:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/atset/at1/rules.mk b/keyboards/atset/at1/rules.mk
new file mode 100644
index 0000000000..73ac281e0b
--- /dev/null
+++ b/keyboards/atset/at1/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/atset/at12/at12.c b/keyboards/atset/at12/at12.c
new file mode 100644
index 0000000000..94474365a8
--- /dev/null
+++ b/keyboards/atset/at12/at12.c
@@ -0,0 +1,15 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "at12.h"
diff --git a/keyboards/atset/at12/at12.h b/keyboards/atset/at12/at12.h
new file mode 100644
index 0000000000..74bc86c5f2
--- /dev/null
+++ b/keyboards/atset/at12/at12.h
@@ -0,0 +1,29 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00, k01, k02, \
+ k10, k11, k12, \
+ k20, k21, k22, \
+ k30, k31, k32 \
+) \
+{ \
+ { k00, k01, k02 }, \
+ { k10, k11, k12 }, \
+ { k20, k21, k22 }, \
+ { k30, k31, k32 } \
+}
+
diff --git a/keyboards/atset/at12/config.h b/keyboards/atset/at12/config.h
new file mode 100644
index 0000000000..d27b4b646a
--- /dev/null
+++ b/keyboards/atset/at12/config.h
@@ -0,0 +1,68 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 3
+
+#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
+#define MATRIX_COL_PINS { B6, B5, B4 }
+
+/* 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 userful 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
+
diff --git a/keyboards/atset/at12/info.json b/keyboards/atset/at12/info.json
new file mode 100644
index 0000000000..28a535db48
--- /dev/null
+++ b/keyboards/atset/at12/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "AT12",
+ "manufacturer": "Atset",
+ "maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/atset/at12/keymaps/default/keymap.c b/keyboards/atset/at12/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d713632d9d
--- /dev/null
+++ b/keyboards/atset/at12/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_F10, KC_F11, KC_F12,
+ KC_7, KC_8, KC_9,
+ KC_4, KC_5, KC_6,
+ KC_1, KC_2, KC_3
+),
+
+
+[1] = LAYOUT(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+),
+
+
+[2] = LAYOUT(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+)
+
+};
diff --git a/keyboards/atset/at12/keymaps/via/keymap.c b/keyboards/atset/at12/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f42586dfbc
--- /dev/null
+++ b/keyboards/atset/at12/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_F10, KC_F11, KC_F12,
+ KC_7, KC_8, KC_9,
+ KC_4 , KC_5 , KC_6,
+ KC_1 , KC_2 , KC_3
+ ),
+ [1] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO
+ ),
+ [2] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO
+ ),
+ [3] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/atset/at12/readme.md b/keyboards/atset/at12/readme.md
new file mode 100644
index 0000000000..6760e33ab5
--- /dev/null
+++ b/keyboards/atset/at12/readme.md
@@ -0,0 +1,25 @@
+# ATSET AT12
+
+A special 12 key keyboard powered by QMK.
+
+* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
+* Hardware Supported: ATmega32U4
+* Hardware Availability: Interest Check
+
+Make example for this keyboard (after setting up your build environment):
+
+ make atset/at3:default
+
+Flashing example for this keyboard:
+
+ make atset/at3:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/atset/at12/rules.mk b/keyboards/atset/at12/rules.mk
new file mode 100644
index 0000000000..73ac281e0b
--- /dev/null
+++ b/keyboards/atset/at12/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/atset/at16/at16.c b/keyboards/atset/at16/at16.c
new file mode 100644
index 0000000000..4b24974504
--- /dev/null
+++ b/keyboards/atset/at16/at16.c
@@ -0,0 +1,15 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "at16.h"
diff --git a/keyboards/atset/at16/at16.h b/keyboards/atset/at16/at16.h
new file mode 100644
index 0000000000..128ed7f161
--- /dev/null
+++ b/keyboards/atset/at16/at16.h
@@ -0,0 +1,29 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+#define 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/atset/at16/config.h b/keyboards/atset/at16/config.h
new file mode 100644
index 0000000000..400244a66e
--- /dev/null
+++ b/keyboards/atset/at16/config.h
@@ -0,0 +1,68 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 4
+
+#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
+#define MATRIX_COL_PINS { B6, B5, B4, B2 }
+
+/* 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 userful 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
+
diff --git a/keyboards/atset/at16/info.json b/keyboards/atset/at16/info.json
new file mode 100644
index 0000000000..65a51448b4
--- /dev/null
+++ b/keyboards/atset/at16/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "AT16",
+ "manufacturer": "Atset",
+ "maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}]
+ }
+ }
+}
diff --git a/keyboards/atset/at16/keymaps/default/keymap.c b/keyboards/atset/at16/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d01577d8b6
--- /dev/null
+++ b/keyboards/atset/at16/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_4x4(
+ KC_F10, KC_F11, KC_F12, KC_F5,
+ KC_7, KC_8, KC_9, KC_F1,
+ KC_4, KC_5, KC_6, KC_F2,
+ KC_1, KC_2, KC_3, KC_F3
+),
+
+
+[1] = LAYOUT_ortho_4x4(
+ 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
+),
+
+
+[2] = LAYOUT_ortho_4x4(
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+)
+
+};
diff --git a/keyboards/atset/at16/keymaps/via/keymap.c b/keyboards/atset/at16/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8ce781aac4
--- /dev/null
+++ b/keyboards/atset/at16/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_4x4(
+ KC_F10, KC_F11, KC_F12, KC_F5,
+ KC_7, KC_8, KC_9, KC_F1,
+ KC_4, KC_5, KC_6, KC_F2,
+ KC_1, KC_2, KC_3, KC_F3
+ ),
+ [1] =
+ LAYOUT_ortho_4x4(
+ 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
+ ),
+ [2] =
+ LAYOUT_ortho_4x4(
+ 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
+ ),
+ [3] =
+ LAYOUT_ortho_4x4(
+ KC_NO , KC_NO, KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO, KC_NO,
+ KC_NO , KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/atset/at16/readme.md b/keyboards/atset/at16/readme.md
new file mode 100644
index 0000000000..00dba767dc
--- /dev/null
+++ b/keyboards/atset/at16/readme.md
@@ -0,0 +1,25 @@
+# ATSET AT16
+
+A special 16 key keyboard powered by QMK.
+
+* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
+* Hardware Supported: ATmega32U4
+* Hardware Availability: Interest Check
+
+Make example for this keyboard (after setting up your build environment):
+
+ make atset/at3:default
+
+Flashing example for this keyboard:
+
+ make atset/at3:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/atset/at16/rules.mk b/keyboards/atset/at16/rules.mk
new file mode 100644
index 0000000000..6025e7ecc5
--- /dev/null
+++ b/keyboards/atset/at16/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = ortho_4x4
diff --git a/keyboards/atset/at3/at3.c b/keyboards/atset/at3/at3.c
new file mode 100644
index 0000000000..18a5182f0f
--- /dev/null
+++ b/keyboards/atset/at3/at3.c
@@ -0,0 +1,15 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "at3.h"
diff --git a/keyboards/atset/at3/at3.h b/keyboards/atset/at3/at3.h
new file mode 100644
index 0000000000..817b154483
--- /dev/null
+++ b/keyboards/atset/at3/at3.h
@@ -0,0 +1,22 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00, k01, k02 \
+) \
+{ \
+ { k00, k01, k02 } \
+}
+
diff --git a/keyboards/atset/at3/config.h b/keyboards/atset/at3/config.h
new file mode 100644
index 0000000000..5195939cf9
--- /dev/null
+++ b/keyboards/atset/at3/config.h
@@ -0,0 +1,68 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 3
+
+#define MATRIX_ROW_PINS { D2 }
+#define MATRIX_COL_PINS { B6, B5, B4 }
+
+/* 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 userful 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
+
diff --git a/keyboards/atset/at3/info.json b/keyboards/atset/at3/info.json
new file mode 100644
index 0000000000..6f8eab5e62
--- /dev/null
+++ b/keyboards/atset/at3/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "AT3",
+ "manufacturer": "Atset",
+ "maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/atset/at3/keymaps/default/keymap.c b/keyboards/atset/at3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..57d0ab6db0
--- /dev/null
+++ b/keyboards/atset/at3/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* 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_7, KC_8, KC_9
+),
+
+
+[1] = LAYOUT(
+ KC_NO, KC_NO, KC_NO
+),
+
+
+[2] = LAYOUT(
+ KC_NO, KC_NO, KC_NO
+)
+
+
+};
diff --git a/keyboards/atset/at3/keymaps/via/keymap.c b/keyboards/atset/at3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8d16b57bd7
--- /dev/null
+++ b/keyboards/atset/at3/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+/*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* 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_7 , KC_8 , KC_9
+ ),
+ [1] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO
+ ),
+ [2] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO
+ ),
+ [3] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_NO
+ )
+};
diff --git a/keyboards/atset/at3/readme.md b/keyboards/atset/at3/readme.md
new file mode 100644
index 0000000000..755169c5d6
--- /dev/null
+++ b/keyboards/atset/at3/readme.md
@@ -0,0 +1,25 @@
+# ATSET AT3
+
+A special 3 key keyboard powered by QMK.
+
+* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
+* Hardware Supported: ATmega32U4
+* Hardware Availability: Interest Check
+
+Make example for this keyboard (after setting up your build environment):
+
+ make atset/at3:default
+
+Flashing example for this keyboard:
+
+ make atset/at3:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/atset/at3/rules.mk b/keyboards/atset/at3/rules.mk
new file mode 100644
index 0000000000..73ac281e0b
--- /dev/null
+++ b/keyboards/atset/at3/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/atset/at6/config.h b/keyboards/atset/at6/config.h
index b5192c5982..b443529631 100644
--- a/keyboards/atset/at6/config.h
+++ b/keyboards/atset/at6/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED // Atset
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Atset
-#define PRODUCT AT6
-
/* Key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { D2, D1 }
#define MATRIX_COL_PINS { B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atset/at6/info.json b/keyboards/atset/at6/info.json
index cdaeee825d..abdaf10b9f 100644
--- a/keyboards/atset/at6/info.json
+++ b/keyboards/atset/at6/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "AT6",
+ "manufacturer": "Atset",
"maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
diff --git a/keyboards/atset/at6/readme.md b/keyboards/atset/at6/readme.md
index f5ec383530..84abbf87a5 100644
--- a/keyboards/atset/at6/readme.md
+++ b/keyboards/atset/at6/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/atset/at9/config.h b/keyboards/atset/at9/config.h
index 157c4a2e42..bf9819c4b9 100644
--- a/keyboards/atset/at9/config.h
+++ b/keyboards/atset/at9/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED // Atset
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Atset
-#define PRODUCT AT9
-
/* Key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { D2, D1, D0 }
#define MATRIX_COL_PINS { B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atset/at9/info.json b/keyboards/atset/at9/info.json
index 5c69b1c8d3..b550240ce7 100644
--- a/keyboards/atset/at9/info.json
+++ b/keyboards/atset/at9/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "AT9",
+ "manufacturer": "Atset",
"maintainer": "atset",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}]
diff --git a/keyboards/atset/at9/readme.md b/keyboards/atset/at9/readme.md
index d59b1e2f4d..d1d38ba6c6 100644
--- a/keyboards/atset/at9/readme.md
+++ b/keyboards/atset/at9/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h
index fd621e169a..1cf30b258b 100644
--- a/keyboards/atxkb/1894/config.h
+++ b/keyboards/atxkb/1894/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5458 // TX
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER atxkb
-#define PRODUCT 1894
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/atxkb/1894/info.json b/keyboards/atxkb/1894/info.json
index a9195061f8..d91764625e 100644
--- a/keyboards/atxkb/1894/info.json
+++ b/keyboards/atxkb/1894/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "1894",
+ "manufacturer": "atxkb",
"url": "https://atxkb.com",
"maintainer": "austexcn",
+ "usb": {
+ "vid": "0x5458",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/aurora65/aurora65.c b/keyboards/aurora65/aurora65.c
new file mode 100644
index 0000000000..0c51c51c5f
--- /dev/null
+++ b/keyboards/aurora65/aurora65.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "aurora65.h"
diff --git a/keyboards/aurora65/aurora65.h b/keyboards/aurora65/aurora65.h
new file mode 100644
index 0000000000..5a8f0d6ef4
--- /dev/null
+++ b/keyboards/aurora65/aurora65.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+#define LAYOUT_65_ansi_blocker( \
+ 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, K2C, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K49, 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, XXX, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, XXX, K4B, K4C, K4D, K4E } \
+}
diff --git a/keyboards/aurora65/config.h b/keyboards/aurora65/config.h
new file mode 100644
index 0000000000..d3679d1365
--- /dev/null
+++ b/keyboards/aurora65/config.h
@@ -0,0 +1,92 @@
+/*
+Copyright 2022 Yiancar-Designs
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published byß
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS { B3, B4, B5, A8, A4 }
+#define MATRIX_COL_PINS { A13, A10, A9, A14, A15, B8, B9, B2, B1, B0, A0, A1, A2, A3, A5 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* RGB Light */
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
+#define WS2812_DMA_CHANNEL 5
+#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
+
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 36
+#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_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/aurora65/halconf.h b/keyboards/aurora65/halconf.h
new file mode 100644
index 0000000000..4abd83bd3b
--- /dev/null
+++ b/keyboards/aurora65/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/aurora65/info.json b/keyboards/aurora65/info.json
new file mode 100644
index 0000000000..7962fda7e7
--- /dev/null
+++ b/keyboards/aurora65/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Aurora65",
+ "manufacturer": "Yiancar-Designs",
+ "url": "https://yiancar-designs.com",
+ "maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4136",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/aurora65/keymaps/default/keymap.c b/keyboards/aurora65/keymaps/default/keymap.c
new file mode 100644
index 0000000000..082dbb3a6a
--- /dev/null
+++ b/keyboards/aurora65/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_65_ansi_blocker( /* Base */
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_65_ansi_blocker( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/aurora65/keymaps/default/readme.md b/keyboards/aurora65/keymaps/default/readme.md
new file mode 100644
index 0000000000..7f9c1461ec
--- /dev/null
+++ b/keyboards/aurora65/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+# The default keymap for Aurora65. VIA support disabled.
+
+![Layer 0](https://imgur.com/GZONtj5.png)
+
+![Layer 1](https://imgur.com/C1kFlWX.png)
diff --git a/keyboards/aurora65/keymaps/via/keymap.c b/keyboards/aurora65/keymaps/via/keymap.c
new file mode 100644
index 0000000000..7e87c8bfac
--- /dev/null
+++ b/keyboards/aurora65/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_65_ansi_blocker( /* Base */
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_65_ansi_blocker( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_65_ansi_blocker( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_65_ansi_blocker( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/aurora65/keymaps/via/readme.md b/keyboards/aurora65/keymaps/via/readme.md
new file mode 100644
index 0000000000..b4b3158e79
--- /dev/null
+++ b/keyboards/aurora65/keymaps/via/readme.md
@@ -0,0 +1,5 @@
+# The default keymap for Aurora65. VIA support enabled.
+
+![Layer 0](https://imgur.com/GZONtj5.png)
+
+![Layer 1](https://imgur.com/C1kFlWX.png)
diff --git a/keyboards/aurora65/keymaps/via/rules.mk b/keyboards/aurora65/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/aurora65/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/aurora65/mcuconf.h b/keyboards/aurora65/mcuconf.h
new file mode 100644
index 0000000000..5e966ec140
--- /dev/null
+++ b/keyboards/aurora65/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
diff --git a/keyboards/aurora65/readme.md b/keyboards/aurora65/readme.md
new file mode 100644
index 0000000000..cf0f26330a
--- /dev/null
+++ b/keyboards/aurora65/readme.md
@@ -0,0 +1,32 @@
+# Aurora65
+
+This is a 65% layout PCB. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A TKL keyboard with STM32F072CB
+* Hardware Availability: https://www.odinpc.com
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aurora65:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make aurora65:<keymap>:flash`)
diff --git a/keyboards/aurora65/rules.mk b/keyboards/aurora65/rules.mk
new file mode 100644
index 0000000000..fc545388a3
--- /dev/null
+++ b/keyboards/aurora65/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+WS2812_DRIVER = pwm # Driver for RGB uderglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/avalanche/avalanche.h b/keyboards/avalanche/avalanche.h
index c3f431f315..916019f0d0 100644
--- a/keyboards/avalanche/avalanche.h
+++ b/keyboards/avalanche/avalanche.h
@@ -9,6 +9,8 @@
#include "v2.h"
#elif KEYBOARD_avalanche_v3
#include "v3.h"
+#elif KEYBOARD_avalanche_v4
+ #include "v4.h"
#endif
#include "quantum.h"
diff --git a/keyboards/avalanche/v1/config.h b/keyboards/avalanche/v1/config.h
index 32533c5cc9..e641a20f93 100644
--- a/keyboards/avalanche/v1/config.h
+++ b/keyboards/avalanche/v1/config.h
@@ -3,12 +3,6 @@
#pragma once
-#define VENDOR_ID 0xCEE2
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER vitvlkv
-#define PRODUCT Avalanche
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/avalanche/v1/info.json b/keyboards/avalanche/v1/info.json
index 907face922..d753cce4bc 100644
--- a/keyboards/avalanche/v1/info.json
+++ b/keyboards/avalanche/v1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Avalanche v1",
+ "keyboard_name": "Avalanche",
+ "manufacturer": "vitvlkv",
"url": "https://github.com/vlkv/avalanche",
"maintainer": "vlkv",
+ "usb": {
+ "vid": "0xCEE2",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/avalanche/v2/config.h b/keyboards/avalanche/v2/config.h
index 55cbd30b1c..16b26d8ffc 100644
--- a/keyboards/avalanche/v2/config.h
+++ b/keyboards/avalanche/v2/config.h
@@ -3,12 +3,6 @@
#pragma once
-#define VENDOR_ID 0xCEE2
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0002
-#define MANUFACTURER vitvlkv
-#define PRODUCT Avalanche
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/avalanche/v2/info.json b/keyboards/avalanche/v2/info.json
index 6809c99b4e..52c03b57a3 100644
--- a/keyboards/avalanche/v2/info.json
+++ b/keyboards/avalanche/v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Avalanche v2",
+ "keyboard_name": "Avalanche",
+ "manufacturer": "vitvlkv",
"url": "https://github.com/vlkv/avalanche",
"maintainer": "vlkv",
+ "usb": {
+ "vid": "0xCEE2",
+ "pid": "0x0002",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/avalanche/v3/config.h b/keyboards/avalanche/v3/config.h
index 3dc537170d..4c4e05ecf4 100644
--- a/keyboards/avalanche/v3/config.h
+++ b/keyboards/avalanche/v3/config.h
@@ -3,12 +3,6 @@
#pragma once
-#define VENDOR_ID 0xCEE2
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0003
-#define MANUFACTURER vitvlkv
-#define PRODUCT Avalanche
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/avalanche/v3/info.json b/keyboards/avalanche/v3/info.json
index 39b8b51b38..1869c0165f 100644
--- a/keyboards/avalanche/v3/info.json
+++ b/keyboards/avalanche/v3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Avalanche v3",
+ "keyboard_name": "Avalanche",
+ "manufacturer": "vitvlkv",
"url": "https://github.com/vlkv/avalanche",
"maintainer": "vlkv",
+ "usb": {
+ "vid": "0xCEE2",
+ "pid": "0x0003",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/avalanche/v4/config.h b/keyboards/avalanche/v4/config.h
new file mode 100644
index 0000000000..c83c90c0ba
--- /dev/null
+++ b/keyboards/avalanche/v4/config.h
@@ -0,0 +1,70 @@
+// Copyright 2022 Will Winder (@winder)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define SOFT_SERIAL_PIN D2
+
+
+#define ENCODERS_PAD_A { B5 }
+#define ENCODERS_PAD_B { F4 }
+#define ENCODER_RESOLUTION 2
+
+#ifdef RGBLIGHT_ENABLE
+# define RGB_DI_PIN D3
+# define RGBLED_NUM 64
+# define RGBLED_SPLIT { 32, 32 }
+# define RGBLIGHT_SPLIT
+# define RGBLIGHT_LIMIT_VAL 100 // LED Brightness, high power draw may exceed the USB limitations of 0.6A and cause a crash.
+# define RGBLIGHT_HUE_STEP 10
+# define RGBLIGHT_SAT_STEP 17
+# define RGBLIGHT_VAL_STEP 17
+
+# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2
+
+# define RGBLIGHT_EFFECT_ALTERNATING
+# define RGBLIGHT_EFFECT_RGB_TEST
+# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+# define RGBLIGHT_EFFECT_BREATHING
+# define RGBLIGHT_EFFECT_KNIGHT
+# define RGBLIGHT_EFFECT_SNAKE
+# define RGBLIGHT_EFFECT_CHRISTMAS
+
+
+// RGB LED Conversion macro from physical array to electric array. This results in better looking animated effects.
+# define LED_LAYOUT( \
+ /* LED matrix */ \
+ L01, L02, L03, L04, L05, L06, L011, L012, L013, L014, L015, L016, \
+ L11, L12, L13, L14, L15, L16, L111, L112, L113, L114, L115, L116, \
+ L20, L21, L22, L23, L24, L25, L26, L211, L212, L213, L214, L215, L216, L217, \
+ L31, L32, L33, L34, L35, L36, L37, L38, L39, L310, L311, L312, L313, L314, L315, L316, \
+ L44, L45, L46, L47, L48, L49, L410, L411, L412, L413 )\
+ { \
+ /* left half - electrical wiring order */ \
+ L47,L48,L38,L37,L36,L26,L16,L06,L05,L15,L25,L35,L46,L45,L34,L24,L14,L04,L03,L13,L23,L33,L44,L32,L22,L12,L02,L01,L11,L21,L31,L20, \
+ /* right half - electrical wiring order */ \
+ L410,L49,L39,L310,L311,L211,L111,L011,L012,L112,L212,L312,L411,L412,L313,L213,L113,L013,L014,L114,L214,L314,L413,L315,L215,L115,L015,L016,L116,L216,L316,L217 \
+ }
+# define RGBLIGHT_LED_MAP LED_LAYOUT( \
+ /* animation order. */ \
+ 4, 8, 12, 17, 22, 27, 40, 45, 50, 54, 58, 62, \
+ 3, 7, 11, 16, 21, 26, 39, 44, 49, 53, 57, 61, \
+ 0, 2, 6, 10, 15, 20, 25, 38, 43, 48, 52, 56, 60, 63, \
+ 1, 5, 9, 14, 19, 24, 29, 31, 33, 35, 37, 42, 47, 51, 55, 59, \
+ 13, 18, 23, 28, 30, 32, 34, 36, 41, 46 )
+#endif
+
+#ifdef OLED_ENABLE
+# define OLED_DISPLAY_128X64
+# define OLED_TIMEOUT 30000
+#endif
diff --git a/keyboards/avalanche/v4/info.json b/keyboards/avalanche/v4/info.json
new file mode 100644
index 0000000000..b96cdc5ea7
--- /dev/null
+++ b/keyboards/avalanche/v4/info.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "Avalanche",
+ "manufacturer": "vitvlkv",
+ "url": "https://github.com/vlkv/avalanche",
+ "maintainer": "vlkv",
+ "usb": {
+ "vid": "0xCEE2",
+ "pid": "0x0004",
+ "device_version": "0.0.4"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"L00", "x":1, "y":0.75},
+ {"label":"L01", "x":2, "y":0.75},
+ {"label":"L02", "x":3, "y":0.25},
+ {"label":"L03", "x":4, "y":0},
+ {"label":"L04", "x":5, "y":0.25},
+ {"label":"L05", "x":6, "y":0.35},
+ {"label":"R05", "x":12, "y":0.35},
+ {"label":"R04", "x":13, "y":0.25},
+ {"label":"R03", "x":14, "y":0},
+ {"label":"R02", "x":15, "y":0.25},
+ {"label":"R01", "x":16, "y":0.75},
+ {"label":"R00", "x":17, "y":0.75},
+
+ {"label":"L10", "x":1, "y":1.75},
+ {"label":"L11", "x":2, "y":1.75},
+ {"label":"L12", "x":3, "y":1.25},
+ {"label":"L13", "x":4, "y":1},
+ {"label":"L14", "x":5, "y":1.25},
+ {"label":"L15", "x":6, "y":1.35},
+ {"label":"R15", "x":12, "y":1.35},
+ {"label":"R14", "x":13, "y":1.25},
+ {"label":"R13", "x":14, "y":1},
+ {"label":"R12", "x":15, "y":1.25},
+ {"label":"R11", "x":16, "y":1.75},
+ {"label":"R10", "x":17, "y":1.75},
+
+ {"label":"L40", "x":0, "y":2.85},
+ {"label":"L20", "x":1, "y":2.75},
+ {"label":"L21", "x":2, "y":2.75},
+ {"label":"L22", "x":3, "y":2.25},
+ {"label":"L23", "x":4, "y":2},
+ {"label":"L24", "x":5, "y":2.25},
+ {"label":"L25", "x":6, "y":2.35},
+ {"label":"R25", "x":12, "y":2.35},
+ {"label":"R24", "x":13, "y":2.25},
+ {"label":"R23", "x":14, "y":2},
+ {"label":"R22", "x":15, "y":2.25},
+ {"label":"R21", "x":16, "y":2.75},
+ {"label":"R20", "x":17, "y":2.75},
+ {"label":"R40", "x":18, "y":2.85},
+
+ {"label":"L30", "x":1, "y":3.75},
+ {"label":"L31", "x":2, "y":3.75},
+ {"label":"L32", "x":3, "y":3.25},
+ {"label":"L33", "x":4, "y":3},
+ {"label":"L34", "x":5, "y":3.25},
+ {"label":"L35", "x":6, "y":3.35},
+ {"label":"L36", "x":7, "y":3.7},
+ {"label":"L26", "x":8, "y":4.05},
+ {"label":"R26", "x":10, "y":4.05},
+ {"label":"R36", "x":11, "y":3.7},
+ {"label":"R35", "x":12, "y":3.35},
+ {"label":"R34", "x":13, "y":3.25},
+ {"label":"R33", "x":14, "y":3},
+ {"label":"R32", "x":15, "y":3.25},
+ {"label":"R31", "x":16, "y":3.75},
+ {"label":"R30", "x":17, "y":3.75},
+
+ {"label":"L42", "x":3.4, "y":4.55},
+ {"label":"L43", "x":4.6, "y":4.45},
+ {"label":"L44", "x":5.8, "y":4.4},
+ {"label":"L45", "x":7, "y":4.7},
+ {"label":"L46", "x":8, "y":5.05},
+ {"label":"R46", "x":10, "y":5.05},
+ {"label":"R45", "x":11, "y":4.7},
+ {"label":"R44", "x":12.2, "y":4.4},
+ {"label":"R43", "x":13.4, "y":4.45},
+ {"label":"R42", "x":14.6, "y":4.55}
+ ]
+ }
+ }
+}
diff --git a/keyboards/avalanche/v4/keymaps/default/keymap.c b/keyboards/avalanche/v4/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7239091ca2
--- /dev/null
+++ b/keyboards/avalanche/v4/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+// Copyright 2022 Viatly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+qmk compile -kb avalanche/v4 -km default
+qmk flash -kb avalanche/v4 -km default
+*/
+
+#include QMK_KEYBOARD_H
+
+enum layer {
+ LAYER_0,
+ LAYER_1,
+ LAYER_2,
+};
+
+#define FN_1 MO(LAYER_1)
+#define LFN_2 LT(LAYER_2, KC_GRV)
+#define RFN_2 MO(LAYER_2)
+#define LFN_3 LSFT_T(KC_EQL)
+#define RFN_3 RSFT_T(KC_MINS)
+#define EN_LALT LALT_T(KC_ENT)
+#define EN_RALT RALT_T(KC_ENT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_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_BSLS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_CAPS, 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_RBRC,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_LGUI, KC_INS, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
+ KC__MUTE,LFN_2, LFN_3, KC_SPC, EN_LALT, EN_RALT, FN_1, RFN_3, RFN_2, KC_PSCR
+ ),
+ [LAYER_1] = LAYOUT(
+ _______, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX,
+ _______, _______, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F12,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [LAYER_2] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_DEL, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, KC_LPRN,
+ _______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, KC_RPRN,
+ _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+
diff --git a/keyboards/avalanche/v4/keymaps/winder/config.h b/keyboards/avalanche/v4/keymaps/winder/config.h
new file mode 100644
index 0000000000..ca4b822f1b
--- /dev/null
+++ b/keyboards/avalanche/v4/keymaps/winder/config.h
@@ -0,0 +1,12 @@
+// Copyright 2022 Will Winder (@winder)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#undef RGBLIGHT_EFFECT_BREATHING
+#undef RGBLIGHT_EFFECT_KNIGHT
+#undef RGBLIGHT_EFFECT_SNAKE
+#undef RGBLIGHT_EFFECT_CHRISTMAS
+#undef RGBLIGHT_EFFECT_RGB_TEST
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_ALTERNATING
diff --git a/keyboards/avalanche/v4/keymaps/winder/images.h b/keyboards/avalanche/v4/keymaps/winder/images.h
new file mode 100644
index 0000000000..2202e31574
--- /dev/null
+++ b/keyboards/avalanche/v4/keymaps/winder/images.h
@@ -0,0 +1,69 @@
+// Copyright 2022 Will Winder (@winder)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+static const char display [] PROGMEM = {
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0x7f, 0x3f, 0x9f, 0xcf, 0x8f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xcf, 0xef,
+0xe7, 0xcf, 0x8f, 0x1e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf1, 0xe3, 0xf7, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xbf, 0x9f, 0x1f, 0x3f,
+0x7b, 0xf0, 0xfe, 0xff, 0xff, 0xfe, 0x7c, 0x78, 0x71, 0x03, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0xff, 0xf3, 0xe3, 0xd7, 0xef, 0xdf, 0x9c, 0x39, 0x73,
+0xe7, 0xef, 0xcf, 0xcf, 0xce, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xbf, 0x3f, 0x1f, 0xc8, 0xe1, 0xc7, 0x9f, 0x3f, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xe7, 0xc7, 0x9f, 0x3f, 0x7d, 0xf0, 0xe3, 0xc7, 0x8f, 0x9f, 0x3e,
+0x3c, 0xb8, 0x81, 0xc3, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xbf, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xe7,
+0xf3, 0xf9, 0x71, 0x03, 0x87, 0x8f, 0x1e, 0x3c, 0x79, 0xf3, 0xee, 0x9d, 0xfb, 0xf3, 0xf7, 0xfe,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3,
+0xf9, 0xfc, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7e, 0xfe, 0xfc, 0xfd, 0xf9, 0xf8, 0xf8, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x3f, 0x7f,
+0xff, 0xfe, 0xfe, 0xfc, 0xf0, 0xe6, 0xcd, 0x9d, 0x3b, 0x7a, 0xf0, 0xf1, 0xe1, 0xf3, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x47, 0x1f,
+0x3d, 0xf9, 0xf9, 0xf3, 0x83, 0x30, 0x78, 0x78, 0x71, 0x23, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xef, 0xcf, 0x0e, 0x0c, 0xe1, 0xe3, 0xe7, 0xcf,
+0x1f, 0x3e, 0x7e, 0xff, 0xef, 0xe7, 0xf3, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7f,
+0x7f, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xbf, 0x9f, 0xbf, 0x3f, 0x3b, 0x33, 0x87, 0x8f, 0x9f, 0x3f, 0x7f, 0xff, 0xfe,
+0xfc, 0xb9, 0x83, 0xc7, 0xe7, 0xf3, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xbf, 0x9f, 0xcf, 0xc7, 0x33, 0x7f, 0xfe, 0xfc, 0xfc, 0xf9, 0xf8, 0xf6, 0xe7,
+0xee, 0xc8, 0x83, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf9, 0xf9, 0xf9, 0xf9,
+0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xfc,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x07, 0x73,
+0xfb, 0xfb, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0xf8, 0xf0, 0xe7, 0xe7, 0xe7, 0xe7, 0xf0, 0xf8, 0xfd,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x87, 0x33,
+0x3b, 0x39, 0x3b, 0x9f, 0x9f, 0x9f, 0x3f, 0x7f, 0xfe, 0xfc, 0xd9, 0xc3, 0xe3, 0xf3, 0xf9, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xdf, 0xdf, 0xdf, 0xbf, 0x7f, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3, 0xf9, 0xf8, 0xf1, 0xe3, 0xc7, 0x8f, 0x1f, 0x3e,
+0x7c, 0xf9, 0xf3, 0xf3, 0xf3, 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf9, 0xfc, 0xbe, 0x9c, 0xc1, 0xe3, 0xe7, 0xcf,
+0x1f, 0x3f, 0xff, 0xf3, 0xf3, 0xfb, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf,
+0xff, 0xff, 0xe7, 0xdb, 0xbb, 0x7b, 0xf7, 0xee, 0xdc, 0xbd, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfc,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc,
+0xf9, 0xf3, 0xa7, 0xcf, 0xef, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
diff --git a/keyboards/avalanche/v4/keymaps/winder/keymap.c b/keyboards/avalanche/v4/keymaps/winder/keymap.c
new file mode 100644
index 0000000000..75de2f11a8
--- /dev/null
+++ b/keyboards/avalanche/v4/keymaps/winder/keymap.c
@@ -0,0 +1,135 @@
+// Copyright 2022 Viatly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+qmk compile -kb avalanche/v4 -km default
+qmk flash -kb avalanche/v4 -km default
+*/
+
+#include QMK_KEYBOARD_H
+
+enum layer {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define FN_1 MO(_LOWER)
+#define FN_2 MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_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_DEL ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+ KC_ESC , 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_UNDS,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_LGUI, /**/ KC_INS , KC_BSPC, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
+ KC_LGUI, KC_LALT, KC_LGUI, FN_1 , KC_ENT , /**/ FN_2 , KC_SPC , KC_BSPC, KC_RALT, KC_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_DEL ,
+ _______ , KC_TILD, 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] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, /**/ _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______
+ ),
+};
+
+#ifdef OLED_ENABLE
+
+#include "images.h"
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_0;
+}
+
+void shiftright(char* buf, int size, int num) {
+ for (int i = size-1; i > 0; i--) {
+ buf[i] >>= 1;
+ if (buf[i-1] & 0x01) {
+ buf[i] |= 0x80;
+ }
+ }
+ buf[0] >>= 1;
+}
+
+// right to left, 8 bit vertical strips.
+void mask(char* enable) {
+ char rowenable[3];
+ const char* data = display;
+ int i = 0;
+ char blockmask[2] = { 0x00, 0x00 };
+
+ while (i < sizeof(display)) {
+ if (i % 128 == 0) {
+ // shift enable-mask right 1 at each row, reinitialize row copy
+ if (i != 0) {
+ shiftright(enable, 3, 2);
+ }
+ rowenable[0] = enable[0];
+ rowenable[1] = enable[1];
+ rowenable[2] = enable[2];
+ }
+
+ if (i % 8 == 0) {
+ if (rowenable[2] & 0x01) {
+ blockmask[1] = 0xff;
+ } else {
+ blockmask[1] = 0x00;
+ }
+
+ if (rowenable[2] & 0x02) {
+ blockmask[0] = 0xff;
+ } else {
+ blockmask[0] = 0x00;
+ }
+ shiftright(rowenable, 3, 2);
+ }
+
+ uint8_t c = pgm_read_byte(data++);
+ oled_write_raw_byte(c & blockmask[1], i++);
+ shiftright(blockmask, 2, 1);
+ }
+}
+
+void setmask(char* mask) {
+ mask[0] = 0x00;
+ mask[1] = 0x00;
+ mask[2] = 0x00;
+
+ uint8_t mod = get_mods() | get_oneshot_mods();
+ if (mod & MOD_MASK_CTRL) {
+ mask[1] |= 0xf0;
+ }
+ if (mod & MOD_MASK_ALT) {
+ mask[1] |= 0x0f;
+ }
+ if (mod & MOD_MASK_GUI) {
+ mask[0] |= 0xf0;
+ }
+
+ switch (get_highest_layer(layer_state)) {
+ case _LOWER:
+ mask[2] |= 0xf0;
+ break;
+ case _RAISE:
+ mask[0] |= 0x0f;
+ break;
+ }
+}
+
+bool oled_task_user(void) {
+ char m[3];
+ setmask(m);
+ mask(m);
+ return false;
+}
+
+#endif
+
diff --git a/keyboards/avalanche/v4/keymaps/winder/rules.mk b/keyboards/avalanche/v4/keymaps/winder/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/avalanche/v4/keymaps/winder/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/avalanche/v4/rules.mk b/keyboards/avalanche/v4/rules.mk
new file mode 100644
index 0000000000..370dc1a6a8
--- /dev/null
+++ b/keyboards/avalanche/v4/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/avalanche/v4/v4.c b/keyboards/avalanche/v4/v4.c
new file mode 100644
index 0000000000..69c64fc53c
--- /dev/null
+++ b/keyboards/avalanche/v4/v4.c
@@ -0,0 +1,18 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "avalanche.h"
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ oled_write_P(PSTR("Avalanche\nVersion 4"), false);
+ return true;
+}
+#endif
diff --git a/keyboards/avalanche/v4/v4.h b/keyboards/avalanche/v4/v4.h
new file mode 100644
index 0000000000..fde80607b2
--- /dev/null
+++ b/keyboards/avalanche/v4/v4.h
@@ -0,0 +1,31 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "avalanche.h"
+
+#include "quantum.h"
+
+#define L__ KC_NO
+#define R__ KC_NO
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
+ L40, L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, R40, \
+ L30, L31, L32, L33, L34, L35, L36, L26, R26, R36, R35, R34, R33, R32, R31, R30, \
+ L42, L43, L44, L45, L46, R46, R45, R44, R43, R42 \
+) \
+{ \
+ { L00, L01, L02, L03, L04, L05, L__}, \
+ { L10, L11, L12, L13, L14, L15, L__}, \
+ { L20, L21, L22, L23, L24, L25, L26}, \
+ { L30, L31, L32, L33, L34, L35, L36}, \
+ { L40, L__, L42, L43, L44, L45, L46}, \
+ { R00, R01, R02, R03, R04, R05, R__}, \
+ { R10, R11, R12, R13, R14, R15, R__}, \
+ { R20, R21, R22, R23, R24, R25, R26}, \
+ { R30, R31, R32, R33, R34, R35, R36}, \
+ { R40, R__, R42, R43, R44, R45, R46} \
+}
diff --git a/keyboards/aves60/config.h b/keyboards/aves60/config.h
index d44951a4ce..8e59e88d83 100644
--- a/keyboards/aves60/config.h
+++ b/keyboards/aves60/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9991
-#define PRODUCT_ID 0xD408
-#define DEVICE_VER 0x0001
-#define MANUFACTURER I/O Keyboards
-#define PRODUCT Aves 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F6, F7, F5, F1, F4 }
#define MATRIX_COL_PINS { B2, B3, D0, D1, D2, D3, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS { B0, B7, E6, F0 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aves60/info.json b/keyboards/aves60/info.json
index f921de058a..6d1c7f4e37 100644
--- a/keyboards/aves60/info.json
+++ b/keyboards/aves60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Aves60",
+ "keyboard_name": "Aves 60",
+ "manufacturer": "I/O Keyboards",
"url": "https://iokeyboards.eu/",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x9991",
+ "pid": "0xD408",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/aves60/readme.md b/keyboards/aves60/readme.md
index 5a96d2b2eb..049d2d99d8 100644
--- a/keyboards/aves60/readme.md
+++ b/keyboards/aves60/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the space bar and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/aves65/config.h b/keyboards/aves65/config.h
index 5ae386512c..59b54ebc73 100644
--- a/keyboards/aves65/config.h
+++ b/keyboards/aves65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9991
-#define PRODUCT_ID 0x9038
-#define DEVICE_VER 0x0001
-#define MANUFACTURER I/O Keyboards
-#define PRODUCT Aves65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {D4,D6,D7,B4,E6}
#define MATRIX_COL_PINS {D0,D1,D2,D3,D5,B5,F0,F1,F4,F5,F6,F7,C7,C6,B6}
-#define UNUSED_PINS {B7,B1,B2,B3}
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/aves65/info.json b/keyboards/aves65/info.json
index 4531d93b81..789725a9d2 100644
--- a/keyboards/aves65/info.json
+++ b/keyboards/aves65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aves65",
+ "manufacturer": "I/O Keyboards",
"url": "",
"maintainer": "Hund",
+ "usb": {
+ "vid": "0x9991",
+ "pid": "0x9038",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/axolstudio/foundation_gamma/config.h b/keyboards/axolstudio/foundation_gamma/config.h
index 6883e51d57..59b4339428 100644
--- a/keyboards/axolstudio/foundation_gamma/config.h
+++ b/keyboards/axolstudio/foundation_gamma/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x525C
-#define PRODUCT_ID 0xE3EB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Axolstudio
-#define PRODUCT Foundation Gamma
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/axolstudio/foundation_gamma/info.json b/keyboards/axolstudio/foundation_gamma/info.json
index 8845e6ce77..e26e61f1e4 100644
--- a/keyboards/axolstudio/foundation_gamma/info.json
+++ b/keyboards/axolstudio/foundation_gamma/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Foundation Gamma",
+ "manufacturer": "Axolstudio",
"url": "https://axolstudio.ca/foundation-gamma",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x525C",
+ "pid": "0xE3EB",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi_tsangan": "LAYOUT_tkl_f13_ansi_tsangan",
"LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift"
diff --git a/keyboards/axolstudio/foundation_gamma/readme.md b/keyboards/axolstudio/foundation_gamma/readme.md
index 522ddd16c6..5736a0c1d3 100644
--- a/keyboards/axolstudio/foundation_gamma/readme.md
+++ b/keyboards/axolstudio/foundation_gamma/readme.md
@@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button labeled "SW1" on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/axolstudio/helpo/config.h b/keyboards/axolstudio/helpo/config.h
index 927c7cc56c..5251f7aefb 100644
--- a/keyboards/axolstudio/helpo/config.h
+++ b/keyboards/axolstudio/helpo/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x525C
-#define PRODUCT_ID 0xC89F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Axolstudio
-#define PRODUCT Helpo
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
diff --git a/keyboards/axolstudio/helpo/info.json b/keyboards/axolstudio/helpo/info.json
index 5ec0cc7d13..5c25c7df05 100644
--- a/keyboards/axolstudio/helpo/info.json
+++ b/keyboards/axolstudio/helpo/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "helpo",
+ "keyboard_name": "Helpo",
+ "manufacturer": "Axolstudio",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x525C",
+ "pid": "0xC89F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h
index 559b62a81d..1f0540c9e1 100644
--- a/keyboards/axolstudio/yeti/hotswap/config.h
+++ b/keyboards/axolstudio/yeti/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x525C
-#define PRODUCT_ID 0x9F9E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZtech
-#define PRODUCT Yeti RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json
index 72042a98a3..eef82fa2dd 100644
--- a/keyboards/axolstudio/yeti/hotswap/info.json
+++ b/keyboards/axolstudio/yeti/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "yeti hotswap",
+ "keyboard_name": "Yeti Hotswap",
+ "manufacturer": "Axolstudio",
"url": "https://axolstudio.ca/yeti",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x525C",
+ "pid": "0x9F9E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/axolstudio/yeti/hotswap/readme.md b/keyboards/axolstudio/yeti/hotswap/readme.md
index 79fad346f3..4421847705 100644
--- a/keyboards/axolstudio/yeti/hotswap/readme.md
+++ b/keyboards/axolstudio/yeti/hotswap/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/axolstudio/yeti/soldered/config.h b/keyboards/axolstudio/yeti/soldered/config.h
index 34b47bbcac..74468f29e2 100644
--- a/keyboards/axolstudio/yeti/soldered/config.h
+++ b/keyboards/axolstudio/yeti/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x525C
-#define PRODUCT_ID 0x9F9F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Axolstudio
-#define PRODUCT Yeti
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/axolstudio/yeti/soldered/info.json b/keyboards/axolstudio/yeti/soldered/info.json
index 9c6c122ce3..e7e0143786 100644
--- a/keyboards/axolstudio/yeti/soldered/info.json
+++ b/keyboards/axolstudio/yeti/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "yeti soldered",
+ "keyboard_name": "Yeti Soldered",
+ "manufacturer": "Axolstudio",
"url": "https://axolstudio.ca/yeti",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x525C",
+ "pid": "0x9F9F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice": {
"layout": [
diff --git a/keyboards/axolstudio/yeti/soldered/readme.md b/keyboards/axolstudio/yeti/soldered/readme.md
index 78ca4d5deb..429cc7ce9a 100644
--- a/keyboards/axolstudio/yeti/soldered/readme.md
+++ b/keyboards/axolstudio/yeti/soldered/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/aya/config.h b/keyboards/aya/config.h
index 0381f224ca..aa100864f2 100644
--- a/keyboards/aya/config.h
+++ b/keyboards/aya/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2925
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DanNixon
-#define PRODUCT Aya
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/aya/info.json b/keyboards/aya/info.json
index 8db200eb6a..d8093bad72 100644
--- a/keyboards/aya/info.json
+++ b/keyboards/aya/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aya",
+ "manufacturer": "DanNixon",
"url": "https://github.com/DanNixon/aya",
"maintainer": "dannixon",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x2925",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "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":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":17, "y":1}, {"x":18, "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":7, "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":17, "y":2}, {"x":18, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":10, "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":17, "y":3}, {"x":18, "y":3}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}]
diff --git a/keyboards/b_sides/rev41lp/config.h b/keyboards/b_sides/rev41lp/config.h
new file mode 100644
index 0000000000..3628cc4db5
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/config.h
@@ -0,0 +1,37 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 6
+
+#define MATRIX_ROW_PINS { F4, B2, F5, B3, F6, B1, F7 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN B6
+#define BACKLIGHT_ON_STATE 1
+#define BACKLIGHT_LEVELS 7
+#define BACKLIGHT_LIMIT_VAL 150
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/b_sides/rev41lp/info.json b/keyboards/b_sides/rev41lp/info.json
new file mode 100644
index 0000000000..fb5b0c17c1
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "rev41lp",
+ "manufacturer": "cyril279",
+ "url": "https://github.com/cyril279/keyboards/tree/main/revlp/41_1350",
+ "maintainer": "cyril279",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5F10",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_rev41lp": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0.54},
+ {"label":"K01", "x":1, "y":0.36},
+ {"label":"K02", "x":2, "y":0.18},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K04", "x":4, "y":0.18},
+ {"label":"K05", "x":5, "y":0.36},
+
+ {"label":"K10", "x":7, "y":0.36},
+ {"label":"K11", "x":8, "y":0.18},
+ {"label":"K12", "x":9, "y":0},
+ {"label":"K13", "x":10, "y":0.18},
+ {"label":"K14", "x":11, "y":0.36},
+ {"label":"K15", "x":12, "y":0.54},
+
+ {"label":"K20", "x":0, "y":1.54},
+ {"label":"K21", "x":1, "y":1.36},
+ {"label":"K22", "x":2, "y":1.18},
+ {"label":"K23", "x":3, "y":1},
+ {"label":"K24", "x":4, "y":1.18},
+ {"label":"K25", "x":5, "y":1.36},
+
+ {"label":"K30", "x":7, "y":1.36},
+ {"label":"K31", "x":8, "y":1.18},
+ {"label":"K32", "x":9, "y":1},
+ {"label":"K33", "x":10, "y":1.18},
+ {"label":"K34", "x":11, "y":1.36},
+ {"label":"K35", "x":12, "y":1.54},
+
+ {"label":"K40", "x":0, "y":2.54},
+ {"label":"K41", "x":1, "y":2.36},
+ {"label":"K42", "x":2, "y":2.18},
+ {"label":"K43", "x":3, "y":2},
+ {"label":"K44", "x":4, "y":2.18},
+ {"label":"K45", "x":5, "y":2.36},
+
+ {"label":"K50", "x":7, "y":2.36},
+ {"label":"K51", "x":8, "y":2.18},
+ {"label":"K52", "x":9, "y":2},
+ {"label":"K53", "x":10, "y":2.18},
+ {"label":"K54", "x":11, "y":2.36},
+ {"label":"K55", "x":12, "y":2.54},
+
+ {"label":"K60", "x":2.875, "y":3.54, "w":1.25},
+ {"label":"K61", "x":4.125, "y":3.54, "w":1.25},
+ {"label":"K62", "x":5.375, "y":3.54, "w":2.25},
+ {"label":"K63", "x":7.625, "y":3.54, "w":1.25},
+ {"label":"K64", "x":8.875, "y":3.54, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/config.h b/keyboards/b_sides/rev41lp/keymaps/cyril/config.h
new file mode 100644
index 0000000000..4677c5f1d4
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/cyril/config.h
@@ -0,0 +1,21 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 TAPPING_TERM 150
+#define TAPPING_TERM_PER_KEY
+#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c b/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c
new file mode 100644
index 0000000000..fd87a98d19
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c
@@ -0,0 +1,105 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+ _NAVIG,
+ _FUNCTION
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+#define SPC_NAV LT(_NAVIG,KC_SPC)
+#define FUNCT MO(_FUNCTION)
+#define NAVIG MO(_NAVIG)
+
+#define LGUI_A LGUI_T(KC_A)
+#define LALT_S LALT_T(KC_S)
+#define LSFT_D LSFT_T(KC_D)
+#define LCTL_F LCTL_T(KC_F)
+#define RCTL_J RCTL_T(KC_J)
+#define RSFT_K RSFT_T(KC_K)
+#define RALT_L LALT_T(KC_L)
+#define RGUI_SCLN RGUI_T(KC_SCLN)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_rev41lp(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, KC_A, LALT_S, LSFT_D, LCTL_F, KC_G, KC_H, RCTL_J, RSFT_K, RALT_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_ENT,
+ KC_LGUI, LOWER, SPC_NAV, RAISE, FUNCT
+ ),
+
+ [_LOWER] = LAYOUT_rev41lp(
+ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_rev41lp(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ ),
+
+ [_NAVIG] = LAYOUT_rev41lp(
+ KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
+ _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
+ _______, _______, _______, _______, _______
+ ),
+
+ [_FUNCTION] = LAYOUT_rev41lp(
+ KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
+ _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_rev41lp(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______
+ )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LGUI_A:
+ case RGUI_SCLN:
+ case LALT_S:
+ case RALT_L:
+ case LCTL_F:
+ case RCTL_J:
+ case SPC_NAV:
+ return 225;
+ default:
+ return TAPPING_TERM;
+ }
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/default/keymap.c b/keyboards/b_sides/rev41lp/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1e721883b2
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_rev41lp(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ KC_LALT, MO(1), KC_SPC, MO(2), KC_LGUI
+ ),
+
+ [1] = LAYOUT_rev41lp(
+ _______, 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, MO(3), _______
+ ),
+
+ [2] = LAYOUT_rev41lp(
+ _______, 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,
+ _______, MO(3), KC_BSPC, _______, _______
+ ),
+
+ [3] = LAYOUT_rev41lp(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______
+ )
+};
+
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
new file mode 100644
index 0000000000..69d44bdd03
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
@@ -0,0 +1,43 @@
+/* Copyright 2022 Jan Lindblom (@janlindblom)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#undef BACKLIGHT_LEVELS
+#define BACKLIGHT_LEVELS 11
+#undef BACKLIGHT_LIMIT_VAL
+#define BACKLIGHT_LIMIT_VAL 255
+#define BACKLIGHT_DEFAULT_LEVEL 3
+
+#define COMBO_COUNT 3
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_MAC, UC_LNX
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
+
+#define LAYER_STATE_8BIT
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+#define NO_ACTION_ONESHOT
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* key combination for command */
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
new file mode 100644
index 0000000000..968f96f3b2
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
@@ -0,0 +1,176 @@
+/* Copyright 2022 Jan Lindblom (@janlindblom)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_swedish.h"
+#include "sendstring_swedish.h"
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ SK_NOT_EQL = SAFE_RANGE,
+ SK_LEQ,
+ SK_GEQ,
+};
+
+// Custom send_string keys
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case SK_NOT_EQL:
+ if (record->event.pressed) {
+ SEND_STRING("!=");
+ }
+ break;
+ case SK_LEQ:
+ if (record->event.pressed) {
+ SEND_STRING("<=");
+ }
+ break;
+ case SK_GEQ:
+ if (record->event.pressed) {
+ SEND_STRING(">=");
+ }
+ break;
+ }
+ return true;
+}
+
+// Combos, if enabled
+#ifdef COMBO_ENABLE
+enum combo_events {
+ ZC_COPY,
+ XV_PASTE,
+ ZX_CUT,
+};
+
+const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
+const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
+const uint16_t PROGMEM cut_combo[] = {KC_Z, KC_X, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ [ZC_COPY] = COMBO_ACTION(copy_combo),
+ [XV_PASTE] = COMBO_ACTION(paste_combo),
+ [ZX_CUT] = COMBO_ACTION(cut_combo),
+};
+
+void process_combo_event(uint16_t combo_index, bool pressed) {
+ switch (combo_index) {
+ case ZC_COPY:
+ if (pressed) {
+ tap_code16(LCTL(KC_C));
+ }
+ break;
+ case XV_PASTE:
+ if (pressed) {
+ tap_code16(LCTL(KC_V));
+ }
+ break;
+ case ZX_CUT:
+ if (pressed) {
+ tap_code16(LCTL(KC_X));
+ }
+ break;
+ }
+}
+#endif
+
+// Tap Dance definitions
+#ifdef TAP_DANCE_ENABLE
+enum dances {
+ TD_SHFT_CAPS,
+ TD_DOT_COL,
+ TD_COM_SCL,
+ TD_DASH_USCR,
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ // Tap once for Shift, twice for Caps Lock
+ [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
+ [TD_COM_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN),
+ [TD_DOT_COL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, SE_COLN),
+ [TD_DASH_USCR] = ACTION_TAP_DANCE_DOUBLE(SE_MINS, S(SE_MINS)),
+};
+# define CK_LSFT TD(TD_SHFT_CAPS)
+# define CK_COMM TD(TD_COM_SCL)
+# define CK_DOT TD(TD_DOT_COL)
+# define CK_DASH TD(TD_DASH_USCR)
+#else
+# define CK_LSFT KC_LSFT
+# define CK_COMM KC_COMM
+# define CK_DOT KC_DOT
+# define CK_DASH SE_MINS
+#endif
+
+// Some defines for the keys below
+#define CK_ESC LT(_RAISE, KC_ESC)
+#define CK_BSPC LCTL_T(KC_BSPC)
+#define CK_DEL LALT_T(KC_DEL)
+#define CK_ENT1 LT(_LOWER, KC_ENT)
+#define CK_ENT2 LT(_RAISE, KC_ENT)
+#define CK_TAB RALT_T(KC_TAB)
+#define CK_ADIA RCTL_T(SE_ADIA)
+#define CK_QUOT RSFT_T(SE_QUOT)
+#define CK_SPC RSFT_T(KC_SPC)
+
+// Alt + [-] => – (en-dash)
+const key_override_t mins_ndash_override = ko_make_basic(MOD_MASK_ALT, SE_MINS, UC(0x2013));
+ // Shift + Alt + [-] => — (em-dash)
+const key_override_t mins_mdash_override = ko_make_basic(MOD_MASK_SA, SE_MINS, UC(0x2014));
+
+const key_override_t **key_overrides = (const key_override_t *[]){
+ &mins_ndash_override,
+ &mins_mdash_override,
+ NULL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_rev41lp(
+ CK_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
+ CK_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA, CK_ADIA,
+ CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, SE_COMM, SE_DOT, SE_MINS, CK_QUOT,
+ CK_DEL, CK_ENT1, KC_SPC, CK_ENT2, CK_TAB
+ ),
+
+ [_LOWER] = LAYOUT_rev41lp(
+ SK_NOT_EQL, SE_EXLM, SE_AT, SE_HASH, SE_DLR, SE_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_LPRN, SE_RPRN, SE_DIAE,
+ SK_LEQ, SE_UNDS, SE_PLUS, SE_LCBR, SE_RCBR, SE_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, SE_GRV, SE_TILD,
+ SK_GEQ, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, SE_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, CK_SPC,
+ _______, _______, KC_ENT, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_rev41lp(
+ _______, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_GRV,
+ _______, SE_MINS, SE_EQL, SE_LBRC, SE_RBRC, SE_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, SE_ACUT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ SE_LABK, SE_RABK, KC_BSPC, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_rev41lp(
+ XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, BL_ON, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, UC_M_WC, UC_M_MA, UC_M_LN, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______
+ )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md b/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md
new file mode 100644
index 0000000000..cc307b3a97
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md
@@ -0,0 +1,3 @@
+# Namnlos custom keymap for Rev41lp
+
+This is a nordic keymap for the Rev41lp by [cyril](https://github.com/cyril279), it's based on the default keymap but has customisations for nordic languages.
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk b/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk
new file mode 100644
index 0000000000..59c3380a3b
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk
@@ -0,0 +1,7 @@
+SLEEP_LED_ENABLE = yes
+NKRO_ENABLE = yes
+UNICODE_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+KEY_OVERRIDE_ENABLE = yes
+DEBOUNCE_TYPE = sym_defer_pk
+LTO_ENABLE = yes
diff --git a/keyboards/b_sides/rev41lp/readme.md b/keyboards/b_sides/rev41lp/readme.md
new file mode 100644
index 0000000000..1a72bbf785
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/readme.md
@@ -0,0 +1,15 @@
+# The rev41lp keyboard
+
+![The rev41lp keyboard by cyril279](https://imgur.com/nZNHSaWh.jpg)
+
+Inspired by the REVIUNG series by Gtips, the rev41lp is 41-key column staggered keyboard designed for use with low-profile Kailh Choc (pg1350) switches.
+
+* Keyboard Maintainer: [cyril279](https://github.com/cyril279)
+* Hardware Supported: The REVlp PCBs, Pro Micro supported, bluetooth controller friendly.
+* Hardware Availability: [PCB Data](https://github.com/cyril279/keyboards/tree/main/revlp)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make b_sides/rev41lp: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/b_sides/rev41lp/rev41lp.c b/keyboards/b_sides/rev41lp/rev41lp.c
new file mode 100644
index 0000000000..d9ab1ed21e
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rev41lp.c
@@ -0,0 +1,17 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "rev41lp.h"
diff --git a/keyboards/b_sides/rev41lp/rev41lp.h b/keyboards/b_sides/rev41lp/rev41lp.h
new file mode 100644
index 0000000000..47afd295a0
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rev41lp.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2021 @cyril279
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_rev41lp( \
+ K00, K01, K02, K03, K04, K05, K10, K11, K12, K13, K14, K15, \
+ K20, K21, K22, K23, K24, K25, K30, K31, K32, K33, K34, K35, \
+ K40, K41, K42, K43, K44, K45, K50, K51, K52, K53, K54, K55, \
+ K60, K61, K62, K63, K64 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05 }, \
+ { K10, K11, K12, K13, K14, K15 }, \
+ { K20, K21, K22, K23, K24, K25 }, \
+ { K30, K31, K32, K33, K34, K35 }, \
+ { K40, K41, K42, K43, K44, K45 }, \
+ { K50, K51, K52, K53, K54, K55 }, \
+ { K60, K61, K62, K63, K64, KC_NO } \
+}
diff --git a/keyboards/b_sides/rev41lp/rules.mk b/keyboards/b_sides/rev41lp/rules.mk
new file mode 100644
index 0000000000..27d9decbbf
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/bacca70/config.h b/keyboards/bacca70/config.h
index 703baaaf3a..9fd41650fb 100644
--- a/keyboards/bacca70/config.h
+++ b/keyboards/bacca70/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBACA
-#define PRODUCT_ID 0x6970
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Viktus Design LLC
-#define PRODUCT Bacca70
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
diff --git a/keyboards/bacca70/info.json b/keyboards/bacca70/info.json
index ddc2f894ac..57840b4e12 100644
--- a/keyboards/bacca70/info.json
+++ b/keyboards/bacca70/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bacca70",
+ "manufacturer": "Viktus Design LLC",
"url": "https://3dkeebs.com/",
"maintainer": "keebnewb",
+ "usb": {
+ "vid": "0xBACA",
+ "pid": "0x6970",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/bacca70/keymaps/debaccabean/keymap.c b/keyboards/bacca70/keymaps/debaccabean/keymap.c
index 66e3ec0b5f..da2ef7715b 100644
--- a/keyboards/bacca70/keymaps/debaccabean/keymap.c
+++ b/keyboards/bacca70/keymaps/debaccabean/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_debaccabean(
- 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,
+ QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS,
KC_TRNS,KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,
diff --git a/keyboards/bacca70/keymaps/dede-special/keymap.c b/keyboards/bacca70/keymaps/dede-special/keymap.c
index 1c7514e81b..fc71850b6f 100644
--- a/keyboards/bacca70/keymaps/dede-special/keymap.c
+++ b/keyboards/bacca70/keymaps/dede-special/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[3] = LAYOUT_debaccabean(
- 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,TG(1),
+ QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,TG(1),
KC_TRNS,KC_TRNS,KC_TRNS,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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,
diff --git a/keyboards/bacca70/readme.md b/keyboards/bacca70/readme.md
index 2141138b8f..8c79edd494 100644
--- a/keyboards/bacca70/readme.md
+++ b/keyboards/bacca70/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key (Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB. The button is next to the MCU.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. For the default keymap it is on the right alt key on the second layer.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. For the default keymap it is on the right alt key on the second layer.
## Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/baguette/config.h b/keyboards/baguette/config.h
index b4937579a3..c4cb1cc373 100644
--- a/keyboards/baguette/config.h
+++ b/keyboards/baguette/config.h
@@ -19,13 +19,6 @@ 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 0x5050
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar
-#define PRODUCT Baguette
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B1, E6, D6 }
#define MATRIX_COL_PINS { B6, C6, C7, F7, F6, F5, F4, F1, F0, B0, D0, D1, D2, D3, D5, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/baguette/info.json b/keyboards/baguette/info.json
index cad167381f..2c6b09fc09 100644
--- a/keyboards/baguette/info.json
+++ b/keyboards/baguette/info.json
@@ -1,8 +1,14 @@
{
"keyboard_name": "Baguette",
+ "manufacturer": "Yiancar",
"url": "",
"maintainer": "qmk",
"bootloader": "atmel-dfu",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/bajjak/bajjak.c b/keyboards/bajjak/bajjak.c
new file mode 100644
index 0000000000..74e2b2aa8c
--- /dev/null
+++ b/keyboards/bajjak/bajjak.c
@@ -0,0 +1,227 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+Copyright 2021 Gary Kong <kongkm88@gmail.com> (@garykong)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "bajjak.h"
+
+extern inline void bajjak_board_led_on(void);
+extern inline void bajjak_right_led_1_on(void);
+extern inline void bajjak_right_led_2_on(void);
+extern inline void bajjak_right_led_3_on(void);
+extern inline void bajjak_right_led_on(uint8_t led);
+
+extern inline void bajjak_board_led_off(void);
+extern inline void bajjak_right_led_1_off(void);
+extern inline void bajjak_right_led_2_off(void);
+extern inline void bajjak_right_led_3_off(void);
+extern inline void bajjak_right_led_off(uint8_t led);
+
+extern inline void bajjak_led_all_on(void);
+extern inline void bajjak_led_all_off(void);
+
+extern inline void bajjak_right_led_1_set(uint8_t n);
+extern inline void bajjak_right_led_2_set(uint8_t n);
+extern inline void bajjak_right_led_3_set(uint8_t n);
+extern inline void bajjak_right_led_set(uint8_t led, uint8_t n);
+
+extern inline void bajjak_led_all_set(uint8_t n);
+
+keyboard_config_t keyboard_config;
+
+bool i2c_initialized = 0;
+i2c_status_t mcp23018_status = 0x20;
+
+void matrix_init_kb(void) {
+ // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md")
+ TCCR1A = 0b10101001; // set and configure fast PWM
+ TCCR1B = 0b00001001; // set and configure fast PWM
+
+ // (tied to Vcc for hardware convenience)
+ DDRB &= ~(1<<4); // set B(4) as input
+ PORTB &= ~(1<<4); // set B(4) internal pull-up disabled
+
+ // unused pins - D4, D5, E6
+ // set as input with internal pull-up enabled
+ DDRD &= ~(1<<5 | 1<<4);
+ DDRE &= ~(1<<6);
+ PORTD |= (1<<5 | 1<<4);
+ PORTE |= (1<<6);
+
+ keyboard_config.raw = eeconfig_read_kb();
+ bajjak_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 );
+ bajjak_blink_all_leds();
+
+ matrix_init_user();
+}
+
+void bajjak_blink_all_leds(void)
+{
+ bajjak_led_all_off();
+ bajjak_led_all_set(LED_BRIGHTNESS_DEFAULT);
+ bajjak_right_led_1_on();
+ wait_ms(50);
+ bajjak_right_led_2_on();
+ wait_ms(50);
+ bajjak_right_led_3_on();
+ wait_ms(50);
+#ifdef LEFT_LEDS
+ bajjak_left_led_1_on();
+ wait_ms(50);
+ if (!mcp23018_status) {
+ mcp23018_status = bajjak_left_leds_update();
+ }
+ bajjak_left_led_2_on();
+ wait_ms(50);
+ if (!mcp23018_status) {
+ mcp23018_status = bajjak_left_leds_update();
+ }
+#endif
+ bajjak_right_led_1_off();
+ wait_ms(50);
+ bajjak_right_led_2_off();
+ wait_ms(50);
+ bajjak_right_led_3_off();
+#ifdef LEFT_LEDS
+ wait_ms(50);
+ bajjak_left_led_1_off();
+ if (!mcp23018_status) {
+ mcp23018_status = bajjak_left_leds_update();
+ }
+ wait_ms(50);
+ bajjak_left_led_2_off();
+ if (!mcp23018_status) {
+ mcp23018_status = bajjak_left_leds_update();
+ }
+#endif
+
+ //bajjak_led_all_on();
+ //wait_ms(333);
+ bajjak_led_all_off();
+}
+
+uint8_t init_mcp23018(void) {
+ mcp23018_status = 0x20;
+
+ // I2C subsystem
+
+ // uint8_t sreg_prev;
+ // sreg_prev=SREG;
+ // cli();
+
+ if (i2c_initialized == 0) {
+ i2c_init(); // on pins D(1,0)
+ i2c_initialized = true;
+ wait_ms(1000);
+ }
+ // i2c_init(); // on pins D(1,0)
+ // wait_ms(1000);
+
+ // set pin direction
+ // - unused : input : 1
+ // - input : input : 1
+ // - driving : output : 0
+ mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(IODIRA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b00111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ i2c_stop();
+
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(GPPUA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b01111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+
+out:
+ i2c_stop();
+
+#ifdef LEFT_LEDS
+ if (!mcp23018_status) mcp23018_status = bajjak_left_leds_update();
+#endif // LEFT_LEDS
+
+ // SREG=sreg_prev;
+
+ return mcp23018_status;
+}
+
+#ifdef LEFT_LEDS
+uint8_t bajjak_left_leds_update(void) {
+ if (mcp23018_status) { // if there was an error
+ return mcp23018_status;
+ }
+#define LEFT_LED_1_SHIFT 7 // in MCP23018 port A
+#define LEFT_LED_2_SHIFT 7 // in MCP23018 port B
+
+ // set logical value (doesn't matter on inputs)
+ // - unused : hi-Z : 1
+ // - input : hi-Z : 1
+ // - driving : hi-Z : 1
+ mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT);
+ if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(OLATA, BAJJAK_EZ_I2C_TIMEOUT);
+ if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b11111111
+ & ~(bajjak_left_led_1<<LEFT_LED_1_SHIFT),
+ BAJJAK_EZ_I2C_TIMEOUT);
+ if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0b11111111
+ & ~(bajjak_left_led_2<<LEFT_LED_2_SHIFT),
+ BAJJAK_EZ_I2C_TIMEOUT);
+ if (mcp23018_status) goto out;
+
+ out:
+ i2c_stop();
+ return mcp23018_status;
+}
+#endif
+
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+// swap-hands action needs a matrix to define the swap
+const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ /* Left hand, matrix positions */
+ {{0, 13}, {1, 13}, {2, 13}, {3, 13}, {4, 13}, {5, 13}, {6, 13}},
+ {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}, {5, 12}, {6, 12}},
+ {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {5, 11}, {6, 11}},
+ {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {5, 10}, {6, 10}},
+ {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
+ {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
+ {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}},
+ /* Right hand, matrix positions */
+ {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
+ {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
+ {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
+ {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
+ {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
+ {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
+ {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
+};
+#endif
+
+void eeconfig_init_kb(void) { // EEPROM is getting reset!
+ keyboard_config.raw = 0;
+ keyboard_config.led_level = 4;
+ eeconfig_update_kb(keyboard_config.raw);
+ eeconfig_init_user();
+}
diff --git a/keyboards/bajjak/bajjak.h b/keyboards/bajjak/bajjak.h
new file mode 100644
index 0000000000..126df7932c
--- /dev/null
+++ b/keyboards/bajjak/bajjak.h
@@ -0,0 +1,165 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+Copyright 2021 Gary Kong <kongkm88@gmail.com> (@garykong)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+#include <stdint.h>
+#include <stdbool.h>
+#include "i2c_master.h"
+
+// I2C aliases and register addresses (see "mcp23018.md")
+#define I2C_ADDR 0b0100000
+#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
+#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+#define IODIRA 0x00 // i/o direction register
+#define IODIRB 0x01
+#define GPPUA 0x0C // GPIO pull-up resistor register
+#define GPPUB 0x0D
+#define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
+#define GPIOB 0x13
+#define OLATA 0x14 // output latch register
+#define OLATB 0x15
+
+extern i2c_status_t mcp23018_status;
+#define BAJJAK_EZ_I2C_TIMEOUT 100
+
+void init_bajjak(void);
+void bajjak_blink_all_leds(void);
+uint8_t init_mcp23018(void);
+uint8_t bajjak_left_leds_update(void);
+
+#ifndef LED_BRIGHTNESS_LO
+#define LED_BRIGHTNESS_LO 15
+#endif
+#ifndef LED_BRIGHTNESS_HI
+#define LED_BRIGHTNESS_HI 255
+#endif
+
+
+inline void bajjak_board_led_on(void) { setPinOutput(D6); writePinHigh(D6); }
+inline void bajjak_right_led_1_on(void) { setPinOutput(B5); writePinHigh(B5); }
+inline void bajjak_right_led_2_on(void) { setPinOutput(B6); writePinHigh(B6); }
+inline void bajjak_right_led_3_on(void) { setPinOutput(B7); writePinHigh(B7); }
+inline void bajjak_right_led_on(uint8_t led) { setPinOutput(led+4); writePinHigh(led+4); }
+
+inline void bajjak_board_led_off(void) { setPinInput(D6); writePinLow(D6); }
+inline void bajjak_right_led_1_off(void) { setPinInput(B5); writePinLow(B5); }
+inline void bajjak_right_led_2_off(void) { setPinInput(B6); writePinLow(B6); }
+inline void bajjak_right_led_3_off(void) { setPinInput(B7); writePinLow(B7); }
+inline void bajjak_right_led_off(uint8_t led) { setPinInput(led+4); writePinLow(led+4); }
+
+#ifdef LEFT_LEDS
+bool bajjak_left_led_1;
+bool bajjak_left_led_2;
+bool bajjak_left_led_3;
+
+inline void bajjak_left_led_1_on(void) { bajjak_left_led_1 = 1; }
+inline void bajjak_left_led_2_on(void) { bajjak_left_led_2 = 1; }
+
+inline void bajjak_left_led_1_off(void) { bajjak_left_led_1 = 0; }
+inline void bajjak_left_led_2_off(void) { bajjak_left_led_2 = 0; }
+#endif // LEFT_LEDS
+
+inline void bajjak_led_all_on(void) {
+ bajjak_board_led_on();
+ bajjak_right_led_1_on();
+ bajjak_right_led_2_on();
+ bajjak_right_led_3_on();
+#ifdef LEFT_LEDS
+ bajjak_left_led_1_on();
+ bajjak_left_led_2_on();
+#endif // LEFT_LEDS
+}
+
+inline void bajjak_led_all_off(void)
+{
+ bajjak_board_led_off();
+ bajjak_right_led_1_off();
+ bajjak_right_led_2_off();
+ bajjak_right_led_3_off();
+#ifdef LEFT_LEDS
+ bajjak_left_led_1_off();
+ bajjak_left_led_2_off();
+#endif // LEFT_LEDS
+}
+
+inline void bajjak_right_led_1_set(uint8_t n) { OCR1A = n; }
+inline void bajjak_right_led_2_set(uint8_t n) { OCR1B = n; }
+inline void bajjak_right_led_3_set(uint8_t n) { OCR1C = n; }
+inline void bajjak_right_led_set(uint8_t led, uint8_t n) {
+ (led == 1) ? (OCR1A = n) :
+ (led == 2) ? (OCR1B = n) :
+ (OCR1C = n);
+}
+
+inline void bajjak_led_all_set(uint8_t n) {
+ bajjak_right_led_1_set(n);
+ bajjak_right_led_2_set(n);
+ bajjak_right_led_3_set(n);
+}
+
+enum BAJJAK_ez_keycodes {
+ LED_LEVEL = SAFE_RANGE,
+ TOGGLE_LAYER_COLOR,
+ EZ_SAFE_RANGE,
+};
+
+#ifndef WEBUSB_ENABLE
+# define WEBUSB_PAIR KC_NO
+#endif
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t led_level :3;
+ bool disable_layer_led :1;
+ };
+} keyboard_config_t;
+
+extern keyboard_config_t keyboard_config;
+
+#define LAYOUT_6x7( \
+ 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, R41, R42, R43, R44, R45, R46, \
+ L50, L51, L52, L53, L54, R52, R53, R54, R55, R56, \
+ L65, L66, R60, R61, \
+ L64, R62, \
+ L63, L62, L61, R65, R64, R63 \
+ ) { \
+ { L00, L10, L20, L30, L40, L50, KC_NO }, \
+ { L01, L11, L21, L31, L41, L51, L61 }, \
+ { L02, L12, L22, L32, L42, L52, L62 }, \
+ { L03, L13, L23, L33, L43, L53, L63 }, \
+ { L04, L14, L24, L34, L44, L54, L64 }, \
+ { L05, L15, L25, L35, L45, KC_NO, L65 }, \
+ { L06, L16, L26, L36, KC_NO, KC_NO, L66 }, \
+ { R00, R10, R20, R30, KC_NO, KC_NO, R60 }, \
+ { R01, R11, R21, R31, R41, KC_NO, R61 }, \
+ { R02, R12, R22, R32, R42, R52, R62 }, \
+ { R03, R13, R23, R33, R43, R53, R63 }, \
+ { R04, R14, R24, R34, R44, R54, R64 }, \
+ { R05, R15, R25, R35, R45, R55, R65 },\
+ { R06, R16, R26, R36, R46, R56, KC_NO } \
+ }
diff --git a/keyboards/bajjak/config.h b/keyboards/bajjak/config.h
new file mode 100644
index 0000000000..d821bc0a8c
--- /dev/null
+++ b/keyboards/bajjak/config.h
@@ -0,0 +1,111 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+Copyright 2021 Gary Kong <kongkm88@gmail.com> (@garykong)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 14
+#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
+#define MATRIX_COLS 7
+
+#define COL_EXPANDED { true, true, true, true, true, true, true, false, false, false, false, false, false, false }
+#define MATRIX_ONBOARD_ROW_PINS { 0, 0, 0, 0, 0, 0, 0, B0, B1, B2, B3, D2, D3, C6 }
+#define MATRIX_ONBOARD_COL_PINS { F0, F1, F4, F5, F6, F7, D7 }
+#define DIODE_DIRECTION COL2ROW
+#define EXPANDER_COL_REGISTER GPIOB
+#define EXPANDER_ROW_REGISTER GPIOA
+#define MATRIX_EXPANDER_COL_PINS { 6, 5, 4, 3, 2, 1, 0 }
+#define MATRIX_EXPANDER_ROW_PINS { 0, 1, 2, 3, 4, 5, 6 }
+
+
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_WHEEL_DELAY 0
+
+#define DEBOUNCE 30
+
+#define TAPPING_TOGGLE 1
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+#define TAPPING_TERM 200
+#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
+
+/* 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
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+)
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+#ifndef LED_BRIGHTNESS_LO
+#define LED_BRIGHTNESS_LO 15
+#endif
+#ifndef LED_BRIGHTNESS_HI
+#define LED_BRIGHTNESS_HI 255
+#endif
+#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI)
+
+/* fix space cadet rollover issue */
+#define DISABLE_SPACE_CADET_ROLLOVER
+
+/*
+ * The debounce filtering reports a key/switch change directly,
+ * without any extra delay. After that the debounce logic will filter
+ * all further changes, until the key/switch reports the same state for
+ * the given count of scans.
+ * So a perfect switch will get a short debounce period and
+ * a bad key will get a much longer debounce period.
+ * The result is an adaptive debouncing period for each switch.
+ *
+ * If you don't define it here, the matrix code will default to
+ * 5, which is now closer to 10ms, but still plenty according to
+ * manufacturer specs.
+ */
+
+/*
+ * 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 DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/bajjak/info.json b/keyboards/bajjak/info.json
new file mode 100644
index 0000000000..f3ebb4e159
--- /dev/null
+++ b/keyboards/bajjak/info.json
@@ -0,0 +1,37 @@
+{
+ "keyboard_name": "BAJJAK",
+ "manufacturer": "garykong",
+ "maintainer": "garykong",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_6x7": {
+ "layout": [
+ {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25},
+ {"x":9.5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.375, "w":1.5},
+
+ {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25},
+ {"x":9.5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.375, "w":1.5},
+
+ {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25},
+ {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.375, "w":1.5},
+
+ {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":3.25},
+ {"x":9.5, "y":3.25}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.375, "w":1.5},
+
+ {"x":0, "y":4.375, "w":1.5}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, {"x":5.5, "y":4.25},
+ {"x":10.5, "y":4.25}, {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375, "w":1.5},
+
+ {"x":0, "y":5.375, "w":1.5}, {"x":1.5, "y":5.375}, {"x":2.5, "y":5.125}, {"x":3.5, "y":5}, {"x":4.5, "y":5.125},
+ {"x":11.5, "y":5.125}, {"x":12.5, "y":5}, {"x":13.5, "y":5.125}, {"x":14.5, "y":5.375}, {"x":15.5, "y":5.375, "w":1.5},
+
+ {"x":6, "y":6}, {"x":7, "y":6}, {"x":9, "y":6}, {"x":10, "y":6},
+ {"x":7, "y":7}, {"x":9, "y":7},
+ {"x":5, "y":7, "h":2}, {"x":6, "y":7, "h":2}, {"x":7, "y":8}, {"x":9, "y":8}, {"x":10, "y":7, "h":2}, {"x":11, "y":7, "h":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/bajjak/keymaps/5x6/keymap.c b/keyboards/bajjak/keymaps/5x6/keymap.c
new file mode 100644
index 0000000000..01b3383780
--- /dev/null
+++ b/keyboards/bajjak/keymaps/5x6/keymap.c
@@ -0,0 +1,187 @@
+/* Copyright 2021 Gary Kong
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+enum layers {
+ BASE, // default layer
+ SYMB, // symbols
+ MDIA, // media keys
+};
+
+enum custom_keycodes {
+ VRSN = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ------------------------------------------- -------------------------------------------
+ * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G | | H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift |
+ * ------------------------------------------- -------------------------------------------
+ * | CTRL |GUI\` |ALT \ | Left |Right | | Up | Down | [ | ] | L1 |
+ * ---------------------------------- ----------------------------------
+ * ------------- ---------------
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ------|------|------| |------+--------+------
+ * | | | Home | | PgUp | | |
+ * |Back | Del |------| |------| Enter |Space |
+ * |Space | | End | | PgDn | | |
+ * -------------------- ----------------------
+ *
+ */
+[BASE] = LAYOUT_6x7(
+// Left hand Right hand
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, 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_RSFT,
+ KC_LCTRL, GUI_T(KC_GRV), ALT_T(KC_BSLS), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, DF(SYMB),
+ CTL_T(KC_ESC), KC_LALT, KC_RGUI, CTL_T(KC_HAEN),
+ KC_HOME, KC_PGUP,
+ KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENT, KC_SPC
+),
+/* Keymap 1: Sybol layer
+ *
+ * ------------------------------------------- -------------------------------------------
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | ! | @ | { | } | | |NUMLCK| 7 | 8 | 9 | - | / |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | | | | 4 | 5 | 6 | + | * |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | LShift | % | ^ | [ | ] | | | L2 | 1 | 2 | 3 | = | RShift |
+ * ------------------------------------------- -------------------------------------------
+ * | CTRL |GUI\~`|ALT \ | Left | Right| | Up | Down | . | 0 | |
+ * ---------------------------------- ----------------------------------
+ * ------------- ---------------
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ------|------|------| |------+--------+------
+ * | | | Home | | PgUp | | |
+ * |BackSp| Del |------| |------| Enter |Space |
+ * | | | End | | PgDn | | |
+ * -------------------- ----------------------
+ *
+ */
+[SYMB] = LAYOUT_6x7(
+// Left hand Right hand
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_P7 , KC_P8 , KC_P9, KC_MINS, KC_PSLS,
+ XXXXXXX, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P4 , KC_P5 , KC_P6, KC_PLUS, KC_PAST,
+ _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, XXXXXXX, DF(MDIA), KC_P1 , KC_P2 , KC_P3, KC_PEQL, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P0, DF(BASE),
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ------------------------------------------- -------------------------------------------
+ * | SLEEP |BR_Up |BR_Dn | | |Eject | | Prev | Play | Next | Mute |Vol_Up| Vol_Dn |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | | Lclk | MsUp | Rclk |MsWhUp| | | | | | | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | QK_BOOT | |MsLeft|MsDown|MsRght|MsWhDw| | | | | | | |
+ * |--------+------+------+------+------+------| |------|------+------+------+------+--------|
+ * | LShift | |MsWhL | |MsWhR | | | | | | | | RShift |
+ * ------------------------------------------- -------------------------------------------
+ * | CTRL |GUI\~`|ALT \ | Left | Right| | Up | Down | | | L0 |
+* ---------------------------------- -----------------------------------
+ * ------------- ---------------
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ------|------|------| |------+--------+------
+ * | | | Home | | PgUp | | |
+ * |BackSp| Del |------| |------| Enter |Space |
+ * | | | End | | PgDn | | |
+ * -------------------- ----------------------
+ *
+ */
+[MDIA] = LAYOUT_6x7(
+// Left hand Right hand
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_SLEP, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, KC_EJCT, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
+ XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, KC_WH_L, XXXXXXX, KC_WH_R, XXXXXXX, DF(SYMB), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, DF(BASE),
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+ case VRSN:
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ return false;
+ }
+ }
+ return true;
+}
+
+// Runs whenever there is a layer state change.
+layer_state_t layer_state_set_user(layer_state_t state) {
+ bajjak_right_led_1_off();
+ bajjak_right_led_2_off();
+ bajjak_right_led_3_off();
+
+ uint8_t layer = get_highest_layer(state);
+ switch (layer) {
+ case 0:
+ break;
+ case 1:
+ bajjak_right_led_1_on();
+ break;
+ case 2:
+ bajjak_right_led_2_on();
+ break;
+ case 3:
+ bajjak_right_led_3_on();
+ break;
+ case 4:
+ bajjak_right_led_1_on();
+ bajjak_right_led_2_on();
+ break;
+ case 5:
+ bajjak_right_led_1_on();
+ bajjak_right_led_3_on();
+ break;
+ case 6:
+ bajjak_right_led_2_on();
+ bajjak_right_led_3_on();
+ break;
+ case 7:
+ bajjak_right_led_1_on();
+ bajjak_right_led_2_on();
+ bajjak_right_led_3_on();
+ break;
+ default:
+ break;
+ }
+
+ return state;
+};
diff --git a/keyboards/bajjak/keymaps/default/keymap.c b/keyboards/bajjak/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3bed2c52e7
--- /dev/null
+++ b/keyboards/bajjak/keymaps/default/keymap.c
@@ -0,0 +1,193 @@
+/* Copyright 2021 Gary Kong
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+enum layers {
+ BASE, // default layer
+ SYMB, // symbols
+ MDIA, // media keys
+};
+
+enum custom_keycodes {
+ VRSN = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | Eject |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | = | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G | L2 | | L1 | H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------+------' `------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+------' `-----+------+------+------+------+-------'
+ * | CTRL |iGUI\'"|ALT \ | Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |BackSp| Del |------| |------| Enter |Space |
+ * | | | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ *
+ */
+[BASE] = LAYOUT_6x7(
+// Left hand Right hand
+ 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_EJCT,
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, TG(MDIA), TG(SYMB), 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_RSFT,
+ KC_LCTRL, GUI_T(KC_GRV), ALT_T(KC_BSLS), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
+ CTL_T(KC_ESC), KC_LALT, KC_RGUI, CTL_T(KC_RALT),
+ KC_HOME, KC_PGUP,
+ KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENT, KC_SPC
+),
+/* Keymap 1: Sybol layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | Eject |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | |NUMLCK| = | \ | * |PSCREEN |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | ! | @ | { | } | | | | | | | 7 | 8 | 9 | - | SLCK |
+ * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
+ * | Caps | # | $ | ( | ) | ` | | | | | 4 | 5 | 6 | + | PAUSE |
+ * |--------+------+------+------+------+------+------' `------+------+------+------+------+------+--------|
+ * | LShift | % | ^ | [ | ] | ~ | | | 1 | 2 | 3 |Enter | RShift |
+ * `--------+------+------+------+------+------' `-----+------+------+------+------+-------'
+ * | CTRL |GUI\'"|ALT \ | Left | Right| | Up | Down | . | 0 | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |BackSp| Del |------| |------| Enter |Space |
+ * | | | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ *
+ */
+[SYMB] = LAYOUT_6x7(
+// Left hand Right hand
+ 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_EJCT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, KC_PSCR,
+ KC_TAB, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, KC_P7 , KC_P8 , KC_P9, KC_MINS, KC_SLCK,
+ KC_CAPS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, _______, _______, _______, KC_P4 , KC_P5 , KC_P6, KC_PLUS, KC_PAUS,
+ KC_LSFT, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, KC_P1 , KC_P2 , KC_P3, KC_PENT, KC_RSFT,
+ KC_LCTRL, KC_LGUI, ALT_T(KC_INSERT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_PDOT, KC_P0, _______,
+ CTL_T(KC_ESC), KC_LALT, KC_RGUI, CTL_T(KC_RALT),
+ KC_HOME, KC_PGUP,
+ KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENT, KC_SPC
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | SLEEP |BR_Up |BR_Dn | | | | | | Prev | Play | Next | Mute |Vol_Up|Vol_Dn| Eject |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | | Lclk | MsUp | Rclk |MsWhUp| | | | | | | | | |
+ * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
+ * | Caps | |MsLeft|MsDown|MsRght|MsWhDw| | | | | | | | | |
+ * |--------+------+------+------+------+------+------' `------+------+------+------+------+------+--------|
+ * | LShift | |MsWhL | |MsWhR | | | | | | | | |
+ * `--------+------+------+------+------+------' `-----+------+------+------+------+-------'
+ * | CTRL |GUI\'"|ALT \ | Left | Right| | Up | Down | | | QK_BOOT |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Ctrl/ESC|LALT| | RGUI |Ctrl/Alt|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |BackSp| Del |------| |------| Enter |Space |
+ * | | | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ *
+ */
+[MDIA] = LAYOUT_6x7(
+// Left hand Right hand
+ KC_SLEP, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_EJCT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_TAB, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_CAPS, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LSFT, _______, KC_WH_L, _______, KC_WH_R, _______, _______, _______, _______, _______, _______, _______,
+ KC_LCTRL, KC_LGUI, ALT_T(KC_INSERT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, _______, _______, QK_BOOT,
+ CTL_T(KC_ESC), KC_LALT, KC_RGUI, CTL_T(KC_RALT),
+ KC_HOME, KC_PGUP,
+ KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENT, KC_SPC
+),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+ case VRSN:
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ return false;
+ }
+ }
+ return true;
+}
+
+// Runs whenever there is a layer state change.
+layer_state_t layer_state_set_user(layer_state_t state) {
+ bajjak_right_led_1_off();
+ bajjak_right_led_2_off();
+ bajjak_right_led_3_off();
+
+ uint8_t layer = get_highest_layer(state);
+ switch (layer) {
+ case 0:
+ break;
+ case 1:
+ bajjak_right_led_1_on();
+ break;
+ case 2:
+ bajjak_right_led_2_on();
+ break;
+ case 3:
+ bajjak_right_led_3_on();
+ break;
+ case 4:
+ bajjak_right_led_1_on();
+ bajjak_right_led_2_on();
+ break;
+ case 5:
+ bajjak_right_led_1_on();
+ bajjak_right_led_3_on();
+ break;
+ case 6:
+ bajjak_right_led_2_on();
+ bajjak_right_led_3_on();
+ break;
+ case 7:
+ bajjak_right_led_1_on();
+ bajjak_right_led_2_on();
+ bajjak_right_led_3_on();
+ break;
+ default:
+ break;
+ }
+
+ return state;
+};
diff --git a/keyboards/bajjak/matrix.c b/keyboards/bajjak/matrix.c
new file mode 100644
index 0000000000..20fc3c8f23
--- /dev/null
+++ b/keyboards/bajjak/matrix.c
@@ -0,0 +1,253 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 2015 ZSA Technology Labs Inc (@zsa)
+Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+Copyright 2021 Gary Kong <kongkm88@gmail.com> (@garykong)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+
+/*
+ * scan matrix
+ */
+#include <stdint.h>
+#include <stdbool.h>
+#include <avr/io.h>
+#include "wait.h"
+#include "action_layer.h"
+#include "print.h"
+#include "debug.h"
+#include "util.h"
+#include "matrix.h"
+#include "debounce.h"
+#include "bajjak.h"
+
+
+/*
+ * This constant define not debouncing time in msecs, assuming eager_pr.
+ *
+ * On BAJJAK matrix scan rate is relatively low, because of slow I2C.
+ * Now it's only 317 scans/second, or about 3.15 msec/scan.
+ * According to Cherry specs, debouncing time is 5 msec.
+ *
+ * However, some switches seem to have higher debouncing requirements, or
+ * something else might be wrong. (Also, the scan speed has improved since
+ * that comment was written.)
+ */
+
+/* matrix state(1:on, 0:off) */
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+
+static matrix_row_t read_cols(uint8_t row);
+static void init_cols(void);
+static void unselect_rows(void);
+static void select_row(uint8_t row);
+
+static uint8_t mcp23018_reset_loop;
+
+void matrix_init_custom(void) {
+ // initialize row and col
+
+ mcp23018_status = init_mcp23018();
+
+ unselect_rows();
+ init_cols();
+}
+
+// Reads and stores a row, returning
+// whether a change occurred.
+static inline bool store_raw_matrix_row(uint8_t index) {
+ matrix_row_t temp = read_cols(index);
+ if (raw_matrix[index] != temp) {
+ raw_matrix[index] = temp;
+ return true;
+ }
+ return false;
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ if (mcp23018_status) { // if there was an error
+ if (++mcp23018_reset_loop == 0) {
+ print("trying to reset mcp23018\n");
+ mcp23018_status = init_mcp23018();
+ if (mcp23018_status) {
+ print("left side not responding\n");
+ } else {
+ print("left side attached\n");
+ bajjak_blink_all_leds();
+ }
+ }
+ }
+
+#ifdef LEFT_LEDS
+ mcp23018_status = bajjak_left_leds_update();
+#endif // LEFT_LEDS
+ bool changed = false;
+ for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) {
+ // select rows from left and right hands
+ uint8_t left_index = i;
+ uint8_t right_index = i + MATRIX_ROWS_PER_SIDE;
+ select_row(left_index);
+ select_row(right_index);
+
+ changed |= store_raw_matrix_row(left_index);
+ changed |= store_raw_matrix_row(right_index);
+
+ unselect_rows();
+ }
+
+ return changed;
+}
+
+/* Column pin configuration
+ *
+ * Teensy
+ * col: 0 1 2 3 4 5
+ * pin: F0 F1 F4 F5 F6 F7
+ *
+ * MCP23018
+ * col: 0 1 2 3 4 5
+ * pin: B5 B4 B3 B2 B1 B0
+ */
+static void init_cols(void) {
+ // init on mcp23018
+ // not needed, already done as part of init_mcp23018()
+
+ // init on teensy
+ setPinInputHigh(F0);
+ setPinInputHigh(F1);
+ setPinInputHigh(F4);
+ setPinInputHigh(F5);
+ setPinInputHigh(F6);
+ setPinInputHigh(F7);
+ setPinInputHigh(D7);
+}
+
+static matrix_row_t read_cols(uint8_t row) {
+ if (row < 7) {
+ if (mcp23018_status) { // if there was an error
+ return 0;
+ } else {
+ uint8_t data = 0;
+ // reading GPIOB (column port) since in mcp23018's sequential mode
+ // it is addressed directly after writing to GPIOA in select_row()
+ mcp23018_status = i2c_start(I2C_ADDR_READ, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_read_nack(BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status < 0) goto out;
+ data = ~((uint8_t)mcp23018_status);
+ mcp23018_status = I2C_STATUS_SUCCESS;
+ out:
+ i2c_stop();
+ return data;
+ }
+ } else {
+ /* read from teensy
+ * bitmask is 0b11110011, but we want those all
+ * in the lower six bits.
+ * we'll return 1s for the top two, but that's harmless.
+ */
+
+ return ~( (PINF & 0x03) | ((PINF & 0xF0) >> 2) | ((PIND & 0x80) >> 1) );
+ }
+}
+
+/* Row pin configuration
+ *
+ * Teensy
+ * row: 7 8 9 10 11 12 13
+ * pin: B0 B1 B2 B3 D2 D3 C6
+ *
+ * MCP23018
+ * row: 0 1 2 3 4 5 6
+ * pin: A0 A1 A2 A3 A4 A5 A6
+ */
+static void unselect_rows(void) {
+ // no need to unselect on mcp23018, because the select step sets all
+ // the other row bits high, and it's not changing to a different
+ // direction
+
+ // unselect on teensy
+ setPinInput(B0);
+ setPinInput(B1);
+ setPinInput(B2);
+ setPinInput(B3);
+ setPinInput(D2);
+ setPinInput(D3);
+ setPinInput(C6);
+}
+
+static void select_row(uint8_t row) {
+ if (row < 7) {
+ // select on mcp23018
+ if (!mcp23018_status) {
+ // set active row low : 0
+ // set other rows hi-Z : 1
+ mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(GPIOA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ mcp23018_status = i2c_write(0xFF & ~(1 << row), BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
+ out:
+ i2c_stop();
+ }
+ } else {
+ // select on teensy
+ // Output low(DDR:1, PORT:0) to select
+ switch (row) {
+ case 7:
+ setPinOutput(B0);
+ writePinLow(B0);
+ break;
+ case 8:
+ setPinOutput(B1);
+ writePinLow(B1);
+ break;
+ case 9:
+ setPinOutput(B2);
+ writePinLow(B2);
+ break;
+ case 10:
+ setPinOutput(B3);
+ writePinLow(B3);
+ break;
+ case 11:
+ setPinOutput(D2);
+ writePinLow(D2);
+ break;
+ case 12:
+ setPinOutput(D3);
+ writePinLow(D3);
+ break;
+ case 13:
+ setPinOutput(C6);
+ writePinLow(C6);
+ break;
+ }
+ }
+}
+
+// DO NOT REMOVE
+// Needed for proper wake/sleep
+void matrix_power_up(void) {
+ mcp23018_status = init_mcp23018();
+
+ unselect_rows();
+ init_cols();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+
+}
diff --git a/keyboards/bajjak/readme.md b/keyboards/bajjak/readme.md
new file mode 100644
index 0000000000..4b05c74f0a
--- /dev/null
+++ b/keyboards/bajjak/readme.md
@@ -0,0 +1,23 @@
+# bajjak
+
+This keyboard is a 6x7 array keyboard, similar in design to the Ergodox EZ.
+
+* Keyboard Maintainer: [Gary Kong](https://github.com/garykong)
+* Hardware Supported: bajjak keyboard (ATmega32U4)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make bajjak:default
+
+Flashing example for this keyboard:
+
+ make bajjak:default:flash
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/bajjak/rules.mk b/keyboards/bajjak/rules.mk
new file mode 100644
index 0000000000..6bbe7e3b28
--- /dev/null
+++ b/keyboards/bajjak/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = halfkay
+
+# If you have Left LEDs (see
+# https://geekhack.org/index.php?topic=22780.msg873819#msg873819 for
+# details), include the following define:
+OPT_DEFS += -DLEFT_LEDS
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+CUSTOM_MATRIX = lite # Custom matrix file for the BAJJAK
+UNICODE_ENABLE = yes # Unicode
+SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard
+
+# Disable unsupported hardware
+BACKLIGHT_SUPPORTED = no
+AUDIO_SUPPORTED = no
+
+DEBOUNCE_TYPE = sym_eager_pr
+
+# project specific files
+SRC += matrix.c
+QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/balloondogcaps/tr90/info.json b/keyboards/balloondogcaps/tr90/info.json
new file mode 100644
index 0000000000..c4b8c265a0
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90/info.json
@@ -0,0 +1,44 @@
+{
+ "manufacturer": "Balloondog",
+ "keyboard_name": "TR90",
+ "maintainer": "balloondogcaps",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F5", "F6", "D5"],
+ "rows": ["F0", "F1", "F4"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0001",
+ "vid": "0x4243"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_ortho_3x3"
+ },
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/balloondogcaps/tr90/keymaps/default/keymap.c b/keyboards/balloondogcaps/tr90/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a52e9c6fd1
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2021 Balloondog
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_3x3( /* Base */
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_VOLD, KC_VOLU, MO(1)
+ ),
+ [1] = LAYOUT_ortho_3x3(
+ KC_7, KC_8, KC_9,
+ KC_0, KC_MINUS, KC_PLUS,
+ QK_BOOT, KC_AT , KC_TRNS
+ ),
+};
+
+
diff --git a/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c b/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c
new file mode 100644
index 0000000000..aef6d33f16
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2021 Balloondog
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_3x3( /* Base */
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_VOLD, KC_VOLU, MO(1)
+ ),
+ [1] = LAYOUT_ortho_3x3(
+ KC_7, KC_8, KC_9,
+ KC_0, KC_MINUS, KC_PLUS,
+ QK_BOOT, KC_AT , KC_TRNS
+ ),
+ [2] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+
diff --git a/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk b/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/balloondogcaps/tr90/readme.md b/keyboards/balloondogcaps/tr90/readme.md
new file mode 100644
index 0000000000..06b8a232ef
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90/readme.md
@@ -0,0 +1,25 @@
+# balloondogcaps/tr90
+
+![balloondogcaps/tr90](https://i.imgur.com/GCAZotn.jpeg)
+
+A 3x3 Pro Macropad with programmer pins
+
+* Keyboard Maintainer: [Balloondog](https://instagram.com/balloondogcaps)
+* Hardware Supported: Balloondog Play Rough series case(s)
+* Hardware Availability: [Balloondog](http://store.balloondog.nl)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make balloondogcaps/tr90:default
+
+Flashing example for this keyboard:
+
+ make balloondogcaps/tr90:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Hold the bottom right key and then press the bottom left key to enter the bootloader
diff --git a/keyboards/mechmini/.noci b/keyboards/balloondogcaps/tr90/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/mechmini/.noci
+++ b/keyboards/balloondogcaps/tr90/rules.mk
diff --git a/keyboards/balloondogcaps/tr90pm/info.json b/keyboards/balloondogcaps/tr90pm/info.json
new file mode 100644
index 0000000000..c04fef7840
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/info.json
@@ -0,0 +1,44 @@
+{
+ "manufacturer": "Balloondog",
+ "keyboard_name": "TR90PM",
+ "maintainer": "balloondogcaps",
+ "bootloader": "caterina",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["D1", "D0", "D4"],
+ "rows": ["C6", "D7", "E6"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0002",
+ "vid": "0x4243"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_ortho_3x3"
+ },
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/balloondogcaps/tr90pm/keymaps/default/keymap.c b/keyboards/balloondogcaps/tr90pm/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a52e9c6fd1
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2021 Balloondog
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_3x3( /* Base */
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_VOLD, KC_VOLU, MO(1)
+ ),
+ [1] = LAYOUT_ortho_3x3(
+ KC_7, KC_8, KC_9,
+ KC_0, KC_MINUS, KC_PLUS,
+ QK_BOOT, KC_AT , KC_TRNS
+ ),
+};
+
+
diff --git a/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c b/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c
new file mode 100644
index 0000000000..aef6d33f16
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2021 Balloondog
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ortho_3x3( /* Base */
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6,
+ KC_VOLD, KC_VOLU, MO(1)
+ ),
+ [1] = LAYOUT_ortho_3x3(
+ KC_7, KC_8, KC_9,
+ KC_0, KC_MINUS, KC_PLUS,
+ QK_BOOT, KC_AT , KC_TRNS
+ ),
+ [2] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_ortho_3x3(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+
diff --git a/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk b/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/balloondogcaps/tr90pm/readme.md b/keyboards/balloondogcaps/tr90pm/readme.md
new file mode 100644
index 0000000000..7a7c35660c
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/readme.md
@@ -0,0 +1,25 @@
+# balloondogcaps/tr90pm
+
+![balloondogcaps/tr90pm](https://i.imgur.com/AO5anzZh.png)
+
+A 3x3 Pro Micro enabled Macropad
+
+* Keyboard Maintainer: [Balloondog](https://instagram.com/balloondogcaps)
+* Hardware Supported: Balloondog Play Rough series case(s)
+* Hardware Availability: [Balloondog](http://store.balloondog.nl)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make balloondogcaps/tr90pm:default
+
+Flashing example for this keyboard:
+
+ make balloondogcaps/tr90pm:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+* **Physical reset button**: Briefly press the button on the back of the PCB. Some Pro Micro's require a double press.
+* **Keycode in layout**: Hold the bottom right key and then press the bottom left key to enter the bootloader
diff --git a/keyboards/balloondogcaps/tr90pm/rules.mk b/keyboards/balloondogcaps/tr90pm/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/balloondogcaps/tr90pm/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/bandominedoni/bandominedoni.c b/keyboards/bandominedoni/bandominedoni.c
index eacbb40fa0..27df3598d4 100644
--- a/keyboards/bandominedoni/bandominedoni.c
+++ b/keyboards/bandominedoni/bandominedoni.c
@@ -117,55 +117,3 @@ static enum { UNKNOWN, LEFT, RIGHT } hand_side = UNKNOWN;
return (hand_side == LEFT);
}
}
-
-#ifdef ENCODER_ENABLE
-# ifdef ENCODERS
-static uint8_t encoder_state[ENCODERS] = {0};
-static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
-# endif
-
-void encoder_action_unregister(void) {
-# ifdef ENCODERS
- for (int index = 0; index < ENCODERS; ++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);
- }
- }
-# endif
-}
-
-void encoder_action_register(uint8_t index, bool clockwise) {
-# ifdef ENCODERS
- 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);
-# ifdef CONSOLE_ENABLE
- uprintf("encoder_action_register index = %u, clockwise = %u, row = %u, col = %u\n", index, clockwise, encoder_event.key.row, encoder_event.key.col);
-# endif
- action_exec(encoder_event);
-# endif
-}
-
-void matrix_scan_kb(void) {
- encoder_action_unregister();
- matrix_scan_user();
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- encoder_action_register(index, clockwise);
- // don't return user actions, because they are in the keymap
- // encoder_update_user(index, clockwise);
- return true;
-};
-
-#endif
diff --git a/keyboards/bandominedoni/bandominedoni.h b/keyboards/bandominedoni/bandominedoni.h
index 1eca4f8d98..6011a2cc71 100644
--- a/keyboards/bandominedoni/bandominedoni.h
+++ b/keyboards/bandominedoni/bandominedoni.h
@@ -38,7 +38,7 @@
l40, l41, l42, l43, l44, l45, l46, l47, \
\
oc, r00, r01, r02, r03, fn, \
- r10, r11, r12, r13, r14, ccw, cw,\
+ r10, r11, r12, r13, r14, \
r20, r21, r22, r23, r24, r25, \
r30, r31, r32, r33, r34, r35, r36, r37, \
r40, r41, r42, r43, r44, r45, r46, r47, \
@@ -49,7 +49,7 @@
{ l20, l21, l22, l23, l24, l25, l26 }, \
{ l30, l31, l32, l33, l34, l35, l36 }, \
{ l41, l42, l43, l44, l45, l46, l47 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, ccw, cw }, \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ r50, r40, r31, r20, r10, r00, r30 }, \
{ r51, r41, r32, r21, r11, r01, oc }, \
{ r52, r42, r33, r22, r12, r02, fn }, \
@@ -83,6 +83,3 @@
// However, It enables to decide the handedness by the HW by adding one condition: "not to press any keys (especially r30) dusing startup."
bool is_keyboard_left(void);
-void encoder_action_unregister(void);
-
-void encoder_action_register(uint8_t index, bool clockwise);
diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h
index d95b600536..17f5675f60 100644
--- a/keyboards/bandominedoni/config.h
+++ b/keyboards/bandominedoni/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xF4B5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 3araht
-#define PRODUCT bandominedoni
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { B5, B4, D7, F6, C6, D4 }
#define MATRIX_COL_PINS { D1, E6, F7, B1, B3, B2, D0 }
-#define UNUSED_PINS
#define MASTER_RIGHT
#ifndef MASTER_RIGHT
@@ -56,6 +48,8 @@
*/
#define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6
+#define SPLIT_USB_DETECT
+
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN B1
//#define LED_SCROLL_LOCK_PIN B2
@@ -254,13 +248,11 @@
* Encoder options
*/
#ifdef ENCODER_ENABLE
-# define ENCODERS_PAD_A { C7 } // dummy
-# define ENCODERS_PAD_B { B7 } // dummy
+# define ENCODERS_PAD_A { }
+# define ENCODERS_PAD_B { }
+# define ENCODER_RESOLUTIONS { }
# define ENCODERS_PAD_A_RIGHT { F5 }
# define ENCODERS_PAD_B_RIGHT { F4 }
-# define ENCODER_RESOLUTION 4
+# define ENCODER_RESOLUTIONS_RIGHT { 4 }
# define TAP_CODE_DELAY 10
-# define ENCODERS 2
-# define ENCODERS_CW_KEY { {4, 5}, {6, 5} }
-# define ENCODERS_CCW_KEY { {3, 5}, {5, 5} }
#endif // ENCODER_ENABLE
diff --git a/keyboards/bandominedoni/info.json b/keyboards/bandominedoni/info.json
index 82fcc559c9..f78621ec41 100644
--- a/keyboards/bandominedoni/info.json
+++ b/keyboards/bandominedoni/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bandominedoni",
+ "manufacturer": "3araht",
"url": "https://github.com/3araht",
"maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
@@ -59,9 +65,6 @@
{"label": "r13", "x": 14, "y": 1},
{"label": "r14", "x": 15, "y": 1},
- {"label": "ccw", "x": 16.5, "y": 1},
- {"label": "cw", "x": 17.5, "y": 1},
-
{"label": "r20", "x": 10.5, "y": 2},
{"label": "r21", "x": 11.5, "y": 2},
{"label": "r22", "x": 12.5, "y": 2},
diff --git a/keyboards/bandominedoni/keymaps/default/keymap.c b/keyboards/bandominedoni/keymaps/default/keymap.c
index bfa49dfe17..90e3f3417e 100644
--- a/keyboards/bandominedoni/keymaps/default/keymap.c
+++ b/keyboards/bandominedoni/keymaps/default/keymap.c
@@ -14,6 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
+#include "version.h"
// Defines names for use in layer keycodes and the keymap
enum layer_names {
@@ -27,6 +28,9 @@ enum layer_names {
_FN
};
+enum custom_keycodes {
+ VERSION = SAFE_RANGE
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
@@ -37,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
- MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
@@ -52,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
- MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
@@ -67,14 +71,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
void keyboard_post_init_user(void) {
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
@@ -82,3 +94,14 @@ void keyboard_post_init_user(void) {
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/bandominedoni/keymaps/default/rules.mk b/keyboards/bandominedoni/keymaps/default/rules.mk
new file mode 100644
index 0000000000..8006608ea9
--- /dev/null
+++ b/keyboards/bandominedoni/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/bandominedoni/keymaps/led/config.h b/keyboards/bandominedoni/keymaps/led/config.h
new file mode 100644
index 0000000000..04bd66bf1a
--- /dev/null
+++ b/keyboards/bandominedoni/keymaps/led/config.h
@@ -0,0 +1,18 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ #pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 6
diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c
index 305756b5b1..8659697a91 100644
--- a/keyboards/bandominedoni/keymaps/led/keymap.c
+++ b/keyboards/bandominedoni/keymaps/led/keymap.c
@@ -14,6 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
+#include "version.h"
#define DF_COLE DF(_COLEMAK)
@@ -54,6 +55,10 @@ enum layer_names {
_FN
};
+enum custom_keycodes {
+ VERSION = SAFE_RANGE
+};
+
// Alias layout macros that expand groups of keys.
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
@@ -66,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
- MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
@@ -81,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
- MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
@@ -96,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
- KC_6, KC_7, KC_8, KC_9, KC_BSPC, _______, _______,
+ KC_6, KC_7, KC_8, KC_9, KC_BSPC,
_________________QWERTY_R1_________________, KC_DEL,
KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT,
KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT,
@@ -111,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
- KC_6, KC_7, KC_8, KC_9, KC_BSPC, _______, _______,
+ KC_6, KC_7, KC_8, KC_9, KC_BSPC,
_________________COLEMAK_R1________________, KC_DEL,
KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT,
KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT,
@@ -126,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, KC_F10, _______,
- KC_F6, KC_F7, KC_F8, KC_F9, _______, _______, _______,
+ KC_F6, KC_F7, KC_F8, KC_F9, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_QUOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
@@ -141,14 +146,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EEP_RST, RGB_TOG
)
};
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_MISC] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
@@ -177,10 +193,21 @@ void keyboard_post_init_user(void) {
rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
};
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+ }
+ return true;
+}
+
#ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) {
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _CLOSE:
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
diff --git a/keyboards/bandominedoni/keymaps/led/readme.md b/keyboards/bandominedoni/keymaps/led/readme.md
index e6ec2ad10d..77e709c70b 100644
--- a/keyboards/bandominedoni/keymaps/led/readme.md
+++ b/keyboards/bandominedoni/keymaps/led/readme.md
@@ -1 +1 @@
-# The default keymap for bandominedoni
+# The keymap with led for bandominedoni
diff --git a/keyboards/bandominedoni/keymaps/led/rules.mk b/keyboards/bandominedoni/keymaps/led/rules.mk
index 08ed472ad6..0a1c4b1858 100644
--- a/keyboards/bandominedoni/keymaps/led/rules.mk
+++ b/keyboards/bandominedoni/keymaps/led/rules.mk
@@ -1,2 +1,4 @@
RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
RGB_MATRIX_CUSTOM_KB = yes #
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/bandominedoni/keymaps/lednotg/keymap.c b/keyboards/bandominedoni/keymaps/lednotg/keymap.c
new file mode 100644
index 0000000000..ba25c1d55f
--- /dev/null
+++ b/keyboards/bandominedoni/keymaps/lednotg/keymap.c
@@ -0,0 +1,254 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+#define DF_COLE DF(_COLEMAK)
+
+#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
+#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
+#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
+
+#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
+#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
+#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
+
+#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
+#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
+#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
+
+#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
+#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
+#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
+
+#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
+// #define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
+
+#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
+// #define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+#ifndef PEDAL_NORMALLY_CLOSED
+ _OPEN,
+#endif
+ _CLOSE,
+#ifdef PEDAL_NORMALLY_CLOSED
+ _OPEN,
+#endif
+ _QWERTY,
+ _COLEMAK,
+ _MISC,
+ _FN
+};
+
+enum custom_keycodes {
+ VERSION = SAFE_RANGE
+};
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_OPEN] = LAYOUT(
+ MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
+ MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
+ MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, MI_B,
+ MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
+ MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
+
+ MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
+ MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
+ MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
+ MI_G_2, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
+ MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
+ MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4
+ ),
+
+ [_CLOSE] = LAYOUT(
+ MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
+ MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
+ MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, MI_B,
+ MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
+ MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
+
+ MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
+ MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
+ MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
+ MI_G_2, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
+ MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
+ MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4
+ ),
+
+ [_QWERTY] = LAYOUT_wrapper(
+ _________________NUMBER_L__________________,
+ KC_GESC, KC_TAB, _________________QWERTY_L1_________________,
+ KC_CAPS, _________________QWERTY_L2_________________, KC_H,
+ KC_LSFT, _________________QWERTY_L3_________________, KC_N,
+ KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
+
+ MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
+ KC_6, KC_7, KC_8, KC_9, KC_BSPC,
+ _________________QWERTY_R1_________________, KC_DEL,
+ KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT,
+ KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [_COLEMAK] = LAYOUT_wrapper(
+ _________________NUMBER_L__________________,
+ KC_GESC, KC_TAB, _________________COLEMAK_L1________________,
+ KC_LCTL, _________________COLEMAK_L2________________, KC_ENT,
+ KC_LSFT, _________________COLEMAK_L3________________, KC_M,
+ KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
+
+ MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
+ KC_6, KC_7, KC_8, KC_9, KC_BSPC,
+ _________________COLEMAK_R1________________, KC_DEL,
+ KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT,
+ KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT,
+ KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [_MISC] = LAYOUT_wrapper(
+ _________________FUNC__L___________________,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, KC_F10, _______,
+ KC_F6, KC_F7, KC_F8, KC_F9, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_QUOT, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ _______, KC_VOLD, KC_VOLU, MI_VELD, MI_VELU, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EEP_RST, RGB_TOG
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_OPEN] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
+ [_CLOSE] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_MISC] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
+void my_init(void){
+ // Set octave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ midi_init();
+ my_init();
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_enable();
+ rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
+ rgb_matrix_sethsv(HSV_BLUE);
+
+ rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
+ // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+#endif
+}
+
+void keyboard_post_init_user(void) {
+ my_init();
+
+ // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
+ rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+ }
+ return true;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void) {
+ if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
+ uint8_t layer = biton32(layer_state);
+ switch (layer) {
+ case _CLOSE:
+ // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
+
+ // Close state indicator
+ rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc
+ break;
+
+ case _FN:
+ // left hand side
+ rgb_matrix_set_color( 46, RGB_DARKORANGE); // DF_OPEN
+ rgb_matrix_set_color( 48, RGB_DARKWHITE); // DF_QWER
+ rgb_matrix_set_color( 60, RGB_DARKWHITE); // DF_COLE
+
+ rgb_matrix_set_color( 73, RGB_DARKYELLOW); // AG_SWAP
+ rgb_matrix_set_color( 72, RGB_DARKYELLOW); // AG_NORM
+
+
+ // right hand side
+ rgb_matrix_set_color( 1, RGB_DARKYELLOW); // MI_OCTD
+ rgb_matrix_set_color(13, RGB_DARKGREEN); // MI_OCTU
+ rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD
+ rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU
+
+ rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD
+ rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI
+ rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD
+ rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI
+ rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD
+ rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI
+ rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD
+ rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI
+
+ rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD
+ rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD
+ rgb_matrix_set_color(38, RGB_DARKPINK); // EEP_RST
+ rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG
+
+ rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN
+ break;
+ }
+ }
+}
+#endif
diff --git a/keyboards/bandominedoni/keymaps/lednotg/readme.md b/keyboards/bandominedoni/keymaps/lednotg/readme.md
new file mode 100644
index 0000000000..803d1d39f8
--- /dev/null
+++ b/keyboards/bandominedoni/keymaps/lednotg/readme.md
@@ -0,0 +1 @@
+# The keymap with led and no TG keys on the layout for bandominedoni
diff --git a/keyboards/bandominedoni/keymaps/lednotg/rules.mk b/keyboards/bandominedoni/keymaps/lednotg/rules.mk
new file mode 100644
index 0000000000..0a1c4b1858
--- /dev/null
+++ b/keyboards/bandominedoni/keymaps/lednotg/rules.mk
@@ -0,0 +1,4 @@
+RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_CUSTOM_KB = yes #
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c
index ad6833d692..aa668af154 100644
--- a/keyboards/bandominedoni/keymaps/via/keymap.c
+++ b/keyboards/bandominedoni/keymaps/via/keymap.c
@@ -14,6 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
+#include "version.h"
// Defines names for use in layer keycodes and the keymap
enum layer_names {
@@ -28,6 +29,10 @@ enum layer_names {
_FN
};
+enum custom_keycodes {
+ VERSION = USER00
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
@@ -37,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
- MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
@@ -52,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
- MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, KC_VOLD, KC_VOLU,
+ MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
@@ -67,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
@@ -82,14 +87,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EEP_RST, RGB_TOG
)
};
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_MISC] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
@@ -115,10 +129,21 @@ void keyboard_post_init_user(void) {
my_init();
};
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+ }
+ return true;
+}
+
#ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) {
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _CLOSE:
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
diff --git a/keyboards/bandominedoni/keymaps/via/rules.mk b/keyboards/bandominedoni/keymaps/via/rules.mk
index 71eb1ebf8e..8fa76afafc 100644
--- a/keyboards/bandominedoni/keymaps/via/rules.mk
+++ b/keyboards/bandominedoni/keymaps/via/rules.mk
@@ -1,3 +1,5 @@
RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
RGB_MATRIX_CUSTOM_KB = yes #
VIA_ENABLE = yes
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/bantam44/config.h b/keyboards/bantam44/config.h
index 2745f5c045..6e0c57c838 100644
--- a/keyboards/bantam44/config.h
+++ b/keyboards/bantam44/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bantam Keyboards
-#define PRODUCT Bantam44
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// COLS: Left to right, ROWS: Top to bottom
#define MATRIX_ROW_PINS { F0, D6, D4, D5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, B6, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bantam44/info.json b/keyboards/bantam44/info.json
index 6092898327..4531a7e28e 100644
--- a/keyboards/bantam44/info.json
+++ b/keyboards/bantam44/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Bantam-44",
+ "keyboard_name": "Bantam44",
+ "manufacturer": "Bantam Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K24", "x":4, "y":2}, {"label":"K25", "x":5, "y":2}, {"label":"K26", "x":6, "y":2}, {"label":"K27", "x":7, "y":2}, {"label":"K28", "x":8, "y":2}, {"label":"K29", "x":9, "y":2}, {"label":"K2A", "x":10, "y":2}, {"label":"K2B", "x":11, "y":2}, {"label":"K30", "x":0, "y":3, "w":1.25}, {"label":"K31", "x":1.25, "y":3, "w":1.25}, {"label":"K32", "x":2.5, "y":3, "w":1.25}, {"label":"K33", "x":3.75, "y":3, "w":1.25}, {"label":"K34", "x":5, "y":3, "w":2.75}, {"label":"K35", "x":7.75, "y":3, "w":1.25}, {"label":"K36", "x":9, "y":3}, {"label":"K37", "x":10, "y":3}, {"label":"K38", "x":11, "y":3}]
diff --git a/keyboards/barleycorn_smd/config.h b/keyboards/barleycorn_smd/config.h
index e56992f1fc..75db1ba447 100644
--- a/keyboards/barleycorn_smd/config.h
+++ b/keyboards/barleycorn_smd/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x7033
-#define PRODUCT_ID 0x4749
-#define DEVICE_VER 0x0001
-#define MANUFACTURER P3D Store
-#define PRODUCT Barleycorn SMD
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { F5, F4, F1, F0, F6 }
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, D5, D5, D5, D5, D5, D5, D5, D5, D5, D5 }
-#define UNUSED_PINS
#define PORT_EXPANDER_ADDRESS 0x20
#define RGB_DI_PIN E6
diff --git a/keyboards/barleycorn_smd/info.json b/keyboards/barleycorn_smd/info.json
index c0094d20ac..caa0af6213 100644
--- a/keyboards/barleycorn_smd/info.json
+++ b/keyboards/barleycorn_smd/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Barleycorn SMD",
+ "manufacturer": "P3D Store",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x7033",
+ "pid": "0x4749",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/barracuda/config.h b/keyboards/barracuda/config.h
index 9b83522b1a..d6cc58bd8b 100644
--- a/keyboards/barracuda/config.h
+++ b/keyboards/barracuda/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B6E
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER knaruo
-#define PRODUCT barracuda
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { C4, C5, C6, D1, D2, D3 }
#define MATRIX_COL_PINS { D4, D5, D6, B0, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/barracuda/info.json b/keyboards/barracuda/info.json
index 4bb18fb911..aad3ac3bb2 100644
--- a/keyboards/barracuda/info.json
+++ b/keyboards/barracuda/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "barracuda",
+ "manufacturer": "knaruo",
"url": "https://github.com/knaruo/barracuda",
"maintainer": "knaruo",
+ "usb": {
+ "vid": "0x6B6E",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x11": {
"layout": [
diff --git a/keyboards/basekeys/slice/rev1/config.h b/keyboards/basekeys/slice/rev1/config.h
index 08c929b7b5..6239da2c82 100644
--- a/keyboards/basekeys/slice/rev1/config.h
+++ b/keyboards/basekeys/slice/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEC17
-#define DEVICE_VER 0x0002
-#define MANUFACTURER 2Moons
-#define PRODUCT Slice
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/basekeys/slice/rev1/info.json b/keyboards/basekeys/slice/rev1/info.json
index f4e0d4505e..614b8ecac7 100644
--- a/keyboards/basekeys/slice/rev1/info.json
+++ b/keyboards/basekeys/slice/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "slice",
+ "keyboard_name": "Slice",
+ "manufacturer": "2Moons",
"url": "https://www.basekeys.com",
"maintainer": "2Moons",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEC17",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.6600000000000001, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.3900000000000001, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":2.75}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
index 26ca151089..e0f73fab2f 100644
--- a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
+++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c
@@ -46,8 +46,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_all( /* Base */
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
- XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
+ XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX,
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h
index 9f503a5826..f839bfa5b3 100644
--- a/keyboards/basekeys/slice/rev1_rgb/config.h
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEC15
-#define DEVICE_VER 0x0002
-#define MANUFACTURER 2Moons
-#define PRODUCT Slice RGB
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/basekeys/slice/rev1_rgb/info.json b/keyboards/basekeys/slice/rev1_rgb/info.json
index 6344dc8aa0..ece3b72561 100644
--- a/keyboards/basekeys/slice/rev1_rgb/info.json
+++ b/keyboards/basekeys/slice/rev1_rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "slice",
+ "keyboard_name": "Slice RGB",
+ "manufacturer": "2Moons",
"url": "https://www.basekeys.com",
"maintainer": "2Moons",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEC15",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.660, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.390, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":2.75}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
index 05de0e42d0..4b2de19761 100644
--- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
@@ -39,8 +39,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( /* Base */
//,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
- XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX,TG(_ADJUST),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h
index ffdf6d2d28..753e3d5a41 100644
--- a/keyboards/basekeys/trifecta/config.h
+++ b/keyboards/basekeys/trifecta/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAF3
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Trifecta
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/basekeys/trifecta/info.json b/keyboards/basekeys/trifecta/info.json
index 86c45a7df2..f8819e51e4 100644
--- a/keyboards/basekeys/trifecta/info.json
+++ b/keyboards/basekeys/trifecta/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Trifecta",
+ "manufacturer": "Swiftrax",
"url": "https://www.basekeys.com",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAF3",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":8.75, "y":0}, {"label":"*", "x":9.75, "y":0}, {"label":"(", "x":10.75, "y":0}, {"label":")", "x":11.75, "y":0}, {"label":"_", "x":12.75, "y":0}, {"label":"+", "x":13.75, "y":0}, {"label":"BS", "x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":17, "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":8.25, "y":1}, {"label":"U", "x":9.25, "y":1}, {"label":"I", "x":10.25, "y":1}, {"label":"O", "x":11.25, "y":1}, {"label":"P", "x":12.25, "y":1}, {"label":"{", "x":13.25, "y":1}, {"label":"}", "x":14.25, "y":1}, {"label":"|", "x":15.25, "y":1, "w":1.5}, {"x":17, "y":1}, {"label":"Caps Lock", "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":8.5, "y":2}, {"label":"J", "x":9.5, "y":2}, {"label":"K", "x":10.5, "y":2}, {"label":"L", "x":11.5, "y":2}, {"label":":", "x":12.5, "y":2}, {"label":"\"", "x":13.5, "y":2}, {"label":"Enter", "x":14.5, "y":2, "w":2.25}, {"x":17, "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}, {"x":8, "y":3}, {"label":"N", "x":9, "y":3}, {"label":"M", "x":10, "y":3}, {"label":"<", "x":11, "y":3}, {"label":">", "x":12, "y":3}, {"label":"?", "x":13, "y":3}, {"label":"Shift", "x":14, "y":3, "w":1.75}, {"x":16, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3, "y":4, "w":1.5}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4}, {"x":8.5, "y":4, "w":2.75}, {"label":"Alt", "x":11.25, "y":4, "w":1.5}, {"label":"Win", "x":13.5, "y":4, "w":1.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}]
diff --git a/keyboards/basketweave/config.h b/keyboards/basketweave/config.h
index 6f6e325e28..88828d7ddd 100644
--- a/keyboards/basketweave/config.h
+++ b/keyboards/basketweave/config.h
@@ -18,19 +18,12 @@
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x8989
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Clackery
-#define PRODUCT Basketweave
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { A6, C6, C7, A7, A5 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, B0, B1, B2, D5, D6, C5, C4, C3, C2, C1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/basketweave/info.json b/keyboards/basketweave/info.json
index 8be02555e8..c26fecaf1b 100644
--- a/keyboards/basketweave/info.json
+++ b/keyboards/basketweave/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Basketweave",
+ "manufacturer": "Clackery",
"url": "https://github.com/null-ll/basketweave",
"maintainer": "null-ll",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x8989",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/bastardkb/charybdis/3x5/3x5.c b/keyboards/bastardkb/charybdis/3x5/3x5.c
index d896cf6923..7b10d322cd 100644
--- a/keyboards/bastardkb/charybdis/3x5/3x5.c
+++ b/keyboards/bastardkb/charybdis/3x5/3x5.c
@@ -33,6 +33,10 @@
* ╰────────────────────╯ ╰────────────────────╯
* 15 16 17 33 34 XX
* ╰────────────╯ ╰────────────╯
+ *
+ * Note: the LED config simulates 36 LEDs instead of the actual 35 to prevent
+ * confusion when testing LEDs during assembly when handedness is not set
+ * correctly. Those fake LEDs are bound to the physical top-left corner.
*/
led_config_t g_led_config = { {
/* Key Matrix to LED index. */
@@ -61,7 +65,7 @@ led_config_t g_led_config = { {
/* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 },
/* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 },
/* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 },
- /* index=33 */ { 152, 64 }, { 134, 64 },
+ /* index=33 */ { 134, 64 }, { 152, 64 }, { 0, 0 },
}, {
/* LED index to flag. */
// Left split.
@@ -77,7 +81,7 @@ led_config_t g_led_config = { {
/* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
/* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
/* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
+ /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
} };
#endif
// clang-format on
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
new file mode 100644
index 0000000000..ddd5e83318
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM and pmw3360 sensor. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B14
+#define PMW33XX_CS_DIVISOR 64
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h
new file mode 100644
index 0000000000..a89dff0cd3
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+//#define HAL_USE_GPT TRUE
+
+#include_next "halconf.h"
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
new file mode 100644
index 0000000000..1e347df9b2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Nano (3x5) Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h
new file mode 100644
index 0000000000..1615d1bf46
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_I2C_I2C1_RX_DMA_STREAM
+#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+#undef STM32_I2C_I2C1_TX_DMA_STREAM
+#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+#undef STM32_SPI_SPI1_RX_DMA_STREAM
+#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+#undef STM32_SPI_SPI1_TX_DMA_STREAM
+#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+// #undef STM32_SERIAL_USE_USART2
+// #define STM32_SERIAL_USE_USART2 TRUE
+
+// #undef STM32_UART_USART2_RX_DMA_STREAM
+// #define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+// #undef STM32_UART_USART2_TX_DMA_STREAM
+// #define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM4
+#define STM32_GPT_USE_TIM4 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md b/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md
new file mode 100644
index 0000000000..7ef08798b8
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md
@@ -0,0 +1,3 @@
+# Charybdis Nano (3x5) BlackPill
+
+An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod.
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk
new file mode 100644
index 0000000000..0f732c2cbd
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk
@@ -0,0 +1,41 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis nano is a split 3x5 keyboard with a maximum of 3 thumb keys (2 on
+# the trackball side).
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3 # Support community layout, in particular Manna-Harbour's Miryoku layout
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h
index 89b896bc35..6e3b8a7124 100644
--- a/keyboards/bastardkb/charybdis/3x5/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/config.h
@@ -18,58 +18,22 @@
#pragma once
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1832
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT Charybdis Nano
-
/* Key matrix configuration. */
-
-// Rows are doubled-up.
-#define MATRIX_ROWS 8
+#define MATRIX_ROWS 8 // Rows are doubled-up.
#define MATRIX_COLS 5
-// Wiring configuration for each half.
-#define MATRIX_ROW_PINS \
- { B7, C6, D4, B5 }
-#define MATRIX_COL_PINS \
- { C7, F0, D7, E6, B4 }
-
-#define MATRIX_ROW_PINS_RIGHT \
- { F0, C6, D4, B5 }
-#define MATRIX_COL_PINS_RIGHT \
- { C7, B7, D7, E6, B4 }
-
#define DIODE_DIRECTION ROW2COL
-/* Handedness. */
-#define MASTER_RIGHT
-
-/* Bootmagic Lite configuration. */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 0
-#define BOOTMAGIC_LITE_ROW_RIGHT 4
-#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
-
-/* serial.c configuration (for split keyboard) */
-#define SOFT_SERIAL_PIN D2
-
/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-/* PMW3360 settings. */
-#define PMW3360_CS_PIN B0
-
-// Trackball angle adjustment.
+/* Trackball angle adjustment. */
#define ROTATIONAL_TRANSFORM_ANGLE -25
/* RGB settings. */
-
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 35
+#define RGBLED_NUM 36
#define RGBLED_SPLIT \
- { 18, 17 }
+ { 18, 18 }
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json
index 03fb05664f..41c80b457f 100644
--- a/keyboards/bastardkb/charybdis/3x5/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Charybdis Nano",
- "url": "https://www.bastardkb.com",
- "maintainer": "Quentin Lebastard",
+ "url": "https://bastardkb.com/charybdis-nano",
+ "manufacturer": "Bastard Keyboards",
+ "usb": {
+ "vid": "0xA8F8",
+ "pid": "0x1832",
+ },
"layouts": {
"LAYOUT_charybdis_3x5": {
"layout": [
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/README.md b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/README.md
new file mode 100644
index 0000000000..5d9f7fcd5f
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/README.md
@@ -0,0 +1,3 @@
+# Charybdis (3x5) @bstiq keymap
+
+Inspired from Miryoku, using home-rows.
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h
new file mode 100644
index 0000000000..699a700063
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h
@@ -0,0 +1,166 @@
+/**
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#ifdef VIA_ENABLE
+/* Via configuration. */
+# define DYNAMIC_KEYMAP_LAYER_COUNT 8
+#endif // VIA_ENABLE
+
+#ifndef __arm__
+/* Disable unused features. */
+# define NO_ACTION_ONESHOT
+#endif // __arm__
+
+/**
+ * Configure the global tapping term (default: 200ms).
+ * If you have a lot of accidental mod activations, crank up the tapping term.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
+ */
+#ifndef TAPPING_TERM
+# define TAPPING_TERM 160
+#endif // TAPPING_TERM
+
+/**
+ * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
+ * twice, except for one-shot keys.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
+ */
+#define TAPPING_FORCE_HOLD
+
+/*
+ * Tap-or-Hold decision modes.
+ *
+ * Note that the following flags behave differently when combined (ie. when 2 or
+ * more are enabled).
+ *
+ * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
+ * decision modes.
+ */
+
+/**
+ * Faster tap-hold trigger.
+ *
+ * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
+ * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
+ */
+#define PERMISSIVE_HOLD
+
+/**
+ * Prevent normal rollover on alphas from accidentally triggering mods.
+ *
+ * Ignores key presses that interrupt a mod-tap. Must-have for Home Row mod.
+ *
+ * Without `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e
+ * With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
+ */
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/** Charybdis-specific features. */
+
+#ifdef POINTING_DEVICE_ENABLE
+// Automatically enable the pointer layer when moving the trackball. See also:
+// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
+// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
+// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+
+// Flip horizontal direction for drag-scroll.
+# define CHARYBDIS_DRAGSCROLL_REVERSE_X
+// #define CHARYBDIS_DRAGSCROLL_REVERSE_Y
+#endif // POINTING_DEVICE_ENABLE
+
+/** RGB Matrix. */
+
+#ifdef RGB_MATRIX_ENABLE
+# ifdef __arm__
+// Enable all animations on ARM boards since they have plenty of memory
+// available for it.
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# else
+// Disable control of RGB matrix by keycodes (must use firmware implementation
+// to control the feature).
+# define RGB_MATRIX_DISABLE_KEYCODES
+# endif
+
+// Limit maximum brightness to keep power consumption reasonable, and avoid
+// disconnects.
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
+
+// Rainbow swirl as startup mode.
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+// Slow swirl at startup.
+# define RGB_MATRIX_STARTUP_SPD 32
+
+// Startup values.
+# define RGB_MATRIX_STARTUP_HUE 0
+# define RGB_MATRIX_STARTUP_SAT 255
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c
new file mode 100644
index 0000000000..ca67dd690c
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c
@@ -0,0 +1,224 @@
+/**
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum charybdis_keymap_bstiq_layers {
+ LAYER_BASE = 0,
+ LAYER_MBO,
+ LAYER_MEDIA,
+ LAYER_NAV,
+ LAYER_MOUSE,
+ LAYER_SYM,
+ LAYER_NUM,
+ LAYER_FUN,
+};
+
+// Automatically enable sniping when the mouse layer is on.
+#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_MOUSE
+
+#define BSP_NAV LT(LAYER_NAV, KC_BSPC)
+#define ENT_MBO LT(LAYER_MBO, KC_ENT)
+#define TAB_MED LT(LAYER_MEDIA, KC_TAB)
+#define ESC_SYM LT(LAYER_SYM, KC_ESC)
+#define SPC_NUM LT(LAYER_NUM, KC_SPC)
+#define MOUSE(KC) LT(LAYER_MOUSE, KC)
+
+#define USR_RDO KC_AGAIN
+#define USR_PST S(KC_INS)
+#define USR_CPY C(KC_INS)
+#define USR_CUT S(KC_DEL)
+#define USR_UND KC_UNDO
+
+#define MS_L KC_MS_LEFT
+#define MS_R KC_MS_RIGHT
+#define MS_D KC_MS_DOWN
+#define MS_U KC_MS_UP
+
+#define WH_L KC_MS_WH_LEFT
+#define WH_R KC_MS_WH_RIGHT
+#define WH_D KC_MS_WH_DOWN
+#define WH_U KC_MS_WH_UP
+
+// clang-format off
+/** Convenience macro. */
+#define _KC_LAYOUT_wrapper( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
+ ...) \
+ KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \
+ KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \
+ KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \
+ __VA_ARGS__
+#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__)
+
+/** Base layer with BÉPO layout. */
+#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \
+ B, Z, P, O, QUOT, DOT, V, D, L, J, \
+ A, U, I, E, COMM, C, T, S, R, N, \
+ W, Y, X, SLSH, K, M, Q, G, H, F, \
+ BSP_NAV, ENT_MBO, TAB_MED, ESC_SYM, SPC_NUM)
+
+/** Convenience key shorthands. */
+#define U_NA KC_NO // Present but not available for use.
+#define U_NU KC_NO // Available but not used.
+
+/** Convenience row shorthands. */
+#define __________________RESET_L__________________ QK_BOOT, U_NA, U_NA, U_NA, U_NA
+#define __________________RESET_R__________________ U_NA, U_NA, U_NA, U_NA, QK_BOOT
+#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA
+#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA
+#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI
+#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA
+
+/** Layers. */
+
+// Buttons.
+#define LAYOUT_LAYER_MBO \
+ __________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ ______________HOME_ROW_GASC_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
+ KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
+ U_NA, U_NA, U_NA, KC_ENT, KC_DEL
+
+// Media.
+#define LAYOUT_LAYER_MEDIA \
+ __________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ ______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \
+ ______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \
+ U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3
+
+// Navigation.
+#define LAYOUT_LAYER_NAV \
+ __________________RESET_L__________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
+ ______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
+ ______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \
+ U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY
+
+// Mouse.
+#define LAYOUT_LAYER_MOUSE \
+ S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ DPI_MOD, DRGSCRL, KC_LSFT, KC_LCTL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \
+ USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \
+ KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN1, KC_BTN3
+
+// Symbols.
+#define LAYOUT_LAYER_SYM \
+ KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, __________________RESET_R__________________, \
+ KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, ______________HOME_ROW_ALGR_R______________, \
+ KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA
+
+// Numerals.
+#define LAYOUT_LAYER_NUM \
+ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, __________________RESET_R__________________, \
+ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, ______________HOME_ROW_ALGR_R______________, \
+ KC_DOT, KC_0, KC_MINS, U_NA, U_NA
+
+// Function keys.
+#define LAYOUT_LAYER_FUN \
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, __________________RESET_R__________________, \
+ KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, ______________HOME_ROW_GASC_R______________, \
+ KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\
+ KC_APP, KC_SPC, KC_TAB, U_NA, U_NA
+
+/**
+ * Add Home Row mod to a layout.
+ *
+ * Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl)
+ * home row. The layout passed in parameter must contain at least 20 keycodes.
+ *
+ * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
+ *
+ * HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)
+ */
+#define _HOME_ROW_MOD_GASC( \
+ L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
+ ...) \
+ L00, L01, L02, L03, L04, \
+ R05, R06, R07, R08, R09, \
+ LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \
+ R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \
+ __VA_ARGS__
+#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__)
+
+/**
+ * Add mouse layer keys to a layout.
+ *
+ * Expects a 10-key per row layout. The layout passed in parameter must contain
+ * at least 30 keycodes.
+ *
+ * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
+ *
+ * MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO)
+ */
+#define _MOUSE_MOD( \
+ L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
+ L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \
+ ...) \
+ L00, L01, L02, L03, L04, \
+ R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, \
+ R15, R16, R17, R18, R19, \
+ MOUSE(L20), L21, L22, L23, L24, \
+ R25, R26, R27, R28, MOUSE(R29), \
+ __VA_ARGS__
+#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__)
+
+#define LAYOUT_wrapper(...) LAYOUT_charybdis_3x5(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_wrapper(
+ MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO))
+ ),
+ [LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO),
+ [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA),
+ [LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV),
+ [LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE),
+ [LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM),
+ [LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM),
+ [LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN),
+};
+// clang-format on
+
+#if defined(POINTING_DEVICE_ENABLE) && defined(CHARYBDIS_AUTO_SNIPING_ON_LAYER)
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+ charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
+ return state;
+}
+#endif // POINTING_DEVICE_ENABLE && CHARYBDIS_AUTO_SNIPING_ON_LAYER
+
+#ifdef RGB_MATRIX_ENABLE
+// Forward-declare this helper function since it is defined in rgb_matrix.c.
+void rgb_matrix_update_pwm_buffers(void);
+#endif
+
+void shutdown_user(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_enable_noeeprom();
+ rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+ rgblight_setrgb_red();
+#endif // RGBLIGHT_ENABLE
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_set_color_all(RGB_RED);
+ rgb_matrix_update_pwm_buffers();
+#endif // RGB_MATRIX_ENABLE
+}
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk
new file mode 100644
index 0000000000..5d91064607
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk
@@ -0,0 +1,10 @@
+ifeq ($(MCU),atmega32u4)
+ # Space saving settings.
+ TAP_DANCE_ENABLE = no
+ COMBO_ENABLE = no
+ QMK_SETTINGS = no
+else ifeq ($(MCU),STM32F411)
+ EEPROM_DRIVER = vendor
+endif
+
+VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
index cb578aa8d6..148f026740 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS,
+ XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
XXXXXXX, XXXXXXX, _______, XXXXXXX, _______
// ╰───────────────────────────╯ ╰──────────────────╯
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
_______, _______, XXXXXXX, _______, XXXXXXX
// ╰───────────────────────────╯ ╰──────────────────╯
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
index 0f08aee9ef..39204a3667 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
@@ -98,10 +98,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2
/* pmw3360 config */
-#undef PMW3360_CS_PIN
-#define PMW3360_CS_PIN B0
-#define PMW3360_SPI_MODE 3
-#define PMW3360_SPI_DIVISOR 64
+#undef PMW33XX_CS_PIN
+#define PMW33XX_CS_PIN B0
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk
index 0cff2a7a2e..1369213cf2 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
# BOOTLOADER = stm32-dfu
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..935444af1b
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,19 @@
+// Copyright 2022 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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 LAYOUT_miryoku( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT_charybdis_3x5( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K32, K33, K34, K35, K36 \
+)
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk
new file mode 100644
index 0000000000..ef40279cbc
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2021 Manna Harbour
+# https://github.com/manna-harbour/miryoku
+
+MIRYOKU_KLUDGE_THUMBCOMBOS=yes
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
index f515d85334..d20131e9cf 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
@@ -19,7 +19,7 @@
#ifdef VIA_ENABLE
/* VIA configuration. */
# define DYNAMIC_KEYMAP_LAYER_COUNT 7
-#endif // VIA_ENABLE
+#endif // VIA_ENABLE
/* Disable unused features. */
#define NO_ACTION_ONESHOT
@@ -33,7 +33,7 @@
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
*/
# define TAPPING_TERM 200
-#endif // TAPPING_TERM
+#endif // TAPPING_TERM
/**
* \brief Enable rapid switch from tap to hold.
@@ -84,16 +84,11 @@
/* Charybdis-specific features. */
#ifdef POINTING_DEVICE_ENABLE
-// Enable pointer acceleration, which increases the speed by ~2x for large
-// displacement, while maintaining 1x speed for slow movements. See also:
-// - `CHARYBDIS_POINTER_ACCELERATION_FACTOR`
-# define CHARYBDIS_POINTER_ACCELERATION_ENABLE
-
// Automatically enable the pointer layer when moving the trackball. See also:
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
+#endif // POINTING_DEVICE_ENABLE
/* RGB Matrix. */
@@ -115,4 +110,4 @@
# define RGB_MATRIX_STARTUP_SAT 255
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
index dc02ed34c6..b54c58cf0c 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
@@ -18,7 +18,7 @@
#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
# include "timer.h"
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
enum charybdis_keymap_layers {
LAYER_BASE = 0,
@@ -38,12 +38,12 @@ static uint16_t auto_pointer_layer_timer = 0;
# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
+#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
#define ESC_MED LT(LAYER_MEDIA, KC_ESC)
#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
@@ -52,6 +52,13 @@ static uint16_t auto_pointer_layer_timer = 0;
#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
#define _L_PTR(KC) LT(LAYER_POINTER, KC)
+#ifndef POINTING_DEVICE_ENABLE
+# define DRGSCRL KC_NO
+# define DPI_MOD KC_NO
+# define S_D_MOD KC_NO
+# define SNIPING KC_NO
+#endif // !POINTING_DEVICE_ENABLE
+
// clang-format off
/** \brief QWERTY layout (3 rows, 10 columns). */
#define LAYOUT_LAYER_BASE \
@@ -98,14 +105,14 @@ static uint16_t auto_pointer_layer_timer = 0;
#define LAYOUT_LAYER_MEDIA \
XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, \
KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, \
- XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, \
_______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY
/** \brief Mouse emulation and pointer functions. */
#define LAYOUT_LAYER_POINTER \
XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, \
______________HOME_ROW_GACS_L______________, ______________HOME_ROW_GACS_R______________, \
- _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, \
+ _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, \
KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1
/**
@@ -217,36 +224,35 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
# ifdef RGB_MATRIX_ENABLE
rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
rgb_matrix_sethsv_noeeprom(HSV_GREEN);
-# endif // RGB_MATRIX_ENABLE
+# endif // RGB_MATRIX_ENABLE
}
auto_pointer_layer_timer = timer_read();
}
return mouse_report;
}
-void matrix_scan_kb(void) {
+void matrix_scan_user(void) {
if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
auto_pointer_layer_timer = 0;
layer_off(LAYER_POINTER);
# ifdef RGB_MATRIX_ENABLE
rgb_matrix_mode_noeeprom(RGB_MATRIX_STARTUP_MODE);
-# endif // RGB_MATRIX_ENABLE
+# endif // RGB_MATRIX_ENABLE
}
- matrix_scan_user();
}
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_kb(layer_state_t state) {
- state = layer_state_set_user(state);
+layer_state_t layer_state_set_user(layer_state_t state) {
charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
return state;
}
-# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
+# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
+#endif // POINTING_DEVICE_ENABLE
#ifdef RGB_MATRIX_ENABLE
-// Forward-declare this helper function since it is defined in rgb_matrix.c.
+// Forward-declare this helper function since it is defined in
+// rgb_matrix.c.
void rgb_matrix_update_pwm_buffers(void);
#endif
@@ -255,9 +261,9 @@ void shutdown_user(void) {
rgblight_enable_noeeprom();
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
rgblight_setrgb_red();
-#endif // RGBLIGHT_ENABLE
+#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
rgb_matrix_set_color_all(RGB_RED);
rgb_matrix_update_pwm_buffers();
-#endif // RGB_MATRIX_ENABLE
+#endif // RGB_MATRIX_ENABLE
}
diff --git a/keyboards/bastardkb/charybdis/3x5/rules.mk b/keyboards/bastardkb/charybdis/3x5/rules.mk
deleted file mode 100644
index c5f3f0fb8c..0000000000
--- a/keyboards/bastardkb/charybdis/3x5/rules.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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 # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-AUDIO_SUPPORTED = no # Audio is not supported
-RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
-RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
-RGB_MATRIX_DRIVER = WS2812
-
-# Enable link-time optimization by default. The Charybdis packs a lot of
-# features (RGB, Via, trackball) in a small atmega32u4 package.
-LTO_ENABLE = yes
-
-# Charybdis nano is a split 3x5 keyboard with a maximum of 3 thumb keys (2 on
-# the trackball side).
-SPLIT_KEYBOARD = yes
-LAYOUTS = split_3x5_3 # Support community layout, in particular Manna-Harbour's Miryoku layout
-
-POINTING_DEVICE_ENABLE = yes # Enable trackball
-POINTING_DEVICE_DRIVER = pmw3360
-# https://qmk.fm/changes/2018-11-16-use-a-single-endpoint-for-hid-reports
-MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h
new file mode 100644
index 0000000000..3e3d95174c
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { C7, F0, D7, E6, B4 }
+
+#define MATRIX_ROW_PINS_RIGHT \
+ { F0, C6, D4, B5 }
+#define MATRIX_COL_PINS_RIGHT \
+ { C7, B7, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
new file mode 100644
index 0000000000..9071212f33
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Nano (3x5) Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk
new file mode 100644
index 0000000000..22bd22652a
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis nano is a split 3x5 keyboard with a maximum of 3 thumb keys (2 on
+# the trackball side).
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3 # Support community layout, in particular Manna-Harbour's Miryoku layout
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h
new file mode 100644
index 0000000000..5c11fa3145
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN F0
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
new file mode 100644
index 0000000000..7c90e5d5a3
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Nano (3x5) Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk
new file mode 100644
index 0000000000..22bd22652a
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis nano is a split 3x5 keyboard with a maximum of 3 thumb keys (2 on
+# the trackball side).
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3 # Support community layout, in particular Manna-Harbour's Miryoku layout
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h
new file mode 100644
index 0000000000..2929d3dd1e
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* SPI & PMW3360 settings. */
+#define SPI_DRIVER SPID0
+#define SPI_SCK_PIN GP18
+#define SPI_MOSI_PIN GP19
+#define SPI_MISO_PIN GP20
+#define PMW33XX_CS_PIN GP14
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json
new file mode 100644
index 0000000000..1aa1e8811d
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Nano (3x5) Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky/mcuconf.h
new file mode 100644
index 0000000000..0fdd67c3a2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/mcuconf.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky/rules.mk
new file mode 100644
index 0000000000..21a9506077
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bastardkb/charybdis/3x6/3x6.c b/keyboards/bastardkb/charybdis/3x6/3x6.c
new file mode 100644
index 0000000000..beb04efc0b
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/3x6.c
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "3x6.h"
+
+// clang-format off
+#ifdef RGB_MATRIX_ENABLE
+/**
+ * \brief LEDs index.
+ *
+ # 0,0 14 28 42 56 70 84 98 126 140 154 168 182 196 210 224,0
+ # 0,0 15 30 45 60 75 90 105 119 134 149 164 179 194 209 224,0
+ * ╭────────────────────────╮ ╭────────────────────────╮
+ * 0 5 6 11 12 15 36 33 32 27 26 21
+ * ├────────────────────────┤ ├────────────────────────┤
+ * 1 4 7 10 13 16 37 34 31 28 25 22
+ * ├────────────────────────┤ ├────────────────────────┤
+ * 2 3 8 9 14 17 38 35 30 29 24 23
+ * ╰────────────────────────╯ ╰────────────────────────╯
+ * 18 19 20 39 40 XX
+ * ╰────────────╯ ╰────────────╯
+ *
+ * Note: the LED config simulates 42 LEDs instead of the actual 41 to prevent
+ * confusion when testing LEDs during assembly when handedness is not set
+ * correctly. Those fake LEDs are bound to the physical top-left corner.
+ */
+led_config_t g_led_config = { {
+ /* Key Matrix to LED index. */
+ // Left split.
+ { 0, 5, 6, 11, 12, 15 }, // Top row
+ { 1, 4, 7, 10, 13, 16 }, // Middle row
+ { 2, 3, 8, 9, 14, 17 }, // Bottom row
+ { NO_LED, 20, NO_LED, 18, 19, NO_LED }, // Thumb cluster
+ // Right split.
+ { 21, 26, 27, 32, 33, 36 }, // Top row
+ { 22, 25, 28, 31, 34, 37 }, // Middle row
+ { 23, 24, 29, 30, 35, 38 }, // Bottom row
+ { NO_LED, 41, NO_LED, 39, 40, NO_LED }, // Thumb cluster
+}, {
+ /* LED index to physical position. */
+ // Left split.
+ /* index=0 */ { 0, 0 }, { 0, 21 }, { 0, 42 }, // col 1 (left most)
+ /* index=3 */ { 15, 42 }, { 15, 21 }, { 15, 0 }, // col 2
+ /* index=6 */ { 30, 0 }, { 30, 21 }, { 30, 42 },
+ /* index=9 */ { 45, 42 }, { 45, 21 }, { 45, 0 },
+ /* index=12 */ { 60, 0 }, { 60, 21 }, { 60, 42 },
+ /* index=15 */ { 75, 0 }, { 75, 21 }, { 75, 42 },
+ /* index=18 */ { 75, 64 }, { 90, 64 }, { 105, 64 }, // Thumb cluster
+ // Right split.
+ /* index=21 */ { 224, 0 }, { 224, 21 }, { 224, 42 }, // col 12 (right most)
+ /* index=24 */ { 209, 42 }, { 209, 21 }, { 209, 0 }, // col 10
+ /* index=27 */ { 194, 0 }, { 194, 21 }, { 194, 42 },
+ /* index=30 */ { 179, 42 }, { 179, 21 }, { 179, 0 },
+ /* index=33 */ { 164, 0 }, { 164, 21 }, { 164, 42 },
+ /* index=36 */ { 149, 0 }, { 149, 21 }, { 149, 42 },
+ /* index=39 */ { 119, 64 }, { 134, 64 }, { 0, 0 }, // Thumb cluster
+}, {
+ /* LED index to flag. */
+ // Left split.
+ /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1
+ /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2
+ /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=15 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
+ // Right split.
+ /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10
+ /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9
+ /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=36 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ /* index=39 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
+} };
+#endif
+// clang-format on
diff --git a/keyboards/bastardkb/charybdis/3x6/3x6.h b/keyboards/bastardkb/charybdis/3x6/3x6.h
new file mode 100644
index 0000000000..bf5de31036
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/3x6.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "charybdis.h"
+
+// clang-format off
+#define LAYOUT_charybdis_3x6( \
+ k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
+ k33, k34, k31, k71, k73 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \
+}
+
+/**
+ * \brief Compatibility layout with the split_3x5_6 community layout.
+ *
+ * This effectively renders the Charbdis Nano compatible with existing layout
+ * implementations relying on the `split_3x6_3` layout.
+ */
+#define LAYOUT_split_3x6_3( \
+ k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
+ k33, k34, k31, k71, k73, ___ \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \
+}
+// clang-format on
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h
new file mode 100644
index 0000000000..1b90a3076b
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B0, B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM and pmw3360 sensor. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B14
+#define PMW33XX_CS_DIVISOR 64
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h
new file mode 100644
index 0000000000..42d7499907
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+#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/bastardkb/charybdis/3x6/blackpill/info.json b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
new file mode 100644
index 0000000000..73a1359e00
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Mini (3x6) Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h
new file mode 100644
index 0000000000..26645d8c1a
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+#undef STM32_SPI_SPI1_RX_DMA_STREAM
+#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+#undef STM32_SPI_SPI1_TX_DMA_STREAM
+#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+#undef STM32_GPT_USE_TIM4
+#define STM32_GPT_USE_TIM4 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md b/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md
new file mode 100644
index 0000000000..6a9907c2ae
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md
@@ -0,0 +1,3 @@
+# Charybdis Mini (3x6) BlackPill
+
+An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod.
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk
new file mode 100644
index 0000000000..a29e3e433d
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk
@@ -0,0 +1,39 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/charybdis/3x6/config.h b/keyboards/bastardkb/charybdis/3x6/config.h
new file mode 100644
index 0000000000..6b31a773fc
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/config.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* Key matrix configuration. */
+#define MATRIX_ROWS 8 // Rows are doubled-up.
+#define MATRIX_COLS 6
+
+#define DIODE_DIRECTION ROW2COL
+
+/* Set 0 if debouncing isn't needed. */
+#define DEBOUNCE 5
+
+/* Trackball angle adjustment. */
+#define ROTATIONAL_TRANSFORM_ANGLE -25
+
+/* RGB settings. */
+#define RGBLED_NUM 42
+#define RGBLED_SPLIT \
+ { 21, 21 }
+
+/* RGB matrix support. */
+#ifdef RGB_MATRIX_ENABLE
+# define SPLIT_TRANSPORT_MIRROR
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_KEYPRESSES
+#endif
diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json
new file mode 100644
index 0000000000..0b4428cdbe
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/info.json
@@ -0,0 +1,99 @@
+{
+ "url": "https://bastardkb.com",
+ "usb": {
+ "pid": "0x1834",
+ },
+ "layouts": {
+ "LAYOUT_charybdis_3x6": {
+ "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":"L33", "x":5, "y":3},
+ {"label":"L34", "x":6, "y":3},
+ {"label":"L31", "x":7, "y":3},
+ {"label":"R31", "x":9, "y":3},
+ {"label":"R33", "x":10, "y":3}
+ ]
+ },
+ "LAYOUT_split_3x6_3": {
+ "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":"L33", "x":5, "y":3},
+ {"label":"L34", "x":6, "y":3},
+ {"label":"L31", "x":7, "y":3},
+ {"label":"R33", "x":9, "y":3},
+ {"label":"R34", "x":10, "y":3},
+ {"label":"R31", "x":11, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h b/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h
new file mode 100644
index 0000000000..4b1bae3ca0
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h
@@ -0,0 +1,54 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#ifndef TAPPING_TERM
+/**
+ * \brief Configure the global tapping term (default: 200ms).
+ *
+ * If you have a lot of accidental mod activations, crank up the tapping term.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
+ */
+# define TAPPING_TERM 200
+#endif // TAPPING_TERM
+
+/* RGB Matrix. */
+
+#ifdef RGB_MATRIX_ENABLE
+// Disable control of RGB matrix by keycodes (must use firmware implementation
+// to control the feature).
+# define RGB_MATRIX_DISABLE_KEYCODES
+
+// Limit maximum brightness to keep power consumption reasonable, and avoid
+// disconnects.
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
+
+// Rainbow swirl as startup mode.
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+// Slow swirl at startup.
+# define RGB_MATRIX_STARTUP_SPD 32
+
+// Startup values.
+# define RGB_MATRIX_STARTUP_HUE 0
+# define RGB_MATRIX_STARTUP_SAT 255
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fee8d87ad6
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum charybdis_keymap_layers {
+ LAYER_BASE = 0,
+ LAYER_LOWER,
+ LAYER_RAISE,
+};
+
+#define LOWER MO(LAYER_LOWER)
+#define RAISE MO(LAYER_RAISE)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ KC_LGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RGUI,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_LOWER] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ XXXXXXX, RGB_TOG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, XXXXXXX,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ XXXXXXX, XXXXXXX, _______, XXXXXXX, _______
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_RAISE] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ _______, _______, XXXXXXX, _______, XXXXXXX
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+};
+// clang-format on
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md b/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md
new file mode 100644
index 0000000000..8b407f68a2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+# Charybdis Mini (3x6) default keymap
+
+> :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout.
+
+The Charydbis Mini (3x6) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap.
+
+This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
new file mode 100644
index 0000000000..abbf492089
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
@@ -0,0 +1,71 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#ifdef VIA_ENABLE
+/* VIA configuration. */
+# define DYNAMIC_KEYMAP_LAYER_COUNT 4
+#endif // VIA_ENABLE
+
+/* Disable unused features. */
+#define NO_ACTION_ONESHOT
+
+#ifndef TAPPING_TERM
+/**
+ * \brief Configure the global tapping term (default: 200ms).
+ *
+ * If you have a lot of accidental mod activations, crank up the tapping term.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
+ */
+# define TAPPING_TERM 200
+#endif // TAPPING_TERM
+
+/* Charybdis-specific features. */
+
+#ifdef POINTING_DEVICE_ENABLE
+// Automatically enable the pointer layer when moving the trackball. See also:
+// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
+// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
+// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+#endif // POINTING_DEVICE_ENABLE
+
+/* RGB Matrix. */
+
+#ifdef RGB_MATRIX_ENABLE
+// Disable control of RGB matrix by keycodes (must use firmware implementation
+// to control the feature).
+# define RGB_MATRIX_DISABLE_KEYCODES
+
+// Limit maximum brightness to keep power consumption reasonable, and avoid
+// disconnects.
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
+
+// Rainbow swirl as startup mode.
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+// Slow swirl at startup.
+# define RGB_MATRIX_STARTUP_SPD 32
+
+// Startup values.
+# define RGB_MATRIX_STARTUP_HUE 0
+# define RGB_MATRIX_STARTUP_SAT 255
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
new file mode 100644
index 0000000000..edfce673fb
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
@@ -0,0 +1,148 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum charybdis_keymap_layers {
+ LAYER_BASE = 0,
+ LAYER_LOWER,
+ LAYER_RAISE,
+ LAYER_POINTER,
+};
+
+/** \brief Automatically enable sniping-mode on the pointer layer. */
+#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+
+#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+static uint16_t auto_pointer_layer_timer = 0;
+
+# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
+# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
+
+# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
+# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
+#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+
+#define LOWER MO(LAYER_LOWER)
+#define RAISE MO(LAYER_RAISE)
+#define PT_Z LT(LAYER_POINTER, KC_Z)
+#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ KC_LGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RGUI,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_LOWER] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ XXXXXXX, RGB_TOG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, XXXXXXX,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ XXXXXXX, XXXXXXX, _______, XXXXXXX, _______
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_RAISE] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ _______, _______, XXXXXXX, _______, XXXXXXX
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_POINTER] = LAYOUT_charybdis_3x6(
+ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
+ // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
+ XXXXXXX, _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, XXXXXXX,
+ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
+ KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1
+ // ╰───────────────────────────╯ ╰──────────────────╯
+ ),
+};
+// clang-format on
+
+#ifdef POINTING_DEVICE_ENABLE
+# ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
+ if (abs(mouse_report.x) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) {
+ if (auto_pointer_layer_timer == 0) {
+ layer_on(LAYER_POINTER);
+# ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
+ rgb_matrix_sethsv_noeeprom(HSV_GREEN);
+# endif // RGB_MATRIX_ENABLE
+ }
+ auto_pointer_layer_timer = timer_read();
+ }
+ return mouse_report;
+}
+
+void matrix_scan_user(void) {
+ if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
+ auto_pointer_layer_timer = 0;
+ layer_off(LAYER_POINTER);
+# ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_STARTUP_MODE);
+# endif // RGB_MATRIX_ENABLE
+ }
+}
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+
+# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
+layer_state_t layer_state_set_user(layer_state_t state) {
+ charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
+ return state;
+}
+# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
+#endif // POINTING_DEVICE_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+// Forward-declare this helper function since it is defined in rgb_matrix.c.
+void rgb_matrix_update_pwm_buffers(void);
+#endif
+
+void shutdown_user(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_enable_noeeprom();
+ rgblight_mode_noeeprom(1);
+ rgblight_setrgb_red();
+#endif // RGBLIGHT_ENABLE
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_set_color_all(RGB_RED);
+ rgb_matrix_update_pwm_buffers();
+#endif // RGB_MATRIX_ENABLE
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md b/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md
new file mode 100644
index 0000000000..fba00cd996
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md
@@ -0,0 +1,57 @@
+# Charybdis Mini (3x6) `via` keymap
+
+The Charydbis Mini (3x6) `via` keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Charybdis.
+
+This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
+
+## Customizing the keymap
+
+### Dynamic DPI scaling
+
+Use the following keycodes to change the default DPI:
+
+- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 16 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
+
+Use the following keycodes to change the sniping mode DPI:
+
+- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 4 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
+
+### Drag-scroll
+
+Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
+
+### Sniping
+
+Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
+
+Change the value of `CHARYBDIS_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
+
+```c
+#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+```
+
+### Auto pointer layer
+
+The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:
+
+```c
+#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+```
+
+By default, the layer is turned off 1 second after the last registered trackball movement:
+
+```c
+#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
+```
+
+The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:
+
+```c
+#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
+```
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk b/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x6/readme.md b/keyboards/bastardkb/charybdis/3x6/readme.md
new file mode 100644
index 0000000000..c6385ed8f1
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/readme.md
@@ -0,0 +1,15 @@
+# Charybdis Nano (3x6)
+
+An ergonomic keyboard with integrated trackball.
+
+The Charybdis is available in 4x6, 3x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com).
+
+## Keymaps
+
+### [`default`](keymaps/default)
+
+A simple QWERTY layout with 4 layers.
+
+### [`via`](keymaps/via)
+
+A [Miryoku-inspired](https://github.com/manna-harbour/miryoku), feature-rich, keymap with VIA support.
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h
new file mode 100644
index 0000000000..05746cf17e
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { D5, C7, F0, D7, E6, B4 }
+
+#define MATRIX_ROW_PINS_RIGHT \
+ { F0, C6, D4, B5 }
+#define MATRIX_COL_PINS_RIGHT \
+ { F1, C7, B7, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
new file mode 100644
index 0000000000..bf7f1a35f2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Mini (3x6) Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk
new file mode 100644
index 0000000000..54406bcc1d
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk
@@ -0,0 +1,35 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h b/keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h
new file mode 100644
index 0000000000..edd167446b
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F6, F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN F0
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
new file mode 100644
index 0000000000..239a10f8a3
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Mini (3x6) Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk
new file mode 100644
index 0000000000..54406bcc1d
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk
@@ -0,0 +1,35 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h
new file mode 100644
index 0000000000..9c4ced817a
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* SPI & PMW3360 settings. */
+#define SPI_DRIVER SPID0
+#define SPI_SCK_PIN GP18
+#define SPI_MOSI_PIN GP19
+#define SPI_MISO_PIN GP20
+#define PMW33XX_CS_PIN GP14
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json
new file mode 100644
index 0000000000..7f3997158f
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis Mini (3x6) Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky/mcuconf.h
new file mode 100644
index 0000000000..0fdd67c3a2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/mcuconf.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/splinky/rules.mk
new file mode 100644
index 0000000000..6ab474a76f
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bastardkb/charybdis/4x6/4x6.c b/keyboards/bastardkb/charybdis/4x6/4x6.c
index 6cd8fffee7..85e8b5fdd1 100644
--- a/keyboards/bastardkb/charybdis/4x6/4x6.c
+++ b/keyboards/bastardkb/charybdis/4x6/4x6.c
@@ -36,6 +36,10 @@
* 26 27 28 53 54 XX
* 25 24 55 XX
* ╰────────────╯ ╰────────────╯
+ *
+ * Note: the LED config simulates 58 LEDs instead of the actual 56 to prevent
+ * confusion when testing LEDs during assembly when handedness is not set
+ * correctly. Those fake LEDs are bound to the physical bottom-left corner.
*/
led_config_t g_led_config = { {
/* Key Matrix to LED index. */
@@ -70,6 +74,7 @@ led_config_t g_led_config = { {
/* index=45 */ { 160, 0 }, { 160, 12 }, { 160, 24 }, { 160, 36 },
/* index=49 */ { 144, 0 }, { 144, 12 }, { 144, 24 }, { 144, 36 },
/* index=53 */ { 112, 52 }, { 128, 64 }, { 112, 64 },
+ /* index=56 */ { 0, 0 }, { 0, 0 },
}, {
/* LED index to flag. */
// Left split.
@@ -89,6 +94,7 @@ led_config_t g_led_config = { {
/* index=45 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
/* index=49 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
/* index=53 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
+ /* index=55 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster fakes
} };
#endif
// clang-format on
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
new file mode 100644
index 0000000000..2514a52fb0
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B15, A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B0, B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM and pmw3360 sensor. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B14
+#define PMW33XX_CS_DIVISOR 64
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
new file mode 100644
index 0000000000..a89dff0cd3
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+//#define HAL_USE_GPT TRUE
+
+#include_next "halconf.h"
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
new file mode 100644
index 0000000000..788783c679
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis (4x6) Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
new file mode 100644
index 0000000000..1615d1bf46
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_I2C_I2C1_RX_DMA_STREAM
+#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+#undef STM32_I2C_I2C1_TX_DMA_STREAM
+#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+#undef STM32_SPI_SPI1_RX_DMA_STREAM
+#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+#undef STM32_SPI_SPI1_TX_DMA_STREAM
+#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+// #undef STM32_SERIAL_USE_USART2
+// #define STM32_SERIAL_USE_USART2 TRUE
+
+// #undef STM32_UART_USART2_RX_DMA_STREAM
+// #define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+// #undef STM32_UART_USART2_TX_DMA_STREAM
+// #define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM4
+#define STM32_GPT_USE_TIM4 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md b/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md
new file mode 100644
index 0000000000..bbae15bb85
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md
@@ -0,0 +1,3 @@
+# Charybdis (4x6) BlackPill
+
+An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod.
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk
new file mode 100644
index 0000000000..6123ec58b7
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk
@@ -0,0 +1,40 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported.
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default.
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default.
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the
+# trackball side).
+SPLIT_KEYBOARD = yes
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h
index 423f12fdbe..f557089073 100644
--- a/keyboards/bastardkb/charybdis/4x6/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/config.h
@@ -18,55 +18,22 @@
#pragma once
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1833
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT Charybdis
-
/* Key matrix configuration. */
-
-// Rows are doubled-up.
-#define MATRIX_ROWS 10
+#define MATRIX_ROWS 10 // Rows are doubled-up.
#define MATRIX_COLS 6
-// Wiring configuration for each half.
-#define MATRIX_ROW_PINS \
- { F1, B7, C6, D4, B5 }
-#define MATRIX_COL_PINS \
- { D5, C7, F0, D7, E6, B4 }
-
-#define MATRIX_ROW_PINS_RIGHT \
- { D5, F0, C6, D4, B5 }
-#define MATRIX_COL_PINS_RIGHT \
- { F1, C7, B7, D7, E6, B4 }
-
#define DIODE_DIRECTION ROW2COL
-#define ROTATIONAL_TRANSFORM_ANGLE -25
-
-/* Handedness. */
-#define MASTER_RIGHT
-
-/* Bootmagic Lite configuration. */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 0
-#define BOOTMAGIC_LITE_ROW_RIGHT 5
-#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
-
-/* serial.c configuration (for split keyboard) */
-#define SOFT_SERIAL_PIN D2
-
-/* Set 0 if debouncing isn't needed */
+/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-/* PMW3360 settings. */
-#define PMW3360_CS_PIN B0
+/* Trackball angle adjustment. */
+#define ROTATIONAL_TRANSFORM_ANGLE -25
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 56
+/* RGB settings. */
+#define RGBLED_NUM 58
#define RGBLED_SPLIT \
- { 29, 27 }
+ { 29, 29 }
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json
index 956dfe88f5..c95bf07516 100644
--- a/keyboards/bastardkb/charybdis/4x6/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Charybdis",
- "url": "https://www.bastardkb.com",
- "maintainer": "Quentin Lebastard",
+ "url": "https://bastardkb.com/charybdis",
+ "manufacturer": "Bastard Keyboards",
+ "usb": {
+ "vid": "0xA8F8",
+ "pid": "0x1833",
+ },
"layouts": {
"LAYOUT_charybdis_4x6": {
"layout": [
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
index 1d3142faac..e0cee41221 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
+ RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
XXXXXXX, XXXXXXX, _______, XXXXXXX, _______,
XXXXXXX, XXXXXXX, KC_P0
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
+ KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, XXXXXXX, _______, XXXXXXX,
_______, _______, XXXXXXX
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h
index 6098c80f11..7e47953d63 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h
@@ -16,12 +16,15 @@
*/
#pragma once
+#undef PRODUCT
+#define PRODUCT "Charybdis (4x6) Blackpill"
+
#undef MATRIX_COL_PINS
#define MATRIX_COL_PINS \
- { B0, B1, B10, B3, B4, B5 }
+ { B0, B1, B12, B3, B4, B5 }
#undef MATRIX_COL_PINS_RIGHT
#define MATRIX_COL_PINS_RIGHT \
- { B0, B1, B10, B3, B4, B5 }
+ { B0, B1, B12, B3, B4, B5 }
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS \
@@ -30,8 +33,11 @@
#define MATRIX_ROW_PINS_RIGHT \
{ B15, A2, B8, A8, B9 }
+
#define DIODE_DIRECTION ROW2COL
#define SPLIT_HAND_PIN A3
+#undef MASTER_RIGHT
+#define USB_VBUS_PIN B10
#undef RGB_DI_PIN
#define RGB_DI_PIN A1
@@ -46,6 +52,15 @@
#define DEBUG_LED_PIN C13
+#define AUDIO_PIN B7
+#define AUDIO_PWM_DRIVER PWMD4
+#define AUDIO_PWM_CHANNEL 2
+#define AUDIO_PWM_PAL_MODE 2
+#define AUDIO_STATE_TIMER GPTD3
+#define AUDIO_INIT_DELAY
+#define AUDIO_ENABLE_TONE_MULTIPLEXING
+#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10
+
#undef SOFT_SERIAL_PIN
// #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
#define SERIAL_USART_TX_PIN A9
@@ -54,12 +69,8 @@
// #define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
// #define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
// #define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
-// // #define SERIAL_USART_PIN_SWAP // swap RX and TX pins on master
-// // To use the highest possible baudrate (3.75Mbit/s) uncomment the following
-// // line, this can result in dropped communications so lower the speed if there
-// // are many timeouts.
-// // #define SERIAL_USART_SPEED (STM32_PCLK2 >> 4)
-#define SERIAL_USART_SPEED 921600
+// #define SERIAL_USART_SPEED 921600
+#define SERIAL_USART_SPEED (1.5 * 1024 * 1024)
#define CRC8_USE_TABLE
#define CRC8_OPTIMIZE_SPEED
@@ -76,10 +87,11 @@
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
-#undef PMW3360_CS_PIN
-#define PMW3360_CS_PIN B14
-#define PMW3360_CS_MODE 3
-#define PMW3360_CS_DIVISOR 64
+#undef PMW33XX_CS_PIN
+#define PMW33XX_CS_PIN A15 // b14
+#define PMW33XX_LIFTOFF_DISTANCE 0b1111
+#undef ROTATIONAL_TRANSFORM_ANGLE
+#define ROTATIONAL_TRANSFORM_ANGLE -65
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
@@ -90,3 +102,14 @@
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+
+#define CHARYBDIS_CONFIG_SYNC
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+#define BOOTMAGIC_LITE_ROW_RIGHT 5
+#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
+#define BOOTMAGIC_LITE_EEPROM_ROW 1
+#define BOOTMAGIC_LITE_EEPROM_COLUMN 0
+#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 1
+#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 0
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h
index 97a288d7bd..3d9f187317 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/halconf.h
@@ -16,11 +16,12 @@
#pragma once
#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+#define HAL_USE_GPT TRUE
#define HAL_USE_SERIAL TRUE
// #define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
-// #define HAL_USE_GPT TRUE
#include_next <halconf.h>
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
index a671300b78..a0f290ad57 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c
@@ -26,8 +26,8 @@
KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_CLUE, \
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, \
- KC_GRV, OS_LALT, OS_LGUI, TT(_MOUSE), KC_ENT, \
+ OS_LSFT,CTL_T(K21), K22, K23, K24, K25, K26,K27,RGUI_T(K28),RALT_T(K29),RCTL_T(K2A), OS_RSFT, \
+ SFT_T(KC_GRV), OS_LALT, OS_LGUI, TT(_MOUSE), KC_ENT, \
KC_SPC, BK_LWER, DL_RAIS \
)
@@ -58,38 +58,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
-
-
- [_MOUSE] = LAYOUT_charybdis_4x6(
- _______, _______, _______, _______, _______, _______, DRGSCRL, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG,
- _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING,
- _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
- _______, _______, _______, _______, _______,
- _______, _______, _______
- ),
[_GAMEPAD] = LAYOUT_charybdis_4x6(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
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_V, _______, _______, _______, TG_GAME,
+ KC_SPC, KC_H, _______
),
[_DIABLO] = LAYOUT_charybdis_4x6(
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, _______, _______, _______, _______, _______, _______,
KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- _______, _______, _______
+ KC_G, _______, _______, TO(_DIABLOII), TG_DBLO,
+ KC_LSFT, KC_LCTL, _______
),
[_DIABLOII] = LAYOUT_charybdis_4x6(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_GRV, _______, _______, _______, _______, _______, _______,
KC_TAB, KC_A, KC_T, KC_Q, KC_I, KC_M, _______, _______, _______, _______, _______, _______,
KC_S, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______,
KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
+ KC_DIABLO_CLEAR, _______, _______, _______, TG(_DIABLOII),
+ SFT_T(KC_SPACE), ALT_T(KC_Q), _______
+ ),
+ [_MOUSE] = LAYOUT_charybdis_4x6(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, _______,
+ _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING,
+ _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, DRGSCRL, _______,
+ _______, SNIPING, SNIPING, _______, _______,
_______, _______, _______
),
@@ -112,18 +110,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_charybdis_4x6_wrapper(
- QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT,
+ QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR,
KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
- QK_RBT, AUTO_CTN, _______, KC_NUKE, _______,
+ QK_RBT, AUTO_CTN, _______, _______, KC_NUKE,
_______, _______, _______
)
};
// clang-format on
-void matrix_init_keyemap(void) { setPinInputHigh(A0); }
+void matrix_init_keymap(void) {
+ setPinInputHigh(A0);
+#ifdef RGB_MATRIX_ENABLE
+ g_led_config.flags[53] = g_led_config.flags[54] = g_led_config.flags[55] =
+ g_led_config.flags[0] = g_led_config.flags[1] = g_led_config.flags[2] = g_led_config.flags[3] =
+ g_led_config.flags[29] = g_led_config.flags[30] = g_led_config.flags[31] = g_led_config.flags[32] =
+ LED_FLAG_MODIFIER;
+#endif
+}
void matrix_scan_keymap(void) {
if (!readPin(A0)) {
@@ -144,3 +150,25 @@ void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
__asm__ volatile("nop" ::: "memory");
}
}
+
+
+#ifdef SWAP_HANDS_ENABLE
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ /* Left hand, matrix positions */
+ {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
+ {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
+ {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
+ {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}},
+ {{2, 9}, {4, 9}, {5, 9}, {1, 9}, {0, 9}, {3, 9}},
+ /* Right hand, matrix positions */
+ {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
+ {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
+ {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
+ {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}},
+ {{0, 4}, {3, 4}, {2, 4}, {5, 4}, {4, 4}, {2, 4}},
+ };
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
+# endif
+#endif
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h
index 0f60612d79..5712bb4574 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h
@@ -17,19 +17,18 @@
#pragma once
#include_next "mcuconf.h"
-#undef STM32_I2C_USE_I2C1
-#define STM32_I2C_USE_I2C1 TRUE
-// #undef STM32_I2C_I2C1_RX_DMA_STREAM
-// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#undef STM32_I2C_I2C1_TX_DMA_STREAM
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 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_SPI_USE_SPI1
#define STM32_SPI_USE_SPI1 TRUE
@@ -37,8 +36,8 @@
#undef STM32_SERIAL_USE_USART1
#define STM32_SERIAL_USE_USART1 TRUE
-#undef STM32_GPT_USE_TIM4
-#define STM32_GPT_USE_TIM4 TRUE
+#undef STM32_GPT_USE_TIM3
+#define STM32_GPT_USE_TIM3 TRUE
#undef STM32_ST_USE_TIMER
#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk
index ab86b1b8ba..336750bc90 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk
@@ -1,24 +1,34 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
-BOOTLOADER = stm32-dfu
-# BOOTLOADER := tinyuf2
+BOOTLOADER := tinyuf2
-LTO_ENABLE := no
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+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 # Enable N-Key Rollover
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = yes # Audio output
+AUDIO_SUPPORTED = yes # is set to no in kb, needs to be forcibly enabled
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-KEYBOARD_SHARED_EP = yes
-MOUSE_SHARED_EP = yes
+KEYBOARD_SHARED_EP = yes
+MOUSE_SHARED_EP = yes
-EEPROM_DRIVER = spi
-WS2812_DRIVER = pwm
-SERIAL_DRIVER = usart
-
-MOUSEKEY_ENABLE = yes
-NKRO_ENABLE = yes
-CONSOLE_ENABLE = yes
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+AUDIO_DRIVER = pwm_hardware
+BACKLIGHT_DRIVER = pwm
AUTOCORRECTION_ENABLE = yes
-
-DEBOUNCE_TYPE = asym_eager_defer_pk
+CAPS_WORD_ENABLE = yes
+SWAP_HANDS_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+DEBOUNCE_TYPE = asym_eager_defer_pk
+WPM_ENABLE = yes
+LTO_ENABLE = no
+# OPT = 3
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..aa8dc85054
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2022 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT_charybdis_4x6( \
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
+ K32, K33, K34, K35, K36, \
+ XXX, K32, K37 \
+)
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk
new file mode 100644
index 0000000000..ef40279cbc
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2021 Manna Harbour
+# https://github.com/manna-harbour/miryoku
+
+MIRYOKU_KLUDGE_THUMBCOMBOS=yes
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
index 75eb2240f3..c31e39261e 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
@@ -19,7 +19,7 @@
#ifdef VIA_ENABLE
/* VIA configuration. */
# define DYNAMIC_KEYMAP_LAYER_COUNT 4
-#endif // VIA_ENABLE
+#endif // VIA_ENABLE
/* Disable unused features. */
#define NO_ACTION_ONESHOT
@@ -33,21 +33,16 @@
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
*/
# define TAPPING_TERM 200
-#endif // TAPPING_TERM
+#endif // TAPPING_TERM
/* Charybdis-specific features. */
#ifdef POINTING_DEVICE_ENABLE
-// Enable pointer acceleration, which increases the speed by ~2x for large
-// displacement, while maintaining 1x speed for slow movements.
-// - `CHARYBDIS_POINTER_ACCELERATION_FACTOR`
-# define CHARYBDIS_POINTER_ACCELERATION_ENABLE
-
// Automatically enable the pointer layer when moving the trackball. See also:
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
+#endif // POINTING_DEVICE_ENABLE
/* RGB Matrix. */
@@ -69,4 +64,4 @@
# define RGB_MATRIX_STARTUP_SAT 255
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
index cf24fea3c0..8c55855af1 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
@@ -18,7 +18,7 @@
#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
# include "timer.h"
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
enum charybdis_keymap_layers {
LAYER_BASE = 0,
@@ -35,18 +35,25 @@ static uint16_t auto_pointer_layer_timer = 0;
# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
+#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
#define LOWER MO(LAYER_LOWER)
#define RAISE MO(LAYER_RAISE)
#define PT_Z LT(LAYER_POINTER, KC_Z)
#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
+#ifndef POINTING_DEVICE_ENABLE
+# define DRGSCRL KC_NO
+# define DPI_MOD KC_NO
+# define S_D_MOD KC_NO
+# define SNIPING KC_NO
+#endif // !POINTING_DEVICE_ENABLE
+
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_BASE] = LAYOUT_charybdis_4x6(
@@ -102,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, XXXXXXX,
+ XXXXXXX, _______, DRGSCRL, SNIPING, EEP_RST, QK_BOOT, QK_BOOT, EEP_RST, SNIPING, DRGSCRL, _______, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1,
XXXXXXX, KC_BTN2, KC_BTN2
@@ -120,33 +127,31 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
# ifdef RGB_MATRIX_ENABLE
rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
rgb_matrix_sethsv_noeeprom(HSV_GREEN);
-# endif // RGB_MATRIX_ENABLE
+# endif // RGB_MATRIX_ENABLE
}
auto_pointer_layer_timer = timer_read();
}
return mouse_report;
}
-void matrix_scan_kb(void) {
+void matrix_scan_user(void) {
if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
auto_pointer_layer_timer = 0;
layer_off(LAYER_POINTER);
# ifdef RGB_MATRIX_ENABLE
rgb_matrix_mode_noeeprom(RGB_MATRIX_STARTUP_MODE);
-# endif // RGB_MATRIX_ENABLE
+# endif // RGB_MATRIX_ENABLE
}
- matrix_scan_user();
}
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
+# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_kb(layer_state_t state) {
- state = layer_state_set_user(state);
+layer_state_t layer_state_set_user(layer_state_t state) {
charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
return state;
}
-# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
+# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
+#endif // POINTING_DEVICE_ENABLE
#ifdef RGB_MATRIX_ENABLE
// Forward-declare this helper function since it is defined in rgb_matrix.c.
@@ -158,9 +163,9 @@ void shutdown_user(void) {
rgblight_enable_noeeprom();
rgblight_mode_noeeprom(1);
rgblight_setrgb_red();
-#endif // RGBLIGHT_ENABLE
+#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
rgb_matrix_set_color_all(RGB_RED);
rgb_matrix_update_pwm_buffers();
-#endif // RGB_MATRIX_ENABLE
+#endif // RGB_MATRIX_ENABLE
}
diff --git a/keyboards/bastardkb/charybdis/4x6/rules.mk b/keyboards/bastardkb/charybdis/4x6/rules.mk
deleted file mode 100644
index e137f5d4cc..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/rules.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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 # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-AUDIO_SUPPORTED = no # Audio is not supported.
-RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default.
-RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default.
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
-RGB_MATRIX_DRIVER = WS2812
-
-# Enable link-time optimization by default. The Charybdis packs a lot of
-# features (RGB, Via, trackball) in a small atmega32u4 package.
-LTO_ENABLE = yes
-
-# Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the
-# trackball side).
-SPLIT_KEYBOARD = yes
-
-POINTING_DEVICE_ENABLE = yes # Enable trackball
-POINTING_DEVICE_DRIVER = pmw3360
-# https://qmk.fm/changes/2018-11-16-use-a-single-endpoint-for-hid-reports
-MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h
new file mode 100644
index 0000000000..15044ef645
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F1, B7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { D5, C7, F0, D7, E6, B4 }
+
+#define MATRIX_ROW_PINS_RIGHT \
+ { D5, F0, C6, D4, B5 }
+#define MATRIX_COL_PINS_RIGHT \
+ { F1, C7, B7, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
new file mode 100644
index 0000000000..4ea658a7d9
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis (4x6) Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk
new file mode 100644
index 0000000000..fa5fe80405
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk
@@ -0,0 +1,36 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported.
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default.
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default.
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the
+# trackball side).
+SPLIT_KEYBOARD = yes
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h
new file mode 100644
index 0000000000..891e511ccb
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F4, F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F6, F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
+
+/* PMW3360 settings. */
+#define PMW33XX_CS_PIN F0
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
new file mode 100644
index 0000000000..151c0e1ca3
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis (4x6) Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk
new file mode 100644
index 0000000000..fa5fe80405
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk
@@ -0,0 +1,36 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported.
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default.
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default.
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+# Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the
+# trackball side).
+SPLIT_KEYBOARD = yes
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+
+# Enable link-time optimization by default. The Charybdis packs a lot of
+# features (RGB, Via, trackball) in a small atmega32u4 package.
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h
new file mode 100644
index 0000000000..e17ec49726
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP29, GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* SPI & PMW3360 settings. */
+#define SPI_DRIVER SPID0
+#define SPI_SCK_PIN GP18
+#define SPI_MOSI_PIN GP19
+#define SPI_MISO_PIN GP20
+#define PMW33XX_CS_PIN GP14
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json
new file mode 100644
index 0000000000..0004eb81c9
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Charybdis (4x6) Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/mcuconf.h
new file mode 100644
index 0000000000..0fdd67c3a2
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/mcuconf.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky/rules.mk
new file mode 100644
index 0000000000..13c1b39961
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/rules.mk
@@ -0,0 +1,36 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+
+POINTING_DEVICE_ENABLE = yes # Enable trackball
+POINTING_DEVICE_DRIVER = pmw3360
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c
index f94682ba41..60bca936e7 100644
--- a/keyboards/bastardkb/charybdis/charybdis.c
+++ b/keyboards/bastardkb/charybdis/charybdis.c
@@ -18,46 +18,44 @@
*/
#include "charybdis.h"
+#include "transactions.h"
+#include <string.h>
#ifdef CONSOLE_ENABLE
# include "print.h"
-#endif // CONSOLE_ENABLE
+#endif // CONSOLE_ENABLE
#ifdef POINTING_DEVICE_ENABLE
# ifndef CHARYBDIS_MINIMUM_DEFAULT_DPI
# define CHARYBDIS_MINIMUM_DEFAULT_DPI 400
-# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI
+# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI
# ifndef CHARYBDIS_DEFAULT_DPI_CONFIG_STEP
# define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200
-# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP
+# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP
# ifndef CHARYBDIS_MINIMUM_SNIPING_DPI
# define CHARYBDIS_MINIMUM_SNIPING_DPI 200
-# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI
+# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI
# ifndef CHARYBDIS_SNIPING_DPI_CONFIG_STEP
# define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
-# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP
+# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP
// Fixed DPI for drag-scroll.
# ifndef CHARYBDIS_DRAGSCROLL_DPI
# define CHARYBDIS_DRAGSCROLL_DPI 100
-# endif // CHARYBDIS_DRAGSCROLL_DPI
+# endif // CHARYBDIS_DRAGSCROLL_DPI
# ifndef CHARYBDIS_DRAGSCROLL_BUFFER_SIZE
# define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 6
-# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE
-
-# ifndef CHARYBDIS_POINTER_ACCELERATION_FACTOR
-# define CHARYBDIS_POINTER_ACCELERATION_FACTOR 24
-# endif // !CHARYBDIS_POINTER_ACCELERATION_FACTOR
+# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE
typedef union {
uint8_t raw;
struct {
- uint8_t pointer_default_dpi : 4; // 16 steps available.
- uint8_t pointer_sniping_dpi : 2; // 4 steps available.
+ uint8_t pointer_default_dpi : 4; // 16 steps available.
+ uint8_t pointer_sniping_dpi : 2; // 4 steps available.
bool is_dragscroll_enabled : 1;
bool is_sniping_enabled : 1;
} __attribute__((packed));
@@ -87,13 +85,19 @@ static void read_charybdis_config_from_eeprom(charybdis_config_t* config) {
* resets these 2 values to `false` since it does not make sense to persist
* these across reboots of the board.
*/
-static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { eeconfig_update_kb(config->raw); }
+static void write_charybdis_config_to_eeprom(charybdis_config_t* config) {
+ eeconfig_update_kb(config->raw);
+}
/** \brief Return the current value of the pointer's default DPI. */
-static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; }
+static uint16_t get_pointer_default_dpi(charybdis_config_t* config) {
+ return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI;
+}
/** \brief Return the current value of the pointer's sniper-mode DPI. */
-static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; }
+static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) {
+ return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI;
+}
/** \brief Set the appropriate DPI for the input config. */
static void maybe_update_pointing_device_cpi(charybdis_config_t* config) {
@@ -128,66 +132,54 @@ static void step_pointer_sniping_dpi(charybdis_config_t* config, bool forward) {
maybe_update_pointing_device_cpi(config);
}
-uint16_t charybdis_get_pointer_default_dpi(void) { return get_pointer_default_dpi(&g_charybdis_config); }
+uint16_t charybdis_get_pointer_default_dpi(void) {
+ return get_pointer_default_dpi(&g_charybdis_config);
+}
-uint16_t charybdis_get_pointer_sniping_dpi(void) { return get_pointer_sniping_dpi(&g_charybdis_config); }
+uint16_t charybdis_get_pointer_sniping_dpi(void) {
+ return get_pointer_sniping_dpi(&g_charybdis_config);
+}
-void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); }
+void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) {
+ step_pointer_default_dpi(&g_charybdis_config, forward);
+}
void charybdis_cycle_pointer_default_dpi(bool forward) {
step_pointer_default_dpi(&g_charybdis_config, forward);
write_charybdis_config_to_eeprom(&g_charybdis_config);
}
-void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); }
+void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) {
+ step_pointer_sniping_dpi(&g_charybdis_config, forward);
+}
void charybdis_cycle_pointer_sniping_dpi(bool forward) {
step_pointer_sniping_dpi(&g_charybdis_config, forward);
write_charybdis_config_to_eeprom(&g_charybdis_config);
}
-bool charybdis_get_pointer_sniping_enabled(void) { return g_charybdis_config.is_sniping_enabled; }
+bool charybdis_get_pointer_sniping_enabled(void) {
+ return g_charybdis_config.is_sniping_enabled;
+}
void charybdis_set_pointer_sniping_enabled(bool enable) {
g_charybdis_config.is_sniping_enabled = enable;
maybe_update_pointing_device_cpi(&g_charybdis_config);
}
-bool charybdis_get_pointer_dragscroll_enabled(void) { return g_charybdis_config.is_dragscroll_enabled; }
+bool charybdis_get_pointer_dragscroll_enabled(void) {
+ return g_charybdis_config.is_dragscroll_enabled;
+}
void charybdis_set_pointer_dragscroll_enabled(bool enable) {
g_charybdis_config.is_dragscroll_enabled = enable;
maybe_update_pointing_device_cpi(&g_charybdis_config);
}
-void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_charybdis_config); }
-
-# ifndef CONSTRAIN_HID
-# define CONSTRAIN_HID(value) ((value) < -127 ? -127 : ((value) > 127 ? 127 : (value)))
-# endif // !CONSTRAIN_HID
-
-/**
- * \brief Add optional acceleration effect.
- *
- * If `CHARYBDIS_ENABLE_POINTER_ACCELERATION` is defined, add a simple and naive
- * acceleration effect to the provided value. Return the value unchanged
- * otherwise.
- */
-# ifndef DISPLACEMENT_WITH_ACCELERATION
-# ifdef CHARYBDIS_POINTER_ACCELERATION_ENABLE
-# define DISPLACEMENT_WITH_ACCELERATION(d) (CONSTRAIN_HID(d > 0 ? d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d : -d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d))
-# else // !CHARYBDIS_POINTER_ACCELERATION_ENABLE
-# define DISPLACEMENT_WITH_ACCELERATION(d) (d)
-# endif // CHARYBDIS_POINTER_ACCELERATION_ENABLE
-# endif // !DISPLACEMENT_WITH_ACCELERATION
-
/**
* \brief Augment the pointing device behavior.
*
- * Implement the Charybdis-specific features for pointing devices:
- * - Drag-scroll
- * - Sniping
- * - Acceleration
+ * Implement drag-scroll.
*/
static void pointing_device_task_charybdis(report_mouse_t* mouse_report) {
static int16_t scroll_buffer_x = 0;
@@ -197,12 +189,12 @@ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) {
scroll_buffer_x -= mouse_report->x;
# else
scroll_buffer_x += mouse_report->x;
-# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X
+# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X
# ifdef CHARYBDIS_DRAGSCROLL_REVERSE_Y
scroll_buffer_y -= mouse_report->y;
# else
scroll_buffer_y += mouse_report->y;
-# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y
+# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y
mouse_report->x = 0;
mouse_report->y = 0;
if (abs(scroll_buffer_x) > CHARYBDIS_DRAGSCROLL_BUFFER_SIZE) {
@@ -213,9 +205,6 @@ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) {
mouse_report->v = scroll_buffer_y > 0 ? 1 : -1;
scroll_buffer_y = 0;
}
- } else if (!g_charybdis_config.is_sniping_enabled) {
- mouse_report->x = DISPLACEMENT_WITH_ACCELERATION(mouse_report->x);
- mouse_report->y = DISPLACEMENT_WITH_ACCELERATION(mouse_report->y);
}
}
@@ -234,9 +223,9 @@ static bool has_shift_mod(void) {
return mod_config(get_mods()) & MOD_MASK_SHIFT;
# else
return mod_config(get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT;
-# endif // NO_ACTION_ONESHOT
+# endif // NO_ACTION_ONESHOT
}
-# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES
+# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES
/**
* \brief Outputs the Charybdis configuration to console.
@@ -252,16 +241,16 @@ static bool has_shift_mod(void) {
static void debug_charybdis_config_to_console(charybdis_config_t* config) {
# ifdef CONSOLE_ENABLE
dprintf("(charybdis) process_record_kb: config = {\n"
- "\traw = 0x%04X,\n"
+ "\traw = 0x%X,\n"
"\t{\n"
- "\t\tis_dragscroll_enabled=%b\n"
- "\t\tis_sniping_enabled=%b\n"
- "\t\tdefault_dpi=0x%02X (%ld)\n"
- "\t\tsniping_dpi=0x%01X (%ld)\n"
+ "\t\tis_dragscroll_enabled=%u\n"
+ "\t\tis_sniping_enabled=%u\n"
+ "\t\tdefault_dpi=0x%X (%u)\n"
+ "\t\tsniping_dpi=0x%X (%u)\n"
"\t}\n"
"}\n",
config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config));
-# endif // CONSOLE_ENABLE
+# endif // CONSOLE_ENABLE
}
bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
@@ -313,7 +302,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
}
break;
}
-# endif // !NO_CHARYBDIS_KEYCODES
+# endif // !NO_CHARYBDIS_KEYCODES
# ifndef MOUSEKEY_ENABLE
// Simulate mouse keys if full support is not enabled (reduces firmware size
// while maintaining support for mouse keys).
@@ -323,9 +312,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
pointing_device_set_report(mouse_report);
pointing_device_send();
}
-# endif // !MOUSEKEY_ENABLE
-# endif // POINTING_DEVICE_ENABLE
- debug_charybdis_config_to_console(&g_charybdis_config);
+# endif // !MOUSEKEY_ENABLE
+# endif // POINTING_DEVICE_ENABLE
+ if ((keycode >= POINTER_DEFAULT_DPI_FORWARD && keycode < CHARYBDIS_SAFE_RANGE) || IS_MOUSEKEY(keycode)) {
+ debug_charybdis_config_to_console(&g_charybdis_config);
+ }
return true;
}
@@ -340,4 +331,64 @@ void matrix_init_kb(void) {
read_charybdis_config_from_eeprom(&g_charybdis_config);
matrix_init_user();
}
-#endif // POINTING_DEVICE_ENABLE
+
+# ifdef CHARYBDIS_CONFIG_SYNC
+void charybdis_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
+ if (initiator2target_buffer_size == sizeof(g_charybdis_config)) {
+ memcpy(&g_charybdis_config, initiator2target_buffer, sizeof(g_charybdis_config));
+ }
+}
+# endif
+
+void keyboard_post_init_kb(void) {
+ maybe_update_pointing_device_cpi(&g_charybdis_config);
+# ifdef CHARYBDIS_CONFIG_SYNC
+ transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, charybdis_config_sync_handler);
+# endif
+ keyboard_post_init_user();
+}
+
+# ifdef CHARYBDIS_CONFIG_SYNC
+void housekeeping_task_kb(void) {
+ if (is_keyboard_master()) {
+ // Keep track of the last state, so that we can tell if we need to propagate to slave.
+ static charybdis_config_t last_charybdis_config = {0};
+ static uint32_t last_sync = 0;
+ bool needs_sync = false;
+
+ // Check if the state values are different.
+ if (memcmp(&g_charybdis_config, &last_charybdis_config, sizeof(g_charybdis_config))) {
+ needs_sync = true;
+ memcpy(&last_charybdis_config, &g_charybdis_config, sizeof(g_charybdis_config));
+ }
+ // 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_KB_CONFIG_SYNC, sizeof(g_charybdis_config), &g_charybdis_config)) {
+ last_sync = timer_read32();
+ }
+ }
+ }
+ // No need to invoke the user-specific callback, as it's been called
+ // already.
+}
+# endif // CHARYBDIS_CONFIG_SYNC
+#endif // POINTING_DEVICE_ENABLE
+
+#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill) || defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
+void keyboard_pre_init_kb(void) {
+ setPinInputHigh(A0);
+ keyboard_pre_init_user();
+}
+
+void matrix_scan_kb(void) {
+ if (!readPin(A0)) {
+ reset_keyboard();
+ }
+ matrix_scan_user();
+}
+#endif // KEYBOARD_bastardkb_charybdis_3x5_blackpill || KEYBOARD_bastardkb_charybdis_4x6_blackpill
diff --git a/keyboards/bastardkb/charybdis/charybdis.h b/keyboards/bastardkb/charybdis/charybdis.h
index 42423c0c92..f624c554f4 100644
--- a/keyboards/bastardkb/charybdis/charybdis.h
+++ b/keyboards/bastardkb/charybdis/charybdis.h
@@ -21,6 +21,8 @@
// clang-format off
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
# include "3x5.h"
+#elif defined(KEYBOARD_bastardkb_charybdis_3x6)
+# include "3x6.h"
#elif defined(KEYBOARD_bastardkb_charybdis_4x6)
# include "4x6.h"
#else
@@ -37,7 +39,7 @@ enum charybdis_keycodes {
POINTER_DEFAULT_DPI_FORWARD = USER00,
# else
POINTER_DEFAULT_DPI_FORWARD = SAFE_RANGE,
-# endif // VIA_ENABLE
+# endif // VIA_ENABLE
POINTER_DEFAULT_DPI_REVERSE,
POINTER_SNIPING_DPI_FORWARD,
POINTER_SNIPING_DPI_REVERSE,
@@ -56,7 +58,7 @@ enum charybdis_keycodes {
# define SNP_TOG SNIPING_MODE_TOGGLE
# define DRGSCRL DRAGSCROLL_MODE
# define DRG_TOG DRAGSCROLL_MODE_TOGGLE
-# endif // !NO_CHARYBDIS_KEYCODES
+# endif // !NO_CHARYBDIS_KEYCODES
/** \brief Return the current DPI value for the pointer's default mode. */
uint16_t charybdis_get_pointer_default_dpi(void);
@@ -123,4 +125,4 @@ bool charybdis_get_pointer_dragscroll_enabled(void);
* are translated into horizontal and vertical scroll movements.
*/
void charybdis_set_pointer_dragscroll_enabled(bool enable);
-#endif // POINTING_DEVICE_ENABLE
+#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/charybdis/post_config.h b/keyboards/bastardkb/charybdis/post_config.h
index 540751f6c6..4cfd24c4b6 100644
--- a/keyboards/bastardkb/charybdis/post_config.h
+++ b/keyboards/bastardkb/charybdis/post_config.h
@@ -20,90 +20,95 @@
#pragma once
+// Enable syncing of charybdis config
+#ifdef CHARYBDIS_CONFIG_SYNC
+# define SPLIT_TRANSACTION_IDS_KB RPC_ID_KB_CONFIG_SYNC
+#endif
+
/* Mouse config. */
#ifndef MOUSEKEY_MOVE_DELTA
# ifndef MK_KINETIC_SPEED
# define MOUSEKEY_MOVE_DELTA 5
-# else // MK_KINETIC_SPEED
+# else // MK_KINETIC_SPEED
# define MOUSEKEY_MOVE_DELTA 25
-# endif // !MK_KINETIC_SPEED
-#endif // !MOUSEKEY_MOVE_DELTA
+# endif // !MK_KINETIC_SPEED
+#endif // !MOUSEKEY_MOVE_DELTA
#ifndef MOUSEKEY_DELAY
# ifndef MK_KINETIC_SPEED
# define MOUSEKEY_DELAY 300
-# else // MK_KINETIC_SPEED
+# else // MK_KINETIC_SPEED
# define MOUSEKEY_DELAY 8
-# endif // !MK_KINETIC_SPEED
-#endif // !MOUSEKEY_DELAY
+# endif // !MK_KINETIC_SPEED
+#endif // !MOUSEKEY_DELAY
#ifndef MOUSEKEY_INTERVAL
# ifndef MK_KINETIC_SPEED
# define MOUSEKEY_INTERVAL 50
-# else // MK_KINETIC_SPEED
+# else // MK_KINETIC_SPEED
# define MOUSEKEY_INTERVAL 20
-# endif // !MK_KINETIC_SPEED
-#endif // !MOUSEKEY_INTERNAL
+# endif // !MK_KINETIC_SPEED
+#endif // !MOUSEKEY_INTERNAL
#ifndef MOUSEKEY_MAX_SPEED
# define MOUSEKEY_MAX_SPEED 7
-#endif // !MOUSEKEY_MAX_SPEED
+#endif // !MOUSEKEY_MAX_SPEED
#ifndef MOUSEKEY_TIME_TO_MAX
# define MOUSEKEY_TIME_TO_MAX 60
-#endif // !MOUSEKEY_TIME_TO_MAX
+#endif // !MOUSEKEY_TIME_TO_MAX
#ifndef MOUSEKEY_INITIAL_SPEED
# define MOUSEKEY_INITIAL_SPEED 100
-#endif // !MOUSEKEY_INITIAL_SPEED
+#endif // !MOUSEKEY_INITIAL_SPEED
#ifndef MOUSEKEY_BASE_SPEED
# define MOUSEKEY_BASE_SPEED 1000
-#endif // !MOUSEKEY_BASE_SPEED
+#endif // !MOUSEKEY_BASE_SPEED
#ifndef MOUSEKEY_DECELERATED_SPEED
# define MOUSEKEY_DECELERATED_SPEED 400
-#endif // !MOUSEKEY_DECELERATED_SPEED
+#endif // !MOUSEKEY_DECELERATED_SPEED
#ifndef MOUSEKEY_ACCELERATED_SPEED
# define MOUSEKEY_ACCELERATED_SPEED 3000
-#endif // !MOUSEKEY_ACCELERATED_SPEED
+#endif // !MOUSEKEY_ACCELERATED_SPEED
/* Mouse scroll config. */
#ifndef MOUSEKEY_WHEEL_DELAY
# define MOUSEKEY_WHEEL_DELAY 15
-#endif // !MOUSEKEY_WHEEL_DELAY
+#endif // !MOUSEKEY_WHEEL_DELAY
#ifndef MOUSEKEY_WHEEL_DELTA
# define MOUSEKEY_WHEEL_DELTA 1
-#endif // !MOUSEKEY_WHEEL_DELTA
+#endif // !MOUSEKEY_WHEEL_DELTA
#ifndef MOUSEKEY_WHEEL_INTERVAL
# define MOUSEKEY_WHEEL_INTERVAL 50
-#endif // !MOUSEKEY_WHEEL_INTERVAL
+#endif // !MOUSEKEY_WHEEL_INTERVAL
#ifndef MOUSEKEY_WHEEL_MAX_SPEED
# define MOUSEKEY_WHEEL_MAX_SPEED 8
-#endif // !MOUSEKEY_WHEEL_MAX_SPEED
+#endif // !MOUSEKEY_WHEEL_MAX_SPEED
#ifndef MOUSEKEY_WHEEL_TIME_TO_MAX
# define MOUSEKEY_WHEEL_TIME_TO_MAX 80
-#endif // !MOUSEKEY_WHEEL_TIME_TO_MAX
+#endif // !MOUSEKEY_WHEEL_TIME_TO_MAX
#ifndef MOUSEKEY_WHEEL_INITIAL_MOVEMENTS
# define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 8
-#endif // !MOUSEKEY_WHEEL_INITIAL_MOVEMENTS
+#endif // !MOUSEKEY_WHEEL_INITIAL_MOVEMENTS
#ifndef MOUSEKEY_WHEEL_BASE_MOVEMENTS
# define MOUSEKEY_WHEEL_BASE_MOVEMENTS 48
-#endif // !MOUSEKEY_WHEEL_BASE_MOVEMENTS
+#endif // !MOUSEKEY_WHEEL_BASE_MOVEMENTS
#ifndef MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS
# define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48
-#endif // !MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS
+#endif // !MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS
#ifndef MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS
# define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8
-#endif // !MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS
+#endif // !MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS
diff --git a/keyboards/bastardkb/charybdis/readme.md b/keyboards/bastardkb/charybdis/readme.md
index 461f33117c..c112c1150e 100644
--- a/keyboards/bastardkb/charybdis/readme.md
+++ b/keyboards/bastardkb/charybdis/readme.md
@@ -18,33 +18,32 @@ Check out the [keyboard build guides](https://docs.bastardkb.com) for the Charyb
## Building the firmware
-### Charybdis (4x6)
-
-The `default` keymap is inspired from the original [Dactyl Manuform](../../handwired/dactyl_manuform) layout.
+**You must specify the shield version when compiling/flashing the firmware.**
+The template is:
```shell
-qmk compile -kb bastardkb/charybdis/4x6 -km default
+qmk compile -kb bastardkb/charybdis/{LAYOUT}/{VERSION}/elitec -km {KEYMAP}
```
-Check out the `via` layout if you're looking for VIA support:
+See below for populated commands per layout
-```shell
-qmk compile -kb bastardkb/charybdis/4x6 -km via
-```
+The `default` keymap is inspired from the original [Dactyl Manuform](../../handwired/dactyl_manuform) layout.
-### Charybdis (3x5)
+Check out the `via` layout if you're looking for VIA support.
-The `default` keymap is inspired from the original [Dactyl Manuform](../../handwired/dactyl_manuform) layout.
+### Charybdis (4x6)
-```shell
-qmk compile -kb bastardkb/charybdis/3x5 -km default
-```
+| Shield Version | default | via |
+|----------------|-----------------------------------------------------------------|-----------------------------------------------------------------|
+| v1 | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km via` |
+| v2 | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km via` |
-Check out the `via` layout if you're looking for VIA support:
+### Charybdis (3x5)
-```shell
-qmk compile -kb bastardkb/charybdis/3x5 -km via
-```
+| Shield Version | default | via |
+|----------------|-----------------------------------------------------------------|-----------------------------------------------------------------|
+| v1 | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km via` |
+| v2 | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km via` |
## Customizing the firmware
@@ -73,7 +72,7 @@ Drag-scroll enables scrolling with the trackball. When drag-scroll is enabled, t
Call `charybdis_set_pointer_dragscroll_enabled(bool enable)` to enable/disable drag-scroll.
-`charybdis_get_pointer_dragscroll_enabled()` returns whether sniping mode is currently enabled.
+`charybdis_get_pointer_dragscroll_enabled()` returns whether drag-scroll mode is currently enabled.
To invert the horizontal scrolling direction, define `CHARYBDIS_DRAGSCROLL_REVERSE_X`:
@@ -114,20 +113,6 @@ This behavior can be further customized with the following defines:
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
```
-### Acceleration
-
-By default, the pointer's movements are linear. To enable acceleration, add the following define:
-
-```c
-#define CHARYBDIS_POINTER_ACCELERATION_ENABLE
-```
-
-The acceleration factor can be further tune _via_ the `CHARYBDIS_POINTER_ACCELERATION_FACTOR`:
-
-```c
-#define CHARYBDIS_POINTER_ACCELERATION_FACTOR 24
-```
-
### Custom keycodes
The Charybdis firmware defines a number of keycodes to leverage its features, namely:
@@ -176,3 +161,23 @@ To disable the custom keycodes, and reduce binary size, simply add a definition
```c
#define NO_CHARYBDIS_KEYCODES
```
+
+### Configuration Syncing
+
+If you want/need to enable syncing of the charybdis config, such as to read the sniping or drag scroll modes on the other half (such as for displaying the status via rgb matrix, or added on screens, or what not), you can enabled this. To do so, add this to your `config.h`:
+
+```c
+#define CHARYBDIS_CONFIG_SYNC
+```
+
+Note that you will need to reflash both sides when enabling this.
+
+### Enable Large Mouse Reports
+
+By default, the X and Y motion for the pointing device/mouse reports is -127 to 127. You can definitely hit the limit for that with the sensors. You can enable support for -32767 to 32767 by adding this to your `config.h`:
+
+```c
+#define MOUSE_EXTENDED_REPORT
+```
+
+Note that you will need to reflash both sides when enabling this.
diff --git a/keyboards/bastardkb/dilemma/config.h b/keyboards/bastardkb/dilemma/config.h
new file mode 100644
index 0000000000..af59efb709
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/config.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* Key matrix configuration. */
+
+#define MATRIX_ROWS 8 // Rows are doubled-up.
+#define MATRIX_COLS 5
+
+#define DIODE_DIRECTION ROW2COL
+
+// Set 0 if debouncing isn't needed.
+#define DEBOUNCE 5
+
+/* Pointing device configuration. */
+
+// Enable use of pointing device on slave split.
+#define SPLIT_POINTING_ENABLE
+
+// Pointing device is on the right split.
+#define POINTING_DEVICE_RIGHT
+
+// Limits the frequency that the sensor is polled for motion.
+#define POINTING_DEVICE_TASK_THROTTLE_MS 10
+
+// Adjust trackpad rotation.
+#define POINTING_DEVICE_ROTATION_90
+
+// Configure for the Cirque model used on the Dilemma.
+#define CIRQUE_PINNACLE_DIAMETER_MM 35
+#define CIRQUE_PINNACLE_CURVED_OVERLAY
diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c
new file mode 100644
index 0000000000..e710f3aab7
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/dilemma.c
@@ -0,0 +1,329 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "dilemma.h"
+
+#ifdef CONSOLE_ENABLE
+# include "print.h"
+#endif // CONSOLE_ENABLE
+
+#ifdef POINTING_DEVICE_ENABLE
+# ifndef DILEMMA_MINIMUM_DEFAULT_DPI
+# define DILEMMA_MINIMUM_DEFAULT_DPI 400
+# endif // DILEMMA_MINIMUM_DEFAULT_DPI
+
+# ifndef DILEMMA_DEFAULT_DPI_CONFIG_STEP
+# define DILEMMA_DEFAULT_DPI_CONFIG_STEP 200
+# endif // DILEMMA_DEFAULT_DPI_CONFIG_STEP
+
+# ifndef DILEMMA_MINIMUM_SNIPING_DPI
+# define DILEMMA_MINIMUM_SNIPING_DPI 200
+# endif // DILEMMA_MINIMUM_SNIPING_DPI
+
+# ifndef DILEMMA_SNIPING_DPI_CONFIG_STEP
+# define DILEMMA_SNIPING_DPI_CONFIG_STEP 100
+# endif // DILEMMA_SNIPING_DPI_CONFIG_STEP
+
+// Fixed DPI for drag-scroll.
+# ifndef DILEMMA_DRAGSCROLL_DPI
+# define DILEMMA_DRAGSCROLL_DPI 100
+# endif // DILEMMA_DRAGSCROLL_DPI
+
+# ifndef DILEMMA_DRAGSCROLL_BUFFER_SIZE
+# define DILEMMA_DRAGSCROLL_BUFFER_SIZE 6
+# endif // !DILEMMA_DRAGSCROLL_BUFFER_SIZE
+
+typedef union {
+ uint8_t raw;
+ struct {
+ uint8_t pointer_default_dpi : 4; // 16 steps available.
+ uint8_t pointer_sniping_dpi : 2; // 4 steps available.
+ bool is_dragscroll_enabled : 1;
+ bool is_sniping_enabled : 1;
+ } __attribute__((packed));
+} dilemma_config_t;
+
+static dilemma_config_t g_dilemma_config = {0};
+
+/**
+ * \brief Set the value of `config` from EEPROM.
+ *
+ * Note that `is_dragscroll_enabled` and `is_sniping_enabled` are purposefully
+ * ignored since we do not want to persist this state to memory. In practice,
+ * this state is always written to maximize write-performances. Therefore, we
+ * explicitly set them to `false` in this function.
+ */
+static void read_dilemma_config_from_eeprom(dilemma_config_t* config) {
+ config->raw = eeconfig_read_kb() & 0xff;
+ config->is_dragscroll_enabled = false;
+ config->is_sniping_enabled = false;
+}
+
+/**
+ * \brief Save the value of `config` to eeprom.
+ *
+ * Note that all values are written verbatim, including whether drag-scroll
+ * and/or sniper mode are enabled. `read_dilemma_config_from_eeprom(…)`
+ * resets these 2 values to `false` since it does not make sense to persist
+ * these across reboots of the board.
+ */
+static void write_dilemma_config_to_eeprom(dilemma_config_t* config) {
+ eeconfig_update_kb(config->raw);
+}
+
+/** \brief Return the current value of the pointer's default DPI. */
+static uint16_t get_pointer_default_dpi(dilemma_config_t* config) {
+ return (uint16_t)config->pointer_default_dpi * DILEMMA_DEFAULT_DPI_CONFIG_STEP + DILEMMA_MINIMUM_DEFAULT_DPI;
+}
+
+/** \brief Return the current value of the pointer's sniper-mode DPI. */
+static uint16_t get_pointer_sniping_dpi(dilemma_config_t* config) {
+ return (uint16_t)config->pointer_sniping_dpi * DILEMMA_SNIPING_DPI_CONFIG_STEP + DILEMMA_MINIMUM_SNIPING_DPI;
+}
+
+/** \brief Set the appropriate DPI for the input config. */
+static void maybe_update_pointing_device_cpi(dilemma_config_t* config) {
+ if (config->is_dragscroll_enabled) {
+ pointing_device_set_cpi(DILEMMA_DRAGSCROLL_DPI);
+ } else if (config->is_sniping_enabled) {
+ pointing_device_set_cpi(get_pointer_sniping_dpi(config));
+ } else {
+ pointing_device_set_cpi(get_pointer_default_dpi(config));
+ }
+}
+
+/**
+ * \brief Update the pointer's default DPI to the next or previous step.
+ *
+ * Increases the DPI value if `forward` is `true`, decreases it otherwise.
+ * The increment/decrement steps are equal to DILEMMA_DEFAULT_DPI_CONFIG_STEP.
+ */
+static void step_pointer_default_dpi(dilemma_config_t* config, bool forward) {
+ config->pointer_default_dpi += forward ? 1 : -1;
+ maybe_update_pointing_device_cpi(config);
+}
+
+/**
+ * \brief Update the pointer's sniper-mode DPI to the next or previous step.
+ *
+ * Increases the DPI value if `forward` is `true`, decreases it otherwise.
+ * The increment/decrement steps are equal to DILEMMA_SNIPING_DPI_CONFIG_STEP.
+ */
+static void step_pointer_sniping_dpi(dilemma_config_t* config, bool forward) {
+ config->pointer_sniping_dpi += forward ? 1 : -1;
+ maybe_update_pointing_device_cpi(config);
+}
+
+uint16_t dilemma_get_pointer_default_dpi(void) {
+ return get_pointer_default_dpi(&g_dilemma_config);
+}
+
+uint16_t dilemma_get_pointer_sniping_dpi(void) {
+ return get_pointer_sniping_dpi(&g_dilemma_config);
+}
+
+void dilemma_cycle_pointer_default_dpi_noeeprom(bool forward) {
+ step_pointer_default_dpi(&g_dilemma_config, forward);
+}
+
+void dilemma_cycle_pointer_default_dpi(bool forward) {
+ step_pointer_default_dpi(&g_dilemma_config, forward);
+ write_dilemma_config_to_eeprom(&g_dilemma_config);
+}
+
+void dilemma_cycle_pointer_sniping_dpi_noeeprom(bool forward) {
+ step_pointer_sniping_dpi(&g_dilemma_config, forward);
+}
+
+void dilemma_cycle_pointer_sniping_dpi(bool forward) {
+ step_pointer_sniping_dpi(&g_dilemma_config, forward);
+ write_dilemma_config_to_eeprom(&g_dilemma_config);
+}
+
+bool dilemma_get_pointer_sniping_enabled(void) {
+ return g_dilemma_config.is_sniping_enabled;
+}
+
+void dilemma_set_pointer_sniping_enabled(bool enable) {
+ g_dilemma_config.is_sniping_enabled = enable;
+ maybe_update_pointing_device_cpi(&g_dilemma_config);
+}
+
+bool dilemma_get_pointer_dragscroll_enabled(void) {
+ return g_dilemma_config.is_dragscroll_enabled;
+}
+
+void dilemma_set_pointer_dragscroll_enabled(bool enable) {
+ g_dilemma_config.is_dragscroll_enabled = enable;
+ maybe_update_pointing_device_cpi(&g_dilemma_config);
+}
+
+void pointing_device_init_kb(void) {
+ maybe_update_pointing_device_cpi(&g_dilemma_config);
+ pointing_device_init_user();
+}
+
+/**
+ * \brief Augment the pointing device behavior.
+ *
+ * Implement drag-scroll.
+ */
+static void pointing_device_task_dilemma(report_mouse_t* mouse_report) {
+ static int16_t scroll_buffer_x = 0;
+ static int16_t scroll_buffer_y = 0;
+ if (g_dilemma_config.is_dragscroll_enabled) {
+# ifdef DILEMMA_DRAGSCROLL_REVERSE_X
+ scroll_buffer_x -= mouse_report->x;
+# else
+ scroll_buffer_x += mouse_report->x;
+# endif // DILEMMA_DRAGSCROLL_REVERSE_X
+# ifdef DILEMMA_DRAGSCROLL_REVERSE_Y
+ scroll_buffer_y -= mouse_report->y;
+# else
+ scroll_buffer_y += mouse_report->y;
+# endif // DILEMMA_DRAGSCROLL_REVERSE_Y
+ mouse_report->x = 0;
+ mouse_report->y = 0;
+ if (abs(scroll_buffer_x) > DILEMMA_DRAGSCROLL_BUFFER_SIZE) {
+ mouse_report->h = scroll_buffer_x > 0 ? 1 : -1;
+ scroll_buffer_x = 0;
+ }
+ if (abs(scroll_buffer_y) > DILEMMA_DRAGSCROLL_BUFFER_SIZE) {
+ mouse_report->v = scroll_buffer_y > 0 ? 1 : -1;
+ scroll_buffer_y = 0;
+ }
+ }
+}
+
+report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
+ if (is_keyboard_master()) {
+ pointing_device_task_dilemma(&mouse_report);
+ mouse_report = pointing_device_task_user(mouse_report);
+ }
+ return mouse_report;
+}
+
+# if defined(POINTING_DEVICE_ENABLE) && !defined(NO_DILEMMA_KEYCODES)
+/** \brief Whether SHIFT mod is enabled. */
+static bool has_shift_mod(void) {
+# ifdef NO_ACTION_ONESHOT
+ return mod_config(get_mods()) & MOD_MASK_SHIFT;
+# else
+ return mod_config(get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT;
+# endif // NO_ACTION_ONESHOT
+}
+# endif // POINTING_DEVICE_ENABLE && !NO_DILEMMA_KEYCODES
+
+/**
+ * \brief Outputs the Dilemma configuration to console.
+ *
+ * Prints the in-memory configuration structure to console, for debugging.
+ * Includes:
+ * - raw value
+ * - drag-scroll: on/off
+ * - sniping: on/off
+ * - default DPI: internal table index/actual DPI
+ * - sniping DPI: internal table index/actual DPI
+ */
+static void debug_dilemma_config_to_console(dilemma_config_t* config) {
+# ifdef CONSOLE_ENABLE
+ dprintf("(dilemma) process_record_kb: config = {\n"
+ "\traw = 0x%X,\n"
+ "\t{\n"
+ "\t\tis_dragscroll_enabled=%u\n"
+ "\t\tis_sniping_enabled=%u\n"
+ "\t\tdefault_dpi=0x%X (%u)\n"
+ "\t\tsniping_dpi=0x%X (%u)\n"
+ "\t}\n"
+ "}\n",
+ config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config));
+# endif // CONSOLE_ENABLE
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
+ if (!process_record_user(keycode, record)) {
+ debug_dilemma_config_to_console(&g_dilemma_config);
+ return false;
+ }
+# ifdef POINTING_DEVICE_ENABLE
+# ifndef NO_DILEMMA_KEYCODES
+ switch (keycode) {
+ case POINTER_DEFAULT_DPI_FORWARD:
+ if (record->event.pressed) {
+ // Step backward if shifted, forward otherwise.
+ dilemma_cycle_pointer_default_dpi(/* forward= */ !has_shift_mod());
+ }
+ break;
+ case POINTER_DEFAULT_DPI_REVERSE:
+ if (record->event.pressed) {
+ // Step forward if shifted, backward otherwise.
+ dilemma_cycle_pointer_default_dpi(/* forward= */ has_shift_mod());
+ }
+ break;
+ case POINTER_SNIPING_DPI_FORWARD:
+ if (record->event.pressed) {
+ // Step backward if shifted, forward otherwise.
+ dilemma_cycle_pointer_sniping_dpi(/* forward= */ !has_shift_mod());
+ }
+ break;
+ case POINTER_SNIPING_DPI_REVERSE:
+ if (record->event.pressed) {
+ // Step forward if shifted, backward otherwise.
+ dilemma_cycle_pointer_sniping_dpi(/* forward= */ has_shift_mod());
+ }
+ break;
+ case SNIPING_MODE:
+ dilemma_set_pointer_sniping_enabled(record->event.pressed);
+ break;
+ case SNIPING_MODE_TOGGLE:
+ if (record->event.pressed) {
+ dilemma_set_pointer_sniping_enabled(!dilemma_get_pointer_sniping_enabled());
+ }
+ break;
+ case DRAGSCROLL_MODE:
+ dilemma_set_pointer_dragscroll_enabled(record->event.pressed);
+ break;
+ case DRAGSCROLL_MODE_TOGGLE:
+ if (record->event.pressed) {
+ dilemma_set_pointer_dragscroll_enabled(!dilemma_get_pointer_dragscroll_enabled());
+ }
+ break;
+ }
+# endif // !NO_DILEMMA_KEYCODES
+# endif // POINTING_DEVICE_ENABLE
+ debug_dilemma_config_to_console(&g_dilemma_config);
+ if ((keycode >= POINTER_DEFAULT_DPI_FORWARD && keycode < DILEMMA_SAFE_RANGE) || IS_MOUSEKEY(keycode)) {
+ debug_dilemma_config_to_console(&g_dilemma_config);
+ }
+ return true;
+}
+
+void eeconfig_init_kb(void) {
+ g_dilemma_config.raw = 0;
+ g_dilemma_config.pointer_default_dpi = 4;
+ write_dilemma_config_to_eeprom(&g_dilemma_config);
+ maybe_update_pointing_device_cpi(&g_dilemma_config);
+ eeconfig_init_user();
+}
+
+void matrix_init_kb(void) {
+ read_dilemma_config_from_eeprom(&g_dilemma_config);
+ matrix_init_user();
+}
+#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/dilemma.h b/keyboards/bastardkb/dilemma/dilemma.h
new file mode 100644
index 0000000000..fbf54c804b
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/dilemma.h
@@ -0,0 +1,134 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+// clang-format off
+#define LAYOUT_split_3x5_2( \
+ k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \
+ k30, k32, k72, k70 \
+) \
+{ \
+ { k00, k01, k02, k03, k04 }, \
+ { k10, k11, k12, k13, k14 }, \
+ { k20, k21, k22, k23, k24 }, \
+ { k30, KC_NO, k32, KC_NO, KC_NO }, \
+ { k40, k41, k42, k43, k44 }, \
+ { k50, k51, k52, k53, k54 }, \
+ { k60, k61, k62, k63, k64 }, \
+ { k70, KC_NO, k72, KC_NO, KC_NO }, \
+}
+// clang-format on
+
+#ifdef POINTING_DEVICE_ENABLE
+# ifndef NO_DILEMMA_KEYCODES
+enum dilemma_keycodes {
+# ifdef VIA_ENABLE
+ POINTER_DEFAULT_DPI_FORWARD = USER00,
+# else
+ POINTER_DEFAULT_DPI_FORWARD = SAFE_RANGE,
+# endif // VIA_ENABLE
+ POINTER_DEFAULT_DPI_REVERSE,
+ POINTER_SNIPING_DPI_FORWARD,
+ POINTER_SNIPING_DPI_REVERSE,
+ SNIPING_MODE,
+ SNIPING_MODE_TOGGLE,
+ DRAGSCROLL_MODE,
+ DRAGSCROLL_MODE_TOGGLE,
+ DILEMMA_SAFE_RANGE,
+};
+
+# define DPI_MOD POINTER_DEFAULT_DPI_FORWARD
+# define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE
+# define S_D_MOD POINTER_SNIPING_DPI_FORWARD
+# define S_D_RMOD POINTER_SNIPING_DPI_REVERSE
+# define SNIPING SNIPING_MODE
+# define SNP_TOG SNIPING_MODE_TOGGLE
+# define DRGSCRL DRAGSCROLL_MODE
+# define DRG_TOG DRAGSCROLL_MODE_TOGGLE
+# endif // !NO_DILEMMA_KEYCODES
+
+/** \brief Return the current DPI value for the pointer's default mode. */
+uint16_t dilemma_get_pointer_default_dpi(void);
+
+/**
+ * \brief Update the pointer's default DPI to the next or previous step.
+ *
+ * Increases the DPI value if `forward` is `true`, decreases it otherwise.
+ * The increment/decrement steps are equal to DILEMMA_DEFAULT_DPI_CONFIG_STEP.
+ *
+ * The new value is persisted in EEPROM.
+ */
+void dilemma_cycle_pointer_default_dpi(bool forward);
+
+/**
+ * \brief Same as `dilemma_cycle_pointer_default_dpi`, but do not write to
+ * EEPROM.
+ *
+ * This means that reseting the board will revert the value to the last
+ * persisted one.
+ */
+void dilemma_cycle_pointer_default_dpi_noeeprom(bool forward);
+
+/** \brief Return the current DPI value for the pointer's sniper-mode. */
+uint16_t dilemma_get_pointer_sniping_dpi(void);
+
+/**
+ * \brief Update the pointer's sniper-mode DPI to the next or previous step.
+ *
+ * Increases the DPI value if `forward` is `true`, decreases it otherwise.
+ * The increment/decrement steps are equal to DILEMMA_SNIPING_DPI_CONFIG_STEP.
+ *
+ * The new value is persisted in EEPROM.
+ */
+void dilemma_cycle_pointer_sniping_dpi(bool forward);
+
+/**
+ * \brief Same as `dilemma_cycle_pointer_sniping_dpi`, but do not write to
+ * EEPROM.
+ *
+ * This means that reseting the board will revert the value to the last
+ * persisted one.
+ */
+void dilemma_cycle_pointer_sniping_dpi_noeeprom(bool forward);
+
+/** \brief Whether sniper-mode is enabled. */
+bool dilemma_get_pointer_sniping_enabled(void);
+
+/**
+ * \brief Enable/disable sniper mode.
+ *
+ * When sniper mode is enabled the dpi is reduced to slow down the pointer for
+ * more accurate movements.
+ */
+void dilemma_set_pointer_sniping_enabled(bool enable);
+
+/** \brief Whether drag-scroll is enabled. */
+bool dilemma_get_pointer_dragscroll_enabled(void);
+
+/**
+ * \brief Enable/disable drag-scroll mode.
+ *
+ * When drag-scroll mode is enabled, horizontal and vertical pointer movements
+ * are translated into horizontal and vertical scroll movements.
+ */
+void dilemma_set_pointer_dragscroll_enabled(bool enable);
+#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/elitec/config.h b/keyboards/bastardkb/dilemma/elitec/config.h
new file mode 100644
index 0000000000..0f26e46fdb
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/elitec/config.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { D4, C6, F5, F7 }
+#define MATRIX_COL_PINS \
+ { B4, B5, E6, D7, F6 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+//#define SPLIT_HAND_PIN F4
+// If you've soldered the handedness pull-up on the upper side instead of the
+// left one, uncomment the following line.
+//#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
diff --git a/keyboards/bastardkb/dilemma/elitec/info.json b/keyboards/bastardkb/dilemma/elitec/info.json
new file mode 100644
index 0000000000..f5916f3ab1
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Dilemma Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/dilemma/elitec/rules.mk b/keyboards/bastardkb/dilemma/elitec/rules.mk
new file mode 100644
index 0000000000..e8326bcf09
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/elitec/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
diff --git a/keyboards/bastardkb/dilemma/info.json b/keyboards/bastardkb/dilemma/info.json
new file mode 100644
index 0000000000..6764219969
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/info.json
@@ -0,0 +1,46 @@
+{
+ "url": "https://bastardkb.com/dilemma",
+ "usb": {
+ "pid": "0x1835",
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_2": {
+ "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":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":"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":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":"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":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":"L30", "x":4, "y":3},
+ {"label":"L32", "x":5, "y":3},
+ {"label":"R32", "x":10, "y":3},
+ {"label":"R30", "x":11, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/bastardkb/dilemma/keymaps/bstiq/README.md b/keyboards/bastardkb/dilemma/keymaps/bstiq/README.md
new file mode 100644
index 0000000000..df1f43cbcb
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/bstiq/README.md
@@ -0,0 +1,3 @@
+# Dilemma @bstiq keymap
+
+Inspired from Miryoku, using home-rows.
diff --git a/keyboards/bastardkb/dilemma/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/keymaps/bstiq/config.h
new file mode 100644
index 0000000000..b2e49c8c6e
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/bstiq/config.h
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#ifdef VIA_ENABLE
+/* Via configuration. */
+# define DYNAMIC_KEYMAP_LAYER_COUNT 8
+#endif // VIA_ENABLE
+
+/**
+ * Configure the global tapping term (default: 200ms).
+ * If you have a lot of accidental mod activations, crank up the tapping term.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
+ */
+#ifndef TAPPING_TERM
+# define TAPPING_TERM 160
+#endif // TAPPING_TERM
+
+// disable trackpad taps
+// #define CIRQUE_PINNACLE_TAPPING_TERM 0
+
+/**
+ * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
+ * twice, except for one-shot keys.
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
+ */
+#define TAPPING_FORCE_HOLD
+
+/*
+ * Tap-or-Hold decision modes.
+ *
+ * Note that the following flags behave differently when combined (ie. when 2 or
+ * more are enabled).
+ *
+ * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
+ * decision modes.
+ */
+
+/**
+ * Faster tap-hold trigger.
+ *
+ * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
+ * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
+ */
+#define PERMISSIVE_HOLD
+
+/**
+ * Prevent normal rollover on alphas from accidentally triggering mods.
+ *
+ * Ignores key presses that interrupt a mod-tap. Must-have for Home Row mod.
+ *
+ * Without `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e
+ * With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
+ * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae
+ *
+ * See docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
+ */
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/** Dilemma-specific features. */
+
+#ifdef POINTING_DEVICE_ENABLE
+// Flip horizontal direction for drag-scroll.
+# define DILEMMA_DRAGSCROLL_REVERSE_X
+// #define DILEMMA_DRAGSCROLL_REVERSE_Y
+#endif // POINTING_DEVICE_ENABLE
+
+/** RGB Matrix. */
+
+#ifdef RGB_MATRIX_ENABLE
+// Enable all animations on ARM boards since they have plenty of memory
+// available for it.
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+// Limit maximum brightness to keep power consumption reasonable, and avoid
+// disconnects.
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
+
+// Rainbow swirl as startup mode.
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+// Slow swirl at startup.
+# define RGB_MATRIX_STARTUP_SPD 32
+
+// Startup values.
+# define RGB_MATRIX_STARTUP_HUE 0
+# define RGB_MATRIX_STARTUP_SAT 255
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/dilemma/keymaps/bstiq/keymap.c b/keyboards/bastardkb/dilemma/keymaps/bstiq/keymap.c
new file mode 100644
index 0000000000..f8396cb1c2
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/bstiq/keymap.c
@@ -0,0 +1,224 @@
+/**
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum bstiq_layers {
+ LAYER_BASE = 0,
+ LAYER_MBO,
+ LAYER_MEDIA,
+ LAYER_NAV,
+ LAYER_MOUSE,
+ LAYER_SYM,
+ LAYER_NUM,
+ LAYER_FUN,
+};
+
+// Automatically enable sniping when the mouse layer is on.
+#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_MOUSE
+
+#define BSP_NAV LT(LAYER_NAV, KC_BSPC)
+#define ENT_MBO LT(LAYER_MBO, KC_ENT)
+#define TAB_MED LT(LAYER_MEDIA, KC_TAB)
+#define ESC_SYM LT(LAYER_SYM, KC_ESC)
+#define SPC_NUM LT(LAYER_NUM, KC_SPC)
+#define SPC_MBO LT(LAYER_MBO, KC_SPC)
+#define MOUSE(KC) LT(LAYER_MOUSE, KC)
+
+#define USR_RDO KC_AGAIN
+#define USR_PST S(KC_INS)
+#define USR_CPY C(KC_INS)
+#define USR_CUT S(KC_DEL)
+#define USR_UND KC_UNDO
+
+#define MS_L KC_MS_LEFT
+#define MS_R KC_MS_RIGHT
+#define MS_D KC_MS_DOWN
+#define MS_U KC_MS_UP
+
+#define WH_L KC_MS_WH_LEFT
+#define WH_R KC_MS_WH_RIGHT
+#define WH_D KC_MS_WH_DOWN
+#define WH_U KC_MS_WH_UP
+
+// clang-format off
+/** Convenience macro. */
+#define _KC_LAYOUT_wrapper( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
+ ...) \
+ KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \
+ KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \
+ KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \
+ __VA_ARGS__
+#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__)
+
+/** Base layer with BÉPO layout. */
+#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \
+ B, W, P, O, QUOT, DOT, V, D, L, J, \
+ A, U, I, E, COMM, C, T, S, R, N, \
+ Z, Y, X, SLSH, K, M, Q, G, H, F, \
+ SPC_MBO, TAB_MED, ESC_SYM, SPC_NUM)
+
+/** Convenience key shorthands. */
+#define U_NA KC_NO // Present but not available for use.
+#define U_NU KC_NO // Available but not used.
+
+/** Convenience row shorthands. */
+#define ________________HOME_ROW_NA________________ U_NA, U_NA, U_NA, U_NA, U_NA
+#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA
+#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA
+#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI
+#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA
+
+/** Layers. */
+
+// Buttons.
+#define LAYOUT_LAYER_MBO \
+ ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ ______________HOME_ROW_GASC_L______________, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
+ KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
+ U_NA, U_NA, KC_ENT, KC_ENT
+
+// Media.
+#define LAYOUT_LAYER_MEDIA \
+ ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ ______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \
+ ______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \
+ U_NA, U_NA, KC_BTN1, KC_BTN3
+
+// Navigation.
+#define LAYOUT_LAYER_NAV \
+ ________________HOME_ROW_NA________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
+ ______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
+ ______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \
+ U_NA, U_NA, KC_MSTP, KC_MPLY
+
+// Mouse.
+#define LAYOUT_LAYER_MOUSE \
+ S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
+ DPI_MOD, DRGSCRL, KC_LSFT, DRGSCRL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \
+ USR_RDO, USR_PST, USR_CPY, KC_BTN3, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \
+ KC_BTN1, KC_BTN2, KC_BTN1, KC_BTN3
+
+// Symbols.
+#define LAYOUT_LAYER_SYM \
+ KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, ________________HOME_ROW_NA________________, \
+ KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_MINS, ______________HOME_ROW_ALGR_R______________, \
+ KC_RPRN, KC_LPRN, U_NA, U_NA
+
+// Numerals.
+#define LAYOUT_LAYER_NUM \
+ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, ________________HOME_ROW_NA________________, \
+ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_UNDS, ______________HOME_ROW_ALGR_R______________, \
+ KC_0, KC_MINS, U_NA, U_NA
+
+// Function keys.
+#define LAYOUT_LAYER_FUN \
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, ________________HOME_ROW_NA________________, \
+ KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, ______________HOME_ROW_GASC_R______________, \
+ KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\
+ KC_APP, KC_TAB, U_NA, U_NA
+
+/**
+ * Add Home Row mod to a layout.
+ *
+ * Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl)
+ * home row. The layout passed in parameter must contain at least 20 keycodes.
+ *
+ * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
+ *
+ * HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)
+ */
+#define _HOME_ROW_MOD_GASC( \
+ L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
+ ...) \
+ L00, L01, L02, L03, L04, \
+ R05, R06, R07, R08, R09, \
+ LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \
+ R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \
+ __VA_ARGS__
+#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__)
+
+/**
+ * Add mouse layer keys to a layout.
+ *
+ * Expects a 10-key per row layout. The layout passed in parameter must contain
+ * at least 30 keycodes.
+ *
+ * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
+ *
+ * MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO)
+ */
+#define _MOUSE_MOD( \
+ L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
+ L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \
+ ...) \
+ L00, L01, L02, L03, L04, \
+ R05, R06, R07, R08, R09, \
+ L10, L11, L12, L13, L14, \
+ R15, R16, R17, R18, R19, \
+ L20, MOUSE(L21), L22, L23, L24, \
+ R25, R26, R27, R28, MOUSE(R29), \
+ __VA_ARGS__
+#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__)
+
+#define LAYOUT_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_wrapper(
+ MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO))
+ ),
+ [LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO),
+ [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA),
+ [LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV),
+ [LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE),
+ [LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM),
+ [LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM),
+ [LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN),
+};
+// clang-format on
+
+#if defined(POINTING_DEVICE_ENABLE) && defined(DILEMMA_AUTO_SNIPING_ON_LAYER)
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+ dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
+ return state;
+}
+#endif // POINTING_DEVICE_ENABLE && DILEMMA_AUTO_SNIPING_ON_LAYER
+
+#ifdef RGB_MATRIX_ENABLE
+// Forward-declare this helper function since it is defined in rgb_matrix.c.
+void rgb_matrix_update_pwm_buffers(void);
+#endif
+
+void shutdown_user(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_enable_noeeprom();
+ rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+ rgblight_setrgb_red();
+#endif // RGBLIGHT_ENABLE
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_set_color_all(RGB_RED);
+ rgb_matrix_update_pwm_buffers();
+#endif // RGB_MATRIX_ENABLE
+}
diff --git a/keyboards/bastardkb/dilemma/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3f77ebcabb
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/default/keymap.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum charybdis_keymap_layers {
+ LAYER_BASE = 0,
+ LAYER_NAV,
+ LAYER_SYM,
+ LAYER_NUM,
+};
+
+#define NAV MO(LAYER_NAV)
+#define SYM MO(LAYER_SYM)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_split_3x5_2(
+ // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
+ NAV, CAPSWRD, KC_SPC, SYM
+ // ╰──────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_NAV] = LAYOUT_split_3x5_2(
+ // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
+ KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ QK_BOOT, EEP_RST, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
+ // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
+ _______, KC_LSFT, KC_SPC, _______
+ // ╰──────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_SYM] = LAYOUT_split_3x5_2(
+ // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
+ KC_ESC, KC_LBRC, KC_LCBR, KC_LPRN, KC_TILD, KC_CIRC, KC_RPRN, KC_RCBR, KC_RBRC, KC_GRV,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
+ // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
+ _______, KC_LSFT, KC_SPC, _______
+ // ╰──────────────────╯ ╰──────────────────╯
+ ),
+
+ [LAYER_NUM] = LAYOUT_split_3x5_2(
+ // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F11, KC_F12, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
+ // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
+ _______, KC_LSFT, KC_SPC, _______
+ // ╰──────────────────╯ ╰──────────────────╯
+ ),
+};
+// clang-format on
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM);
+}
diff --git a/keyboards/bastardkb/dilemma/keymaps/drashna/config.h b/keyboards/bastardkb/dilemma/keymaps/drashna/config.h
new file mode 100644
index 0000000000..d7b1351d89
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/drashna/config.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define CIRQUE_PINNACLE_TAP_ENABLE
+#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE
diff --git a/keyboards/bastardkb/dilemma/keymaps/drashna/keymap.c b/keyboards/bastardkb/dilemma/keymaps/drashna/keymap.c
new file mode 100644
index 0000000000..9cd21c3c1f
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/drashna/keymap.c
@@ -0,0 +1,160 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "drashna.h"
+
+// clang-format off
+#define LAYOUT_split_3x5_2_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__)
+#define LAYOUT_split_3x5_2_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_split_3x5_2 ( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ ALT_T(K11), K12, K13, K14, GUI_T(K15), LGUI_T(K16), K17, K18, K19, LALT_T(K1A), \
+ CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), \
+ KC_SPC, BK_LWER, DL_RAIS, RSFT_T(KC_ENT) \
+ )
+
+#define LAYOUT_split_3x5_2_base_wrapper(...) LAYOUT_split_3x5_2_base(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_DEFAULT_LAYER_1] = LAYOUT_split_3x5_2_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_split_3x5_2_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_split_3x5_2_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DEFAULT_LAYER_4] = LAYOUT_split_3x5_2_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+ [_MOUSE] = LAYOUT_split_3x5_2(
+ _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD,
+ _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6,
+ _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______,
+ SNIPING, _______, _______, _______
+ ),
+ [_LOWER] = LAYOUT_split_3x5_2_wrapper(
+ _________________LOWER_L1__________________, _________________LOWER_R1__________________,
+ _________________LOWER_L2__________________, _________________LOWER_R2__________________,
+ _________________LOWER_L3__________________, _________________LOWER_R3__________________,
+ _______, _______, _______, AUTO_CTN
+ ),
+ [_RAISE] = LAYOUT_split_3x5_2_wrapper(
+ _________________RAISE_L1__________________, _________________RAISE_R1__________________,
+ _________________RAISE_L2__________________, _________________RAISE_R2__________________,
+ _________________RAISE_L3__________________, _________________RAISE_R3__________________,
+ _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT_split_3x5_2_wrapper(
+ _________________ADJUST_L1_________________, _________________ADJUST_R1_________________,
+ _________________ADJUST_L2_________________, _________________ADJUST_R2_________________,
+ _________________ADJUST_L3_________________, _________________ADJUST_R3_________________,
+ KC_NUKE, _______, _______, QK_BOOT
+ ),
+};
+
+
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
+ for (int32_t i = 0; i < 40; i++) {
+ __asm__ volatile("nop" ::: "memory");
+ }
+}
+
+
+#if defined(OLED_ENABLE) && defined(OLED_DISPLAY_128X128)
+# ifdef UNICODE_COMMON_ENABLE
+# include "process_unicode_common.h"
+# include "keyrecords/unicode.h"
+# endif
+
+extern const char PROGMEM display_border[3];
+
+
+extern uint32_t oled_timer;
+extern bool is_oled_enabled;
+
+
+bool oled_task_keymap(void) {
+ static const char PROGMEM header_image[] = {
+ 0, 192, 32, 16, 8, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 7, 15, 31, 63, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 63, 31, 15, 7, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 8, 16, 32, 192, 0,
+ // 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0
+ };
+ oled_write_raw_P(header_image, sizeof(header_image));
+ oled_set_cursor(7, 0);
+ oled_write_P(PSTR("Rock On"), true);
+
+ render_default_layer_state(1, 1);
+ render_layer_state(1, 2);
+ render_kitty(0, 5);
+ render_wpm(1, 7, 5);
+# if defined(POINTING_DEVICE_ENABLE)
+ render_pointing_dpi_status(dilemma_get_pointer_sniping_enabled() ? dilemma_get_pointer_sniping_dpi() : dilemma_get_pointer_default_dpi(), 1, 7, 6);
+ render_mouse_mode(17, 6);
+# elif defined(WPM_ENABLE) && defined(DEBUG_MATRIX_SCAN_RATE)
+ render_matrix_scan_rate(1, 7, 6);
+# endif
+ render_bootmagic_status(7, 7);
+ render_user_status(1, 9);
+
+ render_mod_status(get_mods() | get_oneshot_mods(), 1, 10);
+ render_keylock_status(host_keyboard_led_state(), 1, 11);
+ render_unicode_mode(1, 12);
+
+// render_rgb_hsv(1, 13);
+ oled_set_cursor(1, 13);
+ // oled_write_P(PSTR("Timer:"), false);
+ // oled_write(get_u8_str((uint8_t)(timer_elapsed32(oled_timer) / 1000), ' '), false);
+ oled_write_P(PSTR("Status: "), false);
+ if (is_oled_enabled) {
+ oled_write_P(PSTR("on "), false);
+ } else {
+ oled_write_P(PSTR("off"), false);
+ }
+
+ render_keylogger_status(1, 14);
+
+ for (uint8_t i = 1; i < 15; i++) {
+ oled_set_cursor(0, i);
+ oled_write_raw_P(display_border, sizeof(display_border));
+ oled_set_cursor(21, i);
+ oled_write_raw_P(display_border, sizeof(display_border));
+ }
+
+ static const char PROGMEM footer_image[] = {0, 3, 4, 8, 16, 32, 64, 128, 128, 128, 128, 128, 128, 128, 192, 224, 240, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 240, 224, 192, 128, 128, 128, 128, 128, 128, 128, 64, 32, 16, 8, 4, 3, 0};
+ oled_set_cursor(0, 15);
+ oled_write_raw_P(footer_image, sizeof(footer_image));
+
+ return false;
+}
+#endif
diff --git a/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk b/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk
new file mode 100644
index 0000000000..5f4afb7259
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk
@@ -0,0 +1,8 @@
+SWAP_HANDS_ENABLE = no
+AUTOCORRECTION_ENABLE = yes
+CAPS_WORD_ENABLE = yes
+CONSOLE_ENABLE = yes
+KEYLOGGER_ENABLE = no
+WPM_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = custom
diff --git a/keyboards/bastardkb/dilemma/readme.md b/keyboards/bastardkb/dilemma/readme.md
new file mode 100644
index 0000000000..ecd1f9f1c9
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/readme.md
@@ -0,0 +1,14 @@
+# Dilemma
+
+A very small keyboard made for ergonomic enthusiasts.
+
+- Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
+- Hardware Supported: elite-C V4, Splinky
+- Hardware Availability: [Bastardkb.com](https://bastardkb.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make bastardkb/dilemma/elitec:default
+ make bastardkb/dilemma/splinky:default
+
+See the [keyboard build instructions](http://docs.bastardkb.com/)
diff --git a/keyboards/bastardkb/dilemma/rules.mk b/keyboards/bastardkb/dilemma/rules.mk
new file mode 100644
index 0000000000..499eadfdfb
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/rules.mk
@@ -0,0 +1,25 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = no # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix functionality
+
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_2
+
+DEFAULT_FOLDER = bastardkb/dilemma/splinky
diff --git a/keyboards/bastardkb/dilemma/splinky/config.h b/keyboards/bastardkb/dilemma/splinky/config.h
new file mode 100644
index 0000000000..80c9e42224
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/config.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP4, GP5, GP28, GP26 }
+#define MATRIX_COL_PINS \
+ { GP8, GP9, GP7, GP6, GP27 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+//#define SPLIT_HAND_PIN GP29
+// If you've soldered the handedness pull-up on the upper side instead of the
+// left one, uncomment the following line.
+//#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/dilemma/splinky/halconf.h b/keyboards/bastardkb/dilemma/splinky/halconf.h
new file mode 100644
index 0000000000..a4c25c090a
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next "halconf.h"
diff --git a/keyboards/bastardkb/dilemma/splinky/info.json b/keyboards/bastardkb/dilemma/splinky/info.json
new file mode 100644
index 0000000000..07ee320bb9
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Dilemma Splinky",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/dilemma/splinky/mcuconf.h b/keyboards/bastardkb/dilemma/splinky/mcuconf.h
new file mode 100644
index 0000000000..5e47eac54f
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/mcuconf.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/bastardkb/dilemma/splinky/rules.mk b/keyboards/bastardkb/dilemma/splinky/rules.mk
new file mode 100644
index 0000000000..9c593c6ed8
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/rules.mk
@@ -0,0 +1,9 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+SERIAL_DRIVER = vendor
diff --git a/keyboards/bastardkb/dilemma/splinky/splinky.c b/keyboards/bastardkb/dilemma/splinky/splinky.c
new file mode 100644
index 0000000000..0100ae06ae
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/splinky/splinky.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+// Forward declare RP2040 SDK declaration.
+void gpio_init(uint gpio);
+
+void keyboard_pre_init_kb(void) {
+ // Ensures that GP26 through GP29 are initialized as digital inputs (as
+ // opposed to analog inputs). These GPIOs are shared with A0 through A3,
+ // respectively. On RP2040-B2 and later, the digital inputs are disabled by
+ // default (see RP2040-E6).
+ gpio_init(GP26);
+ gpio_init(GP27);
+ gpio_init(GP28);
+ gpio_init(GP29);
+ keyboard_pre_init_user();
+}
diff --git a/keyboards/bastardkb/info.json b/keyboards/bastardkb/info.json
new file mode 100644
index 0000000000..2791a78b77
--- /dev/null
+++ b/keyboards/bastardkb/info.json
@@ -0,0 +1,8 @@
+{
+ "url": "https://bastardkb.com",
+ "manufacturer": "Bastard Keyboards",
+ "maintainer": "Quentin Lebastard",
+ "usb": {
+ "vid": "0xA8F8",
+ },
+}
diff --git a/keyboards/bastardkb/scylla/blackpill/config.h b/keyboards/bastardkb/scylla/blackpill/config.h
new file mode 100644
index 0000000000..773ee947d7
--- /dev/null
+++ b/keyboards/bastardkb/scylla/blackpill/config.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B15, A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B0, B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
diff --git a/keyboards/bastardkb/scylla/blackpill/halconf.h b/keyboards/bastardkb/scylla/blackpill/halconf.h
new file mode 100644
index 0000000000..0d4b7b5dc5
--- /dev/null
+++ b/keyboards/bastardkb/scylla/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json
new file mode 100644
index 0000000000..587cc2bc04
--- /dev/null
+++ b/keyboards/bastardkb/scylla/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Scylla Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/scylla/blackpill/mcuconf.h b/keyboards/bastardkb/scylla/blackpill/mcuconf.h
new file mode 100644
index 0000000000..e7cf3681fd
--- /dev/null
+++ b/keyboards/bastardkb/scylla/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 FALSE
+
+//#undef STM32_I2C_I2C1_RX_DMA_STREAM
+//#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+//#undef STM32_I2C_I2C1_TX_DMA_STREAM
+//#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+//#undef STM32_PWM_USE_TIM3
+//#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+//#undef STM32_SPI_SPI1_RX_DMA_STREAM
+//#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+//#undef STM32_SPI_SPI1_TX_DMA_STREAM
+//#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+//#undef STM32_SERIAL_USE_USART2
+//#define STM32_SERIAL_USE_USART2 TRUE
+
+//#undef STM32_UART_USART2_RX_DMA_STREAM
+//#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+//#undef STM32_UART_USART2_TX_DMA_STREAM
+//#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM3
+#define STM32_GPT_USE_TIM3 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/scylla/blackpill/rules.mk b/keyboards/bastardkb/scylla/blackpill/rules.mk
new file mode 100644
index 0000000000..cf2041ea1c
--- /dev/null
+++ b/keyboards/bastardkb/scylla/blackpill/rules.mk
@@ -0,0 +1,36 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h
index d876b5d018..777f99197a 100644
--- a/keyboards/bastardkb/scylla/config.h
+++ b/keyboards/bastardkb/scylla/config.h
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,90 +17,30 @@
*/
#pragma once
+
#include "config_common.h"
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1829
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT Scylla
-#define MATRIX_ROWS 10
+/* Key matrix configuration. */
+#define MATRIX_ROWS 10 // Rows are doubled-up.
#define MATRIX_COLS 6
+
#define DIODE_DIRECTION ROW2COL
-#define MATRIX_ROW_PINS { D7, B5, F7, F6, B6 }
-#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 }
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 58
-#define RGBLED_SPLIT { 29, 29 }
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_ANIMATIONS
+/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-#define SOFT_SERIAL_PIN D0
-#define MASTER_RIGHT
-#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 58
-# define RGBLED_SPLIT { 29, 29 }
-# define RGBLIGHT_LIMIT_VAL 50
-# define RGBLIGHT_ANIMATIONS
-#endif
+/* RGB settings. */
+#define RGBLED_NUM 58
+#define RGBLED_SPLIT \
+ { 29, 29 }
-// RGB matrix support
+/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define DRIVER_LED_TOTAL 58 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 29, 29 }
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json
index 104932e471..026b0f742e 100644
--- a/keyboards/bastardkb/scylla/info.json
+++ b/keyboards/bastardkb/scylla/info.json
@@ -1,7 +1,8 @@
{
- "keyboard_name": "The Bastard Keyboard",
- "url": "https://bastardkb.com/",
- "maintainer": "Quentin Lebastard",
+ "url": "https://bastardkb.com/scylla",
+ "usb": {
+ "pid": "0x1829",
+ },
"layouts": {
"LAYOUT_split_4x6_5": {
"layout": [
diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
index fe9a834fa2..85781f6631 100644
--- a/keyboards/bastardkb/scylla/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -19,42 +19,33 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_4x6_5(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI,
- KC_HOME, KC_BSPC, KC_DEL, KC_RALT
- ),
+ [0] = LAYOUT_split_4x6_5(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ //-------------------------------------------------//-----------------------------------------------------------//
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ //-------------------------------------------------//-----------------------------------------------------------//
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ //-------------------------------------------------//-----------------------------------------------------------//
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ //-------------------------------------------------//-----------------------------------------------------------//
+ KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI, KC_HOME, KC_BSPC, KC_DEL, KC_RALT),
- [1] = LAYOUT_split_4x6_5(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
-//---------------------------------------------------------//-----------------------------------------------------------//
- QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
+ [1] = LAYOUT_split_4x6_5(KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ //---------------------------------------------------------//-----------------------------------------------------------//
+ QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
+ //---------------------------------------------------------//-----------------------------------------------------------//
+ _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
+ //---------------------------------------------------------//-----------------------------------------------------------//
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
+ //---------------------------------------------------------//-----------------------------------------------------------//
+ KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT),
- [2] = LAYOUT_split_4x6_5(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_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_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
+ [2] = LAYOUT_split_4x6_5(KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ //---------------------------------------------------------//--------------------------------------------------------------//
+ _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_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_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT),
};
diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c
index 94dd182c69..f4f8cfd1da 100644
--- a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c
+++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL,
_______, KC_RGHT, _______, _______, _______, _______,
- KC_LEFT, _______, RESET , _______
+ KC_LEFT, _______, QK_BOOT, _______
),
[_RAISE] = LAYOUT_split_4x6_5(
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_4x6_5(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h
index 09433f3f40..5a3153ae37 100644
--- a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c
index b8f70bdc9b..b1f45951b7 100644
--- a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c
+++ b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_split_4x6_5(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- RESET, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT_split_4x6_5(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, RESET,
+ _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, QK_BOOT,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_4x6_5(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
diff --git a/keyboards/bastardkb/scylla/readme.md b/keyboards/bastardkb/scylla/readme.md
index 70df5cfbb9..5a83083b96 100644
--- a/keyboards/bastardkb/scylla/readme.md
+++ b/keyboards/bastardkb/scylla/readme.md
@@ -17,6 +17,6 @@ See the [keyboard build instructions](https://docs.bastardkb.com)
## Important information regarding the reset
-If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
+If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
diff --git a/keyboards/bastardkb/scylla/rules.mk b/keyboards/bastardkb/scylla/rules.mk
deleted file mode 100644
index fe2991040d..0000000000
--- a/keyboards/bastardkb/scylla/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
-RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/scylla/scylla.h b/keyboards/bastardkb/scylla/scylla.h
index 196982952f..4039ad3a94 100644
--- a/keyboards/bastardkb/scylla/scylla.h
+++ b/keyboards/bastardkb/scylla/scylla.h
@@ -1,5 +1,6 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,28 +16,29 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#pragma once
+
#include "quantum.h"
-// SWITCHED 91 and 95 - check on left ?
-#define LAYOUT_split_4x6_5( \
- k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
- k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
- k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
- k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \
- k43, k44, k41, k91, k94, k93, \
- k45, k42, k92, k95 \
-)\
-{\
- { k00, k01, k02, k03, k04, k05 }, \
- { k10, k11, k12, k13, k14, k15 }, \
- { k20, k21, k22, k23, k24, k25 }, \
- { k30, k31, k32, k33, k34, k35 }, \
- { KC_NO, k41, k42, k43, k44, k45 }, \
- { k50, k51, k52, k53, k54, k55 }, \
- { k60, k61, k62, k63, k64, k65 }, \
- { k70, k71, k72, k73, k74, k75 }, \
- { k80, k81, k82, k83, k84, k85 }, \
- { KC_NO, k91, k92, k93, k94, k95 }, \
+// clang-format off
+#define LAYOUT_split_4x6_5( \
+ k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
+ k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
+ k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
+ k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \
+ k43, k44, k41, k91, k94, k93, \
+ k45, k42, k92, k95 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k33, k34, k35 }, \
+ { KC_NO, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { k70, k71, k72, k73, k74, k75 }, \
+ { k80, k81, k82, k83, k84, k85 }, \
+ { KC_NO, k91, k92, k93, k94, k95 }, \
}
+// clang-format on
diff --git a/keyboards/bastardkb/scylla/v1/elitec/config.h b/keyboards/bastardkb/scylla/v1/elitec/config.h
new file mode 100644
index 0000000000..0990e6d068
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v1/elitec/config.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { D7, B5, F7, F6, B6 }
+#define MATRIX_COL_PINS \
+ { B4, E6, C6, B1, B3, B2 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D0
+
+/* RGB settings. */
+#define RGB_DI_PIN D2
diff --git a/keyboards/bastardkb/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json
new file mode 100644
index 0000000000..57b36e1e2a
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Scylla Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/scylla/v1/elitec/rules.mk b/keyboards/bastardkb/scylla/v1/elitec/rules.mk
new file mode 100644
index 0000000000..0c131a2eaf
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v1/elitec/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/bastardkb/scylla/v2/elitec/config.h b/keyboards/bastardkb/scylla/v2/elitec/config.h
new file mode 100644
index 0000000000..698f6e426f
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/elitec/config.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F4, F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F6, F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
diff --git a/keyboards/bastardkb/scylla/v2/elitec/info.json b/keyboards/bastardkb/scylla/v2/elitec/info.json
new file mode 100644
index 0000000000..213bb9a79c
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Scylla Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/scylla/v2/elitec/rules.mk b/keyboards/bastardkb/scylla/v2/elitec/rules.mk
new file mode 100644
index 0000000000..0c131a2eaf
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/elitec/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/bastardkb/scylla/v2/splinky/config.h b/keyboards/bastardkb/scylla/v2/splinky/config.h
new file mode 100644
index 0000000000..5f678fb331
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/splinky/config.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP29, GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/scylla/v2/splinky/info.json b/keyboards/bastardkb/scylla/v2/splinky/info.json
new file mode 100644
index 0000000000..614e22eefa
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Scylla Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/scylla/v2/splinky/rules.mk b/keyboards/bastardkb/scylla/v2/splinky/rules.mk
new file mode 100644
index 0000000000..8dfc0256ab
--- /dev/null
+++ b/keyboards/bastardkb/scylla/v2/splinky/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bastardkb/skeletyl/blackpill/config.h b/keyboards/bastardkb/skeletyl/blackpill/config.h
new file mode 100644
index 0000000000..cbff281ddc
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/blackpill/config.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
diff --git a/keyboards/bastardkb/skeletyl/blackpill/halconf.h b/keyboards/bastardkb/skeletyl/blackpill/halconf.h
new file mode 100644
index 0000000000..0d4b7b5dc5
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/bastardkb/skeletyl/blackpill/info.json b/keyboards/bastardkb/skeletyl/blackpill/info.json
new file mode 100644
index 0000000000..16106f2f82
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Skeletyl Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h
new file mode 100644
index 0000000000..e7cf3681fd
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 FALSE
+
+//#undef STM32_I2C_I2C1_RX_DMA_STREAM
+//#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+//#undef STM32_I2C_I2C1_TX_DMA_STREAM
+//#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+//#undef STM32_PWM_USE_TIM3
+//#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+//#undef STM32_SPI_SPI1_RX_DMA_STREAM
+//#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+//#undef STM32_SPI_SPI1_TX_DMA_STREAM
+//#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+//#undef STM32_SERIAL_USE_USART2
+//#define STM32_SERIAL_USE_USART2 TRUE
+
+//#undef STM32_UART_USART2_RX_DMA_STREAM
+//#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+//#undef STM32_UART_USART2_TX_DMA_STREAM
+//#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM3
+#define STM32_GPT_USE_TIM3 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/skeletyl/blackpill/rules.mk b/keyboards/bastardkb/skeletyl/blackpill/rules.mk
new file mode 100644
index 0000000000..4ecd8c6924
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/blackpill/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3
+
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h
index fae8e2ec03..8494e2bfac 100644
--- a/keyboards/bastardkb/skeletyl/config.h
+++ b/keyboards/bastardkb/skeletyl/config.h
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,87 +17,30 @@
*/
#pragma once
+
#include "config_common.h"
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1830
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT Skeletyl
-#define MATRIX_ROWS 8
+/* Key matrix configuration. */
+#define MATRIX_ROWS 8 // Rows are doubled-up.
#define MATRIX_COLS 5
-#define RGBLIGHT_LIMIT_VAL 180
-#define MATRIX_ROW_PINS { B5, F7, F6, B6 }
-#define MATRIX_COL_PINS { E6, C6, B1, B3, B2 }
#define DIODE_DIRECTION ROW2COL
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 36
-#define RGBLED_SPLIT { 18, 18 }
-#define RGBLIGHT_ANIMATIONS
-
+/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-#define SOFT_SERIAL_PIN D0
-
-#define MASTER_RIGHT
+/* RGB settings. */
+#define RGBLED_NUM 36
+#define RGBLED_SPLIT \
+ { 18, 18 }
-// RGB matrix support
+/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define DRIVER_LED_TOTAL 36 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 18, 18 }
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json
index 54c14da330..55f68dc9b2 100644
--- a/keyboards/bastardkb/skeletyl/info.json
+++ b/keyboards/bastardkb/skeletyl/info.json
@@ -1,7 +1,8 @@
{
- "keyboard_name": "Skeletyl",
- "url": "https://www.bastardkb.com",
- "maintainer": "Quentin Lebastard",
+ "url": "https://www.bastardkb.com/skeletyl",
+ "usb": {
+ "pid": "0x1830",
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/bastardkb/skeletyl/rules.mk b/keyboards/bastardkb/skeletyl/rules.mk
deleted file mode 100644
index 808b59c93d..0000000000
--- a/keyboards/bastardkb/skeletyl/rules.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
-RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes
-
-AUDIO_SUPPORTED = no
-RGB_MATRIX_SUPPORTED = yes
-RGBLIGHT_SUPPORTED = yes
-
-LAYOUTS = split_3x5_3
diff --git a/keyboards/bastardkb/skeletyl/skeletyl.h b/keyboards/bastardkb/skeletyl/skeletyl.h
index c7ad89bd2b..6d8073153f 100644
--- a/keyboards/bastardkb/skeletyl/skeletyl.h
+++ b/keyboards/bastardkb/skeletyl/skeletyl.h
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly DELAY <charly@codesink.dev>
*
* This 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,6 +17,7 @@
*/
#pragma once
+
#include "quantum.h"
// clang-format off
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/config.h b/keyboards/bastardkb/skeletyl/v1/elitec/config.h
new file mode 100644
index 0000000000..fd2101ec55
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/config.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B5, F7, F6, B6 }
+#define MATRIX_COL_PINS \
+ { E6, C6, B1, B3, B2 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D0
+
+/* RGB settings. */
+#define RGB_DI_PIN D2
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
new file mode 100644
index 0000000000..f784c9423d
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Skeletyl Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk b/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk
new file mode 100644
index 0000000000..399e03a2a5
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3
diff --git a/keyboards/bastardkb/skeletyl/v1/info.json b/keyboards/bastardkb/skeletyl/v1/info.json
new file mode 100644
index 0000000000..2443086ddf
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/config.h b/keyboards/bastardkb/skeletyl/v2/elitec/config.h
new file mode 100644
index 0000000000..5d4e48d49d
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/config.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/info.json b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
new file mode 100644
index 0000000000..0b50c1faa1
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Skeletyl Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk b/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk
new file mode 100644
index 0000000000..399e03a2a5
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/config.h b/keyboards/bastardkb/skeletyl/v2/splinky/config.h
new file mode 100644
index 0000000000..02a8bd6551
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/config.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/info.json b/keyboards/bastardkb/skeletyl/v2/splinky/info.json
new file mode 100644
index 0000000000..b90334c78d
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Skeletyl Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/rules.mk b/keyboards/bastardkb/skeletyl/v2/splinky/rules.mk
new file mode 100644
index 0000000000..1ce16352dd
--- /dev/null
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/rules.mk
@@ -0,0 +1,34 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x5_3
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h
index f6e3ebef7b..9ce37939b5 100644
--- a/keyboards/bastardkb/tbk/config.h
+++ b/keyboards/bastardkb/tbk/config.h
@@ -17,11 +17,6 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1828
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT The Bastard Keyboard
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
diff --git a/keyboards/bastardkb/tbk/info.json b/keyboards/bastardkb/tbk/info.json
index 104932e471..d25ccd5cf6 100644
--- a/keyboards/bastardkb/tbk/info.json
+++ b/keyboards/bastardkb/tbk/info.json
@@ -1,7 +1,10 @@
{
"keyboard_name": "The Bastard Keyboard",
"url": "https://bastardkb.com/",
- "maintainer": "Quentin Lebastard",
+ "usb": {
+ "pid": "0x1828",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_4x6_5": {
"layout": [
diff --git a/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c
index 94dd182c69..f4f8cfd1da 100644
--- a/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c
+++ b/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL,
_______, KC_RGHT, _______, _______, _______, _______,
- KC_LEFT, _______, RESET , _______
+ KC_LEFT, _______, QK_BOOT, _______
),
[_RAISE] = LAYOUT_split_4x6_5(
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_4x6_5(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c b/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c
index b8f70bdc9b..b1f45951b7 100644
--- a/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c
+++ b/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_split_4x6_5(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- RESET, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT_split_4x6_5(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, RESET,
+ _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, QK_BOOT,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_4x6_5(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
diff --git a/keyboards/bastardkb/tbk/readme.md b/keyboards/bastardkb/tbk/readme.md
index 9359e6ad9c..0d552e5caf 100644
--- a/keyboards/bastardkb/tbk/readme.md
+++ b/keyboards/bastardkb/tbk/readme.md
@@ -17,6 +17,6 @@ See the [keyboard build instructions](https://docs.bastardkb.com)
## Important information regarding the reset
-If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
+If you modify this firmware, make sure to always have a QK_BOOT key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
diff --git a/keyboards/bastardkb/tbkmini/blackpill/config.h b/keyboards/bastardkb/tbkmini/blackpill/config.h
new file mode 100644
index 0000000000..ba0c93ff93
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/config.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B0, B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
diff --git a/keyboards/bastardkb/tbkmini/blackpill/halconf.h b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
new file mode 100644
index 0000000000..0d4b7b5dc5
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json
new file mode 100644
index 0000000000..d4f15e44f1
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
new file mode 100644
index 0000000000..e7cf3681fd
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 FALSE
+
+//#undef STM32_I2C_I2C1_RX_DMA_STREAM
+//#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+//#undef STM32_I2C_I2C1_TX_DMA_STREAM
+//#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+//#undef STM32_PWM_USE_TIM3
+//#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+//#undef STM32_SPI_SPI1_RX_DMA_STREAM
+//#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+//#undef STM32_SPI_SPI1_TX_DMA_STREAM
+//#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+//#undef STM32_SERIAL_USE_USART2
+//#define STM32_SERIAL_USE_USART2 TRUE
+
+//#undef STM32_UART_USART2_RX_DMA_STREAM
+//#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+//#undef STM32_UART_USART2_TX_DMA_STREAM
+//#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM3
+#define STM32_GPT_USE_TIM3 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/tbkmini/blackpill/rules.mk b/keyboards/bastardkb/tbkmini/blackpill/rules.mk
new file mode 100644
index 0000000000..702ed34356
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h
index 094544de9a..0624c4b4a6 100644
--- a/keyboards/bastardkb/tbkmini/config.h
+++ b/keyboards/bastardkb/tbkmini/config.h
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,90 +17,30 @@
*/
#pragma once
+
#include "config_common.h"
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1828
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT TBK Mini
-#define MATRIX_ROWS 8
+/* Key matrix configuration. */
+#define MATRIX_ROWS 8 // Rows are doubled-up.
#define MATRIX_COLS 6
-#define RGBLIGHT_LIMIT_VAL 180
-#define MATRIX_ROW_PINS { B5, F7, F6, B6 }
-#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 }
#define DIODE_DIRECTION ROW2COL
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 42
-#define RGBLED_SPLIT { 21, 21 }
-#define RGBLIGHT_ANIMATIONS
-
+/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-#define SOFT_SERIAL_PIN D0
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-#define F_SCL 400000L
-#define MASTER_RIGHT
+/* RGB settings. */
+#define RGBLED_NUM 42
+#define RGBLED_SPLIT \
+ { 21, 21 }
-// RGB matrix support
+/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define DRIVER_LED_TOTAL 42 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 21, 21 }
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json
index d7fddeb7e6..4233599432 100644
--- a/keyboards/bastardkb/tbkmini/info.json
+++ b/keyboards/bastardkb/tbkmini/info.json
@@ -1,7 +1,8 @@
{
- "keyboard_name": "TBK Mini",
- "url": "https://www.bastardkb.com",
- "maintainer": "Quentin Lebastard",
+ "url": "https://www.bastardkb.com/tbk-mini",
+ "usb": {
+ "pid": "0x1828",
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
index 3aa41b6fba..551aea127f 100644
--- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -19,52 +19,51 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC , MO(1), MO(2), KC_ENT , KC_RALT
- //`--------------------------' `--------------------------'
+ [0] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, MO(1), MO(2), KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
- ),
+ ),
- [1] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- ),
+ [1] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
- [2] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- ),
+ [2] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
- [3] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- )
-};
+ [3] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ )};
diff --git a/keyboards/bastardkb/tbkmini/rules.mk b/keyboards/bastardkb/tbkmini/rules.mk
deleted file mode 100644
index 2892f5dd6e..0000000000
--- a/keyboards/bastardkb/tbkmini/rules.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
-RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes
-
-AUDIO_SUPPORTED = no
-RGB_MATRIX_SUPPORTED = yes
-RGBLIGHT_SUPPORTED = yes
-
-LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/tbkmini.h b/keyboards/bastardkb/tbkmini/tbkmini.h
index 66235f4f4d..f031c9fed2 100644
--- a/keyboards/bastardkb/tbkmini/tbkmini.h
+++ b/keyboards/bastardkb/tbkmini/tbkmini.h
@@ -1,5 +1,6 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly DELAY <charly@codesink.dev>
*
* This 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,23 +16,25 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#pragma once
+
#include "quantum.h"
-#define LAYOUT_split_3x6_3( \
- k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
- k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
- k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
- k33, k34, k31, k71, k74, k73 \
-)\
-{\
- { k00, k01, k02, k03, k04, k05 }, \
- { k10, k11, k12, k13, k14, k15 }, \
- { k20, k21, k22, k23, k24, k25 }, \
- { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
- { k40, k41, k42, k43, k44, k45 }, \
- { k50, k51, k52, k53, k54, k55 }, \
- { k60, k61, k62, k63, k64, k65 }, \
- { KC_NO, k71, KC_NO, k73, k74, KC_NO }, \
+// clang-format off
+#define LAYOUT_split_3x6_3( \
+ k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
+ k33, k34, k31, k71, k74, k73 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { KC_NO, k71, KC_NO, k73, k74, KC_NO }, \
}
+// clang-format on
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/config.h b/keyboards/bastardkb/tbkmini/v1/elitec/config.h
new file mode 100644
index 0000000000..5a9ff87efa
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/config.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B5, F7, F6, B6 }
+#define MATRIX_COL_PINS \
+ { B4, E6, C6, B1, B3, B2 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D0
+
+/* RGB settings. */
+#define RGB_DI_PIN D2
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
new file mode 100644
index 0000000000..83a9e799e1
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk b/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk
new file mode 100644
index 0000000000..380f48e73b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/config.h b/keyboards/bastardkb/tbkmini/v2/elitec/config.h
new file mode 100644
index 0000000000..1feeac092b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/config.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F6, F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
new file mode 100644
index 0000000000..50cfe860dd
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk b/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk
new file mode 100644
index 0000000000..380f48e73b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
new file mode 100644
index 0000000000..ed0b4a6a54
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { GP26, GP5, GP4, GP9 }
+#define MATRIX_COL_PINS \
+ { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN GP1
+
+/* RGB settings. */
+#define RGB_DI_PIN GP0
+
+/* Reset. */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/info.json b/keyboards/bastardkb/tbkmini/v2/splinky/info.json
new file mode 100644
index 0000000000..ca66bceeff
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Splinky",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky/rules.mk
new file mode 100644
index 0000000000..6b55f6e595
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/rules.mk
@@ -0,0 +1,34 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RP2040-specific options
+ALLOW_WARNINGS = yes
+PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/bbrfkr/dynamis/config.h b/keyboards/bbrfkr/dynamis/config.h
index 0c11416612..ccf5f3f1c9 100644
--- a/keyboards/bbrfkr/dynamis/config.h
+++ b/keyboards/bbrfkr/dynamis/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6262
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER bbrfkr
-#define PRODUCT dynamis
-
/* key matrix */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -52,5 +45,5 @@
#define ENCODERS_PAD_A { B7 }
#define ENCODERS_PAD_B { E6 }
-#define PMW3360_CS_PIN SPI_SS_PIN
+#define PMW33XX_CS_PIN SPI_SS_PIN
#define POINTING_DEVICE_INVERT_Y
diff --git a/keyboards/bbrfkr/dynamis/dynamis.c b/keyboards/bbrfkr/dynamis/dynamis.c
index e7f780ef1a..8655cbc7bc 100644
--- a/keyboards/bbrfkr/dynamis/dynamis.c
+++ b/keyboards/bbrfkr/dynamis/dynamis.c
@@ -18,16 +18,12 @@
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) {
- return false;
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (clockwise) {
+ tap_code(layer_state == 0 ? KC_WH_D : KC_VOLD);
+ } else {
+ tap_code(layer_state == 0 ? KC_WH_U : KC_VOLU);
}
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_WH_D);
- } else {
- tap_code(KC_WH_U);
- }
- }
- return false;
+ return true;
}
#endif
diff --git a/keyboards/bbrfkr/dynamis/info.json b/keyboards/bbrfkr/dynamis/info.json
index 1e4d7154e1..b59fef9946 100644
--- a/keyboards/bbrfkr/dynamis/info.json
+++ b/keyboards/bbrfkr/dynamis/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "dynamis",
+ "manufacturer": "bbrfkr",
"url": "https://github.com/bbrfkr/keyboards",
"maintainer": "bbrfkr",
+ "usb": {
+ "vid": "0x6262",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
@@ -11,62 +17,62 @@
"y": 0
},
{
- "label": "F1",
+ "label": "1",
"x": 1,
"y": 0
},
{
- "label": "F2",
+ "label": "2",
"x": 2,
"y": 0
},
{
- "label": "F3",
+ "label": "3",
"x": 3,
"y": 0
},
{
- "label": "F4",
+ "label": "4",
"x": 4,
"y": 0
},
{
- "label": "F5",
+ "label": "5",
"x": 5,
"y": 0
},
{
- "label": "F6",
+ "label": "6",
"x": 6,
"y": 0
},
{
- "label": "F7",
+ "label": "7",
"x": 7,
"y": 0
},
{
- "label": "F8",
+ "label": "8",
"x": 8,
"y": 0
},
{
- "label": "F9",
+ "label": "9",
"x": 9,
"y": 0
},
{
- "label": "F10",
+ "label": "0",
"x": 10,
"y": 0
},
{
- "label": "F11",
+ "label": "-",
"x": 11,
"y": 0
},
{
- "label": "F12",
+ "label": "=",
"x": 12,
"y": 0
},
@@ -286,7 +292,7 @@
"w": 1.75
},
{
- "label": "Raise",
+ "label": "Lower",
"x": 14,
"y": 3
},
@@ -302,13 +308,13 @@
"w": 1.25
},
{
- "label": "Super",
+ "label": "Alt",
"x": 1.25,
"y": 4,
"w": 1.25
},
{
- "label": "Alt",
+ "label": "Lower",
"x": 2.5,
"y": 4,
"w": 1.25
@@ -320,25 +326,25 @@
"w": 2.25
},
{
- "label": "Lower",
+ "label": "Space",
"x": 6,
"y": 4,
"w": 1.25
},
{
- "label": "Raise",
+ "label": "Enter",
"x": 7.25,
"y": 4,
"w": 2.75
},
{
- "label": "Alt",
+ "label": "Raise",
"x": 10,
"y": 4,
"w": 1.25
},
{
- "label": "Super",
+ "label": "Alt",
"x": 11.25,
"y": 4,
"w": 1.25
@@ -374,62 +380,62 @@
"y": 0
},
{
- "label": "F1",
+ "label": "1",
"x": 1,
"y": 0
},
{
- "label": "F2",
+ "label": "2",
"x": 2,
"y": 0
},
{
- "label": "F3",
+ "label": "3",
"x": 3,
"y": 0
},
{
- "label": "F4",
+ "label": "4",
"x": 4,
"y": 0
},
{
- "label": "F5",
+ "label": "5",
"x": 5,
"y": 0
},
{
- "label": "F6",
+ "label": "6",
"x": 6,
"y": 0
},
{
- "label": "F7",
+ "label": "7",
"x": 7,
"y": 0
},
{
- "label": "F8",
+ "label": "8",
"x": 8,
"y": 0
},
{
- "label": "F9",
+ "label": "9",
"x": 9,
"y": 0
},
{
- "label": "F10",
+ "label": "0",
"x": 10,
"y": 0
},
{
- "label": "F11",
+ "label": "-",
"x": 11,
"y": 0
},
{
- "label": "F12",
+ "label": "=",
"x": 12,
"y": 0
},
@@ -649,7 +655,7 @@
"w": 1.75
},
{
- "label": "Raise",
+ "label": "Lower",
"x": 14,
"y": 3
},
@@ -665,13 +671,13 @@
"w": 1.25
},
{
- "label": "Super",
+ "label": "Alt",
"x": 1.25,
"y": 4,
"w": 1.25
},
{
- "label": "Alt",
+ "label": "Lower",
"x": 2.5,
"y": 4,
"w": 1.25
@@ -683,25 +689,25 @@
"w": 2.25
},
{
- "label": "Lower",
+ "label": "Space",
"x": 6,
"y": 4,
"w": 1.25
},
{
- "label": "Raise",
+ "label": "Enter",
"x": 7.25,
"y": 4,
"w": 2.75
},
{
- "label": "Alt",
+ "label": "Raise",
"x": 10,
"y": 4,
"w": 1.25
},
{
- "label": "Super",
+ "label": "Alt",
"x": 11.25,
"y": 4,
"w": 1.25
diff --git a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
index 23fd021288..686c016242 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
@@ -20,40 +20,40 @@ enum layer_names {
_QWERTY,
_LOWER,
_RAISE,
- _SETTINGS
+ _SETTINGS,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LOWER] = LAYOUT_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PSCR, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_WH_D, KC_BTN1, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_RAISE] = LAYOUT_ansi(
- KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_SETTINGS] = LAYOUT_ansi(
- 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, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_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, 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
- )
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
};
diff --git a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
index 25d9a85348..c715dc3577 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
@@ -20,40 +20,40 @@ enum layer_names {
_QWERTY,
_LOWER,
_RAISE,
- _SETTINGS
+ _SETTINGS,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, 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_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_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_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LOWER] = LAYOUT_iso(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
- KC_PSCR, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_WH_D, KC_BTN1, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_RAISE] = LAYOUT_iso(
- KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_SETTINGS] = LAYOUT_iso(
- 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, 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, 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_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
- )
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
};
diff --git a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
index 20cc720c8f..cef34da6b3 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
@@ -20,40 +20,49 @@ enum layer_names {
_QWERTY,
_LOWER,
_RAISE,
- _SETTINGS
+ _SETTINGS,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LOWER] = LAYOUT_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PSCR, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_WH_D, KC_BTN1, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_RAISE] = LAYOUT_ansi(
- KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS, MO(3), 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_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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LGUI, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
),
[_SETTINGS] = LAYOUT_ansi(
- 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, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_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, 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
- )
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), },
+ [_LOWER] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
+ [_SETTINGS] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
};
+#endif
diff --git a/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk b/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk
index 1e5b99807c..f1adcab005 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk
+++ b/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bbrfkr/dynamis/readme.md b/keyboards/bbrfkr/dynamis/readme.md
index 6806819bb1..2cfd225b1b 100644
--- a/keyboards/bbrfkr/dynamis/readme.md
+++ b/keyboards/bbrfkr/dynamis/readme.md
@@ -1,20 +1,20 @@
# dynamis
## general information
-![dynamis](https://i.imgur.com/q2C3D2ul.jpg)
+![dynamis](https://i.imgur.com/GRPE5hzh.jpg)
Gasket mounted 65% row staggered keyboard integrated a trackball
* Keyboard Maintainer: [bbrfkr](https://github.com/bbrfkr/)
* Hardware Supported: dynamis PCBs
-* Hardware Availability: http://github.com/bbrfkr/keyboards
+* Hardware Availability: https://github.com/bbrfkr/dynamis-keyboard
## bootloader
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## build and flash firmware
diff --git a/keyboards/bear_face/config.h b/keyboards/bear_face/config.h
index 593f8a23a4..589ea350c1 100644
--- a/keyboards/bear_face/config.h
+++ b/keyboards/bear_face/config.h
@@ -19,12 +19,6 @@ 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 0x09f5
-#define MANUFACTURER chemicalwill
-#define PRODUCT bear_face
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* bear_face matrix pinout */
#define MATRIX_ROW_PINS { F5, F6, F4, F1, B0, B6 }
#define MATRIX_COL_PINS { B5, C7, C6, F0, E6, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json
new file mode 100644
index 0000000000..e2589d91af
--- /dev/null
+++ b/keyboards/bear_face/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "bear_face",
+ "manufacturer": "chemicalwill",
+ "url": "https://github.com/chemicalwill/bear_face_pcb",
+ "maintainer": "chemicalwill",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x09F5"
+ }
+}
diff --git a/keyboards/bear_face/v1/config.h b/keyboards/bear_face/v1/config.h
deleted file mode 100644
index cf1de932c1..0000000000
--- a/keyboards/bear_face/v1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0100
diff --git a/keyboards/bear_face/v1/info.json b/keyboards/bear_face/v1/info.json
index 0435c5c229..8d3f685e91 100644
--- a/keyboards/bear_face/v1/info.json
+++ b/keyboards/bear_face/v1/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "bear_face",
- "url": "https://github.com/chemicalwill/bear_face_pcb",
- "maintainer": "chemicalwill",
+ "usb": {
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_83_ansi": {
"layout": [
diff --git a/keyboards/bear_face/v2/config.h b/keyboards/bear_face/v2/config.h
deleted file mode 100644
index 6a7c8c6fb0..0000000000
--- a/keyboards/bear_face/v2/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0200
diff --git a/keyboards/bear_face/v2/info.json b/keyboards/bear_face/v2/info.json
index 6d12f04d42..978ee59e49 100644
--- a/keyboards/bear_face/v2/info.json
+++ b/keyboards/bear_face/v2/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "bear_face",
- "url": "https://github.com/chemicalwill/bear_face_pcb",
- "maintainer": "chemicalwill",
+ "usb": {
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_83_ansi": {
"layout": [
diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c
index 5f3ccc8729..e5623d4f57 100644
--- a/keyboards/bear_face/v2/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_83_ansi(
- _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS,
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE,
_______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR,
diff --git a/keyboards/beatervan/config.h b/keyboards/beatervan/config.h
index a8973ab4a6..3354a35bd5 100644
--- a/keyboards/beatervan/config.h
+++ b/keyboards/beatervan/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6F6A // "oj"
-#define PRODUCT_ID 0x6276 // "bv"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OJ
-#define PRODUCT beatervan
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { D7, E6, B4, B5, F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/beatervan/info.json b/keyboards/beatervan/info.json
index c3030a411c..beeffae7a5 100644
--- a/keyboards/beatervan/info.json
+++ b/keyboards/beatervan/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "beatervan",
+ "manufacturer": "OJ",
"url": "",
"maintainer": "OJ",
+ "usb": {
+ "vid": "0x6F7A",
+ "pid": "0x6276",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bemeier/bmek/config.h b/keyboards/bemeier/bmek/config.h
index 1bd996d07a..b7cab6d1fe 100755
--- a/keyboards/bemeier/bmek/config.h
+++ b/keyboards/bemeier/bmek/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x626D // BeMeier
-#define PRODUCT_ID 0x656B // ErgonomicKeyboard
-#define MANUFACTURER Bemeier
-#define PRODUCT BMEK
-
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
diff --git a/keyboards/bemeier/bmek/info.json b/keyboards/bemeier/bmek/info.json
index 80e06d91fb..f547a7c2bb 100755
--- a/keyboards/bemeier/bmek/info.json
+++ b/keyboards/bemeier/bmek/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "bmek",
+ "keyboard_name": "BMEK",
+ "manufacturer": "Bemeier",
"url": "https://github.com/Bemeier/bmek",
"maintainer": "Bemeier",
+ "usb": {
+ "vid": "0x626D",
+ "pid": "0x656B"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/bemeier/bmek/rev1/config.h b/keyboards/bemeier/bmek/rev1/config.h
index 5c738499f7..e80742d6f2 100755
--- a/keyboards/bemeier/bmek/rev1/config.h
+++ b/keyboards/bemeier/bmek/rev1/config.h
@@ -17,13 +17,9 @@
#include "config_common.h"
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS \
{ D4, D7, B6, B4, B7 }
#define MATRIX_COL_PINS \
{ F1, B0, B1, B2, B3, D0, D1, D2, C6, C7, F7, F6, F5, F4, B5 }
-#define UNUSED_PINS \
- { D4, D5, F0, B7 }
#define RGB_DI_PIN E6
diff --git a/keyboards/bemeier/bmek/rev1/info.json b/keyboards/bemeier/bmek/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/bemeier/bmek/rev2/config.h b/keyboards/bemeier/bmek/rev2/config.h
index c97d0417ad..ba1633f3c5 100755
--- a/keyboards/bemeier/bmek/rev2/config.h
+++ b/keyboards/bemeier/bmek/rev2/config.h
@@ -17,13 +17,9 @@
#include "config_common.h"
-#define DEVICE_VER 0x0002
-
#define MATRIX_ROW_PINS \
{ F4, F5, D7, B5, B4 }
#define MATRIX_COL_PINS \
- { F6, B0, B1, F7, C7, C6, B6, F1, B2, B3, D6, D3, D2, D1, D0 }
-#define UNUSED_PINS \
- { D4, D5, F0, B7 }
+ { F6, B0, B1, F7, C7, C6, B6, F1, B2, B3, D6, D3, D2, D1, D0 }
#define RGB_DI_PIN E6
diff --git a/keyboards/bemeier/bmek/rev2/info.json b/keyboards/bemeier/bmek/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/bemeier/bmek/rev3/config.h b/keyboards/bemeier/bmek/rev3/config.h
index fd74a74027..d5af11782d 100755
--- a/keyboards/bemeier/bmek/rev3/config.h
+++ b/keyboards/bemeier/bmek/rev3/config.h
@@ -17,13 +17,9 @@
#include "config_common.h"
-#define DEVICE_VER 0x0003
-
#define MATRIX_ROW_PINS \
{ F1, B4, B5, D6, D7 }
#define MATRIX_COL_PINS \
- { B6, C6, C7, F7, F6, F5, F4, F0, B7, D0, D1, D2, D3, D5, D4 }
-#define UNUSED_PINS \
- { D0, B1, B2, B3 }
+ { B6, C6, C7, F7, F6, F5, F4, F0, B7, D0, D1, D2, D3, D5, D4 }
#define RGB_DI_PIN E6
diff --git a/keyboards/bemeier/bmek/rev3/info.json b/keyboards/bemeier/bmek/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/bfake/config.h b/keyboards/bfake/config.h
index 54e01ad3db..4980416017 100644
--- a/keyboards/bfake/config.h
+++ b/keyboards/bfake/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER NotWinkeyless
-#define PRODUCT B.fake
-
#define RGBLED_NUM 16
#define MATRIX_ROWS 8
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/bfake/info.json b/keyboards/bfake/info.json
index 576c470b88..be03a2da1a 100644
--- a/keyboards/bfake/info.json
+++ b/keyboards/bfake/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "b.fake",
+ "keyboard_name": "B.fake",
+ "manufacturer": "NotWinkeyless",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/bfake/keymaps/mechmerlin/keymap.c b/keyboards/bfake/keymaps/mechmerlin/keymap.c
index 35b59e6a42..ecd3350876 100644
--- a/keyboards/bfake/keymaps/mechmerlin/keymap.c
+++ b/keyboards/bfake/keymaps/mechmerlin/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[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, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/biacco42/ergo42/info.json b/keyboards/biacco42/ergo42/info.json
deleted file mode 100644
index a4c4f7fd18..0000000000
--- a/keyboards/biacco42/ergo42/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Ergo42",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT_ortho_4x14": {
- "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":8, "y":0}, {"label":"R01", "x":9, "y":0}, {"label":"R02", "x":10, "y":0}, {"label":"R03", "x":11, "y":0}, {"label":"R04", "x":12, "y":0}, {"label":"R05", "x":13, "y":0}, {"label":"R06", "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":"L15", "x":5, "y":1}, {"label":"L16", "x":6, "y":1}, {"label":"R10", "x":8, "y":1}, {"label":"R11", "x":9, "y":1}, {"label":"R12", "x":10, "y":1}, {"label":"R13", "x":11, "y":1}, {"label":"R14", "x":12, "y":1}, {"label":"R15", "x":13, "y":1}, {"label":"R16", "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":"L25", "x":5, "y":2}, {"label":"L26", "x":6, "y":2}, {"label":"R20", "x":8, "y":2}, {"label":"R21", "x":9, "y":2}, {"label":"R22", "x":10, "y":2}, {"label":"R23", "x":11, "y":2}, {"label":"R24", "x":12, "y":2}, {"label":"R25", "x":13, "y":2}, {"label":"R26", "x":14, "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":8, "y":3}, {"label":"R31", "x":9, "y":3}, {"label":"R32", "x":10, "y":3}, {"label":"R33", "x":11, "y":3}, {"label":"R34", "x":12, "y":3}, {"label":"R35", "x":13, "y":3}, {"label":"R36", "x":14, "y":3}]
- }
- }
-}
diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c
index 7cf40fa9a0..6a58e24bd4 100644
--- a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c
@@ -51,7 +51,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
@@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
_______, KC_1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, SFT_T(KC_RO), \
- _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c
index bc6a8557e8..d0c7acc672 100644
--- a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c
@@ -44,7 +44,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c
index 5b7fb7e66c..a2b276a847 100644
--- a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c
@@ -55,7 +55,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | | | | | | | | | | TOG | HUI | SAI | VAI |HUANIM| |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
- * | | | | | | | | | | MOD | HUD | SAD | VAD |RESET | |
+ * | | | | | | | | | | MOD | HUD | SAD | VAD |QK_BOOT | |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | | | | | | | | | | | | | |=>RGB | |
* `------------------------------------------------' `------------------------------------------------'
diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c
index 8db73ab8bd..8a91b625eb 100644
--- a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c
@@ -50,7 +50,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
diff --git a/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c
index 12e55b75f1..5672ddd864 100644
--- a/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c
@@ -44,7 +44,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
index bb3b6fac48..22f28fa25d 100644
--- a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-------------------------------------------------------. ,-------------------------------------------------------.
* |RGB_TOG| MCR1 | MCR2 | MCR3 |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|PLAY_M1|PLAY_M2|REC_M1 |REC_M2 |STP_REC| BSPC |
* |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
- * | RESET | | | | | | | |XXXXXXX|XXXXXXX|QWERTY | GAME |XXXXXXX|XXXXXXX|XXXXXXX|
+ * | QK_BOOT | | | | | | | |XXXXXXX|XXXXXXX|QWERTY | GAME |XXXXXXX|XXXXXXX|XXXXXXX|
* |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
* | Shift | | | | | | | |XXXXXXX| M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR|
* |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------|
@@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT( \
RGB_TOG, MCR1, MCR2, MCR3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, DYN_REC_START1, DYN_REC_START2, DYN_REC_STOP, KC_BSPC, \
- RESET, RGB_MOD, RGB_M_P, RGB_M_B, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, QWERTY, GAME, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, RGB_MOD, RGB_M_P, RGB_M_B, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, QWERTY, GAME, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_LSFT, RGB_M_R, RGB_M_SN,RGB_M_G, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, \
DEBUG, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// RGB Underglow使用時ã®ãƒ¬ã‚¤ãƒ¤ãƒ¼æ¯Žã®ã‚«ãƒ©ãƒ¼åˆ‡ã‚Šæ›¿ãˆ
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
return state;
}
@@ -148,7 +148,7 @@ void matrix_init_user(void) {
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)) {
+ switch (get_highest_layer(state)) {
case _RAISE:
rgblight_setrgb_chartreuse(); // RAISE:シャルトリューズ
break;
diff --git a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c
index 5d7f337452..fcc00c411d 100644
--- a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c
@@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------' `------------------------------------------------'
*/
[_FUNC] = LAYOUT( \
- RESET, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, _______, \
+ QK_BOOT, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, _______, \
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, WIN, JP_ASTR, KC_SLSH, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, _______, \
KC_CAPS, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MACOS, JP_PLUS, KC_MINS, KC_END, KC_PGDN, XXXXXXX, KC_VOLU, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY \
diff --git a/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c b/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c
index f5cc3c520e..4e3a24a39b 100644
--- a/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[SHORT] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, COPY, PASTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c b/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c
index 6239876bb1..84fa64c7b1 100644
--- a/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c
@@ -56,7 +56,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_MINS, \
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, _______, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, KC_END, LALT(KC_LEFT), LALT(KC_RGHT), KC_PGDN, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), _______, _______, S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), _______, \
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, _______, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, KC_END, LALT(KC_LEFT), LALT(KC_RGHT), KC_PGDN, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* GAME
diff --git a/keyboards/biacco42/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h
index c8bfe1170f..9d1b7387b3 100644
--- a/keyboards/biacco42/ergo42/rev1/config.h
+++ b/keyboards/biacco42/ergo42/rev1/config.h
@@ -21,13 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBC42
-#define PRODUCT_ID 0x0042
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Biacco42
-#define PRODUCT Ergo42
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/biacco42/ergo42/rev1/info.json b/keyboards/biacco42/ergo42/rev1/info.json
new file mode 100644
index 0000000000..3c21ef1b46
--- /dev/null
+++ b/keyboards/biacco42/ergo42/rev1/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Ergo42",
+ "manufacturer": "Biacco42",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xBC42",
+ "pid": "0x0042",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x14": {
+ "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":8, "y":0}, {"label":"R01", "x":9, "y":0}, {"label":"R02", "x":10, "y":0}, {"label":"R03", "x":11, "y":0}, {"label":"R04", "x":12, "y":0}, {"label":"R05", "x":13, "y":0}, {"label":"R06", "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":"L15", "x":5, "y":1}, {"label":"L16", "x":6, "y":1}, {"label":"R10", "x":8, "y":1}, {"label":"R11", "x":9, "y":1}, {"label":"R12", "x":10, "y":1}, {"label":"R13", "x":11, "y":1}, {"label":"R14", "x":12, "y":1}, {"label":"R15", "x":13, "y":1}, {"label":"R16", "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":"L25", "x":5, "y":2}, {"label":"L26", "x":6, "y":2}, {"label":"R20", "x":8, "y":2}, {"label":"R21", "x":9, "y":2}, {"label":"R22", "x":10, "y":2}, {"label":"R23", "x":11, "y":2}, {"label":"R24", "x":12, "y":2}, {"label":"R25", "x":13, "y":2}, {"label":"R26", "x":14, "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":8, "y":3}, {"label":"R31", "x":9, "y":3}, {"label":"R32", "x":10, "y":3}, {"label":"R33", "x":11, "y":3}, {"label":"R34", "x":12, "y":3}, {"label":"R35", "x":13, "y":3}, {"label":"R36", "x":14, "y":3}]
+ }
+ }
+}
diff --git a/keyboards/biacco42/meishi/config.h b/keyboards/biacco42/meishi/config.h
index ff6c22dc56..5d5d422d13 100644
--- a/keyboards/biacco42/meishi/config.h
+++ b/keyboards/biacco42/meishi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBC42
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Biacco42
-#define PRODUCT meishi
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5 }
#define MATRIX_COL_PINS { B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/biacco42/meishi/info.json b/keyboards/biacco42/meishi/info.json
index 8241541c72..cc7bb4f713 100644
--- a/keyboards/biacco42/meishi/info.json
+++ b/keyboards/biacco42/meishi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Meishi",
+ "manufacturer": "Biacco42",
"url": "",
"maintainer": "Biacco42",
+ "usb": {
+ "vid": "0xBC42",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/biacco42/meishi2/config.h b/keyboards/biacco42/meishi2/config.h
index 57a4e226a3..a99aa088a9 100644
--- a/keyboards/biacco42/meishi2/config.h
+++ b/keyboards/biacco42/meishi2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBC42
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Biacco42
-#define PRODUCT meishi2
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, E6 }
#define MATRIX_COL_PINS { F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/biacco42/meishi2/info.json b/keyboards/biacco42/meishi2/info.json
index 8e277716ea..e63b586b69 100644
--- a/keyboards/biacco42/meishi2/info.json
+++ b/keyboards/biacco42/meishi2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "meishi2",
+ "manufacturer": "Biacco42",
"url": "",
"maintainer": "biacco42",
+ "usb": {
+ "vid": "0xBC42",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/binepad/bn003/config.h b/keyboards/binepad/bn003/config.h
index de5fb533a0..1c818b7459 100644
--- a/keyboards/binepad/bn003/config.h
+++ b/keyboards/binepad/bn003/config.h
@@ -18,20 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4249 // Binepad
-#define PRODUCT_ID 0x4287
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Binepad
-#define PRODUCT BN003
-
/* Key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { C6 }
#define MATRIX_COL_PINS { B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/binepad/bn003/info.json b/keyboards/binepad/bn003/info.json
index 6bb5724e47..aeff56fb01 100644
--- a/keyboards/binepad/bn003/info.json
+++ b/keyboards/binepad/bn003/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BN003",
+ "manufacturer": "Binepad",
"url": "https://binepad.com",
"maintainer": "binepad",
+ "usb": {
+ "vid": "0x4249",
+ "pid": "0x4287",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/binepad/bn009/config.h b/keyboards/binepad/bn009/config.h
index 0b12f54c75..48c2fd984c 100644
--- a/keyboards/binepad/bn009/config.h
+++ b/keyboards/binepad/bn009/config.h
@@ -18,20 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4249 // Binepad
-#define PRODUCT_ID 0x4295
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Binepad
-#define PRODUCT BN009
-
/* Key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { D2, D1, D0 }
#define MATRIX_COL_PINS { B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/binepad/bn009/info.json b/keyboards/binepad/bn009/info.json
index 2d439c8257..528cf57016 100644
--- a/keyboards/binepad/bn009/info.json
+++ b/keyboards/binepad/bn009/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BN009",
+ "manufacturer": "Binepad",
"url": "https://binepad.com",
"maintainer": "binepad",
+ "usb": {
+ "vid": "0x4249",
+ "pid": "0x4295",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}]
diff --git a/keyboards/bioi/f60/config.h b/keyboards/bioi/f60/config.h
index 40a7f6250f..e2b6fca5a4 100644
--- a/keyboards/bioi/f60/config.h
+++ b/keyboards/bioi/f60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8101
-#define PRODUCT_ID 0x4660
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Basic IO Instruments
-#define PRODUCT BIOI F60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/bioi/f60/info.json b/keyboards/bioi/f60/info.json
index dda3ffa690..06b0176bee 100644
--- a/keyboards/bioi/f60/info.json
+++ b/keyboards/bioi/f60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "f60",
+ "keyboard_name": "BIOI F60",
+ "manufacturer": "Basic IO Instruments",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x8101",
+ "pid": "0x4660",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/bioi/f60/readme.md b/keyboards/bioi/f60/readme.md
index 6a120acded..9b5c8e8591 100644
--- a/keyboards/bioi/f60/readme.md
+++ b/keyboards/bioi/f60/readme.md
@@ -21,5 +21,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Bootmagic reset**: Hold down the top left key (ESC) and plug in the keyboard
-* **Physical reset button**: Short the two small pads labeled "RESET" the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Physical reset button**: Short the two small pads labeled "QK_BOOT" the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/bioi/g60/config.h b/keyboards/bioi/g60/config.h
index 561cbc863b..a3831f8dd8 100644
--- a/keyboards/bioi/g60/config.h
+++ b/keyboards/bioi/g60/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x8101 // 8101 = "BIOI"
-#define PRODUCT_ID 0x6080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Basic IO Instruments
-#define PRODUCT BIOI G60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/bioi/g60/info.json b/keyboards/bioi/g60/info.json
index e14021a3eb..a171f68c13 100644
--- a/keyboards/bioi/g60/info.json
+++ b/keyboards/bioi/g60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BIOI G60",
+ "manufacturer": "Basic IO Instruments",
"url": "https://scottywei.github.io/bioi-g60ble/",
"maintainer": "scottywei",
+ "usb": {
+ "vid": "0x8101",
+ "pid": "0x6080",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/bioi/g60ble/config.h b/keyboards/bioi/g60ble/config.h
index 4aa806eb41..e710c19b98 100644
--- a/keyboards/bioi/g60ble/config.h
+++ b/keyboards/bioi/g60ble/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6583
-#define PRODUCT_ID 0x6080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Basic IO Instruments
-#define PRODUCT BIOI G60 BLE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -18,7 +11,6 @@
{ E6, B0, F1, F5, F4 }
#define MATRIX_COL_PINS \
{ F6, F7, B3, C7, C6, B6, B5, D5, B4, D7, D6, D4, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bioi/g60ble/info.json b/keyboards/bioi/g60ble/info.json
index f8a453773f..f47a09d3f2 100644
--- a/keyboards/bioi/g60ble/info.json
+++ b/keyboards/bioi/g60ble/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BIOI G60 BLE",
+ "manufacturer": "Basic IO Instruments",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6583",
+ "pid": "0x6080",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/bioi/morgan65/config.h b/keyboards/bioi/morgan65/config.h
index e4a2e4f93c..2ce3c7a56b 100644
--- a/keyboards/bioi/morgan65/config.h
+++ b/keyboards/bioi/morgan65/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x8101 // 8101 = "BIOI"
-#define PRODUCT_ID 0x6581
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Basic IO Instruments
-#define PRODUCT BIOI MORGAN65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -45,8 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, C6, F4, B2, D4 }
#define MATRIX_COL_PINS { F5, F6, F7, C7, B0, B7, B5, D5, B4, D7, D6, D1, D0, B3 }
-//#define QMK_KEYS_PER_SCAN 4
-
/* Backlight Setup */
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 12
diff --git a/keyboards/bioi/morgan65/info.json b/keyboards/bioi/morgan65/info.json
index 925f7af15d..8ed769c616 100644
--- a/keyboards/bioi/morgan65/info.json
+++ b/keyboards/bioi/morgan65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Morgan65",
+ "manufacturer": "Basic IO Instruments",
"url": "",
"maintainer": "scottywei",
+ "usb": {
+ "vid": "0x8101",
+ "pid": "0x6581",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/bioi/s65/config.h b/keyboards/bioi/s65/config.h
index 77960a4db3..fabd6c84a2 100644
--- a/keyboards/bioi/s65/config.h
+++ b/keyboards/bioi/s65/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8101 // 8101 = "BIOI"
-#define PRODUCT_ID 0x5365 // "S"65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Basic IO Instruments
-#define PRODUCT BIOI S65
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/bioi/s65/info.json b/keyboards/bioi/s65/info.json
index e87437a267..fba9940ffb 100644
--- a/keyboards/bioi/s65/info.json
+++ b/keyboards/bioi/s65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BIOI S65",
+ "manufacturer": "Basic IO Instruments",
"url": "",
"maintainer": "scottywei",
+ "usb": {
+ "vid": "0x8101",
+ "pid": "0x5365",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/blackplum/config.h b/keyboards/blackplum/config.h
index dc92f416f3..999e655a94 100644
--- a/keyboards/blackplum/config.h
+++ b/keyboards/blackplum/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5058 // "PX"
-#define PRODUCT_ID 0x4250 // "BP"
-#define DEVICE_VER 0x1001
-#define MANUFACTURER Pixlup
-#define PRODUCT Blackplum Keeb
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, B6, B4, B5, D6, D7, D5, D3, D4 }
#define MATRIX_COL_PINS { D0, D1, D2, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/blackplum/info.json b/keyboards/blackplum/info.json
index 63230de4f8..8982213f2f 100644
--- a/keyboards/blackplum/info.json
+++ b/keyboards/blackplum/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "blackplum",
+ "keyboard_name": "Blackplum Keeb",
+ "manufacturer": "Pixlup",
"url": "www.tokopedia.com/pixlup",
"maintainer": "eriqadams",
+ "usb": {
+ "vid": "0x5058",
+ "pid": "0x4250",
+ "device_version": "10.0.1"
+ },
"layouts": {
"LAYOUT_68_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":"Insert", "x":15.25, "y":0}, {"label":"PgUp", "x":16.25, "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":"Delete", "x":15.25, "y":1}, {"label":"PgDn", "x":16.25, "y":1}, {"label":"Caps Lock", "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":"\u2191", "x":15.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"OS", "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}]
diff --git a/keyboards/blank/blank01/config.h b/keyboards/blank/blank01/config.h
index 5ebf8c774a..220d0852fe 100644
--- a/keyboards/blank/blank01/config.h
+++ b/keyboards/blank/blank01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x424C // "BL"
-#define PRODUCT_ID 0x4B01 // "K01"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BLANK
-#define PRODUCT BLANK.01
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, B3 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B5, B4, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/blank/blank01/info.json b/keyboards/blank/blank01/info.json
index af79aa7e8b..e03421d82b 100644
--- a/keyboards/blank/blank01/info.json
+++ b/keyboards/blank/blank01/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "blank01",
+ "keyboard_name": "BLANK.01",
+ "manufacturer": "BLANK",
"url": "",
"maintainer": "gkeyboard",
+ "usb": {
+ "vid": "0x424C",
+ "pid": "0x4B01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [
diff --git a/keyboards/blank/blank01/readme.md b/keyboards/blank/blank01/readme.md
index 059bb2c8dc..66c2fa8ded 100644
--- a/keyboards/blank/blank01/readme.md
+++ b/keyboards/blank/blank01/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the front of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/blank_tehnologii/manibus/config.h b/keyboards/blank_tehnologii/manibus/config.h
index e5f1caf24a..8e7f4e8a11 100644
--- a/keyboards/blank_tehnologii/manibus/config.h
+++ b/keyboards/blank_tehnologii/manibus/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Blank Tehnologii
-#define PRODUCT Manibus
#define EE_HANDS
/* key matrix size */
@@ -35,7 +29,6 @@
#define MATRIX_COL_PINS { B5, B4, D7, D6, F0, F1, C6 }
#define MATRIX_ROW_PINS_RIGHT { D6, D7, B4, F7, E6 }
#define MATRIX_COL_PINS_RIGHT { B1, B2, B3, F1, F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/blank_tehnologii/manibus/info.json b/keyboards/blank_tehnologii/manibus/info.json
index ab8d9b923e..43e28db7e9 100644
--- a/keyboards/blank_tehnologii/manibus/info.json
+++ b/keyboards/blank_tehnologii/manibus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Manibus",
+ "manufacturer": "Blank Tehnologii",
"url": "https://blank.computer/",
"maintainer": "SamuraiKek",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c b/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c
index 3d59cb307a..3e970b134e 100644
--- a/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c
+++ b/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_UPPER] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, _______, KC_F12,
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/blaster75/config.h b/keyboards/blaster75/config.h
index 61a9a754fb..7f17869ce5 100644
--- a/keyboards/blaster75/config.h
+++ b/keyboards/blaster75/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xA122
-#define PRODUCT_ID 0xB075
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Altain
-#define PRODUCT Blaster75
-
/* Matrix Size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -33,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B0, B4, B5, B6, B7, C6, C7, D0, D1, D2, D3, D4, D5, D6, D7 }
-#define UNUSED_PINS
/* Diode Direction */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/blaster75/info.json b/keyboards/blaster75/info.json
index 13f4669d6c..332c5a5f12 100644
--- a/keyboards/blaster75/info.json
+++ b/keyboards/blaster75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Blaster 75",
+ "manufacturer": "Altain",
"url": "",
"maintainer": "Altain",
+ "usb": {
+ "vid": "0xA122",
+ "pid": "0xB075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/blaster75/readme.md b/keyboards/blaster75/readme.md
index 1a03ec5a9f..851db670ad 100644
--- a/keyboards/blaster75/readme.md
+++ b/keyboards/blaster75/readme.md
@@ -18,7 +18,7 @@ We strongly recommend this method. If the PCB is not soldered with switches at t
to short the (0,0) position key ("ESC" in our PCB) while plugging the USB in.
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
index edd497309d..64abcc1e70 100644
--- a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
+++ b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, MO(2), _______, RGB_MOD, RGB_HUI, RGB_SAI, _______, _______, _______
),
[2] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/blockboy/ac980mini/keymaps/via/keymap.c b/keyboards/blockboy/ac980mini/keymaps/via/keymap.c
index 50b034dd40..7bcfcb11d7 100644
--- a/keyboards/blockboy/ac980mini/keymaps/via/keymap.c
+++ b/keyboards/blockboy/ac980mini/keymaps/via/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, MO(2), _______, RGB_MOD, RGB_HUI, RGB_SAI, _______, _______, _______
),
[2] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/blockboy/ac980mini/readme.md b/keyboards/blockboy/ac980mini/readme.md
index 662f7b79a8..6eef032b7f 100644
--- a/keyboards/blockboy/ac980mini/readme.md
+++ b/keyboards/blockboy/ac980mini/readme.md
@@ -26,4 +26,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h
index d954be2d7e..661605480a 100644
--- a/keyboards/blockey/config.h
+++ b/keyboards/blockey/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eucalyn
-#define PRODUCT Blockey
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D1, D4, E6, B5, D2, F6, B3, B2, B6 }
#define MATRIX_COL_PINS { D0, B4, C6, D7, F4, F5, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/blockey/info.json b/keyboards/blockey/info.json
index 473bf288a0..4e584d24bb 100644
--- a/keyboards/blockey/info.json
+++ b/keyboards/blockey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BlocKey",
+ "manufacturer": "Eucalyn",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"`", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":6, "y":0}, {"label":"7", "x":7, "y":0}, {"label":"8", "x":8, "y":0}, {"label":"9", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"-", "x":11, "y":0}, {"label":"=", "x":12, "y":0}, {"label":"Back Space", "x":13, "y":0}, {"label":"Tab", "x":0.16, "y":1}, {"label":"Q", "x":1.16, "y":1}, {"label":"W", "x":2.16, "y":1}, {"label":"E", "x":3.16, "y":1}, {"label":"R", "x":4.16, "y":1}, {"label":"T", "x":5.16, "y":1}, {"label":"Y", "x":6.16, "y":1}, {"label":"U", "x":7.16, "y":1}, {"label":"I", "x":8.16, "y":1}, {"label":"O", "x":9.16, "y":1}, {"label":"P", "x":10.16, "y":1}, {"label":"[", "x":11.16, "y":1}, {"label":"]", "x":12.16, "y":1}, {"label":"\\", "x":13.16, "y":1}, {"label":"LCtrl", "x":0.33, "y":2}, {"label":"A", "x":1.33, "y":2}, {"label":"S", "x":2.33, "y":2}, {"label":"D", "x":3.33, "y":2}, {"label":"F", "x":4.33, "y":2}, {"label":"G", "x":5.33, "y":2}, {"label":"H", "x":6.33, "y":2}, {"label":"J", "x":7.33, "y":2}, {"label":"K", "x":8.33, "y":2}, {"label":"L", "x":9.33, "y":2}, {"label":";", "x":10.33, "y":2}, {"label":"\"", "x":11.33, "y":2}, {"label":"Enter", "x":12.66, "y":2}, {"label":"LShift", "x":0.5, "y":3}, {"label":"Z", "x":1.5, "y":3}, {"label":"X", "x":2.5, "y":3}, {"label":"C", "x":3.5, "y":3}, {"label":"V", "x":4.5, "y":3}, {"label":"B", "x":5.5, "y":3}, {"label":"N", "x":6.5, "y":3}, {"label":"M", "x":7.5, "y":3}, {"label":",", "x":8.5, "y":3}, {"label":".", "x":9.5, "y":3}, {"label":"/", "x":10.5, "y":3}, {"label":"Up", "x":11.5, "y":3}, {"label":"Fn", "x":12.83, "y":3}, {"label":"Esc", "x":0, "y":4}, {"label":"Caps Lock", "x":1, "y":4}, {"label":"LAlt", "x":2, "y":4}, {"label":"LGUI", "x":3, "y":4}, {"label":"Space", "x":4, "y":4, "w":6}, {"label":"Left", "x":10.5, "y":4}, {"label":"Down", "x":11.5, "y":4}, {"label":"Right", "x":12.5, "y":4}]
diff --git a/keyboards/boardrun/bizarre/config.h b/keyboards/boardrun/bizarre/config.h
index 9f4b91e2b5..5b9fb46286 100644
--- a/keyboards/boardrun/bizarre/config.h
+++ b/keyboards/boardrun/bizarre/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCDCD
-#define PRODUCT_ID 0x5339
-#define DEVICE_VER 0x0001
-#define MANUFACTURER shensmobile
-#define PRODUCT Boardrun Bizarre
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/boardrun/bizarre/info.json b/keyboards/boardrun/bizarre/info.json
index 066095aa34..aa35ff24d9 100644
--- a/keyboards/boardrun/bizarre/info.json
+++ b/keyboards/boardrun/bizarre/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Boardrun Bizarre",
+ "manufacturer": "shensmobile",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardrun/bizarre",
"maintainer": "QMK Community",
+ "usb": {
+ "vid": "0xCDCD",
+ "pid": "0x5339",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c b/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c
index c0653be0c8..4b28cab796 100644
--- a/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c
+++ b/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ansi(
_MINMIZ, _______,_______, 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_CALC, _______, _______, _______,_______,RESET, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______,
+ KC_CALC, _______, _______, _______,_______,QK_BOOT, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______,
KC_CAPS, _______, KC_SLCK,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,
_LSNUBS, _______, _______,_______,_______,KC_PAUS,_______, KC_RGUI,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP,
_______, _CTLALT, KC_DEL, _______, _______, _______,KC_PGDN,_______
diff --git a/keyboards/boardrun/bizarre/readme.md b/keyboards/boardrun/bizarre/readme.md
index 5c73313d38..3ca84dfac2 100644
--- a/keyboards/boardrun/bizarre/readme.md
+++ b/keyboards/boardrun/bizarre/readme.md
@@ -18,6 +18,6 @@ Flashing example for this keyboard:
make boardrun/bizarre:default:flash
-The board may be reset into bootloader mode via either the reset button (on the bottom of the PCB) or a configured RESET shortcut (which may vary depending on when the PCB was flashed).
+The board may be reset into bootloader mode via either the reset button (on the bottom of the PCB) or a configured `QK_BOOT` shortcut (which may vary depending on when the PCB was flashed).
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/boardrun/classic/config.h b/keyboards/boardrun/classic/config.h
index 754c42975f..f65abc2ff4 100644
--- a/keyboards/boardrun/classic/config.h
+++ b/keyboards/boardrun/classic/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCDCD
-#define PRODUCT_ID 0x5338
-#define DEVICE_VER 0x0001
-#define MANUFACTURER shensmobile
-#define PRODUCT Boardrun Classic
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/boardrun/classic/info.json b/keyboards/boardrun/classic/info.json
index 538814f36f..70ff145c06 100644
--- a/keyboards/boardrun/classic/info.json
+++ b/keyboards/boardrun/classic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Boardrun Classic",
+ "manufacturer": "shensmobile",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardrun/classic",
"maintainer": "QMK Community",
+ "usb": {
+ "vid": "0xCDCD",
+ "pid": "0x5338",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_classic": {
"layout": [
diff --git a/keyboards/boardrun/classic/readme.md b/keyboards/boardrun/classic/readme.md
index 2ed4ff1bd0..eeb2c0d55c 100644
--- a/keyboards/boardrun/classic/readme.md
+++ b/keyboards/boardrun/classic/readme.md
@@ -18,6 +18,6 @@ Flashing example for this keyboard:
make boardrun/classic:default:flash
-The board may be reset into bootloader mode via either the reset button (on the bottom of the PCB) or a configured RESET shortcut (which may vary depending on when the PCB was flashed).
+The board may be reset into bootloader mode via either the reset button (on the bottom of the PCB) or a configured `QK_BOOT` shortcut (which may vary depending on when the PCB was flashed).
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/boardsource/3x4/3x4.c b/keyboards/boardsource/3x4/3x4.c
deleted file mode 100644
index 798d5a65c4..0000000000
--- a/keyboards/boardsource/3x4/3x4.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "3x4.h"
diff --git a/keyboards/boardsource/3x4/3x4.h b/keyboards/boardsource/3x4/3x4.h
deleted file mode 100644
index a27d32c74f..0000000000
--- a/keyboards/boardsource/3x4/3x4.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-#define LAYOUT( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K21, K22, K23 \
- ) { \
- {K00, K01, K02, K03}, \
- {K10, K11, K12, K13}, \
- {K20, K21, K22, K23} \
- }
diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h
deleted file mode 100644
index b7a067bb6f..0000000000
--- a/keyboards/boardsource/3x4/config.h
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4273 // "Bs" - Boardsource
-#define PRODUCT_ID 0x0304 // 3x4
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Boardsource
-#define PRODUCT 3x4
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 4
-
-#define MATRIX_ROW_PINS {F7, F6, F5}
-#define MATRIX_COL_PINS {B6, B2, B3, B1}
-
-#define DIODE_DIRECTION COL2ROW
-
-#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
-
-/* 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
-
-/*
- * 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
diff --git a/keyboards/boardsource/3x4/info.json b/keyboards/boardsource/3x4/info.json
index 649c35af3f..92ed37a63c 100644
--- a/keyboards/boardsource/3x4/info.json
+++ b/keyboards/boardsource/3x4/info.json
@@ -1,27 +1,40 @@
{
- "keyboard_name": "boardsource 4x3",
- "url": "https://boardsource.xyz",
- "maintainer": "boardsource",
- "layouts": {
-
- "LAYOUT": {
-
- "layout": [
- { "label": "K01", "x": 0, "y": 0 },
- { "label": "K02", "x": 1, "y": 0 },
- { "label": "K03", "x": 2, "y": 0 },
- { "label": "K04", "x": 3, "y": 0 },
-
- { "label": "K05", "x": 0, "y": 1 },
- { "label": "K06", "x": 1, "y": 1 },
- { "label": "K07", "x": 2, "y": 1 },
- { "label": "K08", "x": 3, "y": 1 },
-
- { "label": "K09", "x": 0, "y": 2 },
- { "label": "K10", "x": 1, "y": 2 },
- { "label": "K11", "x": 2, "y": 2 },
- { "label": "K12", "x": 3, "y": 2 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "3x4",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "cols": ["B6", "B2", "B3", "B1"],
+ "rows": ["F7", "F6", "F5"]
+ },
+ "url": "https://boardsource.xyz/store/5ecc2008eee64242946c98c1",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0304",
+ "vid": "0x4273"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/3x4/keymaps/default/keymap.c b/keyboards/boardsource/3x4/keymaps/default/keymap.c
index dec66533ef..7601c63506 100644
--- a/keyboards/boardsource/3x4/keymaps/default/keymap.c
+++ b/keyboards/boardsource/3x4/keymaps/default/keymap.c
@@ -1,26 +1,16 @@
+// Copyright 2022 @waffle87
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-// Readability keycodes
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT(
- KC_0, KC_1, KC_4, KC_7,
- KC_ENT, KC_2, KC_5, KC_8,
- RAISE, KC_3, KC_6, KC_9
+ [0] = LAYOUT(
+ KC_0, KC_1, KC_4, KC_7,
+ KC_ENT, KC_2, KC_5, KC_8,
+ MO(1), KC_3, KC_6, KC_9
),
- [_RAISE] = LAYOUT(
+ [1] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, QK_BOOT
)
-
};
diff --git a/keyboards/boardsource/3x4/keymaps/via/keymap.c b/keyboards/boardsource/3x4/keymaps/via/keymap.c
index d24d3acbf5..5aeef391a1 100644
--- a/keyboards/boardsource/3x4/keymaps/via/keymap.c
+++ b/keyboards/boardsource/3x4/keymaps/via/keymap.c
@@ -1,25 +1,26 @@
+// Copyright 2022 @gwillad
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT(
- KC_0, KC_1, KC_4, KC_7,
- KC_ENT, KC_2, KC_5, KC_8,
- MO(1), KC_3, KC_6, KC_9
- ),
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
- ),
- 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
- ),
- 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
- )
+ [0] = LAYOUT(
+ KC_0, KC_1, KC_4, KC_7,
+ KC_ENT, KC_2, KC_5, KC_8,
+ MO(1), KC_3, KC_6, KC_9
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, QK_BOOT
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ )
};
diff --git a/keyboards/boardsource/3x4/keymaps/via/readme.md b/keyboards/boardsource/3x4/keymaps/via/readme.md
deleted file mode 100644
index c68eb9cf5a..0000000000
--- a/keyboards/boardsource/3x4/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The via keymap for boardsource 3x4 macropad
-
-This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 3x4 macropad
-
-Maintained by: [gwillad](https://github.com/gwillad)
diff --git a/keyboards/boardsource/3x4/rules.mk b/keyboards/boardsource/3x4/rules.mk
index 3915b035eb..6e7633bfe0 100644
--- a/keyboards/boardsource/3x4/rules.mk
+++ b/keyboards/boardsource/3x4/rules.mk
@@ -1,17 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
+# This file intentionally left blank
diff --git a/keyboards/boardsource/4x12/4x12.c b/keyboards/boardsource/4x12/4x12.c
deleted file mode 100644
index 2aec6900ad..0000000000
--- a/keyboards/boardsource/4x12/4x12.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "4x12.h"
diff --git a/keyboards/boardsource/4x12/4x12.h b/keyboards/boardsource/4x12/4x12.h
deleted file mode 100644
index 52c23708fa..0000000000
--- a/keyboards/boardsource/4x12/4x12.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#pragma once
-#include "quantum.h"
-
-#define LAYOUT_ortho_4x12( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
- K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
- K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
- K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \
- ) { \
- {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
- {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
- {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
- {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \
- }
diff --git a/keyboards/boardsource/4x12/config.h b/keyboards/boardsource/4x12/config.h
deleted file mode 100644
index 4df24944f8..0000000000
--- a/keyboards/boardsource/4x12/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4273 // "Bs" - Boardsource
-#define PRODUCT_ID 0x0412
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Boardsource
-#define PRODUCT 4x12
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-#define MATRIX_ROW_PINS { D2, D3, D1, D0}
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7 }
-
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
-
-/* 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
-
-/*
- * 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
diff --git a/keyboards/boardsource/4x12/info.json b/keyboards/boardsource/4x12/info.json
index bb4acbbfe8..ec956ea6d7 100644
--- a/keyboards/boardsource/4x12/info.json
+++ b/keyboards/boardsource/4x12/info.json
@@ -1,62 +1,79 @@
{
- "keyboard_name": "Boardsource 4x12",
- "url": "https://boardsource.xyz",
- "maintainer": "Boardsource",
- "layouts": {
- "LAYOUT_ortho_4x12": {
- "layout": [
- { "label": "K01", "x": 0, "y": 0 },
- { "label": "K02", "x": 1, "y": 0 },
- { "label": "K03", "x": 2, "y": 0 },
- { "label": "K04", "x": 3, "y": 0 },
- { "label": "K05", "x": 4, "y": 0 },
- { "label": "K06", "x": 5, "y": 0 },
- { "label": "K07", "x": 6, "y": 0 },
- { "label": "K08", "x": 7, "y": 0 },
- { "label": "K09", "x": 8, "y": 0 },
- { "label": "K010", "x": 9, "y": 0 },
- { "label": "K011", "x": 10, "y": 0 },
- { "label": "K012", "x": 11, "y": 0 },
-
- { "label": "K11", "x": 0, "y": 1 },
- { "label": "K12", "x": 1, "y": 1 },
- { "label": "K13", "x": 2, "y": 1 },
- { "label": "K14", "x": 3, "y": 1 },
- { "label": "K15", "x": 4, "y": 1 },
- { "label": "K16", "x": 5, "y": 1 },
- { "label": "K17", "x": 6, "y": 1 },
- { "label": "K18", "x": 7, "y": 1 },
- { "label": "K19", "x": 8, "y": 1 },
- { "label": "K110", "x": 9, "y": 1 },
- { "label": "K111", "x": 10, "y": 1 },
- { "label": "K112", "x": 11, "y": 1 },
-
- { "label": "K21", "x": 0, "y": 2 },
- { "label": "K22", "x": 1, "y": 2 },
- { "label": "K23", "x": 2, "y": 2 },
- { "label": "K24", "x": 3, "y": 2 },
- { "label": "K25", "x": 4, "y": 2 },
- { "label": "K26", "x": 5, "y": 2 },
- { "label": "K27", "x": 6, "y": 2 },
- { "label": "K28", "x": 7, "y": 2 },
- { "label": "K29", "x": 8, "y": 2 },
- { "label": "K210", "x": 9, "y": 2 },
- { "label": "K211", "x": 10, "y": 2 },
- { "label": "K212", "x": 11, "y": 2 },
-
- { "label": "K31", "x": 0, "y": 3 },
- { "label": "K32", "x": 1, "y": 3 },
- { "label": "K33", "x": 2, "y": 3 },
- { "label": "K34", "x": 3, "y": 3 },
- { "label": "K35", "x": 4, "y": 3 },
- { "label": "K36", "x": 5, "y": 3 },
- { "label": "K37", "x": 6, "y": 3 },
- { "label": "K38", "x": 7, "y": 3 },
- { "label": "K39", "x": 8, "y": 3 },
- { "label": "K310", "x": 9, "y": 3 },
- { "label": "K311", "x": 10, "y": 3 },
- { "label": "K312", "x": 11, "y": 3 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "4x12",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
+ "rows": ["D2", "D3", "D1", "D0"]
+ },
+ "url": "https://boardsource.xyz/store/5ecb78d286879c9a0c22dafd",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0412",
+ "vid": "0x4273"
+ },
+ "community_layouts": [
+ "ortho_4x12"
+ ],
+ "layouts": {
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3 },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c b/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c
index 0ea2b4cef4..102c3b2b42 100644
--- a/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Layer _RAISE
diff --git a/keyboards/boardsource/4x12/keymaps/default/keymap.c b/keyboards/boardsource/4x12/keymaps/default/keymap.c
index 17823f36c9..bb192c613d 100644
--- a/keyboards/boardsource/4x12/keymaps/default/keymap.c
+++ b/keyboards/boardsource/4x12/keymaps/default/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2022 @waffle87
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
@@ -6,31 +8,26 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, 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_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_4x12(
- 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
-
};
diff --git a/keyboards/boardsource/4x12/keymaps/via/keymap.c b/keyboards/boardsource/4x12/keymaps/via/keymap.c
index 17823f36c9..b6e26fbeca 100644
--- a/keyboards/boardsource/4x12/keymaps/via/keymap.c
+++ b/keyboards/boardsource/4x12/keymaps/via/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2022 @gwillad
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
@@ -6,31 +8,32 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, 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_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_4x12(
- 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+ [4] = LAYOUT_ortho_4x12(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
-
};
diff --git a/keyboards/boardsource/4x12/keymaps/via/readme.md b/keyboards/boardsource/4x12/keymaps/via/readme.md
deleted file mode 100644
index 534633d45e..0000000000
--- a/keyboards/boardsource/4x12/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The via keymap for boardsource 4x12 ortholinear keybaoard
-
-This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 4x12 ortholinear keybaoard
-
-Maintained by: [gwillad](https://github.com/gwillad)
diff --git a/keyboards/boardsource/4x12/rules.mk b/keyboards/boardsource/4x12/rules.mk
index 061f93abf6..6e7633bfe0 100644
--- a/keyboards/boardsource/4x12/rules.mk
+++ b/keyboards/boardsource/4x12/rules.mk
@@ -1,24 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_4x12
-
-# Disable unsupported hardware
-RGBLIGHT_SUPPORTED = no
-AUDIO_SUPPORTED = no
-BACKLIGHT_SUPPORTED = no
+# This file intentionally left blank
diff --git a/keyboards/boardsource/5x12/5x12.c b/keyboards/boardsource/5x12/5x12.c
deleted file mode 100644
index 579cd5effc..0000000000
--- a/keyboards/boardsource/5x12/5x12.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "5x12.h" \ No newline at end of file
diff --git a/keyboards/boardsource/5x12/5x12.h b/keyboards/boardsource/5x12/5x12.h
deleted file mode 100644
index bbc0689b44..0000000000
--- a/keyboards/boardsource/5x12/5x12.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-#include "quantum.h"
-
-#define LAYOUT_ortho_5x12( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
- K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
- K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
- K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \
- K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 \
- ) { \
- {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
- {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
- {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
- {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47}, \
- {K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59} \
- }
-
diff --git a/keyboards/boardsource/5x12/config.h b/keyboards/boardsource/5x12/config.h
deleted file mode 100644
index f70dec9efb..0000000000
--- a/keyboards/boardsource/5x12/config.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4273 // "Bs" - Boardsource
-#define PRODUCT_ID 0x0512
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Boardsource
-#define PRODUCT 5x12
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-#define MATRIX_ROW_PINS { D2, D3, D1, D0, D4 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
-
-/* 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
-
-/*
- * 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
diff --git a/keyboards/boardsource/5x12/info.json b/keyboards/boardsource/5x12/info.json
index 92debddd92..b251dd9319 100644
--- a/keyboards/boardsource/5x12/info.json
+++ b/keyboards/boardsource/5x12/info.json
@@ -1,75 +1,91 @@
{
- "keyboard_name": "boardsource 5x12",
- "url": "https://boardsource.xyz",
- "maintainer": "boardsource",
- "layouts": {
- "LAYOUT_ortho_5x12": {
- "layout": [
- { "label": "K01", "x": 0, "y": 0 },
- { "label": "K02", "x": 1, "y": 0 },
- { "label": "K03", "x": 2, "y": 0 },
- { "label": "K04", "x": 3, "y": 0 },
- { "label": "K05", "x": 4, "y": 0 },
- { "label": "K06", "x": 5, "y": 0 },
- { "label": "K07", "x": 6, "y": 0 },
- { "label": "K08", "x": 7, "y": 0 },
- { "label": "K09", "x": 8, "y": 0 },
- { "label": "K010", "x": 9, "y": 0 },
- { "label": "K011", "x": 10, "y": 0 },
- { "label": "K012", "x": 11, "y": 0 },
-
- { "label": "K11", "x": 0, "y": 1 },
- { "label": "K12", "x": 1, "y": 1 },
- { "label": "K13", "x": 2, "y": 1 },
- { "label": "K14", "x": 3, "y": 1 },
- { "label": "K15", "x": 4, "y": 1 },
- { "label": "K16", "x": 5, "y": 1 },
- { "label": "K17", "x": 6, "y": 1 },
- { "label": "K18", "x": 7, "y": 1 },
- { "label": "K19", "x": 8, "y": 1 },
- { "label": "K110", "x": 9, "y": 1 },
- { "label": "K111", "x": 10, "y": 1 },
- { "label": "K112", "x": 11, "y": 1 },
-
- { "label": "K21", "x": 0, "y": 2 },
- { "label": "K22", "x": 1, "y": 2 },
- { "label": "K23", "x": 2, "y": 2 },
- { "label": "K24", "x": 3, "y": 2 },
- { "label": "K25", "x": 4, "y": 2 },
- { "label": "K26", "x": 5, "y": 2 },
- { "label": "K27", "x": 6, "y": 2 },
- { "label": "K28", "x": 7, "y": 2 },
- { "label": "K29", "x": 8, "y": 2 },
- { "label": "K210", "x": 9, "y": 2 },
- { "label": "K211", "x": 10, "y": 2 },
- { "label": "K212", "x": 11, "y": 2 },
-
- { "label": "K31", "x": 0, "y": 3 },
- { "label": "K32", "x": 1, "y": 3 },
- { "label": "K33", "x": 2, "y": 3 },
- { "label": "K34", "x": 3, "y": 3 },
- { "label": "K35", "x": 4, "y": 3 },
- { "label": "K36", "x": 5, "y": 3 },
- { "label": "K37", "x": 6, "y": 3 },
- { "label": "K38", "x": 7, "y": 3 },
- { "label": "K39", "x": 8, "y": 3 },
- { "label": "K310", "x": 9, "y": 3 },
- { "label": "K311", "x": 10, "y": 3 },
- { "label": "K312", "x": 11, "y": 3 },
-
- { "label": "K41", "x": 0, "y": 4 },
- { "label": "K42", "x": 1, "y": 4 },
- { "label": "K43", "x": 2, "y": 4 },
- { "label": "K44", "x": 3, "y": 4 },
- { "label": "K45", "x": 4, "y": 4 },
- { "label": "K46", "x": 5, "y": 4 },
- { "label": "K47", "x": 6, "y": 4 },
- { "label": "K48", "x": 7, "y": 4 },
- { "label": "K49", "x": 8, "y": 4 },
- { "label": "K410", "x": 9, "y": 4 },
- { "label": "K411", "x": 10, "y": 4 },
- { "label": "K412", "x": 11, "y": 4 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "5x12",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
+ "rows": ["D2", "D3", "D1", "D0", "D4"]
+ },
+ "url": "https://boardsource.xyz/store/5ecb802c86879c9a0c22db61",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0512",
+ "vid": "0x4273"
+ },
+ "community_layouts": [
+ "ortho_5x12"
+ ],
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3 },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 },
+ { "matrix": [4, 0], "x": 0, "y": 4 },
+ { "matrix": [4, 1], "x": 1, "y": 4 },
+ { "matrix": [4, 2], "x": 2, "y": 4 },
+ { "matrix": [4, 3], "x": 3, "y": 4 },
+ { "matrix": [4, 4], "x": 4, "y": 4 },
+ { "matrix": [4, 5], "x": 5, "y": 4 },
+ { "matrix": [4, 6], "x": 6, "y": 4 },
+ { "matrix": [4, 7], "x": 7, "y": 4 },
+ { "matrix": [4, 8], "x": 8, "y": 4 },
+ { "matrix": [4, 9], "x": 9, "y": 4 },
+ { "matrix": [4, 10], "x": 10, "y": 4 },
+ { "matrix": [4, 11], "x": 11, "y": 4 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/5x12/keymaps/default/keymap.c b/keyboards/boardsource/5x12/keymaps/default/keymap.c
index 0f2534bbe8..829da5be7f 100644
--- a/keyboards/boardsource/5x12/keymaps/default/keymap.c
+++ b/keyboards/boardsource/5x12/keymaps/default/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2022 @waffle87
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
@@ -6,34 +8,29 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_5x12(
- 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, 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_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, 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_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_5x12(
- 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_5x12(
- 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_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ 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_UP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
-
};
diff --git a/keyboards/boardsource/5x12/keymaps/via/keymap.c b/keyboards/boardsource/5x12/keymaps/via/keymap.c
index 0a7eb43631..d820b61427 100644
--- a/keyboards/boardsource/5x12/keymaps/via/keymap.c
+++ b/keyboards/boardsource/5x12/keymaps/via/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2022 @gwillad
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
@@ -6,42 +8,36 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_5x12(
- 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, 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_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, 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_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_5x12(
- 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_5x12(
- 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_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ 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_UP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[3] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
-
};
diff --git a/keyboards/boardsource/5x12/keymaps/via/readme.md b/keyboards/boardsource/5x12/keymaps/via/readme.md
deleted file mode 100644
index d088e0a64c..0000000000
--- a/keyboards/boardsource/5x12/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The via keymap for boardsource 5x12 ortholinear keyboard
-
-This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 5x12 ortholinear keyboard
-
-Maintained by: [gwillad](https://github.com/gwillad)
diff --git a/keyboards/boardsource/5x12/rules.mk b/keyboards/boardsource/5x12/rules.mk
index 0727732ac6..6e7633bfe0 100644
--- a/keyboards/boardsource/5x12/rules.mk
+++ b/keyboards/boardsource/5x12/rules.mk
@@ -1,24 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_5x12
-
-# Disable unsupported hardware
-RGBLIGHT_SUPPORTED = no
-AUDIO_SUPPORTED = no
-BACKLIGHT_SUPPORTED = no
+# This file intentionally left blank
diff --git a/keyboards/boardsource/beiwagon/beiwagon.c b/keyboards/boardsource/beiwagon/beiwagon.c
deleted file mode 100644
index f4ba170e6e..0000000000
--- a/keyboards/boardsource/beiwagon/beiwagon.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "beiwagon.h"
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- {7,8,9},
- {10,11,12},
- {13,14,15},
- {16,17,18}
-}, {
- {2, 0}, {1, 0}, {0, 0},
- {2, 1}, {1, 1}, {0, 1},
- {2, 2}, {1, 2}, {0, 2},
- {2, 3}, {1, 3}, {0, 3},
-}, {
- 2, 2, 2, 2, 2, 2,
- 1, 1, 1,
- 1, 4, 1,
- 1, 4, 1,
- 1, 1, 1
-
-} };
-#endif
-
diff --git a/keyboards/boardsource/beiwagon/beiwagon.h b/keyboards/boardsource/beiwagon/beiwagon.h
deleted file mode 100644
index ed5d516529..0000000000
--- a/keyboards/boardsource/beiwagon/beiwagon.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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, \
- K10, K11, K12, \
- K20, K21, K22, \
- K30, K31, K32\
- ) { \
- {K00, K01, K02 }, \
- {K10, K11, K12 }, \
- {K20, K21, K22 }, \
- {K30, K31, K32 } \
- }
-
diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h
index 72386c4236..6ce8d2d420 100644
--- a/keyboards/boardsource/beiwagon/config.h
+++ b/keyboards/boardsource/beiwagon/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Boardsource
+Copyright 2022 Boardsource
This 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,62 +16,18 @@ 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 0x4273
-#define PRODUCT_ID 0x0066
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT Beiwagon
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 3
-
-/*
- * 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 {B0, B1, B2, B3}
-#define MATRIX_COL_PINS {B5,B6,B7}
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_BREATHING
-#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define DRIVER_LED_TOTAL 18
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
@@ -85,81 +41,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#ifdef RGBLIGHT_ENABLE
-#define RGBLED_NUM 6 // Number of LEDs
-#endif
-
-#define DRIVER_LED_TOTAL 22
-
-/* 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
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json
index 6f7518b858..69ce8d96f1 100644
--- a/keyboards/boardsource/beiwagon/info.json
+++ b/keyboards/boardsource/beiwagon/info.json
@@ -1,26 +1,64 @@
{
- "keyboard_name": "Beiwagon",
- "url": "",
- "maintainer": "Boardsource",
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "label": "k00", "x": 0, "y": 0 },
- { "label": "k01", "x": 1, "y": 0 },
- { "label": "k02", "x": 2, "y": 0 },
-
- { "label": "k10", "x": 0, "y": 1 },
- { "label": "k11", "x": 1, "y": 1 },
- { "label": "k12", "x": 2, "y": 1 },
-
- { "label": "k20", "x": 0, "y": 2 },
- { "label": "k21", "x": 1, "y": 2 },
- { "label": "k22", "x": 2, "y": 2 },
-
- { "label": "k30", "x": 0, "y": 3 },
- { "label": "k31", "x": 1, "y": 3 },
- { "label": "k32", "x": 2, "y": 3 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "Beiwagon",
+ "maintainer": "waffle87",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["B5", "B6", "B7"],
+ "rows": ["B0", "B1", "B2", "B3"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://boardsource.xyz/store/5ffbfe2ab855550844cab109",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0066",
+ "vid": "0x4273"
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 16, "y": 38 },
+ { "flags": 2, "x": 16, "y": 113 },
+ { "flags": 2, "x": 16, "y": 188 },
+ { "flags": 2, "x": 48, "y": 38 },
+ { "flags": 2, "x": 48, "y": 113 },
+ { "flags": 2, "x": 48, "y": 188 },
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 32, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 64, "y": 0 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 75 },
+ { "flags": 4, "matrix": [1, 1], "x": 32, "y": 75 },
+ { "flags": 4, "matrix": [1, 2], "x": 64, "y": 75 },
+ { "flags": 4, "matrix": [2, 0], "x": 0, "y": 150 },
+ { "flags": 4, "matrix": [2, 1], "x": 32, "y": 150 },
+ { "flags": 4, "matrix": [2, 2], "x": 64, "y": 150 },
+ { "flags": 4, "matrix": [3, 0], "x": 0, "y": 224 },
+ { "flags": 4, "matrix": [3, 1], "x": 32, "y": 224 },
+ { "flags": 4, "matrix": [3, 2], "x": 64, "y": 224 }
+ ]
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
index 396a0c7207..584ada4830 100644
--- a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
+++ b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,30 +18,23 @@
enum layers {
_MAIN,
- _RAISE,
- _LOWER,
+ _RAISE
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT(
KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3,
KC_0, KC_PENT,RAISE
),
-
[_RAISE] = LAYOUT(
KC_7, KC_8, RGB_TOG,
KC_4, KC_5, RGB_MOD,
KC_1, KC_2, KC_3,
- KC_0, KC_PENT,KC_TRNS
-
+ KC_0, KC_PENT,_______
)
-
};
-
diff --git a/keyboards/boardsource/beiwagon/keymaps/default/readme.md b/keyboards/boardsource/beiwagon/keymaps/default/readme.md
deleted file mode 100644
index 95f466aa83..0000000000
--- a/keyboards/boardsource/beiwagon/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Beiwagon
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c
index 396a0c7207..ca068adab4 100644
--- a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c
+++ b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,30 +18,35 @@
enum layers {
_MAIN,
- _RAISE,
- _LOWER,
+ _RAISE
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT(
KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3,
KC_0, KC_PENT,RAISE
),
-
[_RAISE] = LAYOUT(
KC_7, KC_8, RGB_TOG,
KC_4, KC_5, RGB_MOD,
KC_1, KC_2, KC_3,
- KC_0, KC_PENT,KC_TRNS
-
+ KC_0, KC_PENT,_______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
)
-
};
-
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/readme.md b/keyboards/boardsource/beiwagon/keymaps/via/readme.md
deleted file mode 100644
index f1b294c22a..0000000000
--- a/keyboards/boardsource/beiwagon/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for Beiwagon
diff --git a/keyboards/boardsource/beiwagon/rules.mk b/keyboards/boardsource/beiwagon/rules.mk
index 612dcfcfb6..32afd21635 100644
--- a/keyboards/boardsource/beiwagon/rules.mk
+++ b/keyboards/boardsource/beiwagon/rules.mk
@@ -1,20 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/boardsource/holiday/spooky/config.h b/keyboards/boardsource/holiday/spooky/config.h
deleted file mode 100644
index 87d63b0d9e..0000000000
--- a/keyboards/boardsource/holiday/spooky/config.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-Copyright 2020 boardsource
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 0x4273
-#define PRODUCT_ID 0x1031
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT spooky
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 3
-
-#define DIRECT_PINS { {E6,B4,B5}, {B3,B2,B6}}
-
-#define RGB_DI_PIN D3
-#define RGBLIGHT_ANIMATIONS
-#ifdef RGBLIGHT_ENABLE
-#define RGBLED_NUM 5 // Number of LEDs
-#endif
-
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-//#define BACKLIGHT_BREATHING
-
-//#define RGB_DI_PIN E2
-//#ifdef RGB_DI_PIN
-//# define RGBLED_NUM 16
-//# 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 */
-/*== 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
-/*== customize breathing effect ==*/
-/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-/*==== use exp() and sin() ====*/
-//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-//#endif
-
-/* 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
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/boardsource/holiday/spooky/info.json b/keyboards/boardsource/holiday/spooky/info.json
index c942b2af11..56be9f7d26 100644
--- a/keyboards/boardsource/holiday/spooky/info.json
+++ b/keyboards/boardsource/holiday/spooky/info.json
@@ -1,18 +1,46 @@
{
- "keyboard_name": "spooky",
- "url": "https://boardsource.xyz/store/5f783f6da2c1b43e37ca0795",
- "maintainer": "boardsource",
- "layouts": {
- "LAYOUT_ortho_2x3": {
- "layout": [
- { "label": "k00", "x": 0, "y": 0 },
- { "label": "k01", "x": 1, "y": 0 },
- { "label": "k02", "x": 2, "y": 0 },
-
- { "label": "k10", "x": 0, "y": 1 },
- { "label": "k11", "x": 1, "y": 1 },
- { "label": "k12", "x": 2, "y": 1 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "Spooky",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["E6", "B4", "B5"],
+ ["B3", "B2", "B6"]
+ ]
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x1031",
+ "vid": "0x4273"
+ },
+ "rgblight": {
+ "led_count": 5,
+ "pin": "D3",
+ "sleep": true,
+ "animations": {
+ "all": true
}
+ },
+ "community_layouts": [
+ "ortho_2x3"
+ ],
+ "layouts": {
+ "LAYOUT_ortho_2x3": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 }
+ ]
+ }
+ }
}
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c
index 63fbb1b94c..96c21f53f3 100644
--- a/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c
+++ b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 boardsource
+/* Copyright 2022 boardsource
*
* This 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,15 +15,9 @@
*/
#include QMK_KEYBOARD_H
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
-};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT_ortho_2x3(
+ [0] = LAYOUT_ortho_2x3(
KC_F1, KC_F2, KC_F3,
KC_F4, KC_F5, KC_F6
- ),
- };
+ )
+};
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c
index eb56d11735..0afc136854 100644
--- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c
+++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 boardsource
+/* Copyright 2022 boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,17 +15,11 @@
*/
#include QMK_KEYBOARD_H
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
-};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT_ortho_2x3(
+ [0] = LAYOUT_ortho_2x3(
RGB_TOG, KC_VOLU, KC_F2,
RGB_MOD, KC_VOLD, KC_F1
- ),
+ )
};
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
@@ -34,46 +28,44 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
static void render_RIP(void) {
static const char PROGMEM my_logo[] = {
-0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00,
-0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82,
-0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0,
-0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10,
-0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff,
-0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98,
-0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00,
-0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00,
-0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f,
-0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18,
-0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10,
-0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e,
-0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0,
-0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18,
-0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30,
-0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18,
-0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0,
-0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00,
-0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7,
-0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82,
-0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0,
-0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08,
-0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc,
-0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70,
-0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00,
-0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00
- };
-
+ 0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82,
+ 0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0,
+ 0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10,
+ 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98,
+ 0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00,
+ 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00,
+ 0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f,
+ 0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18,
+ 0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10,
+ 0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e,
+ 0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0,
+ 0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18,
+ 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30,
+ 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18,
+ 0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0,
+ 0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7,
+ 0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82,
+ 0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0,
+ 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc,
+ 0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70,
+ 0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00
+ };
oled_write_raw_P(my_logo, sizeof(my_logo));
}
bool oled_task_user(void) {
render_RIP();
- return false;
- }
-
+ return false;
+}
#endif
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c
index f8cac50875..1ddad75827 100644
--- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c
+++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 boardsource
+/* Copyright 2022 boardsource
*
* This 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,18 +15,13 @@
*/
#include QMK_KEYBOARD_H
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
-};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT_ortho_2x3(
+ [0] = LAYOUT_ortho_2x3(
RGB_TOG, KC_1, KC_2,
RGB_MOD, KC_3,KC_4
- ),
+ )
};
+
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180;
@@ -34,46 +29,44 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
static void render_RIP(void) {
static const char PROGMEM my_logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04,
-0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00,
-0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00,
-0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02,
-0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08,
-0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0,
-0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00,
-0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00,
-0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
-0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00,
-0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0,
-0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c,
-0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
-0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00,
-0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03,
-0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c,
-0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04,
+ 0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00,
+ 0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02,
+ 0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08,
+ 0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0,
+ 0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00,
+ 0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00,
+ 0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
+ 0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00,
+ 0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0,
+ 0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c,
+ 0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+ 0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00,
+ 0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03,
+ 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c,
+ 0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-
oled_write_raw_P(my_logo, sizeof(my_logo));
}
bool oled_task_user(void) {
render_RIP();
- return false;
- }
-
+ return false;
+}
#endif
diff --git a/keyboards/boardsource/holiday/spooky/rules.mk b/keyboards/boardsource/holiday/spooky/rules.mk
index ce35761cc9..6e7633bfe0 100644
--- a/keyboards/boardsource/holiday/spooky/rules.mk
+++ b/keyboards/boardsource/holiday/spooky/rules.mk
@@ -1,20 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_2x3
+# This file intentionally left blank
diff --git a/keyboards/boardsource/holiday/spooky/spooky.c b/keyboards/boardsource/holiday/spooky/spooky.c
deleted file mode 100644
index 87fe02c1a8..0000000000
--- a/keyboards/boardsource/holiday/spooky/spooky.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2020 boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "spooky.h"
diff --git a/keyboards/boardsource/holiday/spooky/spooky.h b/keyboards/boardsource/holiday/spooky/spooky.h
deleted file mode 100644
index 42127b8f44..0000000000
--- a/keyboards/boardsource/holiday/spooky/spooky.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT_ortho_2x3( \
- k00, k01, k02, \
- k10, k11, k12 \
-) { \
- { k00, k01, k02 }, \
- { k10, k11, k12 } \
-}
diff --git a/keyboards/boardsource/lulu/avr/info.json b/keyboards/boardsource/lulu/avr/info.json
new file mode 100644
index 0000000000..ad7eefa77f
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/info.json
@@ -0,0 +1,21 @@
+{
+ "build": {
+ "lto": true
+ },
+ "development_board": "elite_c",
+ "matrix_pins": {
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
+ "rows": ["C6", "D7", "E6", "B4", "B5"]
+ },
+ "split": {
+ "soft_serial_pin": "D2"
+ },
+ "rgblight": {
+ "pin": "D3"
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "F0", "pin_b": "F1" }
+ ]
+ }
+}
diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h
index 8cd240179e..8e635a24eb 100644
--- a/keyboards/boardsource/lulu/config.h
+++ b/keyboards/boardsource/lulu/config.h
@@ -2,46 +2,12 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-#include "config_common.h"
-
-#define VENDOR_ID 0x4273
-#define PRODUCT_ID 0x7685
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Boardsource
-#define PRODUCT lulu
-
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 6
-#define MATRIX_ROW_PINS {C6, D7, E6, B4, B5}
-
-// wiring of each half
-#define MATRIX_COL_PINS {F6, F7, B1, B3, B2, B6}
-#define USE_SERIAL
-#define SOFT_SERIAL_PIN D2
-#define SPLIT_USB_DETECT
-#define RGB_DI_PIN D3
-
-#define ENCODERS_PAD_A { F0 }
-#define ENCODERS_PAD_B { F1 }
-#define ENCODERS_PAD_A_RIGHT { F0 }
-#define ENCODERS_PAD_B_RIGHT { F1 }
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-#define DIODE_DIRECTION COL2ROW
-#ifdef RGB_MATRIX_ENABLE
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
- #define RGBLED_NUM 70 // Number of LEDs
- #define DRIVER_LED_TOTAL RGBLED_NUM
- #define RGB_MATRIX_SPLIT { 35, 35 }
- #define SPLIT_TRANSPORT_MIRROR
- #define RGBLIGHT_LIMIT_VAL 150
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
- #define ENABLE_RGB_MATRIX_BREATHING
- #define ENABLE_RGB_MATRIX_BAND_SAT
- #define ENABLE_RGB_MATRIX_BAND_VAL
-#endif
-
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+#define DRIVER_LED_TOTAL 70
+#define RGB_MATRIX_SPLIT { 35, 35 }
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json
index 156a7cea98..8c3b03d1d2 100644
--- a/keyboards/boardsource/lulu/info.json
+++ b/keyboards/boardsource/lulu/info.json
@@ -1,16 +1,169 @@
{
- "keyboard_name": "Lulu",
- "url": "https://boardsource.xyz/store/61d0b772319a1f3cc53ba2fb",
- "maintainer": "boardsource",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
- {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
- {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
- {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
- {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15}
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "lulu",
+ "maintainer": "waffle87",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "oled": true
+ },
+ "url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7685",
+ "vid": "0x4273"
+ },
+ "split": {
+ "enabled": true
+ },
+ "encoder": {
+ "enabled": true
+ },
+ "matrix_size": {
+ "cols": 6,
+ "rows": 10
+ },
+ "rgb_matrix": {
+ "driver": "WS2812",
+ "layout": [
+ { "flags": 2, "x": 86, "y": 55 },
+ { "flags": 2, "x": 51, "y": 55 },
+ { "flags": 2, "x": 17, "y": 40 },
+ { "flags": 2, "x": 17, "y": 10 },
+ { "flags": 2, "x": 51, "y": 10 },
+ { "flags": 2, "x": 86, "y": 10 },
+ { "flags": 4, "matrix": [0, 5], "x": 86, "y": 0 },
+ { "flags": 4, "matrix": [0, 4], "x": 68, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 51, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 34, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 17, "y": 0 },
+ { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 1, "matrix": [1, 0], "x": 0, "y": 16 },
+ { "flags": 4, "matrix": [1, 1], "x": 17, "y": 16 },
+ { "flags": 4, "matrix": [1, 2], "x": 34, "y": 16 },
+ { "flags": 4, "matrix": [1, 3], "x": 51, "y": 16 },
+ { "flags": 4, "matrix": [1, 4], "x": 68, "y": 16 },
+ { "flags": 4, "matrix": [1, 5], "x": 86, "y": 16 },
+ { "flags": 4, "matrix": [2, 5], "x": 86, "y": 32 },
+ { "flags": 4, "matrix": [2, 4], "x": 68, "y": 32 },
+ { "flags": 4, "matrix": [2, 3], "x": 51, "y": 32 },
+ { "flags": 4, "matrix": [2, 2], "x": 34, "y": 32 },
+ { "flags": 4, "matrix": [2, 1], "x": 17, "y": 32 },
+ { "flags": 1, "matrix": [2, 0], "x": 0, "y": 32 },
+ { "flags": 1, "matrix": [3, 0], "x": 0, "y": 48 },
+ { "flags": 4, "matrix": [3, 1], "x": 17, "y": 48 },
+ { "flags": 4, "matrix": [3, 2], "x": 34, "y": 48 },
+ { "flags": 4, "matrix": [3, 3], "x": 51, "y": 48 },
+ { "flags": 4, "matrix": [3, 4], "x": 68, "y": 48 },
+ { "flags": 4, "matrix": [3, 5], "x": 86, "y": 48 },
+ { "flags": 4, "matrix": [4, 5], "x": 103, "y": 40 },
+ { "flags": 1, "matrix": [4, 4], "x": 96, "y": 64 },
+ { "flags": 1, "matrix": [4, 3], "x": 77, "y": 64 },
+ { "flags": 1, "matrix": [4, 2], "x": 60, "y": 64 },
+ { "flags": 1, "matrix": [4, 1], "x": 43, "y": 64 },
+ { "flags": 2, "x": 137, "y": 55 },
+ { "flags": 2, "x": 172, "y": 55 },
+ { "flags": 2, "x": 206, "y": 40 },
+ { "flags": 2, "x": 206, "y": 10 },
+ { "flags": 2, "x": 172, "y": 10 },
+ { "flags": 2, "x": 137, "y": 10 },
+ { "flags": 4, "matrix": [5, 5], "x": 137, "y": 0 },
+ { "flags": 4, "matrix": [5, 4], "x": 155, "y": 0 },
+ { "flags": 4, "matrix": [5, 3], "x": 172, "y": 0 },
+ { "flags": 4, "matrix": [5, 2], "x": 189, "y": 0 },
+ { "flags": 4, "matrix": [5, 1], "x": 206, "y": 0 },
+ { "flags": 1, "matrix": [5, 0], "x": 224, "y": 0 },
+ { "flags": 1, "matrix": [6, 0], "x": 224, "y": 16 },
+ { "flags": 4, "matrix": [6, 1], "x": 206, "y": 16 },
+ { "flags": 4, "matrix": [6, 2], "x": 189, "y": 16 },
+ { "flags": 4, "matrix": [6, 3], "x": 172, "y": 16 },
+ { "flags": 4, "matrix": [6, 4], "x": 155, "y": 16 },
+ { "flags": 4, "matrix": [6, 5], "x": 137, "y": 16 },
+ { "flags": 4, "matrix": [7, 5], "x": 137, "y": 32 },
+ { "flags": 4, "matrix": [7, 4], "x": 155, "y": 32 },
+ { "flags": 4, "matrix": [7, 3], "x": 172, "y": 32 },
+ { "flags": 4, "matrix": [7, 2], "x": 189, "y": 32 },
+ { "flags": 4, "matrix": [7, 1], "x": 206, "y": 32 },
+ { "flags": 1, "matrix": [7, 0], "x": 224, "y": 32 },
+ { "flags": 1, "matrix": [8, 0], "x": 224, "y": 48 },
+ { "flags": 4, "matrix": [8, 1], "x": 206, "y": 48 },
+ { "flags": 4, "matrix": [8, 2], "x": 189, "y": 48 },
+ { "flags": 4, "matrix": [8, 3], "x": 172, "y": 48 },
+ { "flags": 4, "matrix": [8, 4], "x": 155, "y": 48 },
+ { "flags": 4, "matrix": [8, 5], "x": 137, "y": 48 },
+ { "flags": 4, "matrix": [9, 5], "x": 120, "y": 40 },
+ { "flags": 1, "matrix": [9, 4], "x": 127, "y": 64 },
+ { "flags": 1, "matrix": [9, 3], "x": 146, "y": 64 },
+ { "flags": 1, "matrix": [9, 2], "x": 163, "y": 64 },
+ { "flags": 1, "matrix": [9, 1], "x": 180, "y": 64 }
+ ]
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0.5 },
+ { "matrix": [0, 1], "x": 1, "y": 0.375 },
+ { "matrix": [0, 2], "x": 2, "y": 0.125 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0.125 },
+ { "matrix": [0, 5], "x": 5, "y": 0.25 },
+ { "matrix": [5, 5], "x": 10.5, "y": 0.25 },
+ { "matrix": [5, 4], "x": 11.5, "y": 0.125 },
+ { "matrix": [5, 3], "x": 12.5, "y": 0 },
+ { "matrix": [5, 2], "x": 13.5, "y": 0.125 },
+ { "matrix": [5, 1], "x": 14.5, "y": 0.375 },
+ { "matrix": [5, 0], "x": 15.5, "y": 0.5 },
+ { "matrix": [1, 0], "x": 0, "y": 1.5 },
+ { "matrix": [1, 1], "x": 1, "y": 1.375 },
+ { "matrix": [1, 2], "x": 2, "y": 1.125 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1.125 },
+ { "matrix": [1, 5], "x": 5, "y": 1.25 },
+ { "matrix": [6, 5], "x": 10.5, "y": 1.25 },
+ { "matrix": [6, 4], "x": 11.5, "y": 1.125 },
+ { "matrix": [6, 3], "x": 12.5, "y": 1 },
+ { "matrix": [6, 2], "x": 13.5, "y": 1.125 },
+ { "matrix": [6, 1], "x": 14.5, "y": 1.375 },
+ { "matrix": [6, 0], "x": 15.5, "y": 1.5 },
+ { "matrix": [2, 0], "x": 0, "y": 2.5 },
+ { "matrix": [2, 1], "x": 1, "y": 2.375 },
+ { "matrix": [2, 2], "x": 2, "y": 2.125 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2.125 },
+ { "matrix": [2, 5], "x": 5, "y": 2.25 },
+ { "matrix": [7, 5], "x": 10.5, "y": 2.25 },
+ { "matrix": [7, 4], "x": 11.5, "y": 2.125 },
+ { "matrix": [7, 3], "x": 12.5, "y": 2 },
+ { "matrix": [7, 2], "x": 13.5, "y": 2.125 },
+ { "matrix": [7, 1], "x": 14.5, "y": 2.375 },
+ { "matrix": [7, 0], "x": 15.5, "y": 2.5 },
+ { "matrix": [3, 0], "x": 0, "y": 3.5 },
+ { "matrix": [3, 1], "x": 1, "y": 3.375 },
+ { "matrix": [3, 2], "x": 2, "y": 3.125 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3.125 },
+ { "matrix": [3, 5], "x": 5, "y": 3.25 },
+ { "matrix": [4, 5], "x": 6, "y": 2.75 },
+ { "matrix": [9, 5], "x": 9.5, "y": 2.75 },
+ { "matrix": [8, 5], "x": 10.5, "y": 3.25 },
+ { "matrix": [8, 4], "x": 11.5, "y": 3.125 },
+ { "matrix": [8, 3], "x": 12.5, "y": 3 },
+ { "matrix": [8, 2], "x": 13.5, "y": 3.125 },
+ { "matrix": [8, 1], "x": 14.5, "y": 3.375 },
+ { "matrix": [8, 0], "x": 15.5, "y": 3.5 },
+ { "matrix": [4, 1], "x": 2.5, "y": 4.125 },
+ { "matrix": [4, 2], "x": 3.5, "y": 4.15 },
+ { "matrix": [4, 3], "x": 4.5, "y": 4.25 },
+ { "matrix": [4, 4], "h": 1.5, "x": 6, "y": 4.25 },
+ { "matrix": [9, 4], "h": 1.5, "x": 9.5, "y": 4.25 },
+ { "matrix": [9, 3], "x": 11, "y": 4.25 },
+ { "matrix": [9, 2], "x": 12, "y": 4.15 },
+ { "matrix": [9, 1], "x": 13, "y": 4.15 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/lulu/keymaps/default/keymap.c b/keyboards/boardsource/lulu/keymaps/default/keymap.c
index 8624b51b6a..cbee1401ed 100644
--- a/keyboards/boardsource/lulu/keymaps/default/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/default/keymap.c
@@ -106,24 +106,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
-
-#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 false;
-}
-#endif
diff --git a/keyboards/boardsource/lulu/keymaps/via/keymap.c b/keyboards/boardsource/lulu/keymaps/via/keymap.c
index 912ea38559..de635a6128 100644
--- a/keyboards/boardsource/lulu/keymaps/via/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/via/keymap.c
@@ -102,4 +102,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______
)
};
-
diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c
index 7a25fce50c..be6d565a32 100644
--- a/keyboards/boardsource/lulu/lulu.c
+++ b/keyboards/boardsource/lulu/lulu.c
@@ -1,267 +1,237 @@
// Copyright 2022 Cole Smith <cole@boadsource.xyz>
// SPDX-License-Identifier: GPL-2.0-or-later
+#include "encoder.h"
-#include "lulu.h"
-#ifdef RGB_MATRIX_ENABLE
-
-led_config_t g_led_config = { {
- {11,10, 9, 8, 7, 6},
- {17,16,15,14,13,12},
- {23,22,21,20,19,18},
- {29,28,27,26,25,24},
- {NO_LED,34,33,32,31,30},
- {41,42,43,44,45,46},
- {47,48,49,50,51,52},
- {53,54,55,56,57,58},
- {59,60,61,62,63,64},
- {NO_LED,65,66,67,68,69}
-},{
-
- {86,55},{51,55},{17,40},{17,10},{51,10},{86,10},
- {0,0}, {17,0}, {34,0}, {51,0}, {68,0}, {86,0},
- {0,16},{17,16},{34,16},{51,16},{68,16},{86,16},
- {0,32},{17,32},{34,32},{51,32},{68,32},{86,32},
- {0,48},{17,48},{34,48},{51,48},{68,48},{86,48},{103,48},
- {34,64},{51,64},{68,64},{86,64},
-
-
- {137,55},{172,55},{206,40},{206,10},{172,10},{137,10},
- {137,0}, {155,0}, {172,0}, {189,0}, {206,0}, {224,0},
- {137,16},{155,16},{172,16},{189,16},{206,16},{224,16},
- {137,32},{155,32},{172,32},{189,32},{206,32},{224,32},
- {137,48},{155,48},{172,48},{189,48},{155,48},{137,48},{120,48},
- {172,64},{189,64},{155,64},{137,64}
-},{2,2,2,2,2,2,
- 4,4,4,4,4,1,
- 1,4,4,4,4,4,
- 4,4,4,4,4,1,
- 1,4,4,4,4,4,
- 1,4,1,1,1,
- 2,2,2,2,2,2,
- 4,4,4,4,4,1,
- 1,4,4,4,4,4,
- 4,4,4,4,4,1,
- 1,4,4,4,4,4,
- 1,4,1,1,1
-}};
-
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ return true;
+}
#endif
-
-
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
if (!is_keyboard_master()) {
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ return OLED_ROTATION_180;
}
return rotation;
}
void render_layer1_logo(void){
- static const char PROGMEM layer_logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
-0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
-0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
-0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
-0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
-0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
-0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
+ static const char PROGMEM layer_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
+ 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+ oled_write_raw_P(layer_logo, sizeof(layer_logo));
}
+
void render_layer2_logo(void){
- static const char PROGMEM layer_logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
-0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
-0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
-0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
-0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
-0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
-0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+ static const char PROGMEM layer_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
+ 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
oled_write_raw_P(layer_logo, sizeof(layer_logo));
}
+
void render_layer3_logo(void){
- static const char PROGMEM layer_logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
-0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
-0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
-0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
-0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
-0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+ static const char PROGMEM layer_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
oled_write_raw_P(layer_logo, sizeof(layer_logo));
}
+
void render_layer4_logo(void){
- static const char PROGMEM layer_logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
-0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
-0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
-0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
-0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
-0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+ static const char PROGMEM layer_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
oled_write_raw_P(layer_logo, sizeof(layer_logo));
}
void render_logo(void) {
static const char PROGMEM logo[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
-0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
-0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
-0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
-0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
-0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
-0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
-0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
+ 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
+ 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
oled_write_raw_P(logo, sizeof(logo));
}
-enum Layers{
- _QWERTY,
- _RAISE,
- _LOWER,
- _ADJUST
-};
void process_layer_state(void) {
switch (get_highest_layer(layer_state)) {
- case _QWERTY:
+ case 0:
render_layer1_logo();
break;
- case _LOWER:
+ case 1:
render_layer2_logo();
break;
- case _RAISE:
+ case 2:
render_layer3_logo();
break;
- case _ADJUST:
+ case 3:
render_layer4_logo();
break;
}
@@ -277,4 +247,3 @@ bool oled_task_kb(void) {
return false;
}
#endif
-
diff --git a/keyboards/boardsource/lulu/lulu.h b/keyboards/boardsource/lulu/lulu.h
deleted file mode 100644
index bda65f63e0..0000000000
--- a/keyboards/boardsource/lulu/lulu.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2022 Cole Smith <cole@boadsource.xyz>
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include "quantum.h"
-#include "split_util.h"
-#define has_usb() is_keyboard_master()
-#define is_master is_keyboard_master()
-#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, \
- L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \
- L41, L42, L43, L44, R41, R42, R43, R44 \
- ) \
- { \
- { 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, L41, L42, L43, L44, L45 }, \
- { R05, R04, R03, R02, R01, R00 }, \
- { R15, R14, R13, R12, R11, R10 }, \
- { R25, R24, R23, R22, R21, R20 }, \
- { R35, R34, R33, R32, R31, R30 }, \
- { KC_NO, R44, R43, R42, R41, R40 } \
- }
-
diff --git a/keyboards/boardsource/lulu/readme.md b/keyboards/boardsource/lulu/readme.md
index e7c530161b..a1c184eaac 100644
--- a/keyboards/boardsource/lulu/readme.md
+++ b/keyboards/boardsource/lulu/readme.md
@@ -12,13 +12,20 @@ The lulu is what the ergo community has needed for a long time, a high-end aesth
Make example for this keyboard (after setting up your build environment):
- make boardsource/lulu:default
+ make boardsource/lulu/rp2040:default
+ make boardsource/lulu/avr:default
Flashing example for this keyboard:
- make boardsource/lulu:default:flash
+ make boardsource/lulu/rp2040:default:flash
+ make boardsource/lulu/avr:default:flash
-Reset keyboard by holding down top left key while you plug in the usb cable. Or by pushing the reset switch on the pcb.
+
+Compile `rp2040` firmware if you purchased PCB in lulu group buy (integrated microcontroller).
+Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro.
+
+
+Enter bootloader by holding down the upper outer key while you plug in the usb cable, or by pushing the reset switch on the pcb.
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/boardsource/lulu/rp2040/config.h b/keyboards/boardsource/lulu/rp2040/config.h
new file mode 100644
index 0000000000..2e02e03500
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/config.h
@@ -0,0 +1,11 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP0
+#define SERIAL_USART_RX_PIN GP1
+#define I2C_DRIVER I2CD2
+#define I2C1_SDA_PIN GP22
+#define I2C1_SCL_PIN GP23
diff --git a/keyboards/boardsource/lulu/rp2040/halconf.h b/keyboards/boardsource/lulu/rp2040/halconf.h
new file mode 100644
index 0000000000..9b8ab5d023
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/halconf.h
@@ -0,0 +1,5 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define HAL_USE_I2C TRUE
+#include_next <halconf.h>
diff --git a/keyboards/boardsource/lulu/rp2040/info.json b/keyboards/boardsource/lulu/rp2040/info.json
new file mode 100644
index 0000000000..a384241944
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/info.json
@@ -0,0 +1,17 @@
+{
+ "bootloader": "rp2040",
+ "matrix_pins": {
+ "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
+ "rows": ["GP14", "GP15", "GP16", "GP17", "GP18"]
+ },
+ "processor": "RP2040",
+ "rgblight": {
+ "pin": "GP29",
+ "led_count": 70
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "GP8", "pin_b": "GP9" }
+ ]
+ }
+}
diff --git a/keyboards/boardsource/lulu/rp2040/mcuconf.h b/keyboards/boardsource/lulu/rp2040/mcuconf.h
new file mode 100644
index 0000000000..6f05b8bbe8
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/mcuconf.h
@@ -0,0 +1,6 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#include_next <mcuconf.h>
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk
new file mode 100644
index 0000000000..8fb51ec82d
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/rules.mk
@@ -0,0 +1,2 @@
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/boardsource/lulu/rules.mk b/keyboards/boardsource/lulu/rules.mk
deleted file mode 100644
index 06d206cb55..0000000000
--- a/keyboards/boardsource/lulu/rules.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
-RGB_MATRIX_SUPPORTED = yes
-OLED_ENABLE = yes
-OLED_DRIVER = SSD1306
-LTO_ENABLE = yes
-ENCODER_ENABLE = yes
diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h
deleted file mode 100644
index f2ba806ae7..0000000000
--- a/keyboards/boardsource/microdox/config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 Cole Smith <cole@boadsource.xyz>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x0412
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Boardsource
-#define PRODUCT microdox
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-#define MATRIX_ROW_PINS \
- { B2, B6, B4, B5 }
-
-// wiring of each half
-#define MATRIX_COL_PINS \
- { F4, F5, F6, F7, B1 }
-#define USE_SERIAL
-#define SOFT_SERIAL_PIN D2
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* 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 D3
-#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 12 // Number of LEDs
-# define RGBLED_SPLIT \
- { 6, 6 }
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-
-#endif
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/boardsource/microdox/info.json b/keyboards/boardsource/microdox/info.json
index 3255056002..c61ae23048 100644
--- a/keyboards/boardsource/microdox/info.json
+++ b/keyboards/boardsource/microdox/info.json
@@ -1,54 +1,70 @@
{
- "keyboard_name": "microdox",
- "url": "https://boardsource.xyz/store/5f2e7e4a2902de7151494f92",
- "maintainer": "boardsource",
- "layouts": {
- "LAYOUT_split_3x5_3": {
- "layout": [
- { "label": "Q", "x": 0, "y": 0.3 },
- { "label": "W", "x": 1, "y": 0.1 },
- { "label": "E", "x": 2, "y": 0 },
- { "label": "R", "x": 3, "y": 0.1 },
- { "label": "T", "x": 4, "y": 0.2 },
-
- { "label": "Y", "x": 8, "y": 0.2 },
- { "label": "U", "x": 9, "y": 0.1 },
- { "label": "I", "x": 10, "y": 0 },
- { "label": "O", "x": 11, "y": 0.1 },
- { "label": "P", "x": 12, "y": 0.3 },
-
- { "label": "A", "x": 0, "y": 1.3 },
- { "label": "S", "x": 1, "y": 1.1 },
- { "label": "D", "x": 2, "y": 1 },
- { "label": "F", "x": 3, "y": 1.1 },
- { "label": "G", "x": 4, "y": 1.2 },
-
- { "label": "H", "x": 8, "y": 1.2 },
- { "label": "J", "x": 9, "y": 1.1 },
- { "label": "K", "x": 10, "y": 1 },
- { "label": "L", "x": 11, "y": 1.1 },
- { "label": ";", "x": 12, "y": 1.3 },
-
- { "label": "Z", "x": 0, "y": 2.3 },
- { "label": "X", "x": 1, "y": 2.1 },
- { "label": "C", "x": 2, "y": 2 },
- { "label": "V", "x": 3, "y": 2.1 },
- { "label": "B", "x": 4, "y": 2.2 },
-
- { "label": "N", "x": 8, "y": 2.2 },
- { "label": "M", "x": 9, "y": 2.1 },
- { "label": ",", "x": 10, "y": 2 },
- { "label": ".", "x": 11, "y": 2.1 },
- { "label": "/", "x": 12, "y": 2.3 },
-
- { "label": "GUI / KC_HANJ", "x": 3, "y": 3.7 },
- { "label": "Lower", "x": 4, "y": 3.7 },
- { "label": "Space", "x": 5, "y": 3.2 },
-
- { "label": "Enter", "x": 7, "y": 3.2 },
- { "label": "Raise", "x": 8, "y": 3.7 },
- { "label": "Alt / KC_HAEN", "x": 9, "y": 3.7 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "microdox",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "oled": true
+ },
+ "url": "https://boardsource.xyz/store/5f2e7e4a2902de7151494f92",
+ "usb": {
+ "pid": "0x0412",
+ "vid": "0xF7E0"
+ },
+ "split": {
+ "enabled": true
+ },
+ "community_layouts": [
+ "split_3x5_3"
+ ],
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0.375 },
+ { "matrix": [0, 1], "x": 1, "y": 0.125 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0.125 },
+ { "matrix": [0, 4], "x": 4, "y": 0.375 },
+ { "matrix": [4, 4], "x": 7, "y": 0.375 },
+ { "matrix": [4, 3], "x": 8, "y": 0.125 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 1], "x": 10, "y": 0.125 },
+ { "matrix": [4, 0], "x": 11, "y": 0.375 },
+ { "matrix": [1, 0], "x": 0, "y": 1.375 },
+ { "matrix": [1, 1], "x": 1, "y": 1.125 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1.125 },
+ { "matrix": [1, 4], "x": 4, "y": 1.375 },
+ { "matrix": [5, 4], "x": 7, "y": 1.375 },
+ { "matrix": [5, 3], "x": 8, "y": 1.125 },
+ { "matrix": [5, 2], "x": 9, "y": 1 },
+ { "matrix": [5, 1], "x": 10, "y": 1.125 },
+ { "matrix": [5, 0], "x": 11, "y": 1.375 },
+ { "matrix": [2, 0], "x": 0, "y": 2.375 },
+ { "matrix": [2, 1], "x": 1, "y": 2.125 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2.125 },
+ { "matrix": [2, 4], "x": 4, "y": 2.375 },
+ { "matrix": [6, 4], "x": 7, "y": 2.375 },
+ { "matrix": [6, 3], "x": 8, "y": 2.125 },
+ { "matrix": [6, 2], "x": 9, "y": 2 },
+ { "matrix": [6, 1], "x": 10, "y": 2.125 },
+ { "matrix": [6, 0], "x": 11, "y": 2.375 },
+ { "matrix": [3, 2], "x": 2, "y": 4 },
+ { "matrix": [3, 3], "x": 3, "y": 4.125},
+ { "matrix": [3, 4], "x": 4, "y": 4.375 },
+ { "matrix": [7, 4], "x": 7, "y": 4.375 },
+ { "matrix": [7, 3], "x": 8, "y": 4.125 },
+ { "matrix": [7, 2], "x": 9, "y": 4 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/microdox/keymaps/cole/keymap.c b/keyboards/boardsource/microdox/keymaps/cole/keymap.c
index f4ac92ea0d..8c177be5a5 100644
--- a/keyboards/boardsource/microdox/keymaps/cole/keymap.c
+++ b/keyboards/boardsource/microdox/keymaps/cole/keymap.c
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Cole Smith <cole@boadsource.xyz>
+Copyright 2022 Cole Smith <cole@boadsource.xyz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/microdox/keymaps/cole/rules.mk b/keyboards/boardsource/microdox/keymaps/cole/rules.mk
deleted file mode 100644
index dd68e9d3b0..0000000000
--- a/keyboards/boardsource/microdox/keymaps/cole/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OLED_ENABLE = yes
diff --git a/keyboards/boardsource/microdox/keymaps/default/keymap.c b/keyboards/boardsource/microdox/keymaps/default/keymap.c
index 6fe94011f4..8a090b6f8f 100644
--- a/keyboards/boardsource/microdox/keymaps/default/keymap.c
+++ b/keyboards/boardsource/microdox/keymaps/default/keymap.c
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Cole Smith <cole@boadsource.xyz>
+Copyright 2022 Cole Smith <cole@boadsource.xyz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/microdox/keymaps/via/rules.mk b/keyboards/boardsource/microdox/keymaps/via/rules.mk
index 7fad85c015..1e5b99807c 100644
--- a/keyboards/boardsource/microdox/keymaps/via/rules.mk
+++ b/keyboards/boardsource/microdox/keymaps/via/rules.mk
@@ -1,3 +1 @@
-OLED_ENABLE = yes
VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/boardsource/microdox/microdox.c b/keyboards/boardsource/microdox/microdox.c
index abfe65a2bd..76ee6bc54e 100644
--- a/keyboards/boardsource/microdox/microdox.c
+++ b/keyboards/boardsource/microdox/microdox.c
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Cole Smith <cole@boadsource.xyz>
+Copyright 2022 Cole Smith <cole@boadsource.xyz>
This 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,9 +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/>.
*/
-#include "microdox.h"
-
#ifdef OLED_ENABLE
+#include "oled_driver.h"
+#include "bitwise.h"
+#include "action_layer.h"
+
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
if (is_keyboard_master())
return OLED_ROTATION_180;
@@ -26,14 +28,12 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
- 0
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
};
oled_write_P(qmk_logo, false);
}
-
static void render_status(void) {
switch (get_highest_layer(layer_state)) {
case 0:
@@ -74,3 +74,24 @@ bool oled_task_kb(void) {
return false;
}
#endif
+
+#ifdef ENCODER_ENABLE
+#include "encoder.h"
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ } else {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/boardsource/microdox/microdox.h b/keyboards/boardsource/microdox/microdox.h
deleted file mode 100644
index 8b63b46415..0000000000
--- a/keyboards/boardsource/microdox/microdox.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2020 Cole Smith <cole@boadsource.xyz>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 xxx KC_NO
-
-#define LAYOUT_split_3x5_3(\
- k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \
- k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \
- k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \
- k32, k33, k34, k74, k73, k72 \
- ) \
- { \
- { k00, k01, k02, k03, k04 }, \
- { k10, k11, k12, k13, k14 }, \
- { k20, k21, k22, k23, k24 }, \
- { xxx, xxx, k32, k33, k34 }, \
- { k40, k41, k42, k43, k44 }, \
- { k50, k51, k52, k53, k54 }, \
- { k60, k61, k62, k63, k64 }, \
- { xxx, xxx, k72, k73, k74 } \
- }
diff --git a/keyboards/boardsource/microdox/readme.md b/keyboards/boardsource/microdox/readme.md
index 0a468bd4a3..d5b22a2854 100644
--- a/keyboards/boardsource/microdox/readme.md
+++ b/keyboards/boardsource/microdox/readme.md
@@ -8,8 +8,9 @@
Make example for this keyboard (after setting up your build environment):
+ make boardsource/microdox/v1:default
make boardsource/microdox/v2:default
-Remove `v2` from above command if you purchased your PCBs prior to April 2022
+Compile `v1` firmware if you purchased your PCBs prior to April 2022.
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/boardsource/microdox/rules.mk b/keyboards/boardsource/microdox/rules.mk
deleted file mode 100644
index a15c5aded1..0000000000
--- a/keyboards/boardsource/microdox/rules.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-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 = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-
-LAYOUTS = split_3x5_3
diff --git a/keyboards/boardsource/microdox/v1/config.h b/keyboards/boardsource/microdox/v1/config.h
new file mode 100644
index 0000000000..01b894afd6
--- /dev/null
+++ b/keyboards/boardsource/microdox/v1/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Just here to please quantum/split_common/split_util.c
diff --git a/keyboards/boardsource/microdox/v1/info.json b/keyboards/boardsource/microdox/v1/info.json
new file mode 100644
index 0000000000..85f2e61457
--- /dev/null
+++ b/keyboards/boardsource/microdox/v1/info.json
@@ -0,0 +1,25 @@
+{
+ "features": {
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1"],
+ "rows": ["B2", "B6", "B4", "B5"]
+ },
+ "usb": {
+ "device_version": "1.0.0"
+ },
+ "split": {
+ "soft_serial_pin": "D2"
+ },
+ "rgblight": {
+ "pin": "D3",
+ "sleep": true,
+ "led_count": 12,
+ "split_count": [6, 6],
+ "max_brightness": 150,
+ "animations": {
+ "all": true
+ }
+ }
+}
diff --git a/keyboards/boardsource/microdox/v1/rules.mk b/keyboards/boardsource/microdox/v1/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/boardsource/microdox/v1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h
index 1f8bc7c3d9..e6a7ddc16b 100644
--- a/keyboards/boardsource/microdox/v2/config.h
+++ b/keyboards/boardsource/microdox/v2/config.h
@@ -1,45 +1,15 @@
// Copyright 2022 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#undef MATRIX_ROW_PINS
-#undef MATRIX_COL_PINS
-#define MATRIX_ROW_PINS \
- { F4, D2, C6, B1 }
-#define MATRIX_COL_PINS \
- { D4, D7, B3, F7, F6 }
-#define MATRIX_ROW_PINS_RIGHT \
- { F5, F7, F6, E6 }
-#define MATRIX_COL_PINS_RIGHT \
- { F4, B1, D7, C6, B3 }
-#undef SOFT_SERIAL_PIN
-#define SOFT_SERIAL_PIN D3
-#undef RGB_DI_PIN
+
#define RGB_DI_PIN B5
-#ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# undef RGBLED_SPLIT
-# define RGBLED_NUM 8
-# define RGBLED_SPLIT { 4, 4 } // underglow only
-# define RGBLIGHT_SLEEP
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#endif
-#ifdef RGB_MATRIX_ENABLE
-# define DRIVER_LED_TOTAL 44
-# define RGB_MATRIX_SPLIT { 22, 22 }
-# define RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#endif
-#ifdef ENCODER_ENABLE
-# define ENCODERS_PAD_A { E6 }
-# define ENCODERS_PAD_B { B2 }
-# define ENCODERS_PAD_A_RIGHT { B6 }
-# define ENCODERS_PAD_B_RIGHT { B2 }
-#endif
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+#define DRIVER_LED_TOTAL 44
+#define RGB_MATRIX_SPLIT { 22, 22 }
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
diff --git a/keyboards/boardsource/microdox/v2/info.json b/keyboards/boardsource/microdox/v2/info.json
new file mode 100644
index 0000000000..a53dfff708
--- /dev/null
+++ b/keyboards/boardsource/microdox/v2/info.json
@@ -0,0 +1,82 @@
+{
+ "features": {
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["D4", "D7", "B3", "F7", "F6"],
+ "rows": ["F4", "D2", "C6", "B1"]
+ },
+ "usb": {
+ "device_version": "2.0.0"
+ },
+ "encoder": {
+ "enabled": true,
+ "rotary": [
+ { "pin_a": "E6", "pin_b": "B2"}
+ ]
+ },
+ "split": {
+ "soft_serial_pin": "D3",
+ "matrix_pins": {
+ "right": {
+ "cols": ["F4", "B1", "D7", "C6", "B3"],
+ "rows": ["F5", "F7", "F6", "E6"]
+ }
+ },
+ "encoder": {
+ "right": {
+ "rotary": [
+ { "pin_a": "B6", "pin_b": "B2" }
+ ]
+ }
+ }
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 12, "y": 11 },
+ { "flags": 2, "x": 86, "y": 11 },
+ { "flags": 2, "x": 86, "y": 53 },
+ { "flags": 2, "x": 0, "y": 64 },
+ { "flags": 2, "x": 211, "y": 11 },
+ { "flags": 2, "x": 136, "y": 11 },
+ { "flags": 2, "x": 136, "y": 53 },
+ { "flags": 2, "x": 224, "y": 64 },
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 24, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 49, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 74, "y": 0 },
+ { "flags": 4, "matrix": [0, 4], "x": 99, "y": 0 },
+ { "flags": 4, "matrix": [4, 4], "x": 124, "y": 0 },
+ { "flags": 4, "matrix": [4, 3], "x": 149, "y": 0 },
+ { "flags": 4, "matrix": [4, 2], "x": 174, "y": 0 },
+ { "flags": 4, "matrix": [4, 1], "x": 199, "y": 0 },
+ { "flags": 4, "matrix": [4, 0], "x": 224, "y": 0 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 21 },
+ { "flags": 4, "matrix": [1, 1], "x": 24, "y": 21 },
+ { "flags": 4, "matrix": [1, 2], "x": 49, "y": 21 },
+ { "flags": 4, "matrix": [1, 3], "x": 74, "y": 21 },
+ { "flags": 4, "matrix": [1, 4], "x": 99, "y": 21 },
+ { "flags": 4, "matrix": [5, 4], "x": 124, "y": 21 },
+ { "flags": 4, "matrix": [5, 3], "x": 149, "y": 21 },
+ { "flags": 4, "matrix": [5, 2], "x": 174, "y": 21 },
+ { "flags": 4, "matrix": [5, 1], "x": 199, "y": 21 },
+ { "flags": 4, "matrix": [5, 0], "x": 224, "y": 21 },
+ { "flags": 4, "matrix": [2, 0], "x": 0, "y": 42 },
+ { "flags": 4, "matrix": [2, 1], "x": 24, "y": 42 },
+ { "flags": 4, "matrix": [2, 2], "x": 49, "y": 42 },
+ { "flags": 4, "matrix": [2, 3], "x": 74, "y": 42 },
+ { "flags": 4, "matrix": [2, 4], "x": 99, "y": 42 },
+ { "flags": 4, "matrix": [6, 4], "x": 124, "y": 42 },
+ { "flags": 4, "matrix": [6, 3], "x": 149, "y": 42 },
+ { "flags": 4, "matrix": [6, 2], "x": 174, "y": 42 },
+ { "flags": 4, "matrix": [6, 1], "x": 199, "y": 42 },
+ { "flags": 4, "matrix": [6, 0], "x": 224, "y": 42 },
+ { "flags": 1, "matrix": [3, 2], "x": 49, "y": 64 },
+ { "flags": 1, "matrix": [3, 3], "x": 74, "y": 64 },
+ { "flags": 1, "matrix": [3, 4], "x": 99, "y": 64 },
+ { "flags": 1, "matrix": [7, 4], "x": 124, "y": 64 },
+ { "flags": 1, "matrix": [7, 3], "x": 149, "y": 64 },
+ { "flags": 1, "matrix": [7, 2], "x": 174, "y": 64 }
+ ]
+ }
+}
diff --git a/keyboards/boardsource/microdox/v2/rules.mk b/keyboards/boardsource/microdox/v2/rules.mk
index 0d57a06d1e..32afd21635 100644
--- a/keyboards/boardsource/microdox/v2/rules.mk
+++ b/keyboards/boardsource/microdox/v2/rules.mk
@@ -1,8 +1 @@
-RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
-RGB_MATRIX_SUPPORTED = yes
-RGBLIGHT_ENABLE = no
-OLED_ENABLE = yes
-OLED_DRIVER = SSD1306
-ENCODER_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/boardsource/microdox/v2/v2.c b/keyboards/boardsource/microdox/v2/v2.c
deleted file mode 100644
index 11476a6ea2..0000000000
--- a/keyboards/boardsource/microdox/v2/v2.c
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2022 jack (@waffle87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include "v2.h"
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = {
- {
- { 13, 14, 15, 16, 17 },
- { 12, 11, 10, 9, 8 },
- { 3, 4, 5, 6, 7 },
- { NO_LED, NO_LED, 2, 1, 0 },
- //18-21 left underglow
- { 35, 36, 37, 38, 39 },
- { 34, 33, 32, 31, 30 },
- { 25, 26, 27, 28, 29 },
- { NO_LED, NO_LED, 24, 23, 22 }
- //40-44 right underglow
- }, {
- {99,64}, {74,64}, {49,64}, //0-2
- {0,42}, {24,42}, {49,42}, {74,42}, {99,42}, //3-7
- {99,21}, {74,21}, {49,21}, {24,21}, {0,21}, //8-12
- {0,0}, {24,0}, {49,0}, {74,0}, {99,0}, //13-17
- {12,11}, {86,11}, {86,53}, {0,64}, //18-21
- {124,64}, {149,64}, {174,64}, //22-24
- {224,42}, {199,42}, {174,42}, {149,42}, {124,42}, //25-29
- {124,21}, {149,21}, {174,21}, {199,21}, {224,21}, //30-34
- {224,0}, {199,0}, {174,0}, {149,0}, {124,0}, //35-39
- {211,11}, {136,11}, {136,53}, {224,64} //40-44
- }, {
- 1, 1, 1,
- 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4,
- 2, 2, 2, 2,
- 1, 1, 1,
- 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4,
- 2, 2, 2, 2
- }
-};
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) { return false; }
- if (index == 0) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- } else {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- return false;
-}
-#endif
diff --git a/keyboards/boardsource/microdox/v2/v2.h b/keyboards/boardsource/microdox/v2/v2.h
deleted file mode 100644
index 400660fffa..0000000000
--- a/keyboards/boardsource/microdox/v2/v2.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2022 jack (@waffle87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-#include "quantum.h"
-#define xxx KC_NO
-
-#define LAYOUT_split_3x5_3(\
- k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \
- k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \
- k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \
- k32, k33, k34, k74, k73, k72 \
- ) \
- { \
- { k00, k01, k02, k03, k04 }, \
- { k10, k11, k12, k13, k14 }, \
- { k20, k21, k22, k23, k24 }, \
- { xxx, xxx, k32, k33, k34 }, \
- { k40, k41, k42, k43, k44 }, \
- { k50, k51, k52, k53, k54 }, \
- { k60, k61, k62, k63, k64 }, \
- { xxx, xxx, k72, k73, k74 } \
- }
diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h
index 146141a911..bbaacd33c4 100644
--- a/keyboards/boardsource/technik_o/config.h
+++ b/keyboards/boardsource/technik_o/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Boardsource
+Copyright 2022 Boardsource
This 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,62 +16,19 @@ 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 0x4273
-#define PRODUCT_ID 0x0079
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT Technik-O
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/*
- * 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 {B0, B1, B2, B3}
-#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6}
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_BREATHING
-#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define DRIVER_LED_TOTAL 58
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
@@ -85,81 +42,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 10 // Number of LEDs
-#endif
-
-#define DRIVER_LED_TOTAL 58
-
-/* 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
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json
index 0aa780ca7b..d84a976e13 100644
--- a/keyboards/boardsource/technik_o/info.json
+++ b/keyboards/boardsource/technik_o/info.json
@@ -1,62 +1,144 @@
{
- "keyboard_name": "Technik-O",
- "url": "https://boardsource.xyz",
- "maintainer": "Boardsource",
- "layouts": {
- "LAYOUT_ortho_4x12": {
- "layout": [
- { "label": "K01", "x": 0, "y": 0 },
- { "label": "K02", "x": 1, "y": 0 },
- { "label": "K03", "x": 2, "y": 0 },
- { "label": "K04", "x": 3, "y": 0 },
- { "label": "K05", "x": 4, "y": 0 },
- { "label": "K06", "x": 5, "y": 0 },
- { "label": "K07", "x": 6, "y": 0 },
- { "label": "K08", "x": 7, "y": 0 },
- { "label": "K09", "x": 8, "y": 0 },
- { "label": "K010", "x": 9, "y": 0 },
- { "label": "K011", "x": 10, "y": 0 },
- { "label": "K012", "x": 11, "y": 0 },
-
- { "label": "K11", "x": 0, "y": 1 },
- { "label": "K12", "x": 1, "y": 1 },
- { "label": "K13", "x": 2, "y": 1 },
- { "label": "K14", "x": 3, "y": 1 },
- { "label": "K15", "x": 4, "y": 1 },
- { "label": "K16", "x": 5, "y": 1 },
- { "label": "K17", "x": 6, "y": 1 },
- { "label": "K18", "x": 7, "y": 1 },
- { "label": "K19", "x": 8, "y": 1 },
- { "label": "K110", "x": 9, "y": 1 },
- { "label": "K111", "x": 10, "y": 1 },
- { "label": "K112", "x": 11, "y": 1 },
-
- { "label": "K21", "x": 0, "y": 2 },
- { "label": "K22", "x": 1, "y": 2 },
- { "label": "K23", "x": 2, "y": 2 },
- { "label": "K24", "x": 3, "y": 2 },
- { "label": "K25", "x": 4, "y": 2 },
- { "label": "K26", "x": 5, "y": 2 },
- { "label": "K27", "x": 6, "y": 2 },
- { "label": "K28", "x": 7, "y": 2 },
- { "label": "K29", "x": 8, "y": 2 },
- { "label": "K210", "x": 9, "y": 2 },
- { "label": "K211", "x": 10, "y": 2 },
- { "label": "K212", "x": 11, "y": 2 },
-
- { "label": "K31", "x": 0, "y": 3 },
- { "label": "K32", "x": 1, "y": 3 },
- { "label": "K33", "x": 2, "y": 3 },
- { "label": "K34", "x": 3, "y": 3 },
- { "label": "K35", "x": 4, "y": 3 },
- { "label": "K36", "x": 5, "y": 3 },
- { "label": "K37", "x": 6, "y": 3 },
- { "label": "K38", "x": 7, "y": 3 },
- { "label": "K39", "x": 8, "y": 3 },
- { "label": "K310", "x": 9, "y": 3 },
- { "label": "K311", "x": 10, "y": 3 },
- { "label": "K312", "x": 11, "y": 3 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "Technik-O",
+ "maintainer": "waffle87",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
+ "rows": ["B0", "B1", "B2", "B3"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0079",
+ "vid": "0x4273"
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 220, "y": 17 },
+ { "flags": 2, "x": 172, "y": 17 },
+ { "flags": 2, "x": 112, "y": 17 },
+ { "flags": 2, "x": 50, "y": 17 },
+ { "flags": 2, "x": 4, "y": 17 },
+ { "flags": 2, "x": 4, "y": 56 },
+ { "flags": 2, "x": 50, "y": 56 },
+ { "flags": 2, "x": 112, "y": 56 },
+ { "flags": 2, "x": 172, "y": 56 },
+ { "flags": 2, "x": 220, "y": 56 },
+ { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
+ { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
+ { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
+ { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
+ { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
+ { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
+ { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
+ { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
+ { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
+ { "flags": 1, "matrix": [1, 0], "x": 0, "y": 21 },
+ { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21 },
+ { "flags": 4, "matrix": [1, 2], "x": 40, "y": 21 },
+ { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21 },
+ { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21 },
+ { "flags": 4, "matrix": [1, 5], "x": 101, "y": 21 },
+ { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21 },
+ { "flags": 4, "matrix": [1, 7], "x": 142, "y": 21 },
+ { "flags": 4, "matrix": [1, 8], "x": 162, "y": 21 },
+ { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21 },
+ { "flags": 4, "matrix": [1, 10], "x": 203, "y": 21 },
+ { "flags": 1, "matrix": [1, 11], "x": 224, "y": 21 },
+ { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 },
+ { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 },
+ { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 },
+ { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 },
+ { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 },
+ { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 },
+ { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 },
+ { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 },
+ { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 },
+ { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 },
+ { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 },
+ { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 },
+ { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 },
+ { "flags": 1, "matrix": [3, 1], "x": 20, "y": 64 },
+ { "flags": 1, "matrix": [3, 2], "x": 40, "y": 64 },
+ { "flags": 1, "matrix": [3, 3], "x": 61, "y": 64 },
+ { "flags": 1, "matrix": [3, 4], "x": 81, "y": 64 },
+ { "flags": 4, "matrix": [3, 5], "x": 101, "y": 64 },
+ { "flags": 4, "matrix": [3, 6], "x": 122, "y": 64 },
+ { "flags": 1, "matrix": [3, 7], "x": 142, "y": 64 },
+ { "flags": 1, "matrix": [3, 8], "x": 162, "y": 64 },
+ { "flags": 1, "matrix": [3, 9], "x": 183, "y": 64 },
+ { "flags": 1, "matrix": [3, 10], "x": 203, "y": 64 },
+ { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }
+ ]
+ },
+ "community_layouts": [
+ "ortho_4x12"
+ ],
+ "layouts": {
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3 },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/technik_o/keymaps/default/keymap.c b/keyboards/boardsource/technik_o/keymaps/default/keymap.c
index 028e3eae41..9df43c88db 100644
--- a/keyboards/boardsource/technik_o/keymaps/default/keymap.c
+++ b/keyboards/boardsource/technik_o/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,32 +22,27 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, 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 ,
RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_4x12(
- 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
-
};
diff --git a/keyboards/boardsource/technik_o/keymaps/default/readme.md b/keyboards/boardsource/technik_o/keymaps/default/readme.md
deleted file mode 100644
index e9427401d0..0000000000
--- a/keyboards/boardsource/technik_o/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Technik-O
diff --git a/keyboards/boardsource/technik_o/keymaps/via/keymap.c b/keyboards/boardsource/technik_o/keymaps/via/keymap.c
index 028e3eae41..c04898f0aa 100644
--- a/keyboards/boardsource/technik_o/keymaps/via/keymap.c
+++ b/keyboards/boardsource/technik_o/keymaps/via/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,32 +22,32 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, 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 ,
RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
[_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_TILD, 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_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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
[_LOWER] = LAYOUT_ortho_4x12(
- 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+ [3] = LAYOUT_ortho_4x12(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
-
};
-
diff --git a/keyboards/boardsource/technik_o/keymaps/via/readme.md b/keyboards/boardsource/technik_o/keymaps/via/readme.md
deleted file mode 100644
index 6ae03a917f..0000000000
--- a/keyboards/boardsource/technik_o/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for Technik-O
diff --git a/keyboards/boardsource/technik_o/rules.mk b/keyboards/boardsource/technik_o/rules.mk
index c1a93c1f38..32afd21635 100644
--- a/keyboards/boardsource/technik_o/rules.mk
+++ b/keyboards/boardsource/technik_o/rules.mk
@@ -1,21 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
-LAYOUTS = ortho_4x12
diff --git a/keyboards/boardsource/technik_o/technik_o.c b/keyboards/boardsource/technik_o/technik_o.c
index 1488d55f59..0fd213e42a 100644
--- a/keyboards/boardsource/technik_o/technik_o.c
+++ b/keyboards/boardsource/technik_o/technik_o.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
* Copyright 2021 @filterpaper
*
* This program is free software: you can redistribute it and/or modify
@@ -15,29 +15,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "technik_o.h"
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- { 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}
-}, {
- {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
- { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
- { 0, 21}, { 20, 21}, { 40, 21}, { 61, 21}, { 81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21},
- { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
- { 0, 64}, { 20, 64}, { 40, 64}, { 61, 64}, { 81, 64}, {101, 64}, {122, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64}
-}, {
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1
-} };
-#endif
-
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
@@ -47,4 +24,3 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}
};
#endif
-
diff --git a/keyboards/boardsource/technik_o/technik_o.h b/keyboards/boardsource/technik_o/technik_o.h
deleted file mode 100644
index e2af9f834a..0000000000
--- a/keyboards/boardsource/technik_o/technik_o.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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_4x12( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
- K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
- K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
- K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \
- ) { \
- {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
- {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
- {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
- {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \
- }
-
diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h
index a34ab1577a..2141a2a0a9 100644
--- a/keyboards/boardsource/technik_s/config.h
+++ b/keyboards/boardsource/technik_s/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Boardsource
+Copyright 2022 Boardsource
This 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,62 +16,19 @@ 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 0x4273
-#define PRODUCT_ID 0x0083
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT Technik-S
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/*
- * 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 {B0, B1, B2, B3}
-#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6}
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_BREATHING
-#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define DRIVER_LED_TOTAL 55
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
@@ -85,81 +42,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 10 // Number of LEDs
-#endif
-
-#define DRIVER_LED_TOTAL 55
-
-/* 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
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json
index 938501b613..6593845e83 100644
--- a/keyboards/boardsource/technik_s/info.json
+++ b/keyboards/boardsource/technik_s/info.json
@@ -1,56 +1,135 @@
{
- "keyboard_name": "Technik-S",
- "url": "",
- "maintainer": "Boardsource",
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "label": "1", "x": 0, "y": 0 },
- { "label": "2", "x": 1, "y": 0 },
- { "label": "3", "x": 2, "y": 0 },
- { "label": "4", "x": 3, "y": 0 },
- { "label": "5", "x": 4, "y": 0 },
- { "label": "6", "x": 5, "y": 0 },
- { "label": "7", "x": 6, "y": 0 },
- { "label": "8", "x": 7, "y": 0 },
- { "label": "9", "x": 8, "y": 0 },
- { "label": "10", "x": 9, "y": 0 },
- { "label": "11", "x": 10, "y": 0 },
- { "label": "12", "x": 11, "y": 0 },
- { "label": "13", "x": 0, "y": 1, "w": 1.5 },
- { "label": "14", "x": 1.5, "y": 1 },
- { "label": "15", "x": 2.5, "y": 1 },
- { "label": "16", "x": 3.5, "y": 1 },
- { "label": "17", "x": 4.5, "y": 1 },
- { "label": "18", "x": 5.5, "y": 1 },
- { "label": "19", "x": 6.5, "y": 1 },
- { "label": "20", "x": 7.5, "y": 1 },
- { "label": "21", "x": 8.5, "y": 1 },
- { "label": "22", "x": 9.5, "y": 1 },
- { "label": "23", "x": 10.5, "y": 1, "w": 1.5 },
- { "label": "24", "x": 0, "y": 2 },
- { "label": "25", "x": 1, "y": 2 },
- { "label": "26", "x": 2, "y": 2 },
- { "label": "27", "x": 3, "y": 2 },
- { "label": "28", "x": 4, "y": 2 },
- { "label": "29", "x": 5, "y": 2 },
- { "label": "30", "x": 6, "y": 2 },
- { "label": "31", "x": 7, "y": 2 },
- { "label": "32", "x": 8, "y": 2 },
- { "label": "33", "x": 9, "y": 2 },
- { "label": "34", "x": 10, "y": 2 },
- { "label": "35", "x": 11, "y": 2 },
- { "label": "36", "x": 0, "y": 3 },
- { "label": "37", "x": 1, "y": 3 },
- { "label": "38", "x": 2, "y": 3 },
- { "label": "39", "x": 3, "y": 3, "w": 1.5 },
- { "label": "40", "x": 4.5, "y": 3, "w": 1.5 },
- { "label": "41", "x": 6, "y": 3, "w": 1.5 },
- { "label": "42", "x": 7.5, "y": 3, "w": 1.5 },
- { "label": "43", "x": 9, "y": 3 },
- { "label": "44", "x": 10, "y": 3 },
- { "label": "45", "x": 11, "y": 3 }
- ]
- }
+ "manufacturer": "Boardsource",
+ "keyboard_name": "Technik-S",
+ "maintainer": "waffle87",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
+ "rows": ["B0", "B1", "B2", "B3"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0083",
+ "vid": "0x4273"
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 220, "y": 17 },
+ { "flags": 2, "x": 172, "y": 17 },
+ { "flags": 2, "x": 112, "y": 17 },
+ { "flags": 2, "x": 50, "y": 17 },
+ { "flags": 2, "x": 4, "y": 17 },
+ { "flags": 2, "x": 4, "y": 56 },
+ { "flags": 2, "x": 50, "y": 56 },
+ { "flags": 2, "x": 112, "y": 56 },
+ { "flags": 2, "x": 172, "y": 56 },
+ { "flags": 2, "x": 220, "y": 56 },
+ { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
+ { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
+ { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
+ { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
+ { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
+ { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
+ { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
+ { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
+ { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
+ { "flags": 1, "matrix": [1, 0], "x": 10, "y": 21 },
+ { "flags": 4, "matrix": [1, 2], "x": 30, "y": 21 },
+ { "flags": 4, "matrix": [1, 3], "x": 51, "y": 21 },
+ { "flags": 4, "matrix": [1, 4], "x": 71, "y": 21 },
+ { "flags": 4, "matrix": [1, 5], "x": 91, "y": 21 },
+ { "flags": 4, "matrix": [1, 6], "x": 112, "y": 21 },
+ { "flags": 4, "matrix": [1, 7], "x": 132, "y": 21 },
+ { "flags": 4, "matrix": [1, 8], "x": 152, "y": 21 },
+ { "flags": 4, "matrix": [1, 9], "x": 173, "y": 21 },
+ { "flags": 4, "matrix": [1, 10], "x": 193, "y": 21 },
+ { "flags": 1, "matrix": [1, 11], "x": 214, "y": 21 },
+ { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 },
+ { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 },
+ { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 },
+ { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 },
+ { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 },
+ { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 },
+ { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 },
+ { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 },
+ { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 },
+ { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 },
+ { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 },
+ { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 },
+ { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 },
+ { "flags": 4, "matrix": [3, 1], "x": 20, "y": 64 },
+ { "flags": 4, "matrix": [3, 2], "x": 40, "y": 64 },
+ { "flags": 4, "matrix": [3, 3], "x": 68, "y": 64 },
+ { "flags": 4, "matrix": [3, 5], "x": 97, "y": 64 },
+ { "flags": 4, "matrix": [3, 6], "x": 126, "y": 64 },
+ { "flags": 4, "matrix": [3, 8], "x": 154, "y": 64 },
+ { "flags": 4, "matrix": [3, 9], "x": 183, "y": 64 },
+ { "flags": 4, "matrix": [3, 10], "x": 203, "y": 64 },
+ { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }
+ ]
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "matrix": [1, 11], "w": 1.5, "x": 10.5, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "w": 1.5, "x": 3, "y": 3 },
+ { "matrix": [3, 5], "w": 1.5, "x": 4.5, "y": 3 },
+ { "matrix": [3, 6], "w": 1.5, "x": 6, "y": 3 },
+ { "matrix": [3, 8], "w": 1.5, "x": 7.5, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/technik_s/keymaps/default/keymap.c b/keyboards/boardsource/technik_s/keymaps/default/keymap.c
index 1b26f6387d..00e17b15f0 100644
--- a/keyboards/boardsource/technik_s/keymaps/default/keymap.c
+++ b/keyboards/boardsource/technik_s/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,32 +22,26 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = 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,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
),
-
[_RAISE] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
- RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
+ KC_TILD, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
+ RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
),
-
[_LOWER] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
- )
-
+ 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
+ )
};
-
diff --git a/keyboards/boardsource/technik_s/keymaps/default/readme.md b/keyboards/boardsource/technik_s/keymaps/default/readme.md
deleted file mode 100644
index 0e6753504b..0000000000
--- a/keyboards/boardsource/technik_s/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Technik-S
diff --git a/keyboards/boardsource/technik_s/keymaps/via/keymap.c b/keyboards/boardsource/technik_s/keymaps/via/keymap.c
index 1b26f6387d..f85b1ff186 100644
--- a/keyboards/boardsource/technik_s/keymaps/via/keymap.c
+++ b/keyboards/boardsource/technik_s/keymaps/via/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,32 +22,32 @@ enum layers {
_LOWER,
};
-// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
[_MAIN] = 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,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
),
-
[_RAISE] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
- RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
+ KC_TILD, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
+ RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
),
-
[_LOWER] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
- )
-
+ 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
};
-
diff --git a/keyboards/boardsource/technik_s/keymaps/via/readme.md b/keyboards/boardsource/technik_s/keymaps/via/readme.md
deleted file mode 100644
index 54e975a5aa..0000000000
--- a/keyboards/boardsource/technik_s/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for Technik-S
diff --git a/keyboards/boardsource/technik_s/rules.mk b/keyboards/boardsource/technik_s/rules.mk
index 33488b9d3a..32afd21635 100644
--- a/keyboards/boardsource/technik_s/rules.mk
+++ b/keyboards/boardsource/technik_s/rules.mk
@@ -1,21 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
-LTO_ENABLE = yes
diff --git a/keyboards/boardsource/technik_s/technik_s.c b/keyboards/boardsource/technik_s/technik_s.c
deleted file mode 100644
index bb7245c73d..0000000000
--- a/keyboards/boardsource/technik_s/technik_s.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "technik_s.h"
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
- {22, NO_LED, 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, NO_LED, 49, 50, NO_LED, 51, 52, 53, 54}
-}, {
- {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
- { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
- { 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21},
- { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
- { 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64}
-}, {
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 1, 1, 1, 4, 4, 1, 1, 1, 1
-} };
-#endif
-
diff --git a/keyboards/boardsource/technik_s/technik_s.h b/keyboards/boardsource/technik_s/technik_s.h
deleted file mode 100644
index 97ee9a7f5f..0000000000
--- a/keyboards/boardsource/technik_s/technik_s.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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, K06, K07, K08, K09, K10, K11, \
- K12, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
- K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
- K36, K37, K38, K39, K40, K41, K42, K43, K44, K45 \
- ) { \
- {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
- {K12, KC_NO, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
- {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
- {K36, K37, K38, K39,KC_NO,K40, K41,KC_NO,K42, K43, K44, K45} \
- }
-
diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h
index 99696e5d28..61628e1821 100644
--- a/keyboards/boardsource/the_mark/config.h
+++ b/keyboards/boardsource/the_mark/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 Boardsource
+Copyright 2022 Boardsource
This 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,141 +16,40 @@ 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 0x4273 // "Bs" - Boardsource
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT The Mark65
-
-/* 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 {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 */
-#define DIODE_DIRECTION COL2ROW
-#define RGBLIGHT_ANIMATIONS
-#define RGB_DI_PIN C6
-#ifdef RGBLIGHT_ENABLE
-#define RGBLED_NUM 24 // Number of LEDs
-#define RGBLIGHT_LIMIT_VAL 200
-#endif
-
-/* RGB matrix support */
#ifdef RGB_MATRIX_ENABLE
-# define DRIVER_LED_TOTAL 24 // Number of LEDs
+# define DRIVER_LED_TOTAL 24
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
#endif
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-//#define BACKLIGHT_BREATHING
-
-//#define RGB_DI_PIN E2
-//#ifdef RGB_DI_PIN
-//# define RGBLED_NUM 16
-//# 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 */
-/*== 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
-/*== customize breathing effect ==*/
-/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-/*==== use exp() and sin() ====*/
-//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-//#endif
-
-/* 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
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json
index 792585d12a..7518a39026 100644
--- a/keyboards/boardsource/the_mark/info.json
+++ b/keyboards/boardsource/the_mark/info.json
@@ -1,394 +1,451 @@
{
- "keyboard_name": "The Mark: 65",
- "url": "",
- "maintainer": "daysgobye, Boardsource",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0},
- {"label":"Toggle RGB", "x":15.25, "y":0},
+ "manufacturer": "Boardsource",
+ "keyboard_name": "The Mark65",
+ "maintainer": "daysgobye, boardsource, waffle87",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true,
+ "rgb_matrix": false
+ },
+ "matrix_pins": {
+ "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "F0", "F1", "F4"],
+ "rows": ["B0", "B1", "B2", "B3", "B4"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://boardsource.xyz/projects/5f46409bdce98063626dcb08",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0001",
+ "vid": "0x4273"
+ },
+ "rgblight": {
+ "led_count": 24,
+ "pin": "C6",
+ "sleep": true,
+ "max_brightness": 200,
+ "animations": {
+ "all": true
+ }
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 224, "y": 42},
+ { "flags": 2, "x": 224, "y": 21},
+ { "flags": 2, "x": 209, "y": 21},
+ { "flags": 2, "x": 179, "y": 21},
+ { "flags": 2, "x": 164, "y": 21},
+ { "flags": 2, "x": 134, "y": 21},
+ { "flags": 2, "x": 119, "y": 21},
+ { "flags": 2, "x": 89, "y": 21},
+ { "flags": 2, "x": 74, "y": 21},
+ { "flags": 2, "x": 45, "y": 21},
+ { "flags": 2, "x": 30, "y": 21},
+ { "flags": 2, "x": 30, "y": 42},
+ { "flags": 2, "x": 30, "y": 64},
+ { "flags": 2, "x": 30, "y": 85},
+ { "flags": 2, "x": 45, "y": 85},
+ { "flags": 2, "x": 74, "y": 85},
+ { "flags": 2, "x": 89, "y": 85},
+ { "flags": 2, "x": 119, "y": 85},
+ { "flags": 2, "x": 134, "y": 85},
+ { "flags": 2, "x": 164, "y": 85},
+ { "flags": 2, "x": 179, "y": 85},
+ { "flags": 2, "x": 209, "y": 85},
+ { "flags": 2, "x": 224, "y": 85},
+ { "flags": 2, "x": 224, "y": 64}
+ ]
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label":"Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label":"1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label":"2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label":"3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label":"4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label":"5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label":"6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label":"7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label":"8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label":"9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label":"0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label":"-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label":"=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label":"RGB Toggle", "matrix": [0, 15], "x": 15.25, "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":"RGB Mode +", "x":15.25, "y":1},
+ { "label":"Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
+ { "label":"Q", "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "label":"W", "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "label":"E", "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "label":"R", "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "label":"T", "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "label":"Y", "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "label":"U", "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "label":"I", "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "label":"O", "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "label":"P", "matrix": [1, 11], "x": 10.5, "y": 1 },
+ { "label":"[{", "matrix": [1, 12], "x": 11.5, "y": 1 },
+ { "label":"]}", "matrix": [1, 13], "x": 12.5, "y": 1 },
+ { "label":"\\|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5 },
+ { "label":"RGB Mode", "matrix": [1, 15], "x": 15.25, "y": 1 },
- {"label":"Ctrl", "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":"Fn", "x":15.25, "y":2},
+ { "label":"Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
+ { "label":"A", "matrix": [2, 2], "x": 1.75, "y": 2 },
+ { "label":"S", "matrix": [2, 3], "x": 2.75, "y": 2 },
+ { "label":"D", "matrix": [2, 4], "x": 3.75, "y": 2 },
+ { "label":"F", "matrix": [2, 5], "x": 4.75, "y": 2 },
+ { "label":"G", "matrix": [2, 6], "x": 5.75, "y": 2 },
+ { "label":"H", "matrix": [2, 7], "x": 6.75, "y": 2 },
+ { "label":"J", "matrix": [2, 8], "x": 7.75, "y": 2 },
+ { "label":"K", "matrix": [2, 9], "x": 8.75, "y": 2 },
+ { "label":"L", "matrix": [2, 10], "x": 9.75, "y": 2 },
+ { "label":";:", "matrix": [2, 11], "x": 10.75, "y": 2 },
+ { "label":"'\"", "matrix": [2, 12], "x": 11.75, "y": 2 },
+ { "label":"Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
+ { "label":"Fn", "matrix": [2, 15], "x": 15.25, "y": 2 },
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"\\|", "x":1.25, "y":3},
- {"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":"\u2191", "x":14.25, "y":3.25},
+ { "label":"Shift", "matrix": [3, 1], "x": 0, "y": 3, "w": 1.25 },
+ { "label":"\\|", "matrix": [3, 0], "x": 1.25, "y": 3 },
+ { "label":"Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label":"X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label":"C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label":"V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label":"B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label":"N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label":"M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label":",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label":".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label":"/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label":"Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 },
+ { "label":"\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25 },
- {"label":"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":"Space", "x":3.75, "y":4, "w":2.25},
- {"label":"Space", "x":6, "y":4, "w":1.25},
- {"label":"Space", "x":7.25, "y":4, "w":2.75},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Ctrl", "x":11, "y":4},
- {"label":"`~", "x":12, "y":4},
- {"label":"\u2190", "x":13.25, "y":4.25},
- {"label":"\u2193", "x":14.25, "y":4.25},
- {"label":"\u2192", "x":15.25, "y":4.25}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Toggle RGB", "x":15.25, "y":0},
+ { "label":"Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label":"GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label":"Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25 },
+ { "label":"Space", "matrix": [4, 6], "x": 6, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75 },
+ { "label":"Alt", "matrix": [4, 10], "x": 10, "y": 4 },
+ { "label":"Ctrl", "matrix": [4, 11], "x": 11, "y": 4 },
+ { "label":"`~", "matrix": [4, 12], "x": 12, "y": 4 },
+ { "label":"\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25 },
+ { "label":"\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25 },
+ { "label":"\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25 }
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ { "label":"Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label":"1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label":"2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label":"3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label":"4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label":"5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label":"6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label":"7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label":"8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label":"9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label":"0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label":"-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label":"=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 },
+ { "label":"RGB Toggle", "matrix": [0, 15], "x": 15.25, "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":"RGB Mode +", "x":15.25, "y":1},
+ { "label":"Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
+ { "label":"Q", "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "label":"W", "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "label":"E", "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "label":"R", "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "label":"T", "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "label":"Y", "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "label":"U", "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "label":"I", "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "label":"O", "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "label":"P", "matrix": [1, 11], "x": 10.5, "y": 1 },
+ { "label":"[{", "matrix": [1, 12], "x": 11.5, "y": 1 },
+ { "label":"]}", "matrix": [1, 13], "x": 12.5, "y": 1 },
+ { "label":"\\|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5 },
+ { "label":"RGB Mode", "matrix": [1, 15], "x": 15.25, "y": 1 },
- {"label":"Ctrl", "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":"Fn", "x":15.25, "y":2},
+ { "label":"Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
+ { "label":"A", "matrix": [2, 2], "x": 1.75, "y": 2 },
+ { "label":"S", "matrix": [2, 3], "x": 2.75, "y": 2 },
+ { "label":"D", "matrix": [2, 4], "x": 3.75, "y": 2 },
+ { "label":"F", "matrix": [2, 5], "x": 4.75, "y": 2 },
+ { "label":"G", "matrix": [2, 6], "x": 5.75, "y": 2 },
+ { "label":"H", "matrix": [2, 7], "x": 6.75, "y": 2 },
+ { "label":"J", "matrix": [2, 8], "x": 7.75, "y": 2 },
+ { "label":"K", "matrix": [2, 9], "x": 8.75, "y": 2 },
+ { "label":"L", "matrix": [2, 10], "x": 9.75, "y": 2 },
+ { "label":";:", "matrix": [2, 11], "x": 10.75, "y": 2 },
+ { "label":"'\"", "matrix": [2, 12], "x": 11.75, "y": 2 },
+ { "label":"Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
+ { "label":"Fn", "matrix": [2, 15], "x": 15.25, "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":"\u2191", "x":14.25, "y":3.25},
+ { "label":"Shift", "matrix": [3, 1], "x": 0, "y": 3, "w": 2.25 },
+ { "label":"Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label":"X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label":"C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label":"V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label":"B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label":"N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label":"M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label":",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label":".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label":"/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label":"Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 },
+ { "label":"\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25 },
- {"label":"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":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Ctrl", "x":11, "y":4},
- {"label":"`~", "x":12, "y":4},
- {"label":"\u2190", "x":13.25, "y":4.25},
- {"label":"\u2193", "x":14.25, "y":4.25},
- {"label":"\u2192", "x":15.25, "y":4.25}
- ]
- },
- "LAYOUT_ansi_split_bs_space": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0},
- {"label":"Toggle RGB", "x":15.25, "y":0},
+ { "label":"Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label":"GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label":"Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25 },
+ { "label":"Alt", "matrix": [4, 10], "x": 10, "y": 4 },
+ { "label":"Ctrl", "matrix": [4, 11], "x": 11, "y": 4 },
+ { "label":"`~", "matrix": [4, 12], "x": 12, "y": 4 },
+ { "label":"\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25 },
+ { "label":"\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25 },
+ { "label":"\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25 }
+ ]
+ },
+ "LAYOUT_ansi_split_bs_space": {
+ "layout": [
+ { "label":"Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label":"1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label":"2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label":"3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label":"4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label":"5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label":"6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label":"7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label":"8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label":"9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label":"0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label":"-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label":"=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label":"RGB Toggle", "matrix": [0, 15], "x": 15.25, "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":"RGB Mode +", "x":15.25, "y":1},
+ { "label":"Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
+ { "label":"Q", "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "label":"W", "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "label":"E", "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "label":"R", "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "label":"T", "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "label":"Y", "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "label":"U", "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "label":"I", "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "label":"O", "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "label":"P", "matrix": [1, 11], "x": 10.5, "y": 1 },
+ { "label":"[{", "matrix": [1, 12], "x": 11.5, "y": 1 },
+ { "label":"]}", "matrix": [1, 13], "x": 12.5, "y": 1 },
+ { "label":"\\|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5 },
+ { "label":"RGB Mode", "matrix": [1, 15], "x": 15.25, "y": 1 },
- {"label":"Ctrl", "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":"Fn", "x":15.25, "y":2},
+ { "label":"Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
+ { "label":"A", "matrix": [2, 2], "x": 1.75, "y": 2 },
+ { "label":"S", "matrix": [2, 3], "x": 2.75, "y": 2 },
+ { "label":"D", "matrix": [2, 4], "x": 3.75, "y": 2 },
+ { "label":"F", "matrix": [2, 5], "x": 4.75, "y": 2 },
+ { "label":"G", "matrix": [2, 6], "x": 5.75, "y": 2 },
+ { "label":"H", "matrix": [2, 7], "x": 6.75, "y": 2 },
+ { "label":"J", "matrix": [2, 8], "x": 7.75, "y": 2 },
+ { "label":"K", "matrix": [2, 9], "x": 8.75, "y": 2 },
+ { "label":"L", "matrix": [2, 10], "x": 9.75, "y": 2 },
+ { "label":";:", "matrix": [2, 11], "x": 10.75, "y": 2 },
+ { "label":"'\"", "matrix": [2, 12], "x": 11.75, "y": 2 },
+ { "label":"Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
+ { "label":"Fn", "matrix": [2, 15], "x": 15.25, "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":"\u2191", "x":14.25, "y":3.25},
+ { "label":"Shift", "matrix": [3, 1], "x": 0, "y": 3, "w": 2.25 },
+ { "label":"Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label":"X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label":"C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label":"V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label":"B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label":"N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label":"M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label":",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label":".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label":"/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label":"Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 },
+ { "label":"\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25 },
- {"label":"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":"Space", "x":3.75, "y":4, "w":2.25},
- {"label":"Space", "x":6, "y":4, "w":1.25},
- {"label":"Space", "x":7.25, "y":4, "w":2.75},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Ctrl", "x":11, "y":4},
- {"label":"`~", "x":12, "y":4},
- {"label":"\u2190", "x":13.25, "y":4.25},
- {"label":"\u2193", "x":14.25, "y":4.25},
- {"label":"\u2192", "x":15.25, "y":4.25}
- ]
- },
- "LAYOUT_iso": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2\"", "x":2, "y":0},
- {"label":"3\u00a3", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Toggle RGB", "x":15.25, "y":0},
+ { "label":"Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label":"GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label":"Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25 },
+ { "label":"Space", "matrix": [4, 6], "x": 6, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75 },
+ { "label":"Alt", "matrix": [4, 10], "x": 10, "y": 4 },
+ { "label":"Ctrl", "matrix": [4, 11], "x": 11, "y": 4 },
+ { "label":"`~", "matrix": [4, 12], "x": 12, "y": 4 },
+ { "label":"\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25 },
+ { "label":"\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25 },
+ { "label":"\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25 }
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ { "label":"Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label":"1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label":"2\"", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label":"3\u00a3", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label":"4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label":"5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label":"6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label":"7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label":"8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label":"9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label":"0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label":"-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label":"=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 },
+ { "label":"RGB Toggle", "matrix": [0, 15], "x": 15.25, "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":"RGB Mode +", "x":15.25, "y":1},
+ { "label":"Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
+ { "label":"Q", "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "label":"W", "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "label":"E", "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "label":"R", "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "label":"T", "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "label":"Y", "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "label":"U", "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "label":"I", "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "label":"O", "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "label":"P", "matrix": [1, 11], "x": 10.5, "y": 1 },
+ { "label":"[{", "matrix": [1, 12], "x": 11.5, "y": 1 },
+ { "label":"]}", "matrix": [1, 13], "x": 12.5, "y": 1 },
+ { "label":"RGB Mode", "matrix": [1, 15], "x": 15.25, "y": 1 },
- {"label":"Ctrl", "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":"#~", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
- {"label":"Fn", "x":15.25, "y":2},
+ { "label":"Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
+ { "label":"A", "matrix": [2, 2], "x": 1.75, "y": 2 },
+ { "label":"S", "matrix": [2, 3], "x": 2.75, "y": 2 },
+ { "label":"D", "matrix": [2, 4], "x": 3.75, "y": 2 },
+ { "label":"F", "matrix": [2, 5], "x": 4.75, "y": 2 },
+ { "label":"G", "matrix": [2, 6], "x": 5.75, "y": 2 },
+ { "label":"H", "matrix": [2, 7], "x": 6.75, "y": 2 },
+ { "label":"J", "matrix": [2, 8], "x": 7.75, "y": 2 },
+ { "label":"K", "matrix": [2, 9], "x": 8.75, "y": 2 },
+ { "label":"L", "matrix": [2, 10], "x": 9.75, "y": 2 },
+ { "label":";:", "matrix": [2, 11], "x": 10.75, "y": 2 },
+ { "label":"'@", "matrix": [2, 12], "x": 11.75, "y": 2 },
+ { "label":"#~", "matrix": [1, 14], "x": 12.75, "y": 2 },
+ { "label":"Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
+ { "label":"Fn", "matrix": [2, 15], "x": 15.25, "y": 2 },
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"\\|", "x":1.25, "y":3},
- {"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":"\u2191", "x":14.25, "y":3.25},
+ { "label":"Shift", "matrix": [3, 1], "x": 0, "y": 3, "w": 1.25 },
+ { "label":"\\|", "matrix": [3, 0], "x": 1.25, "y": 3 },
+ { "label":"Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label":"X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label":"C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label":"V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label":"B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label":"N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label":"M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label":",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label":".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label":"/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label":"Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 },
+ { "label":"\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25 },
- {"label":"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":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Ctrl", "x":11, "y":4},
- {"label":"`\u00ac", "x":12, "y":4},
- {"label":"\u2190", "x":13.25, "y":4.25},
- {"label":"\u2193", "x":14.25, "y":4.25},
- {"label":"\u2192", "x":15.25, "y":4.25}
- ]
- },
- "LAYOUT_iso_split_bs_space": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2\"", "x":2, "y":0},
- {"label":"3\u00a3", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0},
- {"label":"Toggle RGB", "x":15.25, "y":0},
+ { "label":"Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label":"GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label":"Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25 },
+ { "label":"Alt", "matrix": [4, 10], "x": 10, "y": 4 },
+ { "label":"Ctrl", "matrix": [4, 11], "x": 11, "y": 4 },
+ { "label":"`~", "matrix": [4, 12], "x": 12, "y": 4 },
+ { "label":"\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25 },
+ { "label":"\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25 },
+ { "label":"\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25 }
+ ]
+ },
+ "LAYOUT_iso_split_bs_space": {
+ "layout": [
+ { "label":"Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label":"1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label":"2\"", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label":"3\u00a3", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label":"4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label":"5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label":"6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label":"7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label":"8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label":"9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label":"0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label":"-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label":"=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label":"Backspace", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label":"RGB Toggle", "matrix": [0, 15], "x": 15.25, "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":"RGB Mode +", "x":15.25, "y":1},
+ { "label":"Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
+ { "label":"Q", "matrix": [1, 2], "x": 1.5, "y": 1 },
+ { "label":"W", "matrix": [1, 3], "x": 2.5, "y": 1 },
+ { "label":"E", "matrix": [1, 4], "x": 3.5, "y": 1 },
+ { "label":"R", "matrix": [1, 5], "x": 4.5, "y": 1 },
+ { "label":"T", "matrix": [1, 6], "x": 5.5, "y": 1 },
+ { "label":"Y", "matrix": [1, 7], "x": 6.5, "y": 1 },
+ { "label":"U", "matrix": [1, 8], "x": 7.5, "y": 1 },
+ { "label":"I", "matrix": [1, 9], "x": 8.5, "y": 1 },
+ { "label":"O", "matrix": [1, 10], "x": 9.5, "y": 1 },
+ { "label":"P", "matrix": [1, 11], "x": 10.5, "y": 1 },
+ { "label":"[{", "matrix": [1, 12], "x": 11.5, "y": 1 },
+ { "label":"]}", "matrix": [1, 13], "x": 12.5, "y": 1 },
+ { "label":"RGB Mode", "matrix": [1, 15], "x": 15.25, "y": 1 },
- {"label":"Ctrl", "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":"#~", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
- {"label":"Fn", "x":15.25, "y":2},
+ { "label":"Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
+ { "label":"A", "matrix": [2, 2], "x": 1.75, "y": 2 },
+ { "label":"S", "matrix": [2, 3], "x": 2.75, "y": 2 },
+ { "label":"D", "matrix": [2, 4], "x": 3.75, "y": 2 },
+ { "label":"F", "matrix": [2, 5], "x": 4.75, "y": 2 },
+ { "label":"G", "matrix": [2, 6], "x": 5.75, "y": 2 },
+ { "label":"H", "matrix": [2, 7], "x": 6.75, "y": 2 },
+ { "label":"J", "matrix": [2, 8], "x": 7.75, "y": 2 },
+ { "label":"K", "matrix": [2, 9], "x": 8.75, "y": 2 },
+ { "label":"L", "matrix": [2, 10], "x": 9.75, "y": 2 },
+ { "label":";:", "matrix": [2, 11], "x": 10.75, "y": 2 },
+ { "label":"'@", "matrix": [2, 12], "x": 11.75, "y": 2 },
+ { "label":"#~", "matrix": [1, 14], "x": 12.75, "y": 2 },
+ { "label":"Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
+ { "label":"Fn", "matrix": [2, 15], "x": 15.25, "y": 2 },
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"\\|", "x":1.25, "y":3},
- {"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":"\u2191", "x":14.25, "y":3.25},
+ { "label":"Shift", "matrix": [3, 1], "x": 0, "y": 3, "w": 1.25 },
+ { "label":"\\|", "matrix": [3, 0], "x": 1.25, "y": 3 },
+ { "label":"Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label":"X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label":"C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label":"V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label":"B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label":"N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label":"M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label":",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label":".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label":"/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label":"Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 },
+ { "label":"\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25 },
- {"label":"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":"Space", "x":3.75, "y":4, "w":2.25},
- {"label":"Space", "x":6, "y":4, "w":1.25},
- {"label":"Space", "x":7.25, "y":4, "w":2.75},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Ctrl", "x":11, "y":4},
- {"label":"`\u00ac", "x":12, "y":4},
- {"label":"\u2190", "x":13.25, "y":4.25},
- {"label":"\u2193", "x":14.25, "y":4.25},
- {"label":"\u2192", "x":15.25, "y":4.25}
- ]
- }
+ { "label":"Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label":"GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label":"Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25 },
+ { "label":"Space", "matrix": [4, 6], "x": 6, "y": 4, "w": 1.25 },
+ { "label":"Space", "matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75 },
+ { "label":"Alt", "matrix": [4, 10], "x": 10, "y": 4 },
+ { "label":"Ctrl", "matrix": [4, 11], "x": 11, "y": 4 },
+ { "label":"`~", "matrix": [4, 12], "x": 12, "y": 4 },
+ { "label":"\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25 },
+ { "label":"\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25 },
+ { "label":"\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25 }
+ ]
}
+ }
}
diff --git a/keyboards/boardsource/the_mark/keymaps/default/keymap.c b/keyboards/boardsource/the_mark/keymaps/default/keymap.c
index dc689f9bb1..8e4b5caed7 100644
--- a/keyboards/boardsource/the_mark/keymaps/default/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
index 6e1bcd2894..75db90f23f 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
index 477685c771..6bef05a7c1 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
* 2022 QMK / James Young (@noroadsleft)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
index 3e29975d37..68c664aa96 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
index 1f61d83225..676b9b4575 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
* 2022 QMK / James Young (@noroadsleft)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c
index eab59eb7ef..0d958b883a 100644
--- a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2_60] = LAYOUT_all(
RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT)
diff --git a/keyboards/boardsource/the_mark/keymaps/via/keymap.c b/keyboards/boardsource/the_mark/keymaps/via/keymap.c
index dbc3b5b464..3cf3b45d56 100644
--- a/keyboards/boardsource/the_mark/keymaps/via/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/via/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/keyboards/boardsource/the_mark/keymaps/via/readme.md b/keyboards/boardsource/the_mark/keymaps/via/readme.md
deleted file mode 100644
index 5fda80e18b..0000000000
--- a/keyboards/boardsource/the_mark/keymaps/via/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The via keymap for The Mark: 65
-
-This folder contains the VIA configuration for the boardsource's The Mark: 65
diff --git a/keyboards/boardsource/the_mark/rules.mk b/keyboards/boardsource/the_mark/rules.mk
index e9cb6a2894..32afd21635 100644
--- a/keyboards/boardsource/the_mark/rules.mk
+++ b/keyboards/boardsource/the_mark/rules.mk
@@ -1,20 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-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_DRIVER = WS2812
diff --git a/keyboards/boardsource/the_mark/the_mark.c b/keyboards/boardsource/the_mark/the_mark.c
deleted file mode 100644
index 59aff7f9ac..0000000000
--- a/keyboards/boardsource/the_mark/the_mark.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "the_mark.h"
-
-/* Map physical under glow LEDs for RGB matrix support */
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 10 , NO_LED, 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , NO_LED, 1 },
- { 11 , 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, 0 },
- { 12 , 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, 23 },
- { 13 , NO_LED, 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , 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, 22 },
-}, {
- // LED Index to Physical Position
- {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42},
- {30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64}
-}, {
- // 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, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
-} };
-
-
-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
diff --git a/keyboards/boardsource/the_mark/the_mark.h b/keyboards/boardsource/the_mark/the_mark.h
deleted file mode 100644
index 163d5c256c..0000000000
--- a/keyboards/boardsource/the_mark/the_mark.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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
-
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┠┌───────â”
- * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E ││0F │ │0D │ 2u Backspace
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ └─┬─────┤
- * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │ │ │
- * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ ┌──┴â”2D │ ISO Enter
- * LShift │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2F │ │1E │ │
- * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ └───┴────┘
- * │31 │ │31 │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │┌───â”
- * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┘│3E │
- * │40 │41 │43 │44 │46 │48 │4A │4B │4C │┌───┼───┼───â”
- * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┘│4D │4E │4F │
- * └───┴───┴───┘
- * ┌────────────────────────┬─────┬─────â”
- * 6.25u Space │46 │4A │4B │ RWKL
- * └────────────────────────┴─────┴─────┘
- */
-
-#define LAYOUT_all( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
- K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
- K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
- K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
- { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
-
-#define LAYOUT_ansi( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
- K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
- K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
- K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___, K0F }, \
- { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
- { ___, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
- { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
-
-#define LAYOUT_ansi_split_bs_space( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
- K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
- K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
- K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
- { ___, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
- { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
-
-#define LAYOUT_iso( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
- K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
- K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
- K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___, K0F }, \
- { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
- { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
-
-#define LAYOUT_iso_split_bs_space( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
- K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
- K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
- K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
- { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
diff --git a/keyboards/boardwalk/config.h b/keyboards/boardwalk/config.h
index 03e481ce62..80ca48c995 100644
--- a/keyboards/boardwalk/config.h
+++ b/keyboards/boardwalk/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCDCD
-#define PRODUCT_ID 0x5337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER shensmobile
-#define PRODUCT Boardwalk
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/boardwalk/info.json b/keyboards/boardwalk/info.json
index 63630cae8a..4d7d2ae4af 100644
--- a/keyboards/boardwalk/info.json
+++ b/keyboards/boardwalk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Boardwalk",
+ "manufacturer": "shensmobile",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCDCD",
+ "pid": "0x5337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x14": {
"layout": [
diff --git a/keyboards/boardwalk/keymaps/mcallaster/keymap.c b/keyboards/boardwalk/keymaps/mcallaster/keymap.c
index ac1df1b033..efddd8aa0a 100644
--- a/keyboards/boardwalk/keymaps/mcallaster/keymap.c
+++ b/keyboards/boardwalk/keymaps/mcallaster/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_hhkb(
__SLEEP, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, \
- _______, RESET, _______, KC_MPRV, KC_MNXT, _______, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______, \
+ _______, QK_BOOT, _______, KC_MPRV, KC_MNXT, _______, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______, \
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, RGB_SAD, RGB_HUD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, \
_______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/boardwalk/keymaps/nchristus/keymap.c b/keyboards/boardwalk/keymaps/nchristus/keymap.c
index 57b6736cbb..3f05e2bb1d 100644
--- a/keyboards/boardwalk/keymaps/nchristus/keymap.c
+++ b/keyboards/boardwalk/keymaps/nchristus/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: Function Layer */
[3] = LAYOUT_ortho_hhkb(
- RESET, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/boardwalk/keymaps/niclake/keymap.c b/keyboards/boardwalk/keymaps/niclake/keymap.c
index b6a986c0d0..986da6dd27 100644
--- a/keyboards/boardwalk/keymaps/niclake/keymap.c
+++ b/keyboards/boardwalk/keymaps/niclake/keymap.c
@@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .-----------------------------------------------------------------------------------------------------------------------------.
* | | Static | Breath | Rainbw | Swirl | Gradnt | Twnkle | Test | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | | On/Off | ModeUp | Hue Up | Sat Up | Val Up | | | | | | | RESET | |
+ * | | On/Off | ModeUp | Hue Up | Sat Up | Val Up | | | | | | | QK_BOOT | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | XXXXXX | MACWIN | | Hue Dn | Sat Dn | Val Dn | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJ] = LAYOUT_ortho_hhkb(
XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
+ XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX,
XXXXXXX, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, COLEMAK, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/bobpad/config.h b/keyboards/bobpad/config.h
index c744a455e3..a0ae8612b8 100644
--- a/keyboards/bobpad/config.h
+++ b/keyboards/bobpad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x416B
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Desiboards
-#define PRODUCT bobpad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/bobpad/info.json b/keyboards/bobpad/info.json
index 53ac20e9dc..cbb6b70268 100644
--- a/keyboards/bobpad/info.json
+++ b/keyboards/bobpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bobPad",
+ "manufacturer": "Desiboards",
"url": "",
"maintainer": "Ananya Kirti",
+ "usb": {
+ "vid": "0x416B",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
diff --git a/keyboards/bobpad/readme.md b/keyboards/bobpad/readme.md
index 776ef58e47..75e6e03202 100644
--- a/keyboards/bobpad/readme.md
+++ b/keyboards/bobpad/readme.md
@@ -19,7 +19,7 @@ Flashing example for this keyboard:
## Bootloader
Enter the bootloader in 3 ways:
-* **Physical reset button**: Briefly short the pad connected to RESET and GND on the back
-* **Keycode in layout**: Press the key mapped to `RESET`, this is the recommened method
+* **Physical reset button**: Briefly short the pad connected to QK_BOOT and GND on the back
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`, this is the recommened method
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/bolsa/damapad/config.h b/keyboards/bolsa/damapad/config.h
index b829a8a998..16c4006896 100644
--- a/keyboards/bolsa/damapad/config.h
+++ b/keyboards/bolsa/damapad/config.h
@@ -20,14 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D64
-#define PRODUCT_ID 0x6470
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bolsa Keyboard Supply
-#define PRODUCT Damapad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 6
@@ -35,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, F7, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, B7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bolsa/damapad/info.json b/keyboards/bolsa/damapad/info.json
index 28d0c4fc82..00e11799fe 100644
--- a/keyboards/bolsa/damapad/info.json
+++ b/keyboards/bolsa/damapad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Damapad",
+ "manufacturer": "Bolsa Keyboard Supply",
"url": "",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x6D64",
+ "pid": "0x6470",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_wkl": {
"layout": [{
diff --git a/keyboards/bop/config.h b/keyboards/bop/config.h
index fa646a582f..00bae0f655 100644
--- a/keyboards/bop/config.h
+++ b/keyboards/bop/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x666B // fk
-#define PRODUCT_ID 0x626F // bo
-#define DEVICE_VER 0x0001 // rev 1
-#define MANUFACTURER fruitykeeb
-#define PRODUCT bop
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
@@ -34,7 +27,6 @@
#define MATRIX_COL_PINS { D5, C5, B0, B1, B2, B3, B4, B5, B6, E7, E6, F0, F7, F6, F5, F4, F3, F2, F1, C6 }
// If your board is spamming the end column, change C7 to C6 in the line above and short those pins on the controller
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bop/info.json b/keyboards/bop/info.json
index 398e9c32e9..874e797763 100644
--- a/keyboards/bop/info.json
+++ b/keyboards/bop/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bop",
+ "manufacturer": "fruitykeeb",
"url": "https://github.com/blewis308/BOP-Keyboard",
"maintainer": "Fruit",
+ "usb": {
+ "vid": "0x666B",
+ "pid": "0x626F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/boston/config.h b/keyboards/boston/config.h
index 247616d3da..ebaa7ae640 100644
--- a/keyboards/boston/config.h
+++ b/keyboards/boston/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC12
-#define PRODUCT_ID 0x4176
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pylon
-#define PRODUCT Boston
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 19
diff --git a/keyboards/boston/info.json b/keyboards/boston/info.json
index 82e4915176..f0d832afbf 100644
--- a/keyboards/boston/info.json
+++ b/keyboards/boston/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "boston",
+ "keyboard_name": "Boston",
+ "manufacturer": "Pylon",
"url": "https://github.com/bluepylons/Boston",
"maintainer": "bluepylons",
+ "usb": {
+ "vid": "0xAC12",
+ "pid": "0x4176",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h
index 99ce9e85db..7429845958 100644
--- a/keyboards/boston_meetup/2019/config.h
+++ b/keyboards/boston_meetup/2019/config.h
@@ -1,8 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x2019
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json
index 53beef5a84..5f8f8c95f7 100644
--- a/keyboards/boston_meetup/2019/info.json
+++ b/keyboards/boston_meetup/2019/info.json
@@ -1,9 +1,5 @@
{
- "keyboard_name": "Boston Meetup 2019",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT": {
- "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}] }
- }
+ "usb": {
+ "device_version": "20.1.9"
+ }
}
diff --git a/keyboards/boston_meetup/config.h b/keyboards/boston_meetup/config.h
index 60e490435f..8e9919c23a 100644
--- a/keyboards/boston_meetup/config.h
+++ b/keyboards/boston_meetup/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB30
-#define PRODUCT_ID 0x26BE
-#define MANUFACTURER ishtob
-#define PRODUCT Boston Meetup Board
-
//#define AUDIO_VOICES
//#define BACKLIGHT_PIN B7
diff --git a/keyboards/boston_meetup/info.json b/keyboards/boston_meetup/info.json
new file mode 100644
index 0000000000..2c25d4ff06
--- /dev/null
+++ b/keyboards/boston_meetup/info.json
@@ -0,0 +1,14 @@
+{
+ "keyboard_name": "Boston Meetup Board",
+ "manufacturer": "ishtob",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFB30",
+ "pid": "0x26BE"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}] }
+ }
+}
diff --git a/keyboards/botanicalkeyboards/fm2u/config.h b/keyboards/botanicalkeyboards/fm2u/config.h
index 87f865b63a..4664c79d3d 100644
--- a/keyboards/botanicalkeyboards/fm2u/config.h
+++ b/keyboards/botanicalkeyboards/fm2u/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6969
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER botanicalkeyboards
-#define PRODUCT fm2u
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/botanicalkeyboards/fm2u/info.json b/keyboards/botanicalkeyboards/fm2u/info.json
index 5fceadb1fb..d6b521f24d 100644
--- a/keyboards/botanicalkeyboards/fm2u/info.json
+++ b/keyboards/botanicalkeyboards/fm2u/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Botanical Keyboards FM2U",
+ "keyboard_name": "FM2U",
+ "manufacturer": "Botanical Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6969",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_1u": {
"layout": [
diff --git a/keyboards/box75/config.h b/keyboards/box75/config.h
index b6bcc31b0a..53e717fa86 100644
--- a/keyboards/box75/config.h
+++ b/keyboards/box75/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7668 // LD for LinDesign
-#define PRODUCT_ID 0xB075 // For BOX75
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lin Design
-#define PRODUCT BOX75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json
index 9fe35289cf..af7e75360b 100644
--- a/keyboards/box75/info.json
+++ b/keyboards/box75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BOX75",
+ "manufacturer": "Lin Design",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x7668",
+ "pid": "0xB075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bpiphany/four_banger/config.h b/keyboards/bpiphany/four_banger/config.h
index 7ad7a5c369..5408ee3350 100644
--- a/keyboards/bpiphany/four_banger/config.h
+++ b/keyboards/bpiphany/four_banger/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 1up Keyboards
-#define PRODUCT Four Banger
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B2, B6 }
#define MATRIX_COL_PINS { B5, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bpiphany/four_banger/info.json b/keyboards/bpiphany/four_banger/info.json
index 48fc16cebe..5750b19a6b 100644
--- a/keyboards/bpiphany/four_banger/info.json
+++ b/keyboards/bpiphany/four_banger/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Four Banger",
+ "manufacturer": "1up Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x2": {
"layout": [
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index 1ca00f231d..039152ac49 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bathroom Epiphanies
-#define PRODUCT frosty_flake
-
/*
* Frosty Flake Rev. 20140521 made by Bathroom Ephiphanies
* Ported from the Bathroom Epiphanies TMK Firmware:
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_COL_PINS { B0, B3, B2, B1, B6, B4, B5, C7 }
#define MATRIX_ROW_PINS { 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, NO_PIN, NO_PIN, NO_PIN }
-#define UNUSED_PINS { C0, C1, C2, C3, C4, D2, D7 }
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/bpiphany/frosty_flake/info.json b/keyboards/bpiphany/frosty_flake/info.json
index 9d5d6aace0..266c45c394 100644
--- a/keyboards/bpiphany/frosty_flake/info.json
+++ b/keyboards/bpiphany/frosty_flake/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Frosty Flake",
+ "manufacturer": "Bathroom Epiphanies",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c
index 20ce6bd15f..9bb38d8b88 100644
--- a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c
+++ b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LOWER] = LAYOUT_tkl(\
- RESET, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, _______, KC_MUTE, KC_VOLD, KC_VOLU, QWERTY, COLEMAK,DVORAK, \
+ QK_BOOT, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, _______, KC_MUTE, KC_VOLD, KC_VOLU, QWERTY, COLEMAK,DVORAK, \
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_BSPC, _______,_______,_______, \
KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, _______,_______,_______, \
KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h
index 4bc6d2c3c0..e45034f9a8 100644
--- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h
+++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h
@@ -2,6 +2,7 @@
// place overrides here
#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
#define LEADER_TIMEOUT 800
#define DISABLE_SPACE_CADET_ROLLOVER
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c
index dd2098d945..6db177c183 100644
--- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c
+++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c
@@ -52,17 +52,33 @@ qk_tap_dance_action_t tap_dance_actions[] = {
// Tap once for CTRL, twice for Caps Lock
[TD_CTCPS] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_CAPS),
[COPA] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), LCTL(KC_V)),
- [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEmojis, NULL, NULL, 800),
- [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAnimals, NULL, NULL, 800),
- //[SYMBOLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSymbols, NULL, NULL, 800),
- [FOODS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleFoods, NULL, NULL, 800),
- [ETC] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEtc, NULL, NULL, 800),
- //[VEHICLES] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleVehicles, NULL, NULL, 800),
- //[SUPPLEMENT] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSupplement, NULL, NULL, 800),
- [ALLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAll, NULL, NULL, 800)
+ [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEmojis, NULL, NULL),
+ [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAnimals, NULL, NULL),
+ //[SYMBOLS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleSymbols, NULL, NULL),
+ [FOODS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleFoods, NULL, NULL),
+ [ETC] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEtc, NULL, NULL),
+ //[VEHICLES] = ACTION_TAP_DANCE_FN_ADVANCED(cycleVehicles, NULL, NULL),
+ //[SUPPLEMENT] = ACTION_TAP_DANCE_FN_ADVANCED(cycleSupplement, NULL, NULL),
+ [ALLS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAll, NULL, NULL)
// Other declarations would go here, separated by commas, if you have them
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(EMOJIS):
+ case TD(ANIMAL):
+ //case TD(SYMBOLS):
+ case TD(FOODS):
+ case TD(ETC):
+ //case TD(VEHICLES):
+ //case TD(SUPPLEMENT):
+ case TD(ALLS):
+ return 800;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
// macros
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
switch(id) {
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md
index b2e5041393..c3fce50f2a 100644
--- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md
+++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md
@@ -3,7 +3,4 @@ Tap Dance is constrained normally by `TAPPING_TERM` defined in your keyboard's c
-- `ACTION_TAP_DANCE_FN_ADVANCED_TIME(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, tap_specific_tapping_term)` : This works the same as `ACTION_TAP_DANCE_FN_ADVANCED` just with the extra `tap_specific_tapping_term` arguement at the end. This way you can set a specific tap dance to have a longer or shorter tap in between your taps, giving you more, or less, time in between each tap.
-
-
-`tap_specific_tapping_term` should be the same type and range of values that one would put into the `TAPPING_TERM` definition in the config.h file.
+- Implementing `uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)`, you can set a specific tap dance to have a longer or shorter tap in between your taps, giving you more, or less, time in between each tap. The return value should be the same type and range of values that one would put into the `TAPPING_TERM` definition in the config.h file.
diff --git a/keyboards/bpiphany/ghost_squid/config.h b/keyboards/bpiphany/ghost_squid/config.h
index bb8535b177..a57767cae9 100644
--- a/keyboards/bpiphany/ghost_squid/config.h
+++ b/keyboards/bpiphany/ghost_squid/config.h
@@ -19,13 +19,6 @@ 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 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Bathroom Epiphanies
-#define PRODUCT ghost_squid
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/ghost_squid/info.json b/keyboards/bpiphany/ghost_squid/info.json
index 698e3c21de..3617c7efaf 100644
--- a/keyboards/bpiphany/ghost_squid/info.json
+++ b/keyboards/bpiphany/ghost_squid/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Bathroom Epiphanies Ghost Squid",
+ "keyboard_name": "Ghost Squid",
+ "manufacturer": "Bathroom Epiphanies",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6050",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bpiphany/ghost_squid/readme.md b/keyboards/bpiphany/ghost_squid/readme.md
index ab39e0f725..2b2e838cbc 100644
--- a/keyboards/bpiphany/ghost_squid/readme.md
+++ b/keyboards/bpiphany/ghost_squid/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/bpiphany/hid_liber/config.h b/keyboards/bpiphany/hid_liber/config.h
index 95e617f562..af3936dcdb 100755
--- a/keyboards/bpiphany/hid_liber/config.h
+++ b/keyboards/bpiphany/hid_liber/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB919
-#define DEVICE_VER 0x0001
-#define MANUFACTURER "bpiphany"
-#define PRODUCT "HIDLiberation"
-
/* key matrix size */
#define MATRIX_ROWS 18
#define MATRIX_COLS 8
diff --git a/keyboards/bpiphany/hid_liber/info.json b/keyboards/bpiphany/hid_liber/info.json
index 9399b276c5..0caa64e525 100644
--- a/keyboards/bpiphany/hid_liber/info.json
+++ b/keyboards/bpiphany/hid_liber/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bpiphany HIDLiberation",
+ "keyboard_name": "HIDLiberation",
+ "manufacturer": "bpiphany",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB919",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bpiphany/kitten_paw/config.h b/keyboards/bpiphany/kitten_paw/config.h
index b357289e69..1d2c594cfb 100644
--- a/keyboards/bpiphany/kitten_paw/config.h
+++ b/keyboards/bpiphany/kitten_paw/config.h
@@ -19,13 +19,6 @@ 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 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Costar
-#define PRODUCT Majestouch
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
//#define MATRIX_ROW_PINS { D0, D5 }
//#define MATRIX_COL_PINS { F1, F0, B0 }
-//#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bpiphany/kitten_paw/info.json b/keyboards/bpiphany/kitten_paw/info.json
index f9c517ca48..a5d7fc54e7 100644
--- a/keyboards/bpiphany/kitten_paw/info.json
+++ b/keyboards/bpiphany/kitten_paw/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kitten Paw",
+ "manufacturer": "bpiphany",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6050",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"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":"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":1.25}, {"label":"KC_NUBS", "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":"Win", "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/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
index cc4d0bca63..4553d4e0e3 100644
--- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
+++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_scan_user(void) {
uint8_t layer;
- layer = biton32(layer_state);
+ layer = get_highest_layer(layer_state);
if (current_layer_global != layer) {
current_layer_global = layer;
@@ -132,7 +132,7 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
uint8_t layer;
- layer = biton32(layer_state);
+ layer = get_highest_layer(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
diff --git a/keyboards/bpiphany/pegasushoof/2013/config.h b/keyboards/bpiphany/pegasushoof/2013/config.h
index 2573cecfca..33762f020d 100644
--- a/keyboards/bpiphany/pegasushoof/2013/config.h
+++ b/keyboards/bpiphany/pegasushoof/2013/config.h
@@ -17,14 +17,6 @@ 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 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Filco
-#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2013
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/pegasushoof/2013/info.json b/keyboards/bpiphany/pegasushoof/2013/info.json
new file mode 100644
index 0000000000..c96b6ba06c
--- /dev/null
+++ b/keyboards/bpiphany/pegasushoof/2013/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Majestouch TKL \\\\w The Pegasus Hoof 2013"
+}
diff --git a/keyboards/bpiphany/pegasushoof/2015/config.h b/keyboards/bpiphany/pegasushoof/2015/config.h
index 479175c477..d1d52d3098 100644
--- a/keyboards/bpiphany/pegasushoof/2015/config.h
+++ b/keyboards/bpiphany/pegasushoof/2015/config.h
@@ -17,14 +17,6 @@ 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 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Filco
-#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2015
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/pegasushoof/2015/info.json b/keyboards/bpiphany/pegasushoof/2015/info.json
new file mode 100644
index 0000000000..8af38d9501
--- /dev/null
+++ b/keyboards/bpiphany/pegasushoof/2015/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Majestouch TKL \\\\w The Pegasus Hoof 2015"
+}
diff --git a/keyboards/bpiphany/pegasushoof/info.json b/keyboards/bpiphany/pegasushoof/info.json
index fb4d2479a5..2869e9f763 100644
--- a/keyboards/bpiphany/pegasushoof/info.json
+++ b/keyboards/bpiphany/pegasushoof/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "Pegasus Hoof",
+ "manufacturer": "Filco",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6050",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
index 7884462021..68e412ceb9 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
+++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_MUTE,_______,KC_VOLD, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_MPLY, \
- _______,_______,_______, _______, _______,_______,RESET ,_______, KC_MPRV,KC_MSTP,KC_MNXT),
+ _______,_______,_______, _______, _______,_______,QK_BOOT,_______, KC_MPRV,KC_MSTP,KC_MNXT),
/* Layer 3: Programming layer */
[KM_HAXHAX] = LAYOUT( \
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_scan_user(void)
{
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case KM_BLOWRAK:
ph_caps_led_on();
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
index 5036bcb3f5..a9b9b6e8b9 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
+++ b/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[RES] = LAYOUT( \
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,/*NUHS*/_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, \
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______),
diff --git a/keyboards/bpiphany/sixshooter/config.h b/keyboards/bpiphany/sixshooter/config.h
index 74acfac9b0..9c713d92dd 100644
--- a/keyboards/bpiphany/sixshooter/config.h
+++ b/keyboards/bpiphany/sixshooter/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6666
-#define DEVICE_VER 0x0001
-#define MANUFACTURER bpiphany
-#define PRODUCT sixshooter
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -18,7 +11,6 @@
{ F7, F6, F1 }, \
{ F5, F4, F0 } \
}
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/bpiphany/sixshooter/info.json b/keyboards/bpiphany/sixshooter/info.json
index f45419746a..016568067e 100644
--- a/keyboards/bpiphany/sixshooter/info.json
+++ b/keyboards/bpiphany/sixshooter/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SixShooter",
+ "manufacturer": "bpiphany",
"maintainer": "qmk",
"url": "https://geekhack.org/index.php?topic=70033.0",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6666",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":0, "y":1}, {"label":"K04", "x":1, "y":1}, {"label":"K05", "x":2, "y":1}]
diff --git a/keyboards/bpiphany/tiger_lily/config.h b/keyboards/bpiphany/tiger_lily/config.h
index 1831e3e4d4..9aa010c85c 100644
--- a/keyboards/bpiphany/tiger_lily/config.h
+++ b/keyboards/bpiphany/tiger_lily/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4245 //BE
-#define PRODUCT_ID 0x544C //TL
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bathroom Epiphanies
-#define PRODUCT tiger_lily
-
/*
* Frosty Flake Rev. 20140521 made by Bathroom Ephiphanies
* Ported from the Bathroom Epiphanies TMK Firmware:
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, B3, B4, B2, B1, C7, B6, B5 }
#define MATRIX_COL_PINS { 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, NO_PIN, NO_PIN, NO_PIN }
-#define UNUSED_PINS { B0, C4, D3 }
#define LED_NUM_LOCK_PIN C5
#define LED_CAPS_LOCK_PIN C6
diff --git a/keyboards/bpiphany/tiger_lily/info.json b/keyboards/bpiphany/tiger_lily/info.json
index aacd06dcb4..2c03cb0b7f 100644
--- a/keyboards/bpiphany/tiger_lily/info.json
+++ b/keyboards/bpiphany/tiger_lily/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tiger_lily",
+ "manufacturer": "Bathroom Epiphanies",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4245",
+ "pid": "0x544C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":"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":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":"Win", "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/bpiphany/unloved_bastard/config.h b/keyboards/bpiphany/unloved_bastard/config.h
index 1f1cf72a18..9b00e97104 100644
--- a/keyboards/bpiphany/unloved_bastard/config.h
+++ b/keyboards/bpiphany/unloved_bastard/config.h
@@ -19,13 +19,6 @@ 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 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BathroomEpiphanies
-#define PRODUCT Unloved Bastard
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/unloved_bastard/info.json b/keyboards/bpiphany/unloved_bastard/info.json
index 0fe42d3197..33fe46f209 100644
--- a/keyboards/bpiphany/unloved_bastard/info.json
+++ b/keyboards/bpiphany/unloved_bastard/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "unloved_bastard",
+ "keyboard_name": "Unloved Bastard",
+ "manufacturer": "Bathroom Epiphanies",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"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":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":"Win", "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}]
diff --git a/keyboards/bt66tech/bt66tech60/config.h b/keyboards/bt66tech/bt66tech60/config.h
index 18a7a2d85e..62b9f34a66 100644
--- a/keyboards/bt66tech/bt66tech60/config.h
+++ b/keyboards/bt66tech/bt66tech60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4254
-#define PRODUCT_ID 0x7070
-#define DEVICE_VER 0x0001
-#define MANUFACTURER bt66tech
-#define PRODUCT bt66tech 60%
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/bt66tech/bt66tech60/info.json b/keyboards/bt66tech/bt66tech60/info.json
index c4011c3439..0f65b6f57e 100644
--- a/keyboards/bt66tech/bt66tech60/info.json
+++ b/keyboards/bt66tech/bt66tech60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bt66tech60",
+ "keyboard_name": "bt66tech 60%",
+ "manufacturer": "bt66tech",
"url": "",
"maintainer": "bt66tech",
+ "usb": {
+ "vid": "0x4254",
+ "pid": "0x7070",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/bthlabs/geekpad/config.h b/keyboards/bthlabs/geekpad/config.h
index 5dad96a7b4..5a29c90eab 100644
--- a/keyboards/bthlabs/geekpad/config.h
+++ b/keyboards/bthlabs/geekpad/config.h
@@ -19,13 +19,6 @@ 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 0x4257
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BTHLabs
-#define PRODUCT GeekPad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6 }
#define MATRIX_COL_PINS { D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/bthlabs/geekpad/info.json b/keyboards/bthlabs/geekpad/info.json
index 52ecd7a693..270ce3a567 100644
--- a/keyboards/bthlabs/geekpad/info.json
+++ b/keyboards/bthlabs/geekpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BTHLabs GeekPad",
+ "keyboard_name": "GeekPad",
+ "manufacturer": "BTHLabs",
"url": "https://git.bthlabs.pl/tomekwojcik/geekpad",
"maintainer": "Tomek Wójcik <contact@bthlabs.pl>",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4257",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/buildakb/potato65/config.h b/keyboards/buildakb/potato65/config.h
index 4a0a17ace0..6e363d42ad 100644
--- a/keyboards/buildakb/potato65/config.h
+++ b/keyboards/buildakb/potato65/config.h
@@ -19,13 +19,6 @@ 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 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maelkk
-#define PRODUCT Potato 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/buildakb/potato65/info.json b/keyboards/buildakb/potato65/info.json
index a7713ef1bd..54b560b9a5 100644
--- a/keyboards/buildakb/potato65/info.json
+++ b/keyboards/buildakb/potato65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Potato 65",
+ "manufacturer": "Maelkk",
"url": "https://github.com/Aeonstrife/potato65",
"maintainer": "Maelkk",
+ "usb": {
+ "vid": "0x4A56",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_split_bs": {
"layout": [
diff --git a/keyboards/buildakb/potato65hs/config.h b/keyboards/buildakb/potato65hs/config.h
index cf565d8176..e102000fb5 100644
--- a/keyboards/buildakb/potato65hs/config.h
+++ b/keyboards/buildakb/potato65hs/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A56
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maelkk
-#define PRODUCT Potato 65 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, F4, F6, F0, D2 }
#define MATRIX_COL_PINS { D3, D4, D6, D7, B4, B5, B6, F1, B0, B1, B2, B3, B7, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/buildakb/potato65hs/info.json b/keyboards/buildakb/potato65hs/info.json
index 52ea416fa2..0ef7e9e01a 100644
--- a/keyboards/buildakb/potato65hs/info.json
+++ b/keyboards/buildakb/potato65hs/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Potato 65 Hotswap",
+ "manufacturer": "Maelkk",
"url": "https://github.com/Aeonstrife/potato65hotswap",
"maintainer": "Maelkk",
+ "usb": {
+ "vid": "0x4A56",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/buildakb/potato65s/config.h b/keyboards/buildakb/potato65s/config.h
index c1374558c9..6a19a5aceb 100644
--- a/keyboards/buildakb/potato65s/config.h
+++ b/keyboards/buildakb/potato65s/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A56
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maelkk
-#define PRODUCT Potato 65 Solderable
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, F4, F6, F0, D2 }
#define MATRIX_COL_PINS { D3, D4, D6, D7, B4, B5, B6, F1, B0, B1, B2, B3, B7, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/buildakb/potato65s/info.json b/keyboards/buildakb/potato65s/info.json
index 257ed6022d..1920861946 100644
--- a/keyboards/buildakb/potato65s/info.json
+++ b/keyboards/buildakb/potato65s/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Potato 65 Solderable",
+ "manufacturer": "Maelkk",
"url": "https://github.com/Aeonstrife/potato65solderable",
"maintainer": "Maelkk",
+ "usb": {
+ "vid": "0x4A56",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/buzzard/info.json b/keyboards/buzzard/info.json
deleted file mode 100644
index a958ffdc94..0000000000
--- a/keyboards/buzzard/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Buzzard",
- "url": "https://github.com/crehmann/buzzard",
- "maintainer": "crehmann",
- "layouts": {
- "LAYOUT": {
- "layout": [{"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":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":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/buzzard/rev1/config.h b/keyboards/buzzard/rev1/config.h
index 2a7ea22ec1..66c1a9a42e 100644
--- a/keyboards/buzzard/rev1/config.h
+++ b/keyboards/buzzard/rev1/config.h
@@ -3,13 +3,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB077
-#define DEVICE_VER 0x0001
-#define MANUFACTURER crehmann
-#define PRODUCT Buzzard
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -20,7 +13,6 @@
{ F4, F5, F6, F7 }
#define MATRIX_COL_PINS \
{ B1, B3, B2, B6, B5, B4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/buzzard/rev1/info.json b/keyboards/buzzard/rev1/info.json
new file mode 100644
index 0000000000..6ee2226758
--- /dev/null
+++ b/keyboards/buzzard/rev1/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Buzzard",
+ "manufacturer": "crehmann",
+ "url": "https://github.com/crehmann/buzzard",
+ "maintainer": "crehmann",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB077",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"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":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":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/cablecardesigns/cypher/rev6/config.h b/keyboards/cablecardesigns/cypher/rev6/config.h
index 51d86d721e..2ec01133fc 100644
--- a/keyboards/cablecardesigns/cypher/rev6/config.h
+++ b/keyboards/cablecardesigns/cypher/rev6/config.h
@@ -4,20 +4,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x41FF
-#define PRODUCT_ID 0xAA99
-#define DEVICE_VER 0x0002
-#define MANUFACTURER cablecardesigns
-#define PRODUCT cypher
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
#define MATRIX_ROW_PINS { B0, F1, F5, F6, F7, D1, F4, D4, C6, C7 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, B7, B3, B2, B1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cablecardesigns/cypher/rev6/info.json b/keyboards/cablecardesigns/cypher/rev6/info.json
index 385ee8810a..86fb72bb24 100644
--- a/keyboards/cablecardesigns/cypher/rev6/info.json
+++ b/keyboards/cablecardesigns/cypher/rev6/info.json
@@ -1,5 +1,11 @@
{
"keyboard_name": "Cypher Rev6",
+ "manufacturer": "cablecardesigns",
+ "usb": {
+ "vid": "0x41FF",
+ "pid": "0xAA99",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cablecardesigns/cypher/rev6/readme.md b/keyboards/cablecardesigns/cypher/rev6/readme.md
index 13016e86a1..65e87175cf 100644
--- a/keyboards/cablecardesigns/cypher/rev6/readme.md
+++ b/keyboards/cablecardesigns/cypher/rev6/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: There are 2 holes underneath the spacebar position that if shorted will enter bootloader
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/caffeinated/serpent65/config.h b/keyboards/caffeinated/serpent65/config.h
index 358e7d0f4c..35f2a3ae5f 100644
--- a/keyboards/caffeinated/serpent65/config.h
+++ b/keyboards/caffeinated/serpent65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4353 // "CS" = Caffeinated Studios
-#define PRODUCT_ID 0x6501
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Caffeinated Studios
-#define PRODUCT Serpent65
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -48,7 +41,6 @@ EncA (B6) because it is not used in the default PCB
All Extra pins (A8, B15, B14, B13, B3, B5, B8, B9) , for the same reason;
B0, which is unconnected on the PCB
*/
-//#define UNUSED_PINS { B0, B6, B13, B14, B15, B8, B9, B5, B3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/caffeinated/serpent65/info.json b/keyboards/caffeinated/serpent65/info.json
index 6e83b4b707..1808869438 100644
--- a/keyboards/caffeinated/serpent65/info.json
+++ b/keyboards/caffeinated/serpent65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Serpent65",
- "url": "https",
+ "manufacturer": "Caffeinated Studios",
+ "url": "",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0x4353",
+ "pid": "0x6501",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json
index e8cc4c0fe5..4dd97319b3 100644
--- a/keyboards/canary/canary60rgb/info.json
+++ b/keyboards/canary/canary60rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CANARY60RGB",
+ "manufacturer": "CANARY",
"url": "",
"maintainer": "tuananhnguyen204",
+ "usb": {
+ "vid": "0x4341",
+ "pid": "0x0621",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h
index f02b29c1b9..8d3150a5d9 100644
--- a/keyboards/canary/canary60rgb/v1/config.h
+++ b/keyboards/canary/canary60rgb/v1/config.h
@@ -15,13 +15,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4341
-#define PRODUCT_ID 0x0621
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CANARY
-#define PRODUCT CANARY60RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -38,7 +31,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cannonkeys/adelie/config.h b/keyboards/cannonkeys/adelie/config.h
index 16f308ad2c..e07fd65bbb 100644
--- a/keyboards/cannonkeys/adelie/config.h
+++ b/keyboards/cannonkeys/adelie/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Abec13
-#define PRODUCT Adelie
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/adelie/info.json b/keyboards/cannonkeys/adelie/info.json
index 5367fdbff4..d6f0abc952 100644
--- a/keyboards/cannonkeys/adelie/info.json
+++ b/keyboards/cannonkeys/adelie/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Adelie",
+ "manufacturer": "Abec13",
"url": "",
"maintainer": "Abec13",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cannonkeys/aella/config.h b/keyboards/cannonkeys/aella/config.h
index dd8a6376d5..6cd08c9804 100644
--- a/keyboards/cannonkeys/aella/config.h
+++ b/keyboards/cannonkeys/aella/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Aella
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/aella/info.json b/keyboards/cannonkeys/aella/info.json
index 806905428d..edce8f88a6 100644
--- a/keyboards/cannonkeys/aella/info.json
+++ b/keyboards/cannonkeys/aella/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aella",
+ "manufacturer": "CannonKeys",
"url": "https://www.alchemistkeyboards.com/aella",
"maintainer": "Alchemist Keyboards",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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, "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":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":0, "y":2, "w":1.5}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2}, {"x":5.5, "y":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":12.5, "y":2}, {"x":13.5, "y":2, "w":1.5}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.75}, {"x":1.75, "y":3}, {"x":2.75, "y":3}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3, "w":1.25}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":3.25, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4, "w":1.75}, {"x":14, "y":4}, {"x":15, "y":4}, {"x":0, "y":5, "w":1.5}, {"x":2.25, "y":5, "w":1.25}, {"x":3.5, "y":5, "w":6.25}, {"x":9.75, "y":5, "w":1.25}, {"x":11, "y":5, "w":1.25}, {"x":13, "y":5}, {"x":14, "y":5}, {"x":15, "y":5}]
diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h
index 09e2382595..43821c07f9 100644
--- a/keyboards/cannonkeys/an_c/config.h
+++ b/keyboards/cannonkeys/an_c/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xA00C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT AN-C
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/an_c/info.json b/keyboards/cannonkeys/an_c/info.json
index 12d20010b3..c18cde141f 100644
--- a/keyboards/cannonkeys/an_c/info.json
+++ b/keyboards/cannonkeys/an_c/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AN-C",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xA00C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/cannonkeys/atlas/atlas.h b/keyboards/cannonkeys/atlas/atlas.h
index b2f64dab73..2a6bf7d88a 100644
--- a/keyboards/cannonkeys/atlas/atlas.h
+++ b/keyboards/cannonkeys/atlas/atlas.h
@@ -37,12 +37,12 @@
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, k36, k37, k38, k39, k3a, k3b, \
- k40, k41, k42, k43, k44, k46 , k48, k49, k4a, k4b \
+ k40, k41, k42, k43, k45, k47, k48, k49, k4a, k4b \
) \
{ \
{ 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, k36, k37, k38, k39, k3a, k3b }, \
- { k40, k41, k42, k43, k44, KC_NO, k46, KC_NO, k48, k49, k4a, k4b }, \
+ { k40, k41, k42, k43, KC_NO, k45, KC_NO, k47, k48, k49, k4a, k4b }, \
}
diff --git a/keyboards/cannonkeys/atlas/config.h b/keyboards/cannonkeys/atlas/config.h
index 40984c3f64..e072e183a1 100644
--- a/keyboards/cannonkeys/atlas/config.h
+++ b/keyboards/cannonkeys/atlas/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xA7A5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Atlas
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/cannonkeys/atlas/info.json b/keyboards/cannonkeys/atlas/info.json
index 123b0cd118..70d8af6230 100644
--- a/keyboards/cannonkeys/atlas/info.json
+++ b/keyboards/cannonkeys/atlas/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atlas",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xA7A5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/cannonkeys/atlas_alps/config.h b/keyboards/cannonkeys/atlas_alps/config.h
index a92ba31632..d88edb945c 100644
--- a/keyboards/cannonkeys/atlas_alps/config.h
+++ b/keyboards/cannonkeys/atlas_alps/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xA7A5
-#define DEVICE_VER 0x0010
-#define MANUFACTURER CannonKeys
-#define PRODUCT Atlas
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS { B5, B4, D1, D7, D6 }
#define MATRIX_COL_PINS { B6, C6, D2, E6, C7, B3, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cannonkeys/atlas_alps/info.json b/keyboards/cannonkeys/atlas_alps/info.json
index 278b48b831..889644a6ab 100644
--- a/keyboards/cannonkeys/atlas_alps/info.json
+++ b/keyboards/cannonkeys/atlas_alps/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Atlas_Alps",
+ "keyboard_name": "Atlas",
+ "manufacturer": "CannonKeys",
"url": "https://geekhack.org/index.php?topic=106683.msg2975081#msg2975081",
"maintainer": "Nasp",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xA7A5",
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"label":"~", "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":"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":"Back Space", "x":11, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":6, "y":2}, {"label":"J", "x":7, "y":2}, {"label":"K", "x":8, "y":2}, {"label":"L", "x":9, "y":2}, {"label":";", "x":10, "y":2}, {"label":"'", "x":11, "y":2}, {"label":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"N", "x":6, "y":3}, {"label":"M", "x":7, "y":3}, {"label":",", "x":8, "y":3}, {"label":".", "x":9, "y":3}, {"label":"/", "x":10, "y":3}, {"label":"Return", "x":11, "y":3}, {"label":"Caps Lock", "x":0, "y":4}, {"label":"Ctrl", "x":1, "y":4}, {"label":"Alt", "x":2, "y":4}, {"label":"Super", "x":3, "y":4}, {"label":"&dArr;", "x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"label":"&uArr;", "x":7, "y":4}, {"label":"&larr;", "x":8, "y":4}, {"label":"&darr;", "x":9, "y":4}, {"label":"&uarr;", "x":10, "y":4}, {"label":"&rarr;", "x":11, "y":4}]
diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h
index a16e9ea072..618dd57621 100644
--- a/keyboards/cannonkeys/balance/config.h
+++ b/keyboards/cannonkeys/balance/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xBA77
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Balance
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 20
diff --git a/keyboards/cannonkeys/balance/info.json b/keyboards/cannonkeys/balance/info.json
index 9aa79c51c6..3587ab7ea5 100644
--- a/keyboards/cannonkeys/balance/info.json
+++ b/keyboards/cannonkeys/balance/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Balance",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xBA77",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cannonkeys/brutalv2_65/config.h b/keyboards/cannonkeys/brutalv2_65/config.h
index ab65acdf3d..543ac8d550 100644
--- a/keyboards/cannonkeys/brutalv2_65/config.h
+++ b/keyboards/cannonkeys/brutalv2_65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT BrutalV2_65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/brutalv2_65/info.json b/keyboards/cannonkeys/brutalv2_65/info.json
index e268037a44..7edbbdf05c 100644
--- a/keyboards/cannonkeys/brutalv2_65/info.json
+++ b/keyboards/cannonkeys/brutalv2_65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Brutal v2 65",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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":"Bksp", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "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":"End", "x":15, "y":1}, {"label":"Caps Lock", "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":1.25}, {"label":"|", "x":1.25, "y":3}, {"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"Left", "x":13, "y":4}, {"label":"Down", "x":14, "y":4}, {"label":"Right", "x":15, "y":4}]
diff --git a/keyboards/cannonkeys/brutalv2_65/keymaps/default/keymap.c b/keyboards/cannonkeys/brutalv2_65/keymaps/default/keymap.c
index 36d4dd34d7..0778109f0c 100644
--- a/keyboards/cannonkeys/brutalv2_65/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/brutalv2_65/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_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, _______, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
_______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
diff --git a/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c
index 727bcdcdce..60ac843ce0 100644
--- a/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = 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, _______, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
_______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
diff --git a/keyboards/cannonkeys/brutalv2_65/readme.md b/keyboards/cannonkeys/brutalv2_65/readme.md
index fe09c9ecec..52d0649ce1 100644
--- a/keyboards/cannonkeys/brutalv2_65/readme.md
+++ b/keyboards/cannonkeys/brutalv2_65/readme.md
@@ -17,4 +17,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/chimera65/config.h b/keyboards/cannonkeys/chimera65/config.h
index 1fe204a4ad..a8bc244b5c 100644
--- a/keyboards/cannonkeys/chimera65/config.h
+++ b/keyboards/cannonkeys/chimera65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xC024
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Chimera65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/chimera65/info.json b/keyboards/cannonkeys/chimera65/info.json
index f1854e304f..3d68ba84d8 100644
--- a/keyboards/cannonkeys/chimera65/info.json
+++ b/keyboards/cannonkeys/chimera65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chimera65",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xC024",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/cannonkeys/cloudline/config.h b/keyboards/cannonkeys/cloudline/config.h
index ad0e1a9c4d..b1064d6349 100644
--- a/keyboards/cannonkeys/cloudline/config.h
+++ b/keyboards/cannonkeys/cloudline/config.h
@@ -3,13 +3,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x000A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Cloudline
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/cannonkeys/cloudline/info.json b/keyboards/cannonkeys/cloudline/info.json
index 6b6e15cfdf..04624aa3b0 100644
--- a/keyboards/cannonkeys/cloudline/info.json
+++ b/keyboards/cannonkeys/cloudline/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cloudline",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x000A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"label":"Enter", "x":13.75, "y":3.25, "w":1.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Fn", "x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Menu", "x":12.5, "y":5.25}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c b/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
index 5e58a8929e..d92b7fba15 100644
--- a/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- 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_MPLY, KC_MNXT, KC_VOLD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c b/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c
index 9bad867c59..e7e4ad1ec9 100644
--- a/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DEC, BL_INC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- 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_MPLY, KC_MNXT, KC_VOLD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/cannonkeys/cloudline/readme.md b/keyboards/cannonkeys/cloudline/readme.md
index ddd15a05a5..af619fe6a5 100644
--- a/keyboards/cannonkeys/cloudline/readme.md
+++ b/keyboards/cannonkeys/cloudline/readme.md
@@ -17,4 +17,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/crin/config.h b/keyboards/cannonkeys/crin/config.h
new file mode 100644
index 0000000000..95c49efb09
--- /dev/null
+++ b/keyboards/cannonkeys/crin/config.h
@@ -0,0 +1,64 @@
+/*
+Copyright 2022 Andrew Kannan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROWS 5
+#define MATRIX_COLS 18
+
+#define MATRIX_COL_PINS { B0, C15, C14, A7, A5, C13, A4, A2, A1, A0, B9, B8, B7, A3, B6, B4, B3, A15 }
+#define MATRIX_ROW_PINS { B11, B10, B2, F0, B5 }
+#define DIODE_DIRECTION COL2ROW
+
+
+#define BACKLIGHT_PIN A6
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 1
+#define BACKLIGHT_LEVELS 6
+#define BACKLIGHT_BREATHING
+#define BREATHING_PERIOD 6
+
+#define LED_CAPS_LOCK_PIN F1
+#define LED_PIN_ON_STATE 0
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/cannonkeys/crin/crin.c b/keyboards/cannonkeys/crin/crin.c
new file mode 100644
index 0000000000..4299c28857
--- /dev/null
+++ b/keyboards/cannonkeys/crin/crin.c
@@ -0,0 +1,17 @@
+ /* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "crin.h"
diff --git a/keyboards/cannonkeys/crin/crin.h b/keyboards/cannonkeys/crin/crin.h
new file mode 100644
index 0000000000..630af0c14d
--- /dev/null
+++ b/keyboards/cannonkeys/crin/crin.h
@@ -0,0 +1,33 @@
+ /* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_all( \
+ K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \
+ K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, K116, K117, K118, \
+ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K317, \
+ K401, K402, K403, K406, K411, K412, K413, K415, K416, K417, K418 \
+) { \
+ { K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
+ { K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, ____, K115, K116, K117, K118 }, \
+ { K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____, ____, ____ }, \
+ { K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, K315, ____, K317, ____ }, \
+ { K401, K402, K403, ____, ____, K406, ____, ____, ____, ____, K411, K412, K413, ____, K415, K416, K417, K418 } \
+}
diff --git a/keyboards/cannonkeys/crin/halconf.h b/keyboards/cannonkeys/crin/halconf.h
new file mode 100644
index 0000000000..aaffce9934
--- /dev/null
+++ b/keyboards/cannonkeys/crin/halconf.h
@@ -0,0 +1,31 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/cannonkeys/onyx/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#define HAL_USE_PWM TRUE
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/cannonkeys/crin/info.json b/keyboards/cannonkeys/crin/info.json
new file mode 100644
index 0000000000..8c8b956257
--- /dev/null
+++ b/keyboards/cannonkeys/crin/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Crin",
+ "manufacturer": "CannonKeys",
+ "url": "https://cannonkeys.com",
+ "maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":"Bksp", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "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":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"Caps Lock", "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":"|", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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":"Fn", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/crin/keymaps/default/keymap.c b/keyboards/cannonkeys/crin/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a84b6d3e71
--- /dev/null
+++ b/keyboards/cannonkeys/crin/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 Andrew Kannan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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,
+ _FN1,
+};
+
+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_BSPC, KC_GRV, 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_LSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/cannonkeys/crin/keymaps/via/keymap.c b/keyboards/cannonkeys/crin/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d53a611626
--- /dev/null
+++ b/keyboards/cannonkeys/crin/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
+/*
+Copyright 2022 Andrew Kannan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+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_BSPC, KC_GRV, 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, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+
+};
diff --git a/keyboards/cannonkeys/crin/keymaps/via/rules.mk b/keyboards/cannonkeys/crin/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/crin/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/crin/mcuconf.h b/keyboards/cannonkeys/crin/mcuconf.h
new file mode 100644
index 0000000000..3494eb511c
--- /dev/null
+++ b/keyboards/cannonkeys/crin/mcuconf.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/cannonkeys/onyx/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
+
diff --git a/keyboards/cannonkeys/crin/readme.md b/keyboards/cannonkeys/crin/readme.md
new file mode 100644
index 0000000000..d81550d023
--- /dev/null
+++ b/keyboards/cannonkeys/crin/readme.md
@@ -0,0 +1,18 @@
+# Crin by Bachoo
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/crin:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/crin/rules.mk b/keyboards/cannonkeys/crin/rules.mk
new file mode 100644
index 0000000000..36c7523cb9
--- /dev/null
+++ b/keyboards/cannonkeys/crin/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h
index 6dd0d0d7f8..873ec24697 100644
--- a/keyboards/cannonkeys/db60/config.h
+++ b/keyboards/cannonkeys/db60/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER CannonKeys
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/db60/hotswap/config.h b/keyboards/cannonkeys/db60/hotswap/config.h
deleted file mode 100644
index 3ea9693404..0000000000
--- a/keyboards/cannonkeys/db60/hotswap/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0xDB62
-#define PRODUCT DB60 Hotswap
diff --git a/keyboards/cannonkeys/db60/hotswap/info.json b/keyboards/cannonkeys/db60/hotswap/info.json
new file mode 100644
index 0000000000..e0ced428b2
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "DB60 Hotswap",
+ "usb": {
+ "pid": "0xDB62"
+ }
+}
diff --git a/keyboards/cannonkeys/db60/info.json b/keyboards/cannonkeys/db60/info.json
index 9c6461d9e2..bba9427caf 100644
--- a/keyboards/cannonkeys/db60/info.json
+++ b/keyboards/cannonkeys/db60/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "DB60",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/cannonkeys/db60/j02/config.h b/keyboards/cannonkeys/db60/j02/config.h
deleted file mode 100644
index 392cec3a55..0000000000
--- a/keyboards/cannonkeys/db60/j02/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0xDB60
-#define PRODUCT DB60
diff --git a/keyboards/cannonkeys/db60/j02/info.json b/keyboards/cannonkeys/db60/j02/info.json
new file mode 100644
index 0000000000..9f5c817112
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "DB60",
+ "usb": {
+ "pid": "0xDB60"
+ }
+}
diff --git a/keyboards/cannonkeys/db60/rev2/config.h b/keyboards/cannonkeys/db60/rev2/config.h
deleted file mode 100644
index df3527b705..0000000000
--- a/keyboards/cannonkeys/db60/rev2/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0xDB61
-#define PRODUCT DB60v2
diff --git a/keyboards/cannonkeys/db60/rev2/info.json b/keyboards/cannonkeys/db60/rev2/info.json
new file mode 100644
index 0000000000..f5f3c8530d
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "DB60v2",
+ "usb": {
+ "pid": "0xDB61"
+ }
+}
diff --git a/keyboards/cannonkeys/devastatingtkl/config.h b/keyboards/cannonkeys/devastatingtkl/config.h
index 7173a46378..e4e87edcaa 100644
--- a/keyboards/cannonkeys/devastatingtkl/config.h
+++ b/keyboards/cannonkeys/devastatingtkl/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0xDE57
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT DevastatingTKL
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/cannonkeys/devastatingtkl/info.json b/keyboards/cannonkeys/devastatingtkl/info.json
index 9387190086..2c7c2eeb0b 100644
--- a/keyboards/cannonkeys/devastatingtkl/info.json
+++ b/keyboards/cannonkeys/devastatingtkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DevastatingTKL",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0xDE57",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"x":13.75, "y":3.25, "w":1.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Fn", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/cannonkeys/gentoo/config.h b/keyboards/cannonkeys/gentoo/config.h
new file mode 100644
index 0000000000..543ac8d550
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/config.h
@@ -0,0 +1,55 @@
+/*
+Copyright 2022 Andrew Kannan <andrew@cannonkeys.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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_COL_PINS { C13, C15, B13, B12, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2 }
+#define MATRIX_ROW_PINS { C14, A1, B14, B15, A8 }
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN B3
+#define LED_PIN_ON_STATE 0
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/cannonkeys/gentoo/gentoo.c b/keyboards/cannonkeys/gentoo/gentoo.c
new file mode 100644
index 0000000000..a535e9b44c
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/gentoo.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "gentoo.h"
diff --git a/keyboards/cannonkeys/gentoo/gentoo.h b/keyboards/cannonkeys/gentoo/gentoo.h
new file mode 100644
index 0000000000..8c094fd5b5
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/gentoo.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_all( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, 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, K213, K214, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K400, K401, K402, K406, K409, K410, K411, K412, K413, K414 \
+) { \
+ { 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 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { K400, K401, K402, ____, ____, ____, K406, ____, ____, K409, K410, K411, K412, K413, K414 } \
+}
diff --git a/keyboards/cannonkeys/gentoo/info.json b/keyboards/cannonkeys/gentoo/info.json
new file mode 100644
index 0000000000..357554d9fc
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/info.json
@@ -0,0 +1,91 @@
+{
+ "keyboard_name": "Gentoo",
+ "manufacturer": "CannonKeys",
+ "url": "https://cannonkeys.com",
+ "maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x000F",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":"Bkspc", "x":13, "y":0},
+ {"label":"Del", "x":14, "y":0},
+ {"label":"Del", "x":15.5, "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":"PgUp", "x":15.5, "y":1},
+
+ {"label":"Caps Lock", "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":"PgDn", "x":15.5, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"|", "x":1.25, "y":3},
+ {"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.25, "y":3.25},
+ {"label":"Fn", "x":15.5, "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":"Alt", "x":10, "y":4},
+ {"label":"Win", "x":11, "y":4},
+ {"label":"Ctrl", "x":12, "y":4},
+ {"label":"Left", "x":13.25, "y":4.25},
+ {"label":"Down", "x":14.25, "y":4.25},
+ {"label":"Right", "x":15.25, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/gentoo/keymaps/default/keymap.c b/keyboards/cannonkeys/gentoo/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c809f75d0b
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _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_BSPC, KC_DEL, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN] = LAYOUT_all(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
+ _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ )
+
+};
diff --git a/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c b/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1ac9367483
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c
@@ -0,0 +1,65 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+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_BSPC, KC_DEL, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_all(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
+ _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/mechwild/bde/keymaps/lefty_via/rules.mk b/keyboards/cannonkeys/gentoo/keymaps/via/rules.mk
index 16d33cd89f..16d33cd89f 100644
--- a/keyboards/mechwild/bde/keymaps/lefty_via/rules.mk
+++ b/keyboards/cannonkeys/gentoo/keymaps/via/rules.mk
diff --git a/keyboards/cannonkeys/gentoo/readme.md b/keyboards/cannonkeys/gentoo/readme.md
new file mode 100644
index 0000000000..51e7eb96f3
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/readme.md
@@ -0,0 +1,20 @@
+# Gentoo
+
+Gentoo Keyboard
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/gentoo:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/gentoo/rules.mk b/keyboards/cannonkeys/gentoo/rules.mk
new file mode 100644
index 0000000000..7b44b402d1
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/gentoo_hs/config.h b/keyboards/cannonkeys/gentoo_hs/config.h
new file mode 100644
index 0000000000..9703c0b1b0
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/config.h
@@ -0,0 +1,57 @@
+/*
+Copyright 2015 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/>.
+*/
+
+#pragma once
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_COL_PINS { A8, C13, B9, B8, B7, B6, B5, B4, B3, A7, A5, A4, A3, A2, A1 }
+#define MATRIX_ROW_PINS { A14, A15, A0, B1, B0 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define LED_CAPS_LOCK_PIN B14
+#define LED_PIN_ON_STATE 0
+
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/cannonkeys/gentoo_hs/gentoo_hs.c b/keyboards/cannonkeys/gentoo_hs/gentoo_hs.c
new file mode 100644
index 0000000000..8ecaa655f8
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/gentoo_hs.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "gentoo_hs.h"
diff --git a/keyboards/cannonkeys/gentoo_hs/gentoo_hs.h b/keyboards/cannonkeys/gentoo_hs/gentoo_hs.h
new file mode 100644
index 0000000000..681de34985
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/gentoo_hs.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_default( \
+ 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, K213, K214, \
+ K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K400, K401, K402, K406, K410, K411, K412, K413, K414 \
+) { \
+ { 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, ____, K213, K214 }, \
+ { K300, ____, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { K400, K401, K402, ____, ____, ____, K406, ____, ____, ____, K410, K411, K412, K413, K414 } \
+}
diff --git a/keyboards/cannonkeys/gentoo_hs/info.json b/keyboards/cannonkeys/gentoo_hs/info.json
new file mode 100644
index 0000000000..e20f6e6e39
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/info.json
@@ -0,0 +1,88 @@
+{
+ "keyboard_name": "Gentoo HS",
+ "manufacturer": "CannonKeys",
+ "url": "https://cannonkeys.com",
+ "maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_default": {
+ "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":"Del", "x":15.5, "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":"PgUp", "x":15.5, "y":1},
+
+ {"label":"Caps Lock", "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":"PgDn", "x":15.5, "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.25, "y":3.25},
+ {"label":"Fn", "x":15.5, "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":"Alt", "x":10, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":4, "w":1.5},
+ {"label":"Left", "x":13.25, "y":4.25},
+ {"label":"Down", "x":14.25, "y":4.25},
+ {"label":"Right", "x":15.25, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/gentoo_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/gentoo_hs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..0967054438
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _FN1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_default(
+ 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_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_default(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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,
+ BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b5b7564543
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_default(
+ 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_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_default(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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,
+ BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN2] = LAYOUT_default(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN3] = LAYOUT_default(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/gentoo_hs/readme.md b/keyboards/cannonkeys/gentoo_hs/readme.md
new file mode 100644
index 0000000000..8c3de2effa
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/readme.md
@@ -0,0 +1,20 @@
+# Gentoo65 Hotswap
+
+Gentoo65 Hotswap Keyboard
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/gentoo_hs:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/gentoo_hs/rules.mk b/keyboards/cannonkeys/gentoo_hs/rules.mk
new file mode 100644
index 0000000000..b34d15f4b5
--- /dev/null
+++ b/keyboards/cannonkeys/gentoo_hs/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/hoodrowg/config.h b/keyboards/cannonkeys/hoodrowg/config.h
index fc305188a6..6971cf02b8 100644
--- a/keyboards/cannonkeys/hoodrowg/config.h
+++ b/keyboards/cannonkeys/hoodrowg/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT HoodrowG
-
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/cannonkeys/hoodrowg/info.json b/keyboards/cannonkeys/hoodrowg/info.json
index 63c53ac5b3..10fed32dbf 100644
--- a/keyboards/cannonkeys/hoodrowg/info.json
+++ b/keyboards/cannonkeys/hoodrowg/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "HoodrowG",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cannonkeys/hoodrowg/readme.md b/keyboards/cannonkeys/hoodrowg/readme.md
index e5baab539a..67265e05af 100644
--- a/keyboards/cannonkeys/hoodrowg/readme.md
+++ b/keyboards/cannonkeys/hoodrowg/readme.md
@@ -15,7 +15,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h
index 9b4aac8e15..7037c192d9 100644
--- a/keyboards/cannonkeys/instant60/config.h
+++ b/keyboards/cannonkeys/instant60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x1600
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Instant60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/instant60/info.json b/keyboards/cannonkeys/instant60/info.json
index e20acf495e..0b4d600e09 100644
--- a/keyboards/cannonkeys/instant60/info.json
+++ b/keyboards/cannonkeys/instant60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Instant60",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x1600",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c b/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c
index b182ac5f4f..52d3478ecb 100644
--- a/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c
+++ b/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c
@@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/cannonkeys/instant65/config.h b/keyboards/cannonkeys/instant65/config.h
index 464ef09044..f19308a8b8 100644
--- a/keyboards/cannonkeys/instant65/config.h
+++ b/keyboards/cannonkeys/instant65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x1565
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Instant65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/instant65/info.json b/keyboards/cannonkeys/instant65/info.json
index 6a49618816..8274aacce1 100644
--- a/keyboards/cannonkeys/instant65/info.json
+++ b/keyboards/cannonkeys/instant65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Instant65",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x1565",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"~", "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}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"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}, {"x":14, "y":3}, {"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/cannonkeys/iron165/config.h b/keyboards/cannonkeys/iron165/config.h
index b0b3dd8d7b..3ba33e96e5 100644
--- a/keyboards/cannonkeys/iron165/config.h
+++ b/keyboards/cannonkeys/iron165/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5A12
-#define PRODUCT_ID 0x5165
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SmithAndRune
-#define PRODUCT Iron165
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/iron165/info.json b/keyboards/cannonkeys/iron165/info.json
index 7d25a5d2aa..843302efd2 100644
--- a/keyboards/cannonkeys/iron165/info.json
+++ b/keyboards/cannonkeys/iron165/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Iron165",
+ "manufacturer": "SmithAndRune",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0x5A12",
+ "pid": "0x5165",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "y":3}, {"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/cannonkeys/malicious_ergo/chconf.h b/keyboards/cannonkeys/malicious_ergo/chconf.h
new file mode 100644
index 0000000000..308855ab7a
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/chconf.h
@@ -0,0 +1,31 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/projectkb/alice/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
+
diff --git a/keyboards/cannonkeys/malicious_ergo/config.h b/keyboards/cannonkeys/malicious_ergo/config.h
new file mode 100644
index 0000000000..1f9eecf119
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/config.h
@@ -0,0 +1,96 @@
+#pragma once
+
+/*
+Copyright 2022 Andrew Kannan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+#define MATRIX_COL_PINS { B1, B0, A7, A1, A5, A4, A3, A10, B9, B8, B7, B6, B5, B4, B3, A15, A14 }
+#define MATRIX_ROW_PINS { B2, B10, B11, A2, A0 }
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN A6
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 1
+#define BACKLIGHT_LEVELS 6
+#define BACKLIGHT_BREATHING
+#define BREATHING_PERIOD 6
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 14
+#define WS2812_SPI SPID2
+#define WS2812_SPI_MOSI_PAL_MODE 0
+#define WS2812_SPI_SCK_PAL_MODE 0
+#define WS2812_SPI_SCK_PIN B13
+
+// Indicator LEDs
+#define LED_CAPS_LOCK_PIN A8
+#define LED_NUM_LOCK_PIN A9
+#define LED_SCROLL_LOCK_PIN B12
+#define LED_PIN_ON_STATE 0
+
+
+
+// 2 bits for 4 layout options
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
+
+#define SLEEP_LED_GPT_DRIVER GPTD1
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+
+
diff --git a/keyboards/cannonkeys/malicious_ergo/halconf.h b/keyboards/cannonkeys/malicious_ergo/halconf.h
new file mode 100644
index 0000000000..d696c3bd22
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/halconf.h
@@ -0,0 +1,31 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/projectkb/alice/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#define HAL_USE_SPI TRUE
+
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/cannonkeys/malicious_ergo/info.json b/keyboards/cannonkeys/malicious_ergo/info.json
new file mode 100644
index 0000000000..b6ec458917
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Malicious Ergo",
+ "manufacturer": "CannonKeys",
+ "url": "https://cannonkeys.com",
+ "maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_default": {
+ "layout": [{"x":0.5, "y":0}, {"x":1.75, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":13.75, "y":0}, {"x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":18, "y":0}, {"x":0.25, "y":1}, {"x":1.5, "y":1, "w":1.5}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1}, {"x":14.5, "y":1}, {"x":15.5, "y":1}, {"x":16.5, "y":1, "w":1.5}, {"x":18.25, "y":1}, {"x":0, "y":2}, {"x":1.375, "y":2, "w":1.75}, {"x":3.125, "y":2}, {"x":4.13, "y":2}, {"x":5.13, "y":2}, {"x":6.13, "y":2}, {"x":7.13, "y":2}, {"x":9.88, "y":2}, {"x":10.88, "y":2}, {"x":11.88, "y":2}, {"x":12.88, "y":2}, {"x":13.88, "y":2}, {"x":14.88, "y":2}, {"x":15.88, "y":2, "w":2.25}, {"x":18.5, "y":2}, {"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.5, "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":14.25, "y":4, "w":1.5}, {"x":16.25, "y":4}, {"x":17.25, "y":4}, {"x":18.25, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c b/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e5c58bfc0f
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _FN1
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_default(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_DEL,
+ 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_HOME,
+ 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_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ [_FN1] = LAYOUT_default(
+ RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
+ RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, _______,
+ RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c b/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f8d3753f43
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c
@@ -0,0 +1,60 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_default(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_DEL,
+ 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_HOME,
+ 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_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ [_FN1] = LAYOUT_default(
+ RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
+ RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, _______,
+ RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______
+ ),
+
+ [_FN2] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk b/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/malicious_ergo/malicious_ergo.c b/keyboards/cannonkeys/malicious_ergo/malicious_ergo.c
new file mode 100644
index 0000000000..58e33a3889
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/malicious_ergo.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "malicious_ergo.h"
diff --git a/keyboards/cannonkeys/malicious_ergo/malicious_ergo.h b/keyboards/cannonkeys/malicious_ergo/malicious_ergo.h
new file mode 100644
index 0000000000..191baf768f
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/malicious_ergo.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_default( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,\
+ K10, K11, K12, K13, K14, K15, K16, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,\
+ K20, K21, K22, K23, K24, K25, K26, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G,\
+ K31, K32, K33, K34, K35, K36, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \
+ K41, K43, K44, K46, K49, K4B, K4D, K4E, K4F, K3G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, ___, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, ___, K28, K29, K2A, K2B, K2C, K2D, ___, K2F, K2G }, \
+ { ___, K31, K32, K33, K34, K35, K36, ___, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, ___ }, \
+ { ___, K41, ___, K43, K44, ___, K46, ___, ___, K49, ___, K4B, ___, K4D, K4E, K4F, K3G } \
+}
diff --git a/keyboards/cannonkeys/malicious_ergo/mcuconf.h b/keyboards/cannonkeys/malicious_ergo/mcuconf.h
new file mode 100644
index 0000000000..d1335e0f44
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/mcuconf.h
@@ -0,0 +1,33 @@
+/* Copyright 2022 Andrew Kannan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/projectkb/alice/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
+
+#undef STM32_GPT_USE_TIM1
+#define STM32_GPT_USE_TIM1 TRUE
diff --git a/keyboards/cannonkeys/malicious_ergo/readme.md b/keyboards/cannonkeys/malicious_ergo/readme.md
new file mode 100644
index 0000000000..72cb963070
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/readme.md
@@ -0,0 +1,18 @@
+# CannonKeys Malicious Ergo
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/malicious_ergo:default
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/cannonkeys/malicious_ergo/rules.mk b/keyboards/cannonkeys/malicious_ergo/rules.mk
new file mode 100644
index 0000000000..0d99007c16
--- /dev/null
+++ b/keyboards/cannonkeys/malicious_ergo/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+WS2812_DRIVER = spi
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/moment_hs/info.json b/keyboards/cannonkeys/moment_hs/info.json
new file mode 100644
index 0000000000..721eb80ad2
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/info.json
@@ -0,0 +1,98 @@
+{
+ "manufacturer": "CannonKeys",
+ "keyboard_name": "Moment HS",
+ "maintainer": "awkannan",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["B11", "B10", "B2", "A9", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "C13", "C14", "C15"],
+ "rows": ["B1", "B0", "A7", "A5", "A4"]
+ },
+ "indicators": {
+ "caps_lock": "A3",
+ "on_state": 0
+ },
+ "processor": "STM32F072",
+ "url": "https://cannonkeys.com/",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0xCA04",
+ "pid": "0x0013"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0 },
+ { "label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0 },
+ { "label": "@", "matrix": [0, 2], "x": 2.0, "y": 0.0 },
+ { "label": "#", "matrix": [0, 3], "x": 3.0, "y": 0.0 },
+ { "label": "$", "matrix": [0, 4], "x": 4.0, "y": 0.0 },
+ { "label": "%", "matrix": [0, 5], "x": 5.0, "y": 0.0 },
+ { "label": "^", "matrix": [0, 6], "x": 6.0, "y": 0.0 },
+ { "label": "&", "matrix": [0, 7], "x": 7.0, "y": 0.0 },
+ { "label": "*", "matrix": [0, 8], "x": 8.0, "y": 0.0 },
+ { "label": "(", "matrix": [0, 9], "x": 9.0, "y": 0.0 },
+ { "label": ")", "matrix": [0, 10], "x": 10.0, "y": 0.0 },
+ { "label": "_", "matrix": [0, 11], "x": 11.0, "y": 0.0 },
+ { "label": "+", "matrix": [0, 12], "x": 12.0, "y": 0.0 },
+ { "label": "Bksp", "matrix": [0, 14], "x": 13.0, "y": 0.0 },
+ { "label": "Del", "matrix": [0, 13], "x": 14.0, "y": 0.0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0.0, "y": 1.0 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1.0 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1.0 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1.0 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1.0 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1.0 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1.0 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1.0 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1.0 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1.0 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1.0 },
+ { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1.0 },
+ { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1.0 },
+ { "label": "|", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1.0 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0.0, "y": 2.0 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2.0 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2.0 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2.0 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2.0 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2.0 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2.0 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2.0 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2.0 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2.0 },
+ { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2.0 },
+ { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2.0 },
+ { "label": "Enter", "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2.0 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0.0, "y": 3.0 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3.0 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3.0 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3.0 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3.0 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3.0 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3.0 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3.0 },
+ { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3.0 },
+ { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3.0 },
+ { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3.0 },
+ { "label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3.0 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14.0, "y": 3.0 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0.0, "y": 4.0 },
+ { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4.0 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4.0 },
+ { "matrix": [4, 6], "w": 7.0, "x": 4.0, "y": 4.0 },
+ { "label": "Alt", "matrix": [4, 11], "w": 1.5, "x": 11.0, "y": 4.0 },
+ { "label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4.0 },
+ { "label": "Menu", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4.0 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..daab043507
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+// Copyright 2022 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_INC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, RESET
+ ),
+
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c
new file mode 100644
index 0000000000..be5d800341
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c
@@ -0,0 +1,45 @@
+// Copyright 2022 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, RESET
+ ),
+
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/moment_hs/readme.md b/keyboards/cannonkeys/moment_hs/readme.md
new file mode 100644
index 0000000000..9373e1551a
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/readme.md
@@ -0,0 +1,25 @@
+# Moment Hotswap
+
+*A 60% keyboard from jjw_kb*
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+* Hardware Availability: [CannonKeys](https://cannonkeys.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/moment_hs:default
+
+Flashing example for this keyboard:
+
+ make cannonkeys/moment_hs:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Swap the boot switch on the back of the PCB to "1" and hit the reset button
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/cannonkeys/moment_hs/rules.mk b/keyboards/cannonkeys/moment_hs/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/cannonkeys/moment_hs/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/cannonkeys/nearfield/config.h b/keyboards/cannonkeys/nearfield/config.h
new file mode 100755
index 0000000000..7d8f904915
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/config.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2021 Dr.Doof
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B4, D2, D4, D6, D7 }
+#define MATRIX_COL_PINS { D3, D5, C6, C7, B6, B5, B7, F0, F1, F4, F5, F6, F7, B3, B2, D1 }
+#define UNUSED_PINS { E2, E6, D0, B1, B0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 0
diff --git a/keyboards/cannonkeys/nearfield/info.json b/keyboards/cannonkeys/nearfield/info.json
new file mode 100644
index 0000000000..ffd1bf6ac6
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/info.json
@@ -0,0 +1,376 @@
+{
+ "keyboard_name":"Nearfield",
+ "manufacturer":"JLC",
+ "url":"",
+ "maintainer":"tominabox1",
+ "usb":{
+ "vid":"0x0004",
+ "pid":"0x0002",
+ "device_version":"0.0.1"
+ },
+ "layouts":{
+ "LAYOUT_all":{
+ "layout":[
+ {
+ "label":"~",
+ "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":7.5,
+ "y":0
+ },
+ {
+ "label":"&",
+ "x":8.5,
+ "y":0
+ },
+ {
+ "label":"*",
+ "x":9.5,
+ "y":0
+ },
+ {
+ "label":"(",
+ "x":10.5,
+ "y":0
+ },
+ {
+ "label":")",
+ "x":11.5,
+ "y":0
+ },
+ {
+ "label":"_",
+ "x":12.5,
+ "y":0
+ },
+ {
+ "label":"+",
+ "x":13.5,
+ "y":0
+ },
+ {
+ "label":"Insert",
+ "x":15.5,
+ "y":0
+ },
+ {
+ "label":"Home",
+ "x":16.5,
+ "y":0
+ },
+ {
+ "label":"PgUp",
+ "x":17.5,
+ "y":0
+ },
+ {
+ "label":"Tab",
+ "x":0,
+ "y":1.5
+ },
+ {
+ "label":"Q",
+ "x":1,
+ "y":1.5
+ },
+ {
+ "label":"W",
+ "x":2,
+ "y":1.5
+ },
+ {
+ "label":"E",
+ "x":3,
+ "y":1.5
+ },
+ {
+ "label":"R",
+ "x":4,
+ "y":1.5
+ },
+ {
+ "label":"T",
+ "x":5,
+ "y":1.5
+ },
+ {
+ "label":"Y",
+ "x":7.5,
+ "y":1.5
+ },
+ {
+ "label":"U",
+ "x":8.5,
+ "y":1.5
+ },
+ {
+ "label":"I",
+ "x":9.5,
+ "y":1.5
+ },
+ {
+ "label":"O",
+ "x":10.5,
+ "y":1.5
+ },
+ {
+ "label":"P",
+ "x":11.5,
+ "y":1.5
+ },
+ {
+ "label":"{",
+ "x":12.5,
+ "y":1.5
+ },
+ {
+ "label":"}",
+ "x":13.5,
+ "y":1.5
+ },
+ {
+ "label":"Insert",
+ "x":15.5,
+ "y":1.5
+ },
+ {
+ "label":"Home",
+ "x":16.5,
+ "y":1.5
+ },
+ {
+ "label":"PgUp",
+ "x":17.5,
+ "y":1.5
+ },
+ {
+ "label":"Caps Lock",
+ "x":0,
+ "y":2.5,
+ "w":1.25
+ },
+ {
+ "label":"A",
+ "x":1.25,
+ "y":2.5
+ },
+ {
+ "label":"S",
+ "x":2.25,
+ "y":2.5
+ },
+ {
+ "label":"D",
+ "x":3.25,
+ "y":2.5
+ },
+ {
+ "label":"F",
+ "x":4.25,
+ "y":2.5
+ },
+ {
+ "label":"G",
+ "x":5.25,
+ "y":2.5
+ },
+ {
+ "label":"H",
+ "x":7.75,
+ "y":2.5
+ },
+ {
+ "label":"J",
+ "x":8.75,
+ "y":2.5
+ },
+ {
+ "label":"K",
+ "x":9.75,
+ "y":2.5
+ },
+ {
+ "label":"L",
+ "x":10.75,
+ "y":2.5
+ },
+ {
+ "label":"\"",
+ "x":11.75,
+ "y":2.5
+ },
+ {
+ "label":"Enter",
+ "x":12.75,
+ "y":2.5,
+ "w":1.75
+ },
+ {
+ "label":"Delete",
+ "x":15.5,
+ "y":2.5
+ },
+ {
+ "label":"End",
+ "x":16.5,
+ "y":2.5
+ },
+ {
+ "label":"PgDn",
+ "x":17.5,
+ "y":2.5
+ },
+ {
+ "label":"Shift",
+ "x":0,
+ "y":3.5,
+ "w":1.75
+ },
+ {
+ "label":"Z",
+ "x":1.75,
+ "y":3.5
+ },
+ {
+ "label":"X",
+ "x":2.75,
+ "y":3.5
+ },
+ {
+ "label":"C",
+ "x":3.75,
+ "y":3.5
+ },
+ {
+ "label":"V",
+ "x":4.75,
+ "y":3.5
+ },
+ {
+ "label":"B",
+ "x":5.75,
+ "y":3.5
+ },
+ {
+ "label":"N",
+ "x":8.25,
+ "y":3.5
+ },
+ {
+ "label":"M",
+ "x":9.25,
+ "y":3.5
+ },
+ {
+ "label":"<",
+ "x":10.25,
+ "y":3.5
+ },
+ {
+ "label":">",
+ "x":11.25,
+ "y":3.5
+ },
+ {
+ "label":"?",
+ "x":12.25,
+ "y":3.5
+ },
+ {
+ "label":"r4 dogshift",
+ "x":13.25,
+ "y":3.5,
+ "w":1.25
+ },
+ {
+ "label":"Ctrl",
+ "x":0,
+ "y":4.5,
+ "w":1.25
+ },
+ {
+ "label":"Alt",
+ "x":2.5,
+ "y":4.5,
+ "w":1.25
+ },
+ {
+ "x":3.75,
+ "y":4.5
+ },
+ {
+ "label":"",
+ "x":4.75,
+ "y":4.5,
+ "w":2
+ },
+ {
+ "label":"",
+ "x":8.25,
+ "y":4.5,
+ "w":2.25
+ },
+ {
+ "label":"Alt",
+ "x":10.5,
+ "y":4.5,
+ "w":1.25
+ },
+ {
+ "label":"Ctrl",
+ "x":13,
+ "y":4.5,
+ "w":1.5
+ },
+ {
+ "label":"\u2191",
+ "x":16.5,
+ "y":4.5
+ },
+ {
+ "label":"\u2190",
+ "x":15.5,
+ "y":5.5
+ },
+ {
+ "label":"\u2193",
+ "x":16.5,
+ "y":5.5
+ },
+ {
+ "label":"\u2192",
+ "x":17.5,
+ "y":5.5
+ }
+ ]
+ }
+ }
+ }
diff --git a/keyboards/cannonkeys/nearfield/keymaps/default/keymap.c b/keyboards/cannonkeys/nearfield/keymaps/default/keymap.c
new file mode 100755
index 0000000000..62f2fa68b9
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/*
+Copyright 2021 Dr.Doof
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_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_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_INS, KC_HOME, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_DEL, KC_END, 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_LCTL, KC_LALT, KC_SPC, KC_NO, KC_SPC, KC_LALT, KC_LCTL, KC_UP, KC_LEFT, KC_DOWN, KC_RIGHT
+
+ )
+};
diff --git a/keyboards/cannonkeys/nearfield/nearfield.c b/keyboards/cannonkeys/nearfield/nearfield.c
new file mode 100755
index 0000000000..7a635209de
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/nearfield.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2021 Dr.Doof
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "nearfield.h"
diff --git a/keyboards/cannonkeys/nearfield/nearfield.h b/keyboards/cannonkeys/nearfield/nearfield.h
new file mode 100755
index 0000000000..610c6489b5
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/nearfield.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2021 Dr.Doof
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 XXX KC_NO
+
+#define LAYOUT_all( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
+ K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K41, K42, K44, K45, K47, K49, K4B, K4D, K4E, K4F, K4G \
+) { \
+ { K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F, K2G }, \
+ { K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, XXX, XXX, XXX }, \
+ { K41, K42, XXX, K44, K45, XXX, K47, XXX, K49, XXX, K4B, XXX, K4D, K4E, K4F, K4G } \
+}
diff --git a/keyboards/cannonkeys/nearfield/readme.md b/keyboards/cannonkeys/nearfield/readme.md
new file mode 100644
index 0000000000..fca9388ce7
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/readme.md
@@ -0,0 +1,31 @@
+# Nearfield
+
+![Nearfield](https://i.imgur.com/hNj44FYh.jpg)
+
+The LZ ErGO is a classic ergonomic design, predating the alice layout, and drawing inspiration from the "Microsoft natural ergonomic" series.
+Nearfield expands on this by increasing the rotation of the two halves of the alpha cluster, each half is rotated 15 degrees towards the center of the board.
+This increased angle forces the user to widen their elbow stance, and align their hands straighter with their forearms while typing.
+
+Aesthetic design: Aside from the obvious layout homage to the ergo, retaining the nav cluster,
+the case design draws inspiration from the M0110 keyboard series from Apple.
+
+bog standard mx and alps support pcb, uses unified c3 daughterboard. 100mm JST cable recommended.
+
+
+* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
+* Hardware Supported: Nearfield
+* Hardware Availability: [Cannonkeys](https://cannonkeys.com/collections/nearfield/products/nearfield-extra-pcb-and-daughterboard)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nearfield:default
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/cannonkeys/nearfield/rules.mk b/keyboards/cannonkeys/nearfield/rules.mk
new file mode 100755
index 0000000000..476cf49f27
--- /dev/null
+++ b/keyboards/cannonkeys/nearfield/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h
index aef5a3e374..07acff7cc9 100644
--- a/keyboards/cannonkeys/obliterated75/config.h
+++ b/keyboards/cannonkeys/obliterated75/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0B75
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Obliterated75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/obliterated75/info.json b/keyboards/cannonkeys/obliterated75/info.json
index 51052fce19..beda41b9a0 100644
--- a/keyboards/cannonkeys/obliterated75/info.json
+++ b/keyboards/cannonkeys/obliterated75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Obliterated75",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0B75",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"label":"Enter", "x":13.75, "y":3.25, "w":1.25}, {"x":15, "y":3.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":15, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":5.25, "w":1.25}, {"x":13, "y":5.25}, {"x":14, "y":5.25}, {"x":15, "y":5.25}]
diff --git a/keyboards/cannonkeys/onyx/config.h b/keyboards/cannonkeys/onyx/config.h
index 2149520a5a..a07fdc9f2b 100644
--- a/keyboards/cannonkeys/onyx/config.h
+++ b/keyboards/cannonkeys/onyx/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Onyx
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
diff --git a/keyboards/cannonkeys/onyx/info.json b/keyboards/cannonkeys/onyx/info.json
index 782056cda1..2b60c7f15f 100644
--- a/keyboards/cannonkeys/onyx/info.json
+++ b/keyboards/cannonkeys/onyx/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Onyx",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho48/config.h b/keyboards/cannonkeys/ortho48/config.h
index cc904a27a0..b11654dee9 100644
--- a/keyboards/cannonkeys/ortho48/config.h
+++ b/keyboards/cannonkeys/ortho48/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x4F48 // "O" 48
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT Ortho48
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/cannonkeys/ortho48/info.json b/keyboards/cannonkeys/ortho48/info.json
index 1192482bce..66b1d1f50e 100644
--- a/keyboards/cannonkeys/ortho48/info.json
+++ b/keyboards/cannonkeys/ortho48/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ortho48",
+ "manufacturer": "CannonKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x4F48",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho60/config.h b/keyboards/cannonkeys/ortho60/config.h
index 4e7db76b6b..e503e716fb 100644
--- a/keyboards/cannonkeys/ortho60/config.h
+++ b/keyboards/cannonkeys/ortho60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x4F60 // "O" 60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT Ortho60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/cannonkeys/ortho60/info.json b/keyboards/cannonkeys/ortho60/info.json
index f799e2a4c0..1a4d036a69 100644
--- a/keyboards/cannonkeys/ortho60/info.json
+++ b/keyboards/cannonkeys/ortho60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ortho60",
+ "manufacturer": "CannonKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x4F60",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho75/config.h b/keyboards/cannonkeys/ortho75/config.h
index 93fe02f536..1746da2b73 100644
--- a/keyboards/cannonkeys/ortho75/config.h
+++ b/keyboards/cannonkeys/ortho75/config.h
@@ -17,13 +17,6 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Ortho75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/ortho75/info.json b/keyboards/cannonkeys/ortho75/info.json
index cb6ca4c242..3cf6f3e74e 100644
--- a/keyboards/cannonkeys/ortho75/info.json
+++ b/keyboards/cannonkeys/ortho75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ortho75",
+ "manufacturer": "CannonKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho75/ortho75.c b/keyboards/cannonkeys/ortho75/ortho75.c
index 7c722d7156..58b7396a1b 100644
--- a/keyboards/cannonkeys/ortho75/ortho75.c
+++ b/keyboards/cannonkeys/ortho75/ortho75.c
@@ -5,47 +5,48 @@
uint8_t layer = 0;
-uint32_t layer_state_set_kb(uint32_t state) {
- state = layer_state_set_user(state);
- layer = biton32(state);
- return state;
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+ layer = get_highest_layer(state);
+ return state;
}
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) return false;
- uint16_t mapped_code = 0;
- if (index == 0) {
- if (clockwise) {
- switch(layer){
- case 0:
- default:
- mapped_code = KC_VOLU;
- break;
- case 1:
- mapped_code = KC_MEDIA_NEXT_TRACK;
- break;
- case 2:
- mapped_code = KC_PGDN;
- break;
+ uint16_t mapped_code = 0;
+ if (index == 0) {
+ if (clockwise) {
+ switch (layer) {
+ case 0:
+ default:
+ mapped_code = KC_VOLU;
+ break;
+ case 1:
+ mapped_code = KC_MEDIA_NEXT_TRACK;
+ break;
+ case 2:
+ mapped_code = KC_PGDN;
+ break;
+ }
+ } else {
+ switch (layer) {
+ case 0:
+ default:
+ mapped_code = KC_VOLD;
+ break;
+ case 1:
+ mapped_code = KC_MEDIA_PREV_TRACK;
+ break;
+ case 2:
+ mapped_code = KC_PGUP;
+ break;
+ }
}
- } else {
- switch(layer){
- case 0:
- default:
- mapped_code = KC_VOLD;
- break;
- case 1:
- mapped_code = KC_MEDIA_PREV_TRACK;
- break;
- case 2:
- mapped_code = KC_PGUP;
- break;
+ uint16_t held_keycode_timer = timer_read();
+ register_code(mapped_code);
+ while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) { /* no-op */
}
+ unregister_code(mapped_code);
}
- uint16_t held_keycode_timer = timer_read();
- register_code(mapped_code);
- while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
- unregister_code(mapped_code);
- }
- return true;
+ return true;
}
diff --git a/keyboards/cannonkeys/practice60/config.h b/keyboards/cannonkeys/practice60/config.h
index 6937f5752a..179d1cafb5 100644
--- a/keyboards/cannonkeys/practice60/config.h
+++ b/keyboards/cannonkeys/practice60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Practice 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/cannonkeys/practice60/info.json b/keyboards/cannonkeys/practice60/info.json
index 2261494331..e84e2bb635 100644
--- a/keyboards/cannonkeys/practice60/info.json
+++ b/keyboards/cannonkeys/practice60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Practice 60",
+ "manufacturer": "CannonKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/cannonkeys/practice65/config.h b/keyboards/cannonkeys/practice65/config.h
index 343d4d5272..1692998eaa 100644
--- a/keyboards/cannonkeys/practice65/config.h
+++ b/keyboards/cannonkeys/practice65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x6565
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Practice 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/practice65/info.json b/keyboards/cannonkeys/practice65/info.json
index fa2eff8e21..95fdd75190 100644
--- a/keyboards/cannonkeys/practice65/info.json
+++ b/keyboards/cannonkeys/practice65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Practice65",
+ "keyboard_name": "Practice 65",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x6565",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"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}, {"x":14, "y":3}, {"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}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/cannonkeys/rekt1800/config.h b/keyboards/cannonkeys/rekt1800/config.h
index 78cd623953..7e69838272 100644
--- a/keyboards/cannonkeys/rekt1800/config.h
+++ b/keyboards/cannonkeys/rekt1800/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x2377
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Rekt1800
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
diff --git a/keyboards/cannonkeys/rekt1800/info.json b/keyboards/cannonkeys/rekt1800/info.json
index 2ff238b396..7e9202a81d 100644
--- a/keyboards/cannonkeys/rekt1800/info.json
+++ b/keyboards/cannonkeys/rekt1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rekt1800",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x2377",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"x":14, "y":0}, {"label":"PrtSc", "x":15.5, "y":0}, {"label":"Scroll Lock", "x":16.5, "y":0}, {"label":"Pause", "x":17.5, "y":0}, {"x":18.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"label":"Insert", "x":15.5, "y":1.25}, {"label":"Home", "x":16.5, "y":1.25}, {"label":"PgUp", "x":17.5, "y":1.25}, {"x":18.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.5, "y":2.25}, {"label":"End", "x":16.5, "y":2.25}, {"label":"PgDn", "x":17.5, "y":2.25}, {"x":18.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"label":"Enter", "x":13.75, "y":3.25, "w":1.25}, {"x":15.5, "y":3.25}, {"x":16.5, "y":3.25}, {"x":17.5, "y":3.25}, {"x":18.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.5}, {"x":15.5, "y":4.25}, {"x":16.5, "y":4.25}, {"x":17.5, "y":4.25}, {"x":18.5, "y":4.25, "h":2}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Alt", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}, {"x":16.5, "y":5.25}, {"x":17.5, "y":5.25}]
diff --git a/keyboards/cannonkeys/sagittarius/config.h b/keyboards/cannonkeys/sagittarius/config.h
index dd8563df6b..8ba5b58891 100644
--- a/keyboards/cannonkeys/sagittarius/config.h
+++ b/keyboards/cannonkeys/sagittarius/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Sagittarius
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/sagittarius/info.json b/keyboards/cannonkeys/sagittarius/info.json
index 2cb5530447..64db3c34e0 100644
--- a/keyboards/cannonkeys/sagittarius/info.json
+++ b/keyboards/cannonkeys/sagittarius/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sagittarius",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":13.75, "y":0}, {"x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":17.75, "y":0}, {"x":0, "y":1}, {"x":1.5, "y":1, "w":1.5}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "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}, {"x":17.75, "y":1, "w":1.5}, {"x":0, "y":2}, {"x":1.5, "y":2, "w":1.75}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "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":17, "y":2}, {"x":18, "y":2, "w":1.25}, {"x":19.25, "y":2}, {"x":0, "y":3}, {"x":1.5, "y":3, "w":1.25}, {"x":2.75, "y":3}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "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, "w":1.25}, {"x":17.25, "y":3}, {"x":18.25, "y":3}, {"x":1.5, "y":4, "w":1.25}, {"x":2.75, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4, "w":2.25}, {"x":11, "y":4, "w":1.75}, {"x":12.75, "y":4}, {"x":16.25, "y":4}, {"x":17.25, "y":4}, {"x":18.25, "y":4}]
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
index be0dec93ab..8125b76f66 100644
--- a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
@@ -31,8 +31,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_default(
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_BSPC, KC_DEL,
KC_PGDN, 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_NUBS, KC_ENT, KC_ENT,
- KC_END, KC_LSFT, KC_NUHS, 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_RSFT,
+ KC_HOME, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT,
+ KC_END, 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_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT
),
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c
index 495c4269ad..37bbe22991 100644
--- a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_default(
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_BSPC, KC_DEL,
KC_PGDN, 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_NUBS, KC_ENT, KC_ENT,
- KC_END, KC_LSFT, KC_NUHS, 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_RSFT,
+ KC_HOME, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT,
+ KC_END, 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_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT
),
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 2a0ac91b2d..615ad1d056 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -17,19 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* LSE clock */
#define STM32_LSECLK 32768
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x57F5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Satisfaction75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json
new file mode 100644
index 0000000000..692715124d
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "Satisfaction75",
+ "manufacturer": "CannonKeys",
+ "url": "",
+ "maintainer": "Cannon Keys",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x57F5",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c
index 1680f90dc9..38fdb8880e 100644
--- a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c
+++ b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c
@@ -29,7 +29,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_2x2(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
NK_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, OLED_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, RESET, CLOCK_SET,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, QK_BOOT, CLOCK_SET,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
_______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/cannonkeys/satisfaction75/prototype/info.json b/keyboards/cannonkeys/satisfaction75/prototype/info.json
index 29e727835a..9fad4142aa 100644
--- a/keyboards/cannonkeys/satisfaction75/prototype/info.json
+++ b/keyboards/cannonkeys/satisfaction75/prototype/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Satisfaction75 prototype",
- "url": "",
- "maintainer": "Cannon Keys",
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":8.75, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "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}, {"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/cannonkeys/satisfaction75/rev1/info.json b/keyboards/cannonkeys/satisfaction75/rev1/info.json
index b0e1716602..15986435c5 100644
--- a/keyboards/cannonkeys/satisfaction75/rev1/info.json
+++ b/keyboards/cannonkeys/satisfaction75/rev1/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Satisfaction75 rev1",
- "url": "",
- "maintainer": "Cannon Keys",
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":8.75, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "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}, {"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/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
index bd7eaf1885..3cd52d5f23 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
@@ -240,7 +240,7 @@ void read_host_led_state(void) {
layer_state_t layer_state_set_kb(layer_state_t state) {
state = layer_state_set_user(state);
- layer = biton32(state);
+ layer = get_highest_layer(state);
oled_request_wakeup();
return state;
}
@@ -348,9 +348,9 @@ void custom_config_load(){
// Called from matrix_init_kb() if not VIA_ENABLE
void via_init_kb(void)
{
- // If the EEPROM has the magic, the data is good.
- // OK to load from EEPROM.
- if (via_eeprom_is_valid()) {
+ // This checks both an EEPROM reset (from bootmagic lite, keycodes)
+ // and also firmware build date (from via_eeprom_is_valid())
+ if (eeconfig_is_enabled()) {
custom_config_load();
} else {
#ifdef DYNAMIC_KEYMAP_ENABLE
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c
index fff8b65bd7..1e8465387c 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction_oled.c
@@ -145,7 +145,7 @@ static char* get_time(void) {
hour = 12;
}
- static char time_str[8] = "";
+ static char time_str[11] = "";
sprintf(time_str, "%02d:%02d%s", hour, minute, is_pm ? "pm" : "am");
return time_str;
@@ -162,7 +162,7 @@ static char* get_date(void) {
day = day_config;
}
- static char date_str[11] = "";
+ static char date_str[15] = "";
sprintf(date_str, "%04d-%02d-%02d", year, month, day);
return date_str;
diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h
index 049574c532..77efcc2db5 100644
--- a/keyboards/cannonkeys/savage65/config.h
+++ b/keyboards/cannonkeys/savage65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x5A65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Savage65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/savage65/info.json b/keyboards/cannonkeys/savage65/info.json
index a3c8574b13..1fb0e0c58e 100644
--- a/keyboards/cannonkeys/savage65/info.json
+++ b/keyboards/cannonkeys/savage65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Savage65",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x5A65",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "y":3}, {"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h
index 821c9b7b5d..f7f867e013 100644
--- a/keyboards/cannonkeys/tmov2/config.h
+++ b/keyboards/cannonkeys/tmov2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x70F2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT TMOv2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/tmov2/info.json b/keyboards/cannonkeys/tmov2/info.json
index 6e157d4bd7..4552b612d0 100644
--- a/keyboards/cannonkeys/tmov2/info.json
+++ b/keyboards/cannonkeys/tmov2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TMOv2",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x70F2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"label":"Tab", "x":1.25, "y":0, "w":1.5}, {"label":"Q", "x":2.75, "y":0}, {"label":"W", "x":3.75, "y":0}, {"label":"E", "x":4.75, "y":0}, {"label":"R", "x":5.75, "y":0}, {"label":"T", "x":6.75, "y":0}, {"label":"Y", "x":7.75, "y":0}, {"label":"U", "x":8.75, "y":0}, {"label":"I", "x":9.75, "y":0}, {"label":"O", "x":10.75, "y":0}, {"label":"P", "x":11.75, "y":0}, {"label":"{", "x":12.75, "y":0}, {"label":"}", "x":13.75, "y":0}, {"label":"Backspace", "x":14.75, "y":0}, {"x":0, "y":1}, {"label":"Caps Lock", "x":1.25, "y":1, "w":1.75}, {"label":"A", "x":3, "y":1}, {"label":"S", "x":4, "y":1}, {"label":"D", "x":5, "y":1}, {"label":"F", "x":6, "y":1}, {"label":"G", "x":7, "y":1}, {"label":"H", "x":8, "y":1}, {"label":"J", "x":9, "y":1}, {"label":"K", "x":10, "y":1}, {"label":"L", "x":11, "y":1}, {"label":":", "x":12, "y":1}, {"label":"\"", "x":13, "y":1}, {"label":"Enter", "x":14, "y":1, "w":1.75}, {"x":0, "y":2}, {"label":"Shift", "x":1.25, "y":2, "w":1.25}, {"label":"ISO \\", "x":2.5, "y":2}, {"label":"Z", "x":3.5, "y":2}, {"label":"X", "x":4.5, "y":2}, {"label":"C", "x":5.5, "y":2}, {"label":"V", "x":6.5, "y":2}, {"label":"B", "x":7.5, "y":2}, {"label":"N", "x":8.5, "y":2}, {"label":"M", "x":9.5, "y":2}, {"label":"<", "x":10.5, "y":2}, {"label":">", "x":11.5, "y":2}, {"label":"?", "x":12.5, "y":2}, {"label":"Shift", "x":13.5, "y":2, "w":1.25}, {"x":14.75, "y":2}, {"x":0, "y":3}, {"label":"Win", "x":3.25, "y":3}, {"label":"Alt", "x":4.25, "y":3, "w":1.5}, {"x":5.75, "y":3, "w":2.25}, {"x":8, "y":3, "w":2.75}, {"label":"Alt", "x":10.75, "y":3, "w":1.5}, {"label":"Menu", "x":12.25, "y":3}]
diff --git a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
index 1d0cdf4f09..ff635b2d80 100644
--- a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
+++ b/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_ADJUST] = LAYOUT_default( \
- TG_BASE, QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ TG_BASE, QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_NAV, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_MOUS, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/cannonkeys/tsukuyomi/config.h b/keyboards/cannonkeys/tsukuyomi/config.h
index 51411c5241..e26324180f 100644
--- a/keyboards/cannonkeys/tsukuyomi/config.h
+++ b/keyboards/cannonkeys/tsukuyomi/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Tsukuyomi
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/cannonkeys/tsukuyomi/info.json b/keyboards/cannonkeys/tsukuyomi/info.json
index 297aca7397..1a4e74539a 100644
--- a/keyboards/cannonkeys/tsukuyomi/info.json
+++ b/keyboards/cannonkeys/tsukuyomi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tsukuyomi",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.25, "y":0}, {"label":"!", "x":2.25, "y":0}, {"label":"@", "x":3.25, "y":0}, {"label":"#", "x":4.25, "y":0}, {"label":"$", "x":5.25, "y":0}, {"label":"%", "x":6.25, "y":0}, {"label":"^", "x":7.25, "y":0}, {"label":"&", "x":8.25, "y":0}, {"label":"*", "x":9.25, "y":0}, {"label":"(", "x":10.25, "y":0}, {"label":")", "x":11.25, "y":0}, {"label":"_", "x":12.25, "y":0}, {"label":"+", "x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":7.75, "y":1}, {"label":"U", "x":8.75, "y":1}, {"label":"I", "x":9.75, "y":1}, {"label":"O", "x":10.75, "y":1}, {"label":"P", "x":11.75, "y":1}, {"label":"{", "x":12.75, "y":1}, {"label":"}", "x":13.75, "y":1}, {"label":"|", "x":14.75, "y":1, "w":1.5}, {"x":16.25, "y":1}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":8, "y":2}, {"label":"J", "x":9, "y":2}, {"label":"K", "x":10, "y":2}, {"label":"L", "x":11, "y":2}, {"label":":", "x":12, "y":2}, {"label":"\"", "x":13, "y":2}, {"x":14, "y":2}, {"label":"Enter", "x":15, "y":2, "w":1.25}, {"x":16.25, "y":2}, {"x":0, "y":3}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":8.5, "y":3}, {"label":"M", "x":9.5, "y":3}, {"label":"<", "x":10.5, "y":3}, {"label":">", "x":11.5, "y":3}, {"label":"?", "x":12.5, "y":3}, {"label":"Shift", "x":13.5, "y":3, "w":1.75}, {"x":15.25, "y":3}, {"x":16.25, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":6.25}, {"label":"Alt", "x":11.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":12.5, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
diff --git a/keyboards/cannonkeys/vector/info.json b/keyboards/cannonkeys/vector/info.json
new file mode 100644
index 0000000000..1247fa3903
--- /dev/null
+++ b/keyboards/cannonkeys/vector/info.json
@@ -0,0 +1,35 @@
+{
+ "manufacturer": "CannonKeys",
+ "keyboard_name": "Vector",
+ "maintainer": "awkannan",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["C13", "C15", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
+ "rows": ["C14", "A1", "B14", "B15", "A8"]
+ },
+ "indicators": {
+ "caps_lock": "B3",
+ "on_state": 0
+ },
+ "processor": "STM32F072",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0xCA04",
+ "pid": "0x000C"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"matrix": [0,0], "x":0, "y":0}, {"matrix": [0,1], "x":1, "y":0}, {"matrix": [0,2], "x":2, "y":0}, {"matrix": [0,3], "x":3, "y":0}, {"matrix": [0,4], "x":4, "y":0}, {"matrix": [0,5], "x":5, "y":0}, {"matrix": [0,6], "x":6, "y":0}, {"matrix": [0,7], "x":7, "y":0}, {"matrix": [0,8], "x":8, "y":0}, {"matrix": [0,9], "x":9, "y":0}, {"matrix": [0,10], "x":10, "y":0}, {"matrix": [0,11], "x":11, "y":0}, {"matrix": [0,12], "x":12, "y":0}, {"matrix": [0,13], "x":13, "y":0}, {"matrix": [2,12], "x":14, "y":0}, {"matrix": [1,0], "x":0, "y":1, "w":1.5}, {"matrix": [1,1], "x":1.5, "y":1}, {"matrix": [1,2], "x":2.5, "y":1}, {"matrix": [1,3], "x":3.5, "y":1}, {"matrix": [1,4], "x":4.5, "y":1}, {"matrix": [1,5], "x":5.5, "y":1}, {"matrix": [1,6], "x":6.5, "y":1}, {"matrix": [1,7], "x":7.5, "y":1}, {"matrix": [1,8], "x":8.5, "y":1}, {"matrix": [1,9], "x":9.5, "y":1}, {"matrix": [1,10], "x":10.5, "y":1}, {"matrix": [1,11], "x":11.5, "y":1}, {"matrix": [1,12], "x":12.5, "y":1}, {"matrix": [1,13], "x":13.5, "y":1, "w":1.5}, {"matrix": [2,0], "x":0, "y":2, "w":1.75}, {"matrix": [2,1], "x":1.75, "y":2}, {"matrix": [2,2], "x":2.75, "y":2}, {"matrix": [2,3], "x":3.75, "y":2}, {"matrix": [2,4], "x":4.75, "y":2}, {"matrix": [2,5], "x":5.75, "y":2}, {"matrix": [2,6], "x":6.75, "y":2}, {"matrix": [2,7], "x":7.75, "y":2}, {"matrix": [2,8], "x":8.75, "y":2}, {"matrix": [2,9], "x":9.75, "y":2}, {"matrix": [2,10], "x":10.75, "y":2}, {"matrix": [2,11], "x":11.75, "y":2}, {"matrix": [2,13], "x":12.75, "y":2, "w":2.25}, {"matrix": [3,0], "x":0, "y":3, "w":1.25}, {"matrix": [3,1], "x":1.25, "y":3}, {"matrix": [3,2], "x":2.25, "y":3}, {"matrix": [3,3], "x":3.25, "y":3}, {"matrix": [3,4], "x":4.25, "y":3}, {"matrix": [3,5], "x":5.25, "y":3}, {"matrix": [3,6], "x":6.25, "y":3}, {"matrix": [3,7], "x":7.25, "y":3}, {"matrix": [3,8], "x":8.25, "y":3}, {"matrix": [3,9], "x":9.25, "y":3}, {"matrix": [3,10], "x":10.25, "y":3}, {"matrix": [3,11], "x":11.25, "y":3}, {"matrix": [3,12], "x":12.25, "y":3, "w":1.75}, {"matrix": [3,13], "x":14, "y":3}, {"matrix": [4,0], "x":0, "y":4, "w":1.5}, {"matrix": [4,1], "x":1.5, "y":4}, {"matrix": [4,2], "x":2.5, "y":4, "w":1.5}, {"matrix": [4,5], "x":4, "y":4, "w":3}, {"matrix": [4,7], "x":7, "y":4}, {"matrix": [4,9], "x":8, "y":4, "w":3}, {"matrix": [4,11], "x":11, "y":4, "w":1.5}, {"matrix": [4,12], "x":12.5, "y":4}, {"matrix": [4,13], "x":13.5, "y":4, "w":1.5}]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/vector/keymaps/default/keymap.c b/keyboards/cannonkeys/vector/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7def0bb31d
--- /dev/null
+++ b/keyboards/cannonkeys/vector/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+// Copyright 2022 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ ),
+
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/vector/keymaps/via/keymap.c b/keyboards/cannonkeys/vector/keymaps/via/keymap.c
new file mode 100644
index 0000000000..28b3492f0e
--- /dev/null
+++ b/keyboards/cannonkeys/vector/keymaps/via/keymap.c
@@ -0,0 +1,45 @@
+// Copyright 2022 Andrew Kannan (@awkannan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ ),
+
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cannonkeys/vector/keymaps/via/rules.mk b/keyboards/cannonkeys/vector/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/vector/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/vector/readme.md b/keyboards/cannonkeys/vector/readme.md
new file mode 100644
index 0000000000..1abbb25819
--- /dev/null
+++ b/keyboards/cannonkeys/vector/readme.md
@@ -0,0 +1,25 @@
+# Vector
+
+*A PCB mount 60% designed by ai03*
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+* Hardware Availability: [CannonKeys](https://cannonkeys.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/vector:default
+
+Flashing example for this keyboard:
+
+ make cannonkeys/vector:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Swap the boot switch on the back of the PCB to "1" and hit the reset button
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/cannonkeys/vector/rules.mk b/keyboards/cannonkeys/vector/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/cannonkeys/vector/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/cannonkeys/vicious40/config.h b/keyboards/cannonkeys/vicious40/config.h
index c4f8c26235..4b8786163d 100644
--- a/keyboards/cannonkeys/vicious40/config.h
+++ b/keyboards/cannonkeys/vicious40/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA04
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Vicious40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/cannonkeys/vicious40/info.json b/keyboards/cannonkeys/vicious40/info.json
index 1652e9d3e6..db6081773b 100644
--- a/keyboards/cannonkeys/vicious40/info.json
+++ b/keyboards/cannonkeys/vicious40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Vicious40",
+ "manufacturer": "CannonKeys",
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Up", "x":10.75, "y":2}, {"label":"?", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Super", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Space", "x":3, "y":3, "w":2.25}, {"label":"Space", "x":5.25, "y":3, "w":1.25}, {"label":"Space", "x":6.5, "y":3, "w":2.75}, {"label":"Left", "x":9.75, "y":3}, {"label":"Down", "x":10.75, "y":3}, {"label":"Right", "x":11.75, "y":3}]
diff --git a/keyboards/cantor/info.json b/keyboards/cantor/info.json
index cd11c4eb94..6d599f4300 100644
--- a/keyboards/cantor/info.json
+++ b/keyboards/cantor/info.json
@@ -12,6 +12,7 @@
"nkro": true
},
"processor": "STM32F401",
+ "board": "BLACKPILL_STM32_F401",
"url": "https://github.com/diepala/cantor",
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/cantor/keymaps/zeromist/keymap.c b/keyboards/cantor/keymaps/zeromist/keymap.c
new file mode 100644
index 0000000000..1c4f56a727
--- /dev/null
+++ b/keyboards/cantor/keymaps/zeromist/keymap.c
@@ -0,0 +1,107 @@
+// Copyright 2022 Diego Palacios (@diepala)
+// SPDX-License-Identifier: GPL-2.0
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───â”
+ * │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Bsp│
+ * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
+ * │ESC│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │
+ * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
+ * │Sft│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Sft│
+ * └───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┘
+ * ┌────┠┌───â”
+ * │LCTL├───────┠┌─────┤Alt│
+ * └────┤GUI/Bsp├───────┠┌───┤TO(1)├───┘
+ * └───────┤ALT/ENT│ │SPC├─────┘
+ * └───────┘ └───┘
+ */
+ [0] = LAYOUT_split_3x6_3(
+ //-------------------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //-------------------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_ESCAPE, 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_RSFT,
+ //-------------------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_LCTL, MT(MOD_LGUI, KC_BSPC), MT(MOD_LALT, KC_ENT), KC_SPC, TO(1), KC_RALT
+ //-------------------------------------------------------------------------- ---------------------------------------------------------------------------------
+ ),
+ /*
+ * ┌───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───â”
+ * │`~ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │Bsp│
+ * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
+ * │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ | │
+ * ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
+ * │Sft│ += │ -_│ + │ { │ } │ │ [ │ ] │ ; │ : │ \ │ │
+ * └───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┘
+ * ┌────────┠┌─────â”
+ * │ MLCKSCN ├─────┠┌────┤TO(3)│
+ * └────────┤TO(0)├───┠┌───┤TO(2)├─────┘
+ * └─────┤ < │ │ > ├────┘
+ * └───┘ └───┘
+ */
+ [1] = LAYOUT_split_3x6_3(
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ 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_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_LSFT, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, KC_RSFT,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_TRNS, TO(0), KC_LT, KC_GT, TO(2), TO(3)
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ ),
+ /*
+ * ┌────┬──────┬──────┬──────┬──────────┬──────┠┌──────┬──────┬──────┬───────┬──────┬───â”
+ * │MSTP│ Play │ PRVS │ Next │ │ CAPS │ │ PgDn │ PgUp │ INS │ Print │ │Bsp│
+ * ├────┼──────┼──────┼───────┼─────────┼──────┤ ├──────┼──────┼──────┼───────┼──────┼───┤
+ * │ │ HOME │ END │ LCTRL+C │ LCTRL+V │ │ │ Left │ Down │ Up │ Right │ Del │ │
+ * ├────┼──────┼──────┼───────┼────────┼──────┤ ├──────┼──────┼──────┼───────┼──────┼───┤
+ * │Sft │ UNDO │ CUT │ COPY │ PASTE │ RApp │ │ Vol- │ Vol+ │ Mute │ │ RGui │ │
+ * └────┴──────┴──────┴──────┴───────┴──────┘ └──────┴──────┴──────┴───────┴──────┴───┘
+ * ┌─────┠┌─────â”
+ * │LCTRL├─────┠┌─────┤TO(3)│
+ * └─────┤TO(0)├───┠┌───┤TO(0)├─────┘
+ * └─────┤ALT│ │SPC├─────┘
+ * └───┘ └───┘
+ */
+ [2] = LAYOUT_split_3x6_3(
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_CAPS, KC_PGDOWN, KC_PGUP, KC_INS, KC_PSCR, KC_NO, KC_BSPC,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_NO, KC_HOME, KC_END, C(KC_C), C(KC_V), KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_TAB, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_RSFT,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_LCTL, TO(0), KC_LALT, KC_TRNS, KC_TRNS, TO(3)
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ ),
+ /*
+ * ┌──┬────┬────┬────┬────┬────┠┌────┬────┬────┬────┬─────┬─────â”
+ * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │
+ * ├──┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼─────┼─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ F12 │
+ * ├──┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼─────┼─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └──┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴─────┴─────┘
+ * ┌───┠┌───â”
+ * │ ├─────┠┌─────┤ │
+ * └───┤TO(0)├───┠┌───┤ ├───┘
+ * └─────┤ENT│ │ ├─────┘
+ * └───┘ └───┘
+ */
+ [3] = LAYOUT_split_3x6_3(
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ KC_NO, TO(0), KC_NO, KC_NO, KC_NO, KC_NO
+ //-------------------------------------------------------------- ---------------------------------------------------------------------------------
+ )
+};
diff --git a/keyboards/cantor/readme.md b/keyboards/cantor/readme.md
index 90045eb2be..9a45d7befc 100644
--- a/keyboards/cantor/readme.md
+++ b/keyboards/cantor/readme.md
@@ -27,4 +27,4 @@ Enter the bootloader in 3 ways:
* Press and hold the BOOT0 button.
* Press and release the NRST button.
* Release the BOOT0 button.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/capsunlocked/cu24/config.h b/keyboards/capsunlocked/cu24/config.h
index cd5e0ccd39..552a991af8 100644
--- a/keyboards/capsunlocked/cu24/config.h
+++ b/keyboards/capsunlocked/cu24/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar/CapsUnlocked
-#define PRODUCT CU24
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { E6, F5, B4, B6, C6, C7 }
#define MATRIX_COL_PINS { F0, F1, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/capsunlocked/cu24/info.json b/keyboards/capsunlocked/cu24/info.json
index 532bc13bee..e9a77c119a 100644
--- a/keyboards/capsunlocked/cu24/info.json
+++ b/keyboards/capsunlocked/cu24/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cu24",
+ "keyboard_name": "CU24",
+ "manufacturer": "Yiancar/CapsUnlocked",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_grid": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"x":1, "y":4}, {"label":".", "x":2, "y":4}, {"x":3, "y":4}, {"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":5}]
diff --git a/keyboards/capsunlocked/cu65/config.h b/keyboards/capsunlocked/cu65/config.h
index 79ff7435bd..bf2055cb50 100644
--- a/keyboards/capsunlocked/cu65/config.h
+++ b/keyboards/capsunlocked/cu65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4355
-#define PRODUCT_ID 0x0065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CapsUnlocked
-#define PRODUCT CU65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F4, F5, F6, D3 }
#define MATRIX_COL_PINS { D6, D7, D4, B4, B5, B6, C6, D5, C7, F0, E6, B0, B1, B7, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/capsunlocked/cu65/info.json b/keyboards/capsunlocked/cu65/info.json
index 0e5390ae5e..8217dde0ea 100644
--- a/keyboards/capsunlocked/cu65/info.json
+++ b/keyboards/capsunlocked/cu65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CU65",
+ "manufacturer": "CapsUnlocked",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4355",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c
index 2de0de76b4..6049fa7433 100644
--- a/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c
+++ b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ │ │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
- 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, _______, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/capsunlocked/cu7/config.h b/keyboards/capsunlocked/cu7/config.h
index cc22be0f02..3f93aae5e8 100644
--- a/keyboards/capsunlocked/cu7/config.h
+++ b/keyboards/capsunlocked/cu7/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4355
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CapsUnlocked
-#define PRODUCT CU7
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -47,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D7, F0, F6 }
#define MATRIX_COL_PINS { F5, F7, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/capsunlocked/cu7/info.json b/keyboards/capsunlocked/cu7/info.json
index 9d1d84354d..b9d9671b97 100644
--- a/keyboards/capsunlocked/cu7/info.json
+++ b/keyboards/capsunlocked/cu7/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CU7",
+ "manufacturer": "CapsUnlocked",
"url": "https://caps-unlocked.com/cu7/",
"maintainer": "rys",
+ "usb": {
+ "vid": "0x4355",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/capsunlocked/cu75/config.h b/keyboards/capsunlocked/cu75/config.h
index 8ad8feb24a..27c1dd4e2f 100644
--- a/keyboards/capsunlocked/cu75/config.h
+++ b/keyboards/capsunlocked/cu75/config.h
@@ -19,18 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6062
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LFKeyboards/CapsUnlocked
-#define PRODUCT CU75
-
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS {F1, B7, B3, D2, D3, B2}
#define MATRIX_COL_PINS {F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, B1, B0, F0}
-#define UNUSED_PINS {}
#define RGB_DI_PIN C7 // Have to set it to something to get the ws2812 code to compile
#define RGBLED_NUM 24 // Number of LEDs
diff --git a/keyboards/capsunlocked/cu75/cu75.c b/keyboards/capsunlocked/cu75/cu75.c
index e52edd90fa..690d72055a 100644
--- a/keyboards/capsunlocked/cu75/cu75.c
+++ b/keyboards/capsunlocked/cu75/cu75.c
@@ -91,7 +91,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record)
if (click_toggle && record->event.pressed){
click(click_hz, click_time);
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/capsunlocked/cu75/info.json b/keyboards/capsunlocked/cu75/info.json
index 07812ddb58..3ab7427b6c 100644
--- a/keyboards/capsunlocked/cu75/info.json
+++ b/keyboards/capsunlocked/cu75/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cu75",
+ "keyboard_name": "CU75",
+ "manufacturer": "LFKeyboards/CapsUnlocked",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6062",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":4}, {"label":"End", "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":2.75}, {"x":6.5, "y":5}, {"x":7.5, "y":5, "w":2.5}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/capsunlocked/cu80/v1/config.h b/keyboards/capsunlocked/cu80/v1/config.h
index d5123cdbad..949fca07df 100644
--- a/keyboards/capsunlocked/cu80/v1/config.h
+++ b/keyboards/capsunlocked/cu80/v1/config.h
@@ -19,20 +19,12 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CapsUnlocked
-#define PRODUCT CU80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
#define MATRIX_ROW_PINS { B1, B5, B4, F7, D7, D6 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, C7, C6, B6, B0, E6, B7, B3, B2, D2, D3, D5, D4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/capsunlocked/cu80/v1/info.json b/keyboards/capsunlocked/cu80/v1/info.json
index 937dfd8b5a..df4a67d243 100644
--- a/keyboards/capsunlocked/cu80/v1/info.json
+++ b/keyboards/capsunlocked/cu80/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CU80",
+ "manufacturer": "CapsUnlocked",
"url": "https://caps-unlocked.com/group-buy-cu80/",
"maintainer": "aHolland909",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "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":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "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}]
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/base/info.json b/keyboards/capsunlocked/cu80/v2_ansi/base/info.json
new file mode 100644
index 0000000000..9dc24b5e40
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "CU80 v2 ANSI",
+ "usb": {
+ "pid": "0x0081"
+ }
+}
diff --git a/keyboards/yosino58/.noci b/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/yosino58/.noci
+++ b/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/info.json b/keyboards/capsunlocked/cu80/v2_ansi/info.json
index 7615d9f029..96234185f6 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/info.json
+++ b/keyboards/capsunlocked/cu80/v2_ansi/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "CapsUnlocked",
- "keyboard_name": "CapsUnlocked CU80 v2 ANSI",
"maintainer": "rys / maz0r",
"bootloader": "atmel-dfu",
"debounce": 5,
@@ -38,7 +37,6 @@
"url": "https://caps-unlocked.com/cu80-round-2/",
"usb": {
"device_version": "0.0.1",
- "pid": "0x0081",
"vid": "0x4355"
},
"community_layouts": ["tkl_ansi"],
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
index 00a05ad7da..5789266397 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* enable RGB matrix */
#define CU80_RGB
-/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
-#undef PRODUCT
-#define PRODUCT CU80 v2 ANSI RGB
-
/* moved to RGB specific */
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
index f97e203645..52676aa041 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
@@ -1,4 +1,5 @@
{
+ "keyboard_name": "CU80 v2 ANSI RGB",
"features": {
"rgblight": false
},
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
index 7c5554a087..e96dd72928 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
@@ -1,10 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue
+
+DEFAULT_FOLDER = capsunlocked/cu80/v2_ansi/base
diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/info.json b/keyboards/capsunlocked/cu80/v2_iso/base/info.json
new file mode 100644
index 0000000000..636e6e2276
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "CU80 v2 ISO",
+ "usb": {
+ "pid": "0x0080"
+ }
+}
diff --git a/keyboards/yosino58/rev1/.noci b/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/yosino58/rev1/.noci
+++ b/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk
diff --git a/keyboards/capsunlocked/cu80/v2_iso/info.json b/keyboards/capsunlocked/cu80/v2_iso/info.json
index 43f074f170..61e033c59f 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/info.json
+++ b/keyboards/capsunlocked/cu80/v2_iso/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "CapsUnlocked",
- "keyboard_name": "CapsUnlocked CU80 v2 ISO",
"maintainer": "rys / maz0r",
"bootloader": "atmel-dfu",
"debounce": 5,
@@ -38,7 +37,6 @@
"url": "https://caps-unlocked.com/cu80-round-2/",
"usb": {
"device_version": "0.0.1",
- "pid": "0x0080",
"vid": "0x4355"
},
"community_layouts": ["tkl_iso"],
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
index dbe9143b8b..41dbede767 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
+++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
@@ -18,10 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* enable RGB matrix */
#define CU80_RGB
-/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
-#undef PRODUCT
-#define PRODUCT CU80 v2 ISO RGB
-
/* moved to RGB specific */
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
index 36748237c5..e04971c21a 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
+++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
@@ -1,4 +1,5 @@
{
+ "keyboard_name": "CU80 v2 ISO RGB",
"features": {
"rgblight": false
},
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rules.mk
index 7c5554a087..c0feb35307 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rules.mk
+++ b/keyboards/capsunlocked/cu80/v2_iso/rules.mk
@@ -1,10 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue
+
+DEFAULT_FOLDER = capsunlocked/cu80/v2_iso/base
diff --git a/keyboards/carbo65/config.h b/keyboards/carbo65/config.h
index 8475b3b1bb..dfbd4db1ac 100644
--- a/keyboards/carbo65/config.h
+++ b/keyboards/carbo65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4336
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Carbo65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/carbo65/info.json b/keyboards/carbo65/info.json
index 7adfc8c04b..354ed0e767 100644
--- a/keyboards/carbo65/info.json
+++ b/keyboards/carbo65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Carbo65",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4336",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/catch22/config.h b/keyboards/catch22/config.h
index 5a3154dc46..94be3c3451 100644
--- a/keyboards/catch22/config.h
+++ b/keyboards/catch22/config.h
@@ -18,13 +18,6 @@ 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 0xCA22
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rockydbull
-#define PRODUCT Catch22 Hotswap Macropad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS { }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/catch22/info.json b/keyboards/catch22/info.json
index 94e2128536..c77a0f5394 100644
--- a/keyboards/catch22/info.json
+++ b/keyboards/catch22/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "catch22",
+ "keyboard_name": "Catch22 Hotswap Macropad",
+ "manufacturer": "rockydbull",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA22",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"A", "x":1, "y":0}, {"label":"B", "x":2, "y":0}, {"label":"C", "x":3, "y":0}, {"label":"D", "x":4, "y":0}, {"label":"E", "x":1, "y":1}, {"label":"F", "x":2, "y":1}, {"label":"G", "x":3, "y":1}, {"label":"H", "x":4, "y":1}, {"label":"I", "x":0, "y":2}, {"label":"J", "x":1, "y":2}, {"label":"K", "x":2, "y":2}, {"label":"L", "x":3, "y":2}, {"label":"M", "x":4, "y":2}, {"label":"1", "x":0, "y":3, "h":2}, {"label":"N", "x":1, "y":3}, {"label":"O", "x":2, "y":3}, {"label":"P", "x":3, "y":3}, {"label":"Q", "x":4, "y":3}, {"label":"R", "x":1, "y":4}, {"label":"S", "x":2, "y":4}, {"label":"T", "x":3, "y":4}, {"label":"U", "x":4, "y":4}]
diff --git a/keyboards/centromere/config.h b/keyboards/centromere/config.h
index 69af48c30f..1310866fbb 100644
--- a/keyboards/centromere/config.h
+++ b/keyboards/centromere/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Southpaw Design
-#define PRODUCT centromere
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
diff --git a/keyboards/centromere/info.json b/keyboards/centromere/info.json
index 839a4ec84a..d5de3624fd 100644
--- a/keyboards/centromere/info.json
+++ b/keyboards/centromere/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Centromere",
+ "manufacturer": "Southpaw Design",
"url": "",
"maintainer": "spe2",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/centromere/keymaps/mattly/keymap.c b/keyboards/centromere/keymaps/mattly/keymap.c
index 9ec77a7cf9..bee7e98e12 100644
--- a/keyboards/centromere/keymaps/mattly/keymap.c
+++ b/keyboards/centromere/keymaps/mattly/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCT] = LAYOUT_split_3x6_3(
- KC_F15, KC_F12, KC_F9, KC_F8, KC_F7, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ KC_F15, KC_F12, KC_F9, KC_F8, KC_F7, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_F14, KC_F11, KC_F6, KC_F5, KC_F4, KC_MUTE, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_F13, KC_F10, KC_F3, KC_F2, KC_F1, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, _______
diff --git a/keyboards/centromere/keymaps/mini/keymap.c b/keyboards/centromere/keymaps/mini/keymap.c
index 4241e28a3d..4986dacc74 100644
--- a/keyboards/centromere/keymaps/mini/keymap.c
+++ b/keyboards/centromere/keymaps/mini/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_3x5_3(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/cest73/tkm/config.h b/keyboards/cest73/tkm/config.h
index e925f39715..a11e7a5e9b 100644
--- a/keyboards/cest73/tkm/config.h
+++ b/keyboards/cest73/tkm/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBADD
-#define PRODUCT_ID 0xAA55
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cest73
-#define PRODUCT TKM-2021 R1.03
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 10
@@ -34,7 +27,6 @@
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, C6, C7, D0 }
/* column handy ruler: c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 */
#define MATRIX_COL_PINS { D1, D2, D3, D4, D5, D6, D7, F0, F1, F4 }
-#define UNUSED_PINS { }
//NOTE: if D6 pin shows any issues in exploatation the LED on the Teensy is to be removed
diff --git a/keyboards/cest73/tkm/info.json b/keyboards/cest73/tkm/info.json
index c37cfcadb6..98d691bf13 100644
--- a/keyboards/cest73/tkm/info.json
+++ b/keyboards/cest73/tkm/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKM 2021",
+ "keyboard_name": "TKM 2021 R1.03",
+ "manufacturer": "cest73",
"url": "https://geekhack.org/index.php?topic=110499",
"maintainer": "cest73 (aka fire-h0und)",
+ "usb": {
+ "vid": "0xBADD",
+ "pid": "0xAA55",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/chalice/config.h b/keyboards/chalice/config.h
index 75c34cacd0..1cb0404a03 100644
--- a/keyboards/chalice/config.h
+++ b/keyboards/chalice/config.h
@@ -19,12 +19,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x6A6A
-#define PRODUCT_ID 0x000C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CustomKBD
-#define PRODUCT Chalice
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/chalice/info.json b/keyboards/chalice/info.json
index 77a3f7bc12..f738f60325 100644
--- a/keyboards/chalice/info.json
+++ b/keyboards/chalice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chalice",
+ "manufacturer": "CustomKBD",
"url": "https://customkbd.com/products/chalice-pre-order",
"maintainer": "joshajohnson, CustomKBD",
+ "usb": {
+ "vid": "0x6A6A",
+ "pid": "0x000C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/chalice/readme.md b/keyboards/chalice/readme.md
index ebfaa3cbd1..2c076e5afc 100644
--- a/keyboards/chalice/readme.md
+++ b/keyboards/chalice/readme.md
@@ -20,6 +20,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down Escape and plug in the keyboard.
* **Physical reset button**: Briefly press the reset button below the pro-micro.
-* **Keycode in layout**: The `RESET` key can be found by holding `FUNC` in between the space bars and pressing `ESC`.
+* **Keycode in layout**: The `QK_BOOT` key can be found by holding `FUNC` in between the space bars and pressing `ESC`.
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/chaos65/config.h b/keyboards/chaos65/config.h
index 8e5b7cc2fc..018d28bcb9 100644
--- a/keyboards/chaos65/config.h
+++ b/keyboards/chaos65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB23B
-#define PRODUCT_ID 0x1688
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ThomasLT
-#define PRODUCT Chaos65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/chaos65/info.json b/keyboards/chaos65/info.json
index f9293d526c..0118705c5f 100644
--- a/keyboards/chaos65/info.json
+++ b/keyboards/chaos65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chaos65",
+ "manufacturer": "ThomasLT",
"url": "https://www.thomasltstudio.com/product-page/chaos-65-keyboard",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xB23B",
+ "pid": "0x1688",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/chaos65/readme.md b/keyboards/chaos65/readme.md
index 4337ecf90a..62d6e4a40e 100644
--- a/keyboards/chaos65/readme.md
+++ b/keyboards/chaos65/readme.md
@@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button labeled "Reset" on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/charue/charon/config.h b/keyboards/charue/charon/config.h
index 4ee679f707..61734ac4ea 100644
--- a/keyboards/charue/charon/config.h
+++ b/keyboards/charue/charon/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4344 // CD for CharueDesign
-#define PRODUCT_ID 0x4348 // CH for Charon
-#define DEVICE_VER 0x0001 // Revision prototype
-#define MANUFACTURER Charue Design
-#define PRODUCT Charon
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, C7 }
#define MATRIX_COL_PINS { D3, D5, B4, D7, D6, D4, F7, F6, F5, F4, F1, F0, B5, B6, C6 }
-#define UNUSED_PINS { B7, D0, D1, D2 }
#define DIODE_DIRECTION COL2ROW
/* LED config */
diff --git a/keyboards/charue/charon/info.json b/keyboards/charue/charon/info.json
index 9702af08cf..cd8b7d1ba5 100644
--- a/keyboards/charue/charon/info.json
+++ b/keyboards/charue/charon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Charon",
+ "manufacturer": "Charue Design",
"url": "https://charue-design.com/products/charon",
"maintainer": "ILWrites",
+ "usb": {
+ "vid": "0x4344",
+ "pid": "0x4348",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/charue/charon/keymaps/debug/keymap.c b/keyboards/charue/charon/keymaps/debug/keymap.c
index 8e8c045b8b..51c19ee6f2 100644
--- a/keyboards/charue/charon/keymaps/debug/keymap.c
+++ b/keyboards/charue/charon/keymaps/debug/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTRL, KC_LGUI, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT
),
[_FN] = LAYOUT_all(
- RESET, 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,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU,
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_VOLD,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE,
diff --git a/keyboards/charue/charon/readme.md b/keyboards/charue/charon/readme.md
index 1732d8a018..9c2afd641b 100644
--- a/keyboards/charue/charon/readme.md
+++ b/keyboards/charue/charon/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/charue/sunsetter/config.h b/keyboards/charue/sunsetter/config.h
index ac7746fa72..15ec852c4e 100644
--- a/keyboards/charue/sunsetter/config.h
+++ b/keyboards/charue/sunsetter/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4344 // CD for CharueDesign
-#define PRODUCT_ID 0x5353 // SS for Sunsetter
-#define DEVICE_VER 0x0001 // Revision prototype
-#define MANUFACTURER CharueDesign
-#define PRODUCT Sunsetter
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
diff --git a/keyboards/charue/sunsetter/info.json b/keyboards/charue/sunsetter/info.json
index 2471c60fd2..a761fd792f 100644
--- a/keyboards/charue/sunsetter/info.json
+++ b/keyboards/charue/sunsetter/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sunsetter",
+ "manufacturer": "CharueDesign",
"url": "https://charue-design.com/products/sunsetter",
"maintainer": "coarse",
+ "usb": {
+ "vid": "0x4344",
+ "pid": "0x5353",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c b/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c
index 4e0ca86c60..02b56ac4b0 100644
--- a/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c
+++ b/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
+ 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, QK_BOOT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
diff --git a/keyboards/charue/sunsetter_r2/config.h b/keyboards/charue/sunsetter_r2/config.h
index f95013cd72..aa835564e0 100644
--- a/keyboards/charue/sunsetter_r2/config.h
+++ b/keyboards/charue/sunsetter_r2/config.h
@@ -5,16 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-// 0x4344 = CD for Charue Design
-#define VENDOR_ID 0x4344
-// 0x5335 = S2 for Sunsetter R2
-#define PRODUCT_ID 0x5335
-// 0x0001 = 1 for Base version
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Charue Design
-#define PRODUCT Sunsetter R2
-
/* Key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -22,7 +12,6 @@
/* Keyboard Matrix Assignment s*/
#define MATRIX_ROW_PINS { B3, B2, F4, F5, F6 }
#define MATRIX_COL_PINS { F0, F1, F7, B1, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS { B7 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/charue/sunsetter_r2/info.json b/keyboards/charue/sunsetter_r2/info.json
index dc019f8c03..836d9ca6a1 100644
--- a/keyboards/charue/sunsetter_r2/info.json
+++ b/keyboards/charue/sunsetter_r2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sunsetter_r2",
+ "keyboard_name": "Sunsetter R2",
+ "manufacturer": "Charue Design",
"url": "https://charue-design.com/collections/sunsetter",
"maintainer": "ILWrites",
+ "usb": {
+ "vid": "0x4344",
+ "pid": "0x5335",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c
index bee4854f46..61dbc54e95 100644
--- a/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c
+++ b/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
),
[_FN] = LAYOUT_all(
- KC_F11, KC_F12, RESET, 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_VOLU,
+ KC_F11, KC_F12, QK_BOOT, 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_VOLU,
KC_F13, KC_F14, 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_VOLD,
KC_F15, KC_F16, 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_MUTE,
KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
diff --git a/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk b/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk
new file mode 100644
index 0000000000..15b7f725b2
--- /dev/null
+++ b/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk
@@ -0,0 +1 @@
+CONSOLE_ENABLE = yes
diff --git a/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
index f50d8ea822..6fadba5f72 100644
--- a/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
+++ b/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTRL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
),
[_FN] = LAYOUT_all(
- KC_F11, KC_F12, RESET, 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_VOLU,
+ KC_F11, KC_F12, QK_BOOT, 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_VOLU,
KC_F13, KC_F14, 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_VOLD,
KC_F15, KC_F16, 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_MUTE,
KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
diff --git a/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c
index cb84247e42..6a805426ca 100644
--- a/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c
+++ b/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTRL, KC_LGUI, KC_LALT, MO(_FN0), KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
),
[_FN0] = LAYOUT_all(
- KC_F11, KC_F12, RESET, 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_VOLU,
+ KC_F11, KC_F12, QK_BOOT, 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_VOLU,
KC_F13, KC_F14, 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_VOLD,
KC_F15, KC_F16, 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_MUTE,
KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
diff --git a/keyboards/charue/sunsetter_r2/readme.md b/keyboards/charue/sunsetter_r2/readme.md
index 8bfa046a93..d5e34beec9 100644
--- a/keyboards/charue/sunsetter_r2/readme.md
+++ b/keyboards/charue/sunsetter_r2/readme.md
@@ -28,4 +28,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/charue/sunsetter_r2/rules.mk b/keyboards/charue/sunsetter_r2/rules.mk
index 0edc71f6e9..3ff392a61f 100644
--- a/keyboards/charue/sunsetter_r2/rules.mk
+++ b/keyboards/charue/sunsetter_r2/rules.mk
@@ -10,9 +10,9 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
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
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/charue/sunsetter_r2/sunsetter_r2.h b/keyboards/charue/sunsetter_r2/sunsetter_r2.h
index 42536fd28f..628b41a943 100644
--- a/keyboards/charue/sunsetter_r2/sunsetter_r2.h
+++ b/keyboards/charue/sunsetter_r2/sunsetter_r2.h
@@ -10,11 +10,11 @@
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k2f, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k3f, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3g, k4g, \
- k40, k41, k42, k43, k44, k45, k48, k4a, k4c, k4d, k4e, k4f \
+ k40, k41, k42, k43, k44, k45, k47, k4a, k4c, k4d, k4e, k4f \
) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, KC_NO }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g }, \
- { k40, k41, k42, k43, k44, k45, KC_NO, KC_NO, k48, KC_NO, k4a, KC_NO, k4c, k4d, k4e, k4f, k4g } \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, KC_NO }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g }, \
+ { k40, k41, k42, k43, k44, k45, KC_NO, k47, KC_NO, KC_NO, k4a, KC_NO, k4c, k4d, k4e, k4f, k4g } \
}
diff --git a/keyboards/chavdai40/info.json b/keyboards/chavdai40/info.json
index 9c95d21239..36b8511bf1 100644
--- a/keyboards/chavdai40/info.json
+++ b/keyboards/chavdai40/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "chavdai40",
+ "manufacturer": "t-miyajima",
"url": "https://github.com/dvorak55/chavdai40",
"maintainer": "t-miyajima",
+ "usb": {
+ "vid": "0x16D0",
+ "pid": "0x0F95"
+ },
"layouts": {
"LAYOUT_44key": {
"layout": [
diff --git a/keyboards/chavdai40/rev1/config.h b/keyboards/chavdai40/rev1/config.h
index 5ce1111bae..c03bab0b57 100644
--- a/keyboards/chavdai40/rev1/config.h
+++ b/keyboards/chavdai40/rev1/config.h
@@ -21,13 +21,6 @@
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16D0
-#define PRODUCT_ID 0x0F95
-#define DEVICE_VER 0x0001
-#define MANUFACTURER t-miyajima
-#define PRODUCT Chavdai40
-
/* usb power settings */
#define USB_MAX_POWER_CONSUMPTION 100
@@ -38,7 +31,6 @@
#define MATRIX_ROW_PINS { A0, A15, B5, B6 }
#define MATRIX_COL_PINS { B8, B4, B3, B2, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/chavdai40/rev1/info.json b/keyboards/chavdai40/rev1/info.json
new file mode 100644
index 0000000000..c69c0e3460
--- /dev/null
+++ b/keyboards/chavdai40/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Chavdai40",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/chavdai40/rev2/config.h b/keyboards/chavdai40/rev2/config.h
index e45d2b2db1..1d72c5dc79 100644
--- a/keyboards/chavdai40/rev2/config.h
+++ b/keyboards/chavdai40/rev2/config.h
@@ -21,13 +21,6 @@
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16D0
-#define PRODUCT_ID 0x0F95
-#define DEVICE_VER 0x0002
-#define MANUFACTURER t-miyajima
-#define PRODUCT Chavdai40 rev2
-
/* usb power settings */
#define USB_MAX_POWER_CONSUMPTION 100
@@ -38,7 +31,6 @@
#define MATRIX_ROW_PINS { A0, A15, B5, B6 }
#define MATRIX_COL_PINS { B7, B4, B3, A8, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/chavdai40/rev2/info.json b/keyboards/chavdai40/rev2/info.json
new file mode 100644
index 0000000000..458bcacf38
--- /dev/null
+++ b/keyboards/chavdai40/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Chavdai40 rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/checkerboards/axon40/config.h b/keyboards/checkerboards/axon40/config.h
index f2deb4ad83..920206e565 100644
--- a/keyboards/checkerboards/axon40/config.h
+++ b/keyboards/checkerboards/axon40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x1119
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT Axon40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS { D2, D3, D1, D5 }
#define MATRIX_COL_PINS { C7, B7, D4, D6, F0, F1, C6, B6, B5, B4, E6, B0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -53,4 +45,3 @@
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 290
diff --git a/keyboards/checkerboards/axon40/info.json b/keyboards/checkerboards/axon40/info.json
index 6f4dfb4c9f..780f0e2bed 100644
--- a/keyboards/checkerboards/axon40/info.json
+++ b/keyboards/checkerboards/axon40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Axon40",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x1119",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":1, "y":3}, {"x":2, "y":3, "w":1.5}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"x":8.5, "y":3, "w":1.5}, {"x":10, "y":3}]
diff --git a/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c b/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c
index f8fed200e8..b63e63595c 100644
--- a/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c
+++ b/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, \
RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, \
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, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \
+ QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \
),
};
diff --git a/keyboards/checkerboards/candybar_ortho/config.h b/keyboards/checkerboards/candybar_ortho/config.h
index df83da61df..fb0d209fdd 100644
--- a/keyboards/checkerboards/candybar_ortho/config.h
+++ b/keyboards/checkerboards/candybar_ortho/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x3215
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT CandyBar Ortho
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 9
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS { B4, D4, D7, D6, B5, B6, C7, C6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D0, D1, D2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/candybar_ortho/info.json b/keyboards/checkerboards/candybar_ortho/info.json
index 0044f154da..96fd73bbe3 100644
--- a/keyboards/checkerboards/candybar_ortho/info.json
+++ b/keyboards/checkerboards/candybar_ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CandyBar_Ortho",
+ "keyboard_name": "CandyBar Ortho",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x3215",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_grid": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"label":"Y", "x":11, "y":0}, {"label":"U", "x":12, "y":0}, {"label":"I", "x":13, "y":0}, {"label":"O", "x":14, "y":0}, {"label":"P", "x":15, "y":0}, {"label":"Back Space", "x":16, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"x":10, "y":1}, {"label":"H", "x":11, "y":1}, {"label":"J", "x":12, "y":1}, {"label":"K", "x":13, "y":1}, {"label":"L", "x":14, "y":1}, {"label":";", "x":15, "y":1}, {"label":"'", "x":16, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":",", "x":13, "y":2}, {"label":".", "x":14, "y":2}, {"label":"/", "x":15, "y":2}, {"label":"Return", "x":16, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"8", "x":7, "y":3}, {"x":8, "y":3}, {"label":"10", "x":9, "y":3}, {"label":"11", "x":10, "y":3}, {"label":"12", "x":11, "y":3}, {"label":"&uArr;", "x":12, "y":3}, {"label":"&larr;", "x":13, "y":3}, {"label":"15", "x":14, "y":3}, {"label":"&uarr;", "x":15, "y":3}, {"label":"&rarr;", "x":16, "y":3}]
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
index 615257c882..2416b443f4 100644
--- a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
+++ b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
@@ -71,13 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | F1 | F2 | F3 | F4 | F5 | | | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |RESET | RTOG | | | | | | | | | | RMOD |RRMOD |
+ * |QK_BOOT | RTOG | | | | | | | | | | RMOD |RRMOD |
* '----------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x3u(
RGB_HUI, RGB_SAI, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
RGB_HUD, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
_______, _______, 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, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
),
};
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
index e76ffa1c3c..3a5e856561 100644
--- a/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
@@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* | LCTRL| LOS | LALT | / | ` | Spac(Lay2) | = | RALT |RCTRL | Caps |RESET |
+* | LCTRL| LOS | LALT | / | ` | Spac(Lay2) | = | RALT |RCTRL | Caps |QK_BOOT |
* '----------------------------------------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_7u(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, 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_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, LT(2, KC_SPC), KC_EQL, KC_RALT, KC_RCTRL, KC_CAPS, RESET
+ KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, LT(2, KC_SPC), KC_EQL, KC_RALT, KC_RCTRL, KC_CAPS, QK_BOOT
),
/* 1
@@ -71,13 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* |RESET | RTOG | | | | | | | | RMOD |RRMOD |
+* |QK_BOOT | RTOG | | | | | | | | RMOD |RRMOD |
* '----------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_7u(
RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
_______, 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, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
),
};
diff --git a/keyboards/checkerboards/g_idb60/config.h b/keyboards/checkerboards/g_idb60/config.h
index 996097d5a8..4f8c1e650f 100644
--- a/keyboards/checkerboards/g_idb60/config.h
+++ b/keyboards/checkerboards/g_idb60/config.h
@@ -19,13 +19,6 @@ Copyright 2021 Nathan Spears
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x3508
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT G_IDB60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ Copyright 2021 Nathan Spears
/* key matrix pins */
#define MATRIX_ROW_PINS { D6, D7, B4, B5, F7 }
#define MATRIX_COL_PINS { B6, C6, C7, D4, F6, F0, B0, F1, F4, F5, D1, D0, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/g_idb60/info.json b/keyboards/checkerboards/g_idb60/info.json
index a410350ef8..81f7081aba 100644
--- a/keyboards/checkerboards/g_idb60/info.json
+++ b/keyboards/checkerboards/g_idb60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "g_idb60",
+ "keyboard_name": "G_IDB60",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x3508",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"~", "x":13, "y":0}, {"label":"Bksp", "x":14, "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":"Caps Lock", "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":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h
index 784594df7c..9cd70c1d7d 100644
--- a/keyboards/checkerboards/nop60/config.h
+++ b/keyboards/checkerboards/nop60/config.h
@@ -19,13 +19,6 @@ Copyright 2021 Nathan Spears
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x1416
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT NOP60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ Copyright 2021 Nathan Spears
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, E6, B7, C6 }
#define MATRIX_COL_PINS { F6, F5, F4, D0, D7, D3, D4, D5, D6, F7, C7, B4, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/nop60/info.json b/keyboards/checkerboards/nop60/info.json
index 18b0bb25c2..4e88eece96 100644
--- a/keyboards/checkerboards/nop60/info.json
+++ b/keyboards/checkerboards/nop60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "nop60",
- "maintainer": "nasp",
+ "keyboard_name": "NOP60",
+ "manufacturer": "Nasp",
"url": "",
+ "maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x1416",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_2x3u": "LAYOUT_60_tsangan_hhkb_split_space",
"LAYOUT_7u": "LAYOUT_60_tsangan_hhkb"
diff --git a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
index 61bca2616d..d7394e8bf6 100644
--- a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------|
* |BINC |BDEC|BTOG| | | | | | | | | | | |
* |------------------------------------------------------------------------------|
- * | | | | | | |RESET |
+ * | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
[1] = LAYOUT_60_tsangan_hhkb(
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, QK_BOOT
),
/* Main Numbers, Symbols & Function Layer
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------|
* |BINC |BDEC|BTOG| | | | | | | | | | | |
* |------------------------------------------------------------------------------|
- * | | | | | | |RESET |
+ * | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
[2] = LAYOUT_60_tsangan_hhkb(
@@ -80,6 +80,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/checkerboards/phoenix45_ortho/config.h b/keyboards/checkerboards/phoenix45_ortho/config.h
index ebd954be33..a7d1a9a1d5 100644
--- a/keyboards/checkerboards/phoenix45_ortho/config.h
+++ b/keyboards/checkerboards/phoenix45_ortho/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x1849
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT PHOENIX45_ORTHO
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, D1, D0, C4 }
#define MATRIX_COL_PINS { D3, C2, C5, B0, D6, D5, D4, B4, B5, B6, B7, C7, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/phoenix45_ortho/info.json b/keyboards/checkerboards/phoenix45_ortho/info.json
index e64e67abbf..76a8a9b16d 100644
--- a/keyboards/checkerboards/phoenix45_ortho/info.json
+++ b/keyboards/checkerboards/phoenix45_ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Phoenix45_Ortho",
+ "keyboard_name": "Phoenix45 Ortho",
+ "manufacturer": "Nasp",
"url": "www.checkerboards.xyz",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x1849",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x225u": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"x":11, "y":1}, {"label":"'", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"x":11, "y":2}, {"label":"Return", "x":12, "y":2}, {"label":"Hyper", "x":0, "y":3, "w":1.25}, {"label":"Super", "x":1.25, "y":3}, {"label":"Meta", "x":2.25, "y":3, "w":1.5}, {"x":3.75, "y":3, "w":2.25}, {"label":"Fn", "x":6, "y":3}, {"x":7, "y":3, "w":2.25}, {"label":"Meta", "x":9.25, "y":3, "w":1.5}, {"label":"Super", "x":10.75, "y":3}, {"label":"Hyper", "x":11.75, "y":3, "w":1.25}]
diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/2x3u/keymap.c b/keyboards/checkerboards/phoenix45_ortho/keymaps/2x3u/keymap.c
index d72c7fecc1..81ccfcdffc 100644
--- a/keyboards/checkerboards/phoenix45_ortho/keymaps/2x3u/keymap.c
+++ b/keyboards/checkerboards/phoenix45_ortho/keymaps/2x3u/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/6u/keymap.c b/keyboards/checkerboards/phoenix45_ortho/keymaps/6u/keymap.c
index 53bc6a3286..d431b363e9 100644
--- a/keyboards/checkerboards/phoenix45_ortho/keymaps/6u/keymap.c
+++ b/keyboards/checkerboards/phoenix45_ortho/keymaps/6u/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/plexus75/config.h b/keyboards/checkerboards/plexus75/config.h
index f4d84d9d57..3cee0be178 100644
--- a/keyboards/checkerboards/plexus75/config.h
+++ b/keyboards/checkerboards/plexus75/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5338
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nasp
-#define PRODUCT Plexus75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D2, B3, B1, F1, F0 }
#define MATRIX_COL_PINS { B2, B0, D1, F7, F6, F5, F4, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/plexus75/info.json b/keyboards/checkerboards/plexus75/info.json
index cb0cb6e295..b25f7f2535 100644
--- a/keyboards/checkerboards/plexus75/info.json
+++ b/keyboards/checkerboards/plexus75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Plexus75",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "npspears",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5338",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_2x2u": {
"layout": [{"label":"=", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"[", "x":6, "y":0}, {"label":"]", "x":7, "y":0}, {"label":"`", "x":8, "y":0}, {"label":"6", "x":9, "y":0}, {"label":"7", "x":10, "y":0}, {"label":"8", "x":11, "y":0}, {"label":"9", "x":12, "y":0}, {"label":"9", "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":"7", "x":6, "y":1}, {"label":"8", "x":7, "y":1}, {"label":"9", "x":8, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"Back Space", "x":14, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"4", "x":6, "y":2}, {"label":"5", "x":7, "y":2}, {"label":"6", "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":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"1", "x":6, "y":3}, {"label":"2", "x":7, "y":3}, {"label":"3", "x":8, "y":3}, {"label":"N", "x":9, "y":3}, {"label":"M", "x":10, "y":3}, {"label":",", "x":11, "y":3}, {"label":".", "x":12, "y":3}, {"label":"/", "x":13, "y":3}, {"label":"Return", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"OS", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4}, {"x":5, "y":4, "w":2}, {"x":7, "y":4}, {"x":8, "y":4, "w":2}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"OS", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/checkerboards/plexus75_he/config.h b/keyboards/checkerboards/plexus75_he/config.h
index 62e177684c..096c2e4f0c 100644
--- a/keyboards/checkerboards/plexus75_he/config.h
+++ b/keyboards/checkerboards/plexus75_he/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5339
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT Plexus75_HE
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C2, D0, D1, D2, D6, B0, B3, B2, C6, B1 }
#define MATRIX_COL_PINS { C4, C5, D3, C7, B7, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/plexus75_he/info.json b/keyboards/checkerboards/plexus75_he/info.json
index d19e58d8ca..d4e64f0a7a 100644
--- a/keyboards/checkerboards/plexus75_he/info.json
+++ b/keyboards/checkerboards/plexus75_he/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Plexus75_he",
+ "keyboard_name": "Plexus75 HE",
+ "manufacturer": "Nasp",
"url": "https://www.github.com/qmk/qmk_firmware/tree/master/keyboards/checkerboards/plexus75_he",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5339",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_2x3u": {
"layout": [{"label":"=", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"[", "x":6, "y":0}, {"label":"]", "x":7, "y":0}, {"label":"`", "x":8, "y":0}, {"label":"6", "x":9, "y":0}, {"label":"7", "x":10, "y":0}, {"label":"8", "x":11, "y":0}, {"label":"9", "x":12, "y":0}, {"label":"9", "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":"7", "x":6, "y":1}, {"label":"8", "x":7, "y":1}, {"label":"9", "x":8, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"Back Space", "x":14, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"4", "x":6, "y":2}, {"label":"5", "x":7, "y":2}, {"label":"6", "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":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"1", "x":6, "y":3}, {"label":"2", "x":7, "y":3}, {"label":"3", "x":8, "y":3}, {"label":"N", "x":9, "y":3}, {"label":"M", "x":10, "y":3}, {"label":",", "x":11, "y":3}, {"label":".", "x":12, "y":3}, {"label":"/", "x":13, "y":3}, {"label":"Return", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"OS", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":3}, {"x":7, "y":4}, {"x":8, "y":4, "w":3}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"OS", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
index a851edd29a..4fc0ba925a 100644
--- a/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
+++ b/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
@@ -50,19 +50,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
* | | | MENU | | | | | | | | | | PRT SC | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | | | | | | | | | | | | | | RESET | |
+ * | | | | | | | | | | | | | | QK_BOOT | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | RESET | RESET | | | | | | | | | |
+ * | QK_BOOT | QK_BOOT | | | | | | | | | |
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[1] = LAYOUT_2x2u(
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_F13, KC_DEL,
_______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* 2nd Function Layer
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | RESET | RESET | | | | | | | | | |
+ * | QK_BOOT | QK_BOOT | | | | | | | | | |
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x2u(
@@ -83,6 +83,6 @@ 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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- RESET, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/7u/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/7u/keymap.c
index 4dee2683b1..d47d354c09 100644
--- a/keyboards/checkerboards/plexus75_he/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/plexus75_he/keymaps/7u/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
* | | | MENU | | | | | | | | | | PRT SC | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | | | | | | | | | | | | | | RESET | |
+ * | | | | | | | | | | | | | | QK_BOOT | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
* | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_7u(
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_F13, KC_DEL,
_______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c
index eb205a3787..5cb662d38b 100644
--- a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c
+++ b/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_2x3u(
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_F13, KC_DEL,
_______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/checkerboards/pursuit40/config.h b/keyboards/checkerboards/pursuit40/config.h
index 53b1ef90a5..e794580789 100644
--- a/keyboards/checkerboards/pursuit40/config.h
+++ b/keyboards/checkerboards/pursuit40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x1620
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT PURSUIT40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, D1, F4, F5 }
#define MATRIX_COL_PINS { F1, E6, B7, D5, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/pursuit40/info.json b/keyboards/checkerboards/pursuit40/info.json
index 42b2377526..c37285cfb9 100644
--- a/keyboards/checkerboards/pursuit40/info.json
+++ b/keyboards/checkerboards/pursuit40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pursuit40",
+ "manufacturer": "Nasp",
"url": "https://panc.co/store/ols/products/panc40-keyboard",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x1620",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.5}, {"x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2}, {"x":6, "y":3, "w":2}, {"x":8, "y":3, "w":1.25}, {"x":9.25, "y":3, "w":1.5}, {"x":10.75, "y":3, "w":1.25}]
diff --git a/keyboards/checkerboards/quark/config.h b/keyboards/checkerboards/quark/config.h
index d0ecf3bde8..295629f885 100644
--- a/keyboards/checkerboards/quark/config.h
+++ b/keyboards/checkerboards/quark/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5340
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT QUARK
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C5, C4, C6, C7, B7 }
#define MATRIX_COL_PINS { B4, B5, B6, B3, C2, B2, D6, D2, D3, D4, D5, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -46,22 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/*
- * 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
-
// ws2812 options
#define RGB_DI_PIN D0 // pin the DI on the ws2812 is hooked-up to
#define RGBLIGHT_ANIMATIONS // run RGB animations
@@ -69,3 +45,8 @@
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
+
+// rotary encoder parameters
+#define ENCODERS_PAD_A { B0 }
+#define ENCODERS_PAD_B { D1 }
+#define ENCODER_RESOLUTION 4
diff --git a/keyboards/checkerboards/quark/info.json b/keyboards/checkerboards/quark/info.json
index 3a64c01280..d3a571d627 100644
--- a/keyboards/checkerboards/quark/info.json
+++ b/keyboards/checkerboards/quark/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "QUARK",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5340",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12_2x225u": {
"layout": [
@@ -121,6 +127,63 @@
{"x": 10.5, "y": 4, "w": 1.5}
]
},
+ "LAYOUT_ortho_5x12_7u": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":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":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "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":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "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":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":7},
+ {"x":9.5, "y":4, "w":1.25},
+ {"x":10.75, "y":4, "w":1.25}
+ ]
+ },
"LAYOUT_ortho_4x12": {
"layout": [
{"x": 0, "y": 0},
diff --git a/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c b/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c
index 273fbc536f..2e3d9742b1 100644
--- a/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c
+++ b/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- M_CUSTOM, RESET, QWERTY, BL_ON, BL_OFF, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
+ M_CUSTOM, QK_BOOT, QWERTY, BL_ON, BL_OFF, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, QWERTY ,
TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, COLEMAK ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/checkerboards/quark/keymaps/default_5x12_7u/config.h b/keyboards/checkerboards/quark/keymaps/default_5x12_7u/config.h
new file mode 100644
index 0000000000..c6f30237d1
--- /dev/null
+++ b/keyboards/checkerboards/quark/keymaps/default_5x12_7u/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2020 Nathan Spears
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark/keymaps/default_5x12_7u/keymap.c b/keyboards/checkerboards/quark/keymaps/default_5x12_7u/keymap.c
new file mode 100644
index 0000000000..e5797a4e9e
--- /dev/null
+++ b/keyboards/checkerboards/quark/keymaps/default_5x12_7u/keymap.c
@@ -0,0 +1,86 @@
+/* Copyright 2020 Nathan Spears
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines for task manager and such
+#define CALTDEL LCTL(LALT(KC_DEL))
+#define TSKMGR LCTL(LSFT(KC_ESC))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* [0]
+ * ,-----------------------------------------------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
+ * |------------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
+ * | OS | Alt | Space & Layer | Caps | Layer 2 |
+ * `-----------------------------------------------------------------------------------------'
+ */
+ [0] = LAYOUT_ortho_5x12_7u(
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_CAPS, TT(2)
+ ),
+
+ /* [1]
+ * ,---------------------------------------------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
+ * |------------+------+------+------+------+------+------+------+------+------+------+----|
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
+ * |------------+------+------+------+------+-------------+------+------+------+------+----|
+ * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------------+------+------+------+------+------|------+------+------+------+------+----|
+ * | | | | | | | | + | = | | | |
+ * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
+ * | ESC | CTRL-ALT-DEL | | | '|' | ` |
+ * `---------------------------------------------------------------------------------------'
+ */
+ [1] = LAYOUT_ortho_5x12_7u(
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______,
+ KC_ESC, CALTDEL, _______, KC_NUBS, KC_GRV
+ ),
+
+ /* [2]
+ * ,---------------------------------------------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
+ * |------------+------+------+------+------+------+------+------+------+------+------+---|
+ * | | | | UP | | | | _ | | [ | ] | |
+ * |------------+------+------+------+------+-------------+------+------+------+------+---|
+ * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
+ * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
+ * | QK_BOOT | | | | | |
+ * `---------------------------------------------------------------------------------------'
+ */
+ [2] = LAYOUT_ortho_5x12_7u(
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ QK_BOOT, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
index 194fb7cfc4..528bc2cc00 100644
--- a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
+++ b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/checkerboards/quark/keymaps/via/keymap.c b/keyboards/checkerboards/quark/keymaps/via/keymap.c
index 01e916bfe4..f8a5c215f1 100644
--- a/keyboards/checkerboards/quark/keymaps/via/keymap.c
+++ b/keyboards/checkerboards/quark/keymaps/via/keymap.c
@@ -84,3 +84,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, _______, _______, _______, _______, _______, _______, _______
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
diff --git a/keyboards/checkerboards/quark/keymaps/via/rules.mk b/keyboards/checkerboards/quark/keymaps/via/rules.mk
index 1e5b99807c..f1adcab005 100644
--- a/keyboards/checkerboards/quark/keymaps/via/rules.mk
+++ b/keyboards/checkerboards/quark/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/checkerboards/quark/quark.c b/keyboards/checkerboards/quark/quark.c
index 02610c4203..736b955424 100644
--- a/keyboards/checkerboards/quark/quark.c
+++ b/keyboards/checkerboards/quark/quark.c
@@ -15,3 +15,15 @@
*/
#include "quark.h"
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLD, 10);
+ } else {
+ tap_code_delay(KC_VOLU, 10);
+ }
+ }
+ return true;
+}
diff --git a/keyboards/checkerboards/quark/quark.h b/keyboards/checkerboards/quark/quark.h
index e1af96eb76..be2cc3f932 100644
--- a/keyboards/checkerboards/quark/quark.h
+++ b/keyboards/checkerboards/quark/quark.h
@@ -39,13 +39,27 @@
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, k36, k37, k38, k39, k3A, k3B, \
- k40, k41, k43, k48, k4A, k4B \
+ k40, k41, k44, k47, k4A, k4B \
) { \
{ 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, k36, k37, k38, k39, k3A, k3B }, \
- { k40, k41, XXX, XXX, k43, XXX, XXX, k48, XXX, XXX, k4A, k4B } \
+ { k40, k41, XXX, XXX, k44, XXX, XXX, k47, XXX, XXX, k4A, k4B } \
+}
+
+#define LAYOUT_ortho_5x12_7u( \
+ 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, k36, k37, k38, k39, k3A, k3B, \
+ k40, k41, k44, k4A, k4B \
+) { \
+ { 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, k36, k37, k38, k39, k3A, k3B }, \
+ { k40, k41, XXX, XXX, k44, XXX, XXX, XXX, XXX, XXX, k4A, k4B } \
}
#define LAYOUT_ortho_4x12( \
diff --git a/keyboards/checkerboards/quark/rules.mk b/keyboards/checkerboards/quark/rules.mk
index f56c1ed29e..a161eb06d3 100644
--- a/keyboards/checkerboards/quark/rules.mk
+++ b/keyboards/checkerboards/quark/rules.mk
@@ -17,9 +17,11 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = yes # Unicode
+ENCODER_ENABLE = yes # Enable Rotary Encoders
-LAYOUTS = ortho_4x12 planck_mit
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
+
+LAYOUTS = ortho_4x12 planck_mit
diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h
index be1cd62268..b4664ec5c2 100644
--- a/keyboards/checkerboards/quark_lp/config.h
+++ b/keyboards/checkerboards/quark_lp/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5354
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT QUARK_LP
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C5, C4, C6, C7 }
#define MATRIX_COL_PINS { B6, B5, B4, B3, B0, D6, D5, D4, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json
index 4568a4cfad..74e7439bcf 100644
--- a/keyboards/checkerboards/quark_lp/info.json
+++ b/keyboards/checkerboards/quark_lp/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quark_LP",
+ "keyboard_name": "Quark LP",
+ "manufacturer": "Nasp",
"url": "https://github.com/npspears",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5354",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"&uArr;", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
diff --git a/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c
index 8c09b3a58e..fd8374634b 100644
--- a/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c
+++ b/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_ortho_4x12_2x2u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c
index f747f4f26b..338af5ea9e 100644
--- a/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c
+++ b/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_ortho_4x12_1x2uC(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/quark_plus/config.h b/keyboards/checkerboards/quark_plus/config.h
index a2d2dc230c..919df92e6d 100644
--- a/keyboards/checkerboards/quark_plus/config.h
+++ b/keyboards/checkerboards/quark_plus/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5344
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT QUARK_PlUS
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B1, C2, D0, D6, B0, B6, B5 }
#define MATRIX_COL_PINS { C6, D1, D5, D4, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/quark_plus/info.json b/keyboards/checkerboards/quark_plus/info.json
index b5a111ce8e..b6647dfcef 100644
--- a/keyboards/checkerboards/quark_plus/info.json
+++ b/keyboards/checkerboards/quark_plus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quark_Plus",
+ "keyboard_name": "Quark Plus",
+ "manufacturer": "Nasp",
"url": "https://www.github.com/qmk/qmk_firmware/tree/master/keyboards/checkerboards/quark_plus",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5344",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_grid": {
"layout":
diff --git a/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c
index b62e60370e..dbd99bf3ee 100644
--- a/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c
+++ b/keyboards/checkerboards/quark_plus/keymaps/2u/keymap.c
@@ -70,13 +70,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * |RESET | | | | | | | | | | |
+ * |QK_BOOT | | | | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c
index f490f76f9f..8ded461d5a 100644
--- a/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c
+++ b/keyboards/checkerboards/quark_plus/keymaps/2x225u/keymap.c
@@ -70,13 +70,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x225u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c
index ea65b98cd9..c13c32ca76 100644
--- a/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c
+++ b/keyboards/checkerboards/quark_plus/keymaps/2x3u/keymap.c
@@ -70,13 +70,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
-* | RESET | | | | | | | |
+* | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x3u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/checkerboards/quark_plus/quark_plus.c b/keyboards/checkerboards/quark_plus/quark_plus.c
index 036d3a96c5..0c0ae0cf4e 100644
--- a/keyboards/checkerboards/quark_plus/quark_plus.c
+++ b/keyboards/checkerboards/quark_plus/quark_plus.c
@@ -17,7 +17,7 @@
#include "quark_plus.h"
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_kb(index, clockwise)) { return false; }
+ if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 1) { /* left encoder*/
if (clockwise){
tap_code(KC_WH_U);
diff --git a/keyboards/checkerboards/quark_squared/config.h b/keyboards/checkerboards/quark_squared/config.h
index 32546097f1..d9af2af4b3 100644
--- a/keyboards/checkerboards/quark_squared/config.h
+++ b/keyboards/checkerboards/quark_squared/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x5342
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT QUARK²
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C5, C4, C6, C7, B7 }
#define MATRIX_COL_PINS { B4, B5, B6, B3, C2, B2, D6, D2, D3, D4, D5, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -53,3 +45,7 @@
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
+
+/* define rotary encoder pins */
+#define ENCODERS_PAD_A {B0}
+#define ENCODERS_PAD_B {D1}
diff --git a/keyboards/checkerboards/quark_squared/info.json b/keyboards/checkerboards/quark_squared/info.json
index 4d2ce21298..a7188c27e6 100644
--- a/keyboards/checkerboards/quark_squared/info.json
+++ b/keyboards/checkerboards/quark_squared/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quark_Squared",
+ "keyboard_name": "Quark Squared",
+ "manufacturer": "Nasp",
"url": "https://www.checkerboards.xyz/Quark2_p_35.html",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x5342",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_4_2x225u": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Super", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Super", "x":9.5, "y":3, "w":1.25}, {"label":"Ctrl", "x":10.75, "y":3, "w":1.25}]
diff --git a/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c
index 0f37a1d080..8af07a13ef 100644
--- a/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c
+++ b/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_4_2u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/quark_squared/keymaps/5_2u/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/5_2u/keymap.c
index d7f7ff378d..e81759c5fe 100644
--- a/keyboards/checkerboards/quark_squared/keymaps/5_2u/keymap.c
+++ b/keyboards/checkerboards/quark_squared/keymaps/5_2u/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | |
+ * | QK_BOOT | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_5_2u(
@@ -81,6 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/quark_squared/keymaps/5_2x225u/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/5_2x225u/keymap.c
index e116732b75..1d39ae9943 100644
--- a/keyboards/checkerboards/quark_squared/keymaps/5_2x225u/keymap.c
+++ b/keyboards/checkerboards/quark_squared/keymaps/5_2x225u/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | |
+ * | QK_BOOT | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_5_2x225u(
@@ -81,6 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/quark_squared/quark_squared.c b/keyboards/checkerboards/quark_squared/quark_squared.c
index fbd7346cc0..1ead754eaf 100644
--- a/keyboards/checkerboards/quark_squared/quark_squared.c
+++ b/keyboards/checkerboards/quark_squared/quark_squared.c
@@ -15,3 +15,15 @@
*/
#include "quark_squared.h"
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLD, 10);
+ } else {
+ tap_code_delay(KC_VOLU, 10);
+ }
+ }
+ return true;
+}
diff --git a/keyboards/checkerboards/quark_squared/rules.mk b/keyboards/checkerboards/quark_squared/rules.mk
index d511396436..df6bcc2d31 100644
--- a/keyboards/checkerboards/quark_squared/rules.mk
+++ b/keyboards/checkerboards/quark_squared/rules.mk
@@ -17,7 +17,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = yes # Unicode
-
+ENCODER_ENABLE = yes # Enable Rotary Encoders
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
diff --git a/keyboards/checkerboards/snop60/config.h b/keyboards/checkerboards/snop60/config.h
index d18e35744f..f084870939 100644
--- a/keyboards/checkerboards/snop60/config.h
+++ b/keyboards/checkerboards/snop60/config.h
@@ -19,13 +19,6 @@ Copyright 2022 Nathan Spears
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x2416
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT SNOP60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ Copyright 2022 Nathan Spears
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, D0, D6, B4, B5 }
#define MATRIX_COL_PINS { B6, C6, C7, D5, F7, F6, F5, F4, F1, F0, B0, E6, D4, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/snop60/info.json b/keyboards/checkerboards/snop60/info.json
index 665aa82111..8d3d9e0358 100644
--- a/keyboards/checkerboards/snop60/info.json
+++ b/keyboards/checkerboards/snop60/info.json
@@ -1,11 +1,17 @@
{
- "keyboard_name": "snop60",
+ "keyboard_name": "SNOP60",
+ "manufacturer": "Nasp",
"url": "www.checkerboards.xyz",
+ "maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x2416",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_7u": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
"LAYOUT_2x3u": "LAYOUT_60_ansi_tsangan_split_bs_rshift_space"
},
- "maintainer": "nasp",
"layouts": {
"LAYOUT_60_ansi_tsangan_split_bs_rshift_space": {
"layout": [
diff --git a/keyboards/checkerboards/snop60/keymaps/7u/keymap.c b/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
index eeb085f5fc..ced523a4b0 100644
--- a/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------|
* |BINC |BDEC|BTOG| | | | | | | | | | | |
* |------------------------------------------------------------------------------|
- * | | | | | | |RESET |
+ * | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------|
* |BINC |BDEC|BTOG| | | | | | | | | | | |
* |------------------------------------------------------------------------------|
- * | | | | | | |RESET |
+ * | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
diff --git a/keyboards/checkerboards/snop60/keymaps/default/keymap.c b/keyboards/checkerboards/snop60/keymaps/default/keymap.c
index 8eb33931dc..7ea2db0d46 100644
--- a/keyboards/checkerboards/snop60/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/snop60/keymaps/default/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------|
* |BINC |BDEC|BTOG| | | | | | | | | | | |
* |------------------------------------------------------------------------------|
- * | | | | | | | | |RESET |
+ * | | | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
diff --git a/keyboards/checkerboards/ud40_ortho_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/config.h
index 0595b41acf..9ba1df7d8a 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/config.h
+++ b/keyboards/checkerboards/ud40_ortho_alt/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7070
-#define PRODUCT_ID 0x7030
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nasp
-#define PRODUCT UD40_Ortho_Alt
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, F0, F1, F4 }
#define MATRIX_COL_PINS { B2, B1, F7, D6, D7, B4, B5, B6, C6, C7, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/checkerboards/ud40_ortho_alt/info.json b/keyboards/checkerboards/ud40_ortho_alt/info.json
index 7236497d96..8ddf466681 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/info.json
+++ b/keyboards/checkerboards/ud40_ortho_alt/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UD40_Ortho_Alt",
+ "manufacturer": "Nasp",
"url": "",
"maintainer": "nasp",
+ "usb": {
+ "vid": "0x7070",
+ "pid": "0x7030",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.25}, {"x":8.25, "y":3, "w":1.25}, {"x":9.5, "y":3, "w":1.25}, {"x":10.75, "y":3, "w":1.25}]
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c
index 92216ed03f..840955b9d3 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c
@@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
+ * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
* `-----------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_2x3u_alt(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RESET, KC_LALT, TT(1), LT(2, KC_SPC), KC_LGUI, KC_CAPS
+ QK_BOOT, KC_LALT, TT(1), LT(2, KC_SPC), KC_LGUI, KC_CAPS
),
/* [1]
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x3u_alt(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
index 74bbd2918f..7ba92f40c2 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
@@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
+ * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
* `-----------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_600u(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RESET, RGB_TOG, KC_LALT, LT(2, KC_SPC), TT(1), KC_LGUI, KC_CAPS
+ QK_BOOT, RGB_TOG, KC_LALT, LT(2, KC_SPC), TT(1), KC_LGUI, KC_CAPS
),
/* [1]
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_600u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c
index 76c8b06cc4..91b7c59a07 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c
@@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
+ * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
* `-----------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_600u_alt(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RESET, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI
+ QK_BOOT, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI
),
/* [1]
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_600u_alt(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c
index 37f46f72e3..786c700adb 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c
@@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
+ * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
* `-----------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_700u(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RESET, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI
+ QK_BOOT, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI
),
/* [1]
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_700u(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______
)
};
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c
index 59579383a5..c21cdc7661 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c
@@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
+ * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
* `-----------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_default(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RESET, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
+ QK_BOOT, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
),
/* [1]
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | RESET | | | | | | | |
+ * | QK_BOOT | | | | | | | |
* `---------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_default(
_______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
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, _______, _______, _______, _______, _______, _______
+ QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/cherrybstudio/cb1800/config.h b/keyboards/cherrybstudio/cb1800/config.h
index a9932fe735..7c10378e97 100644
--- a/keyboards/cherrybstudio/cb1800/config.h
+++ b/keyboards/cherrybstudio/cb1800/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4342 // CB
-#define PRODUCT_ID 0x1818
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CherryB.Studio
-#define PRODUCT CB1800
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 11
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, C6, C7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, F0, F1, F4 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cherrybstudio/cb1800/info.json b/keyboards/cherrybstudio/cb1800/info.json
index ea54e1e6c5..1caf876a61 100644
--- a/keyboards/cherrybstudio/cb1800/info.json
+++ b/keyboards/cherrybstudio/cb1800/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cb1800",
+ "keyboard_name": "CB1800",
+ "manufacturer": "CherryB.Studio",
"url": "https://discord.gg/qVwv3gcq83",
"maintainer": "duongaanh",
+ "usb": {
+ "vid": "0x4342",
+ "pid": "0x1818",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cherrybstudio/cb65/cb65.c b/keyboards/cherrybstudio/cb65/cb65.c
new file mode 100644
index 0000000000..4ff1006adf
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/cb65.c
@@ -0,0 +1,14 @@
+/*
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 "cb65.h"
diff --git a/keyboards/cherrybstudio/cb65/cb65.h b/keyboards/cherrybstudio/cb65/cb65.h
new file mode 100644
index 0000000000..c17df211da
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/cb65.h
@@ -0,0 +1,35 @@
+/*
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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, K100, K101, K102, K103, K104, K105, K106, K107, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K300, K301, K302, K303, K304, K305, K306, \
+ K307, K400, K401, K402, K403, K404, K405, K406, K407, K500, K501, K502, K503, K504, K505, \
+ K506, K507, K600, K601, K602, K603, K604, K605, K606, K607, K700, K701, K702, K703, K704, \
+ K705, K706, K707, K800, K801, K802, K803, K804, K805 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307 }, \
+ { K400, K401, K402, K403, K404, K405, K406, K407 }, \
+ { K500, K501, K502, K503, K504, K505, K506, K507 }, \
+ { K600, K601, K602, K603, K604, K605, K606, K607 }, \
+ { K700, K701, K702, K703, K704, K705, K706, K707 }, \
+ { K800, K801, K802, K803, K804, K805 } \
+}
+
diff --git a/keyboards/cherrybstudio/cb65/config.h b/keyboards/cherrybstudio/cb65/config.h
new file mode 100644
index 0000000000..d5a644ef8c
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/config.h
@@ -0,0 +1,68 @@
+/*
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 9
+#define MATRIX_COLS 8
+
+/*
+ * 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)
+ *
+ * 0 1 2 3 4 5 6 7 8
+*/
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3 }
+#define MATRIX_COL_PINS { D5, D4, D6, D7, F7, B5, B6, C6 }
+
+/* Encoder configuration */
+//#define ENCODERS_PAD_A { F5 }
+//#define ENCODERS_PAD_B { F6 }
+//#define ENCODER_RESOLUTION 4
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN F1
+#define LED_SCROLL_LOCK_PIN F4
+#define LED_PIN_ON_STATE 0
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* RGB Lighting */
+#define RGB_DI_PIN F0
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 24
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/cherrybstudio/cb65/info.json b/keyboards/cherrybstudio/cb65/info.json
new file mode 100644
index 0000000000..976b0b2e33
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "CherryB CB65",
+ "manufacturer": "CherryB Works",
+ "url": "https://discord.gg/qVwv3gcq83",
+ "maintainer": "lunaticwhat",
+ "usb": {
+ "vid": "0x4342",
+ "pid": "0x6565",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+ {"x":15, "y":1},
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2},
+ {"x":13.75, "y":2, "w":1.25},
+ {"x":15, "y":2},
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "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, "w":1.75},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4, "w":1.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cherrybstudio/cb65/keymaps/default/keymap.c b/keyboards/cherrybstudio/cb65/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c506bf5f4e
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/*
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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_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, QK_BOOT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+};
diff --git a/keyboards/cherrybstudio/cb65/keymaps/default/readme.md b/keyboards/cherrybstudio/cb65/keymaps/default/readme.md
new file mode 100644
index 0000000000..af21c876db
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for CB65
diff --git a/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c
new file mode 100644
index 0000000000..55ea2d24f6
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2020 Tybera
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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_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, QK_BOOT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+ [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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+
+
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb65/keymaps/via/rules.mk
index ca9fed0e6b..ca9fed0e6b 100644
--- a/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk
+++ b/keyboards/cherrybstudio/cb65/keymaps/via/rules.mk
diff --git a/keyboards/cherrybstudio/cb65/readme.md b/keyboards/cherrybstudio/cb65/readme.md
new file mode 100644
index 0000000000..7b8f4da201
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/readme.md
@@ -0,0 +1,26 @@
+# CherryB Works CB65
+
+![CB65](https://i.imgur.com/3qopFIWh.jpg)
+
+An universal 65 percents PCB for many keyboard with USB daughterboard
+Board has a rotary encoder but disabled for VIA support.
+
+* Keyboard Maintainer: lunaticwhat
+* Hardware Supported: CB65, atmega32u4
+* Hardware Availability: [CherryB Studio](https://discord.gg/qVwv3gcq83)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cherrybstudio/cb65:default
+
+Flashing example for this keyboard:
+
+ make cherrybstudio/cb65:default:flash
+
+## Accessing Bootloader Mode
+
+To access Bootloader Mode, do one of the following:
+
+* Hold the top left key of the keyboard while connecting the USB cable
+
+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/cherrybstudio/cb65/rules.mk b/keyboards/cherrybstudio/cb65/rules.mk
new file mode 100644
index 0000000000..e5386c142d
--- /dev/null
+++ b/keyboards/cherrybstudio/cb65/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = no # Encoder support
diff --git a/keyboards/cherrybstudio/cb87/config.h b/keyboards/cherrybstudio/cb87/config.h
index 41c7f3f25b..fa9a752801 100644
--- a/keyboards/cherrybstudio/cb87/config.h
+++ b/keyboards/cherrybstudio/cb87/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4342 // CB
-#define PRODUCT_ID 0x8787
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CherryB Studio
-#define PRODUCT CB87
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 10
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, F5, C6, C7, F7 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cherrybstudio/cb87/info.json b/keyboards/cherrybstudio/cb87/info.json
index dc6d017b33..1e7051c281 100644
--- a/keyboards/cherrybstudio/cb87/info.json
+++ b/keyboards/cherrybstudio/cb87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CB87",
+ "manufacturer": "CherryB Studio",
"url": "https://discord.gg/qVwv3gcq83",
"maintainer": "duongaanh",
+ "usb": {
+ "vid": "0x4342",
+ "pid": "0x8787",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cherrybstudio/cb87rgb/config.h b/keyboards/cherrybstudio/cb87rgb/config.h
index ccf7aceee9..d915e59c7f 100644
--- a/keyboards/cherrybstudio/cb87rgb/config.h
+++ b/keyboards/cherrybstudio/cb87rgb/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4342 // CB
-#define PRODUCT_ID 0x8785
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CherryB.Studio
-#define PRODUCT CB87RGB
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3, F6 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, F5, C6, C7, F7 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cherrybstudio/cb87rgb/info.json b/keyboards/cherrybstudio/cb87rgb/info.json
index e183066bd5..36b43f5742 100644
--- a/keyboards/cherrybstudio/cb87rgb/info.json
+++ b/keyboards/cherrybstudio/cb87rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cb87v2",
+ "keyboard_name": "CB87RGB",
+ "manufacturer": "CherryB.Studio",
"url": "https://discord.gg/qVwv3gcq83",
"maintainer": "duongaanh",
+ "usb": {
+ "vid": "0x4342",
+ "pid": "0x8785",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cherrybstudio/cb87v2/config.h b/keyboards/cherrybstudio/cb87v2/config.h
index 782262ebfb..d3d5818b1c 100644
--- a/keyboards/cherrybstudio/cb87v2/config.h
+++ b/keyboards/cherrybstudio/cb87v2/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4342 // CB
-#define PRODUCT_ID 0x8788
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CherryB.Studio
-#define PRODUCT CB87v2
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3, F6 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, F5, C6, C7, F7 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cherrybstudio/cb87v2/info.json b/keyboards/cherrybstudio/cb87v2/info.json
index 8b79d0623b..6cb3f5fbe3 100644
--- a/keyboards/cherrybstudio/cb87v2/info.json
+++ b/keyboards/cherrybstudio/cb87v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cb87v2",
+ "keyboard_name": "CB87v2",
+ "manufacturer": "CherryB.Studio",
"url": "https://discord.gg/qVwv3gcq83",
"maintainer": "duongaanh",
+ "usb": {
+ "vid": "0x4342",
+ "pid": "0x8788",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cheshire/curiosity/config.h b/keyboards/cheshire/curiosity/config.h
index 7b9e618463..3f6bdf4f0a 100644
--- a/keyboards/cheshire/curiosity/config.h
+++ b/keyboards/cheshire/curiosity/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCAFE
-#define PRODUCT_ID 0x0FAD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nightingale Studios/Cheshire Designs
-#define PRODUCT Curiosity
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B13, B14, A4, A2, A1 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, B9, B8, B7, B6, B5, B4, B3, A15 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cheshire/curiosity/info.json b/keyboards/cheshire/curiosity/info.json
index 95a9e06d3e..ef355016de 100644
--- a/keyboards/cheshire/curiosity/info.json
+++ b/keyboards/cheshire/curiosity/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Curiosity",
+ "manufacturer": "Nightingale Studios/Cheshire Designs",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0xCAFE",
+ "pid": "0x0FAD",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/cheshire/curiosity/keymaps/crd/keymap.c b/keyboards/cheshire/curiosity/keymaps/crd/keymap.c
index 5ccaafec3c..e21f840265 100644
--- a/keyboards/cheshire/curiosity/keymaps/crd/keymap.c
+++ b/keyboards/cheshire/curiosity/keymaps/crd/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_default(
KC_PGUP, KC_PWR, 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_PGDN, KC_CAPS, _______, _______, EEP_RST, RESET, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
+ KC_PGDN, KC_CAPS, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
KC_ESC, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
_______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c b/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
index 2273ad938c..efb962f978 100644
--- a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
+++ b/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNMS] = LAYOUT_default(
RGB_TOG, _______, 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_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, RESET,
+ RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT,
VLK_TOG, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______,
AG_TOGG, _______, _______, _______, _______, _______, _______
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVMED] = LAYOUT_default(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, RESET,
+ KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, QK_BOOT,
KC_END, _______, _______, _______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/chickenman/ciel/config.h b/keyboards/chickenman/ciel/config.h
index 718df02eff..ce73bdc831 100644
--- a/keyboards/chickenman/ciel/config.h
+++ b/keyboards/chickenman/ciel/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC41C
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ChickenMan
-#define PRODUCT Ciel
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C5, C4, B0, C7, B7 }
#define MATRIX_COL_PINS { C6, B6, B5, B4, B3, B2, B1, D6, D5, D4, D3, D2, D1, D0, C2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/chickenman/ciel/info.json b/keyboards/chickenman/ciel/info.json
index 67d39c2cf4..8dd1352ea8 100644
--- a/keyboards/chickenman/ciel/info.json
+++ b/keyboards/chickenman/ciel/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ciel",
+ "manufacturer": "ChickenMan",
"url": "",
"maintainer": "ramonimbao",
+ "usb": {
+ "vid": "0xC41C",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/chlx/merro60/config.h b/keyboards/chlx/merro60/config.h
index 526433ef8f..fab584880d 100644
--- a/keyboards/chlx/merro60/config.h
+++ b/keyboards/chlx/merro60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4358 // "CX" - chlx
-#define PRODUCT_ID 0x0601
-#define DEVICE_VER 0x0100
-#define MANUFACTURER chlx
-#define PRODUCT chlx merro60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,8 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, D5, D3, B5, F4 }
#define MATRIX_COL_PINS { B7, D1, D0, B0, B1, E6, B2, B3, D2, D7, B4, B6, C6, C7, D6 }
-#define UNUSED_PINS
-// #define UNUSED_PINS { F0, F1, F5, F6, F7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/chlx/merro60/info.json b/keyboards/chlx/merro60/info.json
index e0a697df06..95a6e9b7c8 100644
--- a/keyboards/chlx/merro60/info.json
+++ b/keyboards/chlx/merro60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "merro60",
+ "manufacturer": "chlx",
"url": "www.github.com/gaclee3b",
"maintainer": "gaclee3b",
+ "usb": {
+ "vid": "0x4358",
+ "pid": "0x0601",
+ "device_version": "1.0.0"
+ },
"layout_aliases": {
"LAYOUT_default": "LAYOUT_all",
"LAYOUT_hhkb": "LAYOUT_60_hhkb",
diff --git a/keyboards/chlx/merro60/keymaps/hhkb/keymap.c b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c
index b7058cfc1b..1dba574063 100644
--- a/keyboards/chlx/merro60/keymaps/hhkb/keymap.c
+++ b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_hhkb(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/config.h b/keyboards/chlx/str_merro60/config.h
index b73aaa0f73..9c8a0a64b8 100644
--- a/keyboards/chlx/str_merro60/config.h
+++ b/keyboards/chlx/str_merro60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4358 // "CX" - chlx
-#define PRODUCT_ID 0x0602
-#define DEVICE_VER 0x0100
-#define MANUFACTURER chlx bsmt
-#define PRODUCT chlx str.merro60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -42,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, C7, F7, F6, F5, F4, F1, F0, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, E6, B0, B1, B2 }
-#define UNUSED_PINS
-// #define UNUSED_PINS { B4, B5, B6, D4, D5, D6, D7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/chlx/str_merro60/info.json b/keyboards/chlx/str_merro60/info.json
index 0795c721c6..444d2d76e6 100644
--- a/keyboards/chlx/str_merro60/info.json
+++ b/keyboards/chlx/str_merro60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "str.merro60",
+ "manufacturer": "chlx bsmt",
"url": "www.github.com/gaclee3b",
"maintainer": "gaclee3b",
+ "usb": {
+ "vid": "0x4358",
+ "pid": "0x0602",
+ "device_version": "1.0.0"
+ },
"layout_aliases": {
"LAYOUT_default": "LAYOUT_all",
"LAYOUT_hhkb": "LAYOUT_60_hhkb",
@@ -151,6 +157,77 @@
{"x": 13.75, "y": 4, "w": 1.25}
]
},
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 0, "y": 1, "w": 1.5},
+ {"x": 1.5, "y": 1},
+ {"x": 2.5, "y": 1},
+ {"x": 3.5, "y": 1},
+ {"x": 4.5, "y": 1},
+ {"x": 5.5, "y": 1},
+ {"x": 6.5, "y": 1},
+ {"x": 7.5, "y": 1},
+ {"x": 8.5, "y": 1},
+ {"x": 9.5, "y": 1},
+ {"x": 10.5, "y": 1},
+ {"x": 11.5, "y": 1},
+ {"x": 12.5, "y": 1},
+ {"x": 13.5, "y": 1, "w": 1.5},
+
+ {"x": 0, "y": 2, "w": 1.75},
+ {"x": 1.75, "y": 2},
+ {"x": 2.75, "y": 2},
+ {"x": 3.75, "y": 2},
+ {"x": 4.75, "y": 2},
+ {"x": 5.75, "y": 2},
+ {"x": 6.75, "y": 2},
+ {"x": 7.75, "y": 2},
+ {"x": 8.75, "y": 2},
+ {"x": 9.75, "y": 2},
+ {"x": 10.75, "y": 2},
+ {"x": 11.75, "y": 2},
+ {"x": 12.75, "y": 2, "w": 2.25},
+
+ {"x": 0, "y": 3, "w": 2.25},
+ {"x": 2.25, "y": 3},
+ {"x": 3.25, "y": 3},
+ {"x": 4.25, "y": 3},
+ {"x": 5.25, "y": 3},
+ {"x": 6.25, "y": 3},
+ {"x": 7.25, "y": 3},
+ {"x": 8.25, "y": 3},
+ {"x": 9.25, "y": 3},
+ {"x": 10.25, "y": 3},
+ {"x": 11.25, "y": 3},
+ {"x": 12.25, "y": 3, "w": 1.75},
+ {"x": 14, "y": 3},
+
+ {"x": 0, "y": 4, "w": 1.25},
+ {"x": 1.25, "y": 4, "w": 1.25},
+ {"x": 2.5, "y": 4, "w": 1.25},
+ {"x": 3.75, "y": 4, "w": 6.25},
+ {"x": 10, "y": 4, "w": 1.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 13.75, "y": 4, "w": 1.25}
+ ]
+ },
"LAYOUT_60_hhkb": {
"layout": [
{"x": 0, "y": 0},
@@ -219,6 +296,76 @@
{"x": 12.5, "y": 4}
]
},
+ "LAYOUT_60_iso": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0, "w": 2},
+
+ {"x": 0, "y": 1, "w": 1.5},
+ {"x": 1.5, "y": 1},
+ {"x": 2.5, "y": 1},
+ {"x": 3.5, "y": 1},
+ {"x": 4.5, "y": 1},
+ {"x": 5.5, "y": 1},
+ {"x": 6.5, "y": 1},
+ {"x": 7.5, "y": 1},
+ {"x": 8.5, "y": 1},
+ {"x": 9.5, "y": 1},
+ {"x": 10.5, "y": 1},
+ {"x": 11.5, "y": 1},
+ {"x": 12.5, "y": 1},
+
+ {"x": 0, "y": 2, "w": 1.75},
+ {"x": 1.75, "y": 2},
+ {"x": 2.75, "y": 2},
+ {"x": 3.75, "y": 2},
+ {"x": 4.75, "y": 2},
+ {"x": 5.75, "y": 2},
+ {"x": 6.75, "y": 2},
+ {"x": 7.75, "y": 2},
+ {"x": 8.75, "y": 2},
+ {"x": 9.75, "y": 2},
+ {"x": 10.75, "y": 2},
+ {"x": 11.75, "y": 2},
+ {"x": 12.75, "y": 2},
+ {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+ {"x": 0, "y": 3, "w": 1.25},
+ {"x": 1.25, "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, "w": 2.75},
+
+ {"x": 0, "y": 4, "w": 1.25},
+ {"x": 1.25, "y": 4, "w": 1.25},
+ {"x": 2.5, "y": 4, "w": 1.25},
+ {"x": 3.75, "y": 4, "w": 6.25},
+ {"x": 10, "y": 4, "w": 1.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 13.75, "y": 4, "w": 1.25}
+ ]
+ },
"LAYOUT_60_iso_split_bs_rshift": {
"layout": [
{"x": 0, "y": 0},
diff --git a/keyboards/chlx/str_merro60/keymaps/ansi/keymap.c b/keyboards/chlx/str_merro60/keymaps/ansi/keymap.c
index 6030c8618f..dbd73407ab 100644
--- a/keyboards/chlx/str_merro60/keymaps/ansi/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/ansi/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/default/keymap.c b/keyboards/chlx/str_merro60/keymaps/default/keymap.c
index 2ad95850b3..cad07e7be7 100644
--- a/keyboards/chlx/str_merro60/keymaps/default/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/hhkb/keymap.c b/keyboards/chlx/str_merro60/keymaps/hhkb/keymap.c
index 403a772dfc..7fea015564 100644
--- a/keyboards/chlx/str_merro60/keymaps/hhkb/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/hhkb/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_hhkb(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/iso/keymap.c b/keyboards/chlx/str_merro60/keymaps/iso/keymap.c
index a9ee435c5e..f67f56ef51 100644
--- a/keyboards/chlx/str_merro60/keymaps/iso/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/iso/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
index a24c330ae5..92e1bb9155 100644
--- a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_tsangan_hhkb(
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, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/via/keymap.c b/keyboards/chlx/str_merro60/keymaps/via/keymap.c
index f91698a8e0..d9820d0daf 100644
--- a/keyboards/chlx/str_merro60/keymaps/via/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/via/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chocofly/chocofly.c b/keyboards/chocofly/chocofly.c
new file mode 100644
index 0000000000..8ae38602ab
--- /dev/null
+++ b/keyboards/chocofly/chocofly.c
@@ -0,0 +1,16 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "chocofly.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/chocofly/chocofly.h b/keyboards/chocofly/chocofly.h
new file mode 100644
index 0000000000..7d94774625
--- /dev/null
+++ b/keyboards/chocofly/chocofly.h
@@ -0,0 +1,10 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifdef KEYBOARD_chocofly_v1
+ #include "v1.h"
+#endif
+
+#include "quantum.h"
diff --git a/keyboards/chocofly/config.h b/keyboards/chocofly/config.h
new file mode 100644
index 0000000000..eb9c37d38a
--- /dev/null
+++ b/keyboards/chocofly/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
diff --git a/keyboards/chocofly/readme.md b/keyboards/chocofly/readme.md
new file mode 100644
index 0000000000..0d9db2c04b
--- /dev/null
+++ b/keyboards/chocofly/readme.md
@@ -0,0 +1,23 @@
+# Chocofly
+
+![Chocofly v1.0](https://github.com/vlkv/chocofly/blob/master/images/chocofly_v1-0.jpg)
+
+An open source ergonomic monoblock 60% keyboard.
+
+* Keyboard Maintainer: [Vitaly Volkov](https://github.com/vlkv)
+* Hardware Supported: Chocofly PCB v1, Pro Micro 5V/16MHz and compatible.
+* Hardware Availability: [github.com/vlkv/chocofly](https://github.com/vlkv/chocofly)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make chocofly/v1:default
+
+Flashing example for this keyboard:
+
+ make chocofly/v1:default:flash
+
+## Bootloader
+
+Briefly press the button along the top edge of the PCB next to the microcontroller.
+
+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/chocofly/v1/config.h b/keyboards/chocofly/v1/config.h
new file mode 100644
index 0000000000..053ca61362
--- /dev/null
+++ b/keyboards/chocofly/v1/config.h
@@ -0,0 +1,16 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
+
+#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define ENCODERS_PAD_A { D3 }
+#define ENCODERS_PAD_B { D2 }
+#define ENCODER_RESOLUTION 2
diff --git a/keyboards/chocofly/v1/info.json b/keyboards/chocofly/v1/info.json
new file mode 100644
index 0000000000..1372ce62f9
--- /dev/null
+++ b/keyboards/chocofly/v1/info.json
@@ -0,0 +1,82 @@
+{
+ "keyboard_name": "Chocofly",
+ "manufacturer": "vitvlkv",
+ "url": "https://github.com/vlkv/chocofly",
+ "maintainer": "vlkv",
+ "usb": {
+ "vid": "0xCEE2",
+ "pid": "0x1001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "F1", "matrix": [0, 0], "x": 0, "y": 0.375 },
+ { "label": "F2", "matrix": [1, 0], "x": 1, "y": 0.375 },
+ { "label": "F3", "matrix": [0, 1], "x": 2, "y": 0.125 },
+ { "label": "F4", "matrix": [1, 1], "x": 3, "y": 0 },
+ { "label": "F5", "matrix": [0, 2], "x": 4, "y": 0.125 },
+ { "label": "F6", "matrix": [1, 2], "x": 5, "y": 0.25 },
+ { "label": "F7", "matrix": [1, 5], "x": 11.5, "y": 0.25 },
+ { "label": "F8", "matrix": [0, 5], "x": 12.5, "y": 0.125 },
+ { "label": "F9", "matrix": [1, 6], "x": 13.5, "y": 0 },
+ { "label": "F10", "matrix": [0, 6], "x": 14.5, "y": 0.125 },
+ { "label": "F11", "matrix": [1, 7], "x": 15.5, "y": 0.375 },
+ { "label": "F12", "matrix": [0, 7], "x": 16.5, "y": 0.375 },
+
+ { "label": "Tab", "matrix": [2, 0], "x": 0, "y": 1.375 },
+ { "label": "Q", "matrix": [3, 0], "x": 1, "y": 1.375 },
+ { "label": "W", "matrix": [2, 1], "x": 2, "y": 1.125 },
+ { "label": "E", "matrix": [3, 1], "x": 3, "y": 1 },
+ { "label": "R", "matrix": [2, 2], "x": 4, "y": 1.125 },
+ { "label": "T", "matrix": [3, 2], "x": 5, "y": 1.25 },
+ { "label": "Y", "matrix": [3, 5], "x": 11.5, "y": 1.25 },
+ { "label": "U", "matrix": [2, 5], "x": 12.5, "y": 1.125 },
+ { "label": "I", "matrix": [3, 6], "x": 13.5, "y": 1 },
+ { "label": "O", "matrix": [2, 6], "x": 14.5, "y": 1.125 },
+ { "label": "P", "matrix": [3, 7], "x": 15.5, "y": 1.375 },
+ { "label": "[{", "matrix": [2, 7], "x": 16.5, "y": 1.375 },
+
+ { "label": "\\|", "matrix": [4, 0], "x": 0, "y": 2.375 },
+ { "label": "A", "matrix": [5, 0], "x": 1, "y": 2.375 },
+ { "label": "S", "matrix": [4, 1], "x": 2, "y": 2.125 },
+ { "label": "D", "matrix": [5, 1], "x": 3, "y": 2 },
+ { "label": "F", "matrix": [4, 2], "x": 4, "y": 2.125 },
+ { "label": "G", "matrix": [5, 2], "x": 5, "y": 2.25 },
+ { "label": "Mute", "matrix": [1, 3], "x": 6.5, "y": 2.375 },
+ { "label": "H", "matrix": [5, 5], "x": 11.5, "y": 2.25 },
+ { "label": "J", "matrix": [4, 5], "x": 12.5, "y": 2.125 },
+ { "label": "K", "matrix": [5, 6], "x": 13.5, "y": 2 },
+ { "label": "L", "matrix": [4, 6], "x": 14.5, "y": 2.125 },
+ { "label": ";:", "matrix": [5, 7], "x": 15.5, "y": 2.375 },
+ { "label": "'\"", "matrix": [4, 7], "x": 16.5, "y": 2.375 },
+
+ { "label": "Ctrl", "matrix": [6, 0], "x": 0, "y": 3.375 },
+ { "label": "Z", "matrix": [7, 0], "x": 1, "y": 3.375 },
+ { "label": "X", "matrix": [6, 1], "x": 2, "y": 3.125 },
+ { "label": "C", "matrix": [7, 1], "x": 3, "y": 3 },
+ { "label": "V", "matrix": [6, 2], "x": 4, "y": 3.125 },
+ { "label": "B", "matrix": [7, 2], "x": 5, "y": 3.25 },
+ { "label": "`~", "matrix": [3, 3], "x": 6.25, "y": 3.375 },
+ { "label": "Insert", "matrix": [2, 3], "x": 7.25, "y": 3.625 },
+ { "label": "Print Screen", "matrix": [2, 4], "x": 9.25, "y": 3.625 },
+ { "label": "]}", "matrix": [3, 4], "x": 10.25, "y": 3.375 },
+ { "label": "N", "matrix": [7, 5], "x": 11.5, "y": 3.25 },
+ { "label": "M", "matrix": [6, 5], "x": 12.5, "y": 3.125 },
+ { "label": ",<", "matrix": [7, 6], "x": 13.5, "y": 3 },
+ { "label": ".>", "matrix": [6, 6], "x": 14.5, "y": 3.125 },
+ { "label": "/?", "matrix": [7, 7], "x": 15.5, "y": 3.375 },
+ { "label": "Ctrl", "matrix": [6, 7], "x": 16.5, "y": 3.375 },
+
+ { "label": "GUI", "matrix": [7, 3], "x": 3.5, "y": 4.125 },
+ { "label": "Shift", "matrix": [6, 3], "x": 4.75, "y": 4.25 },
+ { "label": "Space", "matrix": [5, 3], "x": 6, "y": 4.375 },
+ { "label": "Alt", "matrix": [4, 3], "x": 7, "y": 4.625 },
+ { "label": "Alt", "matrix": [4, 4], "x": 9.5, "y": 4.625 },
+ { "label": "Fn", "matrix": [5, 4], "x": 10.5, "y": 4.375 },
+ { "label": "Shift", "matrix": [6, 4], "x": 11.75, "y": 4.25 },
+ { "label": "GUI", "matrix": [7, 4], "x": 13, "y": 4.125 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/chocofly/v1/keymaps/default/keymap.c b/keyboards/chocofly/v1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b128e5e17b
--- /dev/null
+++ b/keyboards/chocofly/v1/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RS_SPC LT(_RAISE, KC_SPC)
+#define LW_LGUI LT(_LOWER, KC_LGUI)
+#define RS_LGUI LT(_RAISE, KC_LGUI)
+#define MT_LALT LALT_T(KC_ESC)
+#define MT_RALT RALT_T(KC_ENT)
+#define MT_LSFT LSFT_T(KC_EQL)
+#define MT_RSFT RSFT_T(KC_MINS)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_BSLS, KC_A, KC_S, KC_D, KC_F, KC_G, KC__MUTE, 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_GRV, KC_INS, KC_PSCR, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
+ LW_LGUI, MT_LSFT, RS_SPC, MT_LALT, MT_RALT, MO(_LOWER),MT_RSFT, RS_LGUI
+ ),
+ [_LOWER] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL,
+ _______, KC_0, KC_1, KC_2, KC_3, KC_PCMM, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_APP, KC_PGDN, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_RAISE] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL,
+ _______, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, KC_DEL, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, KC_PCMM, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
diff --git a/keyboards/chocofly/v1/keymaps/winder/keymap.c b/keyboards/chocofly/v1/keymaps/winder/keymap.c
new file mode 100644
index 0000000000..7d1889b225
--- /dev/null
+++ b/keyboards/chocofly/v1/keymaps/winder/keymap.c
@@ -0,0 +1,60 @@
+// Copyright 2022 Will Winder (@winder)
+// SPDX-License-Identifier: GPL-2.0-or-later
+//
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define FN_1 MO(_LOWER)
+#define FN_2 MO(_RAISE)
+#define TRMINAL LGUI(KC_ENT)
+#define RESIZE LGUI(KC_R)
+#define BROWSER LSG(KC_ENT) // Left Shift + GUI, ENT.
+
+// required for my PC
+#undef KC_VOLU
+#undef KC_VOLD
+#define KC_VOLU KC__VOLUP
+#define KC_VOLD KC__VOLDOWN
+
+
+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_DEL ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_UNDS,
+ KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_MUTE, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , TRMINAL, BROWSER, RESIZE , KC_UNDS, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
+ KC_LALT, KC_LGUI, FN_1 , KC_ENT , FN_2 , KC_SPC , KC_BSPC, KC_DEL
+ ),
+ [_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_DEL ,
+ KC_TILD, 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] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX,
+ _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLD);
+ } else {
+ tap_code(KC_VOLU);
+ }
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/chocofly/v1/rules.mk b/keyboards/chocofly/v1/rules.mk
new file mode 100644
index 0000000000..777b9b9872
--- /dev/null
+++ b/keyboards/chocofly/v1/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+ENCODER_ENABLE = yes
diff --git a/keyboards/chocofly/v1/v1.c b/keyboards/chocofly/v1/v1.c
new file mode 100644
index 0000000000..6c142b7453
--- /dev/null
+++ b/keyboards/chocofly/v1/v1.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "v1.h"
diff --git a/keyboards/chocofly/v1/v1.h b/keyboards/chocofly/v1/v1.h
new file mode 100644
index 0000000000..5f07f6c325
--- /dev/null
+++ b/keyboards/chocofly/v1/v1.h
@@ -0,0 +1,28 @@
+// Copyright 2022 Vitaly Volkov (@vlkv)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "chocofly.h"
+
+#include "quantum.h"
+
+#define K__ KC_NO
+
+#define LAYOUT( \
+ K01, K07, K02, K08, K03, K09, K11, K04, K12, K05, K13, K06, \
+ K14, K22, K15, K23, K16, K24, K27, K19, K28, K20, K29, K21, \
+ K30, K38, K31, K39, K32, K40, K10, K43, K35, K44, K36, K45, K37, \
+ K46, K54, K47, K55, K48, K56, K25, K17, K18, K26, K59, K51, K60, K52, K61, K53, \
+ K57, K49, K41, K33, K34, K42, K50, K58 \
+) \
+{ \
+ { K01, K02, K03, K__, K__, K04, K05, K06}, \
+ { K07, K08, K09, K10, K__, K11, K12, K13}, \
+ { K14, K15, K16, K17, K18, K19, K20, K21}, \
+ { K22, K23, K24, K25, K26, K27, K28, K29}, \
+ { K30, K31, K32, K33, K34, K35, K36, K37}, \
+ { K38, K39, K40, K41, K42, K43, K44, K45}, \
+ { K46, K47, K48, K49, K50, K51, K52, K53}, \
+ { K54, K55, K56, K57, K58, K59, K60, K61} \
+}
diff --git a/keyboards/chocv/chocv.c b/keyboards/chocv/chocv.c
new file mode 100644
index 0000000000..c79f8a1b75
--- /dev/null
+++ b/keyboards/chocv/chocv.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "chocv.h"
diff --git a/keyboards/chocv/chocv.h b/keyboards/chocv/chocv.h
new file mode 100644
index 0000000000..2691dfcb83
--- /dev/null
+++ b/keyboards/chocv/chocv.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+
+#define LAYOUT_split_3x5_3( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09,\
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,\
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,\
+ k30, k31, k32, k33, k34, k35 \
+ ) \
+ { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09}, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19}, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29}, \
+ { KC_NO, KC_NO, k30, k31, k32, k33, k34, k35, KC_NO, KC_NO} \
+ }
+
diff --git a/keyboards/chocv/config.h b/keyboards/chocv/config.h
new file mode 100644
index 0000000000..16c2682646
--- /dev/null
+++ b/keyboards/chocv/config.h
@@ -0,0 +1,35 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+ #pragma once
+
+ #include "config_common.h"
+
+ /* key matrix size */
+ #define MATRIX_ROWS 4
+ #define MATRIX_COLS 10
+
+
+ #define MATRIX_ROW_PINS { F4, F5, D1, D0 }
+ #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, C6, D7, E6, B4, B5}
+
+ /* COL2ROW, ROW2COL*/
+ #define DIODE_DIRECTION COL2ROW
+
+
+ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+ #define DEBOUNCE 5
+
diff --git a/keyboards/chocv/info.json b/keyboards/chocv/info.json
new file mode 100644
index 0000000000..707e43b5fa
--- /dev/null
+++ b/keyboards/chocv/info.json
@@ -0,0 +1,60 @@
+{
+ "keyboard_name": "chocV",
+ "manufacturer": "BrickBots Labs",
+ "url": "https://github.com/brickbots/chocV",
+ "maintainer": "Brickbots",
+ "usb": {
+ "vid": "0xBBB0",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"label":"Q", "x":0, "y":0.3},
+ {"label":"W", "x":1, "y":0.1},
+ {"label":"E", "x":2, "y":0},
+ {"label":"R", "x":3, "y":0.1},
+ {"label":"T", "x":4, "y":0.2},
+
+ {"label":"Y", "x":8, "y":0.2},
+ {"label":"U", "x":9, "y":0.1},
+ {"label":"I", "x":10, "y":0},
+ {"label":"O", "x":11, "y":0.1},
+ {"label":"P", "x":12, "y":0.3},
+
+ {"label":"A", "x":0, "y":1.3},
+ {"label":"S", "x":1, "y":1.1},
+ {"label":"D", "x":2, "y":1},
+ {"label":"F", "x":3, "y":1.1},
+ {"label":"G", "x":4, "y":1.2},
+
+ {"label":"H", "x":8, "y":1.2},
+ {"label":"J", "x":9, "y":1.1},
+ {"label":"K", "x":10, "y":1},
+ {"label":"L", "x":11, "y":1.1},
+ {"label":";", "x":12, "y":1.3},
+
+ {"label":"Z", "x":0, "y":2.3},
+ {"label":"X", "x":1, "y":2.1},
+ {"label":"C", "x":2, "y":2},
+ {"label":"V", "x":3, "y":2.1},
+ {"label":"B", "x":4, "y":2.2},
+
+ {"label":"N", "x":8, "y":2.2},
+ {"label":"M", "x":9, "y":2.1},
+ {"label":",", "x":10, "y":2},
+ {"label":".", "x":11, "y":2.1},
+ {"label":"/", "x":12, "y":2.3},
+
+ {"label":"KC_LSFT", "x":3, "y":3.7},
+ {"label":"LC_LALT", "x":4, "y":3.7},
+ {"label":"KC_ENT", "x":5, "y":3.2, "h":1.5},
+
+ {"label":"KC_SPC", "x":7, "y":3.2, "h":1.5},
+ {"label":"KC_DEL", "x":8, "y":3.7},
+ {"label":"KC_RCTL", "x":9, "y":3.7}
+ ]
+ }
+ }
+}
diff --git a/keyboards/chocv/keymaps/default/keymap.c b/keyboards/chocv/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f6d2f0d270
--- /dev/null
+++ b/keyboards/chocv/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_split_3x5_3(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LSFT, KC_LALT, KC_ENT, KC_SPC, KC_DEL, KC_RCTL
+ ),
+};
diff --git a/keyboards/chocv/keymaps/default/readme.md b/keyboards/chocv/keymaps/default/readme.md
new file mode 100644
index 0000000000..0d9b3630ab
--- /dev/null
+++ b/keyboards/chocv/keymaps/default/readme.md
@@ -0,0 +1,24 @@
+# chocV Keymap
+
+The default keymap provided here is useful for testing and as a base
+for your own mapping, but does not include layers and is missing many
+keycodes. To build the default keymap for testing:
+
+make chocv:default
+
+## Give Miryoku a try
+
+If you are looking for a full fetured keymap, you can build the
+firmware with Miryoku without any additional work
+
+For details and building instructions and options please see the
+[The official Miryoku QMK
+Repo](https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku)
+
+The command to build with the default Miryoku layout is:
+
+make chocv:manna-habour_miryoku
+
+
+
+
diff --git a/keyboards/chocv/readme.md b/keyboards/chocv/readme.md
new file mode 100644
index 0000000000..67bb9aad02
--- /dev/null
+++ b/keyboards/chocv/readme.md
@@ -0,0 +1,26 @@
+# chocV
+
+A 36 key choc keyboard based on the [Horizon](https://github.com/skarrmann/horizon)
+construction and a trimmed down [BabyV](https://www.instagram.com/eyeohdesigns/?hl=en) layout!
+
+![chocV Lineage](https://raw.githubusercontent.com/brickbots/chocV/main/images/lineage.jpeg "chocV Lineage")
+
+* Keyboard Maintainer: [Brickbots](https://github.com/brickbots)
+* Hardware Supported: The chocV PCB is public domain and is compatible with any
+pro-micro footprint MCU
+* Hardware Availability: [The chocV github repo](https://github.com/brickbots/chocV)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make chocv:default
+
+Flashing example for this keyboard:
+
+ make chocv:default:flash
+
+## Bootloader
+
+Enter the bootloader using the hardware reset button on the top middle of the
+near the MCU.
+
+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/chocv/rules.mk b/keyboards/chocv/rules.mk
new file mode 100644
index 0000000000..27b4a6282b
--- /dev/null
+++ b/keyboards/chocv/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = qmk-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = split_3x5_3
diff --git a/keyboards/chord/zero/config.h b/keyboards/chord/zero/config.h
new file mode 100644
index 0000000000..9d552d5af4
--- /dev/null
+++ b/keyboards/chord/zero/config.h
@@ -0,0 +1,4 @@
+// Copyright (c) 2022 Simon Hengel <sol@typeful.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
diff --git a/keyboards/chord/zero/info.json b/keyboards/chord/zero/info.json
new file mode 100644
index 0000000000..c49a8a3c2f
--- /dev/null
+++ b/keyboards/chord/zero/info.json
@@ -0,0 +1,65 @@
+{
+ "manufacturer": "Simon Hengel",
+ "keyboard_name": "CHORD ZERO",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0x1D50",
+ "pid": "0x617C"
+ },
+ "url": "https://github.com/sol/chord-zero#readme",
+ "maintainer": "sol",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "steno": true
+ },
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP22", "GP9", "GP21", "GP11", "GP19", "GP12"],
+ "rows": ["GP26", "GP20", "GP18", "GP17", "GP7", "GP10", "GP13", "GP14"]
+ },
+ "layouts": {
+ "LAYOUT_zero": {
+ "layout": [
+ { "matrix": [0, 0], "y": 0, "x": 0 },
+ { "matrix": [0, 1], "y": 0, "x": 1 },
+ { "matrix": [0, 2], "y": 0, "x": 2 },
+ { "matrix": [0, 3], "y": 0, "x": 3 },
+ { "matrix": [0, 4], "y": 0, "x": 4 },
+ { "matrix": [0, 5], "y": 0, "x": 5 },
+ { "matrix": [4, 5], "y": 0, "x": 8 },
+ { "matrix": [4, 4], "y": 0, "x": 9 },
+ { "matrix": [4, 3], "y": 0, "x": 10 },
+ { "matrix": [4, 2], "y": 0, "x": 11 },
+ { "matrix": [4, 1], "y": 0, "x": 12 },
+ { "matrix": [4, 0], "y": 0, "x": 13 },
+
+ { "matrix": [1, 0], "y": 1, "x": 0 },
+ { "matrix": [1, 1], "y": 1, "x": 1 },
+ { "matrix": [1, 2], "y": 1, "x": 2 },
+ { "matrix": [1, 3], "y": 1, "x": 3 },
+ { "matrix": [1, 4], "y": 1, "x": 4 },
+ { "matrix": [1, 5], "y": 1, "x": 5 },
+ { "matrix": [5, 5], "y": 1, "x": 8 },
+ { "matrix": [5, 4], "y": 1, "x": 9 },
+ { "matrix": [5, 3], "y": 1, "x": 10 },
+ { "matrix": [5, 2], "y": 1, "x": 11 },
+ { "matrix": [5, 1], "y": 1, "x": 12 },
+ { "matrix": [5, 0], "y": 1, "x": 13 },
+
+ { "matrix": [3, 3], "y": 3, "x": 3 },
+ { "matrix": [3, 4], "y": 3, "x": 4 },
+ { "matrix": [3, 5], "y": 3, "x": 5 },
+ { "matrix": [7, 5], "y": 3, "x": 8 },
+ { "matrix": [7, 4], "y": 3, "x": 9 },
+ { "matrix": [7, 3], "y": 3, "x": 10 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/chord/zero/keymaps/default/keymap.c b/keyboards/chord/zero/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a394893e1b
--- /dev/null
+++ b/keyboards/chord/zero/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright (c) 2022 Simon Hengel <sol@typeful.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "keymap_steno.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_zero(
+ STN_FN, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR,
+ STN_PWR, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR,
+ STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N7
+ )
+};
+
+const uint16_t PROGMEM bootloader_combo[] = {
+ keymaps[0][0][0], keymaps[0][4][0],
+ keymaps[0][1][0], keymaps[0][5][0],
+ keymaps[0][3][3], keymaps[0][7][3]
+, COMBO_END };
+
+combo_t key_combos[] = {
+ COMBO(bootloader_combo, QK_BOOTLOADER),
+};
+
+uint16_t COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk b/keyboards/chord/zero/keymaps/default/rules.mk
index ab1e438182..ab1e438182 100644
--- a/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk
+++ b/keyboards/chord/zero/keymaps/default/rules.mk
diff --git a/keyboards/chord/zero/readme.md b/keyboards/chord/zero/readme.md
new file mode 100644
index 0000000000..51e3f2ce10
--- /dev/null
+++ b/keyboards/chord/zero/readme.md
@@ -0,0 +1,37 @@
+# CHORD ZERO Stenographic Keyboard
+
+![CHORD ZERO](https://i.imgur.com/aS2MPQ2h.jpg)
+
+CHORD ZERO is a stenographic keyboard that can be used with
+[Plover](https://www.openstenoproject.org/plover/) or any other application
+that supports the [TX
+Bolt](https://docs.qmk.fm/#/feature_stenography?id=tx-bolt) or
+[GeminiPR](https://docs.qmk.fm/#/feature_stenography?id=geminipr) protocol.
+
+* Keyboard Maintainer: [Simon Hengel](https://github.com/sol)
+* Hardware Supported: REV 0, REV 1
+* Hardware Availability: https://github.com/sol/chord-zero#readme
+
+Make example for this keyboard (after setting up your build environment):
+
+ make chord/zero:default
+
+or
+
+ qmk compile -kb chord/zero -km default
+
+This will generate `chord_zero_default.uf2`.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Reset key combo**: Press the six keys at the outer columns on each side of the keyboard simultaneously while it is plugged in
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Press the button on the back of the PCB and plug in the keyboard
+
+Once the keyboard is in bootloader mode you can mount it as a USB mass storage
+device and copy the firmware (the file `chord_zero_default.uf2`) onto it. Once
+copying is completed the keyboard will reboot automatically.
diff --git a/keyboards/chord/zero/rules.mk b/keyboards/chord/zero/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/chord/zero/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/chromatonemini/chromatonemini.c b/keyboards/chromatonemini/chromatonemini.c
new file mode 100644
index 0000000000..91caab7980
--- /dev/null
+++ b/keyboards/chromatonemini/chromatonemini.c
@@ -0,0 +1,208 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "chromatonemini.h"
+
+#ifdef RGB_MATRIX_ENABLE
+# define NO_LED 255
+
+led_config_t g_led_config = {
+ {
+#if 0
+ // register bottom two rows
+ { 0, 4, 3, 2, 1, 41, 5, NO_LED },
+ { 40, 6, 39, 7, 38, 8, 37, NO_LED },
+ { 9, 36, 10, 35, 11, 34, 12, NO_LED },
+ { 33, 13, 32, 14, 31, 15, 30, NO_LED },
+ { 16, 29, 17, 28, 18, 27, 19, NO_LED },
+ { 26, 20, 25, 21, 24, 22, 23, NO_LED }
+
+ // register middle two rows
+ { 0, 4, 3, 2, 1, 78, 42, NO_LED },
+ { 77, 43, 76, 44, 75, 45, 74, NO_LED },
+ { 46, 73, 47, 72, 48, 71, 49, NO_LED },
+ { 70, 50, 69, 51, 68, 52, 67, NO_LED },
+ { 53, 66, 54, 65, 55, 64, 56, NO_LED },
+ { 63, 57, 62, 58, 61, 59, 60, NO_LED }
+
+ // register top and bottom rows
+ { 0, 4, 3, 2, 1, 115, 5, NO_LED },
+ { 114, 6, 113, 7, 112, 8, 111, NO_LED },
+ { 9, 110, 10, 109, 11, 108, 12, NO_LED },
+ { 107, 13, 106, 14, 105, 15, 104, NO_LED },
+ { 16, 103, 17, 102, 18, 101, 19, NO_LED },
+ { 100, 20, 99, 21, 98, 22, 97, NO_LED }
+#else
+ // register top two rows
+ { 0, 4, 3, 2, 1, 115, 79, NO_LED },
+ { 114, 80, 113, 81, 112, 82, 111, NO_LED },
+ { 83, 110, 84, 109, 85, 108, 86, NO_LED },
+ { 107, 87, 106, 88, 105, 89, 104, NO_LED },
+ { 90, 103, 91, 102, 92, 101, 93, NO_LED },
+ { 100, 94, 99, 95, 98, 96, 97, NO_LED }
+#endif
+ }, {
+ { 14, 12 },
+ { 14, 36 },
+ { 19, 48 }, { 9, 48 },
+ { 14, 60 },
+ { 39, 60 }, { 49, 60 }, { 59, 60 }, { 69, 60 }, { 79, 60 }, { 89, 60 }, { 99, 60 }, { 109, 60 }, { 119, 60 }, { 129, 60 }, { 139, 60 }, { 149, 60 }, { 159, 60 }, { 169, 60 }, { 179, 60 }, { 189, 60 }, { 199, 60 }, { 209, 60 },
+ { 214, 48 }, { 204, 48 }, { 194, 48 }, { 184, 48 }, { 174, 48 }, { 164, 48 }, { 154, 48 }, { 144, 48 }, { 134, 48 }, { 124, 48 }, { 114, 48 }, { 104, 48 }, { 94, 48 }, { 84, 48 }, { 74, 48 }, { 64, 48 }, { 54, 48 }, { 44, 48 }, { 34, 48 },
+ { 39, 36 }, { 49, 36 }, { 59, 36 }, { 69, 36 }, { 79, 36 }, { 89, 36 }, { 99, 36 }, { 109, 36 }, { 119, 36 }, { 129, 36 }, { 139, 36 }, { 149, 36 }, { 159, 36 }, { 169, 36 }, { 179, 36 }, { 189, 36 }, { 199, 36 }, { 209, 36 },
+ { 214, 24 }, { 204, 24 }, { 194, 24 }, { 184, 24 }, { 174, 24 }, { 164, 24 }, { 154, 24 }, { 144, 24 }, { 134, 24 }, { 124, 24 }, { 114, 24 }, { 104, 24 }, { 94, 24 }, { 84, 24 }, { 74, 24 }, { 64, 24 }, { 54, 24 }, { 44, 24 }, { 34, 24 },
+ { 39, 12 }, { 49, 12 }, { 59, 12 }, { 69, 12 }, { 79, 12 }, { 89, 12 }, { 99, 12 }, { 109, 12 }, { 119, 12 }, { 129, 12 }, { 139, 12 }, { 149, 12 }, { 159, 12 }, { 169, 12 }, { 179, 12 }, { 189, 12 }, { 199, 12 }, { 209, 12 },
+ { 214, 0 }, { 204, 0 }, { 194, 0 }, { 184, 0 }, { 174, 0 }, { 164, 0 }, { 154, 0 }, { 144, 0 }, { 134, 0 }, { 124, 0 }, { 114, 0 }, { 104, 0 }, { 94, 0 }, { 84, 0 }, { 74, 0 }, { 64, 0} , { 54, 0 }, { 44, 0 }, { 34, 0 }
+ }, {
+ 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
+ }
+};
+
+// indicator
+const uint8_t led_scale_indicator[12][12] = {
+ {23, 29, 35, 41, 60, 66, 72, 78, 97, 103, 109, 115}, // C
+ { 5, 11, 17, 42, 48, 54, 79, 85, 91, NO_LED, NO_LED, NO_LED}, // C#
+ {28, 34, 40, 65, 71, 77, 102, 108, 114, NO_LED, NO_LED, NO_LED}, // D
+ { 6, 12, 18, 43, 49, 55, 80, 86, 92, NO_LED, NO_LED, NO_LED}, // D#
+ {27, 33, 39, 64, 70, 76, 101, 107, 113, NO_LED, NO_LED, NO_LED}, // E
+ { 7, 13, 19, 44, 50, 56, 81, 87, 93, NO_LED, NO_LED, NO_LED}, // F
+ {26, 32, 38, 63, 69, 75, 100, 106, 112, NO_LED, NO_LED, NO_LED}, // F#
+ { 8, 14, 20, 45, 51, 57, 82, 88, 94, NO_LED, NO_LED, NO_LED}, // G
+ {25, 31, 37, 62, 68, 74, 99, 105, 111, NO_LED, NO_LED, NO_LED}, // G#
+ { 9, 15, 21, 46, 52, 58, 83, 89, 95, NO_LED, NO_LED, NO_LED}, // A
+ {24, 30, 36, 61, 67, 73, 98, 104, 110, NO_LED, NO_LED, NO_LED}, // A#
+ {10, 16, 22, 47, 53, 59, 84, 90, 96, NO_LED, NO_LED, NO_LED} // B
+};
+
+const uint8_t led_single_col_indicator[37][3] = {
+ {41, 78, 115}, // K01 = C1
+ { 5, 42, 79}, // K02 = C#1
+ {40, 77, 114}, // K03 = D1
+ { 6, 43, 80}, // K04 = D#1
+ {39, 76, 113}, // K05 = E1
+ { 7, 44, 81}, // K06 = F1
+ {38, 75, 112}, // K07 = F#1
+ { 8, 45, 82}, // K08 = G1
+ {37, 74, 111}, // K09 = G#1
+ { 9, 46, 83}, // K10 = A1
+ {36, 73, 110}, // K11 = A#1
+ {10, 47, 84}, // K12 = B1
+ {35, 72, 109}, // K13 = C2
+ {11, 48, 85}, // K14 = C#2
+ {34, 71, 108}, // K15 = D2
+ {12, 49, 86}, // K16 = D#2
+ {33, 70, 107}, // K17 = E2
+ {13, 50, 87}, // K18 = F2
+ {32, 69, 106}, // K19 = F#2
+ {14, 51, 88}, // K20 = G2
+ {31, 68, 105}, // K21 = G#2
+ {15, 52, 89}, // K22 = A2
+ {30, 67, 104}, // K23 = A#2
+ {16, 53, 90}, // K24 = B2
+ {29, 66, 103}, // K25 = C3
+ {17, 54, 91}, // K26 = C#3
+ {28, 65, 102}, // K27 = D3
+ {18, 55, 92}, // K28 = D#3
+ {27, 64, 101}, // K29 = E3
+ {19, 56, 93}, // K30 = F3
+ {26, 63, 100}, // K31 = F#3
+ {20, 57, 94}, // K32 = G3
+ {25, 62, 99}, // K33 = G#3
+ {21, 58, 95}, // K34 = A3
+ {24, 61, 98}, // K35 = A#3
+ {22, 59, 96}, // K36 = B3
+ {23, 60, 97} // K37 = C4
+};
+
+#endif // RGB_MATRIX_ENABLE
+
+uint8_t shift_led_indicator_left(uint8_t scale_indicator_col){
+ if (scale_indicator_col > 0) {
+ scale_indicator_col--;
+ } else {
+ scale_indicator_col = 11;
+ }
+ return scale_indicator_col;
+}
+
+uint8_t shift_led_indicator_right(uint8_t scale_indicator_col){
+ if (scale_indicator_col < 11) {
+ scale_indicator_col++;
+ } else {
+ scale_indicator_col = 0;
+ }
+ return scale_indicator_col;
+}
+
+#ifdef ENCODER_ENABLE
+# ifdef ENCODERS
+static uint8_t encoder_state[ENCODERS] = {0};
+static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
+static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
+# endif
+
+void encoder_action_unregister(void) {
+# ifdef ENCODERS
+ for (int index = 0; index < ENCODERS; ++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);
+ }
+ }
+# endif
+}
+
+void encoder_action_register(uint8_t index, bool clockwise) {
+# ifdef ENCODERS
+ 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);
+# ifdef CONSOLE_ENABLE
+ uprintf("encoder_action_register index = %u, clockwise = %u, row = %u, col = %u\n", index, clockwise, encoder_event.key.row, encoder_event.key.col);
+# endif
+ action_exec(encoder_event);
+# endif
+}
+
+void matrix_scan_kb(void) {
+ encoder_action_unregister();
+ matrix_scan_user();
+}
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ encoder_action_register(index, clockwise);
+ // don't return user actions, because they are in the keymap
+ // encoder_update_user(index, clockwise);
+ return true;
+};
+
+#endif
diff --git a/keyboards/chromatonemini/chromatonemini.h b/keyboards/chromatonemini/chromatonemini.h
new file mode 100644
index 0000000000..83838be73e
--- /dev/null
+++ b/keyboards/chromatonemini/chromatonemini.h
@@ -0,0 +1,122 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ enc, sustain, ccw, cw, \
+ up, \
+ left, right, k01, k03, k05, k07, k09, k11, k13, k15, k17, k19, k21, k23, k25, k27, k29, k31, k33, k35, k37, \
+ down, k02, k04, k06, k08, k10, k12, k14, k16, k18, k20, k22, k24, k26, k28, k30, k32, k34, k36 \
+) { \
+ { enc, down, left, right, up, k01, k02, sustain }, \
+ { k03, k04, k05, k06, k07, k08, k09, ccw }, \
+ { k10, k11, k12, k13, k14, k15, k16, cw }, \
+ { k17, k18, k19, k20, k21, k22, k23, KC_NO }, \
+ { k24, k25, k26, k27, k28, k29, k30, KC_NO }, \
+ { k31, k32, k33, k34, k35, k36, k37, KC_NO } \
+}
+
+
+#ifdef RGB_MATRIX_ENABLE
+extern led_config_t g_led_config;
+extern const uint8_t led_scale_indicator[12][12];
+extern const uint8_t led_single_col_indicator[37][3];
+
+ // default base layer color
+# define BASE_LAYER_COLOR RGB_DARKGOLDENROD
+
+ // border color
+# define FLIP_BORDER_COLOR RGB_DARKRED
+
+ // flip entirely
+# define FLIPB_LAYER_COLOR RGB_DARKYELLOW
+
+ // channel separation group
+# define SEPALEFT_LAYER_COLOR RGB_DARKGREEN
+# define SEPAHALF_LAYER_COLOR RGB_DARKGREEN
+# define SEPARIGHT_LAYER_COLOR RGB_DARKGREEN
+
+ // Trans group
+# define TRANS_LAYER_COLOR RGB_DARKORANGE
+# define SEPALEFT_T_LAYER_COLOR RGB_DARKORANGE
+# define SEPAHALF_T_LAYER_COLOR RGB_DARKORANGE
+# define SEPARIGHT_T_LAYER_COLOR RGB_DARKORANGE
+# define FLIPT_LAYER_COLOR RGB_DARKORANGE
+#endif // RGB_MATRIX_ENABLE
+
+// Defines names for use in _FN layer to specify which column to be used to turn on the LEDs.
+// use this with led_single_col_indicator[37][3], ex. led_single_col_indicator[_FN_C2][0].
+enum my_key_names {
+ _KEY01= 0,
+ _KEY02,
+ _KEY03,
+ _KEY04,
+ _KEY05,
+ _KEY06,
+ _KEY07,
+ _KEY08,
+ _KEY09,
+ _KEY10,
+ _KEY11,
+ _KEY12,
+ _KEY13,
+ _KEY14,
+ _KEY15,
+ _KEY16,
+ _KEY17,
+ _KEY18,
+ _KEY19,
+ _KEY20,
+ _KEY21,
+ _KEY22,
+ _KEY23,
+ _KEY24,
+ _KEY25,
+ _KEY26,
+ _KEY27,
+ _KEY28,
+ _KEY29,
+ _KEY30,
+ _KEY31,
+ _KEY32,
+ _KEY33,
+ _KEY34,
+ _KEY35,
+ _KEY36,
+ _KEY37,
+};
+
+#ifdef MIDI_ENABLE
+extern MidiDevice midi_device;
+#endif // MIDI_ENABLE
+
+uint8_t shift_led_indicator_left(uint8_t scale_indicator_col);
+uint8_t shift_led_indicator_right(uint8_t scale_indicator_col);
+
+void encoder_action_unregister(void);
+
+void encoder_action_register(uint8_t index, bool clockwise);
diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h
new file mode 100644
index 0000000000..49b8eef7a8
--- /dev/null
+++ b/keyboards/chromatonemini/config.h
@@ -0,0 +1,283 @@
+/*
+Copyright 2021 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 8
+
+/*
+ * 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, D7, C6, D4, D0, D1 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+//#define LED_NUM_LOCK_PIN B0
+//#define LED_CAPS_LOCK_PIN B1
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+//#ifdef RGB_DI_PIN
+//# define RGBLED_NUM 16
+//# 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 */
+/*== 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+//#endif
+
+
+#ifdef RGB_MATRIX_ENABLE
+
+/* ws2812 RGB MATRIX */
+# define DRIVER_LED_TOTAL 116
+
+ // reacts to keypresses
+# define RGB_MATRIX_KEYPRESSES
+
+// for all fingers used at once.
+# define LED_HITS_TO_REMEMBER 10
+
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
+# define RGB_MATRIX_STARTUP_SPD 127
+# define RGB_MATRIX_CENTER { 124, 32 }
+// the above brighness setting has no effect on rgb_matrix_set_color().
+// Use darker colors instead.
+/* RGB darker COLORS */
+# define RGB_DARKWHITE 0x33, 0x33, 0x33
+# define RGB_DARKRED 0x33, 0x0, 0x0
+# define RGB_DARKCORAL 0x33, 0x18, 0xF
+# define RGB_DARKORANGE 0x33, 0x19, 0x0
+# define RGB_DARKGOLDENROD 0x2B, 0x21, 0x6
+# define RGB_DARKGOLD 0x33, 0x2B, 0x0
+# define RGB_DARKYELLOW 0x33, 0x33, 0x0
+# define RGB_DARKCHARTREUSE 0x19, 0x33, 0x0
+# define RGB_DARKGREEN 0x0, 0x33, 0x0
+# define RGB_DARKSPRINGGREEN 0x0, 0x33, 0x19
+# define RGB_DARKTURQUOISE 0xE, 0x16, 0x15
+# define RGB_DARKTEAL 0x0, 0x19, 0x19
+# define RGB_DARKCYAN 0x0, 0x33, 0x33
+# define RGB_DARKAZURE 0x1E, 0x31, 0x33
+# define RGB_DARKBLUE 0x0, 0x0, 0x33
+# define RGB_DARKPURPLE 0x18, 0x0, 0x33
+# define RGB_DARKMAGENTA 0x33, 0x0, 0x33
+# define RGB_DARKPINK 0x33, 0x19, 0x26
+
+// https://docs.qmk.fm/#/feature_rgb_matrix
+// Enable suspend mode.
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+# ifdef CONSOLE_ENABLE
+# define ENABLE_RGB_MATRIX_SOLID_COLOR
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# else
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# endif // CONSOLE_ENABLE
+#endif // RGB_MATRIX_ENABLE
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
+
+/* Audio */
+#ifdef AUDIO_ENABLE
+# define AUDIO_PIN B6 // use PB6 = PIN10 as Audio output
+// #define DAC_SAMPLE_MAX 32768U
+# define DAC_SAMPLE_MAX 65535U
+// #define AUDIO_CLICKY
+# define NO_MUSIC_MODE
+// #define STARTUP_SONG SONG(FANTASIE_IMPROMPTU)
+// #define STARTUP_SONG SONG(NOCTURNE_OP_9_NO_1)
+// #define STARTUP_SONG SONG(USSR_ANTHEM)
+// #define STARTUP_SONG SONG(CAMPANELLA)
+#endif // AUDIO_ENABLE
+
+/*
+ * MIDI options
+ */
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+#ifdef MIDI_ENABLE
+# define MIDI_ADVANCED
+// Initial velocity value (avoid using 127 since it is used as a special number in some sound sources.)
+# define MIDI_INITIAL_VELOCITY 117
+#endif // MIDI_ENABLE
+
+/*
+ * Encoder options
+ */
+#ifdef ENCODER_ENABLE
+# define ENCODERS_PAD_A { B5 }
+# define ENCODERS_PAD_B { B4 }
+# define ENCODER_RESOLUTION 4
+# define TAP_CODE_DELAY 10
+
+#define ENCODERS 1
+#define ENCODERS_CW_KEY { {7, 2} }
+#define ENCODERS_CCW_KEY { {7, 1} }
+#endif // ENCODER_ENABLE
+
+/* 2021/01/22 added to shrink firmware size */
+// NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods...
+// #define NO_ACTION_TAPPING
+// NO_ACTION_ONESHOT -388 bytes
+#define NO_ACTION_ONESHOT
diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json
new file mode 100644
index 0000000000..5f77db05ee
--- /dev/null
+++ b/keyboards/chromatonemini/info.json
@@ -0,0 +1,61 @@
+{
+ "keyboard_name": "chromatonemini",
+ "manufacturer": "3araht",
+ "url": "https://github.com/3araht/chromatonemini",
+ "maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B4",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"enc", "x":0.5, "y":0},
+ {"label":"sustain", "x":1.5, "y":0},
+ {"label":"ccw", "x":2.5, "y":0},
+ {"label":"cw", "x":3.5, "y":0},
+ {"label":"up", "x":0.5, "y":1.5},
+ {"label":"left", "x":0, "y":2.5},
+ {"label":"right", "x":1, "y":2.5},
+ {"label":"k01", "x":2.5, "y":2.5},
+ {"label":"k03", "x":3.5, "y":2.5},
+ {"label":"k05", "x":4.5, "y":2.5},
+ {"label":"k07", "x":5.5, "y":2.5},
+ {"label":"k09", "x":6.5, "y":2.5},
+ {"label":"k11", "x":7.5, "y":2.5},
+ {"label":"k13", "x":8.5, "y":2.5},
+ {"label":"k15", "x":9.5, "y":2.5},
+ {"label":"k17", "x":10.5, "y":2.5},
+ {"label":"k19", "x":11.5, "y":2.5},
+ {"label":"k21", "x":12.5, "y":2.5},
+ {"label":"k23", "x":13.5, "y":2.5},
+ {"label":"k25", "x":14.5, "y":2.5},
+ {"label":"k27", "x":15.5, "y":2.5},
+ {"label":"k29", "x":16.5, "y":2.5},
+ {"label":"k31", "x":17.5, "y":2.5},
+ {"label":"k33", "x":18.5, "y":2.5},
+ {"label":"k35", "x":19.5, "y":2.5},
+ {"label":"k37", "x":20.5, "y":2.5},
+ {"label":"down", "x":0.5, "y":3.5},
+ {"label":"k02", "x":3, "y":3.5},
+ {"label":"k04", "x":4, "y":3.5},
+ {"label":"k06", "x":5, "y":3.5},
+ {"label":"k08", "x":6, "y":3.5},
+ {"label":"k10", "x":7, "y":3.5},
+ {"label":"k12", "x":8, "y":3.5},
+ {"label":"k14", "x":9, "y":3.5},
+ {"label":"k16", "x":10, "y":3.5},
+ {"label":"k18", "x":11, "y":3.5},
+ {"label":"k20", "x":12, "y":3.5},
+ {"label":"k22", "x":13, "y":3.5},
+ {"label":"k24", "x":14, "y":3.5},
+ {"label":"k26", "x":15, "y":3.5},
+ {"label":"k28", "x":16, "y":3.5},
+ {"label":"k30", "x":17, "y":3.5},
+ {"label":"k32", "x":18, "y":3.5},
+ {"label":"k34", "x":19, "y":3.5},
+ {"label":"k36", "x":20, "y":3.5}]
+ }
+ }
+}
diff --git a/keyboards/chromatonemini/keymaps/default/keymap.c b/keyboards/chromatonemini/keymaps/default/keymap.c
new file mode 100644
index 0000000000..102aba930a
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/default/keymap.c
@@ -0,0 +1,106 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _RESERVE,
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ L_BASE = SAFE_RANGE,
+ L_RESERVE,
+ VERSION
+};
+
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ MI_TRNSD, MI_TRNSU, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* RESERVE */
+ [_RESERVE] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX,
+ MI_VELU,
+ MI_OCTD, MI_OCTU, L_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, XXXXXXX,
+ MI_VELD, L_RESERVE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX
+ )
+};
+
+// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+void my_init(void){
+ // Set octave to MI_OCT_1
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+ default_layer_set(1UL << _BASE);
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ midi_init();
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void keyboard_post_init_user(void) {
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+};
+
+void reset_scale_indicator(void) {
+ // reset transpose value and scale_indicator_col to default.
+ midi_config.transpose = 0;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ case L_BASE:
+ reset_scale_indicator();
+ default_layer_set(1UL << _BASE);
+ break;
+
+ case L_RESERVE:
+ reset_scale_indicator();
+ default_layer_set(1UL << _RESERVE);
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/chromatonemini/keymaps/default/readme.md b/keyboards/chromatonemini/keymaps/default/readme.md
new file mode 100644
index 0000000000..4a18250f97
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for chromatonemini
diff --git a/keyboards/chromatonemini/keymaps/led/keymap.c b/keyboards/chromatonemini/keymaps/led/keymap.c
new file mode 100644
index 0000000000..99da8ed0c9
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/led/keymap.c
@@ -0,0 +1,682 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// define which MIDI ch to use.
+// Note that (actual MIDI ch# - 1) -> 0 .. 15 is used for coding.
+// ch1
+#define DEFAULT_MAIN_CH_NUMBER 0
+// ch3
+#define DEFAULT_SUB_CH_NUMBER 2
+// ch2
+#define ALT_MAIN_CH_NUMBER 1
+// ch4
+#define ALT_SUB_CH_NUMBER 3
+static uint8_t midi_left_ch = DEFAULT_SUB_CH_NUMBER; // By default, DEFAULT_SUB_CH_NUMBER is used for left side when separated.
+
+// By default( when use_alt_ch_gr == false), DEFAULT ch group (DEFAULT_MAIN_CH_NUMBER for entirely, or right side when separated, DEFAULT_SUB_CH_NUMBER for left side) is used.
+// When false, ALT ch group (ALT_MAIN_CH_NUMBER for entirely, or right side when separated, ALT_SUB_CH_NUMBER for left side) is used.
+static bool use_alt_ch_gr = false;
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE, // Base layer, shift mode, single channel.
+ _SEPALEFTOCT, // 1st oct channel separated version. Shift mode.
+ _SEPAHALF, // Half channel separated version. Shift mode.
+ _SEPARIGHTOCT, // 2nd oct channel separated version. Shift mode.
+ _TRANS, // Transpose feature is enabled instead of shift mode, single channel.
+ _FLIPBASE, // Horizontal flipped version entirely. single channel.
+ _FLIPTRANS, // Horizontal flipped version entirely. Transpose is used. single channel.
+ _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings.
+};
+
+// Layer State
+#define _LS_BASE (1UL << _BASE)
+#define _LS_SEPALEFTOCT (1UL << _SEPALEFTOCT)
+#define _LS_SEPAHALF (1UL << _SEPAHALF)
+#define _LS_SEPARIGHTOCT (1UL << _SEPARIGHTOCT)
+#define _LS_FLIPBASE (1UL << _FLIPBASE)
+
+#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS)
+#define _LS_SEPALEFTOCT_T (1UL << _SEPALEFTOCT | 1UL << _TRANS)
+#define _LS_SEPAHALF_T (1UL << _SEPAHALF | 1UL << _TRANS)
+#define _LS_SEPARIGHTOCT_T (1UL << _SEPARIGHTOCT | 1UL << _TRANS)
+#define _LS_FLIPTRANS (1UL << _FLIPBASE | 1UL << _FLIPTRANS)
+
+#define _LS_FN (1UL << _FN)
+#define _LS_MAX (_LS_FN << 1)
+
+// Don't change the DEFAULT_SCALE_COL value below. It must be 0.
+#define DEFAULT_SCALE_COL 0
+static uint8_t scale_indicator_col = DEFAULT_SCALE_COL;
+static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ...
+
+// use led indicator or not.
+static bool led_indicator_enable = true;
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ SHIFT_L = SAFE_RANGE,
+ SHIFT_R,
+ TGLINDI, // ToGgLe INDIcator
+ TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode
+ TGLTRNS, // ToGgLe TRaNS and shift
+ TGLCHGR, // ToGgLe CH GRoup
+ VERSION,
+
+ B_BASE, // border set to the left end.
+ B_LEFT, // border set to the 1st left octave.
+ B_CENTER, // border set to the center.
+ B_RIGHT, // border set to the 1st right octave.
+ B_FLIP, // border set to the right end.
+
+ // MY tone for _FLIPHALF and _FLIPLEFTOCT layers to distinguish the notes to avoid sustain effect, etc.
+ // Since they are flipped, their subscripts are not MY_ but YM_, to make them easier to tell.
+ YM_TONE_MIN,
+
+ YM_C = YM_TONE_MIN,
+ YM_Cs,
+ YM_Db = YM_Cs,
+ YM_D,
+ YM_Ds,
+ YM_Eb = YM_Ds,
+ YM_E,
+ YM_F,
+ YM_Fs,
+ YM_Gb = YM_Fs,
+ YM_G,
+ YM_Gs,
+ YM_Ab = YM_Gs,
+ YM_A,
+ YM_As,
+ YM_Bb = YM_As,
+ YM_B,
+
+ YM_C_1,
+ YM_Cs_1,
+ YM_Db_1 = YM_Cs_1,
+ YM_D_1,
+ YM_Ds_1,
+ YM_Eb_1 = YM_Ds_1,
+ YM_E_1,
+ YM_F_1,
+ YM_Fs_1,
+ YM_Gb_1 = YM_Fs_1,
+ YM_G_1,
+ YM_Gs_1,
+ YM_Ab_1 = YM_Gs_1,
+ YM_A_1,
+ YM_As_1,
+ YM_Bb_1 = YM_As_1,
+ YM_B_1,
+
+ YM_C_2,
+ YM_Cs_2,
+ YM_Db_2 = YM_Cs_2,
+ YM_D_2,
+ YM_Ds_2,
+ YM_Eb_2 = YM_Ds_2,
+ YM_E_2,
+ YM_F_2,
+ YM_Fs_2,
+ YM_Gb_2 = YM_Fs_2,
+ YM_G_2,
+ YM_Gs_2,
+ YM_Ab_2 = YM_Gs_2,
+ YM_A_2,
+ YM_As_2,
+ YM_Bb_2 = YM_As_2,
+ YM_B_2,
+
+ YM_C_3,
+ YM_Cs_3,
+ YM_Db_3 = YM_Cs_3,
+ YM_D_3,
+ YM_Ds_3,
+ YM_Eb_3 = YM_Ds_3,
+ YM_E_3,
+ YM_F_3,
+ YM_Fs_3,
+ YM_Gb_3 = YM_Fs_3,
+ YM_G_3,
+ YM_Gs_3,
+ YM_Ab_3 = YM_Gs_3,
+ YM_A_3,
+ YM_As_3,
+ YM_Bb_3 = YM_As_3,
+ YM_B_3,
+
+ YM_C_4,
+ YM_Cs_4,
+ YM_Db_4 = YM_Cs_4,
+ YM_D_4,
+ YM_Ds_4,
+ YM_Eb_4 = YM_Ds_4,
+ YM_E_4,
+ YM_F_4,
+ YM_Fs_4,
+ YM_Gb_4 = YM_Fs_4,
+ YM_G_4,
+ YM_Gs_4,
+ YM_Ab_4 = YM_Gs_4,
+ YM_A_4,
+ YM_As_4,
+ YM_Bb_4 = YM_As_4,
+ YM_B_4,
+
+ YM_C_5,
+ YM_Cs_5,
+ YM_Db_5 = YM_Cs_5,
+ YM_D_5,
+ YM_Ds_5,
+ YM_Eb_5 = YM_Ds_5,
+ YM_E_5,
+ YM_F_5,
+ YM_Fs_5,
+ YM_Gb_5 = YM_Fs_5,
+ YM_G_5,
+ YM_Gs_5,
+ YM_Ab_5 = YM_Gs_5,
+ YM_A_5,
+ YM_As_5,
+ YM_Bb_5 = YM_As_5,
+ YM_B_5,
+
+ YM_C_6,
+ YM_TONE_MAX = YM_C_6
+};
+
+#define MY_TONE_COUNT (YM_TONE_MAX - YM_TONE_MIN + 1)
+static uint8_t my_tone_status[MY_TONE_COUNT];
+
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+static bool is_trans_mode = false; // By default, shift mode is chosen.
+
+static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By default, _KEY01 (= _BASE layer) is chosen. _KEY13 = *LEFT, _KEY19 = *HALF, _KEY25 = *RIGHT, _KEY37 = _FLIPBASE and _FLIPTRANS.
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* 1 octave on the left side is ch2, others are ch1 (normal) */
+ [_SEPALEFTOCT] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* Half ch2, half ch1 (normal) */
+ [_SEPAHALF] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* 2 octave on the left side is ch2, others are ch1 (normal) */
+ [_SEPARIGHTOCT] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* TRANS This layer must locate 1 layer below _FN layer. */
+ [_TRANS] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Flip Base SFIFTUP and SHIFT_L are swapped. */
+ [_FLIPBASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
+ MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2
+ ),
+
+ /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */
+ [_FLIPTRANS] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ _______, XXXXXXX, RGB_RMOD, RGB_MOD,
+ MI_VELU,
+ MI_OCTD, MI_OCTU, B_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP,
+ MI_VELD, TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
+ )
+};
+
+// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+void my_init(void){
+ // Set octave to MI_OCT_1
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+ default_layer_set(_LS_BASE);
+ layer_state_set(_LS_BASE);
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_sethsv(HSV_BLUE);
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_solid_reactive_col);
+#endif // RGB_MATRIX_ENABLE
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ midi_init();
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_enable();
+ rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
+#endif // RGB_MATRIX_ENABLE
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void keyboard_post_init_user(void) {
+ for (uint8_t i = 0; i < MY_TONE_COUNT; i++) {
+ my_tone_status[i] = MIDI_INVALID_NOTE;
+ }
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void reset_scale_indicator(void) {
+ // reset transpose value and scale_indicator_col to default.
+ midi_config.transpose = 0;
+ scale_indicator_col = DEFAULT_SCALE_COL;
+ trans_mode_indicator_loc_sel = true;
+}
+
+void reset_all(void) {
+ reset_scale_indicator();
+ is_trans_mode = false; // trans mode is disabled by default.
+}
+
+void my_process_midi4single_note(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status) {
+ uint8_t mytone = keycode - YM_TONE_MIN;
+ uint16_t mykeycode = mytone + MIDI_TONE_MIN;
+ // uint16_t mykeycode = keycode - YM_TONE_MIN;
+ // uint8_t mytone = mykeycode - MIDI_TONE_MIN;
+ uint8_t velocity = midi_config.velocity;
+ // uprintf("keycode=%u,mykeycode=%u,mytone =%u,velo = %u\n", keycode, mykeycode, mytone, velocity);
+ if (record->event.pressed) {
+ if (my_tone_status[mytone] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(mykeycode);
+ midi_send_noteon(&midi_device, channel, note, velocity);
+ dprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity);
+ // uprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity);
+ my_tone_status[mytone] = note; // store root_note status.
+ }
+ } else {
+ uint8_t note = my_tone_status[mytone];
+ if (note != MIDI_INVALID_NOTE) {
+ midi_send_noteoff(&midi_device, channel, note, velocity);
+ dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ // uprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ }
+ my_tone_status[mytone] = MIDI_INVALID_NOTE;
+ }
+}
+
+void select_layer_state_set(void) {
+ switch (key_separator_col) {
+ case _KEY01:
+ if (is_trans_mode) {
+ layer_state_set(_LS_TRANS);
+ } else {
+ layer_state_set(_LS_BASE);
+ }
+ break;
+
+ case _KEY13:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPALEFTOCT_T);
+ } else {
+ layer_state_set(_LS_SEPALEFTOCT);
+ }
+ break;
+
+ case _KEY19:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPAHALF_T);
+ } else {
+ layer_state_set(_LS_SEPAHALF);
+ }
+ break;
+
+ case _KEY25:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPARIGHTOCT_T);
+ } else {
+ layer_state_set(_LS_SEPARIGHTOCT);
+ }
+ break;
+
+ case _KEY37:
+ if (is_trans_mode) {
+ layer_state_set(_LS_FLIPTRANS);
+ } else {
+ layer_state_set(_LS_FLIPBASE);
+ }
+ break;
+ }
+}
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // Layer-related settings.
+ // reset_scale_indicator() first, followed by each modification, and then change the default layer.
+
+ // 1, separator column modification
+ case B_BASE:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY01;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_LEFT:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY13;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_CENTER:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY19;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_RIGHT:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY25;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_FLIP:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY37;
+ select_layer_state_set();
+ }
+ break;
+
+ // 2, Toggle scale shift mode and transpose mode
+ case TGLTRNS:
+ if (record->event.pressed) {
+ reset_scale_indicator();
+ is_trans_mode = !is_trans_mode;
+ select_layer_state_set();
+ }
+ break;
+
+ // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE.
+ case SHIFT_L:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ case _LS_BASE:
+ case _LS_SEPALEFTOCT:
+ case _LS_SEPAHALF:
+ case _LS_SEPARIGHTOCT:
+ case _LS_FLIPBASE:
+ scale_indicator_col = shift_led_indicator_left(scale_indicator_col);
+ break;
+ }
+ }
+ break;
+
+ case SHIFT_R:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ case _LS_BASE:
+ case _LS_SEPALEFTOCT:
+ case _LS_SEPAHALF:
+ case _LS_SEPARIGHTOCT:
+ case _LS_FLIPBASE:
+ scale_indicator_col = shift_led_indicator_right(scale_indicator_col);
+ break;
+ }
+ }
+ break;
+
+ case TGLINDI:
+ if (record->event.pressed) {
+ led_indicator_enable = !led_indicator_enable;
+ }
+ break;
+
+ case TGLINTR:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel.
+ case _LS_TRANS | (1UL << _FN):
+ case _LS_SEPALEFTOCT_T | (1UL << _FN):
+ case _LS_SEPAHALF_T | (1UL << _FN):
+ case _LS_SEPARIGHTOCT_T | (1UL << _FN):
+ trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
+
+ // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
+ scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1;
+ // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
+ if (scale_indicator_col == 1) {
+ midi_config.transpose = -1;
+ } else {
+ midi_config.transpose = 0;
+ }
+ break;
+
+ // main function of the TGLINTR part 2. alternate the status of trans_mode_indicator_loc_sel.
+ case _LS_FLIPTRANS | (1UL << _FN):
+ trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
+
+ // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
+ scale_indicator_col = trans_mode_indicator_loc_sel ? 0:11;
+ // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
+ if (scale_indicator_col == 11) {
+ midi_config.transpose = -1;
+ } else {
+ midi_config.transpose = 0;
+ }
+ break;
+
+ // special treatment when TGLINTR is pressed in _LS_FLIPBASE layer.
+ case _LS_FLIPBASE | (1UL << _FN): // when in FLIPBASE layer && non-Trans mode, change it to Trans mode.
+ trans_mode_indicator_loc_sel = false;
+ scale_indicator_col = 11;
+ midi_config.transpose = -1;
+ is_trans_mode = true;
+ select_layer_state_set();
+ break;
+
+
+ // special treatment when TGLINTR is pressed in other non-Trans layer.
+ default : // when other layers = non-Trans mode, change it to Trans mode.
+ trans_mode_indicator_loc_sel = false;
+ scale_indicator_col = 1;
+ midi_config.transpose = -1;
+ is_trans_mode = true;
+ select_layer_state_set();
+ }
+ }
+ break;
+
+ case TGLCHGR:
+ if (record->event.pressed) {
+ use_alt_ch_gr = !use_alt_ch_gr;
+ if (use_alt_ch_gr) {
+ midi_config.channel = ALT_MAIN_CH_NUMBER;
+ midi_left_ch = ALT_SUB_CH_NUMBER;
+ } else { // default
+ midi_config.channel = DEFAULT_MAIN_CH_NUMBER;
+ midi_left_ch = DEFAULT_SUB_CH_NUMBER;
+ }
+ }
+ break;
+
+ case YM_TONE_MIN ... YM_TONE_MAX: // MY tone
+ // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
+ // DO NOT THROW BELOW into 'if (record->event.pressed) {}' STATEMENT SINCE IT IS USED IN THE FUNCTION BELOW.
+ my_process_midi4single_note(midi_left_ch, keycode, record, my_tone_status);
+ break;
+ }
+ return true;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
+ uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+ if (led_indicator_enable) { // turn on indicators when enabled.
+ max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9;
+ for (i = 0; i < max_scale_indicator_led_loop; i++) {
+ rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b);
+ }
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ // uint32_t mode = rgblight_get_mode();
+
+ if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
+
+ // uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+
+ switch (layer_state) {
+ case _LS_BASE:
+ set_led_scale_indicator(BASE_LAYER_COLOR);
+ break;
+
+ case _LS_FLIPBASE:
+ set_led_scale_indicator(FLIPB_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end
+ }
+ break;
+
+ case _LS_TRANS:
+ set_led_scale_indicator(TRANS_LAYER_COLOR);
+ break;
+
+ case _LS_SEPALEFTOCT_T:
+ set_led_scale_indicator(SEPALEFT_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left
+ }
+ break;
+
+ case _LS_SEPAHALF_T:
+ set_led_scale_indicator(SEPAHALF_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center
+ }
+ break;
+
+ case _LS_SEPARIGHTOCT_T:
+ set_led_scale_indicator(SEPARIGHT_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right
+ }
+ break;
+
+ case _LS_FLIPTRANS:
+ set_led_scale_indicator(FLIPT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end
+ }
+ break;
+
+ case _LS_SEPALEFTOCT:
+ set_led_scale_indicator(SEPALEFT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left
+ }
+ break;
+
+ case _LS_SEPAHALF:
+ set_led_scale_indicator(SEPAHALF_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center
+ }
+ break;
+
+ case _LS_SEPARIGHTOCT:
+ set_led_scale_indicator(SEPARIGHT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right
+ }
+ break;
+
+ case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active.
+ for (i = 1; i < 5; i++) {
+ rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys
+ }
+ rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS
+ rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR
+ rgb_matrix_set_color(led_single_col_indicator[_KEY06][0], RGB_DARKSPRINGGREEN); // TGLCHGR
+
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], SEPALEFT_LAYER_COLOR); // B_LEFT
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], SEPAHALF_LAYER_COLOR); // B_CENTER
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], SEPARIGHT_LAYER_COLOR); // B_RIGHT
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIPB_LAYER_COLOR); // B_FLIP
+ }
+
+ for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings.
+ // turn on the bottom row only to keep the visibility of the RGB MATRIX effects.
+ rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings.
+ }
+ break;
+ }
+ }
+}
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/chromatonemini/keymaps/led/readme.md b/keyboards/chromatonemini/keymaps/led/readme.md
new file mode 100644
index 0000000000..ed6cfd6040
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/led/readme.md
@@ -0,0 +1 @@
+# The LED enabled, customized keymap for chromatonemini
diff --git a/keyboards/chromatonemini/keymaps/led/rules.mk b/keyboards/chromatonemini/keymaps/led/rules.mk
new file mode 100644
index 0000000000..2e67e80675
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/led/rules.mk
@@ -0,0 +1,3 @@
+RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_CUSTOM_KB = yes #
+VIA_ENABLE = no # too many layers to use VIA...
diff --git a/keyboards/chromatonemini/keymaps/party/keymap.c b/keyboards/chromatonemini/keymaps/party/keymap.c
new file mode 100644
index 0000000000..258bfe55c1
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/party/keymap.c
@@ -0,0 +1,684 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// define which MIDI ch to use.
+// Note that (actual MIDI ch# - 1) -> 0 .. 15 is used for coding.
+// ch1
+#define DEFAULT_MAIN_CH_NUMBER 0
+// ch3
+#define DEFAULT_SUB_CH_NUMBER 2
+// ch2
+#define ALT_MAIN_CH_NUMBER 1
+// ch4
+#define ALT_SUB_CH_NUMBER 3
+static uint8_t midi_left_ch = DEFAULT_SUB_CH_NUMBER; // By default, DEFAULT_SUB_CH_NUMBER is used for left side when separated.
+
+// By default( when use_alt_ch_gr == false), DEFAULT ch group (DEFAULT_MAIN_CH_NUMBER for entirely, or right side when separated, DEFAULT_SUB_CH_NUMBER for left side) is used.
+// When false, ALT ch group (ALT_MAIN_CH_NUMBER for entirely, or right side when separated, ALT_SUB_CH_NUMBER for left side) is used.
+static bool use_alt_ch_gr = false;
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE, // Base layer, shift mode, single channel.
+ _SEPALEFTOCT, // 1st oct channel separated version. Shift mode.
+ _SEPAHALF, // Half channel separated version. Shift mode.
+ _SEPARIGHTOCT, // 2nd oct channel separated version. Shift mode.
+ _TRANS, // Transpose feature is enabled instead of shift mode, single channel.
+ _FLIPBASE, // Horizontal flipped version entirely. single channel.
+ _FLIPTRANS, // Horizontal flipped version entirely. Transpose is used. single channel.
+ _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings.
+};
+
+// Layer State
+#define _LS_BASE (1UL << _BASE)
+#define _LS_SEPALEFTOCT (1UL << _SEPALEFTOCT)
+#define _LS_SEPAHALF (1UL << _SEPAHALF)
+#define _LS_SEPARIGHTOCT (1UL << _SEPARIGHTOCT)
+#define _LS_FLIPBASE (1UL << _FLIPBASE)
+
+#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS)
+#define _LS_SEPALEFTOCT_T (1UL << _SEPALEFTOCT | 1UL << _TRANS)
+#define _LS_SEPAHALF_T (1UL << _SEPAHALF | 1UL << _TRANS)
+#define _LS_SEPARIGHTOCT_T (1UL << _SEPARIGHTOCT | 1UL << _TRANS)
+#define _LS_FLIPTRANS (1UL << _FLIPBASE | 1UL << _FLIPTRANS)
+
+#define _LS_FN (1UL << _FN)
+#define _LS_MAX (_LS_FN << 1)
+
+// Don't change the DEFAULT_SCALE_COL value below. It must be 0.
+#define DEFAULT_SCALE_COL 0
+static uint8_t scale_indicator_col = DEFAULT_SCALE_COL;
+static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ...
+
+// use led indicator or not.
+static bool led_indicator_enable = true;
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ SHIFT_L = SAFE_RANGE,
+ SHIFT_R,
+ TGLINDI, // ToGgLe INDIcator
+ TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode
+ TGLTRNS, // ToGgLe TRaNS and shift
+ TGLCHGR, // ToGgLe CH GRoup
+ VERSION,
+
+ B_BASE, // border set to the left end.
+ B_LEFT, // border set to the 1st left octave.
+ B_CENTER, // border set to the center.
+ B_RIGHT, // border set to the 1st right octave.
+ B_FLIP, // border set to the right end.
+
+ // MY tone for _FLIPHALF and _FLIPLEFTOCT layers to distinguish the notes to avoid sustain effect, etc.
+ // Since they are flipped, their subscripts are not MY_ but YM_, to make them easier to tell.
+ YM_TONE_MIN,
+
+ YM_C = YM_TONE_MIN,
+ YM_Cs,
+ YM_Db = YM_Cs,
+ YM_D,
+ YM_Ds,
+ YM_Eb = YM_Ds,
+ YM_E,
+ YM_F,
+ YM_Fs,
+ YM_Gb = YM_Fs,
+ YM_G,
+ YM_Gs,
+ YM_Ab = YM_Gs,
+ YM_A,
+ YM_As,
+ YM_Bb = YM_As,
+ YM_B,
+
+ YM_C_1,
+ YM_Cs_1,
+ YM_Db_1 = YM_Cs_1,
+ YM_D_1,
+ YM_Ds_1,
+ YM_Eb_1 = YM_Ds_1,
+ YM_E_1,
+ YM_F_1,
+ YM_Fs_1,
+ YM_Gb_1 = YM_Fs_1,
+ YM_G_1,
+ YM_Gs_1,
+ YM_Ab_1 = YM_Gs_1,
+ YM_A_1,
+ YM_As_1,
+ YM_Bb_1 = YM_As_1,
+ YM_B_1,
+
+ YM_C_2,
+ YM_Cs_2,
+ YM_Db_2 = YM_Cs_2,
+ YM_D_2,
+ YM_Ds_2,
+ YM_Eb_2 = YM_Ds_2,
+ YM_E_2,
+ YM_F_2,
+ YM_Fs_2,
+ YM_Gb_2 = YM_Fs_2,
+ YM_G_2,
+ YM_Gs_2,
+ YM_Ab_2 = YM_Gs_2,
+ YM_A_2,
+ YM_As_2,
+ YM_Bb_2 = YM_As_2,
+ YM_B_2,
+
+ YM_C_3,
+ YM_Cs_3,
+ YM_Db_3 = YM_Cs_3,
+ YM_D_3,
+ YM_Ds_3,
+ YM_Eb_3 = YM_Ds_3,
+ YM_E_3,
+ YM_F_3,
+ YM_Fs_3,
+ YM_Gb_3 = YM_Fs_3,
+ YM_G_3,
+ YM_Gs_3,
+ YM_Ab_3 = YM_Gs_3,
+ YM_A_3,
+ YM_As_3,
+ YM_Bb_3 = YM_As_3,
+ YM_B_3,
+
+ YM_C_4,
+ YM_Cs_4,
+ YM_Db_4 = YM_Cs_4,
+ YM_D_4,
+ YM_Ds_4,
+ YM_Eb_4 = YM_Ds_4,
+ YM_E_4,
+ YM_F_4,
+ YM_Fs_4,
+ YM_Gb_4 = YM_Fs_4,
+ YM_G_4,
+ YM_Gs_4,
+ YM_Ab_4 = YM_Gs_4,
+ YM_A_4,
+ YM_As_4,
+ YM_Bb_4 = YM_As_4,
+ YM_B_4,
+
+ YM_C_5,
+ YM_Cs_5,
+ YM_Db_5 = YM_Cs_5,
+ YM_D_5,
+ YM_Ds_5,
+ YM_Eb_5 = YM_Ds_5,
+ YM_E_5,
+ YM_F_5,
+ YM_Fs_5,
+ YM_Gb_5 = YM_Fs_5,
+ YM_G_5,
+ YM_Gs_5,
+ YM_Ab_5 = YM_Gs_5,
+ YM_A_5,
+ YM_As_5,
+ YM_Bb_5 = YM_As_5,
+ YM_B_5,
+
+ YM_C_6,
+ YM_TONE_MAX = YM_C_6
+};
+
+#define MY_TONE_COUNT (YM_TONE_MAX - YM_TONE_MIN + 1)
+static uint8_t my_tone_status[MY_TONE_COUNT];
+
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+static bool is_trans_mode = false; // By default, shift mode is chosen.
+
+static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By default, _KEY01 (= _BASE layer) is chosen. _KEY13 = *LEFT, _KEY19 = *HALF, _KEY25 = *RIGHT, _KEY37 = _FLIPBASE and _FLIPTRANS.
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* 1 octave on the left side is ch2, others are ch1 (normal) */
+ [_SEPALEFTOCT] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* Half ch2, half ch1 (normal) */
+ [_SEPAHALF] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* 2 octave on the left side is ch2, others are ch1 (normal) */
+ [_SEPARIGHTOCT] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* TRANS This layer must locate 1 layer below _FN layer. */
+ [_TRANS] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Flip Base SFIFTUP and SHIFT_L are swapped. */
+ [_FLIPBASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
+ MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2
+ ),
+
+ /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */
+ [_FLIPTRANS] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ _______, XXXXXXX, RGB_RMOD, RGB_MOD,
+ MI_VELU,
+ MI_OCTD, MI_OCTU, B_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP,
+ MI_VELD, TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
+ )
+};
+
+// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+void my_init(void){
+ // Set octave to MI_OCT_1
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+ default_layer_set(_LS_BASE);
+ layer_state_set(_LS_BASE);
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_sethsv(HSV_BLUE);
+ // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
+ rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+ led_indicator_enable = false;
+#endif // RGB_MATRIX_ENABLE
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ midi_init();
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_enable();
+ rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
+#endif // RGB_MATRIX_ENABLE
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void keyboard_post_init_user(void) {
+ for (uint8_t i = 0; i < MY_TONE_COUNT; i++) {
+ my_tone_status[i] = MIDI_INVALID_NOTE;
+ }
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void reset_scale_indicator(void) {
+ // reset transpose value and scale_indicator_col to default.
+ midi_config.transpose = 0;
+ scale_indicator_col = DEFAULT_SCALE_COL;
+ trans_mode_indicator_loc_sel = true;
+}
+
+void reset_all(void) {
+ reset_scale_indicator();
+ is_trans_mode = false; // trans mode is disabled by default.
+}
+
+void my_process_midi4single_note(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status) {
+ uint8_t mytone = keycode - YM_TONE_MIN;
+ uint16_t mykeycode = mytone + MIDI_TONE_MIN;
+ // uint16_t mykeycode = keycode - YM_TONE_MIN;
+ // uint8_t mytone = mykeycode - MIDI_TONE_MIN;
+ uint8_t velocity = midi_config.velocity;
+ // uprintf("keycode=%u,mykeycode=%u,mytone =%u,velo = %u\n", keycode, mykeycode, mytone, velocity);
+ if (record->event.pressed) {
+ if (my_tone_status[mytone] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(mykeycode);
+ midi_send_noteon(&midi_device, channel, note, velocity);
+ dprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity);
+ // uprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity);
+ my_tone_status[mytone] = note; // store root_note status.
+ }
+ } else {
+ uint8_t note = my_tone_status[mytone];
+ if (note != MIDI_INVALID_NOTE) {
+ midi_send_noteoff(&midi_device, channel, note, velocity);
+ dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ // uprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ }
+ my_tone_status[mytone] = MIDI_INVALID_NOTE;
+ }
+}
+
+void select_layer_state_set(void) {
+ switch (key_separator_col) {
+ case _KEY01:
+ if (is_trans_mode) {
+ layer_state_set(_LS_TRANS);
+ } else {
+ layer_state_set(_LS_BASE);
+ }
+ break;
+
+ case _KEY13:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPALEFTOCT_T);
+ } else {
+ layer_state_set(_LS_SEPALEFTOCT);
+ }
+ break;
+
+ case _KEY19:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPAHALF_T);
+ } else {
+ layer_state_set(_LS_SEPAHALF);
+ }
+ break;
+
+ case _KEY25:
+ if (is_trans_mode) {
+ layer_state_set(_LS_SEPARIGHTOCT_T);
+ } else {
+ layer_state_set(_LS_SEPARIGHTOCT);
+ }
+ break;
+
+ case _KEY37:
+ if (is_trans_mode) {
+ layer_state_set(_LS_FLIPTRANS);
+ } else {
+ layer_state_set(_LS_FLIPBASE);
+ }
+ break;
+ }
+}
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // Layer-related settings.
+ // reset_scale_indicator() first, followed by each modification, and then change the default layer.
+
+ // 1, separator column modification
+ case B_BASE:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY01;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_LEFT:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY13;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_CENTER:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY19;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_RIGHT:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY25;
+ select_layer_state_set();
+ }
+ break;
+
+ case B_FLIP:
+ if (record->event.pressed) {
+ reset_all();
+ key_separator_col = _KEY37;
+ select_layer_state_set();
+ }
+ break;
+
+ // 2, Toggle scale shift mode and transpose mode
+ case TGLTRNS:
+ if (record->event.pressed) {
+ reset_scale_indicator();
+ is_trans_mode = !is_trans_mode;
+ select_layer_state_set();
+ }
+ break;
+
+ // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE.
+ case SHIFT_L:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ case _LS_BASE:
+ case _LS_SEPALEFTOCT:
+ case _LS_SEPAHALF:
+ case _LS_SEPARIGHTOCT:
+ case _LS_FLIPBASE:
+ scale_indicator_col = shift_led_indicator_left(scale_indicator_col);
+ break;
+ }
+ }
+ break;
+
+ case SHIFT_R:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ case _LS_BASE:
+ case _LS_SEPALEFTOCT:
+ case _LS_SEPAHALF:
+ case _LS_SEPARIGHTOCT:
+ case _LS_FLIPBASE:
+ scale_indicator_col = shift_led_indicator_right(scale_indicator_col);
+ break;
+ }
+ }
+ break;
+
+ case TGLINDI:
+ if (record->event.pressed) {
+ led_indicator_enable = !led_indicator_enable;
+ }
+ break;
+
+ case TGLINTR:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel.
+ case _LS_TRANS | (1UL << _FN):
+ case _LS_SEPALEFTOCT_T | (1UL << _FN):
+ case _LS_SEPAHALF_T | (1UL << _FN):
+ case _LS_SEPARIGHTOCT_T | (1UL << _FN):
+ trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
+
+ // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
+ scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1;
+ // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
+ if (scale_indicator_col == 1) {
+ midi_config.transpose = -1;
+ } else {
+ midi_config.transpose = 0;
+ }
+ break;
+
+ // main function of the TGLINTR part 2. alternate the status of trans_mode_indicator_loc_sel.
+ case _LS_FLIPTRANS | (1UL << _FN):
+ trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
+
+ // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
+ scale_indicator_col = trans_mode_indicator_loc_sel ? 0:11;
+ // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
+ if (scale_indicator_col == 11) {
+ midi_config.transpose = -1;
+ } else {
+ midi_config.transpose = 0;
+ }
+ break;
+
+ // special treatment when TGLINTR is pressed in _LS_FLIPBASE layer.
+ case _LS_FLIPBASE | (1UL << _FN): // when in FLIPBASE layer && non-Trans mode, change it to Trans mode.
+ trans_mode_indicator_loc_sel = false;
+ scale_indicator_col = 11;
+ midi_config.transpose = -1;
+ is_trans_mode = true;
+ select_layer_state_set();
+ break;
+
+
+ // special treatment when TGLINTR is pressed in other non-Trans layer.
+ default : // when other layers = non-Trans mode, change it to Trans mode.
+ trans_mode_indicator_loc_sel = false;
+ scale_indicator_col = 1;
+ midi_config.transpose = -1;
+ is_trans_mode = true;
+ select_layer_state_set();
+ }
+ }
+ break;
+
+ case TGLCHGR:
+ if (record->event.pressed) {
+ use_alt_ch_gr = !use_alt_ch_gr;
+ if (use_alt_ch_gr) {
+ midi_config.channel = ALT_MAIN_CH_NUMBER;
+ midi_left_ch = ALT_SUB_CH_NUMBER;
+ } else { // default
+ midi_config.channel = DEFAULT_MAIN_CH_NUMBER;
+ midi_left_ch = DEFAULT_SUB_CH_NUMBER;
+ }
+ }
+ break;
+
+ case YM_TONE_MIN ... YM_TONE_MAX: // MY tone
+ // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
+ // DO NOT THROW BELOW into 'if (record->event.pressed) {}' STATEMENT SINCE IT IS USED IN THE FUNCTION BELOW.
+ my_process_midi4single_note(midi_left_ch, keycode, record, my_tone_status);
+ break;
+ }
+ return true;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
+ uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+ if (led_indicator_enable) { // turn on indicators when enabled.
+ max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9;
+ for (i = 0; i < max_scale_indicator_led_loop; i++) {
+ rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b);
+ }
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ // uint32_t mode = rgblight_get_mode();
+
+ if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
+
+ // uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+
+ switch (layer_state) {
+ case _LS_BASE:
+ set_led_scale_indicator(BASE_LAYER_COLOR);
+ break;
+
+ case _LS_FLIPBASE:
+ set_led_scale_indicator(FLIPB_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end
+ }
+ break;
+
+ case _LS_TRANS:
+ set_led_scale_indicator(TRANS_LAYER_COLOR);
+ break;
+
+ case _LS_SEPALEFTOCT_T:
+ set_led_scale_indicator(SEPALEFT_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left
+ }
+ break;
+
+ case _LS_SEPAHALF_T:
+ set_led_scale_indicator(SEPAHALF_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center
+ }
+ break;
+
+ case _LS_SEPARIGHTOCT_T:
+ set_led_scale_indicator(SEPARIGHT_T_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right
+ }
+ break;
+
+ case _LS_FLIPTRANS:
+ set_led_scale_indicator(FLIPT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end
+ }
+ break;
+
+ case _LS_SEPALEFTOCT:
+ set_led_scale_indicator(SEPALEFT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left
+ }
+ break;
+
+ case _LS_SEPAHALF:
+ set_led_scale_indicator(SEPAHALF_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center
+ }
+ break;
+
+ case _LS_SEPARIGHTOCT:
+ set_led_scale_indicator(SEPARIGHT_LAYER_COLOR);
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right
+ }
+ break;
+
+ case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active.
+ for (i = 1; i < 5; i++) {
+ rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys
+ }
+ rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS
+ rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR
+ rgb_matrix_set_color(led_single_col_indicator[_KEY06][0], RGB_DARKSPRINGGREEN); // TGLCHGR
+
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], SEPALEFT_LAYER_COLOR); // B_LEFT
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], SEPAHALF_LAYER_COLOR); // B_CENTER
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], SEPARIGHT_LAYER_COLOR); // B_RIGHT
+
+ rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIPB_LAYER_COLOR); // B_FLIP
+ }
+
+ for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings.
+ // turn on the bottom row only to keep the visibility of the RGB MATRIX effects.
+ rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings.
+ }
+ break;
+ }
+ }
+}
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/chromatonemini/keymaps/party/readme.md b/keyboards/chromatonemini/keymaps/party/readme.md
new file mode 100644
index 0000000000..8ca1b5a8ce
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/party/readme.md
@@ -0,0 +1,6 @@
+# The LED enabled, party mode for testing LED soldering, customized keymap for chromatonemini.
+
+The main differences between "led" and "party" are:
+// party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
+rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+led_indicator_enable = false;
diff --git a/keyboards/chromatonemini/keymaps/party/rules.mk b/keyboards/chromatonemini/keymaps/party/rules.mk
new file mode 100644
index 0000000000..2e67e80675
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/party/rules.mk
@@ -0,0 +1,3 @@
+RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_CUSTOM_KB = yes #
+VIA_ENABLE = no # too many layers to use VIA...
diff --git a/keyboards/chromatonemini/keymaps/via/config.h b/keyboards/chromatonemini/keymaps/via/config.h
new file mode 100644
index 0000000000..b5ee0ac04b
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/via/config.h
@@ -0,0 +1,4 @@
+#pragma once
+
+// How many layers to use with VIA / Remap.
+#define DYNAMIC_KEYMAP_LAYER_COUNT 4 // default:4
diff --git a/keyboards/chromatonemini/keymaps/via/keymap.c b/keyboards/chromatonemini/keymaps/via/keymap.c
new file mode 100644
index 0000000000..08613515db
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/via/keymap.c
@@ -0,0 +1,275 @@
+/* Copyright 2021 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE, // Base layer, shift mode, single channel.
+ _TRANS, // Transpose feature is enabled instead of shift mode, single channel.
+ _RESERVE, // RESERVE
+ _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings.
+};
+
+// Layer State
+#define _LS_BASE (1UL << _BASE)
+#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS)
+
+#define _LS_FN (1UL << _FN)
+#define _LS_MAX (_LS_FN << 1)
+
+// Don't change the DEFAULT_SCALE_COL value below. It must be 0.
+#define DEFAULT_SCALE_COL 0
+static uint8_t scale_indicator_col = DEFAULT_SCALE_COL;
+static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ...
+
+// use led indicator or not.
+static bool led_indicator_enable = true;
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ SHIFT_L = USER00,
+ SHIFT_R,
+ TGLINDI, // ToGgLe INDIcator
+ TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode
+ TGLTRNS, // ToGgLe TRaNS and shift
+
+ B_BASE, // border set to the left end.
+ VERSION
+};
+
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+static bool is_trans_mode = false; // By default, shift mode is chosen.
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ FN_MUTE, MI_SUS, KC_VOLD, KC_VOLU,
+ MI_BENDU,
+ SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
+ MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
+ ),
+
+ /* TRANS This layer must locate 1 layer below _FN layer. */
+ [_TRANS] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* RESERVE */
+ [_RESERVE] = LAYOUT(
+ _______, _______, _______, _______,
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ _______, XXXXXXX, RGB_RMOD, RGB_MOD,
+ MI_VELU,
+ MI_OCTD, MI_OCTU, B_BASE, DF(_RESERVE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, XXXXXXX,
+ MI_VELD, TGLINTR, TGLTRNS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
+ )
+};
+
+// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+void my_init(void){
+ // Set octave to MI_OCT_1
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+ default_layer_set(_LS_BASE);
+ layer_state_set(_LS_BASE);
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_solid_reactive_col);
+#endif // RGB_MATRIX_ENABLE
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ midi_init();
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_enable();
+ rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD);
+ rgb_matrix_sethsv(HSV_BLUE);
+#endif // RGB_MATRIX_ENABLE
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void keyboard_post_init_user(void) {
+ my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
+}
+
+void reset_scale_indicator(void) {
+ // reset transpose value and scale_indicator_col to default.
+ midi_config.transpose = 0;
+ scale_indicator_col = DEFAULT_SCALE_COL;
+ trans_mode_indicator_loc_sel = true;
+}
+
+void reset_all(void) {
+ reset_scale_indicator();
+ is_trans_mode = false; // trans mode is disabled by default.
+}
+
+void select_layer_state_set(void) {
+ if (is_trans_mode) {
+ layer_state_set(_LS_TRANS);
+ } else {
+ layer_state_set(_LS_BASE);
+ }
+}
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // Layer-related settings.
+ // reset_scale_indicator() first, followed by each modification, and then change the default layer.
+
+ // 1, separator column modification
+ case B_BASE:
+ if (record->event.pressed) {
+ reset_all();
+ select_layer_state_set();
+ }
+ break;
+
+ // 2, Toggle scale shift mode and transpose mode
+ case TGLTRNS:
+ if (record->event.pressed) {
+ reset_scale_indicator();
+ is_trans_mode = !is_trans_mode;
+ select_layer_state_set();
+ }
+ break;
+
+ // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE.
+ case SHIFT_L:
+ if (record->event.pressed) {
+ if (layer_state == _LS_BASE) {
+ scale_indicator_col = shift_led_indicator_left(scale_indicator_col);
+ }
+ }
+ break;
+
+ case SHIFT_R:
+ if (record->event.pressed) {
+ if (layer_state == _LS_BASE ) {
+ scale_indicator_col = shift_led_indicator_right(scale_indicator_col);
+ }
+ }
+ break;
+
+ case TGLINDI:
+ if (record->event.pressed) {
+ led_indicator_enable = !led_indicator_enable;
+ }
+ break;
+
+ case TGLINTR:
+ if (record->event.pressed) {
+ switch (layer_state) {
+ // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel.
+ case _LS_TRANS | (1UL << _FN):
+ trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
+
+ // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
+ scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1;
+ // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
+ if (scale_indicator_col == 1) {
+ midi_config.transpose = -1;
+ } else {
+ midi_config.transpose = 0;
+ }
+ break;
+
+ // special treatment when TGLINTR is pressed in other non-Trans layer.
+ default : // when other layers = non-Trans mode, change it to Trans mode.
+ trans_mode_indicator_loc_sel = false;
+ scale_indicator_col = 1;
+ midi_config.transpose = -1;
+ is_trans_mode = true;
+ select_layer_state_set();
+ }
+ }
+ break;
+ }
+ return true;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
+ uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+ if (led_indicator_enable) { // turn on indicators when enabled.
+ max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9;
+ for (i = 0; i < max_scale_indicator_led_loop; i++) {
+ rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b);
+ }
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ // uint32_t mode = rgblight_get_mode();
+
+ if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
+
+ // uint8_t max_scale_indicator_led_loop;
+ uint8_t i;
+
+ switch (layer_state) {
+ case _LS_BASE:
+ set_led_scale_indicator(BASE_LAYER_COLOR);
+ break;
+
+ case _LS_TRANS:
+ set_led_scale_indicator(TRANS_LAYER_COLOR);
+ break;
+
+ case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active.
+ for (i = 1; i < 5; i++) {
+ rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys
+ }
+ rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS
+ rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR
+
+ for (i = 0; i < 3; i++) {
+ rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE
+ }
+
+ for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings.
+ // turn on the bottom row only to keep the visibility of the RGB MATRIX effects.
+ rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings.
+ }
+ break;
+ }
+ }
+}
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/chromatonemini/keymaps/via/readme.md b/keyboards/chromatonemini/keymaps/via/readme.md
new file mode 100644
index 0000000000..2ebbac4431
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The via keymap for chromatonemini, RGB MATRIX enabled.
diff --git a/keyboards/chromatonemini/keymaps/via/rules.mk b/keyboards/chromatonemini/keymaps/via/rules.mk
new file mode 100644
index 0000000000..3de88c90c8
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_CUSTOM_KB = yes #
+VIA_ENABLE = yes
diff --git a/keyboards/chromatonemini/readme.md b/keyboards/chromatonemini/readme.md
new file mode 100644
index 0000000000..4c018d01a9
--- /dev/null
+++ b/keyboards/chromatonemini/readme.md
@@ -0,0 +1,19 @@
+# chromatonemini
+
+![chromatonemini](https://github.com/3araht/chromatonemini/blob/main/pictures/chromatonemini_toppage.jpg)
+
+chromatonemini keyboard is a simple-design Chromatone mini MIDI keyboard that covers 3 octaves (37 notes).
+
+* Keyboard Maintainer: [3araht](https://github.com/3araht)
+* Hardware Supported: chromatone keyboard, a DIY MIDI keyboard.
+* Hardware Availability: [BOOTH](https://3araht.booth.pm/). Click [here](https://www.tenso.com/en/static/lp_shop_booth) for BOOTH overseas shipping!
+
+Make example for this keyboard (after setting up your build environment):
+
+ make chromatonemini:default
+
+Flashing example for this keyboard:
+
+ make chromatonemini: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/chromatonemini/rgb_matrix_kb.inc b/keyboards/chromatonemini/rgb_matrix_kb.inc
new file mode 100644
index 0000000000..4fe474e12c
--- /dev/null
+++ b/keyboards/chromatonemini/rgb_matrix_kb.inc
@@ -0,0 +1,58 @@
+#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
+RGB_MATRIX_EFFECT(my_solid_reactive_multiwide_col)
+RGB_MATRIX_EFFECT(my_solid_reactive_col)
+RGB_MATRIX_EFFECT(my_party_rocks)
+
+# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+static HSV my_solid_reactive_multiwide_col_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) {
+ uint16_t effect = tick + dist;
+ dx = dx < 0 ? dx * -1 : dx;
+ dx = dx * 16 > 255 ? 255 : dx * 16;
+ effect += dx;
+ if (effect > 255) effect = 255;
+ hsv.v = qadd8(hsv.v, 255 - effect);
+ // hsv.h += qsub8(130, effect);
+ return hsv;
+}
+
+bool my_solid_reactive_multiwide_col(effect_params_t* params) {
+ return effect_runner_reactive_splash(0, params, &my_solid_reactive_multiwide_col_math);
+}
+
+
+bool my_solid_reactive_col(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ uint16_t max_tick = 65535 / rgb_matrix_config.speed;
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+ HSV hsv = rgb_matrix_config.hsv;
+ uint16_t tick = max_tick;
+ // Reverse search to find most recent key hit
+ for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) {
+ if (g_last_hit_tracker.x[j] == g_led_config.point[i].x && g_last_hit_tracker.tick[j] < tick) {
+ tick = g_last_hit_tracker.tick[j];
+ break;
+ }
+ }
+
+ uint16_t offset = scale16by8(tick, rgb_matrix_config.speed);
+ hsv.h += qsub8(130, offset);
+ RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ return led_max < DRIVER_LED_TOTAL;
+}
+
+bool my_party_rocks(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+ HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
+ RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
+ return led_max < DRIVER_LED_TOTAL;
+}
+
+# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+#endif // RGB_MATRIX_KEYREACTIVE_ENABLED
diff --git a/keyboards/chromatonemini/rules.mk b/keyboards/chromatonemini/rules.mk
new file mode 100644
index 0000000000..29cfc35daf
--- /dev/null
+++ b/keyboards/chromatonemini/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+MIDI_ENABLE = yes # MIDI support
+ENCODER_ENABLE = yes # encoder on mute button
+RGB_MATRIX_DRIVER = WS2812 #
+LTO_ENABLE = yes
diff --git a/keyboards/cipulot/kallos/config.h b/keyboards/cipulot/kallos/config.h
new file mode 100644
index 0000000000..27923128d3
--- /dev/null
+++ b/keyboards/cipulot/kallos/config.h
@@ -0,0 +1,55 @@
+/*
+Copyright 2022 Cipulot
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+
+/* Keyboard Matrix Assignments */
+#define MATRIX_ROW_PINS \
+ { B3, B2, F0, C7, F4, F1 }
+#define MATRIX_COL_PINS \
+ { F5, F6, C6, B6, B5, B4, D7, D6, D4, D5, D3, F7, D2, D1, B7 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Lightbar pin and LED count definitions*/
+#define RGB_DI_PIN D0
+#define RGBLED_NUM 13
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
diff --git a/keyboards/cipulot/kallos/info.json b/keyboards/cipulot/kallos/info.json
new file mode 100644
index 0000000000..a32ae0da4f
--- /dev/null
+++ b/keyboards/cipulot/kallos/info.json
@@ -0,0 +1,428 @@
+{
+ "keyboard_name": "Kallos",
+ "manufacturer": "Cipulot",
+ "url": "",
+ "maintainer": "Cipulot",
+ "usb": {
+ "vid": "0x6369",
+ "pid": "0x6B7A",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_default": {
+ "layout": [
+ {
+ "label": "0,0",
+ "x": 0,
+ "y": 0
+ },
+ {
+ "label": "0,1",
+ "x": 1.25,
+ "y": 0
+ },
+ {
+ "label": "0,2",
+ "x": 2.25,
+ "y": 0
+ },
+ {
+ "label": "0,3",
+ "x": 3.25,
+ "y": 0
+ },
+ {
+ "label": "0,4",
+ "x": 4.25,
+ "y": 0
+ },
+ {
+ "label": "0,5",
+ "x": 5.5,
+ "y": 0
+ },
+ {
+ "label": "0,6",
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "label": "0,7",
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "label": "0,8",
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "label": "0,9",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "0,10",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0,11",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "0,12",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "0,13",
+ "x": 14,
+ "y": 0
+ },
+ {
+ "label": "0,14",
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "label": "1,0",
+ "x": 0,
+ "y": 1.25
+ },
+ {
+ "label": "1,1",
+ "x": 1,
+ "y": 1.25
+ },
+ {
+ "label": "1,2",
+ "x": 2,
+ "y": 1.25
+ },
+ {
+ "label": "1,3",
+ "x": 3,
+ "y": 1.25
+ },
+ {
+ "label": "1,4",
+ "x": 4,
+ "y": 1.25
+ },
+ {
+ "label": "1,5",
+ "x": 5,
+ "y": 1.25
+ },
+ {
+ "label": "1,6",
+ "x": 6,
+ "y": 1.25
+ },
+ {
+ "label": "1,7",
+ "x": 7,
+ "y": 1.25
+ },
+ {
+ "label": "1,8",
+ "x": 8,
+ "y": 1.25
+ },
+ {
+ "label": "1,9",
+ "x": 9,
+ "y": 1.25
+ },
+ {
+ "label": "1,10",
+ "x": 10,
+ "y": 1.25
+ },
+ {
+ "label": "1,11",
+ "x": 11,
+ "y": 1.25
+ },
+ {
+ "label": "1,12",
+ "x": 12,
+ "y": 1.25
+ },
+ {
+ "label": "1,13",
+ "x": 13,
+ "y": 1.25
+ },
+ {
+ "label": "1,14",
+ "x": 14,
+ "y": 1.25
+ },
+ {
+ "label": "2,14",
+ "x": 15.25,
+ "y": 1.25
+ },
+ {
+ "label": "2,0",
+ "x": 0,
+ "y": 2.25,
+ "w": 1.5
+ },
+ {
+ "label": "2,1",
+ "x": 1.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,2",
+ "x": 2.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,3",
+ "x": 3.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,4",
+ "x": 4.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,5",
+ "x": 5.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,6",
+ "x": 6.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,7",
+ "x": 7.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,8",
+ "x": 8.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,9",
+ "x": 9.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,10",
+ "x": 10.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,11",
+ "x": 11.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,12",
+ "x": 12.5,
+ "y": 2.25
+ },
+ {
+ "label": "2,13",
+ "x": 13.5,
+ "y": 2.25,
+ "w": 1.5
+ },
+ {
+ "label": "3,14",
+ "x": 15.25,
+ "y": 2.25
+ },
+ {
+ "label": "3,0",
+ "x": 0,
+ "y": 3.25,
+ "w": 1.75
+ },
+ {
+ "label": "3,1",
+ "x": 1.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,2",
+ "x": 2.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,3",
+ "x": 3.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,4",
+ "x": 4.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,5",
+ "x": 5.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,6",
+ "x": 6.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,7",
+ "x": 7.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,8",
+ "x": 8.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,9",
+ "x": 9.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,10",
+ "x": 10.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,11",
+ "x": 11.75,
+ "y": 3.25
+ },
+ {
+ "label": "3,13",
+ "x": 12.75,
+ "y": 3.25,
+ "w": 2.25
+ },
+ {
+ "label": "4,0",
+ "x": 0,
+ "y": 4.25,
+ "w": 2.25
+ },
+ {
+ "label": "4,1",
+ "x": 2.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,2",
+ "x": 3.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,3",
+ "x": 4.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,4",
+ "x": 5.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,5",
+ "x": 6.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,6",
+ "x": 7.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,7",
+ "x": 8.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,8",
+ "x": 9.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,9",
+ "x": 10.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,10",
+ "x": 11.25,
+ "y": 4.25
+ },
+ {
+ "label": "4,12",
+ "x": 12.25,
+ "y": 4.25,
+ "w": 1.75
+ },
+ {
+ "label": "4,13",
+ "x": 14.25,
+ "y": 4.5
+ },
+ {
+ "label": "5,0",
+ "x": 0,
+ "y": 5.25,
+ "w": 1.25
+ },
+ {
+ "label": "5,1",
+ "x": 2.13,
+ "y": 5.25,
+ "w": 1.25
+ },
+ {
+ "label": "5,6",
+ "x": 3.38,
+ "y": 5.25,
+ "w": 6.25
+ },
+ {
+ "label": "5,9",
+ "x": 9.63,
+ "y": 5.25,
+ "w": 1.25
+ },
+ {
+ "label": "5,10",
+ "x": 11.75,
+ "y": 5.25,
+ "w": 1.25
+ },
+ {
+ "label": "5,12",
+ "x": 13.25,
+ "y": 5.5
+ },
+ {
+ "label": "5,13",
+ "x": 14.25,
+ "y": 5.5
+ },
+ {
+ "label": "5,14",
+ "x": 15.25,
+ "y": 5.5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/kallos/kallos.c b/keyboards/cipulot/kallos/kallos.c
new file mode 100644
index 0000000000..77f41f9075
--- /dev/null
+++ b/keyboards/cipulot/kallos/kallos.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "kallos.h"
diff --git a/keyboards/cipulot/kallos/kallos.h b/keyboards/cipulot/kallos/kallos.h
new file mode 100644
index 0000000000..bf71b6becf
--- /dev/null
+++ b/keyboards/cipulot/kallos/kallos.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_default( \
+ 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, k214, \
+ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k314, \
+ k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \
+ k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k412, k413, \
+ k500, k501, k506, k509, k510, k512, k513, k514 \
+) { \
+ { 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 }, \
+ { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, k314 }, \
+ { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, KC_NO, k412, k413, KC_NO }, \
+ { k500, k501, KC_NO, KC_NO, KC_NO, KC_NO, k506, KC_NO, KC_NO, k509, k510, KC_NO, k512, k513, k514 } \
+}
diff --git a/keyboards/cipulot/kallos/keymaps/default/keymap.c b/keyboards/cipulot/kallos/keymaps/default/keymap.c
new file mode 100644
index 0000000000..501e8fb482
--- /dev/null
+++ b/keyboards/cipulot/kallos/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Cipulot
+
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_default(
+ 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, MO(1), 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_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_PGDOWN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_default(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kallos/keymaps/via/keymap.c b/keyboards/cipulot/kallos/keymaps/via/keymap.c
new file mode 100644
index 0000000000..501e8fb482
--- /dev/null
+++ b/keyboards/cipulot/kallos/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Cipulot
+
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_default(
+ 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, MO(1), 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_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_PGDOWN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_default(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kallos/keymaps/via/rules.mk b/keyboards/cipulot/kallos/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cipulot/kallos/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cipulot/kallos/readme.md b/keyboards/cipulot/kallos/readme.md
new file mode 100644
index 0000000000..6d1341735c
--- /dev/null
+++ b/keyboards/cipulot/kallos/readme.md
@@ -0,0 +1,21 @@
+# Kallos
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: Kallos
+* Hardware Availability: TBD
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/kallos:default
+
+Flashing example for this keyboard:
+
+ make cipulot/kallos:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Briefly short the pads labeled "Reset" on the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/kallos/rules.mk b/keyboards/cipulot/kallos/rules.mk
new file mode 100644
index 0000000000..1ad33bb514
--- /dev/null
+++ b/keyboards/cipulot/kallos/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
diff --git a/keyboards/cipulot/kawayo/config.h b/keyboards/cipulot/kawayo/config.h
new file mode 100644
index 0000000000..b99d3690c5
--- /dev/null
+++ b/keyboards/cipulot/kawayo/config.h
@@ -0,0 +1,37 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS \
+ { B1, B12, C13, A7, B0 }
+#define MATRIX_COL_PINS \
+ { B10, A0, B9, B8, B7, B6, B5, B4, B3, A15, A14, A4, A3, A2, A1 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
diff --git a/keyboards/cipulot/kawayo/info.json b/keyboards/cipulot/kawayo/info.json
new file mode 100644
index 0000000000..b5f9f6415a
--- /dev/null
+++ b/keyboards/cipulot/kawayo/info.json
@@ -0,0 +1,613 @@
+{
+ "keyboard_name": "Kawayo",
+ "manufacturer": "Cipulot",
+ "url": "https://mecha.store",
+ "maintainer": "Cipulot",
+ "usb": {
+ "vid": "0x6369",
+ "pid": "0x6B7F",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_65_ansi_blocker_split_bs"
+ },
+ "community_layouts": [ "65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs" ],
+ "layouts": {
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"", "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":"Fn", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"", "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":"", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"End", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_tsangan": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"End", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_tsangan_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"End", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_cb_blocker": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Fn", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"", "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":"", "x":15, "y":3},
+
+ {"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":"Space", "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":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_cb_blocker_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "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":"Fn", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"", "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":"", "x":15, "y":3},
+
+ {"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":"Space", "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":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_cb_blocker_tsangan": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Fn", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"", "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":"", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_cb_blocker_tsangan_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "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":"Fn", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"", "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":"", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/kawayo/kawayo.c b/keyboards/cipulot/kawayo/kawayo.c
new file mode 100644
index 0000000000..1dee38696e
--- /dev/null
+++ b/keyboards/cipulot/kawayo/kawayo.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "kawayo.h" \ No newline at end of file
diff --git a/keyboards/cipulot/kawayo/kawayo.h b/keyboards/cipulot/kawayo/kawayo.h
new file mode 100644
index 0000000000..41ab80821a
--- /dev/null
+++ b/keyboards/cipulot/kawayo/kawayo.h
@@ -0,0 +1,153 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/*
+ * ┌───────â”
+ * 2u Backspace │0E │▒▒▒ Corner Blocker (CB)
+ * └───────┴────
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │2E │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │40 │41 │42 │45 │49 │4A │ │4B │4C │4D │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────â”
+ * │40 │41 │42 │45 │4A │ Blocker Tsangan
+ * └─────┴───┴─────┴───────────────────────────┴─────┘
+ */
+
+#define LAYOUT_65_ansi_blocker( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k2E, \
+ 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, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k49, k4A, k4B, k4C, k4D \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, 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, k2C, k2D, k2E }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_blocker_split_bs( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k2E, \
+ 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, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k49, k4A, k4B, k4C, k4D \
+) { \
+ { 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, k2C, k2D, k2E }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_blocker_tsangan( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k2E, \
+ 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, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k4A, k4B, k4C, k4D \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, 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, k2C, k2D, k2E }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k2E, \
+ 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, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k4A, k4B, k4C, k4D \
+) { \
+ { 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, k2C, k2D, k2E }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_cb_blocker( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, 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, k2C, k2D, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k49, k4A, k4B, k4C, k4D \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, 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, k2C, k2D, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_cb_blocker_split_bs( \
+ 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, k2C, k2D, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k49, k4A, k4B, k4C, k4D \
+) { \
+ { 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, k2C, k2D, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_cb_blocker_tsangan( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, 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, k2C, k2D, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k4A, k4B, k4C, k4D \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, 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, k2C, k2D, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, k4D, ___ } \
+}
+
+#define LAYOUT_65_ansi_cb_blocker_tsangan_split_bs( \
+ 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, k2C, k2D, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k45, k4A, k4B, k4C, k4D \
+) { \
+ { 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, k2C, k2D, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+ { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, k4D, ___ } \
+}
diff --git a/keyboards/cipulot/kawayo/keymaps/default/keymap.c b/keyboards/cipulot/kawayo/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5d4bf4a35b
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/default/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi_cb_blocker_split_bs(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c
new file mode 100644
index 0000000000..c160269ae8
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi_cb_blocker(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi_cb_blocker(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_65_ansi_cb_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_cb_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c
new file mode 100644
index 0000000000..32a4389d3f
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi_cb_blocker_tsangan(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi_cb_blocker_tsangan(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_65_ansi_cb_blocker_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_cb_blocker_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c
new file mode 100644
index 0000000000..ca65d38440
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/default_65_ansi_cb_blocker_tsangan_split_bs/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi_cb_blocker_tsangan_split_bs(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi_cb_blocker_tsangan_split_bs(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_65_ansi_cb_blocker_tsangan_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_cb_blocker_tsangan_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kawayo/keymaps/via/keymap.c b/keyboards/cipulot/kawayo/keymaps/via/keymap.c
new file mode 100644
index 0000000000..5d4bf4a35b
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi_cb_blocker_split_bs(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_cb_blocker_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/cipulot/kawayo/keymaps/via/rules.mk b/keyboards/cipulot/kawayo/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cipulot/kawayo/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cipulot/kawayo/readme.md b/keyboards/cipulot/kawayo/readme.md
new file mode 100644
index 0000000000..53e01faaa5
--- /dev/null
+++ b/keyboards/cipulot/kawayo/readme.md
@@ -0,0 +1,29 @@
+# Kawayo
+
+![Kawayo Board](https://i.imgur.com/MecyLFl.jpeg)
+
+A board dedicated to Nakiri Ayame from Nakirigumi. 65% with top blocker.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot) and the Mecha Team
+* Hardware Supported: Kawayo
+* Hardware Availability: [Mecha Store](https://mecha.store)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/kawayo:default
+ make cipulot/kawayo:via
+
+Flashing example for this keyboard:
+
+ make cipulot/kawayo:default:flash
+ make cipulot/kawayo:via:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset button**: Power up the board while having the `Reset/Boot0` pad shorted.
+
+* **Keycode in layout**: Press the `GRV` key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/cipulot/kawayo/rules.mk b/keyboards/cipulot/kawayo/rules.mk
new file mode 100644
index 0000000000..2deb4d731c
--- /dev/null
+++ b/keyboards/cipulot/kawayo/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = STM32F411
+
+BOARD = GENERIC_STM32_F411XE
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+KEYBOARD_SHARED_EP = yes
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/ck60i/config.h b/keyboards/ck60i/config.h
index 3e09f1dfb0..49a530b1d3 100644
--- a/keyboards/ck60i/config.h
+++ b/keyboards/ck60i/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434B // CK for candykeys
-#define PRODUCT_ID 0x6049 // 60i
-#define DEVICE_VER 0x0001 // Revision pre-Alpha
-#define MANUFACTURER CandyKeys
-#define PRODUCT CK60i
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/ck60i/info.json b/keyboards/ck60i/info.json
index f0a81eb62b..dd5230e5eb 100644
--- a/keyboards/ck60i/info.json
+++ b/keyboards/ck60i/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CK60i",
+ "manufacturer": "CandyKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x434B",
+ "pid": "0x6049",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ckeys/handwire_101/config.h b/keyboards/ckeys/handwire_101/config.h
index 6b3f6c5b7f..0b9db50d2e 100755
--- a/keyboards/ckeys/handwire_101/config.h
+++ b/keyboards/ckeys/handwire_101/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cKeys
-#define PRODUCT Handwire 101
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/ckeys/handwire_101/info.json b/keyboards/ckeys/handwire_101/info.json
index 19e6edb481..344c34e5d8 100644
--- a/keyboards/ckeys/handwire_101/info.json
+++ b/keyboards/ckeys/handwire_101/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cKeys Handwire 101",
+ "keyboard_name": "Handwire 101",
+ "manufacturer": "cKeys",
"url": "https://ckeys.org/slides/handwire/",
"maintainer": "brandenbyers",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_4x4"
},
diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
index 3bb1a2c009..3f5ebc8655 100755
--- a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
+++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c
@@ -134,10 +134,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------=======------------------------'
*/
[_TERMINAL] = LAYOUT_ortho_4x4(
- _______, TERM_ABOUT, _______, _______,
- TERM_OFF, TERM_PRINT, _______, _______,
- _______, TERM_FLUSH, _______, _______,
- TERM_ON, TERM_HELP , _______, _______
+ _______, TERM_ABOUT, _______, _______,
+ _______, TERM_PRINT, _______, _______,
+ _______, TERM_FLUSH, _______, _______,
+ _______, TERM_HELP , _______, _______
),
/* ADMIN
* ,-----------------------------------------.
diff --git a/keyboards/ckeys/handwire_101/readme.md b/keyboards/ckeys/handwire_101/readme.md
index cf20dab60b..281fbddc7c 100755
--- a/keyboards/ckeys/handwire_101/readme.md
+++ b/keyboards/ckeys/handwire_101/readme.md
@@ -139,7 +139,7 @@ This layer is not currently working but has been left as an example of how to wr
```
/* ADMIN
* ,-----------------------------------------.
- * | RESET | | | X |
+ * | QK_BOOT | | | X |
* |------------+-----+-----------+----------|
* |ABOUT CKEYS | | | |
* |------------+-----+-----------+----------|
@@ -150,7 +150,7 @@ This layer is not currently working but has been left as an example of how to wr
*/
```
-The most important key in this layer is the `RESET` switch. Use it to flash new firmware. It does the same thing as the hardware button on the Proton C. But since you soldered the Proton C with the reset button facing towards the keys, the only way to reach it is to de-solder wires. The reset switch solves this. Program a reset switch into all of your future keyboards.
+The most important key in this layer is the `QK_BOOT` switch. Use it to flash new firmware. It does the same thing as the hardware button on the Proton C. But since you soldered the Proton C with the reset button facing towards the keys, the only way to reach it is to de-solder wires. The reset switch solves this. Program a reset switch into all of your future keyboards.
The `ABOUT CKEYS` is another example of using a macro. It will type out a few sentences about cKeys.
diff --git a/keyboards/ckeys/handwire_101/rules.mk b/keyboards/ckeys/handwire_101/rules.mk
index 8fa32bcee5..3131bb405a 100755
--- a/keyboards/ckeys/handwire_101/rules.mk
+++ b/keyboards/ckeys/handwire_101/rules.mk
@@ -12,7 +12,6 @@ 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
-TERMINAL_ENABLE = yes
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/ckeys/nakey/config.h b/keyboards/ckeys/nakey/config.h
index b620ff08c7..c482a41acd 100644
--- a/keyboards/ckeys/nakey/config.h
+++ b/keyboards/ckeys/nakey/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cKeys
-#define PRODUCT naKey
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS { D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, B4, B5, B6, B7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ckeys/nakey/info.json b/keyboards/ckeys/nakey/info.json
index 2f939be578..1f1e67fedf 100644
--- a/keyboards/ckeys/nakey/info.json
+++ b/keyboards/ckeys/nakey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "naKey",
+ "manufacturer": "cKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
diff --git a/keyboards/ckeys/obelus/config.h b/keyboards/ckeys/obelus/config.h
index 1759f6c5fc..07e0ec394d 100644
--- a/keyboards/ckeys/obelus/config.h
+++ b/keyboards/ckeys/obelus/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT obelus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { F0, F1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ckeys/obelus/info.json b/keyboards/ckeys/obelus/info.json
index f930f65bc5..7c0629fd5e 100644
--- a/keyboards/ckeys/obelus/info.json
+++ b/keyboards/ckeys/obelus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Obelus",
+ "manufacturer": "cKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"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/ckeys/thedora/config.h b/keyboards/ckeys/thedora/config.h
index 8e96c8ed06..721e8977d6 100755
--- a/keyboards/ckeys/thedora/config.h
+++ b/keyboards/ckeys/thedora/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ckeys
-#define PRODUCT thedora
-
#define ENCODERS_PAD_A { B13 }
#define ENCODERS_PAD_B { B15 }
#define ENCODER_RESOLUTION 4
@@ -36,7 +29,6 @@
#define MATRIX_ROW_PINS { A2, A1, A0, B8 }
#define MATRIX_COL_PINS { B5, B4, B3, B2, B1, B0 }
-// #define UNUSED_PINS { B14 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ckeys/thedora/info.json b/keyboards/ckeys/thedora/info.json
index 631da8f26e..311ccec843 100644
--- a/keyboards/ckeys/thedora/info.json
+++ b/keyboards/ckeys/thedora/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "The Dora Board.",
+ "keyboard_name": "thedora",
+ "manufacturer": "ckeys",
"url": "https://ckeys.org/slides/exboard",
"maintainer": "brandenbyers",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ckeys/washington/config.h b/keyboards/ckeys/washington/config.h
index 2d5a8ce3ad..8849c4e834 100644
--- a/keyboards/ckeys/washington/config.h
+++ b/keyboards/ckeys/washington/config.h
@@ -17,13 +17,6 @@ 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 0x002A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER merlin04
-#define PRODUCT Washington Macropad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6 }
#define MATRIX_COL_PINS { F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ckeys/washington/info.json b/keyboards/ckeys/washington/info.json
index 304e4f3354..20e83faf2b 100644
--- a/keyboards/ckeys/washington/info.json
+++ b/keyboards/ckeys/washington/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "washington",
+ "keyboard_name": "Washington Macropad",
+ "manufacturer": "merlin04",
"url": "https://keypcb.xyz/ViewPage/Washington",
"maintainer": "merlin04",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x002A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":0, "y":0.75}, {"x":0.5, "y":1.75}, {"x":1.5, "y":2}]
diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c
index 95e0f3ab59..9ce0181fe4 100644
--- a/keyboards/ckeys/washington/keymaps/default/keymap.c
+++ b/keyboards/ckeys/washington/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _BASE:
if (clockwise) {
tap_code(KC_VOLU);
@@ -62,7 +62,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
bool oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("Default\n"), false);
break;
diff --git a/keyboards/clawsome/bookerboard/config.h b/keyboards/clawsome/bookerboard/config.h
index 6619ef3972..208a12ef26 100644
--- a/keyboards/clawsome/bookerboard/config.h
+++ b/keyboards/clawsome/bookerboard/config.h
@@ -19,13 +19,6 @@ 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 0x41CE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT Bookerboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
diff --git a/keyboards/clawsome/bookerboard/info.json b/keyboards/clawsome/bookerboard/info.json
index 3e1eae3d21..e278685f96 100644
--- a/keyboards/clawsome/bookerboard/info.json
+++ b/keyboards/clawsome/bookerboard/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bookerboard",
+ "keyboard_name": "Bookerboard",
+ "manufacturer": "AlisGraveNil",
"url": "",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x41CE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/coupe/config.h b/keyboards/clawsome/coupe/config.h
index 8d88c95f05..8d7cfa75b0 100644
--- a/keyboards/clawsome/coupe/config.h
+++ b/keyboards/clawsome/coupe/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7767
-#define PRODUCT_ID 0x7E94
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT The Coupe
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/clawsome/coupe/info.json b/keyboards/clawsome/coupe/info.json
index 5c66544252..6ab71fdb5d 100644
--- a/keyboards/clawsome/coupe/info.json
+++ b/keyboards/clawsome/coupe/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Coupe",
+ "keyboard_name": "The Coupe",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x7E94",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/clawsome/doodle/config.h b/keyboards/clawsome/doodle/config.h
index df33e6d84c..72ee521b64 100644
--- a/keyboards/clawsome/doodle/config.h
+++ b/keyboards/clawsome/doodle/config.h
@@ -18,13 +18,6 @@
#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 doodle
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/clawsome/doodle/info.json b/keyboards/clawsome/doodle/info.json
index df9ca13834..7d1dcb4b60 100644
--- a/keyboards/clawsome/doodle/info.json
+++ b/keyboards/clawsome/doodle/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "doodle",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/fightpad/config.h b/keyboards/clawsome/fightpad/config.h
index 6f2e78b6bb..b31daece63 100644
--- a/keyboards/clawsome/fightpad/config.h
+++ b/keyboards/clawsome/fightpad/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7767
-#define PRODUCT_ID 0x481C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT FightPad
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 7
diff --git a/keyboards/clawsome/fightpad/info.json b/keyboards/clawsome/fightpad/info.json
index 5d52c0ce87..f6389e06c7 100644
--- a/keyboards/clawsome/fightpad/info.json
+++ b/keyboards/clawsome/fightpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "FightPad",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x481C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/gamebuddy/v1_0/config.h b/keyboards/clawsome/gamebuddy/v1_0/config.h
index 91b6fc6374..88ad4dc2a5 100644
--- a/keyboards/clawsome/gamebuddy/v1_0/config.h
+++ b/keyboards/clawsome/gamebuddy/v1_0/config.h
@@ -19,13 +19,6 @@ 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 0x17B9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT GameBuddy1_0
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/clawsome/gamebuddy/v1_0/info.json b/keyboards/clawsome/gamebuddy/v1_0/info.json
index dc9c56587e..0d52501930 100644
--- a/keyboards/clawsome/gamebuddy/v1_0/info.json
+++ b/keyboards/clawsome/gamebuddy/v1_0/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GameBuddy1_0",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x17B9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/gamebuddy/v1_m/config.h b/keyboards/clawsome/gamebuddy/v1_m/config.h
index 748e35237a..c68b350fbb 100644
--- a/keyboards/clawsome/gamebuddy/v1_m/config.h
+++ b/keyboards/clawsome/gamebuddy/v1_m/config.h
@@ -18,13 +18,6 @@
#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
diff --git a/keyboards/clawsome/gamebuddy/v1_m/info.json b/keyboards/clawsome/gamebuddy/v1_m/info.json
index 57b970e146..ee7f1e1ae8 100644
--- a/keyboards/clawsome/gamebuddy/v1_m/info.json
+++ b/keyboards/clawsome/gamebuddy/v1_m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GameBuddy1_M",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/hatchback/config.h b/keyboards/clawsome/hatchback/config.h
index 6560ad154f..2aa7f56e47 100644
--- a/keyboards/clawsome/hatchback/config.h
+++ b/keyboards/clawsome/hatchback/config.h
@@ -18,13 +18,6 @@
#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 hatchbackTKL
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
diff --git a/keyboards/clawsome/hatchback/info.json b/keyboards/clawsome/hatchback/info.json
index 94e350b4b1..75fbd34ec7 100644
--- a/keyboards/clawsome/hatchback/info.json
+++ b/keyboards/clawsome/hatchback/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hatchbackTKL",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/luggage_rack/config.h b/keyboards/clawsome/luggage_rack/config.h
index 32b3ea4561..8f64283e7a 100644
--- a/keyboards/clawsome/luggage_rack/config.h
+++ b/keyboards/clawsome/luggage_rack/config.h
@@ -18,13 +18,6 @@
#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 luggage_rack
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 3
diff --git a/keyboards/clawsome/luggage_rack/info.json b/keyboards/clawsome/luggage_rack/info.json
index 56b38ea49d..f9150a2a7e 100644
--- a/keyboards/clawsome/luggage_rack/info.json
+++ b/keyboards/clawsome/luggage_rack/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "luggage_rack",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/numeros/config.h b/keyboards/clawsome/numeros/config.h
index 4c873ffb8d..674c3323c3 100644
--- a/keyboards/clawsome/numeros/config.h
+++ b/keyboards/clawsome/numeros/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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 Los Numeros
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/clawsome/numeros/info.json b/keyboards/clawsome/numeros/info.json
index 4d9f59e553..2f7c17b408 100644
--- a/keyboards/clawsome/numeros/info.json
+++ b/keyboards/clawsome/numeros/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "numeros",
+ "keyboard_name": "Los Numeros",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/clawsome/roadster/config.h b/keyboards/clawsome/roadster/config.h
index 85f9442135..e6872a31d5 100644
--- a/keyboards/clawsome/roadster/config.h
+++ b/keyboards/clawsome/roadster/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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 Roadster
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/clawsome/roadster/info.json b/keyboards/clawsome/roadster/info.json
index 999f64c2f4..f76620cd77 100644
--- a/keyboards/clawsome/roadster/info.json
+++ b/keyboards/clawsome/roadster/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Roadster",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
index 2a02a9a1e7..686c0afeab 100644
--- a/keyboards/clawsome/sedan/config.h
+++ b/keyboards/clawsome/sedan/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7767
-#define PRODUCT_ID 0x8C78
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT The Sedan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
index 568c1e010b..efee77a51b 100644
--- a/keyboards/clawsome/sedan/info.json
+++ b/keyboards/clawsome/sedan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sedan",
+ "keyboard_name": "The Sedan",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x8C78",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/clawsome/sidekick/config.h b/keyboards/clawsome/sidekick/config.h
index dbf1f061e6..d76dd38bbe 100644
--- a/keyboards/clawsome/sidekick/config.h
+++ b/keyboards/clawsome/sidekick/config.h
@@ -19,13 +19,6 @@ 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 0xDB9F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGraveNil
-#define PRODUCT Sidekick
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/clawsome/sidekick/info.json b/keyboards/clawsome/sidekick/info.json
index 0dd1ed5e80..790f99a7eb 100644
--- a/keyboards/clawsome/sidekick/info.json
+++ b/keyboards/clawsome/sidekick/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sidekick",
+ "manufacturer": "AlisGraveNil",
"url": "",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDB9F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clawsome/suv/config.h b/keyboards/clawsome/suv/config.h
index 8ea2ed5bdc..a07539013d 100644
--- a/keyboards/clawsome/suv/config.h
+++ b/keyboards/clawsome/suv/config.h
@@ -18,13 +18,6 @@
#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 suv1.1
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 11
diff --git a/keyboards/clawsome/suv/info.json b/keyboards/clawsome/suv/info.json
index 70cfd37908..b1d3a926a0 100644
--- a/keyboards/clawsome/suv/info.json
+++ b/keyboards/clawsome/suv/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "suv1.1",
+ "manufacturer": "AlisGraveNil",
"url": "www.clawboards.xyz",
"maintainer": "AlisGraveNil",
+ "usb": {
+ "vid": "0x7767",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json
index 5473292d14..b916866388 100644
--- a/keyboards/clickety_split/leeloo/info.json
+++ b/keyboards/clickety_split/leeloo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Leeloo",
+ "manufacturer": "Clickety Split Ltd",
"url": "https://clicketysplit.ca/pages/leeloo",
"maintainer": "ClicketySplit",
+ "usb": {
+ "vid": "0x4013",
+ "pid": "0x2022",
+ "device_version": "0.1.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/clickety_split/leeloo/rev1/config.h b/keyboards/clickety_split/leeloo/rev1/config.h
index cf9c563f8f..88bab4ca98 100644
--- a/keyboards/clickety_split/leeloo/rev1/config.h
+++ b/keyboards/clickety_split/leeloo/rev1/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4013
-#define PRODUCT_ID 0x2022
-#define DEVICE_VER 0x0013
-#define MANUFACTURER Clickety Split Ltd
-#define PRODUCT Leeloo
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/clueboard/66/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
index 73c809ded6..915bd0f70c 100644
--- a/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT_66_ansi(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/66_iso/keymap.c b/keyboards/clueboard/66/keymaps/66_iso/keymap.c
index ff27acf5cd..b2f83ce17f 100644
--- a/keyboards/clueboard/66/keymaps/66_iso/keymap.c
+++ b/keyboards/clueboard/66/keymaps/66_iso/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT_66_iso(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/badger/keymap.c b/keyboards/clueboard/66/keymaps/badger/keymap.c
index 74fec0b58e..f7d35f4a3e 100644
--- a/keyboards/clueboard/66/keymaps/badger/keymap.c
+++ b/keyboards/clueboard/66/keymaps/badger/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_66_ansi(\
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU, \
- _______, NK_ON, NK_OFF, EEP_RST, RESET, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, AG_SWAP, AG_NORM, KC_INS, KC_VOLD, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, AG_SWAP, AG_NORM, KC_INS, KC_VOLD, \
_______, GE_SWAP, GE_NORM, DEBUG, AG_SWAP, AG_NORM, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, \
_______, DF_1, DF_2, KC_CAPS, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, KC_BRIU, \
_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BRID, KC_END)
diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c b/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c
index 7c7faba9ce..a64c5dec03 100644
--- a/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c
+++ b/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
KC_PWR, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, RGB_MOD,
_______, _______, _______,_______,_______,_______,_______,_______,_______,RGB_HUD, RGB_HUI, _______, _______, _______, KC_WAKE,
_______, _______, MO(_FL), _______, RGB_SAD,RGB_SAI, _______, _______, MO(_FL), _______, _______, KC_SLEP, _______),
diff --git a/keyboards/clueboard/66/keymaps/caps_fn/keymap.c b/keyboards/clueboard/66/keymaps/caps_fn/keymap.c
index fc0c56d9a7..4767f0f7ea 100644
--- a/keyboards/clueboard/66/keymaps/caps_fn/keymap.c
+++ b/keyboards/clueboard/66/keymaps/caps_fn/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/colemak/keymap.c b/keyboards/clueboard/66/keymaps/colemak/keymap.c
index 4479556b65..daacbe9664 100644
--- a/keyboards/clueboard/66/keymaps/colemak/keymap.c
+++ b/keyboards/clueboard/66/keymaps/colemak/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/jokrik/keymap.c b/keyboards/clueboard/66/keymaps/jokrik/keymap.c
index 9c6997c34e..0558dffd28 100644
--- a/keyboards/clueboard/66/keymaps/jokrik/keymap.c
+++ b/keyboards/clueboard/66/keymaps/jokrik/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c b/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c
index 30e772900e..5c184e69e9 100644
--- a/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c
+++ b/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
index 56d4c47071..c27b929b95 100644
--- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
+++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer */
[_CL] = LAYOUT(
_______, RGB_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO_CTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
@@ -199,7 +199,7 @@ void matrix_scan_user(void) {
if (!rgblight_config.enable || rgblight_config.mode != 1) { return; }
- uint32_t layer = layer_state;
+ layer_state_t layer = layer_state;
uint8_t val = rgblight_config.val;
if (layer & (1<<_FL)) {
diff --git a/keyboards/clueboard/66/keymaps/manofinterests/keymap.c b/keyboards/clueboard/66/keymaps/manofinterests/keymap.c
index e71419980d..dbe73e55b9 100644
--- a/keyboards/clueboard/66/keymaps/manofinterests/keymap.c
+++ b/keyboards/clueboard/66/keymaps/manofinterests/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/maximised/keymap.c b/keyboards/clueboard/66/keymaps/maximised/keymap.c
index c2e05a5a27..3a70478a5b 100644
--- a/keyboards/clueboard/66/keymaps/maximised/keymap.c
+++ b/keyboards/clueboard/66/keymaps/maximised/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c b/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c
index be5634f103..3d64356e7b 100644
--- a/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c
+++ b/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/mrscooty/keymap.c b/keyboards/clueboard/66/keymaps/mrscooty/keymap.c
index 302649c923..449f2ed1e7 100644
--- a/keyboards/clueboard/66/keymaps/mrscooty/keymap.c
+++ b/keyboards/clueboard/66/keymaps/mrscooty/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CL] = LAYOUT(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/muzfuz/keymap.c b/keyboards/clueboard/66/keymaps/muzfuz/keymap.c
index d4af354831..bc911f045b 100644
--- a/keyboards/clueboard/66/keymaps/muzfuz/keymap.c
+++ b/keyboards/clueboard/66/keymaps/muzfuz/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_VAD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/serubin/keymap.c b/keyboards/clueboard/66/keymaps/serubin/keymap.c
index e77417c3c2..56b67763dd 100644
--- a/keyboards/clueboard/66/keymaps/serubin/keymap.c
+++ b/keyboards/clueboard/66/keymaps/serubin/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/shift_fn/keymap.c b/keyboards/clueboard/66/keymaps/shift_fn/keymap.c
index 8556f90803..196e6b620a 100644
--- a/keyboards/clueboard/66/keymaps/shift_fn/keymap.c
+++ b/keyboards/clueboard/66/keymaps/shift_fn/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/smt/keymap.c b/keyboards/clueboard/66/keymaps/smt/keymap.c
index 89fc495919..fb696fd75c 100644
--- a/keyboards/clueboard/66/keymaps/smt/keymap.c
+++ b/keyboards/clueboard/66/keymaps/smt/keymap.c
@@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,QWERTY, COLEMAK,DVORAK, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,QWERTY, COLEMAK,DVORAK, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/tetris/keymap.c b/keyboards/clueboard/66/keymaps/tetris/keymap.c
index 26dd97feec..1d223a6add 100644
--- a/keyboards/clueboard/66/keymaps/tetris/keymap.c
+++ b/keyboards/clueboard/66/keymaps/tetris/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c b/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c
index 823959ee0d..472f24b2ef 100644
--- a/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c
+++ b/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66/keymaps/win_optimized/keymap.c b/keyboards/clueboard/66/keymaps/win_optimized/keymap.c
index 2c5cb86398..9d21fa2617 100644
--- a/keyboards/clueboard/66/keymaps/win_optimized/keymap.c
+++ b/keyboards/clueboard/66/keymaps/win_optimized/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT(
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/clueboard/66/rev4/keymaps/keymap.c b/keyboards/clueboard/66/rev4/keymaps/keymap.c
index df145eb488..27280406fe 100644
--- a/keyboards/clueboard/66/rev4/keymaps/keymap.c
+++ b/keyboards/clueboard/66/rev4/keymaps/keymap.c
@@ -9,5 +9,5 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[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_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, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[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_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
- [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, 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, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
+ [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
};
diff --git a/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c b/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c
index df145eb488..27280406fe 100644
--- a/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c
+++ b/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c
@@ -9,5 +9,5 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[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_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, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[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_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
- [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, 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, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
+ [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
};
diff --git a/keyboards/clueboard/66/rev4/mine/keymap.c b/keyboards/clueboard/66/rev4/mine/keymap.c
deleted file mode 100644
index df145eb488..0000000000
--- a/keyboards/clueboard/66/rev4/mine/keymap.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include QMK_KEYBOARD_H
-
-/* THIS FILE WAS GENERATED!
- *
- * This file was generated by qmk json2c. You may or may not want to
- * edit it directly.
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [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_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, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
- [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_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
- [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, 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, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
-};
diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c
index 23eb08e189..c16d63e758 100644
--- a/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT_66_ansi(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json
index 20aa9f0f6c..b2111dc3ca 100644
--- a/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json
@@ -1 +1 @@
-{"keyboard":"clueboard/66_hotswap/gen1","keymap":"default_66","layout":"LAYOUT","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_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_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_SPC","KC_RALT","KC_RGUI","MO(1)","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["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","BL_INC","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_MPRV","KC_MPLY","KC_MNXT","KC_NO","KC_MUTE","BL_DEC","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PGUP","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","MO(1)","KC_NO","KC_HOME","KC_PGDN","KC_END"],["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","BL_TOGG","BL_INC","KC_NO","KC_NO","KC_NO","KC_NO","RESET","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_DEC","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_STEP","KC_NO","KC_NO","MO(1)","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"","notes":""} \ No newline at end of file
+{"keyboard":"clueboard/66_hotswap/gen1","keymap":"default_66","layout":"LAYOUT","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_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_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_SPC","KC_RALT","KC_RGUI","MO(1)","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["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","BL_INC","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_MPRV","KC_MPLY","KC_MNXT","KC_NO","KC_MUTE","BL_DEC","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PGUP","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","MO(1)","KC_NO","KC_HOME","KC_PGDN","KC_END"],["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","BL_TOGG","BL_INC","KC_NO","KC_NO","KC_NO","KC_NO","QK_BOOT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_DEC","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_STEP","KC_NO","KC_NO","MO(1)","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
index 23eb08e189..c16d63e758 100644
--- a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT_66_ansi(
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
diff --git a/keyboards/cmm_studio/fuji65/config.h b/keyboards/cmm_studio/fuji65/config.h
index e93ae62c67..891eb88548 100644
--- a/keyboards/cmm_studio/fuji65/config.h
+++ b/keyboards/cmm_studio/fuji65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434D
-#define PRODUCT_ID 0x364D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CMM.Studio
-#define PRODUCT Fuji65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/cmm_studio/fuji65/info.json b/keyboards/cmm_studio/fuji65/info.json
index 4d5080a831..f1258aea8e 100644
--- a/keyboards/cmm_studio/fuji65/info.json
+++ b/keyboards/cmm_studio/fuji65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cmm.studio fuji65",
+ "keyboard_name": "Fuji65",
+ "manufacturer": "CMM.Studio",
"url": "",
"maintainer": "CMMS-Freather",
+ "usb": {
+ "vid": "0x434D",
+ "pid": "0x364D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/cmm_studio/saka68/hotswap/config.h b/keyboards/cmm_studio/saka68/hotswap/config.h
index 9879dadd50..592fcf8782 100644
--- a/keyboards/cmm_studio/saka68/hotswap/config.h
+++ b/keyboards/cmm_studio/saka68/hotswap/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434D
-#define PRODUCT_ID 0x5348
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CMM.Studio
-#define PRODUCT Saka68 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/cmm_studio/saka68/hotswap/info.json b/keyboards/cmm_studio/saka68/hotswap/info.json
index 2e48427712..fecff0d0e9 100644
--- a/keyboards/cmm_studio/saka68/hotswap/info.json
+++ b/keyboards/cmm_studio/saka68/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CMM.Studio Saka68 Hotswap",
+ "keyboard_name": "Saka68 Hotswap",
+ "manufacturer": "CMM.Studio",
"url": "",
"maintainer": "CMMS-Freather",
+ "usb": {
+ "vid": "0x434D",
+ "pid": "0x5348",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_68_ansi"
},
diff --git a/keyboards/cmm_studio/saka68/solder/config.h b/keyboards/cmm_studio/saka68/solder/config.h
index 3dd09922cc..583f729962 100644
--- a/keyboards/cmm_studio/saka68/solder/config.h
+++ b/keyboards/cmm_studio/saka68/solder/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434D
-#define PRODUCT_ID 0x534B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CMM.Studio
-#define PRODUCT Saka68 Solder
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/cmm_studio/saka68/solder/info.json b/keyboards/cmm_studio/saka68/solder/info.json
index 6856294471..c998dd5fa2 100644
--- a/keyboards/cmm_studio/saka68/solder/info.json
+++ b/keyboards/cmm_studio/saka68/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CMM.Studio Saka68 Solder",
+ "keyboard_name": "Saka68 Solder",
+ "manufacturer": "CMM.Studio",
"url": "",
"maintainer": "CMMS-Freather",
+ "usb": {
+ "vid": "0x434D",
+ "pid": "0x534B",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_68_ansi"
},
diff --git a/keyboards/coarse/cordillera/config.h b/keyboards/coarse/cordillera/config.h
index 7bc2dca560..962c3edbe7 100644
--- a/keyboards/coarse/cordillera/config.h
+++ b/keyboards/coarse/cordillera/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434B // CK for Coarse Keys
-#define PRODUCT_ID 0x1401 // '20 - 001
-#define DEVICE_VER 0x0001 // Revision prototype
-#define MANUFACTURER Coarse
-#define PRODUCT Cordillera
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/coarse/cordillera/info.json b/keyboards/coarse/cordillera/info.json
index a94459180f..c72fa972ef 100644
--- a/keyboards/coarse/cordillera/info.json
+++ b/keyboards/coarse/cordillera/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cordillera",
+ "manufacturer": "Coarse",
"url": "https://keyboard.coarse.tech/Cordillera-Alice-like-PCB-b34d95777ea44249bad3271b01d7838a",
"maintainer": "coarse",
+ "usb": {
+ "vid": "0x434B",
+ "pid": "0x1401",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice": {
"layout": [
diff --git a/keyboards/coarse/ixora/config.h b/keyboards/coarse/ixora/config.h
index 13246e9226..98317817a3 100644
--- a/keyboards/coarse/ixora/config.h
+++ b/keyboards/coarse/ixora/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0C61
-#define DEVICE_VER 0x0100
-#define MANUFACTURER PeiorisBoards
-#define PRODUCT Ixora Rev1
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
diff --git a/keyboards/coarse/ixora/info.json b/keyboards/coarse/ixora/info.json
index 1bf2928885..147716608a 100644
--- a/keyboards/coarse/ixora/info.json
+++ b/keyboards/coarse/ixora/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Ixora",
+ "keyboard_name": "Ixora Rev1",
+ "manufacturer": "PeiorisBoards",
"url": "",
"maintainer": "Peioris",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0C61",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_full": {
"layout": [{"label":"1", "x":0, "y":0}, {"label":"2", "x":1, "y":0}, {"label":"3", "x":2, "y":0}, {"label":"Caps Lock", "x":0, "y":1}, {"label":"Num Lock", "x":1, "y":1}, {"label":"Scroll Lock", "x":2, "y":1}]
diff --git a/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c b/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c
index 3e08c78015..bf26771b7c 100644
--- a/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c
+++ b/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c
@@ -3,7 +3,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: (Base Layer) Default Layer
* ,-----------------.
- * |RESET| 2 | 3 |
+ * |QK_BOOT| 2 | 3 |
* |-----------------|
* |Caps |NmLk |ScLk |
* `-----------------'
diff --git a/keyboards/coarse/ixora/readme.md b/keyboards/coarse/ixora/readme.md
index a094bbd5e7..824e167ecd 100644
--- a/keyboards/coarse/ixora/readme.md
+++ b/keyboards/coarse/ixora/readme.md
@@ -18,5 +18,5 @@ See [build environment setup](https://docs.qmk.fm/build_environment_setup.html)
#### Developer's Note
-STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `RESET` keycode nor using bootmagic or bootmagic lite.
-The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `RESET` keycode).
+STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `QK_BOOT` keycode nor using bootmagic or bootmagic lite.
+The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `QK_BOOT` keycode).
diff --git a/keyboards/coarse/vinta/config.h b/keyboards/coarse/vinta/config.h
index 4e35b3461a..0ca163539d 100644
--- a/keyboards/coarse/vinta/config.h
+++ b/keyboards/coarse/vinta/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0C61
-#define DEVICE_VER 0x0100
-#define MANUFACTURER PeiorisBoards
-#define PRODUCT Vinta R1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/coarse/vinta/info.json b/keyboards/coarse/vinta/info.json
index af78ac45e2..7ae03ab599 100644
--- a/keyboards/coarse/vinta/info.json
+++ b/keyboards/coarse/vinta/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "vinta",
+ "keyboard_name": "Vinta R1",
+ "manufacturer": "PeiorisBoards",
"url": "",
"maintainer": "Peioris",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0C61",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_69_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":"~", "x":13, "y":0}, {"label":"|", "x":14, "y":0}, {"label":"Del", "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":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "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":"PgDn", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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":"Alt", "x":10, "y":4}, {"label":"Reset", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/coarse/vinta/readme.md b/keyboards/coarse/vinta/readme.md
index 42291cd1fe..3c87101c46 100644
--- a/keyboards/coarse/vinta/readme.md
+++ b/keyboards/coarse/vinta/readme.md
@@ -18,5 +18,5 @@ See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools)
#### Developer's Note
-STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `RESET` keycode nor using bootmagic or bootmagic lite.
-The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `RESET` keycode).
+STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `QK_BOOT` keycode nor using bootmagic or bootmagic lite.
+The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `QK_BOOT` keycode).
diff --git a/keyboards/compound/config.h b/keyboards/compound/config.h
index 43edc00660..fb9fd51e43 100644
--- a/keyboards/compound/config.h
+++ b/keyboards/compound/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x420A
-#define PRODUCT_ID 0xB0BA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sabomov
-#define PRODUCT Compound
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/compound/info.json b/keyboards/compound/info.json
index f39a9ba1d4..b6963c0721 100644
--- a/keyboards/compound/info.json
+++ b/keyboards/compound/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Compound",
+ "manufacturer": "Sabomov",
"url": "https://geekhack.org/index.php?topic=111187.0",
"maintainer": "yumagulovrn",
+ "usb": {
+ "vid": "0x420A",
+ "pid": "0xB0BA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/contender/config.h b/keyboards/contender/config.h
index 9977a5033e..e6d32c8a62 100644
--- a/keyboards/contender/config.h
+++ b/keyboards/contender/config.h
@@ -19,13 +19,6 @@ 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 0xC010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sotoba
-#define PRODUCT contender
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, D3, B5, B7, B4, B2 }
#define MATRIX_COL_PINS { C7, D6, B3, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/contender/info.json b/keyboards/contender/info.json
index 1f1d8bf534..945fce0835 100644
--- a/keyboards/contender/info.json
+++ b/keyboards/contender/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "contender",
+ "manufacturer": "sotoba",
"url": "https://github.com/sotoba/contender",
"maintainer": "sotoba",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/contender/readme.md b/keyboards/contender/readme.md
index 281ad4dabf..8a3fe08eaf 100644
--- a/keyboards/contender/readme.md
+++ b/keyboards/contender/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/contra/config.h b/keyboards/contra/config.h
index 499517f984..a6be554875 100755
--- a/keyboards/contra/config.h
+++ b/keyboards/contra/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4354 /* "CT" */
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Cartel
-#define PRODUCT Contra
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -35,11 +27,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 0
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/contra/info.json b/keyboards/contra/info.json
index 0aff3f3c2f..76f66dc3f8 100644
--- a/keyboards/contra/info.json
+++ b/keyboards/contra/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Contra",
+ "manufacturer": "Cartel",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4354",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"&uArr;", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
diff --git a/keyboards/contra/keymaps/alper/keymap.c b/keyboards/contra/keymaps/alper/keymap.c
index 8be7513556..af81040b58 100644
--- a/keyboards/contra/keymaps/alper/keymap.c
+++ b/keyboards/contra/keymaps/alper/keymap.c
@@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c
index 6c05ebebff..1a365c9a6d 100644
--- a/keyboards/contra/keymaps/default/keymap.c
+++ b/keyboards/contra/keymaps/default/keymap.c
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_mit(
_______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/contra/keymaps/enigma/config.h b/keyboards/contra/keymaps/enigma/config.h
new file mode 100644
index 0000000000..87f0199876
--- /dev/null
+++ b/keyboards/contra/keymaps/enigma/config.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 Christopher Swenson
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 RGB_DI_PIN F7
+#ifdef RGB_DI_PIN
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLED_NUM 12
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+#endif \ No newline at end of file
diff --git a/keyboards/contra/keymaps/enigma/keymap.c b/keyboards/contra/keymaps/enigma/keymap.c
new file mode 100644
index 0000000000..d8779fb063
--- /dev/null
+++ b/keyboards/contra/keymaps/enigma/keymap.c
@@ -0,0 +1,625 @@
+/* Copyright 2022 Christopher Swenson
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 planck_layers {
+ _ENIGMA,
+ _QWERTY,
+ _FN,
+ _LOWER,
+ _RAISE
+};
+
+enum planck_normal_keycodes {
+ QWERTY = SAFE_RANGE,
+ ENIGMA,
+ EN_A,
+ EN_B,
+ EN_C,
+ EN_D,
+ EN_E,
+ EN_F,
+ EN_G,
+ EN_H,
+ EN_I,
+ EN_J,
+ EN_K,
+ EN_L,
+ EN_M,
+ EN_N,
+ EN_O,
+ EN_P,
+ EN_Q,
+ EN_R,
+ EN_S,
+ EN_T,
+ EN_U,
+ EN_V,
+ EN_W,
+ EN_X,
+ EN_Y,
+ EN_Z,
+ EN_RES,
+ EN_TEST,
+ EN_DIAG,
+ EN_BSPC,
+ EN_SREF,
+ EN_SROT,
+ EN_SPOS,
+ EN_SRIN,
+ EN_SPLU
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Enigma
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_ENIGMA] = LAYOUT_planck_mit(
+ QK_GESC, EN_Q, EN_W, EN_E, EN_R, EN_T, EN_Y, EN_U, EN_I, EN_O, EN_P, KC_BSPC,
+ KC_TAB, EN_A, EN_S, EN_D, EN_F, EN_G, EN_H, EN_J, EN_K, EN_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, EN_Z, EN_X, EN_C, EN_V, EN_B, EN_N, EN_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ KC_LCTL, MO(_FN), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+ /* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT_planck_mit(
+ QK_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_LCTL, MO(_FN), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+ /* Function
+ * ,-----------------------------------------------------------------------------------.
+ * | Boot | Reset| Diag | | | | | | | | Test |Revers|
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |Reflec|Rotors|Posn.s|Rings |Plugs | | |Enigma|Qwerty| | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_FN] = LAYOUT_planck_mit(
+ QK_BOOT, EN_RES, EN_DIAG, _______, _______, _______, _______, _______, _______, _______, EN_TEST, EN_BSPC,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, EN_SREF, EN_SROT, EN_SPOS, EN_SRIN, EN_SPLU, _______, _______, QWERTY, ENIGMA, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_LOWER] = LAYOUT_planck_mit(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, _______, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+ /* RAISE
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_RAISE] = LAYOUT_planck_mit(
+ 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_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, _______, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+};
+
+char rotor_definitions[5][26] = {
+ "EKMFLGDQVZNTOWYHXUSPAIBRCJ",
+ "AJDKSIRUXBLHWTMCQGZNPYFVOE",
+ "BDFHJLCPRTXVZNYEIWGAKMUSQO",
+ "ESOVPZJAYQUIRHXLNFTGKDCMWB",
+ "VZBRGITYUPSDNHLXAWMJQOFECK"
+};
+
+char reflector_definitions[3][26] = {
+ "EJMZALYXVBWFCRQUONTSPIKHGD",
+ "YRUHQSLDPXNGOKMIEBFZCWVJAT",
+ "FVPJIAOYEDRZXWGCTKUQSBNMHL"
+};
+
+char notch[5] = "QEVJZ";
+
+typedef struct Settings {
+ char rotor_order[3];
+ char rotor_rings[3];
+ char rotor_positions[3];
+ char plugs[25];
+ int plug_count;
+ char reflector;
+} Settings;
+
+typedef struct KeyboardState {
+ bool is_setting_reflector;
+ bool is_setting_rotors;
+ bool is_setting_rotor_positions;
+ bool is_setting_rotor_rings;
+ bool is_setting_plugs;
+ char setting_progress[26];
+ int setting_index;
+ Settings current_settings;
+ Settings default_settings;
+} KeyboardState;
+
+int bound(int letter) {
+ return ((letter % 26) + 26) % 26;
+}
+
+char to_char(int letter) {
+ return 'A' + letter;
+}
+
+int to_int(char letter) {
+ return letter - 'A';
+}
+
+char encipher(char letter, Settings *settings) {
+ int rotor_2_step = settings->rotor_positions[2] == notch[settings->rotor_order[2] - 1];
+ int rotor_1_step = settings->rotor_positions[1] == notch[settings->rotor_order[1] - 1];
+
+ // Advance the third rotor
+ settings->rotor_positions[2]++;
+ if (settings->rotor_positions[2] > 'Z') {
+ settings->rotor_positions[2] -= 26;
+ }
+
+ // Maybe advance the second rotor, including double steps
+ if (rotor_2_step || rotor_1_step) {
+ settings->rotor_positions[1]++;
+ if (settings->rotor_positions[1] > 'Z') {
+ settings->rotor_positions[1] -= 26;
+ }
+ }
+
+ // Maybe advance the first rotor
+ if (rotor_1_step) {
+ settings->rotor_positions[0]++;
+ if (settings->rotor_positions[0] > 'Z') {
+ settings->rotor_positions[0] -= 26;
+ }
+ }
+
+ // Swap letters on plugboard
+ for (int i = 0; i < settings->plug_count * 2; i += 2) {
+ if (letter == settings->plugs[i]) {
+ letter = settings->plugs[i + 1];
+ } else if (letter == settings->plugs[i + 1]) {
+ letter = settings->plugs[i];
+ }
+ }
+
+ // Rotors (right to left)
+ for (int rotor_index = 2; rotor_index >= 0; rotor_index--) {
+ char *rotor_definition = rotor_definitions[settings->rotor_order[rotor_index] - 1];
+ int position = to_int(settings->rotor_positions[rotor_index]);
+ int ring = to_int(settings->rotor_rings[rotor_index]);
+ int char_index = to_int(letter);
+ letter = to_char(bound(
+ to_int(rotor_definition[bound(char_index + position - ring)]) + ring - position
+ ));
+ }
+
+ // Swap via reflector
+ letter = reflector_definitions[to_int(settings->reflector)][to_int(letter)];
+
+ // Rotors in reverse (left to right)
+ for (int rotor_index = 0; rotor_index < 3; rotor_index++) {
+ char *rotor_definition = rotor_definitions[settings->rotor_order[rotor_index] - 1];
+ int position = to_int(settings->rotor_positions[rotor_index]);
+ int ring = to_int(settings->rotor_rings[rotor_index]);
+ int search_index;
+ for (search_index = 0; search_index < 26; search_index++) {
+ if (
+ rotor_definition[search_index]
+ == to_char(bound(to_int(letter) - ring + position))
+ ) {
+ break;
+ }
+ }
+ letter = to_char(bound(search_index - position + ring));
+ }
+
+ // Plugboard again
+ for (int i = 0; i < settings->plug_count * 2; i += 2) {
+ if (letter == settings->plugs[i]) {
+ letter = settings->plugs[i + 1];
+ } else if (letter == settings->plugs[i + 1]) {
+ letter = settings->plugs[i];
+ }
+ }
+
+ return letter;
+}
+
+void init_enigma_default(Settings *settings) {
+ settings->rotor_order[0] = 1;
+ settings->rotor_rings[0] = 'A';
+ settings->rotor_positions[0] = 'A';
+
+ settings->rotor_order[1] = 2;
+ settings->rotor_rings[1] = 'A';
+ settings->rotor_positions[1] = 'A';
+
+ settings->rotor_order[2] = 3;
+ settings->rotor_rings[2] = 'A';
+ settings->rotor_positions[2] = 'A';
+
+ strcpy(settings->plugs, "");
+ settings->plug_count = 0;
+
+ settings->reflector = 'B';
+}
+
+void copy_settings(Settings *from, Settings *to) {
+ to->rotor_order[0] = from->rotor_order[0];
+ to->rotor_rings[0] = from->rotor_rings[0];
+ to->rotor_positions[0] = from->rotor_positions[0];
+
+ to->rotor_order[1] = from->rotor_order[1];
+ to->rotor_rings[1] = from->rotor_rings[1];
+ to->rotor_positions[1] = from->rotor_positions[1];
+
+ to->rotor_order[2] = from->rotor_order[2];
+ to->rotor_rings[2] = from->rotor_rings[2];
+ to->rotor_positions[2] = from->rotor_positions[2];
+
+ strncpy(to->plugs, from->plugs, from->plug_count * 2);
+ to->plug_count = from->plug_count;
+
+ to->reflector = from->reflector;
+}
+
+char *rotor_name(int rotor_number) {
+ if (rotor_number == 1) {
+ return "I";
+ } else if (rotor_number == 2) {
+ return "II";
+ } else if (rotor_number == 3) {
+ return "III";
+ } else if (rotor_number == 4) {
+ return "IV";
+ } else if (rotor_number == 5) {
+ return "V";
+ }
+ return "?";
+}
+
+void rotors_reverse(Settings *settings) {
+ int rotor_2_step = settings->rotor_positions[2]
+ == to_char(bound(to_int(notch[settings->rotor_order[2] - 1]) + 1));
+ int rotor_1_step = settings->rotor_positions[1]
+ == to_char(bound(to_int(notch[settings->rotor_order[1] - 1]) + 1));
+
+ // Reverse third rotor
+ settings->rotor_positions[2]--;
+ if (settings->rotor_positions[2] < 'A') {
+ settings->rotor_positions[2] += 26;
+ }
+
+ // Maybe reverse second rotor (including double steps)
+ if (rotor_2_step || rotor_1_step) {
+ settings->rotor_positions[1]--;
+ if (settings->rotor_positions[1] < 'A') {
+ settings->rotor_positions[1] += 26;
+ }
+ }
+
+ // Maybe recerse first rotor
+ if (rotor_1_step) {
+ settings->rotor_positions[0]--;
+ if (settings->rotor_positions[0] < 'A') {
+ settings->rotor_positions[0] += 26;
+ }
+ }
+}
+
+void reset_settings(KeyboardState *state) {
+ copy_settings(&state->default_settings, &state->current_settings);
+}
+
+void set_layer(uint8_t default_layer) {
+ default_layer_set((layer_state_t)1 << default_layer);
+}
+
+void set_backlight(uint8_t mode, uint8_t hue, uint8_t sat, uint8_t val) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable_noeeprom();
+ rgblight_mode_noeeprom(mode);
+ rgblight_sethsv_noeeprom(hue, sat, val);
+ #endif
+}
+
+void clear_working_settings(KeyboardState *state) {
+ state->is_setting_reflector = false;
+ state->is_setting_rotors = false;
+ state->is_setting_rotor_positions = false;
+ state->is_setting_rotor_rings = false;
+ state->is_setting_plugs = false;
+ state->setting_index = 0;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_STATIC_LIGHT, HSV_RED);
+}
+
+void send_settings_string(Settings *settings) {
+ send_char(settings->reflector);
+ send_string(". ");
+ send_string(rotor_name(settings->rotor_order[0]));
+ send_char(settings->rotor_rings[0]);
+ send_string("-");
+ send_string(rotor_name(settings->rotor_order[1]));
+ send_char(settings->rotor_rings[1]);
+ send_string("-");
+ send_string(rotor_name(settings->rotor_order[2]));
+ send_char(settings->rotor_rings[2]);
+ send_string(" (");
+ send_char(settings->rotor_positions[0]);
+ send_string(", ");
+ send_char(settings->rotor_positions[1]);
+ send_string(", ");
+ send_char(settings->rotor_positions[2]);
+ send_string(") ");
+ for (int i = 0; i < settings->plug_count; i++) {
+ send_char(settings->plugs[i * 2]);
+ send_char(settings->plugs[i * 2 + 1]);
+ send_string(" ");
+ }
+ send_string("\n");
+}
+
+void perform_test(Settings *settings) {
+ for (int i = 0; i < 1000; i++) {
+ send_char(encipher('A', settings) - ('A' - 'a'));
+ }
+}
+
+void commit_plug_settings(KeyboardState *state) {
+ state->default_settings.plug_count = state->setting_index / 2;
+ for (int i = 0; i < state->default_settings.plug_count; i++) {
+ state->default_settings.plugs[i * 2] = state->setting_progress[i * 2];
+ state->default_settings.plugs[i * 2 + 1] = state->setting_progress[i * 2 + 1];
+ }
+ reset_settings(state);
+ clear_working_settings(state);
+}
+
+void handle_set_reflector(char letter, KeyboardState *state) {
+ if (letter >= 'A' && letter <= 'C') {
+ state->default_settings.reflector = letter;
+ reset_settings(state);
+ clear_working_settings(state);
+ }
+}
+
+bool handle_set_rotor(char letter, KeyboardState *state) {
+ bool is_valid = letter >= 'A' && letter <= 'E' && state->setting_index < 3;
+ if (is_valid) {
+ state->setting_progress[state->setting_index] = to_int(letter) + 1;
+ state->setting_index += 1;
+ if (state->setting_index == 3) {
+ state->default_settings.rotor_order[0] = state->setting_progress[0];
+ state->default_settings.rotor_order[1] = state->setting_progress[1];
+ state->default_settings.rotor_order[2] = state->setting_progress[2];
+ reset_settings(state);
+ clear_working_settings(state);
+ }
+ }
+ return is_valid;
+}
+
+bool handle_set_rotor_position(char letter, KeyboardState *state) {
+ bool is_valid = state->setting_index < 3; // Guaranteed to be A-Z already
+ if (is_valid) {
+ state->setting_progress[state->setting_index] = letter;
+ state->setting_index += 1;
+ if (state->setting_index == 3) {
+ state->default_settings.rotor_positions[0] = state->setting_progress[0];
+ state->default_settings.rotor_positions[1] = state->setting_progress[1];
+ state->default_settings.rotor_positions[2] = state->setting_progress[2];
+ reset_settings(state);
+ clear_working_settings(state);
+ }
+ }
+ return is_valid;
+}
+
+bool handle_set_rotor_ring(char letter, KeyboardState *state) {
+ bool is_valid = state->setting_index < 3;
+ if (is_valid) {
+ state->setting_progress[state->setting_index] = letter;
+ state->setting_index += 1;
+ if (state->setting_index == 3) {
+ state->default_settings.rotor_rings[0] = state->setting_progress[0];
+ state->default_settings.rotor_rings[1] = state->setting_progress[1];
+ state->default_settings.rotor_rings[2] = state->setting_progress[2];
+ reset_settings(state);
+ clear_working_settings(state);
+ }
+ }
+ return is_valid;
+}
+
+bool handle_set_plug(char letter, KeyboardState *state) {
+ bool is_valid = state->setting_index < 26;
+ if (is_valid) {
+ state->setting_progress[state->setting_index] = letter;
+ state->setting_index += 1;
+ }
+ return is_valid;
+}
+
+void handle_enigma_keypress(char letter, bool any_mods, KeyboardState *state) {
+ bool settings_valid = true;
+ if (letter) {
+ if (any_mods) {
+ tap_code(KC_A + to_int(letter));
+ } else if (state->is_setting_reflector) {
+ handle_set_reflector(letter, state);
+ } else if (state->is_setting_rotors) {
+ settings_valid = handle_set_rotor(letter, state);
+ } else if (state->is_setting_rotor_positions) {
+ settings_valid = handle_set_rotor_position(letter, state);
+ } else if (state->is_setting_rotor_rings) {
+ settings_valid = handle_set_rotor_ring(letter, state);
+ } else if (state->is_setting_plugs) {
+ settings_valid = handle_set_plug(letter, state);
+ } else {
+ char c2 = encipher(letter, &state->current_settings);
+ send_char(c2 - ('A' - 'a'));
+ }
+ }
+ if (!settings_valid) {
+ clear_working_settings(state);
+ }
+}
+
+KeyboardState STATE;
+
+void keyboard_pre_init_user(void) {
+ init_enigma_default(&STATE.default_settings);
+ init_enigma_default(&STATE.current_settings);
+ clear_working_settings(&STATE);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint8_t letter_index;
+ bool letter_found = false;
+ if (record->event.pressed) {
+ switch (keycode) {
+ case QWERTY:
+ set_layer(_QWERTY);
+ set_backlight(RGBLIGHT_MODE_RAINBOW_SWIRL + 4, HSV_PURPLE);
+ break;
+ case ENIGMA:
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_STATIC_LIGHT, HSV_RED);
+ break;
+ case EN_SREF:
+ reset_settings(&STATE);
+ STATE.is_setting_reflector = true;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_SNAKE, HSV_RED);
+ break;
+ case EN_SROT:
+ reset_settings(&STATE);
+ STATE.is_setting_rotors = true;
+ STATE.setting_index = 0;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_SNAKE, 10, 255, 255);
+ break;
+ case EN_SPOS:
+ reset_settings(&STATE);
+ STATE.is_setting_rotor_positions = true;
+ STATE.setting_index = 0;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_SNAKE, HSV_ORANGE);
+ break;
+ case EN_SRIN:
+ reset_settings(&STATE);
+ STATE.is_setting_rotor_rings = true;
+ STATE.setting_index = 0;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_SNAKE, HSV_GREEN);
+ break;
+ case EN_SPLU:
+ reset_settings(&STATE);
+ STATE.is_setting_plugs = true;
+ STATE.setting_index = 0;
+ set_layer(_ENIGMA);
+ set_backlight(RGBLIGHT_MODE_SNAKE, HSV_BLUE);
+ break;
+ case QK_GESC:
+ if (
+ STATE.is_setting_reflector
+ || STATE.is_setting_rotors
+ || STATE.is_setting_rotor_positions
+ || STATE.is_setting_rotor_rings
+ || STATE.is_setting_plugs
+ ) {
+ clear_working_settings(&STATE);
+ return false;
+ }
+ break;
+ case KC_ENT:
+ if (STATE.is_setting_plugs) {
+ commit_plug_settings(&STATE);
+ return false;
+ }
+ break;
+ case EN_A ... EN_Z:
+ letter_index = keycode - EN_A;
+ letter_found = true;
+ break;
+ case EN_RES:
+ reset_settings(&STATE);
+ break;
+ case EN_TEST:
+ perform_test(&STATE.current_settings);
+ break;
+ case EN_DIAG:
+ send_settings_string(&STATE.current_settings);
+ break;
+ case EN_BSPC:
+ rotors_reverse(&STATE.current_settings);
+ tap_code(KC_BSPC);
+ break;
+ }
+ }
+ char letter = letter_found ? 'A' + letter_index : 0;
+ uint8_t mods = get_mods();
+ bool any_mods = (mods & MOD_MASK_CTRL) || (mods & MOD_MASK_ALT) || (mods & MOD_MASK_GUI);
+ handle_enigma_keypress(letter, any_mods, &STATE);
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+ set_layer(_QWERTY);
+ set_backlight(RGBLIGHT_MODE_RAINBOW_SWIRL + 4, HSV_PURPLE);
+}
diff --git a/keyboards/contra/keymaps/enigma/readme.md b/keyboards/contra/keymaps/enigma/readme.md
new file mode 100644
index 0000000000..9bc69b3980
--- /dev/null
+++ b/keyboards/contra/keymaps/enigma/readme.md
@@ -0,0 +1,35 @@
+# A Contra Layout with an Enigma Emulator
+
+```
+
+,-----------------------------------------------------------------------------------.
+| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+|------+------+------+------+------+-------------+------+------+------+------+------|
+| Tab | A | S | D | F | G | H | J | K | L | ; | " |
+|------+------+------+------+------+------|------+------+------+------+------+------|
+| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+|------+------+------+------+------+------+------+------+------+------+------+------|
+| Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+`-----------------------------------------------------------------------------------'
+```
+
+By default, this layout functions like a normal QWERTY layout. But it also has an in-built Enigma machine emulator.
+To enable the emulator, press `Fn+.`, and to go back to QWERTY, press `FN+,`.
+
+A demonstration video can be found [here](https://youtu.be/p8kBjP1DCzo).
+
+When Enigma mode is enabled, all letters A-Z will be enciphered using the Enigma emulator. Other keycodes will not be modified. Shift will be sent as normal, so you can choose whether to capitalize the output. If any other modifier (Ctrl, Alt, or Gui) are being pressed, the normal letter will come through.
+
+There are a few key combinations for configuring and diagnosing the Enigma emulator:
+
+* `Fn+Q` resets the emulator to the last-configured settings
+* `Fn+W` types out the current Enigma settings, e.g. `B. IA-IIA-IIIA (A, A, A) QW` (meaning reflector B; rotors I, II, and III all at ring setting A; all at position A, and with Q and W swapped on the plugboard)
+* `Fn+P` types out 1000 enciphered As, for testing
+* `Fn+Backspace` back-rotates the rotors one step, for fixing typos without having to re-type a whole message
+* `Fn+Z` followed by A, B, or C is used to set the reflector
+* `Fn+X` followed by three characters A-E is used to set the rotors
+* `Fn+C` followed by three characters A-Z is used to set the rotor positions
+* `Fn+V` followed by three characters A-Z is used to set the ring settings
+* `Fn+B` followed by up to 13 pairs of characters A-Z (one at a time, not simulaneously) then the Enter key is used to set the plugboard
+
+
diff --git a/keyboards/contra/keymaps/enigma/rules.mk b/keyboards/contra/keymaps/enigma/rules.mk
new file mode 100644
index 0000000000..261e59922a
--- /dev/null
+++ b/keyboards/contra/keymaps/enigma/rules.mk
@@ -0,0 +1,2 @@
+RGBLIGHT_ENABLE = yes
+RGBLIGHT_SUPPORTED = yes \ No newline at end of file
diff --git a/keyboards/contra/keymaps/losinggeneration/keymap.c b/keyboards/contra/keymaps/losinggeneration/keymap.c
index d4a336c338..0e2478e1ae 100644
--- a/keyboards/contra/keymaps/losinggeneration/keymap.c
+++ b/keyboards/contra/keymaps/losinggeneration/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | | RESET| Game |Numpad|Mouse | |Sleep |
+ * | | F1 | F2 | F3 | F4 | | QK_BOOT| Game |Numpad|Mouse | |Sleep |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F5 | F6 | F7 | F8 | | |Qwerty|Colmak|Workmn|Dvorak| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = CATMAP( \
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, RESET , TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, QK_BOOT, TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \
MT_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, KC_UP , _______, \
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT \
diff --git a/keyboards/contra/keymaps/msiu/keymap.c b/keyboards/contra/keymaps/msiu/keymap.c
index ee0598533d..36dda9863a 100644
--- a/keyboards/contra/keymaps/msiu/keymap.c
+++ b/keyboards/contra/keymaps/msiu/keymap.c
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, QWERTY, DVORAK, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
[_FUNC] = LAYOUT_ortho_4x12(
diff --git a/keyboards/converter/a1200/info.json b/keyboards/converter/a1200/info.json
index 41f328668e..1b46444ba8 100644
--- a/keyboards/converter/a1200/info.json
+++ b/keyboards/converter/a1200/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Amiga 1200 Keyboard",
"maintainer": "8bits4ever",
"layouts": {
"LAYOUT": {
diff --git a/keyboards/converter/a1200/miss1200/config.h b/keyboards/converter/a1200/miss1200/config.h
index 7347f1948c..5faee6f45c 100644
--- a/keyboards/converter/a1200/miss1200/config.h
+++ b/keyboards/converter/a1200/miss1200/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFFFF
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 8bits4ever
-#define PRODUCT MiSS-1200
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0, B1, B3 }
#define MATRIX_COL_PINS { D0, D1, C7, D6, B7, B6, B5, B4, E6, D7, C6, D4, B2, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/converter/a1200/miss1200/info.json b/keyboards/converter/a1200/miss1200/info.json
new file mode 100644
index 0000000000..3c97119dbd
--- /dev/null
+++ b/keyboards/converter/a1200/miss1200/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "MiSS-1200",
+ "manufacturer": "8bits4ever",
+ "usb": {
+ "vid": "0xFFFF",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/converter/a1200/mistress1200/config.h b/keyboards/converter/a1200/mistress1200/config.h
index 123d6165d6..67a312d795 100644
--- a/keyboards/converter/a1200/mistress1200/config.h
+++ b/keyboards/converter/a1200/mistress1200/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFFFF
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 8bits4ever
-#define PRODUCT MiSTress1200
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0, B1, B3 }
#define MATRIX_COL_PINS { D0, D1, C7, D6, B7, B6, B5, B4, E6, D7, C6, D4, B2, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/converter/a1200/mistress1200/info.json b/keyboards/converter/a1200/mistress1200/info.json
new file mode 100644
index 0000000000..1cdecf736e
--- /dev/null
+++ b/keyboards/converter/a1200/mistress1200/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "MiSTress1200",
+ "manufacturer": "8bits4ever",
+ "usb": {
+ "vid": "0xFFFF",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/converter/a1200/teensy2pp/config.h b/keyboards/converter/a1200/teensy2pp/config.h
index 84a81c297c..e9e961433f 100644
--- a/keyboards/converter/a1200/teensy2pp/config.h
+++ b/keyboards/converter/a1200/teensy2pp/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 8bits4ever
-#define PRODUCT Amiga-1200
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D2, D3, D4, D5, D6, D7, E0, E1, C0, C1, C2, C3, C4, C5, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/converter/a1200/teensy2pp/info.json b/keyboards/converter/a1200/teensy2pp/info.json
new file mode 100644
index 0000000000..243b586c9f
--- /dev/null
+++ b/keyboards/converter/a1200/teensy2pp/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Amiga-1200",
+ "manufacturer": "8bits4ever",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/converter/adb_usb/config.h b/keyboards/converter/adb_usb/config.h
index 92ce05f3d2..b6eb105bbd 100644
--- a/keyboards/converter/adb_usb/config.h
+++ b/keyboards/converter/adb_usb/config.h
@@ -19,12 +19,6 @@ Ported to QMK by Peter Roe <pete@13bit.me>
#pragma once
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0ADB
-#define DEVICE_VER 0x0101
-#define MANUFACTURER QMK
-#define PRODUCT ADB keyboard converter
-
/* matrix size */
#define MATRIX_ROWS 16 // keycode bit: 3-0
#define MATRIX_COLS 8 // keycode bit: 6-4
diff --git a/keyboards/converter/adb_usb/info.json b/keyboards/converter/adb_usb/info.json
index 45ae5e4f34..f64616e212 100644
--- a/keyboards/converter/adb_usb/info.json
+++ b/keyboards/converter/adb_usb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ADB to USB Keyboard Converter",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0ADB",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT_ext_ansi": {
"layout": [
diff --git a/keyboards/converter/adb_usb/readme.md b/keyboards/converter/adb_usb/readme.md
index 8de9b9ad46..2d2e3cd4e3 100644
--- a/keyboards/converter/adb_usb/readme.md
+++ b/keyboards/converter/adb_usb/readme.md
@@ -51,16 +51,8 @@ Keymap
------
To build the default keymap run this command:
- $ make converter/adb_usb:default
-
-You may add your own keymap to the converter/adb_usb/keymaps directory, as you would with any other QMK-powered keyboard.
-
-To build your custom keymap, change the build command to:
-
- $ make converter/adb_usb:my_keymap
-
-Where 'my_keymap' is the name of your custom keymap directory.
-
+ $ make converter/adb_usb/rev1:default # Pro Micro-based
+ $ make converter/adb_usb/rev2:default # Hasu 32U2 PCB
Locking Caps Lock
----------------
diff --git a/keyboards/converter/adb_usb/rev1/rules.mk b/keyboards/converter/adb_usb/rev1/rules.mk
new file mode 100644
index 0000000000..cf663a7ed6
--- /dev/null
+++ b/keyboards/converter/adb_usb/rev1/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
diff --git a/keyboards/converter/adb_usb/rev2/rules.mk b/keyboards/converter/adb_usb/rev2/rules.mk
new file mode 100644
index 0000000000..6ab81f6b12
--- /dev/null
+++ b/keyboards/converter/adb_usb/rev2/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk
index 93bdbf6abf..4e4d068a70 100644
--- a/keyboards/converter/adb_usb/rules.mk
+++ b/keyboards/converter/adb_usb/rules.mk
@@ -1,23 +1,19 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-EXTRAKEY_ENABLE = yes
-USB_HID_ENABLE = yes
-BACKLIGHT_ENABLE = no
-CUSTOM_MATRIX = yes
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+CUSTOM_MATRIX = yes
-SRC = matrix.c adb.c led.c
+SRC += matrix.c adb.c led.c
-# ADB_MOUSE_ENABLE
# OPT_DEFS += -DADB_MOUSE_ENABLE -DMOUSE_ENABLE
+
+DEFAULT_FOLDER = converter/adb_usb/rev1
diff --git a/keyboards/converter/hp_46010a/config.h b/keyboards/converter/hp_46010a/config.h
index 91350bcb4f..e189b7d79a 100644
--- a/keyboards/converter/hp_46010a/config.h
+++ b/keyboards/converter/hp_46010a/config.h
@@ -19,12 +19,6 @@ 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 46010A keyboard converter
-
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
diff --git a/keyboards/converter/hp_46010a/info.json b/keyboards/converter/hp_46010a/info.json
index 01e9f4d25f..aa49bf11df 100644
--- a/keyboards/converter/hp_46010a/info.json
+++ b/keyboards/converter/hp_46010a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HP_46010A",
+ "keyboard_name": "HP 46010A to USB Keyboard Converter",
+ "manufacturer": "QMK",
"url": "https://deskthority.net/wiki/HP_46010A",
"maintainer": "listofoptions",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/ibm_terminal/config.h b/keyboards/converter/ibm_terminal/config.h
index 2cd36c5fb0..9e7d140809 100644
--- a/keyboards/converter/ibm_terminal/config.h
+++ b/keyboards/converter/ibm_terminal/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6535
-#define DEVICE_VER 0x0100
-#define MANUFACTURER QMK
-#define PRODUCT IBM Terminal Keyboard
-
-
/* matrix size */
#define MATRIX_ROWS 17 // keycode bit: 3-0
#define MATRIX_COLS 8 // keycode bit: 6-4
diff --git a/keyboards/converter/ibm_terminal/info.json b/keyboards/converter/ibm_terminal/info.json
index 2c1a605ad9..9854d2759e 100644
--- a/keyboards/converter/ibm_terminal/info.json
+++ b/keyboards/converter/ibm_terminal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keyboard converter for IBM terminal keyboard",
+ "keyboard_name": "IBM Terminal to USB Keyboard Converter",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6535",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c
index 3828f09f5d..f91c6cfb5b 100644
--- a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* system */
[SYS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, KC_NLCK, _______, _______, _______,
diff --git a/keyboards/converter/m0110_usb/config.h b/keyboards/converter/m0110_usb/config.h
index f980217b81..0260bc6fb4 100644
--- a/keyboards/converter/m0110_usb/config.h
+++ b/keyboards/converter/m0110_usb/config.h
@@ -21,12 +21,6 @@ Ported to QMK by Techsock <info@techsock.com>
#pragma once
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0110
-#define DEVICE_VER 0x0101
-#define MANUFACTURER Apple
-#define PRODUCT M0110(A)
-
/* matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
@@ -42,9 +36,6 @@ Ported to QMK by Techsock <info@techsock.com>
get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LCTL)) \
)
-/* boot magic key */
-#define BOOTMAGIC_KEY_SALT KC_M
-
/* ports */
#define M0110_CLOCK_PORT PORTD
#define M0110_CLOCK_PIN PIND
diff --git a/keyboards/converter/m0110_usb/info.json b/keyboards/converter/m0110_usb/info.json
index 278b98781a..f1db7083de 100644
--- a/keyboards/converter/m0110_usb/info.json
+++ b/keyboards/converter/m0110_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "M0110(A) keyboard converter",
+ "keyboard_name": "Apple M0110(A) to USB Keyboard Converter",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0110",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/converter/modelm101/config.h b/keyboards/converter/modelm101/config.h
index 33c6303036..2102d2d489 100644
--- a/keyboards/converter/modelm101/config.h
+++ b/keyboards/converter/modelm101/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER iw0rm3r
-#define PRODUCT IBM Model M 101/102
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2, F1, F0 }
#define MATRIX_COL_PINS { C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D6, D5, D4, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/converter/modelm101/info.json b/keyboards/converter/modelm101/info.json
index ffc679dbbb..b769ec2539 100644
--- a/keyboards/converter/modelm101/info.json
+++ b/keyboards/converter/modelm101/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IBM Model M 101 ANSI/102 ISO",
+ "keyboard_name": "IBM Model M 101/102",
+ "manufacturer": "iw0rm3r",
"url": "https://github.com/iw0rm3r/qmk_firmware/tree/modelm101/keyboards/converter/modelm101",
"maintainer": "iw0rm3r",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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.5}, {"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.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"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/converter/modelm101_teensy2/config.h b/keyboards/converter/modelm101_teensy2/config.h
new file mode 100644
index 0000000000..8bdf1be975
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/config.h
@@ -0,0 +1,66 @@
+/*
+Copyright 2019 iw0rm3r
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#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 { D0, D1, D2, D3, C6, C7, D5, D4 }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, B0, B1, B2, B3, B7 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */
+#define DEBOUNCE 5
+
+/* The Model M has no diodes */
+#define MATRIX_HAS_GHOST
+
+/* Indicator LEDs */
+#define LED_CAPS_LOCK_PIN E6
+#define LED_PIN_ON_STATE 0
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/converter/modelm101_teensy2/info.json b/keyboards/converter/modelm101_teensy2/info.json
new file mode 100644
index 0000000000..617f893242
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "IBM Model M 101/102",
+ "manufacturer": "wangfuco",
+ "url": "https://github.com/wangfuco/qmk_firmware/tree/modelm101_teensy2/keyboards/converter/modelm101_teensy2",
+ "maintainer": "wangfuco",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "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.5}, {"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.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"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/converter/modelm101_teensy2/keymaps/default/keymap.c b/keyboards/converter/modelm101_teensy2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3f01f2c65c
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2019 iw0rm3r
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT( /* 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_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+};
diff --git a/keyboards/converter/modelm101_teensy2/keymaps/default/readme.md b/keyboards/converter/modelm101_teensy2/keymaps/default/readme.md
new file mode 100644
index 0000000000..fb91a8ebe5
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for modelm101 \ No newline at end of file
diff --git a/keyboards/converter/modelm101_teensy2/modelm101_teensy2.c b/keyboards/converter/modelm101_teensy2/modelm101_teensy2.c
new file mode 100644
index 0000000000..8283d91eda
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/modelm101_teensy2.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 iw0rm3r
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "modelm101_teensy2.h"
diff --git a/keyboards/converter/modelm101_teensy2/modelm101_teensy2.h b/keyboards/converter/modelm101_teensy2/modelm101_teensy2.h
new file mode 100644
index 0000000000..1a2cdc8b68
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/modelm101_teensy2.h
@@ -0,0 +1,45 @@
+/* Copyright 2019 iw0rm3r
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ * The first section contains "names" for physical keys of the keyboard
+ * and defines their position on the board.
+ * The second section defines position of the keys on the switch matrix
+ * (where COLUMNS and ROWS crosses). */
+
+#define LAYOUT( \
+ K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \
+ \
+ K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, K4R, K4S, K4T, K4U, \
+ K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, K3R, K3S, K3T, K3U, \
+ K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O, K2P, K2Q, \
+ K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, K1O, K1P, K1Q, K1R, \
+ K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J \
+) \
+{ \
+/* 00 */ { KC_NO, KC_NO, K5A, K1B, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, KC_NO, K0I, K0J, K1N, K0B }, \
+/* 01 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, K2O, K2P, K2Q, KC_NO, KC_NO }, \
+/* 02 */ { K0A, KC_NO, K4A, K5B, K5C, K4F, K5J, K4G, K4M, K5I, K4L, K3O, K4O, K4Q, K4P, KC_NO }, \
+/* 03 */ { KC_NO, KC_NO, K4B, K4C, K4D, K4E, K5K, K4H, K4I, K4J, K4K, K5L, K5M, K3Q, K3P, K5N }, \
+/* 04 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, KC_NO, K3H, K3I, K3J, K3K, K3R, K3S, K3T, K3U, K5O }, \
+/* 05 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, K1O, K1P, K1Q, K1R, KC_NO }, \
+/* 06 */ { K0E, K1M, K1C, K1D, K1E, K1F, K2N, K1I, K1J, K1K, K2M, K4R, K4S, K4T, K5P, KC_NO }, \
+/* 07 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, KC_NO, KC_NO, K1L, K0G, K0H, K4U, K0F, K0D }, \
+}
+/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \ No newline at end of file
diff --git a/keyboards/converter/modelm101_teensy2/readme.md b/keyboards/converter/modelm101_teensy2/readme.md
new file mode 100644
index 0000000000..d65df72580
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/readme.md
@@ -0,0 +1,29 @@
+# modelm101_teensy2
+
+![IBM Model M 101 ANSI/102 ISO](https://user-images.githubusercontent.com/46733695/161862805-c891735b-e2e8-418a-ad82-d71c00570eab.jpg)
+
+This is based on the modelm101 keyboard by iw0rm3r. The difference is that Teensy 2.0 board (produced by PJRC) is used instead of the Teensy 2.0++ due to the availability issues. Only CapsLock LED is supported since Teensy 2.0 only has 25 digital I/0 pins.
+
+Configuration is build for the Atmel ATmega32U4 controller, which you can easily use on the Teensy 2.0 board (produced by PJRC).
+
+Pins of the Teensy board you should use by default:
+```
+Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+Pins: F0 F1 F4 F5 F6 F7 B6 B5 B4 D7 D6 B0 B1 B2 B3 B7
+--------------------------------------------------------
+Rows: 1 2 3 4 5 6 7 8
+Pins: D0 D1 D2 D3 C6 C7 D5 D4
+--------------------------------------------------------
+Status LEDs: CapsLock +5V ScrollLock NumLock
+Pins: E6 5V - -
+```
+
+Keyboard Maintainer: [wangfuco](https://github.com/wangfuco)
+Hardware Supported: Teensy 2.0 board by PJRC
+Hardware Availability: https://www.pjrc.com/store/teensy.html
+
+Make example for this keyboard (after setting up your build environment):
+
+ make converter/modelm101_teensy2:default:teensy
+
+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/converter/modelm101_teensy2/rules.mk b/keyboards/converter/modelm101_teensy2/rules.mk
new file mode 100644
index 0000000000..c1c611e577
--- /dev/null
+++ b/keyboards/converter/modelm101_teensy2/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = halfkay
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/converter/modelm_ssk/config.h b/keyboards/converter/modelm_ssk/config.h
index ff7aa12000..6623eef167 100644
--- a/keyboards/converter/modelm_ssk/config.h
+++ b/keyboards/converter/modelm_ssk/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tiltowait
-#define PRODUCT IBM Model M Space-Saving Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_COL_PINS { C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D5, D4, D3, D2, D1 }
#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/converter/modelm_ssk/info.json
index 78d75c8d17..22d2981943 100644
--- a/keyboards/converter/modelm_ssk/info.json
+++ b/keyboards/converter/modelm_ssk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "IBM Model M Space-Saving Keyboard",
+ "manufacturer": "tiltowait",
"url": "https://github.com/tiltowait/qmk_firmware/tree/modelm_ssk/keyboards/converter/modelm_ssk",
"maintainer": "tiltowait",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts":
{
"LAYOUT":
diff --git a/keyboards/converter/numeric_keypad_IIe/config.h b/keyboards/converter/numeric_keypad_IIe/config.h
index be21814f80..f9fd26163d 100644
--- a/keyboards/converter/numeric_keypad_IIe/config.h
+++ b/keyboards/converter/numeric_keypad_IIe/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Apple Inc.
-#define PRODUCT Numeric Keypad IIe
-
/*
Pin Mappings
@@ -94,7 +87,6 @@ http://wiki.apple2.org/index.php?title=Pinouts#Apple_.2F.2Fe_Numeric_Keypad_conn
#define MATRIX_COLS 6
#define MATRIX_ROW_PINS { B0, B2, D2, D3 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define SOFT_SERIAL_PIN D0
#define DEBOUNCE 5
diff --git a/keyboards/converter/numeric_keypad_IIe/info.json b/keyboards/converter/numeric_keypad_IIe/info.json
index 97e40bbad3..77b3c38227 100644
--- a/keyboards/converter/numeric_keypad_IIe/info.json
+++ b/keyboards/converter/numeric_keypad_IIe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Numeric Keypad IIe",
+ "manufacturer": "Apple Inc.",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"7", "x":2, "y":0}, {"label":"8", "x":3, "y":0}, {"label":"9", "x":4, "y":0}, {"label":"(", "x":5.5, "y":0}, {"label":")", "x":6.5, "y":0}, {"label":"\u2190", "x":0, "y":1}, {"label":"4", "x":2, "y":1}, {"label":"5", "x":3, "y":1}, {"label":"6", "x":4, "y":1}, {"label":"\u2212", "x":5.5, "y":1}, {"label":"\u00f7", "x":6.5, "y":1}, {"label":"\u2192", "x":0, "y":2}, {"label":"1", "x":2, "y":2}, {"label":"2", "x":3, "y":2}, {"label":"3", "x":4, "y":2}, {"label":"+", "x":5.5, "y":2}, {"label":"\u00d7", "x":6.5, "y":2}, {"label":"Space", "x":0, "y":3}, {"label":"0", "x":1.5, "y":3, "w":1.5}, {"label":",", "x":3, "y":3}, {"label":".", "x":4, "y":3}, {"label":"Ret", "x":5.5, "y":3}, {"label":"Print", "x":6.5, "y":3}]
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c
index e0f04557c6..0255798860 100644
--- a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_BRMD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_BRMU, 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, QK_BOOT \
),
};
diff --git a/keyboards/converter/palm_usb/config.h b/keyboards/converter/palm_usb/config.h
index 35032835cd..f6e933ad2c 100644
--- a/keyboards/converter/palm_usb/config.h
+++ b/keyboards/converter/palm_usb/config.h
@@ -23,12 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0100
-#define MANUFACTURER QMK
-#define PRODUCT Stowaway converter
-
// IO pins to serial
// https://deskthority.net/wiki/Arduino_Pro_Micro for pin lookup
#define VCC_PIN D1 // pro micro 2
diff --git a/keyboards/converter/palm_usb/info.json b/keyboards/converter/palm_usb/info.json
new file mode 100644
index 0000000000..ed4895ecfd
--- /dev/null
+++ b/keyboards/converter/palm_usb/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "Stowaway Converter",
+ "manufacturer": "QMK",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0001",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/converter/palm_usb/stowaway/info.json b/keyboards/converter/palm_usb/stowaway/info.json
index c3c520f260..34b1e1f83f 100644
--- a/keyboards/converter/palm_usb/stowaway/info.json
+++ b/keyboards/converter/palm_usb/stowaway/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Palm Stowaway Serial",
- "url": "",
- "maintainer": "qmk",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/periboard_512/config.h b/keyboards/converter/periboard_512/config.h
index e2fdc74358..b93af8c954 100644
--- a/keyboards/converter/periboard_512/config.h
+++ b/keyboards/converter/periboard_512/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sife
-#define PRODUCT Periboard 512
-
/* matrix properties */
#define MATRIX_COLS 19
#define MATRIX_ROWS 8
diff --git a/keyboards/converter/periboard_512/info.json b/keyboards/converter/periboard_512/info.json
index 7c178418c8..78dfbd7e1f 100644
--- a/keyboards/converter/periboard_512/info.json
+++ b/keyboards/converter/periboard_512/info.json
@@ -1,13 +1,18 @@
{
- "keyboard_name": "Perixx Periboard-512",
+ "keyboard_name": "Periboard 512",
+ "manufacturer": "Sife",
"url": "https://github.com/Sife-ops/qmk_firmware/tree/periboard_512/keyboards/converter/periboard_512",
"maintainer": "Sife-ops",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"diode_direction": "ROW2COL",
"matrix_pins": {
"cols": ["B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7"],
"rows": ["B6", "B5", "B4", "B3", "B2", "B1", "B0", "E7"]
},
- "url": "",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h
index 86fe59fbd5..93fca2962a 100644
--- a/keyboards/converter/siemens_tastatur/config.h
+++ b/keyboards/converter/siemens_tastatur/config.h
@@ -17,14 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4353
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Siemens Tastatur
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
diff --git a/keyboards/converter/siemens_tastatur/info.json b/keyboards/converter/siemens_tastatur/info.json
index 7c4ebe769b..2e537b78d4 100644
--- a/keyboards/converter/siemens_tastatur/info.json
+++ b/keyboards/converter/siemens_tastatur/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Siemens Tastatur",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4353",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/sun_usb/config.h b/keyboards/converter/sun_usb/config.h
index 0a4aa019f7..9d948b4cbd 100644
--- a/keyboards/converter/sun_usb/config.h
+++ b/keyboards/converter/sun_usb/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3333
-#define DEVICE_VER 0x0100
-#define MANUFACTURER QMK
-#define PRODUCT Sun keyboard converter
-
/* matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
diff --git a/keyboards/converter/sun_usb/info.json b/keyboards/converter/sun_usb/info.json
new file mode 100644
index 0000000000..691d0d1953
--- /dev/null
+++ b/keyboards/converter/sun_usb/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "Sun Keyboard Converter",
+ "manufacturer": "QMK",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3333",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/converter/sun_usb/type3/info.json b/keyboards/converter/sun_usb/type3/info.json
index 9a60b09607..383d7d65e5 100644
--- a/keyboards/converter/sun_usb/type3/info.json
+++ b/keyboards/converter/sun_usb/type3/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Sun Type 3",
- "url": "",
- "maintainer": "qmk",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/converter/sun_usb/type5/info.json b/keyboards/converter/sun_usb/type5/info.json
index 9613d46e50..23d80c4121 100644
--- a/keyboards/converter/sun_usb/type5/info.json
+++ b/keyboards/converter/sun_usb/type5/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Sun Type 5",
- "url": "",
- "maintainer": "qmk",
"layouts": {
"LAYOUT_jp_unix": {
"layout": [
diff --git a/keyboards/converter/usb_usb/ble/config.h b/keyboards/converter/usb_usb/ble/config.h
index 675183f082..b4ee0992fe 100644
--- a/keyboards/converter/usb_usb/ble/config.h
+++ b/keyboards/converter/usb_usb/ble/config.h
@@ -1,6 +1,3 @@
#pragma once
-#undef PRODUCT
-#define PRODUCT QMK BLE Adapter
-
#define NO_ACTION_ONESHOT
diff --git a/keyboards/converter/usb_usb/config.h b/keyboards/converter/usb_usb/config.h
index 5f791eaa34..145a9e595f 100644
--- a/keyboards/converter/usb_usb/config.h
+++ b/keyboards/converter/usb_usb/config.h
@@ -19,13 +19,6 @@ 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 0x005B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT QMK USB-USB Converter
-
/* size of virtual matrix */
#define MATRIX_ROWS 16
#define MATRIX_COLS 16
diff --git a/keyboards/converter/usb_usb/info.json b/keyboards/converter/usb_usb/info.json
index 8df3bb3e76..1bacf928a3 100644
--- a/keyboards/converter/usb_usb/info.json
+++ b/keyboards/converter/usb_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "converter/usb_usb",
+ "keyboard_name": "USB to USB Converter",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x005B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c b/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c
index ce4876536f..81d916edb9 100644
--- a/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c
+++ b/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c
@@ -61,7 +61,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______,______, ______,______,______,______, ______,______,
______, KC_MUTE, KC_VOLD, KC_MPLY, ______, ______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ______, ______, ______, ______, ______,______,______,______, ______,______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______,______,______, ______,______,
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, ______,______,______, ______, ______,______, ______,______
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, ______,______,______, ______, ______,______, ______,______
),
};
diff --git a/keyboards/converter/usb_usb/keymaps/narze/keymap.c b/keyboards/converter/usb_usb/keymaps/narze/keymap.c
index a84d613a2d..13bc7a3eba 100644
--- a/keyboards/converter/usb_usb/keymaps/narze/keymap.c
+++ b/keyboards/converter/usb_usb/keymaps/narze/keymap.c
@@ -77,7 +77,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
),
[_SUPERDUPER] = LAYOUT_all(
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- RESET, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______,______, ______,______,______,______, ______,
+ QK_BOOT, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______,______, ______,______,______,______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______,______, ______,______,______,______, ______,______,
______, ______, ______, ______, ______, ______, ______, ______, BRWS_L, BRWS_R, ______, ______, ______, ______, ______,______,______, ______,______,______,______, ______,______,
KC_SPC, KC_LALT, _______, _______, KC_BSPC,KC_LGUI,KC_LEFT, KC_DOWN, KC_UP,KC_RGHT, KC_DEL, ______, ______, ______, ______,______,______,______, ______,______,
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h
index 5f93fbfc6d..8aaf920578 100644
--- a/keyboards/converter/xt_usb/config.h
+++ b/keyboards/converter/xt_usb/config.h
@@ -19,13 +19,6 @@ 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 0x6512
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT XT keyboard converter
-
/* key matrix size */
#define MATRIX_ROWS 16 // keycode bit: 3-0
#define MATRIX_COLS 8 // keycode bit: 6-4
diff --git a/keyboards/converter/xt_usb/info.json b/keyboards/converter/xt_usb/info.json
index 4dbe14b6fa..c6ea00cc09 100644
--- a/keyboards/converter/xt_usb/info.json
+++ b/keyboards/converter/xt_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IBM PC XT",
+ "keyboard_name": "IBM PC XT Keyboard Converter",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6512",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_xt": {
"layout": [
diff --git a/keyboards/cool836a/config.h b/keyboards/cool836a/config.h
index 4cf356d8b3..d2f134c778 100644
--- a/keyboards/cool836a/config.h
+++ b/keyboards/cool836a/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ohashi
-#define PRODUCT cool836A
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, B5, B4, F4, B1, B6 }
#define MATRIX_COL_PINS { F5, D0, B2, C6, D7, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cool836a/info.json b/keyboards/cool836a/info.json
index fb9e7a2f24..e413d13434 100644
--- a/keyboards/cool836a/info.json
+++ b/keyboards/cool836a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cool836a",
+ "keyboard_name": "cool836A",
+ "manufacturer": "Ohashi",
"url": "https://github.com/telzo2000/cool836A",
"maintainer": "Ohashi",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/copenhagen_click/click_pad_v1/config.h b/keyboards/copenhagen_click/click_pad_v1/config.h
index 7fc16c54fe..88c1393fac 100755
--- a/keyboards/copenhagen_click/click_pad_v1/config.h
+++ b/keyboards/copenhagen_click/click_pad_v1/config.h
@@ -19,13 +19,6 @@ 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 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Copenhagen Click
-#define PRODUCT Click Pad V1
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7 }
#define MATRIX_COL_PINS { F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/copenhagen_click/click_pad_v1/info.json b/keyboards/copenhagen_click/click_pad_v1/info.json
index f684748c64..96dcb150ff 100755
--- a/keyboards/copenhagen_click/click_pad_v1/info.json
+++ b/keyboards/copenhagen_click/click_pad_v1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CopenhagenClickPad-V1",
+ "keyboard_name": "Click Pad V1",
+ "manufacturer": "Copenhagen Click",
"url": "http://copenhagenclick.com/ClickPad-V1/",
"maintainer": "mini-ninja-64",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}]
diff --git a/keyboards/coseyfannitutti/discipad/config.h b/keyboards/coseyfannitutti/discipad/config.h
index 69e2e1561c..a93d34f4fb 100644
--- a/keyboards/coseyfannitutti/discipad/config.h
+++ b/keyboards/coseyfannitutti/discipad/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x1769
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT DISCIPAD
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { B1, B0, D7, D6, D4 }
#define MATRIX_COL_PINS { C0, C1, C2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/discipad/info.json b/keyboards/coseyfannitutti/discipad/info.json
index 267fd9f039..d11120c0dd 100644
--- a/keyboards/coseyfannitutti/discipad/info.json
+++ b/keyboards/coseyfannitutti/discipad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DISCIPAD",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/discipad",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x1769",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
diff --git a/keyboards/coseyfannitutti/discipline/config.h b/keyboards/coseyfannitutti/discipline/config.h
index 570fff8752..258efdb965 100644
--- a/keyboards/coseyfannitutti/discipline/config.h
+++ b/keyboards/coseyfannitutti/discipline/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x6869
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT DISCIPLINE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B2, A1, B1, A0, B0 }
#define MATRIX_COL_PINS { A2, B3, A3, B4, A4, D5, D6, C6, C5, C4, C3, C2, C1, C0, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/discipline/info.json b/keyboards/coseyfannitutti/discipline/info.json
index ea1886a353..f42c420633 100644
--- a/keyboards/coseyfannitutti/discipline/info.json
+++ b/keyboards/coseyfannitutti/discipline/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DISCIPLINE",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/discipline",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x6869",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_2_right_mods": "LAYOUT_65_ansi_blocker",
"LAYOUT_65_iso_2_right_mods": "LAYOUT_65_iso_blocker",
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c
index 4c63a3e14a..8dc554c3d3 100644
--- a/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c
+++ b/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_DELT, MC_SLPD, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_LHPD, KC_VOLU, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
- _______, _______, _______, _______, _______, RESET, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
+ _______, _______, _______, _______, _______, QK_BOOT, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
)
};
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c
new file mode 100644
index 0000000000..ed49188c5e
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c
@@ -0,0 +1,112 @@
+/* Copyright 2019 COSEYFANNITUTTI
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define FN_ESC LT(_FUNC, KC_ESC)
+
+enum discipline_layers {
+ _QWERTY,
+ _WORKMAN,
+ _FUNC,
+};
+
+enum discpline_keycodes {
+ QWERTY = SAFE_RANGE,
+ WORKMAN,
+ FUNC,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* QWERTY: Default Layer
+ * ,--------------------------------------------------------------.
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backs| `~|
+ * |---------------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del|
+ * |---------------------------------------------------------------|
+ * |Fn/CL | A| S| D| F| G| H| J| K| L| ;| '| Enter|PgU|
+ * |---------------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD|
+ * |---------------------------------------------------------------|
+ * |Ctrl|Gui |Alt | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
+ * `---------------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT_65_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC, KC_BSLS, KC_DEL,
+ FN_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_HOME,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL,KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Workman
+ * ,---------------------------------------------------------------.
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backs| `~|
+ * |---------------------------------------------------------------|
+ * |Tab | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| Del|
+ * |---------------------------------------------------------------|
+ * |Fn/CL | A| S| H| T| G| Y| N| E| O| I| '| Enter| PgU|
+ * |---------------------------------------------------------------|
+ * |Shift | Z| X| M| C| V| K| L| ,| .| /|Shift |Up| PgD|
+ * |---------------------------------------------------------------|
+ * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
+ * `---------------------------------------------------------------'
+ */
+ [_WORKMAN] = LAYOUT_65_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ FN_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_ENT, KC_HOME,
+ KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Function
+ * ,---------------------------------------------------------------.
+ * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |INS|
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | |HME|
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | |VL+|END|
+ * |---------------------------------------------------------------|
+ * | | | | PLY/PS | | | | |PRV|VL-|NXT|
+ * `---------------------------------------------------------------'
+ */
+ [_FUNC] = LAYOUT_65_ansi(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______, QK_BOOT,
+ _______,KC_WH_U,KC_BTN1,KC_MS_U,KC_BTN2,_______,_______,AG_NORM,AG_SWAP,QWERTY,WORKMAN,_______,_______,_______, KC_INS,
+ _______,KC_WH_D,KC_MS_L,KC_MS_D,KC_MS_R,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
+ _______,KC_WH_L,KC_BTN3,KC_WH_R,_______,_______,_______,_______,_______,_______,_______, _______,KC_VOLU, KC_PGDN,
+ _______,_______,_______, KC_MPLY, _______,_______,_______,KC_MPRV,KC_VOLD, KC_MNXT
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case WORKMAN:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_WORKMAN);
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md
new file mode 100644
index 0000000000..c97f4ced16
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md
@@ -0,0 +1,15 @@
+# Discipline Keyboard Compilation
+
+## Features
+
+- Base Layers
+ - QWERTY
+ - Workman
+- Mouse Keys
+- Entertainment Keys
+
+## Building and flashing
+
+```
+make coseyfannitutti/discipline:briianpowell:flash
+```
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
index 050e406772..4460d6f9bb 100644
--- a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
+++ b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2021 James Young (@noroadsleft)
+/* Copyright 2021-2022 James Young (@noroadsleft)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DV] = LAYOUT_65_ansi(
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP,
FN_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END,
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_QW] = LAYOUT_65_ansi(
- 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_HOME,
+ 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,
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,
FN_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,
@@ -56,13 +56,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_65_ansi(
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, DM_REC1,
_______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, DM_REC2,
- _______, M_SALL, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1,
+ _______, M_SALL, _______, _______, G_PWD, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1,
_______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, TO(_SY), _______, _______, DM_PLY2,
_______, _______, _______, TG(_NP), _______, _______, _______, _______, _______, _______
),
[_SY] = LAYOUT_65_ansi(
- TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX,
+ TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, DB_TOGG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c
index d224ca0e9d..dbd5d4409e 100644
--- a/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c
+++ b/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
/* tab Q W E R T Y U I O P [ ] \ delete*/
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
/* caps A S D F G H J K L ; ' enter pg up*/
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_HOME,
/* shift Z X C V B N M , . / shift up pg dn*/
diff --git a/keyboards/coseyfannitutti/mullet/config.h b/keyboards/coseyfannitutti/mullet/config.h
index d01be9744c..86294fa7c2 100644
--- a/keyboards/coseyfannitutti/mullet/config.h
+++ b/keyboards/coseyfannitutti/mullet/config.h
@@ -19,13 +19,6 @@ 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 0x6969
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT mullet
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, B0, F0, F1 }
#define MATRIX_COL_PINS { B2, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/mullet/info.json b/keyboards/coseyfannitutti/mullet/info.json
index 0be8b87767..29a2be6a4d 100644
--- a/keyboards/coseyfannitutti/mullet/info.json
+++ b/keyboards/coseyfannitutti/mullet/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mullet",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/mullet",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":"Insert", "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":"Page Up", "x":15, "y":1}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c b/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c
index 21ca2ffb63..0d11c9a9bb 100644
--- a/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c
+++ b/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c
@@ -36,7 +36,7 @@
* .---------------------------------------------------------------------------------------------.
* | ` ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | |
* |---------------------------------------------------------------------------------------------+
- * | Tab |STATC|BRTHE|RNBOW|RESET| | | | | | |PrScr| | \ | Home|
+ * | Tab |STATC|BRTHE|RNBOW|QK_BOOT| | | | | | |PrScr| | \ | Home|
* |---------------------------------------------------------------------------------------------+
* | Caps |RGBH+|RGBS+|RGBB+| | | | | | | | | Enter | End |
* |---------------------------------------------------------------------------------------------+
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc delete */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
/* tab Q W E R T Y U I O P [ ] \ pg up */
- KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_BSLS, KC_HOME,
+ KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_BSLS, KC_HOME,
/* caps A S D F G H J K L ; ' enter pg dn */
KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_END,
/* shift Z X C V B N M , . / shift up fn */
diff --git a/keyboards/coseyfannitutti/mulletpad/config.h b/keyboards/coseyfannitutti/mulletpad/config.h
index e6d68469bf..daa0cb91dc 100644
--- a/keyboards/coseyfannitutti/mulletpad/config.h
+++ b/keyboards/coseyfannitutti/mulletpad/config.h
@@ -19,13 +19,6 @@ 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 0x6666
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT mulletpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ 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 UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/mulletpad/info.json b/keyboards/coseyfannitutti/mulletpad/info.json
index 5decb0e450..2f467f9a11 100644
--- a/keyboards/coseyfannitutti/mulletpad/info.json
+++ b/keyboards/coseyfannitutti/mulletpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mulletpad",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/mulletpad",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6666",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
diff --git a/keyboards/coseyfannitutti/mysterium/config.h b/keyboards/coseyfannitutti/mysterium/config.h
index 4fa4b15708..d11a02c5f0 100644
--- a/keyboards/coseyfannitutti/mysterium/config.h
+++ b/keyboards/coseyfannitutti/mysterium/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x8769
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT MYSTERIUM
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17*/
#define MATRIX_ROW_PINS { C2, C3, C7, C4, C6, C5 }
#define MATRIX_COL_PINS { A0, B0, A1, B1, A2, B2, A3, B3, A4, B4, A5, A6, A7, D6, D5, D1, D0, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/mysterium/info.json b/keyboards/coseyfannitutti/mysterium/info.json
index 9005974099..bbe590e7a7 100644
--- a/keyboards/coseyfannitutti/mysterium/info.json
+++ b/keyboards/coseyfannitutti/mysterium/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MYSTERIUM",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/mysterium",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x8769",
+ "device_version": "0.0.1"
+ },
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Menu", "x":11.25, "y":5.25, "w":1.25}, {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c
index 71f357681e..9a851bec56 100644
--- a/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c
+++ b/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_ansi_7u(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS)
diff --git a/keyboards/coseyfannitutti/romeo/config.h b/keyboards/coseyfannitutti/romeo/config.h
index 811787df79..e70b99984e 100644
--- a/keyboards/coseyfannitutti/romeo/config.h
+++ b/keyboards/coseyfannitutti/romeo/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x4069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER coseyfannitutti
-#define PRODUCT ROMEO
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -44,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11*/
#define MATRIX_ROW_PINS { B1, B4, B3, B2 }
#define MATRIX_COL_PINS { C5, C4, C3, D0, C2, D1, C1, C0, D4, B0, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/coseyfannitutti/romeo/info.json b/keyboards/coseyfannitutti/romeo/info.json
index a79308a8da..3f8c9a616d 100644
--- a/keyboards/coseyfannitutti/romeo/info.json
+++ b/keyboards/coseyfannitutti/romeo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ROMEO",
+ "manufacturer": "coseyfannitutti",
"url": "https://github.com/coseyfannitutti/romeo",
"maintainer": "coseyfannitutti",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x4069",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"1.5u", "x":0, "y":0, "w":1.5}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"label":"1.5u", "x":11.5, "y":0, "w":1.5}, {"label":"1.75u", "x":0, "y":1, "w":1.75}, {"x":1.75, "y":1}, {"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":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"label":"2.25u", "x":10.75, "y":1, "w":2.25}, {"label":"1.25u", "x":0, "y":2, "w":1.25}, {"x":1.25, "y":2}, {"x":2.25, "y":2}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"label":"1.75u", "x":11.25, "y":2, "w":1.75}, {"label":"1.25u", "x":0, "y":3, "w":1.25}, {"label":"1u", "x":1.25, "y":3}, {"label":"1.25u", "x":2.25, "y":3, "w":1.25}, {"label":"2.25u", "x":3.5, "y":3, "w":2.25}, {"label":"1u", "x":5.75, "y":3}, {"label":"2.75u", "x":6.75, "y":3, "w":2.75}, {"label":"1.25u", "x":9.5, "y":3, "w":1.25}, {"label":"1u", "x":10.75, "y":3}, {"label":"1.25u", "x":11.75, "y":3, "w":1.25}]
diff --git a/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c b/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c
index 3be5d44ea3..fae2a144a0 100644
--- a/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c
+++ b/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴───┴───┴────────────────────────┴────┴───┴────┘
*/
[_ADJUST] = LAYOUT_ansi_40( \
- QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, \
+ QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/cozykeys/bloomer/config.h b/keyboards/cozykeys/bloomer/config.h
index 0f285b4d0e..461f289918 100644
--- a/keyboards/cozykeys/bloomer/config.h
+++ b/keyboards/cozykeys/bloomer/config.h
@@ -18,12 +18,6 @@ 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 0x1191
-#define MANUFACTURER CozyKeys
-#define PRODUCT Bloomer
-
// Key matrix size
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/cozykeys/bloomer/info.json b/keyboards/cozykeys/bloomer/info.json
new file mode 100644
index 0000000000..ed0bb78867
--- /dev/null
+++ b/keyboards/cozykeys/bloomer/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "Bloomer",
+ "manufacturer": "CozyKeys",
+ "url": "https://github.com/cozykeys/bloomer",
+ "maintainer": "pcewing",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1191"
+ }
+}
diff --git a/keyboards/cozykeys/bloomer/v2/config.h b/keyboards/cozykeys/bloomer/v2/config.h
index 49fac4d254..8eb3ab52c9 100644
--- a/keyboards/cozykeys/bloomer/v2/config.h
+++ b/keyboards/cozykeys/bloomer/v2/config.h
@@ -18,12 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-// USB Device descriptor parameter
-#define DEVICE_VER 0x0002
-
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cozykeys/bloomer/v2/info.json b/keyboards/cozykeys/bloomer/v2/info.json
index 7e268a4640..9cd8e532cf 100644
--- a/keyboards/cozykeys/bloomer/v2/info.json
+++ b/keyboards/cozykeys/bloomer/v2/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "Bloomer",
- "url": "https://github.com/cozykeys/bloomer",
- "maintainer": "pcewing",
+ "usb": {
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/cozykeys/bloomer/v3/config.h b/keyboards/cozykeys/bloomer/v3/config.h
index 4bb291be56..8eb3ab52c9 100644
--- a/keyboards/cozykeys/bloomer/v3/config.h
+++ b/keyboards/cozykeys/bloomer/v3/config.h
@@ -18,12 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-// USB Device descriptor parameter
-#define DEVICE_VER 0x0003
-
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cozykeys/bloomer/v3/info.json b/keyboards/cozykeys/bloomer/v3/info.json
index 47d74269d2..6b782663d8 100644
--- a/keyboards/cozykeys/bloomer/v3/info.json
+++ b/keyboards/cozykeys/bloomer/v3/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "Bloomer",
- "url": "https://github.com/cozykeys/bloomer",
- "maintainer": "pcewing",
+ "usb": {
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/cozykeys/speedo/v2/config.h b/keyboards/cozykeys/speedo/v2/config.h
index 1ab81ed7d1..e5e7597f72 100644
--- a/keyboards/cozykeys/speedo/v2/config.h
+++ b/keyboards/cozykeys/speedo/v2/config.h
@@ -18,13 +18,6 @@ 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 0x1192
-#define DEVICE_VER 0x0002
-#define MANUFACTURER CozyKeys
-#define PRODUCT Speedo
-
// Key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { D1, D2, D3, C6, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, D0, B7, B3, B2, B1, B0 }
-#define UNUSED_PINS { D5, D4, D6, D7, B4 }
#define DIODE_DIRECTION COL2ROW
// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed
diff --git a/keyboards/cozykeys/speedo/v2/info.json b/keyboards/cozykeys/speedo/v2/info.json
index 775511dda1..8de425ede1 100644
--- a/keyboards/cozykeys/speedo/v2/info.json
+++ b/keyboards/cozykeys/speedo/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Speedo",
+ "manufacturer": "CozyKeys",
"url": "https://github.com/cozykeys/speedo",
"maintainer": "pcewing",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1192",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/cozykeys/speedo/v3/config.h b/keyboards/cozykeys/speedo/v3/config.h
index 9928e91f98..8590a45efc 100644
--- a/keyboards/cozykeys/speedo/v3/config.h
+++ b/keyboards/cozykeys/speedo/v3/config.h
@@ -18,13 +18,6 @@ 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 0x1192
-#define DEVICE_VER 0x0003
-#define MANUFACTURER CozyKeys
-#define PRODUCT Speedo
-
// Key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { F0, F1, C7, D5, B7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B6, B2, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS { D2, D3, B0, B4 }
#define DIODE_DIRECTION COL2ROW
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/cozykeys/speedo/v3/info.json b/keyboards/cozykeys/speedo/v3/info.json
index 8f2e2674bf..49a5b94f06 100644
--- a/keyboards/cozykeys/speedo/v3/info.json
+++ b/keyboards/cozykeys/speedo/v3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Speedo",
+ "manufacturer": "CozyKeys",
"url": "https://github.com/cozykeys/speedo",
"maintainer": "pcewing",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1192",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c b/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c
new file mode 100644
index 0000000000..51fb5ca67c
--- /dev/null
+++ b/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2022 Paul Ewing
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "key_repeater.h"
+
+#include <stdlib.h>
+
+enum {
+ LAYER_DEFAULT,
+ LAYER_FN,
+ LAYER_MACRO,
+
+ __LAYER_COUNT,
+};
+
+#define TO_MACRO TO(LAYER_MACRO)
+#define TO_DFLT TO(LAYER_DEFAULT)
+#define MO_FN MO(LAYER_FN)
+
+#define RGB_N RGB_MOD // Rotate to next RGB mode
+#define RGB_P RGB_RMOD // Rotate to next RGB mode
+
+#define KC_YANK LCTL(KC_INS) // Copy shortcut in most terminal emulators
+#define KC_PUT LSFT(KC_INS) // Paste shortcut in most terminal emulators
+
+// Custom keycodes
+enum {
+ SH_TOG = SAFE_RANGE, // Toggle shift
+ SH_BTN1, // Shift left click
+ RP_BTN1, // Click repeatedly while key is held
+};
+
+const uint16_t PROGMEM keymaps[__LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = {
+
+[LAYER_DEFAULT] = LAYOUT(
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LEFT, KC_RGHT, 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_DOWN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO_FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_RALT, KC_RGUI, KC_RCTL
+),
+
+[LAYER_FN] = LAYOUT(
+ RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, RGB_TOG, KC_YANK, KC_GRV, KC_LBRC, KC_RBRC, KC_PUT, _______,
+ KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, RGB_N, RGB_P, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_PAUS, RGB_M_P, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, TO_MACRO, _______, _______, _______, _______, _______, _______
+),
+
+[LAYER_MACRO] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RP_BTN1, SH_TOG, _______, _______, _______, _______, _______, _______, _______,
+ TO_DFLT, _______, _______, KC_BTN1, SH_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_1, KC_6, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+};
+
+static bool shift_enabled = false;
+
+static struct key_repeater_t* click_repeater = NULL;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case SH_TOG:
+ if (record->event.pressed) {
+ if (shift_enabled) {
+ unregister_code(KC_LSFT);
+ } else {
+ register_code(KC_LSFT);
+ }
+ shift_enabled = !shift_enabled;
+ }
+ return false; // Skip all further processing of this key
+ case SH_BTN1:
+ if (record->event.pressed) {
+ register_code(KC_LSFT);
+ register_code(KC_BTN1);
+ } else {
+ unregister_code(KC_BTN1);
+ unregister_code(KC_LSFT);
+ }
+ return false;
+ case RP_BTN1:
+ if (record->event.pressed) {
+ kr_enable(click_repeater);
+ } else {
+ kr_disable(click_repeater);
+ }
+ return false;
+ default:
+ return true; // Process all other keycodes normally
+ }
+}
+
+void keyboard_post_init_user(void) {
+ // Seed the random number generator which is used by the key repeater
+ srand(timer_read32());
+
+ // Configure and instantiate a key repeater for mouse button 1 "rapid fire"
+ struct key_repeater_config_t cfg = {
+ .key = KC_BTN1,
+ .key_duration_min = 20,
+ .key_duration_max = 50,
+ .wait_duration_min = 90,
+ .wait_duration_max = 140,
+ };
+
+ click_repeater = kr_new(&cfg);
+}
+
+void matrix_scan_user(void) {
+ kr_poll(click_repeater);
+}
diff --git a/keyboards/cradio/config.h b/keyboards/cradio/config.h
index aba6050af1..e4ecd29539 100644
--- a/keyboards/cradio/config.h
+++ b/keyboards/cradio/config.h
@@ -1,76 +1,11 @@
-/* Copyright 2018-2021
- * ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
- * David Philip Barr <@davidphilipbarr>
- * Pierre Chevalier <pierrechevalier83@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/>.
- */
+// Copyright 2018-2021
+// ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
+// David Philip Barr <@davidphilipbarr>
+// Pierre Chevalier <pierrechevalier83@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC88B
-#define PRODUCT_ID 0x3988
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DPB
-#define PRODUCT Cradio
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 5
-
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
-#define DIRECT_PINS { \
- { E6, F7, F6, F5, F4 }, \
- { B1, B3, B2, B6, D3 }, \
- { D1, D0, D4, C6, D7 }, \
- { B4, B5, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define DIRECT_PINS_RIGHT { \
- { F4, F5, F6, F7, E6 }, \
- { D3, B6, B2, B3, B1 }, \
- { D7, C6, D4, D0, D1 }, \
- { B5, B4, NO_PIN, NO_PIN, NO_PIN } \
-}
-
-#define UNUSED_PINS
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* Serial settings */
-#define USE_SERIAL
-/* serial.c configuration for split keyboard */
-#define SOFT_SERIAL_PIN D2
-
-/* Top left key on left half */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
/* Top right key on right half */
#define BOOTMAGIC_LITE_ROW_RIGHT 4
#define BOOTMAGIC_LITE_COLUMN_RIGHT 4
-
diff --git a/keyboards/cradio/cradio.c b/keyboards/cradio/cradio.c
index 76c64cbb8c..99a69ff755 100644
--- a/keyboards/cradio/cradio.c
+++ b/keyboards/cradio/cradio.c
@@ -1,24 +1,10 @@
-/* Copyright 2018-2021
- * ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
- * David Philip Barr <@davidphilipbarr>
- * Pierre Chevalier <pierrechevalier83@gmail.com>
- * @filterpaper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 2018-2021
+// ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
+// David Philip Barr <@davidphilipbarr>
+// Pierre Chevalier <pierrechevalier83@gmail.com>
+// SPDX-License-Identifier: GPL-2.0+
-#include "cradio.h"
+#include "quantum.h"
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
@@ -35,4 +21,3 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{1, 3}, {0, 3}, {2, 3}, {3, 3}, {4, 3}}
};
#endif
-
diff --git a/keyboards/cradio/cradio.h b/keyboards/cradio/cradio.h
deleted file mode 100644
index f013386bf8..0000000000
--- a/keyboards/cradio/cradio.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2018-2021
- * ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
- * David Philip Barr <@davidphilipbarr>
- * Pierre Chevalier <pierrechevalier83@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 "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-// readability
-#define ___ KC_NO
-
-#define LAYOUT_split_3x5_2( \
- L01, L02, L03, L04, L05, R01, R02, R03, R04, R05, \
- L06, L07, L08, L09, L10, R06, R07, R08, R09, R10, \
- L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \
- L16, L17, R16, R17 \
- ) \
- { \
- { L01, L02, L03, L04, L05 }, \
- { L06, L07, L08, L09, L10 }, \
- { L11, L12, L13, L14, L15 }, \
- { L16, L17, ___, ___, ___ }, \
- { R01, R02, R03, R04, R05 }, \
- { R06, R07, R08, R09, R10 }, \
- { R11, R12, R13, R14, R15 }, \
- { R16, R17, ___, ___, ___ } \
- }
-
-#define LAYOUT LAYOUT_split_3x5_2
-
diff --git a/keyboards/cradio/info.json b/keyboards/cradio/info.json
index 78cb7ef195..0b9cbb1fed 100644
--- a/keyboards/cradio/info.json
+++ b/keyboards/cradio/info.json
@@ -1,51 +1,91 @@
{
"keyboard_name": "Cradio",
+ "manufacturer": "DPB",
"url": "https://github.com/davidphilipbarr/Sweep",
"maintainer": "@davidphilipbarr",
+ "usb": {
+ "vid": "0xC88B",
+ "pid": "0x3988",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "protocol": "atmel-dfu",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "unicode": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["E6", "F7", "F6", "F5", "F4"],
+ ["B1", "B3", "B2", "B6", "D3"],
+ ["D1", "D0", "D4", "C6", "D7"],
+ ["B4", "B5", null, null, null]
+ ]
+ },
+ "split": {
+ "enabled": true,
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["F4", "F5", "F6", "F7", "E6"],
+ ["D3", "B6", "B2", "B3", "B1"],
+ ["D7", "C6", "D4", "D0", "D1"],
+ ["B5", "B4", null, null, null]
+ ]
+ }
+ },
+ "soft_serial_pin": "D2",
+ "transport": {
+ "protocol": "serial"
+ }
+ },
+ "community_layouts": ["split_3x5_2"],
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x5_2"
+ },
"layouts": {
"LAYOUT_split_3x5_2": {
"layout": [
- {"x": 0, "y": 1.27},
- {"x": 1, "y": 0.31},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0.28},
- {"x": 4, "y": 0.42},
-
- {"x": 8, "y": 0.42},
- {"x": 9, "y": 0.28},
- {"x": 10, "y": 0},
- {"x": 11, "y": 0.31},
- {"x": 12, "y": 1.27},
-
- {"x": 0, "y": 2.27},
- {"x": 1, "y": 1.31},
- {"x": 2, "y": 1},
- {"x": 3, "y": 1.28},
- {"x": 4, "y": 1.42},
-
- {"x": 8, "y": 1.42},
- {"x": 9, "y": 1.28},
- {"x": 10, "y": 1},
- {"x": 11, "y": 1.31},
- {"x": 12, "y": 2.27},
-
- {"x": 0, "y": 3.27},
- {"x": 1, "y": 2.31},
- {"x": 2, "y": 2},
- {"x": 3, "y": 2.28},
- {"x": 4, "y": 2.42},
-
- {"x": 8, "y": 2.42},
- {"x": 9, "y": 2.28},
- {"x": 10, "y": 2},
- {"x": 11, "y": 2.31},
- {"x": 12, "y": 3.27},
-
- {"x": 4, "y": 3.9},
- {"x": 5, "y": 3.7},
-
- {"x": 7, "y": 3.7},
- {"x": 8, "y": 3.9}
+ { "label": "L01", "matrix": [0, 0], "w": 1, "x": 0, "y": 1.27 },
+ { "label": "L02", "matrix": [0, 1], "w": 1, "x": 1, "y": 0.31 },
+ { "label": "L03", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "L04", "matrix": [0, 3], "w": 1, "x": 3, "y": 0.28 },
+ { "label": "L05", "matrix": [0, 4], "w": 1, "x": 4, "y": 0.42 },
+ { "label": "L06", "matrix": [1, 0], "w": 1, "x": 0, "y": 2.27 },
+ { "label": "L07", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.31 },
+ { "label": "L08", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 },
+ { "label": "L09", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.28 },
+ { "label": "L10", "matrix": [1, 4], "w": 1, "x": 4, "y": 1.42 },
+ { "label": "L11", "matrix": [2, 0], "w": 1, "x": 0, "y": 3.27 },
+ { "label": "L12", "matrix": [2, 1], "w": 1, "x": 1, "y": 2.31 },
+ { "label": "L13", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 },
+ { "label": "L14", "matrix": [2, 3], "w": 1, "x": 3, "y": 2.28 },
+ { "label": "L15", "matrix": [2, 4], "w": 1, "x": 4, "y": 2.42 },
+ { "label": "L16", "matrix": [3, 0], "w": 1, "x": 4, "y": 3.9 },
+ { "label": "L17", "matrix": [3, 1], "w": 1, "x": 5, "y": 3.7 },
+ { "label": "R01", "matrix": [4, 0], "w": 1, "x": 8, "y": 0.42 },
+ { "label": "R02", "matrix": [4, 1], "w": 1, "x": 9, "y": 0.28 },
+ { "label": "R03", "matrix": [4, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "R04", "matrix": [4, 3], "w": 1, "x": 11, "y": 0.31 },
+ { "label": "R05", "matrix": [4, 4], "w": 1, "x": 12, "y": 1.27 },
+ { "label": "R06", "matrix": [5, 0], "w": 1, "x": 8, "y": 1.42 },
+ { "label": "R07", "matrix": [5, 1], "w": 1, "x": 9, "y": 1.28 },
+ { "label": "R08", "matrix": [5, 2], "w": 1, "x": 10, "y": 1 },
+ { "label": "R09", "matrix": [5, 3], "w": 1, "x": 11, "y": 1.31 },
+ { "label": "R10", "matrix": [5, 4], "w": 1, "x": 12, "y": 2.27 },
+ { "label": "R11", "matrix": [6, 0], "w": 1, "x": 8, "y": 2.42 },
+ { "label": "R12", "matrix": [6, 1], "w": 1, "x": 9, "y": 2.28 },
+ { "label": "R13", "matrix": [6, 2], "w": 1, "x": 10, "y": 2 },
+ { "label": "R14", "matrix": [6, 3], "w": 1, "x": 11, "y": 2.31 },
+ { "label": "R15", "matrix": [6, 4], "w": 1, "x": 12, "y": 3.27 },
+ { "label": "R16", "matrix": [7, 0], "w": 1, "x": 7, "y": 3.7 },
+ { "label": "R17", "matrix": [7, 1], "w": 1, "x": 8, "y": 3.9 }
]
}
}
diff --git a/keyboards/cradio/readme.md b/keyboards/cradio/readme.md
index 7f3cef0969..09a5267a1a 100644
--- a/keyboards/cradio/readme.md
+++ b/keyboards/cradio/readme.md
@@ -18,13 +18,19 @@ Make example for this keyboard (after setting up your build environment):
make cradio:default
+### RP2040 Controllers
+
+Pro Micro RP2040 controllers are supported with [QMK Converters](https://docs.qmk.fm/#/feature_converters). The make command example for Adafruit's KB2040 are:
+
+ make CONVERT_TO=kb2040 cradio:default
+
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
-* **Keycode in layout**: Press the key mapped to `RESET` if it is configured.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
* **Physical reset button**: Briefly press the reset button soldered on the PCB.
* **Bootmagic reset**: Hold down the top left key on the left half (or the top right key on the right half) and plug in the controller on that side.
diff --git a/keyboards/cradio/rules.mk b/keyboards/cradio/rules.mk
index 1e4940ca7d..6e7633bfe0 100644
--- a/keyboards/cradio/rules.mk
+++ b/keyboards/cradio/rules.mk
@@ -1,21 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-UNICODE_ENABLE = yes # Unicode
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes # Use shared split_common code
-LAYOUTS = split_3x5_2
+# This file intentionally left blank
diff --git a/keyboards/craftwalk/config.h b/keyboards/craftwalk/config.h
index f87c61cdb1..ce953b43fe 100644
--- a/keyboards/craftwalk/config.h
+++ b/keyboards/craftwalk/config.h
@@ -19,13 +19,6 @@ 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 0x2E8F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sotoba
-#define PRODUCT craftwalk
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, B3, B5 }
#define MATRIX_COL_PINS { B1, F7, F5, F4, B2, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/craftwalk/info.json b/keyboards/craftwalk/info.json
index 0d854c5333..ac6324efba 100644
--- a/keyboards/craftwalk/info.json
+++ b/keyboards/craftwalk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "craftwalk",
+ "manufacturer": "sotoba",
"url": "https://github.com/sotoba/craftwalk",
"maintainer": "sotoba",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2E8F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/crawlpad/config.h b/keyboards/crawlpad/config.h
index d923fe0c27..06939422b0 100755
--- a/keyboards/crawlpad/config.h
+++ b/keyboards/crawlpad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6070
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT CrawlPad
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, F4, F5 }
#define MATRIX_COL_PINS { D4, D5, D6, D7 }
-#define UNUSED_PINS
/* Pins for custom per-row LEDs. Should be changed to use named pins. */
#define LED_ROW_PINS { 8, 9, 10, 11 }
diff --git a/keyboards/crawlpad/info.json b/keyboards/crawlpad/info.json
index 4613a4a5a0..7b95c4495d 100644
--- a/keyboards/crawlpad/info.json
+++ b/keyboards/crawlpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Crawlpad",
+ "manufacturer": "WoodKeys.Click",
"url": "",
"maintainer": "colemarkham",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6070",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/crazy_keyboard_68/config.h b/keyboards/crazy_keyboard_68/config.h
index ea2bc568bc..d1fa1bb5d2 100644
--- a/keyboards/crazy_keyboard_68/config.h
+++ b/keyboards/crazy_keyboard_68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED // by default from pcb
-#define PRODUCT_ID 0x13DE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER chent7
-#define PRODUCT Crazy Keyboard 68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/crazy_keyboard_68/info.json b/keyboards/crazy_keyboard_68/info.json
index 38c3025ec8..040b29825d 100644
--- a/keyboards/crazy_keyboard_68/info.json
+++ b/keyboards/crazy_keyboard_68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "crazy_keyboard_68",
+ "keyboard_name": "Crazy_Keyboard 68",
+ "manufacturer": "chent7",
"url": "",
"maintainer": "chent7",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x13DE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/crbn/config.h b/keyboards/crbn/config.h
index 8873022269..47f8ca93a6 100644
--- a/keyboards/crbn/config.h
+++ b/keyboards/crbn/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726F
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Polarity Works
-#define PRODUCT CRBN
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B1, F7, F6 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B6, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/crbn/info.json b/keyboards/crbn/info.json
index f9369ec2cd..0ae3a72434 100644
--- a/keyboards/crbn/info.json
+++ b/keyboards/crbn/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CRBN",
+ "manufacturer": "Polarity Works",
"url": "polarityworks.com",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x726F",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_crbn_1x2u": {
"layout": [
diff --git a/keyboards/creatkeebs/glacier/config.h b/keyboards/creatkeebs/glacier/config.h
index 1cfb2b6a8d..0af5d6f6b7 100644
--- a/keyboards/creatkeebs/glacier/config.h
+++ b/keyboards/creatkeebs/glacier/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0410
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER creatkeebs
-#define PRODUCT glacier
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, F4, E6, F5, D0 }
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, F6, B0, B6, C6, C7, B1, B2, B3, B7, D3, D2, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/creatkeebs/glacier/info.json b/keyboards/creatkeebs/glacier/info.json
index 3bc2ee2018..3c81d34267 100644
--- a/keyboards/creatkeebs/glacier/info.json
+++ b/keyboards/creatkeebs/glacier/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "glacier",
+ "manufacturer": "creatkeebs",
"url": "",
"maintainer": "Timliuzhaolu",
+ "usb": {
+ "vid": "0x0410",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan"
},
diff --git a/keyboards/creatkeebs/glacier/readme.md b/keyboards/creatkeebs/glacier/readme.md
index 6901f93b27..0a38629863 100644
--- a/keyboards/creatkeebs/glacier/readme.md
+++ b/keyboards/creatkeebs/glacier/readme.md
@@ -16,8 +16,8 @@ A 80% keyboard
Enter the bootloader in 2 ways:
-* Physical reset button: Press the `RESET` button on the back of the PCB.
-* Keycode in layout: Press the key mapped to `RESET` if it is available.
+* Physical reset button: Press the `QK_BOOT` button on the back of the PCB.
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available.
### Building the Firmware
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/creatkeebs/thera/config.h b/keyboards/creatkeebs/thera/config.h
index 0e673dd9d3..68494a1cd6 100644
--- a/keyboards/creatkeebs/thera/config.h
+++ b/keyboards/creatkeebs/thera/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0410
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER creatkeebs
-#define PRODUCT thera
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B2, B1, B0, E6, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/creatkeebs/thera/info.json b/keyboards/creatkeebs/thera/info.json
index 856aae93bf..388fc448e0 100644
--- a/keyboards/creatkeebs/thera/info.json
+++ b/keyboards/creatkeebs/thera/info.json
@@ -1,106 +1,831 @@
{
- "keyboard_name": "jelly epoch",
+ "keyboard_name": "thera",
+ "manufacturer": "creatkeebs",
"url": "https://eschit.com/collections/thera75",
"maintainer": "https://github.com/Timliuzhaolu",
+ "usb": {
+ "vid": "0x0410",
+ "pid": "0x6061",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_ansi"
+ },
"layouts": {
- "LAYOUT": {
+ "LAYOUT_all": {
"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":0, "y":1.5},
- {"x":1, "y":1.5},
- {"x":2, "y":1.5},
- {"x":3, "y":1.5},
- {"x":4, "y":1.5},
- {"x":5, "y":1.5},
- {"x":6, "y":1.5},
- {"x":7, "y":1.5},
- {"x":8, "y":1.5},
- {"x":9, "y":1.5},
- {"x":10, "y":1.5},
- {"x":11, "y":1.5},
- {"x":12, "y":1.5},
- {"x":13, "y":1.5, "w":2},
-
- {"x":15.5, "y":1.5},
-
- {"x":0, "y":2.5, "w":1.5},
- {"x":1.5, "y":2.5},
- {"x":2.5, "y":2.5},
- {"x":3.5, "y":2.5},
- {"x":4.5, "y":2.5},
- {"x":5.5, "y":2.5},
- {"x":6.5, "y":2.5},
- {"x":7.5, "y":2.5},
- {"x":8.5, "y":2.5},
- {"x":9.5, "y":2.5},
- {"x":10.5, "y":2.5},
- {"x":11.5, "y":2.5},
- {"x":12.5, "y":2.5},
- {"x":13.5, "y":2.5, "w":1.5},
-
- {"x":15.5, "y":2.5},
-
- {"x":0, "y":3.5, "w":1.75},
- {"x":1.75, "y":3.5},
- {"x":2.75, "y":3.5},
- {"x":3.75, "y":3.5},
- {"x":4.75, "y":3.5},
- {"x":5.75, "y":3.5},
- {"x":6.75, "y":3.5},
- {"x":7.75, "y":3.5},
- {"x":8.75, "y":3.5},
- {"x":9.75, "y":3.5},
- {"x":10.75, "y":3.5},
- {"x":11.75, "y":3.5},
- {"x":12.75, "y":3.5, "w":2.25},
-
- {"x":15.5, "y":3.5},
-
- {"x":0, "y":4.5, "w":2.25},
- {"x":2.25, "y":4.5},
- {"x":3.25, "y":4.5},
- {"x":4.25, "y":4.5},
- {"x":5.25, "y":4.5},
- {"x":6.25, "y":4.5},
- {"x":7.25, "y":4.5},
- {"x":8.25, "y":4.5},
- {"x":9.25, "y":4.5},
- {"x":10.25, "y":4.5},
- {"x":11.25, "y":4.5},
- {"x":12.25, "y":4.5, "w":1.75},
-
- {"x":14.25, "y":4.75},
-
-
- {"x":0, "y":5.5, "w":1.25},
- {"x":1.25, "y":5.5, "w":1.25},
- {"x":2.5, "y":5.5, "w":1.25},
- {"x":3.75, "y":5.5, "w":6.25},
- {"x":10, "y":5.5},
- {"x":11, "y":5.5},
- {"x":12, "y":5.5},
-
- {"x":13.25, "y":5.75},
- {"x":14.25, "y":5.75},
- {"x":15.25, "y":5.75}
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "x":10, "y":1.5},
+ {"label":"-_", "x":11, "y":1.5},
+ {"label":"=+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5},
+ {"label":"Backspace", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.5},
+ {"label":"GUI", "x":11, "y":5.5},
+ {"label":"Ctrl", "x":12, "y":5.5},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.5, "y":3.5},
+
+ {"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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.5},
+ {"label":"GUI", "x":11, "y":5.5},
+ {"label":"Ctrl", "x":12, "y":5.5},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_ansi_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "x":10, "y":1.5},
+ {"label":"-_", "x":11, "y":1.5},
+ {"label":"=+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5},
+ {"label":"Backspace", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.5, "y":3.5},
+
+ {"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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.5},
+ {"label":"GUI", "x":11, "y":5.5},
+ {"label":"Ctrl", "x":12, "y":5.5},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_ansi_rwkl": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.5, "y":3.5},
+
+ {"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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5},
+ {"label":"Alt", "x":2.25, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.5, "y":5.5, "w":7},
+ {"label":"Alt", "x":10.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_ansi_rwkl_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "x":10, "y":1.5},
+ {"label":"-_", "x":11, "y":1.5},
+ {"label":"=+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5},
+ {"label":"Backspace", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.5, "y":3.5},
+
+ {"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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5},
+ {"label":"Alt", "x":2.25, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.5, "y":5.5, "w":7},
+ {"label":"Alt", "x":10.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2\"", "x":2, "y":1.5},
+ {"label":"3\u00a3", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"AltGr", "x":10, "y":5.5},
+ {"label":"GUI", "x":11, "y":5.5},
+ {"label":"Ctrl", "x":12, "y":5.5},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_iso_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2\"", "x":2, "y":1.5},
+ {"label":"3\u00a3", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "x":10, "y":1.5},
+ {"label":"-_", "x":11, "y":1.5},
+ {"label":"=+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5},
+ {"label":"Backspace", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"AltGr", "x":10, "y":5.5},
+ {"label":"GUI", "x":11, "y":5.5},
+ {"label":"Ctrl", "x":12, "y":5.5},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_iso_rwkl": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2\"", "x":2, "y":1.5},
+ {"label":"3\u00a3", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5},
+ {"label":"Alt", "x":2.25, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.5, "y":5.5, "w":7},
+ {"label":"AltGr", "x":10.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
+ ]
+ },
+ "LAYOUT_iso_rwkl_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2\"", "x":2, "y":1.5},
+ {"label":"3\u00a3", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "x":10, "y":1.5},
+ {"label":"-_", "x":11, "y":1.5},
+ {"label":"=+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5},
+ {"label":"Backspace", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.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":"Page Up", "x":15.5, "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":"Page Down", "x":15.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":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.75},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5},
+ {"label":"Alt", "x":2.25, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.5, "y":5.5, "w":7},
+ {"label":"AltGr", "x":10.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25},
+ {"label":"\u2190", "x":13.25, "y":5.75},
+ {"label":"\u2193", "x":14.25, "y":5.75},
+ {"label":"\u2192", "x":15.25, "y":5.75}
]
}
}
diff --git a/keyboards/creatkeebs/thera/keymaps/default/keymap.c b/keyboards/creatkeebs/thera/keymaps/default/keymap.c
index 4af1d96a2b..5c361175e1 100644
--- a/keyboards/creatkeebs/thera/keymaps/default/keymap.c
+++ b/keyboards/creatkeebs/thera/keymaps/default/keymap.c
@@ -1,30 +1,30 @@
- /* Copyright 2022 Tim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
};
-
diff --git a/keyboards/creatkeebs/thera/keymaps/default_ansi/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_ansi/keymap.c
new file mode 100644
index 0000000000..1fc8870ff5
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_ansi/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl/keymap.c
new file mode 100644
index 0000000000..47e57abff9
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ansi_rwkl(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl_split_bs/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl_split_bs/keymap.c
new file mode 100644
index 0000000000..4c4262bb44
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_ansi_rwkl_split_bs/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ansi_rwkl_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_ansi_split_bs/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_ansi_split_bs/keymap.c
new file mode 100644
index 0000000000..090f6f5675
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_ansi_split_bs/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_ansi_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_iso/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_iso/keymap.c
new file mode 100644
index 0000000000..b9fb813050
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_iso/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl/keymap.c
new file mode 100644
index 0000000000..bf56fde226
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_iso_rwkl(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl_split_bs/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl_split_bs/keymap.c
new file mode 100644
index 0000000000..b5b30eaa8f
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_iso_rwkl_split_bs/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_iso_rwkl_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/keymaps/default_iso_split_bs/keymap.c b/keyboards/creatkeebs/thera/keymaps/default_iso_split_bs/keymap.c
new file mode 100644
index 0000000000..1a2648eb10
--- /dev/null
+++ b/keyboards/creatkeebs/thera/keymaps/default_iso_split_bs/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Tim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_iso_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+};
diff --git a/keyboards/creatkeebs/thera/readme.md b/keyboards/creatkeebs/thera/readme.md
index a03f9c184e..2f78a154fd 100644
--- a/keyboards/creatkeebs/thera/readme.md
+++ b/keyboards/creatkeebs/thera/readme.md
@@ -18,8 +18,8 @@ A 75% keyboard
Enter the bootloader in 2 ways:
-* Physical reset button: Press the `RESET` button on the back of the PCB.
-* Keycode in layout: Press the key mapped to `RESET` if it is available.
+* Physical reset button: Press the `QK_BOOT` button on the back of the PCB.
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available.
### Building the Firmware
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/creatkeebs/thera/thera.h b/keyboards/creatkeebs/thera/thera.h
index 8603c3605b..403a9c7336 100644
--- a/keyboards/creatkeebs/thera/thera.h
+++ b/keyboards/creatkeebs/thera/thera.h
@@ -18,20 +18,173 @@
#include "quantum.h"
-#define ____ KC_NO
-
-#define LAYOUT( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
- 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, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
- K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, \
- K500, K501, K502, K506, K509, K510, K511, K512, K513, K514 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, ____ }, \
- { 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 }, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, ____, K313, K314 }, \
- { K400, ____, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, ____ }, \
- { K500, K501, K502, ____, ____, ____, K506, ____, ____, K509, K510, K511, K512, K513, K514 } \
+#define ___ KC_NO
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │0E │1D │ │1E │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ └─┬─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ ┌──┴â”3D │ ISO Enter
+ * LShift │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3E │ │2D │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ └───┘ └───┴────┘
+ * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │┌───â”
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│4D │
+ * │50 │51 │52 │56 │59 │5A │5B │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘│5C │5D │5E │
+ * └───┴───┴───┘
+ *
+ * ┌────┬────┬────┬────────────────────────┬─────┬─────â”
+ * │50 │51 │52 │56 │59 │5B │ RWKL
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘ both layouts
+ * ┌────┬───┬────┬───────────────────────────┬────┬────┠use same matrix
+ * │50 │51 │52 │56 │59 │5B │
+ * └────┴───┴────┴───────────────────────────┴────┴────┘
+ */
+
+#define LAYOUT_all( \
+ 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, K0E, 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ 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 }, \
+ { 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_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, 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, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_ansi_split_bs( \
+ 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, K0E, 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, \
+ 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 }, \
+ { 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, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_ansi_rwkl( \
+ 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, 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, \
+ K50, K51, K52, K56, K59, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_ansi_rwkl_split_bs( \
+ 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, K0E, 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, \
+ K50, K51, K52, K56, K59, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso( \
+ 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, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso_split_bs( \
+ 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, K0E, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ 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 }, \
+ { 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso_rwkl( \
+ 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, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K59, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso_rwkl_split_bs( \
+ 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, K0E, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K59, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D, K5E } \
}
diff --git a/keyboards/crimsonkeyboards/resume1800/config.h b/keyboards/crimsonkeyboards/resume1800/config.h
index d6552b744e..d1b0903ce6 100644
--- a/keyboards/crimsonkeyboards/resume1800/config.h
+++ b/keyboards/crimsonkeyboards/resume1800/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xC18B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CrimsonKeyboards
-#define PRODUCT Resume1800
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A5, A0, A1, B1, B2, B0 }
#define MATRIX_COL_PINS { A2, B3, A3, B4, A4, D1, D5, D6, A6, A7, C7, C6, C5, C4, D7, C3, C2, C1, C0, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/crimsonkeyboards/resume1800/info.json b/keyboards/crimsonkeyboards/resume1800/info.json
index e36cc5050b..b53be64e9d 100644
--- a/keyboards/crimsonkeyboards/resume1800/info.json
+++ b/keyboards/crimsonkeyboards/resume1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Resume1800",
+ "manufacturer": "CrimsonKeyboards",
"url": "",
"maintainer": "CrimsonKeyboards",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC18B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_resume1800_ansi_all": {
"layout": [
diff --git a/keyboards/crin/config.h b/keyboards/crin/config.h
index 4561a05df0..04af4a21e2 100644
--- a/keyboards/crin/config.h
+++ b/keyboards/crin/config.h
@@ -17,14 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6400
-#define PRODUCT_ID 0xCC11
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER Bachoo
-#define PRODUCT Crin
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/crin/info.json b/keyboards/crin/info.json
index 94f57c48bf..9ce4fbfafb 100644
--- a/keyboards/crin/info.json
+++ b/keyboards/crin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Crin",
+ "manufacturer": "Bachoo",
"url": "https://bachoo.com",
"maintainer": "KnoblesseOblige",
+ "usb": {
+ "vid": "0x6400",
+ "pid": "0xCC11",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_default": "LAYOUT_all",
"LAYOUT_tsangan": "LAYOUT_ansi_tsangan"
diff --git a/keyboards/crin/readme.md b/keyboards/crin/readme.md
index 1912cee1f7..bc39ca6ac8 100644
--- a/keyboards/crin/readme.md
+++ b/keyboards/crin/readme.md
@@ -17,7 +17,7 @@ Flashing example for this keyboard:
To reset the board into bootloader mode, do one of the following:
* Hold Esc while plugging the PCB in, if Bootmagic Lite is enabled (also erases persistent settings).
-* Press the RESET keycode, if programmed on the keymap (Fn+R by default).
+* Press the `QK_BOOT` keycode, if programmed on the keymap (Fn+R by default).
* Slide the switch just below the reset button to the left and press the reset button.
* Please note that you must slide it back to the right for the PCB to boot QMK again.
diff --git a/keyboards/crkbd/config.h b/keyboards/crkbd/config.h
index 02732819f9..21f3aa0ab4 100644
--- a/keyboards/crkbd/config.h
+++ b/keyboards/crkbd/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4653
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER foostan
-#define PRODUCT Corne
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json
index 9a73ec68e9..354d33618c 100644
--- a/keyboards/crkbd/info.json
+++ b/keyboards/crkbd/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "crkbd rev. 1",
+ "keyboard_name": "Corne",
+ "manufacturer": "foostan",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4653",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/crkbd/keymaps/ardakilic/keymap.c b/keyboards/crkbd/keymaps/ardakilic/keymap.c
index a611c59223..f5cd85eb12 100644
--- a/keyboards/crkbd/keymaps/ardakilic/keymap.c
+++ b/keyboards/crkbd/keymaps/ardakilic/keymap.c
@@ -229,7 +229,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ADJUST LAYER
[_TPL] = LAYOUT_wrapper( \
//,-----------------------------------------------------. ,----------------------------------------------------.
- | RESET | EEPRST | | | | | | | | | | | |
+ | QK_BOOT | EEPRST | | | | | | | | | | | |
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
| RGBTog | HUEâ–² | SATâ–² | BRGHTâ–² | | | | | | | | | |
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
@@ -241,7 +241,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
*/
[_ADJUST] = LAYOUT_split_3x6_3(
- RESET, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
diff --git a/keyboards/crkbd/keymaps/bermeo/config.h b/keyboards/crkbd/keymaps/bermeo/config.h
new file mode 100644
index 0000000000..567497afbe
--- /dev/null
+++ b/keyboards/crkbd/keymaps/bermeo/config.h
@@ -0,0 +1,126 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+// #define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 150
+// #define RETRO_TAPPING
+// #define IGNORE_MOD_TAP_INTERRUPT
+// #define PERMISSIVE_HOLD
+
+#ifdef RGBLIGHT_ENABLE
+# undef RGBLED_NUM
+# define RGBLED_NUM 27
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+# define RGBLIGHT_SLEEP
+# define RGBLIGHT_SPLIT
+# define RGBLIGHT_LIMIT_VAL 120
+# define RGBLIGHT_HUE_STEP 6
+# define RGBLIGHT_SAT_STEP 6
+# define RGBLIGHT_VAL_STEP 6
+# define RGBLIGHT_SLEEP
+# define RGBLIGHT_TIMEOUT 75000
+#endif
+
+#ifdef OLED_ENABLE
+# define SPLIT_LAYER_STATE_ENABLE
+# define SPLIT_LED_STATE_ENABLE
+# define SPLIT_MODS_ENABLE
+# define SPLIT_WPM_ENABLE
+# define SPLIT_OLED_ENABLE
+# define OLED_FONT_H "keyboards/crkbd/keymaps/soundmonster/glcdfont.c"
+# define OLED_DISABLE_TIMEOUT
+# define OLED_TIMEOUT 150000
+# define OLED_BRIGHTNESS 255
+# define OLED_FADE_OUT
+# define OLED_FADE_OUT_INTERVAL 15
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+# 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 // 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_HUE_STEP 8
+# define RGB_MATRIX_SAT_STEP 8
+# define RGB_MATRIX_VAL_STEP 8
+# define RGB_MATRIX_SPD_STEP 10
+
+/* Disable the animations you don't want/need. You will need to disable a good number of these *
+ * because they take up a lot of space. Disable until you can successfully compile your firmware. */
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# undef ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# undef ENABLE_RGB_MATRIX_CYCLE_ALL
+# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# undef ENABLE_RGB_MATRIX_RAINDROPS
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# undef ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/crkbd/keymaps/bermeo/glcdfont.c b/keyboards/crkbd/keymaps/bermeo/glcdfont.c
new file mode 100644
index 0000000000..588ecfd8c8
--- /dev/null
+++ b/keyboards/crkbd/keymaps/bermeo/glcdfont.c
@@ -0,0 +1,232 @@
+#include "progmem.h"
+
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+// See also: https://github.com/soundmonster/glcdfont_converter
+
+const unsigned char font[] PROGMEM = {
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8,
+0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC,
+0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00,
+0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2,
+0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
+0x22, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x22, 0x22, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0x04, 0x02, 0x02, 0x82,
+0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x02, 0x82, 0x42, 0x22, 0x12, 0x22,
+0x42, 0x82, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E,
+0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
+0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E,
+0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
+0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
+0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
+0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
+0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
+0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0,
+0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47,
+0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
+0x44, 0x44, 0x40, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x20, 0x40, 0x41, 0x40,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
+0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
+0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78,
+0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
+0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
+0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
+0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
+0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
+0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
+0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
+0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
+0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
+0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
+0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
+0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
+0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
+0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F,
+0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F,
+0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F,
+0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C,
+0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE,
+0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00,
+0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77,
+0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
+0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
+0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
+0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
+0x03, 0x02, 0x01, 0x01, 0x00, 0x00
+};
diff --git a/keyboards/crkbd/keymaps/bermeo/keymap.c b/keyboards/crkbd/keymaps/bermeo/keymap.c
new file mode 100644
index 0000000000..ad1dc92450
--- /dev/null
+++ b/keyboards/crkbd/keymaps/bermeo/keymap.c
@@ -0,0 +1,596 @@
+// Copyright 2022 Guilherme Bermêo (bermeo.dev)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _NUMP,
+};
+
+uint8_t mod_state;
+
+bool isBarking = false;
+bool isJumping = false;
+bool showedJump = true;
+bool isSneaking = false;
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+ CEDILHA, // ç direct key
+ AO, // ã direct key
+ ASPAS, // " direct key
+
+};
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ LCTL_T(KC_F3), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRAVE,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LALT_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LSFT_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RGUI_T(KC_RIGHT),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ LGUI_T(KC_DOWN), MO(1), KC_SPC, KC_BSPC, MO(2), RSFT_T(KC_UP)
+ // `--------------------------' `--------------------------'
+ ),
+
+[_LOWER] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ LCTL_T(KC_F5), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESCAPE,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LCTL(LGUI(KC_SPC)), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, KC_LBRC, KC_RBRC, KC_BSLS, KC_QUOT, KC_COLON, KC_ENT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LALT(KC_LEFT), KC_F1, KC_F2, KC_C, KC_V, KC_BSPC, KC_MINS, KC_EQL, KC_LT, KC_GT, KC_QUESTION, LALT(KC_RIGHT),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ LGUI_T(KC_PAGE_DOWN), _______, KC_SPC, LALT(KC_BSPC), TG(3), RSFT_T(KC_PAGE_UP)
+ // `--------------------------' `--------------------------'
+ ),
+
+[_RAISE] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ LCTL_T(KC_F4), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILDE,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LALT_T(KC_TAB), AO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, ASPAS, KC_COLON, KC_ENT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LALT(KC_LEFT), XXXXXXX, XXXXXXX, CEDILHA, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LT, KC_GT, KC_QUESTION, LALT(KC_RIGHT),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ LGUI_T(KC_END), TG(3), KC_SPC, KC_DEL, _______, RSFT_T(KC_HOME)
+ // `--------------------------' `--------------------------'
+ ),
+
+[_NUMP] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ RGB_TOG, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_ENT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_NO,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ TG(3), TG(3), TG(3), KC_BSPC, TG(3), KC_P0
+ // `--------------------------' `--------------------------'
+ )};
+
+//Per key lights
+void rgb_matrix_indicators_user(void) {
+#ifdef RGB_MATRIX_ENABLE
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ isSneaking = false;
+ mod_state = get_mods();
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ if (mod_state & MOD_MASK_SHIFT) {
+ isBarking = true;
+ rgb_matrix_set_color(52, 255, 255, 255);
+ rgb_matrix_set_color(i, 255, 150, 0);
+ } else if (mod_state & MOD_MASK_GUI || mod_state & MOD_MASK_CTRL) {
+ isBarking = true;
+ rgb_matrix_set_color(15, 255, 0, 0);
+ switch (i) {
+ case 0 ... 5: // underglow left side
+ case 9: // cmd + T white (new tab)
+ case 11: // cmd + F white (find)
+ case 18: // cmd + W white (close tab)
+ case 19: // cmd + S white (save)
+ case 21: // cmd + Z white (undo)
+ case 22: // cmd + A white (select all)
+ case 27 ... 32: // underglow right side
+ case 43: // cmd + K white (comment for desktop remote)
+ case 48: // cmd + / white (comment line)
+ rgb_matrix_set_color(i, 255, 255, 255); // white
+ break;
+ case 6: // space bar off
+ case 24 ... 26: // left column off
+ case 33: // backspace off
+ case 41: // shift off
+ case 51 ... 53: // right column off
+ rgb_matrix_set_color(i, 0, 0, 0); //off
+ break;
+ }
+ if (mod_state & MOD_MASK_GUI) {
+ rgb_matrix_set_color(12, 255, 255, 255); // white V key
+ rgb_matrix_set_color(15, 255, 255, 255); // white C key
+ rgb_matrix_set_color(20, 255, 255, 255); // white X key
+ } else {
+ }
+ } else if (mod_state & MOD_MASK_ALT) {
+ isBarking = true;
+ } else {
+ isBarking = false;
+ rgb_matrix_set_color(14, 0, 0, 0); // command key off
+ }
+ }
+ rgb_matrix_set_color(13, 23, 181, 255); // cyan layer
+ rgb_matrix_set_color(40, 255, 33, 0); // orange layer
+ break;
+
+ case _RAISE:
+ isSneaking = true;
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ switch (i) {
+ case 7: // B key off
+ case 8: // G key off
+ case 11: // F key off
+ case 12: // V key off
+ case 16: // D key off
+ case 19 ... 21: // S, X, Z keys off
+ case 25: // tab key off
+ case 26: // shift key off
+ case 52 ... 53: // right column off
+ rgb_matrix_set_color(i, 0, 0, 0); // off
+ break;
+ case 15: // Ç key
+ case 22: // Ã key
+ case 24: // Launch (F4)
+ case 40: // Active layer
+ rgb_matrix_set_color(i, 255, 255, 255); // white
+ break;
+ case 13: // active layer
+ rgb_matrix_set_color(i, 0, 255, 0); // green
+ break;
+ case 42: // , shifted key
+ case 47 ... 49: // . / ; shifted keys
+ rgb_matrix_set_color(i, 255, 214, 0); // yellow
+ break;
+ default:
+ rgb_matrix_set_color(i, 255, 33, 0); // orange
+ }
+ }
+ break;
+
+ case _LOWER:
+ isSneaking = true;
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ switch (i) {
+ case 7: // Delete key
+ case 51: // ESC key
+ rgb_matrix_set_color(i, 255, 0, 0); // red
+ break;
+ case 12: // V key off
+ case 15: // C key off
+ case 20: // X key off
+ case 21: // Z key off
+
+ case 26: // shift key off
+ case 52 ... 53: // right column off
+ rgb_matrix_set_color(i, 0, 0, 0); // off
+ break;
+ case 11: // Right arrow key
+ case 13: // Active layer
+ case 16: // Up arrow key
+ case 19: // Down arrow key
+ case 22: // Left arrow key
+ case 24: // Print
+ rgb_matrix_set_color(i, 255, 255, 255); // white
+ break;
+ case 8: // Enter key
+ case 40: // Activate Numpad
+ rgb_matrix_set_color(i, 0, 255, 0); // green
+ break;
+ case 42: // , shifted key
+ case 47 ... 49: // . / ; shifted keys
+ case 25: // opens emoji dialog (on macOS)
+ rgb_matrix_set_color(i, 255, 214, 0); // yellow
+ break;
+ default:
+ rgb_matrix_set_color(i, 23, 181, 255); // cyan
+ }
+ }
+
+ break;
+
+ case _NUMP:
+ isSneaking = true;
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ switch (i) {
+ case 12: // RGB speed-
+ case 15: // RGB brigthness-
+ case 20: // RGB saturation-
+ case 21: // RGB hue-
+ case 49: // Numpad -
+ case 51: // Numpad /
+ rgb_matrix_set_color(i, 255, 0, 0); // red
+ break;
+ case 8 ... 10: // G T R off
+ case 17: // E off
+ case 18: // W off
+ case 23: // Q off
+ case 25: // Tab off
+ case 26: // LShift off
+ case 33: // Backspace off
+ case 35: // H off
+ case 36: // Y off
+ case 53: // RShift off
+ rgb_matrix_set_color(i, 0, 0, 0); // off
+ break;
+ case 6: // Space bar off
+ case 13: // Return to default layer
+ case 16: // RGB brigthness+
+ case 24: // RGB toggle
+ case 37 ... 47: // Numpad numbers
+ case 52: // Enter key
+ rgb_matrix_set_color(i, 255, 255, 255); // white
+ break;
+ case 11: // RGB speed+
+ case 19: // RGB saturation+
+ case 22: // RGB hue+
+ case 48: // Numpad +
+ rgb_matrix_set_color(i, 0, 255, 0); // green
+ break;
+ case 34: // . numpad key
+ rgb_matrix_set_color(i, 255, 214, 0); // yellow
+ break;
+ }
+ rgb_matrix_set_color(13, 23, 181, 255); // Activate cyan layer
+ rgb_matrix_set_color(40, 255, 33, 0); // Activate orange layer
+ rgb_matrix_set_color(50, 0, 33, 255); // Numpad *
+ rgb_matrix_set_color(14, 0, 255, 0); // Green layer active
+ }
+ }
+};
+#endif
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_270;
+}
+
+/* KEYBOARD PET START */
+/* settings */
+# define MIN_WALK_SPEED 10
+# define MIN_RUN_SPEED 60
+/* advanced settings */
+# define ANIM_FRAME_DURATION 100 // 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;
+uint32_t anim_sleep = 0;
+/* current frame */
+uint8_t current_frame = 0;
+/* status variables */
+int current_wpm = 0;
+// led_t led_usb_state;
+/* 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}};
+
+ /* 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,
+ }};
+
+ /* 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,
+ }};
+
+ // /* 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,
+ }};
+
+ /* 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,
+ }};
+
+ /* animation */
+ void animate_luna(void) {
+ /* jump */
+ if (isJumping || !showedJump) {
+ /* clear */
+ oled_set_cursor(LUNA_X, LUNA_Y + 2);
+ oled_write(" ", false);
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
+ showedJump = true;
+ } else {
+ /* clear */
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
+ oled_write(" ", false);
+ oled_set_cursor(LUNA_X, LUNA_Y);
+ }
+ /* switch frame */
+ current_frame = (current_frame + 1) % 2;
+ /* draw */
+ if (isBarking) {
+ oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE);
+
+ } else if (isSneaking) {
+ oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE);
+
+ } 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) {
+ oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE);
+
+ } else {
+ oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE);
+ }
+ }
+ /* animation timer */
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animate_luna();
+ }
+}
+
+void render_mod_status_gui_alt(uint8_t modifiers) {
+ static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0};
+ static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0};
+ static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0};
+ static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0};
+ static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0};
+ static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0};
+ static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0};
+ static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if (modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_1, false);
+ } else {
+ oled_write_P(gui_off_1, false);
+ }
+ if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
+ oled_write_P(on_on_1, false);
+ } else if (modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_1, false);
+ } else if (modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+ if (modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_1, false);
+ } else {
+ oled_write_P(alt_off_1, false);
+ }
+ if (modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_2, false);
+ } else {
+ oled_write_P(gui_off_2, false);
+ }
+ if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) {
+ oled_write_P(on_on_2, false);
+ } else if (modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_2, false);
+ } else if (modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+ if (modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_2, false);
+ } else {
+ oled_write_P(alt_off_2, false);
+ }
+}
+
+void render_mod_status_ctrl_shift(uint8_t modifiers) {
+ static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0};
+ static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0};
+ static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0};
+ static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0};
+ static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0};
+ static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0};
+ static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0};
+ static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if (modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_1, false);
+ } else {
+ oled_write_P(ctrl_off_1, false);
+ }
+ if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
+ oled_write_P(on_on_1, false);
+ } else if (modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_1, false);
+ } else if (modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+ if (modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_1, false);
+ } else {
+ oled_write_P(shift_off_1, false);
+ }
+ if (modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_2, false);
+ } else {
+ oled_write_P(ctrl_off_2, false);
+ }
+ if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) {
+ oled_write_P(on_on_2, false);
+ } else if (modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_2, false);
+ } else if (modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+ if (modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_2, false);
+ } else {
+ oled_write_P(shift_off_2, false);
+ }
+}
+
+void render_layer_state(void) {
+ static const char PROGMEM default_layer[] = {0x20, 0x94, 0x95, 0x96, 0x20, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0};
+ static const char PROGMEM raise_layer[] = {0x20, 0x97, 0x98, 0x99, 0x20, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0};
+ static const char PROGMEM lower_layer[] = {0x20, 0x9a, 0x9b, 0x9c, 0x20, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0};
+ static const char PROGMEM nump_layer[] = {0x20, 0x9d, 0x9e, 0x9f, 0x20, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0};
+ if (layer_state_is(_NUMP)) {
+ oled_write_P(nump_layer, false);
+ } else if (layer_state_is(_LOWER)) {
+ oled_write_P(lower_layer, false);
+ } else if (layer_state_is(_RAISE)) {
+ oled_write_P(raise_layer, false);
+ } else {
+ oled_write_P(default_layer, false);
+ }
+}
+
+// renders on oled
+bool oled_task_user(void) {
+ current_wpm = get_current_wpm();
+ // led_usb_state = host_keyboard_led_state();
+
+ if (is_keyboard_left()) {
+ oled_set_cursor(0, 2);
+ if (isSneaking) {
+ render_layer_state();
+ } else {
+ for (size_t i = 0; i < 7; i++) {
+ oled_write(" ", false);
+ }
+ }
+ render_luna(0, 12);
+ } else {
+ oled_set_cursor(0, 6);
+ render_layer_state();
+ oled_set_cursor(0, 11);
+ if (mod_state) {
+ render_mod_status_gui_alt(get_mods());
+ render_mod_status_ctrl_shift(get_mods());
+ } else {
+ for (size_t i = 0; i < 5; i++) {
+ oled_write(" ", false);
+ }
+ }
+ }
+ return false;
+}
+
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t* record) {
+ switch (keycode) {
+ // ç key
+ case CEDILHA:
+ if (record->event.pressed) {
+ register_code(KC_QUOT);
+ unregister_code(KC_QUOT);
+ register_code(KC_C);
+ unregister_code(KC_C);
+ }
+ break;
+ return false;
+
+ // ã key
+ case AO:
+ if (record->event.pressed) {
+ register_code(KC_LSFT);
+ register_code(KC_GRV);
+ unregister_code(KC_LSFT);
+ unregister_code(KC_GRV);
+ register_code(KC_A);
+ unregister_code(KC_A);
+ }
+ break;
+ return false;
+
+ // direct " key
+ case ASPAS:
+ if (record->event.pressed) {
+ register_code(KC_LSFT);
+ register_code(KC_QUOT);
+ register_code(KC_SPC);
+ unregister_code(KC_SPC);
+ unregister_code(KC_QUOT);
+ unregister_code(KC_LSFT);
+ }
+ break;
+ return false;
+
+ // Luna jumping on space
+ case KC_SPC:
+ if (record->event.pressed) {
+ isJumping = true;
+ showedJump = false;
+ } else {
+ isJumping = false;
+ }
+ break;
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/crkbd/keymaps/bermeo/readme.md b/keyboards/crkbd/keymaps/bermeo/readme.md
new file mode 100644
index 0000000000..a9b0d4ff09
--- /dev/null
+++ b/keyboards/crkbd/keymaps/bermeo/readme.md
@@ -0,0 +1,158 @@
+# Bermeo Layout for Corne
+
+## Features
+
+### *Corne for neo-latin creatives*
+
+* Usable with left hand only (Figma, Adobe, Spline, etc) to combo with mouse.
+* Delete and enter keys on the left side.
+* Z and X on left side with lower layer used to control the monitor's brigtness.
+* Arrow keys on left hand (vim logic)
+* Accentuations used in Romance (neo-latin) languages like Spanish, Portuguese, French and Italian - ` ~ ^ ' -.
+
+#### Direct ç and ã keys
+
+The termination "tion" (eg. action) in portuguese is "ção" (eg. ação). This layout is optimized to use the less keys possible to write words with this termination.
+
+Compared to the `crkbd:default` layout the difference to output ção would be half of the interations:
+
+| crkbd:bermeo | <sub>`MO(2)`</sub>, `KC_C`, `KC_A`, <sup>`MO(2)`</sup> |
+|:--|:--|
+| crkbd:default | `KC_QUOT`, `KC_C`, <sub>`MO(2)`</sub>, <sub>`KC_SFT`</sub>, `KC_GRV`, <sup>`MO(2)`</sup>, <sup>`KC_SFT`</sup>, `KC_A` |
+
+[ <sub>`hold key`</sub> , <sup>`release key`</sup> ]
+
+### Modern OLED Support
+
+* Non-intrusive OLED layer indicator.
+* Non-intrusive OLED modifier indicators ⌘ ⇧ ⌥ ⌃.
+* Fully animated Luna on left side.
+
+### Full per-key RGB Matrix support
+
+With the index of every key mapped in the table below to be used with `rgb_matrix_set_color(index, r, g, b)`;.
+
+#### Indexes of the keys
+
+|||||||||||||||
+|:--:|:--:|:--:|:--:|:--:|:--:|--|--|:--:|:--:|:--:|:--:|:--:|:--:|
+| 24 | 23 | 18 | 17 | 10 | 9 ||| 36 | 37 | 44 | 45 | 50 | 51 |
+| 25 | 22 | 19 | 16 | 11 | 8 ||| 35 | 38 | 43 | 46 | 49 | 52 |
+| 26 | 21 | 20 | 15 | 12 | 7 ||| 34 | 39 | 42 | 47 | 48 | 53 |
+||||| 14 | 13 | 6 | 33 | 40 | 41 |||||
+
+Each layer uses the LED `14` as an visual indicator:
+
+* âš«ï¸ Default layer
+* 🔵 Lower (0)
+* 🟠 Raise (1)
+* 🟢 Numpad (2)
+* âšªï¸ Control and Command
+* 🟡 Shift
+
+## Mod-taps
+
+For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap:
+| Key | Description |
+| :-- | --: |
+| LCTL_T(kc) | Left Control when held, kc when tapped. |
+| LSFT_T(kc) | Left Shift when held, kc when tapped. |
+| LALT_T(kc) | Left Alt when held, kc when tapped. |
+| ALT(kc) | Left Alt + kc when tapped. |
+| LGUI_T(kc) | Left GUI when held, kc when tapped. |
+| RSFT_T(kc) | Right Shift when held, kc when tapped. |
+| RGUI_T(kc) | Right GUI when held, kc when tapped. |
+
+## Macros
+
+|Layer | Name | Description | Keys |
+| :--: | --: | -- | --: |
+| 🟠 | CEDILLA | Directly outputs ç | ' + c |
+| 🟠 | AO | Directly outputs ã | shift + ` + a |
+| 🟠 | ASPAS | Outputs ", since diaeresis[^1] are less used than " (for coding and quoting) | shift + ' + space |
+
+## Layers
+
+### QWERTY
+
+|||||||||||||||
+|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:|
+| LCTL_T(F3[^2]) | Q | W | E | R | T ||| Y | U | I | O | P | GRAVE |
+| LALT_T(TAB) | A | S | D | F | G ||| H | J | K | L | ; | ↵ |
+| LSFT_T(&larr;) | Z | X | C | V | B ||| N | M | , | . | / | RGUI_T(&rarr;) |
+||||| LGUI_T(&darr;) | MO(1) | SPACE | ⌫ | MO(2)| RSFT_T( &uarr;) |||||
+
+
+### LOWER 🔵
+
+|||||||||||||||
+|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:|
+|CTL_T(F5[^3]) | 1 | 2 | 3 | 4 | 5 ||| 6 | 7 | 8 | 9 | 0 | ESCAPE |
+|LCTL(LGUI(KC_SPC))[^4] | &larr; | &darr; | &uarr; | &rarr; | ↵ ||| [ | ] | \ | ' | : | ↵ |
+|ALT(&larr;) | F1[^5] | F2[^6] | C | V | ⌫ ||| - | = | < | > | ? | LALT(&rarr;) |
+||||| LGUI_T(PAGE_DOWN) | _ | SPACE | LALT(⌫) | TG(3) | RSFT_T(PAGE_UP) |||||
+
+### RAISE 🟠
+
+|||||||||||||||
+|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:|
+LCTL_T(F4[^7]) | ! | @ | # | $ | % ||| ˆ | & | * | ( | ) | ˜ |
+LALT_T(TAB) | Ã[^8] | | | | ||| { | } | &#124; | "[^9] | : | ↵ |
+LALT(&larr;) | | | Ç[^10] | | ||| _ | + | < | > | ? | LALT(&rarr;) |
+||||| LGUI_T(END) | TG(3) | SPACE| DEL| _ | RSFT_T(HOME) |||||
+
+### NUMPAD 🟢
+
+|||||||||||||||
+|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:|
+| RGB_TOG || | | |||| | 7 | 8 | 9 | * | / |
+|| RGB_HUI | RGB_SAI | RGB_VAI | RGB_SPI |||| | 4 | 5 | 6 | - | ↵ |
+|| RGB_HUD | RGB_SAD | RGB_VAD | RGB_SPD |||| . | 1 | 2 | 3 | + | |
+||||| TG(3)| TG(3) | TG(3) | ⌫ | TG(3) | 0 |||||
+
+## Usage
+
+To compile and flash, from `qmk setup` folder, run:
+
+ make crkbd:bermeo:flash
+
+## Compiled size
+
+ 28658/28672 (99%, 14 bytes free)
+
+If more space is needed, start by deactivating Macros and Luna's animations.
+
+## Credits
+
+Guilherme Bermêo [(github)](https://git.bermeo.dev)
+
+### Thanks
+
+* @armand1m
+* @brneor
+* @drashna
+* @hellsingcoder
+* @soundmonster
+* @wdtamagi
+
+[^1]: The diaeresis (/daɪˈɛrÉ™sɪs, -ˈɪər-/ dy-ERR-É™-sis, -â EER-; also known as the trema) and the umlaut (/ˈʊmlaÊŠt/) are two different diacritical marks that (in modern usage) look alike. They both consist of two dots ¨ placed over a letter, usually a vowel; when that letter is an i or a j, the diacritic replaces the tittle: ï. In computer systems, both forms have the same code point (binary code). Their appearance in print or on screen may vary between typefaces but rarely within the same typeface. The "diaeresis" diacritic is used to mark the separation of two distinct vowels in adjacent syllables when an instance of diaeresis (or hiatus) occurs, so as to distinguish from a digraph or diphthong.
+The "umlaut" diacritic, in contrast, indicates a sound shift phenomenon – also known as umlaut – in which a back vowel becomes a front vowel.
+Neither of these phenomena occur in English, except in loanwords (like naïve) or for stylistic reasons (as in the Brontë family or Mötley Crüe).
+
+[^2]: Open Mission Control.
+
+[^3]: Bring up the screenshot toolbar.
+
+[^4]: Opens emoji dialog box.
+
+[^5]: Decrease display brightness.
+
+[^6]: Increase display brightness.
+
+[^7]: Launchpad.
+
+[^8]: Macro "CEDILLA".
+
+[^9]: Macro "AO".
+
+[^10]: Macro "ASPAS".
diff --git a/keyboards/crkbd/keymaps/bermeo/rules.mk b/keyboards/crkbd/keymaps/bermeo/rules.mk
new file mode 100644
index 0000000000..e666f1f0cb
--- /dev/null
+++ b/keyboards/crkbd/keymaps/bermeo/rules.mk
@@ -0,0 +1,19 @@
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = no
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+LTO_ENABLE = yes
+SLEEP_LED_ENABLE = yes
+WPM_ENABLE = yes
+
+
+#Dont use
+CONSOLE_ENABLE = no
+MOUSEKEY_ENABLE = no
+BOOTMAGIC_ENABLE = no
+COMBO_ENABLE = no
+AUDIO_ENABLE = no
+MIDI_ENABLE = no
+BLUETOOTH_ENABLE = no \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/blipson/keymap.c b/keyboards/crkbd/keymaps/blipson/keymap.c
index ad7664c295..218933940c 100644
--- a/keyboards/crkbd/keymaps/blipson/keymap.c
+++ b/keyboards/crkbd/keymaps/blipson/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[3] = LAYOUT_split_3x6_3(
//,-------------------------------------------------------------------------------. ,------------------------------------------------------------------.
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
//|----------+------------+--------------+---------------+-----------+------------| |------------+------------+------------+--------+--------+---------|
KC_LCTL, A(KC_F12), A(G(KC_LEFT)), A(G(KC_RIGHT)), S(KC_F6), C(S(KC_D)), C(S(KC_R)), G(KC_LBRC), G(KC_RBRC), KC_F11, KC_F12, KC_MPLY,
//|----------+------------+--------------+---------------+-----------+------------| |------------+------------+------------+--------+--------+---------|
diff --git a/keyboards/crkbd/keymaps/crkdves/config.h b/keyboards/crkbd/keymaps/crkdves/config.h
new file mode 100644
index 0000000000..4e5df394ac
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkdves/config.h
@@ -0,0 +1,105 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 200
+// #define RETRO_TAPPING
+// #define IGNORE_MOD_TAP_INTERRUPT
+
+#ifdef RGBLIGHT_ENABLE
+ #define RGBLIGHT_SLEEP
+ #define RGBLIGHT_SPLIT
+ #define RGBLIGHT_LIMIT_VAL 120
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+#endif
+
+
+#ifdef OLED_ENABLE
+# define SPLIT_LAYER_STATE_ENABLE
+# define SPLIT_LED_STATE_ENABLE
+# define SPLIT_MODS_ENABLE
+# define SPLIT_OLED_ENABLE
+# define OLED_FONT_H "keyboards/crkbd/keymaps/crkdves/glcdfont.c"
+# define OLED_TIMEOUT 30000
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+# 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 // 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_HUE_STEP 8
+# define RGB_MATRIX_SAT_STEP 8
+# define RGB_MATRIX_VAL_STEP 8
+# define RGB_MATRIX_SPD_STEP 10
+
+/* Disable the animations you don't want/need. You will need to disable a good number of these *
+ * because they take up a lot of space. Disable until you can successfully compile your firmware. */
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# undef ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# undef ENABLE_RGB_MATRIX_RAINDROPS
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# undef ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/crkbd/keymaps/crkdves/glcdfont.c b/keyboards/crkbd/keymaps/crkdves/glcdfont.c
new file mode 100644
index 0000000000..0086a73fe9
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkdves/glcdfont.c
@@ -0,0 +1,236 @@
+#include "progmem.h"
+
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+// See also: https://github.com/soundmonster/glcdfont_converter
+
+/* Copyright 2022 Yeimi Alberth (@yeimialberth)
+* This program is free software: you can redistribute it and/or modify it in the hope that it will be useful.
+*/
+
+const unsigned char font[] PROGMEM = {
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8,
+0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC,
+0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00,
+0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2,
+0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
+0x22, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x22, 0x22, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0x04, 0x02, 0x02, 0x82,
+0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x02, 0x82, 0x42, 0x22, 0x12, 0x22,
+0x42, 0x82, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E,
+0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
+0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E,
+0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
+0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
+0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
+0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
+0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
+0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0,
+0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47,
+0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
+0x44, 0x44, 0x40, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x20, 0x40, 0x41, 0x40,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
+0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
+0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78,
+0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
+0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
+0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
+0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
+0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
+0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
+0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
+0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
+0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
+0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
+0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
+0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
+0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
+0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F,
+0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F,
+0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F,
+0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C,
+0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE,
+0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00,
+0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77,
+0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
+0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
+0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
+0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
+0x03, 0x02, 0x01, 0x01, 0x00, 0x00
+};
diff --git a/keyboards/crkbd/keymaps/crkdves/keymap.c b/keyboards/crkbd/keymaps/crkdves/keymap.c
new file mode 100644
index 0000000000..333e47e952
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkdves/keymap.c
@@ -0,0 +1,415 @@
+/*
+Copyright 2019 @foostan
+Copyright 2020 Drashna Jaelre <@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
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "version.h"
+#include "keymap_spanish.h"
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layers {
+ _DVORAK,
+ _NAVIGATE,
+ _SYMBOLS,
+ _NUMPAD,
+ _ADJUST
+};
+
+// Custom keycodes for layer keys
+// Dual function escape with left command
+#define KC_LGESC LGUI_T(KC_ESC)
+
+enum custom_keycodes {
+ DVORAK = SAFE_RANGE,
+// LOWER,
+// RAISE,
+// ADJUST,
+ RGBRST
+// KC_RACL // right alt / colon
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ LT(3,KC_TAB), ./: , ,/; , Ñ, P, Y, F, G, C, H, L , BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LCTL_T(KC_ESC), A, O, E, U, I, D, R, T, N, S, ´ ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LSFT_T(<), -, Q, J, K, X, B, M, W, V, Z, RSFT_T('),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, MO(1), KC_SPC, KC_SPC, MO(2), RALT(SUPR)
+ //`--------------------------' `--------------------------'
+
+ */
+ [_DVORAK] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+LT(_NUMPAD,KC_TAB), ES_DOT, ES_COMM, ES_NTIL, ES_P, ES_Y, ES_F, ES_G, ES_C, ES_H, ES_L, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LCTL_T(KC_ESC), ES_A, ES_O, ES_E, ES_U, ES_I, ES_D, ES_R, ES_T, ES_N, ES_S, ES_ACUT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+LSFT_T(ES_LABK), ES_MINS, ES_Q, ES_J, ES_K, ES_X, ES_B, ES_M, ES_W, ES_V, ES_Z, RSFT_T(ES_QUOT),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LT(_NAVIGATE,KC_CAPS), KC_SPC, KC_SPC, LT(_SYMBOLS,KC_ENT), RALT_T(KC_DEL)
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, z , v , c , KC_LCTL, , , , ↑ , , , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, x , KC_LSFT, KC_LALT, KC_LGUI, , , ↠, ↓ , → , , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_DEL
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_NAVIGATE] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, ES_Z, ES_V, ES_C, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, ES_X, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, MO(_ADJUST), KC_DEL
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ , ¡ , ! , ( , ) , , , = , * , ` , ^ , KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , < , > , { , } , , " , / , + , @ , # , º ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , ¿ , ? , [ , ] , , , $ , & , | , % , \ ,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, , KC_RALT
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_SYMBOLS] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ XXXXXXX, ES_IEXL, ES_EXLM, ES_LPRN, ES_RPRN, XXXXXXX, XXXXXXX, ES_EQL, ES_ASTR, ES_GRV, ES_CIRC, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, ES_LABK, ES_RABK, ES_LCBR, ES_RCBR, XXXXXXX, ES_DQUO, ES_SLSH, ES_PLUS, ES_AT, ES_HASH, ES_MORD,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, ES_IQUE, ES_QUES, ES_LBRC, ES_RBRC, XXXXXXX, XXXXXXX, ES_DLR, ES_AMPR, ES_PIPE, ES_PERC, ES_BSLS,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, MO(_ADJUST), KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ , , , , , , + , 7 , 8 , 9 , - , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , , , , , , * , 4 , 5 , 6 , / , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , , , , , , . , 1 , 2 , 3 , 0 , ,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_RALT
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_NUMPAD] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_MINS, ES_7, ES_8, ES_9, ES_SLSH, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, XXXXXXX, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, ES_PLUS, ES_4, ES_5, ES_6, ES_ASTR, ES_COMM,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_DOT, ES_1, ES_2, ES_3, ES_0, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
+
+ [_ADJUST] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ QK_BOOT, RGBRST,RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ )
+};
+
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
+
+void render_space(void) {
+ oled_write_P(PSTR(" "), false);
+}
+
+void render_mod_status_gui_alt(uint8_t modifiers) {
+ static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0};
+ static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0};
+ static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0};
+ static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0};
+
+ static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0};
+ static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0};
+ static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0};
+ static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_1, false);
+ } else {
+ oled_write_P(gui_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_1, false);
+ } else {
+ oled_write_P(alt_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_2, false);
+ } else {
+ oled_write_P(gui_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_2, false);
+ } else {
+ oled_write_P(alt_off_2, false);
+ }
+}
+
+void render_mod_status_ctrl_shift(uint8_t modifiers) {
+ static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0};
+ static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0};
+ static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0};
+ static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0};
+
+ static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0};
+ static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0};
+ static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0};
+ static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_1, false);
+ } else {
+ oled_write_P(ctrl_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_1, false);
+ } else {
+ oled_write_P(shift_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_2, false);
+ } else {
+ oled_write_P(ctrl_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_2, false);
+ } else {
+ oled_write_P(shift_off_2, false);
+ }
+}
+
+void render_logo(void) {
+ static const char PROGMEM corne_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0};
+ oled_write_P(corne_logo, false);
+ oled_write_P(PSTR("corne"), false);
+}
+
+void render_layer_state(void) {
+ static const char PROGMEM raise_layer[] = {
+ 0x20, 0x97, 0x98, 0x99, 0x20,
+ 0x20, 0xb7, 0xb8, 0xb9, 0x20,
+ 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0};
+ static const char PROGMEM navigate_layer[] = {
+ 0x20, 0x94, 0x95, 0x96, 0x20,
+ 0x20, 0xb4, 0xb5, 0xb6, 0x20,
+ 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0};
+ static const char PROGMEM lower_layer[] = {
+ 0x20, 0x9a, 0x9b, 0x9c, 0x20,
+ 0x20, 0xba, 0xbb, 0xbc, 0x20,
+ 0x20, 0xda, 0xdb, 0xdc, 0x20, 0};
+ static const char PROGMEM numpad_layer[] = {
+ 0x20, 0x9b, 0x9c, 0x94, 0x20,
+ 0x20, 0xbb, 0xbc, 0xb4, 0x20,
+ 0x20, 0xdb, 0xdc, 0xd4, 0x20, 0};
+ static const char PROGMEM adjust_layer[] = {
+ 0x20, 0x9d, 0x9e, 0x9f, 0x20,
+ 0x20, 0xbd, 0xbe, 0xbf, 0x20,
+ 0x20, 0xdd, 0xde, 0xdf, 0x20, 0};
+ if(layer_state_is(_ADJUST)) {
+ oled_write_P(adjust_layer, false);
+ } else if(layer_state_is(_NAVIGATE)) {
+ oled_write_P(navigate_layer, false);
+ } else if(layer_state_is(_SYMBOLS)) {
+ oled_write_P(lower_layer, false);
+ } else if(layer_state_is(_NUMPAD)) {
+ oled_write_P(numpad_layer, false);
+ } else {
+ oled_write_P(raise_layer, false);
+ }
+}
+
+bool oled_task_user(void) {
+ // Renders the current keyboard state (layers and mods)
+ render_logo();
+ render_space();
+ render_layer_state();
+ render_space();
+ render_mod_status_gui_alt(get_mods()|get_oneshot_mods());
+ render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods());
+ return false;
+}
+
+#endif
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+// static uint16_t my_colon_timer;
+
+ switch (keycode) {
+ /* case LOWER:
+ if (record->event.pressed) {
+ layer_on(_NAVIGATE);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ } else {
+ layer_off(_NAVIGATE);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ }
+ return false;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_SYMBOLS);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ } else {
+ layer_off(_SYMBOLS);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ }
+ return false;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ case KC_RACL:
+ if (record->event.pressed) {
+ my_colon_timer = timer_read();
+ register_code(KC_RALT);
+ } else {
+ unregister_code(KC_RALT);
+ if (timer_elapsed(my_colon_timer) < TAPPING_TERM) {
+ SEND_STRING(":"); // Change the character(s) to be sent on tap here
+ }
+ }
+ return false; */
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ }
+ #endif
+ #ifdef RGB_MATRIX_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgb_matrix_default();
+ rgb_matrix_enable();
+ }
+ #endif
+ break;
+ }
+ return true;
+}
+
+#endif
diff --git a/keyboards/crkbd/keymaps/crkdves/rules.mk b/keyboards/crkbd/keymaps/crkdves/rules.mk
new file mode 100644
index 0000000000..d3a964424f
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkdves/rules.mk
@@ -0,0 +1,8 @@
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+LTO_ENABLE = yes
+
diff --git a/keyboards/crkbd/keymaps/crkqwes/config.h b/keyboards/crkbd/keymaps/crkqwes/config.h
new file mode 100644
index 0000000000..1ff720909c
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkqwes/config.h
@@ -0,0 +1,116 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+// #define SSD1306OLED
+#undef USE_I2C
+#undef SSD1306OLED
+
+#define USE_SERIAL_PD2
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 200
+// #define RETRO_TAPPING
+// #define IGNORE_MOD_TAP_INTERRUPT
+
+#ifdef RGBLIGHT_ENABLE
+ #undef RGBLED_NUM
+ #define RGBLED_NUM 27
+ #define RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_SLEEP
+ #define RGBLIGHT_SPLIT
+ #define RGBLIGHT_LIMIT_VAL 120
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+#endif
+
+
+#ifdef OLED_ENABLE
+# define SPLIT_LAYER_STATE_ENABLE
+# define SPLIT_LED_STATE_ENABLE
+# define SPLIT_MODS_ENABLE
+# define SPLIT_OLED_ENABLE
+# define OLED_FONT_H "keyboards/crkbd/keymaps/crkqwes/glcdfont.c"
+# define OLED_TIMEOUT 30000
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+# 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 // 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_HUE_STEP 8
+# define RGB_MATRIX_SAT_STEP 8
+# define RGB_MATRIX_VAL_STEP 8
+# define RGB_MATRIX_SPD_STEP 10
+
+/* Disable the animations you don't want/need. You will need to disable a good number of these *
+ * because they take up a lot of space. Disable until you can successfully compile your firmware. */
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# undef ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# undef ENABLE_RGB_MATRIX_RAINDROPS
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# undef ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/crkbd/keymaps/crkqwes/glcdfont.c b/keyboards/crkbd/keymaps/crkqwes/glcdfont.c
new file mode 100644
index 0000000000..0086a73fe9
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkqwes/glcdfont.c
@@ -0,0 +1,236 @@
+#include "progmem.h"
+
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+// See also: https://github.com/soundmonster/glcdfont_converter
+
+/* Copyright 2022 Yeimi Alberth (@yeimialberth)
+* This program is free software: you can redistribute it and/or modify it in the hope that it will be useful.
+*/
+
+const unsigned char font[] PROGMEM = {
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8,
+0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC,
+0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00,
+0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2,
+0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
+0x22, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x22, 0x22, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0x04, 0x02, 0x02, 0x82,
+0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
+0x02, 0x82, 0x42, 0x22, 0x12, 0x22,
+0x42, 0x82, 0x02, 0x04, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E,
+0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
+0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00,
+0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E,
+0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
+0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
+0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
+0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
+0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
+0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
+0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0,
+0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47,
+0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
+0x44, 0x44, 0x40, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x20, 0x40, 0x41, 0x40,
+0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
+0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
+0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78,
+0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
+0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00,
+0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F,
+0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
+0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
+0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
+0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
+0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
+0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
+0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
+0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
+0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
+0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
+0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
+0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
+0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F,
+0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F,
+0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F,
+0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C,
+0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE,
+0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00,
+0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77,
+0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
+0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
+0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
+0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
+0x03, 0x02, 0x01, 0x01, 0x00, 0x00
+};
diff --git a/keyboards/crkbd/keymaps/crkqwes/keymap.c b/keyboards/crkbd/keymaps/crkqwes/keymap.c
new file mode 100644
index 0000000000..817935d0b3
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkqwes/keymap.c
@@ -0,0 +1,415 @@
+/*
+Copyright 2019 @foostan
+Copyright 2020 Drashna Jaelre <@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
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "version.h"
+#include "keymap_spanish.h"
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layers {
+ _QWERTY,
+ _NAVIGATE,
+ _SYMBOLS,
+ _NUMPAD,
+ _ADJUST
+};
+
+// Custom keycodes for layer keys
+// Dual function escape with left command
+#define KC_LGESC LGUI_T(KC_ESC)
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+// LOWER,
+// RAISE,
+// ADJUST,
+ RGBRST
+// KC_RACL // right alt / colon
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ LT(3,KC_TAB), Q, W, E, R, T, Y, U, I, O, P, BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LCTL_T(KC_ESC), A, S, D, F, G, H, J, K, L, Ñ, ´ ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LSFT_T(<), Z, X, C, V, B, N, M, ,/; , ./: , -/_ , RSFT_T('),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, MO(1), KC_SPC, KC_SPC, MO(2), RALT(SUPR)
+ //`--------------------------' `--------------------------'
+
+ */
+ [_QWERTY] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+LT(_NUMPAD,KC_TAB), ES_Q, ES_W, ES_E, ES_R, ES_T, ES_Y, ES_U, ES_I, ES_O, ES_P, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ LCTL_T(KC_ESC), ES_A, ES_S, ES_D, ES_F, ES_G, ES_H, ES_J, ES_K, ES_L, ES_NTIL, ES_ACUT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+LSFT_T(ES_LABK), ES_Z, ES_X, ES_C, ES_V, ES_B, ES_N, ES_M, ES_COMM, ES_DOT, ES_MINS, RSFT_T(ES_QUOT),
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, LT(_NAVIGATE,KC_CAPS), KC_SPC, KC_SPC, LT(_SYMBOLS,KC_ENT), RALT_T(KC_DEL)
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, z , v , c , KC_LCTL, , , , ↑ , , , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, x , KC_LSFT, KC_LALT, KC_LGUI, , , ↠, ↓ , → , , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_DEL
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_NAVIGATE] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, ES_X, ES_V, ES_C, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, ES_Z, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, MO(_ADJUST), KC_DEL
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ , ¡ , ! , ( , ) , , , = , * , ` , ^ , KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , < , > , { , } , , " , / , + , @ , # , º ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , ¿ , ? , [ , ] , , , $ , & , | , % , \ ,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, , KC_RALT
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_SYMBOLS] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ XXXXXXX, ES_IEXL, ES_EXLM, ES_LPRN, ES_RPRN, XXXXXXX, XXXXXXX, ES_EQL, ES_ASTR, ES_GRV, ES_CIRC, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, ES_LABK, ES_RABK, ES_LCBR, ES_RCBR, XXXXXXX, ES_DQUO, ES_SLSH, ES_PLUS, ES_AT, ES_HASH, ES_MORD,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, ES_IQUE, ES_QUES, ES_LBRC, ES_RBRC, XXXXXXX, XXXXXXX, ES_DLR, ES_AMPR, ES_PIPE, ES_PERC, ES_BSLS,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, MO(_ADJUST), KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
+
+ /*
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ , , , , , , + , 7 , 8 , 9 , - , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , , , , , , * , 4 , 5 , 6 , / , ,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ , , , , , , . , 1 , 2 , 3 , 0 , ,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_RALT
+ //`--------------------------' `--------------------------'
+
+ */
+
+ [_NUMPAD] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_MINS, ES_7, ES_8, ES_9, ES_SLSH, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_ESC, XXXXXXX, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, ES_PLUS, ES_4, ES_5, ES_6, ES_ASTR, ES_COMM,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_DOT, ES_1, ES_2, ES_3, ES_0, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
+
+ [_ADJUST] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ QK_BOOT, RGBRST,RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT
+ //`--------------------------' `--------------------------'
+ )
+};
+
+
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
+
+void render_space(void) {
+ oled_write_P(PSTR(" "), false);
+}
+
+void render_mod_status_gui_alt(uint8_t modifiers) {
+ static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0};
+ static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0};
+ static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0};
+ static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0};
+
+ static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0};
+ static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0};
+ static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0};
+ static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_1, false);
+ } else {
+ oled_write_P(gui_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_1, false);
+ } else {
+ oled_write_P(alt_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_2, false);
+ } else {
+ oled_write_P(gui_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_2, false);
+ } else {
+ oled_write_P(alt_off_2, false);
+ }
+}
+
+void render_mod_status_ctrl_shift(uint8_t modifiers) {
+ static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0};
+ static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0};
+ static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0};
+ static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0};
+
+ static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0};
+ static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0};
+ static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0};
+ static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_1, false);
+ } else {
+ oled_write_P(ctrl_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_1, false);
+ } else {
+ oled_write_P(shift_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_2, false);
+ } else {
+ oled_write_P(ctrl_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_2, false);
+ } else {
+ oled_write_P(shift_off_2, false);
+ }
+}
+
+void render_logo(void) {
+ static const char PROGMEM corne_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0};
+ oled_write_P(corne_logo, false);
+ oled_write_P(PSTR("corne"), false);
+}
+
+void render_layer_state(void) {
+ static const char PROGMEM raise_layer[] = {
+ 0x20, 0x97, 0x98, 0x99, 0x20,
+ 0x20, 0xb7, 0xb8, 0xb9, 0x20,
+ 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0};
+ static const char PROGMEM navigate_layer[] = {
+ 0x20, 0x94, 0x95, 0x96, 0x20,
+ 0x20, 0xb4, 0xb5, 0xb6, 0x20,
+ 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0};
+ static const char PROGMEM lower_layer[] = {
+ 0x20, 0x9a, 0x9b, 0x9c, 0x20,
+ 0x20, 0xba, 0xbb, 0xbc, 0x20,
+ 0x20, 0xda, 0xdb, 0xdc, 0x20, 0};
+ static const char PROGMEM numpad_layer[] = {
+ 0x20, 0x9b, 0x9c, 0x94, 0x20,
+ 0x20, 0xbb, 0xbc, 0xb4, 0x20,
+ 0x20, 0xdb, 0xdc, 0xd4, 0x20, 0};
+ static const char PROGMEM adjust_layer[] = {
+ 0x20, 0x9d, 0x9e, 0x9f, 0x20,
+ 0x20, 0xbd, 0xbe, 0xbf, 0x20,
+ 0x20, 0xdd, 0xde, 0xdf, 0x20, 0};
+ if(layer_state_is(_ADJUST)) {
+ oled_write_P(adjust_layer, false);
+ } else if(layer_state_is(_NAVIGATE)) {
+ oled_write_P(navigate_layer, false);
+ } else if(layer_state_is(_SYMBOLS)) {
+ oled_write_P(lower_layer, false);
+ } else if(layer_state_is(_NUMPAD)) {
+ oled_write_P(numpad_layer, false);
+ } else {
+ oled_write_P(raise_layer, false);
+ }
+}
+
+bool oled_task_user(void) {
+ // Renders the current keyboard state (layers and mods)
+ render_logo();
+ render_space();
+ render_layer_state();
+ render_space();
+ render_mod_status_gui_alt(get_mods()|get_oneshot_mods());
+ render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods());
+ return false;
+}
+
+#endif
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+// static uint16_t my_colon_timer;
+
+ switch (keycode) {
+ /* case LOWER:
+ if (record->event.pressed) {
+ layer_on(_NAVIGATE);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ } else {
+ layer_off(_NAVIGATE);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ }
+ return false;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_SYMBOLS);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ } else {
+ layer_off(_SYMBOLS);
+ update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST);
+ }
+ return false;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ case KC_RACL:
+ if (record->event.pressed) {
+ my_colon_timer = timer_read();
+ register_code(KC_RALT);
+ } else {
+ unregister_code(KC_RALT);
+ if (timer_elapsed(my_colon_timer) < TAPPING_TERM) {
+ SEND_STRING(":"); // Change the character(s) to be sent on tap here
+ }
+ }
+ return false; */
+ case RGBRST:
+ #ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ }
+ #endif
+ #ifdef RGB_MATRIX_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgb_matrix_default();
+ rgb_matrix_enable();
+ }
+ #endif
+ break;
+ }
+ return true;
+}
+
diff --git a/keyboards/crkbd/keymaps/crkqwes/rules.mk b/keyboards/crkbd/keymaps/crkqwes/rules.mk
new file mode 100644
index 0000000000..d3a964424f
--- /dev/null
+++ b/keyboards/crkbd/keymaps/crkqwes/rules.mk
@@ -0,0 +1,8 @@
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+LTO_ENABLE = yes
+
diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h
index bf96f265f4..df5e0611e1 100644
--- a/keyboards/crkbd/keymaps/davidrambo/config.h
+++ b/keyboards/crkbd/keymaps/davidrambo/config.h
@@ -30,8 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
-//#define SSD1306OLED
-
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c
index 6e97795220..b707192608 100644
--- a/keyboards/crkbd/keymaps/davidrambo/keymap.c
+++ b/keyboards/crkbd/keymaps/davidrambo/keymap.c
@@ -16,9 +16,6 @@
#include QMK_KEYBOARD_H
-//extern uint8_t is_master;
-
-
enum custom_layers {
_COLEMAK,
_SYMBOL,
@@ -86,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT , KC_DOWN, KC_RGHT, CTLPGDN, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RESET, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______,
+ QK_BOOT, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/crkbd/keymaps/devdev/keymap.c b/keyboards/crkbd/keymaps/devdev/keymap.c
index a506295749..cbaa7c16e9 100644
--- a/keyboards/crkbd/keymaps/devdev/keymap.c
+++ b/keyboards/crkbd/keymaps/devdev/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// commands - both thumbs
[_COMMAND] = LAYOUT(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, DF(1), DF(0), C(G(KC_LEFT)), KC_NO, KC_NO, C(G(KC_RGHT)), KC_NO, KC_NO,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// layer switcher
[_SWITCH] = LAYOUT(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, RESET,
+ TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, QK_BOOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EEP_RST,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -263,9 +263,6 @@ bool led_update_user(led_t led_state) {
}
*/
-
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (!is_keyboard_master()) {
@@ -319,27 +316,15 @@ void oled_render_layer_state(void) {
oled_write_ln_P(PSTR("Layer: Layer Switch"),false);
break;
default:
+#if defined (LAYER_STATE_32BIT)
snprintf(string, sizeof(string), "%ld",layer_state);
+#else
+ snprintf(string, sizeof(string), "%d",layer_state);
+#endif
oled_write_P(PSTR("Layer: Undef-"),false);
oled_write_ln(string, false);
}
- }
-
-/*
-void matrix_render_user(struct CharacterMatrix *matrix) {
- if (has_usb()) {
- // If you want to change the display of OLED, you need to change here
- matrix_write_ln(matrix, read_layer_state());
- matrix_write_ln(matrix, read_keylog());
- //matrix_write_ln(matrix, read_keylogs());
- //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
- //matrix_write_ln(matrix, read_host_led_state());
- //matrix_write_ln(matrix, read_timelog());
- } else {
- matrix_write(matrix, read_logo());
- }
}
-*/
char keylog_str[24] = {};
const char code_to_name[60] = {
@@ -393,7 +378,7 @@ void oled_render_logo(void) {
}
bool oled_task_user(void) {
- if (is_master) {
+ if (is_keyboard_master()) {
oled_render_layer_state();
oled_render_keylog();
} else {
diff --git a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
index 6ef428a11f..ab84e5c580 100644
--- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
@@ -84,7 +84,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
const char *read_logo(void);
bool oled_task_user(void){
- switch (biton32(layer_state)){
+ switch (get_highest_layer(layer_state)){
case _DVORAK:
oled_write_ln_P(PSTR("DVRK"), false);
break;
diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
index 5e56da61a9..f3b801da68 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
@@ -54,9 +54,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case L_EDVORAKJP_LOWER:
rgblight_sethsv_noeeprom_red();
break;
diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c
index e5ff029565..cd75f8e277 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/oled.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/oled.c
@@ -9,7 +9,7 @@ void render_layer_state(void) {
char layer_name[17];
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case L_EDVORAKJP_BASE:
oled_write_ln_P(PSTR("Default"), false);
break;
diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h
index 45fe8c37a8..2a35f60dad 100644
--- a/keyboards/crkbd/keymaps/gotham/config.h
+++ b/keyboards/crkbd/keymaps/gotham/config.h
@@ -3,9 +3,6 @@
#define EE_HANDS
#define SPLIT_USB_DETECT
-#undef USE_I2C
-#undef SSD1306OLED
-
#define USE_SERIAL_PD2
#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/gotham/keymap.c b/keyboards/crkbd/keymaps/gotham/keymap.c
index a258794049..4c05e54999 100644
--- a/keyboards/crkbd/keymaps/gotham/keymap.c
+++ b/keyboards/crkbd/keymaps/gotham/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-----------------------------------------------------| |-----------------------------------------------------|
XXXXXXX, CK_RST, CK_DOWN, CK_UP, CK_TOGG, RGB_TOG, MU_TOG, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX,\
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, MU_MOD, KC_F11, KC_F4, KC_F5, KC_F6, RESET, \
+ XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, MU_MOD, KC_F11, KC_F4, KC_F5, KC_F6, QK_BOOT, \
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGBRST, AU_TOG, KC_F10, KC_F1, KC_F2, KC_F3, _______,\
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c
index 6bf1233659..c4ac5e736c 100644
--- a/keyboards/crkbd/keymaps/gotham/oled.c
+++ b/keyboards/crkbd/keymaps/gotham/oled.c
@@ -1,7 +1,5 @@
#pragma once
-extern uint8_t is_master;
-
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
# include "rgb.c"
#endif
diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h
index f32ec8cfbe..106e7535e3 100644
--- a/keyboards/crkbd/keymaps/hvp/config.h
+++ b/keyboards/crkbd/keymaps/hvp/config.h
@@ -28,10 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
-
#define USE_SERIAL_PD2
//#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c
index 9e72504653..bdc8746199 100644
--- a/keyboards/crkbd/keymaps/hvp/keymap.c
+++ b/keyboards/crkbd/keymaps/hvp/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|------+------+------+------+------+------| |------+------+------+------+------+------|
KC_F1,_______,_______,D_NAVI,_______,_______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
//|------+------+------+------+------+------| |------+------+------+------+------+------|
- RESET,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
+ QK_BOOT,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______
//`--------------------' `--------------------'
@@ -91,14 +91,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(); // turns on the display
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// When add source files to SRC in rules.mk, you can use functions.
const char *read_layer_state(void);
@@ -112,42 +107,26 @@ const char *read_keylogs(void);
// void set_timelog(void);
// const char *read_timelog(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
if (is_keyboard_master()) {
// If you want to change the display of OLED, you need to change here
- matrix_write(matrix, read_layer_state());
- matrix_write(matrix, read_keylog());
- //matrix_write_ln(matrix, read_keylogs());
- //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
- //matrix_write_ln(matrix, read_host_led_state());
- //matrix_write_ln(matrix, read_timelog());
+ oled_write(read_layer_state(), false);
+ oled_write(read_keylog(), false);
+ //oled_write_ln(read_keylogs(), false);
+ //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
+ //oled_write_ln(read_host_led_state()), false;
+ //oled_write_ln(read_timelog(), false);
} else {
- matrix_write(matrix, read_logo());
- }
-}
-
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
+ oled_write(read_logo(), false);
}
+ return false;
}
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
set_keylog(keycode, record);
#endif
// set_timelog();
diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk
index 640a07b305..c7ed029e3d 100644
--- a/keyboards/crkbd/keymaps/hvp/rules.mk
+++ b/keyboards/crkbd/keymaps/hvp/rules.mk
@@ -1,10 +1,5 @@
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
-
# If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
@@ -14,4 +9,6 @@ SRC += ./lib/glcdfont.c \
TAP_DANCE_ENABLE = yes
EXTRAKEY_ENABLE = yes # Audio control and System control
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
# LOCAL_GLCDFONT = yes
diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h
index 012356241d..e5c2029a52 100644
--- a/keyboards/crkbd/keymaps/jarred/config.h
+++ b/keyboards/crkbd/keymaps/jarred/config.h
@@ -28,9 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
#define USE_SERIAL_PD2
//#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c
index b938636c2a..b0e181b37f 100644
--- a/keyboards/crkbd/keymaps/jarred/keymap.c
+++ b/keyboards/crkbd/keymaps/jarred/keymap.c
@@ -5,10 +5,6 @@
#include "lufa.h"
#include "split_util.h"
#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
@@ -65,15 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-void matrix_init_user(void) {
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(); // turns on the display
- #endif
-}
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// When add source files to SRC in rules.mk, you can use functions.
const char *read_logo(void);
@@ -84,7 +72,7 @@ const char *read_keylogs(void);
char matrix_line_str[24];
const char *read_layer_state(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
strcpy(matrix_line_str, "Layer: ");
@@ -142,37 +130,18 @@ const char *read_usb_state(void) {
return matrix_line_str;
}
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
if (is_keyboard_master()) {
- matrix_write(matrix, read_layer_state());
- matrix_write(matrix, "\n");
- matrix_write(matrix, read_usb_state());
- matrix_write(matrix, "\n");
- matrix_write(matrix, read_keylogs());
- matrix_write(matrix, "\n");
+ oled_write_ln(read_layer_state(), false);
+ oled_write_ln(read_usb_state(), false);
+ oled_write_ln(read_keylogs(), false);
} else {
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
diff --git a/keyboards/crkbd/keymaps/jarred/rules.mk b/keyboards/crkbd/keymaps/jarred/rules.mk
index c5a73d5bd6..f18100d7ff 100644
--- a/keyboards/crkbd/keymaps/jarred/rules.mk
+++ b/keyboards/crkbd/keymaps/jarred/rules.mk
@@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
# 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 you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
#./lib/layer_state_reader.c \
# ./lib/mode_icon_reader.c \
# ./lib/host_led_state_reader.c \
# ./lib/timelogger.c \
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/joe_scotto/config.h b/keyboards/crkbd/keymaps/joe_scotto/config.h
new file mode 100644
index 0000000000..e38d4a9183
--- /dev/null
+++ b/keyboards/crkbd/keymaps/joe_scotto/config.h
@@ -0,0 +1,66 @@
+/*
+Copyright 2022 Joe Scotto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+#define MATRIX_ROW_PINS \
+ { D4, C6, D7, E6 }
+
+// wiring of each half
+#define MATRIX_COL_PINS \
+ { F4, F5, F6, F7, B1, B3 }
+// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* 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
+
+/*
+ * 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 USE_SERIAL
+
+#define TAPPING_TERM 50 \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/joe_scotto/keymap.c b/keyboards/crkbd/keymaps/joe_scotto/keymap.c
new file mode 100644
index 0000000000..9e49aa6df7
--- /dev/null
+++ b/keyboards/crkbd/keymaps/joe_scotto/keymap.c
@@ -0,0 +1,46 @@
+/*
+Copyright 2022 Joe Scotto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_split_3x6_3(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ LSFT_T(KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LALT, KC_LGUI, KC_SPC, MO(1), MO(2), KC_LCTL
+ ),
+ [1] = LAYOUT_split_3x6_3(
+ KC_GRV, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD, KC_NO, KC_DEL,
+ KC_ENT, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_BSLS, KC_NO, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_CAPS,
+ LSFT_T(KC_ESC), KC_LBRC, KC_QUOT, KC_DQUO, KC_RBRC, KC_NO, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_RSFT,
+ KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL
+ ),
+ [2] = LAYOUT_split_3x6_3(
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_ENT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CAPS,
+ LSFT_T(KC_ESC), KC_NO, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_RSFT,
+ KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL
+ ),
+ [3] = LAYOUT_split_3x6_3(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LGUI,
+ LSFT_T(KC_ESC), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT,
+ KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL
+ )
+};
+
diff --git a/keyboards/crkbd/keymaps/jpe230/keymap.c b/keyboards/crkbd/keymaps/jpe230/keymap.c
index c5ec473fed..28bb6c1fe1 100644
--- a/keyboards/crkbd/keymaps/jpe230/keymap.c
+++ b/keyboards/crkbd/keymaps/jpe230/keymap.c
@@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[3] = LAYOUT_split_3x6_3(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, RESET,
+ KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, QK_BOOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_VOLU, _______, KC_MNXT, KC_F6, KC_F5, KC_F6, _______, KC_6, KC_5, KC_4, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/julian_turner/config.h b/keyboards/crkbd/keymaps/julian_turner/config.h
new file mode 100644
index 0000000000..cf3e80b23e
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#undef MANUFACTURER
+#define MANUFACTURER Trner
+
+/* Select hand configuration */
+#define MASTER_LEFT
+
+// Configure the global tapping term (default: 200ms)
+#define TAPPING_TERM 500
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
+#define TAPPING_FORCE_HOLD
+
+//#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
diff --git a/keyboards/crkbd/keymaps/julian_turner/keymap.c b/keyboards/crkbd/keymaps/julian_turner/keymap.c
new file mode 100644
index 0000000000..f293f4eb2c
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/keymap.c
@@ -0,0 +1,61 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_german.h"
+#include "layers.h"
+#include "keytabs.h"
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTZ] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, HOME_A, HOME_S, HOME_D, HOME_F, DE_G, DE_H, HOME_J, HOME_K, HOME_L, HOME_OE, DE_ADIA,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LEFT_CTRL, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, KC_COMM, DE_DOT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPACE, KC_ENTER, XXXXXXX
+ //`--------------------------' `--------------------------'
+
+ ),
+ [_SYMBOL] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ XXXXXXX, XXXXXXX, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR, DE_SS,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_AT, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LEFT_CTRL, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_GRV, DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPACE, KC_ENTER, XXXXXXX
+ //`--------------------------' `--------------------------'
+
+ ),
+ [_NUMBER] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ XXXXXXX, XXXXXXX, KC_PAGE_UP, KC_UP, KC_PAGE_DOWN, XXXXXXX, XXXXXXX, DE_7, DE_8, DE_9, DE_ASTR, DE_SLSH,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, DE_4, DE_5, DE_6, DE_PLUS, DE_MINS,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LEFT_CTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_1, DE_2, DE_3, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPACE, KC_ENTER, DE_0
+ //`--------------------------' `--------------------------'
+
+ ),
+};
+// clang-format off
diff --git a/keyboards/crkbd/keymaps/julian_turner/keytabs.h b/keyboards/crkbd/keymaps/julian_turner/keytabs.h
new file mode 100644
index 0000000000..fd81049d83
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/keytabs.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Left-hand home row mods
+#define HOME_A LGUI_T(DE_A)
+#define HOME_S LALT_T(DE_S)
+#define HOME_D LSFT_T(DE_D)
+#define HOME_F LCTL_T(DE_F)
+
+// Right-hand home row mods
+#define HOME_J RCTL_T(DE_J)
+#define HOME_K RSFT_T(DE_K)
+#define HOME_L LALT_T(DE_L)
+#define HOME_OE RGUI_T(DE_ODIA)
diff --git a/keyboards/crkbd/keymaps/julian_turner/layers.h b/keyboards/crkbd/keymaps/julian_turner/layers.h
new file mode 100644
index 0000000000..ff27c18763
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/layers.h
@@ -0,0 +1,19 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+enum layers { _QWERTZ, _SYMBOL, _NUMBER }; \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/julian_turner/oled.c b/keyboards/crkbd/keymaps/julian_turner/oled.c
new file mode 100644
index 0000000000..f6b022d5ec
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/oled.c
@@ -0,0 +1,74 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "layers.h"
+
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ }
+ return rotation;
+}
+
+void oled_render_layer_state(void) {
+ oled_write_P(PSTR("layer: "), false);
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case _QWERTZ:
+ oled_write_ln_P(PSTR("QWERTZ"), false);
+ break;
+ case _SYMBOL:
+ oled_write_ln_P(PSTR("SYMBOL"), false);
+ break;
+ case _NUMBER:
+ oled_write_ln_P(PSTR("NUMBER"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("unknown"), false);
+ break;
+ }
+}
+
+void render_bootmagic_status(bool status) {
+ /* Show Ctrl-Gui Swap options */
+ static const char PROGMEM logo[][2][3] = {
+ {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
+ {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
+ };
+ if (status) {
+ oled_write_ln_P(logo[0][0], false);
+ oled_write_ln_P(logo[0][1], false);
+ } else {
+ oled_write_ln_P(logo[1][0], false);
+ oled_write_ln_P(logo[1][1], false);
+ }
+}
+
+void oled_render_logo(void) {
+ static const char PROGMEM crkbd_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(crkbd_logo, false);
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ oled_render_layer_state();
+ oled_write_P(PSTR("WPM: "), false);
+ oled_write(get_u8_str(get_current_wpm(), ' '), false);
+ } else {
+ oled_render_logo();
+ }
+ return false;
+} \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/julian_turner/oled.h b/keyboards/crkbd/keymaps/julian_turner/oled.h
new file mode 100644
index 0000000000..5fcf62d0aa
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/oled.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 Julian Turner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 OLED_ENABLE
+bool process_record_oled(uint16_t keycode, keyrecord_t *record);
+oled_rotation_t oled_init_user(oled_rotation_t rotation);
+void render_layer_symbol(void);
+void render_layer_name(void);
+void render_mod_state(uint8_t modifiers);
+void render_status(void);
+bool oled_task_user(void);
+#endif \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/julian_turner/readme.md b/keyboards/crkbd/keymaps/julian_turner/readme.md
new file mode 100644
index 0000000000..ab1be58225
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/readme.md
@@ -0,0 +1,5 @@
+# JulianTurner´s CRKBD Layout
+
+## Compile
+
+Compile using `qmk compile -kb crkbd -km julian_turner` for Pro Micro
diff --git a/keyboards/crkbd/keymaps/julian_turner/rules.mk b/keyboards/crkbd/keymaps/julian_turner/rules.mk
new file mode 100644
index 0000000000..e6ddd80076
--- /dev/null
+++ b/keyboards/crkbd/keymaps/julian_turner/rules.mk
@@ -0,0 +1,15 @@
+RGBLIGHT_ENABLE = yes
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+WPM_ENABLE = yes
+
+
+# Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable).
+LTO_ENABLE = yes
+
+
+
+ifeq ($(OLED_ENABLE),yes)
+ SRC += ./oled.c
+endif
diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h
index e44ae520f4..2801436709 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/config.h
+++ b/keyboards/crkbd/keymaps/kidbrazil/config.h
@@ -29,9 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/kidbrazil/keymap.c b/keyboards/crkbd/keymaps/kidbrazil/keymap.c
index 219db22433..6a1e2e0cde 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/keymap.c
+++ b/keyboards/crkbd/keymaps/kidbrazil/keymap.c
@@ -182,13 +182,13 @@ bool oled_task_user(void) {
master_oled_cleared = true;
}
render_logo();
- return;
+ return false;
}
// Drashna style timeout for LED and OLED Roughly 8mins
else if (timer_elapsed32(oled_timer) > 480000) {
oled_off();
rgb_matrix_disable_noeeprom();
- return;
+ return false;
}
else {
oled_on();
diff --git a/keyboards/crkbd/keymaps/kidbrazil/rules.mk b/keyboards/crkbd/keymaps/kidbrazil/rules.mk
index 5566a6130b..d2c2f649e0 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/rules.mk
+++ b/keyboards/crkbd/keymaps/kidbrazil/rules.mk
@@ -11,6 +11,3 @@ OLED_DRIVER = SSD1306
# If you want to change the display of OLED, you need to change here
SRC += logo_reader.c \
layer.c
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h
index bcf4e05005..6cbe5befb8 100644
--- a/keyboards/crkbd/keymaps/madhatter/config.h
+++ b/keyboards/crkbd/keymaps/madhatter/config.h
@@ -28,9 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c
index c228a7b573..59b4cc7a20 100644
--- a/keyboards/crkbd/keymaps/madhatter/keymap.c
+++ b/keyboards/crkbd/keymaps/madhatter/keymap.c
@@ -17,10 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
-#ifdef SSD1306OLED
-# include "ssd1306.h"
-# include <string.h>
-#endif
+#include <string.h>
enum corny_layers {
_QWERTY,
@@ -86,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS
//`--------------------------' `--------------------------'
@@ -108,14 +105,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_get_mode();
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(); // turns on the display
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// When add source files to SRC in rules.mk, you can use functions.
const char *read_layer_state(void);
@@ -129,42 +121,26 @@ const char *read_keylogs(void);
// void set_timelog(void);
// const char *read_timelog(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
if (is_keyboard_master()) {
// If you want to change the display of OLED, you need to change here
- matrix_write(matrix, read_layer_state());
- matrix_write(matrix, read_keylog());
- //matrix_write_ln(matrix, read_keylogs());
- //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
- //matrix_write_ln(matrix, read_host_led_state());
- //matrix_write_ln(matrix, read_timelog());
+ oled_write(read_layer_state(), false);
+ oled_write(read_keylog(), false);
+ //oled_write_ln(read_keylogs(), false);
+ //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
+ //oled_write_ln(read_host_led_state(), false);
+ //oled_write_ln(read_timelog(), false);
} else {
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
set_keylog(keycode, record);
#endif
// set_timelog();
diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk
index 489b16ef1c..89a2791bcd 100644
--- a/keyboards/crkbd/keymaps/madhatter/rules.mk
+++ b/keyboards/crkbd/keymaps/madhatter/rules.mk
@@ -1,13 +1,11 @@
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
# If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
# ./lib/mode_icon_reader.c \
# ./lib/host_led_state_reader.c \
# ./lib/timelogger.c \
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/mb_via/keymap.c b/keyboards/crkbd/keymaps/mb_via/keymap.c
index b7fbc1c290..30a67de5c9 100644
--- a/keyboards/crkbd/keymaps/mb_via/keymap.c
+++ b/keyboards/crkbd/keymaps/mb_via/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[3] = LAYOUT_split_3x6_3(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c
index bea80d2fd6..e29fda6deb 100644
--- a/keyboards/crkbd/keymaps/ninjonas/keymap.c
+++ b/keyboards/crkbd/keymaps/ninjonas/keymap.c
@@ -1,8 +1,6 @@
#include QMK_KEYBOARD_H
#include "ninjonas.h"
-uint8_t is_master;
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_wrapper(
//,----------------------------------------------------. ,----------------------------------------------------.
diff --git a/keyboards/crkbd/keymaps/oled_sample/config.h b/keyboards/crkbd/keymaps/oled_sample/config.h
index 41568c5916..450653e46c 100644
--- a/keyboards/crkbd/keymaps/oled_sample/config.h
+++ b/keyboards/crkbd/keymaps/oled_sample/config.h
@@ -21,10 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
//#define USE_MATRIX_I2C
-#ifdef KEYBOARD_crkbd_rev1_common
-# undef USE_I2C
-# define USE_SERIAL
-#endif
/* Select hand configuration */
diff --git a/keyboards/crkbd/keymaps/oled_sample/keymap.c b/keyboards/crkbd/keymaps/oled_sample/keymap.c
index 9daae9607d..2545f087f2 100644
--- a/keyboards/crkbd/keymaps/oled_sample/keymap.c
+++ b/keyboards/crkbd/keymaps/oled_sample/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_split_3x6_3(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN
diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h
new file mode 100644
index 0000000000..b7653e1c9a
--- /dev/null
+++ b/keyboards/crkbd/keymaps/ollyhayes/config.h
@@ -0,0 +1,96 @@
+/* Copyright 2022 Olly Hayes (@ollyhayes)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 EE_HANDS
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 100
+
+#define NO_ACTION_ONESHOT
+
+#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
+
+#define UNICODE_SELECTED_MODES UC_LNX
+
+#ifdef RGB_MATRIX_ENABLE
+# 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 // 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_HUE_STEP 8
+# define RGB_MATRIX_SAT_STEP 8
+# define RGB_MATRIX_VAL_STEP 8
+# define RGB_MATRIX_SPD_STEP 10
+
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+# define ENABLE_RGB_MATRIX_SOLID_COLOR
+// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
+// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+// # define ENABLE_RGB_MATRIX_BREATHING
+// # define ENABLE_RGB_MATRIX_BAND_SAT
+// # define ENABLE_RGB_MATRIX_BAND_VAL
+// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+// # define ENABLE_RGB_MATRIX_CYCLE_ALL
+// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+// # define ENABLE_RGB_MATRIX_DUAL_BEACON
+// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// # define ENABLE_RGB_MATRIX_RAINDROPS
+// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// # define ENABLE_RGB_MATRIX_HUE_BREATHING
+// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
+// # define ENABLE_RGB_MATRIX_HUE_WAVE
+// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
+// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
+// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 200
+// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+// # define ENABLE_RGB_MATRIX_SPLASH
+// # define ENABLE_RGB_MATRIX_MULTISPLASH
+// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
+// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+#endif
diff --git a/keyboards/crkbd/keymaps/ollyhayes/keymap.c b/keyboards/crkbd/keymaps/ollyhayes/keymap.c
new file mode 100644
index 0000000000..5b9bc6cd4e
--- /dev/null
+++ b/keyboards/crkbd/keymaps/ollyhayes/keymap.c
@@ -0,0 +1,112 @@
+/* Copyright 2022 Olly Hayes (@ollyhayes)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "ollyhayes.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_split_3x6_3(
+// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+
+ NUM_SWITCH , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
+ KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ENT ,
+ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT ,
+ KC_LCTL , MO(PUNC) , MO(ARR) , KC_SPC , MO(PUNC) , KC_RCTL
+// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+
+ ),
+
+ [QWERTY] = LAYOUT_split_3x6_3(
+// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+
+ KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , 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_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS ,
+ KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
+// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+
+ ),
+
+ [GAMES] = LAYOUT_split_3x6_3(
+// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+
+ KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , 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_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS ,
+ KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS ,
+ KC_TRNS , KC_LALT , KC_SPACE , MO(ARR) , KC_TRNS , KC_TRNS
+// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+
+ ),
+
+ [NUM] = LAYOUT_split_3x6_3(
+// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+
+ KC_TRNS , MO(FUNCTIONS) , KC_1 , KC_2 , KC_3 , DF(BASE) , C(KC_GRV) , KC_7 , KC_8 , KC_9 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , MO(MEDIA) , KC_4 , KC_5 , KC_6 , DF(GAMES) , KC_NO , KC_4 , KC_5 , KC_6 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_0 , KC_7 , KC_8 , KC_9 , DF(QWERTY), KC_NO , KC_1 , KC_2 , KC_3 , KC_TRNS , KC_TRNS ,
+ KC_DOT , KC_TRNS , KC_TAB , KC_TRNS , KC_0 , KC_DOT
+// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+
+ ),
+
+ [FUNCTIONS] = LAYOUT_split_3x6_3(
+// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_F8 , KC_F9 , KC_F12 , KC_F12 , KC_F7 , KC_F8 , KC_F9 , KC_TRNS , KC_TRNS ,
+ TG(FUNCTIONS) , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_F11 , KC_F11 , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_F10 , KC_F10 , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
+// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+
+ ),
+
+ [ARR] = LAYOUT_split_3x6_3(
+// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+
+ KC_TRNS , KC_TRNS , KC_HOME , KC_PGUP , KC_PGDN , KC_END , KC_HOME , KC_PGDN , KC_PGUP , KC_END , KC_TRNS , KC_TRNS ,
+ KC_ENT , KC_DEL , KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_DEL , KC_TRNS ,
+ KC_TRNS , KC_INS , C(KC_LEFT), KC_LGUI , KC_LALT , C(KC_RGHT) , C(KC_LEFT), DOWN4 , UP4 , C(KC_RGHT), KC_INS , KC_TRNS ,
+ KC_TRNS , KC_F12 , KC_TRNS , KC_TRNS , KC_F12 , KC_TRNS
+// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+
+ ),
+
+ [PUNC] = LAYOUT_split_3x6_3(
+// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+
+ ALTTAB , S(KC_1) , S(KC_2) , UC(0x20ac), S(KC_4) , S(KC_5) , S(KC_6) , S(KC_7) , S(KC_8) , S(KC_9) , S(KC_0) , KC_TRNS ,
+ KC_TRNS , S(KC_NUBS) , S(KC_GRV) , KC_LBRC , KC_RBRC , S(KC_NUHS) , KC_QUOT , S(KC_LBRC) , S(KC_RBRC) , KC_MINS , S(KC_EQL) , KC_TRNS ,
+ KC_TRNS , KC_NUBS , KC_GRV , KC_LGUI , KC_LALT , KC_NUHS , S(KC_QUOT) , KC_LALT , KC_LGUI , S(KC_MINS) , KC_EQL , KC_TRNS ,
+ KC_TRNS , MO(DUBPUNC) , KC_MPLY , KC_TRNS , MO(DUBPUNC) , KC_TRNS
+// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+
+ ),
+
+ [MEDIA] = LAYOUT_split_3x6_3(
+// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+
+ QK_BOOT , RGB_RMOD , RGB_MOD , RGB_TOG , RGB_HUD , RGB_HUI , RGB_HUD , RGB_HUI , RGB_TOG , RGB_RMOD, RGB_MOD , KC_SLEP ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_VOLD , KC_VOLU , RGB_MODE_PLAIN , RGB_MODE_PLAIN , KC_VOLD , KC_VOLU , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , RGB_VAD , RGB_VAI , RGB_SAD , RGB_SAI , RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
+// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+
+ ),
+
+ [DUBPUNC] = LAYOUT_split_3x6_3(
+// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+
+ KC_TRNS , KC_TRNS , KC_TRNS , UC(0x00a3), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , U_UMLAUT , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , A_UMLAUT , KC_TRNS , UC(0x00df), UC(0x2713) , KC_TRNS , UC(0x00b0), KC_TRNS , KC_TRNS , KC_TRNS , O_UMLAUT , KC_TRNS ,
+ KC_TRNS , KC_TRNS , UC(0x2717), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
+// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+
+ )
+};
+
+/*
+[TEMPLATE] = LAYOUT_split_3x6_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 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
+// +--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
+),
+*/
diff --git a/keyboards/crkbd/keymaps/ollyhayes/oled.c b/keyboards/crkbd/keymaps/ollyhayes/oled.c
new file mode 100644
index 0000000000..33db85fbb7
--- /dev/null
+++ b/keyboards/crkbd/keymaps/ollyhayes/oled.c
@@ -0,0 +1,112 @@
+/* Copyright 2022 Olly Hayes (@ollyhayes)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "ollyhayes.h"
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ }
+ return rotation;
+}
+
+#define L_BASE 0
+#define L_NUM 8
+#define L_FUNCTIONS 16
+#define L_ARR 32
+#define L_PUNC 64
+#define L_DUBPUNC 128
+#define L_MEDIA 256
+
+#define DL_COLEMAK 1
+#define DL_QWERTY 2
+#define DL_GAMES 4
+
+void oled_render_layer_state(void) {
+ oled_write_P(PSTR("Layer: "), false);
+ switch (layer_state) {
+ case L_BASE:
+ switch (default_layer_state) {
+ case DL_QWERTY:
+ oled_write_ln_P(PSTR("Qwerty"), false);
+ break;
+ case DL_GAMES:
+ oled_write_ln_P(PSTR("Games"), false);
+ break;
+ case DL_COLEMAK:
+ default:
+ oled_write_ln_P(PSTR("Colemak"), false);
+ break;
+ }
+ break;
+ case L_NUM:
+ oled_write_ln_P(PSTR("Numbers"), false);
+ break;
+ case L_FUNCTIONS:
+ case L_FUNCTIONS|L_NUM:
+ oled_write_ln_P(PSTR("Functions"), false);
+ break;
+ case L_ARR:
+ oled_write_ln_P(PSTR("Navigation"), false);
+ break;
+ case L_PUNC:
+ oled_write_ln_P(PSTR("Punctuation"), false);
+ break;
+ case L_MEDIA:
+ case L_MEDIA|L_NUM:
+ oled_write_ln_P(PSTR("Media"), false);
+ break;
+ case L_DUBPUNC:
+ case L_DUBPUNC|L_PUNC:
+ oled_write_ln_P(PSTR("Specials"), false);
+ break;
+ }
+}
+
+void oled_render_timer(void) {
+ static uint16_t microticks = 0;
+ static uint16_t ticks = 0;
+
+ if (microticks++ % 1000 == 0) {
+ ticks++;
+ }
+
+ oled_write_P(PSTR("Ticks: "), false);
+ oled_write_ln(get_u16_str(ticks, ' '), false);
+}
+
+void oled_render_presses(void) {
+ oled_write_P(PSTR("Presses: "), false);
+ oled_write_ln(get_u16_str(key_presses, ' '), false);
+}
+
+void oled_render_rgb_mode(void) {
+ oled_write_P(PSTR("Animation: "), false);
+ oled_write_ln(get_u8_str(rgb_matrix_get_mode(), ' '), false);
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ oled_render_layer_state();
+ }
+ oled_render_timer();
+ if (is_keyboard_master()) {
+ oled_render_presses();
+ }
+ oled_render_rgb_mode();
+ return false;
+}
diff --git a/keyboards/crkbd/keymaps/ollyhayes/readme.md b/keyboards/crkbd/keymaps/ollyhayes/readme.md
new file mode 100644
index 0000000000..9e63f780ff
--- /dev/null
+++ b/keyboards/crkbd/keymaps/ollyhayes/readme.md
@@ -0,0 +1,67 @@
+# ollyhayes's keymap for [Corne Keyboard (crkbd)](https://github.com/foostan/crkbd)
+
+## Keymap
+
+After many years of changing my keymap often and reperatedly, I finally came to a stable version. I've been using this for a while now with only small tweaks every so often.
+
+All layers are activated only whilst the layer key is held, except the default layers.
+
+Lots of keys are repeated on both sides. I find this really useful for two reasons:
+
+* I like to have the option to use the opposite hand to hold modifiers shift/ctrl etc as the hand pressing the key, I find this really comfortable.
+* When using the mouse, I like to be able to do common things with just my left hand.
+
+### Colemak
+
+The base layer:
+
+![colemak](https://i.imgur.com/uxLJzul.png)
+
+### Navigation
+
+All things for moving the cursor around, inspired by vim.
+
+* `câ†` is ctrl+left
+* `↓↓↓↓` is ↓ pressed four times
+
+![navigation](https://i.imgur.com/xfkA0ze.png)
+
+### Symbols
+
+The shifted number row and all brackets and other symbols.
+
+* `a/t` is alt-tab for window switching in windows/linux. Using some special code to release alt when the punc key is released, this works quite nicely.
+
+![symbols](https://i.imgur.com/t9Jygs1.png)
+
+### Specials
+
+Some extra symbols (linux only for now) that work by sending UTF sequences. Layer activated by holding both punctuation layer keys.
+
+![specials](https://i.imgur.com/AtPWKrA.png)
+
+### Numbers
+
+Numbpads (left version is reversed so 1, 2, 3 are easy to reach with one hand (like on a regular keyboard).
+
+Also the keys to switch the default layer are here.
+
+![numbers](https://i.imgur.com/9XXcAXK.png)
+
+### Functions
+
+Function keys, nothing too interesting.
+
+![functions](https://i.imgur.com/ttrw3FJ.png)
+
+### Games (default layer)
+
+Used for some games, qwerty with space bar and alt for the left hand.
+
+![games](https://i.imgur.com/zVvHWKd.png)
+
+### Qwerty (default layer)
+
+Mostly for guests.
+
+![qwerty](https://i.imgur.com/Bqs1bjV.png)
diff --git a/keyboards/crkbd/keymaps/ollyhayes/rules.mk b/keyboards/crkbd/keymaps/ollyhayes/rules.mk
new file mode 100644
index 0000000000..2dcd9007e5
--- /dev/null
+++ b/keyboards/crkbd/keymaps/ollyhayes/rules.mk
@@ -0,0 +1,17 @@
+SRC += oled.c
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+
+EXTRAKEY_ENABLE = yes
+UNICODE_ENABLE = yes
+
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+# RGB_MATRIX_CUSTOM_USER = yes
+
+VIRTSER_ENABLE = yes
+
+LTO_ENABLE = yes
+
+MOUSEKEY_ENABLE = no
diff --git a/keyboards/crkbd/keymaps/rarick/keymap.c b/keyboards/crkbd/keymaps/rarick/keymap.c
index adf9555421..72be5d3c36 100644
--- a/keyboards/crkbd/keymaps/rarick/keymap.c
+++ b/keyboards/crkbd/keymaps/rarick/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[3] = LAYOUT_split_3x6_3(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c
index f7901d1cfd..f8d298bbdd 100644
--- a/keyboards/crkbd/keymaps/rmeli/keymap.c
+++ b/keyboards/crkbd/keymaps/rmeli/keymap.c
@@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONFIG] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MOD, KC_ASUP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY),
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MOD, KC_ASUP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, KC_ASTG, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h
index 3300684d63..994aef314e 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/config.h
+++ b/keyboards/crkbd/keymaps/rpbaptist/config.h
@@ -26,11 +26,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EE_HANDS
#ifdef OLED_ENABLE
-# undef SSD1306OLED
# define OLED_TIMEOUT 600000
#endif
-#undef USE_I2C
#define USE_SERIAL_PD2
// #define FORCE_NKRO
diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
index a098c73d2c..a0186bf28d 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c
+++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_UTIL] = LAYOUT_split_3x6_3( \
//,-----------------------------------------------------. ,-----------------------------------------------------.
- RESET, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI,\
+ QK_BOOT, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI,\
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_RST, XXXXXXX, KC_MSTP, KC_VOLD, KC_MPLY, GAMING, RGB_UND, RGB_DUO, RGB_SCR, RGB_SPI, RGB_SAD, RGB_SAI,\
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h
index a2d5092dee..60f33e7585 100644
--- a/keyboards/crkbd/keymaps/rs/config.h
+++ b/keyboards/crkbd/keymaps/rs/config.h
@@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define SSD1306OLED
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c
index bd8ae7d299..a4c71daac2 100644
--- a/keyboards/crkbd/keymaps/rs/oled.c
+++ b/keyboards/crkbd/keymaps/rs/oled.c
@@ -1,13 +1,10 @@
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
#include QMK_KEYBOARD_H
-#include "ssd1306.h"
#ifdef PROTOCOL_LUFA
#include "lufa.h"
#include "split_util.h"
#endif
-extern uint8_t is_master;
-
// When add source files to SRC in rules.mk, you can use functions.
const char *read_logo(void);
const char *read_keylog(void);
@@ -47,7 +44,6 @@ void update_keymap_status(void) {
#endif
void matrix_init_user(void) {
- iota_gfx_init(!has_usb()); // turns on the display
update_keymap_status();
}
@@ -74,31 +70,18 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
static inline void render_keymap_status(struct CharacterMatrix *matrix) {
- matrix_write(matrix, layer_status_buf);
+ oled_write(layer_status_buf);
}
-void matrix_render_user(struct CharacterMatrix *matrix) {
- if (is_master) {
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
render_keymap_status(matrix);
- matrix_write_ln(matrix, read_keylog());
- matrix_write_ln(matrix, read_keylogs());
+ oled_write_ln(read_keylog(), false);
+ oled_write_ln(read_keylogs(), false);
} else {
- matrix_write(matrix, read_logo());
- }
-}
-
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
+ oled_write(read_logo(), false);
}
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
+ return false;
}
#endif
diff --git a/keyboards/crkbd/keymaps/rs/rules.mk b/keyboards/crkbd/keymaps/rs/rules.mk
index c754ebdcbc..5a76c38f38 100644
--- a/keyboards/crkbd/keymaps/rs/rules.mk
+++ b/keyboards/crkbd/keymaps/rs/rules.mk
@@ -25,7 +25,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# If you want to change the display of OLED, you need to change here
SRC += oled.c \
- ./lib/glcdfont.c \
./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h
index 3a31f8613f..2d2b394369 100644
--- a/keyboards/crkbd/keymaps/soundmonster/config.h
+++ b/keyboards/crkbd/keymaps/soundmonster/config.h
@@ -28,10 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define SSD1306OLED
-#undef USE_I2C
-#undef SSD1306OLED
-
#define USE_SERIAL_PD2
// #define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/soundmonster/keymap.c b/keyboards/crkbd/keymaps/soundmonster/keymap.c
index 70fe50e967..66839e8249 100644
--- a/keyboards/crkbd/keymaps/soundmonster/keymap.c
+++ b/keyboards/crkbd/keymaps/soundmonster/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_3x6_3(
//,-----------------------------------------. ,-----------------------------------------.
- RESET,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC__MUTE, KC_NO, KC_NO, KC_NO, KC_NO,
+ QK_BOOT,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC__MUTE, KC_NO, KC_NO, KC_NO, KC_NO,
//|------+------+------+------+------+------| |------+------+------+------+------+------|
RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,KC_NO, KC_PAUSE,KC__VOLUP, KC_NO, KC_NO, KC_NO, KC_NO,
//|------+------+------+------+------+------| |------+------+------+------+------+------|
diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h
index 4aee2aed14..10b89aede5 100755
--- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h
+++ b/keyboards/crkbd/keymaps/thumb_ctrl/config.h
@@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define SSD1306OLED
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c
index cbd7a46890..387839c16e 100755
--- a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c
+++ b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c
@@ -4,9 +4,6 @@
#include "lufa.h"
#include "split_util.h"
#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
extern keymap_config_t keymap_config;
@@ -40,7 +37,7 @@ enum custom_keycodes {
#define KC_XXXXX KC_NO
#define KC_LOWER LOWER
#define KC_RAISE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_LRST RGBRST
#define KC_LTOG RGB_TOG
#define KC_LHUI RGB_HUI
@@ -129,14 +126,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// When add source files to SRC in rules.mk, you can use functions.
const char *read_layer_state(void);
@@ -150,42 +142,26 @@ const char *read_keylogs(void);
// void set_timelog(void);
// const char *read_timelog(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
- if (is_master) {
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
// If you want to change the display of OLED, you need to change here
- matrix_write_ln(matrix, read_layer_state());
- matrix_write_ln(matrix, read_keylog());
- matrix_write_ln(matrix, read_keylogs());
- //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
- //matrix_write_ln(matrix, read_host_led_state());
- //matrix_write_ln(matrix, read_timelog());
+ oled_write_ln(read_layer_state(), false);
+ oled_write_ln(read_keylog(), false);
+ oled_write_ln(read_keylogs(), false);
+ //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
+ //oled_write_ln(read_host_led_state(), false);
+ //oled_write_ln(read_timelog(), false);
} else {
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
set_keylog(keycode, record);
#endif
// set_timelog();
diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk
index e1d691834d..193aa14dac 100755
--- a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk
+++ b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk
@@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
# 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 you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
# ./lib/mode_icon_reader.c \
# ./lib/host_led_state_reader.c \
# ./lib/timelogger.c \
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/config.h b/keyboards/crkbd/keymaps/thunderbird2086/config.h
new file mode 100644
index 0000000000..36afd9b469
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/config.h
@@ -0,0 +1,95 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define EE_HANDS
+#define SPLIT_USB_DETECT
+
+// #define RGB_LAYER_ENABLE
+
+#define IGNORE_MOD_TAP_INTERRUPT
+#define PERMISSIVE_HOLD
+
+#if defined(TAPPING_TERM)
+# undef TAPPING_TERM
+#endif
+#define TAPPING_TERM 200
+
+#define NO_ACTION_ONESHOT
+
+#if defined(OLED_ENABLE)
+# define SPLIT_LAYER_STATE_ENABLE
+# define SPLIT_LED_STATE_ENABLE
+# define SPLIT_MODS_ENABLE
+# define SPLIT_OLED_ENABLE
+# define OLED_FONT_H "keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c"
+# undef OLED_TIMEOUT
+ // due to timer_read() for render_prompt(), we have own implementation of oled time out
+# define OLED_KEY_TIMEOUT 30000
+# define KEY_LOG_ENABLE
+#endif
+
+#define RGBLIGHT_SLEEP
+
+#if defined(RGBLIGHT_ENABLE)
+# define RGBLIGHT_LIMIT_VAL 150
+# define RGBLIGHT_HUE_STEP 16
+# define RGBLIGHT_SAT_STEP 32
+# define RGBLIGHT_VAL_STEP 32
+
+# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+# define RGBLIGHT_EFFECT_KNIGHT
+#endif
+
+#if defined(RGB_MATRIX_ENABLE)
+# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+# 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
+# define RGB_MATRIX_VAL_STEP 64
+# define RGB_MATRIX_SPD_STEP 20
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
+
+/* Disable the animations you don't want/need. You will need to disable a good number of these *
+ * because they take up a lot of space. Disable until you can successfully compile your firmware. */
+# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# undef ENABLE_RGB_MATRIX_RAINDROPS
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# undef ENABLE_RGB_MATRIX_MULTISPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c b/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c
new file mode 100644
index 0000000000..97dc8fdaa3
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c
@@ -0,0 +1,238 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
+// See gfxfont.h for newer custom bitmap font info.
+// https://helixfonteditor.netlify.com/
+
+#include "progmem.h"
+
+// clang-format off
+// Standard ASCII 5x7 font
+static const unsigned char PROGMEM font[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8,
+ 0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07,
+ 0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07,
+ 0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8,
+ 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+ 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+ 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
+ 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
+ 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
+ 0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+ 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+ 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
+ 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
+ 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30,
+ 0x00, 0x77, 0x55, 0x7F, 0x14, 0x7F,
+ 0x55, 0x77, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x60,
+ 0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x08, 0x08, 0x08, 0x00, 0x1C,
+ 0x22, 0x41, 0x41, 0x41, 0x22, 0x1C,
+ 0x00, 0x08, 0x08, 0x08, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
+ 0x08, 0x0C, 0x5E, 0x5F, 0x5E, 0x0C,
+ 0x00, 0x00, 0x00, 0x49, 0x49, 0xFF,
+ 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38,
+ 0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38,
+ 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF,
+ 0x49, 0x49, 0x00, 0x00, 0x00, 0x00,
+ 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
+ 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
+ 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
+ 0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
+ 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
+ 0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
+ 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
+ 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
+ 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
+ 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
+ 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
+ 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
+ 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
+ 0x0C, 0x18, 0x30, 0x66, 0x66, 0x66,
+ 0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90,
+ 0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21,
+ 0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91,
+ 0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48,
+ 0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00,
+ 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00,
+ 0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C,
+ 0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F,
+ 0x18, 0x10, 0x70, 0x10, 0x10, 0x70,
+ 0x10, 0x13, 0x73, 0x13, 0x10, 0x70,
+ 0x10, 0x10, 0x70, 0x10, 0x18, 0x0F,
+ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+ 0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+ 0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
+ 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
+ 0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
+ 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
+ 0x03, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
+ 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
+ 0x00, 0x10, 0x02, 0x39, 0xFC, 0xED,
+ 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
+ 0x07, 0x04, 0x04, 0x07, 0x04, 0x04,
+ 0x07, 0x04, 0x04, 0x0F, 0x09, 0x09,
+ 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04,
+ 0x04, 0x07, 0x02, 0x02, 0x03, 0x02,
+ 0x02, 0x03, 0x02, 0x02, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C,
+ 0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C,
+ 0x00, 0x00, 0x22, 0x1C, 0x00, 0x00,
+ 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+// clang-format on
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h b/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h
new file mode 100644
index 0000000000..cb10a3ac07
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h
@@ -0,0 +1,69 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+enum custom_keycodes {
+ // Layer Macros
+ COLEMAK = SAFE_RANGE,
+ QWERTY,
+ FUNCTION,
+ CODE,
+ ADJUST,
+ RGBRST,
+ // Secret Macros
+ M_XXX1,
+ M_XXX2,
+ M_XXX3,
+ M_XXX4,
+ M_XXX5,
+};
+
+
+enum layers {
+ _COLEMAK,
+ _QWERTY,
+ _FUNCTION,
+ _CODE,
+ _ADJUST,
+ _SECRET,
+};
+
+// Shortcut Keys
+#define K_BACK LGUI(KC_LBRC) // browser back
+#define K_FWRD LGUI(KC_RBRC) // browser forward
+#define K_LOCK LGUI(LCTL(KC_Q)) // Lock screen
+#define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard
+#define K_MDSH LSFT(LALT(KC_MINS))
+
+// Layer Keys
+#define FCT_BSP LT(_FUNCTION, KC_BSPC)
+#define FCT_DEL LT(_FUNCTION, KC_DEL)
+
+#define FCT_ENT LT(_FUNCTION, KC_ENT)
+#define RAI_ENT LT(_CODE , KC_ENT)
+
+#define FCT_EQL LT(_FUNCTION, KC_EQL)
+#define RAI_EQL LT(_CODE , KC_EQL)
+
+#define FCT_SPC LT(_FUNCTION, KC_SPC)
+#define RAI_SPC LT(_CODE , KC_SPC)
+
+#define FCT_TAB LT(_FUNCTION, KC_TAB)
+
+#define ADJ_EQL LT(_ADJUST, KC_EQL)
+#define ADJ_GRV LT(_ADJUST, KC_GRV)
+
+// Mod-Tap Keys
+#define SFT_SLSH MT(MOD_RSFT, KC_SLSH)
+#define SFT_Z MT(MOD_LSFT, KC_Z)
+
+#define CTL_QUOT MT(MOD_RCTL, KC_QUOT)
+#define CTL_SCLN MT(MOD_RCTL, KC_SCLN)
+#define CTL_A MT(MOD_LCTL, KC_A)
+#define CTL_O MT(MOD_LCTL, KC_O)
+
+#define M_LOPT_F MT(MOD_LALT, KC_F)
+#define M_LOPT_T MT(MOD_LALT, KC_T)
+#define RCMD_J MT(MOD_LGUI, KC_J)
+#define RCMD_N MT(MOD_RGUI, KC_N)
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/keymap.c b/keyboards/crkbd/keymaps/thunderbird2086/keymap.c
new file mode 100644
index 0000000000..7bc23db8aa
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/keymap.c
@@ -0,0 +1,85 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "layers_block.h"
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_COLEMAK] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ T_TAB , ___________________COLEMAK_DH_L1_______________ , ___________________COLEMAK_DH_R1_______________ , KC_MINS ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ KC_LCTL , ___________________COLEMAK_DH_L2_______________ , ___________________COLEMAK_DH_R2_______________ , CTL_QUOT,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ KC_LSFT , ___________________COLEMAK_DH_L3_______________ , ___________________COLEMAK_DH_R3_______________ , ADJ_EQL ,
+ // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+
+ _________MOD_LEFT__________ , _________MOD_RIGHT_________
+ // \----------------------------/ \-----------------------------/
+ ),
+
+ [_QWERTY] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ T_TAB , ___________________QWERTY_L1___________________ , ___________________QWERTY_R1___________________ , KC_MINS ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ KC_LCTL , ___________________QWERTY_L2___________________ , ___________________QWERTY_R2___________________ , CTL_QUOT,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ KC_LSFT , ___________________QWERTY_L3___________________ , ___________________QWERTY_R3___________________ , ADJ_EQL ,
+ // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+
+ _________MOD_LEFT__________ , _________MOD_RIGHT_________
+ // \----------------------------/ \-----------------------------/
+ ),
+
+ [_FUNCTION] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ KC_ESC , ___________________FUNC_LEFT___________________ , ___________________FUNC_RIGHT__________________ , KC_F11 ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ K_CSCN , ____________________MEDIA_1____________________ , KC_DEL , _______________NAV_1_________________ , KC_F12 ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ _______ , ____________________MEDIA_2____________________ , KC_INS , _______________NAV_2_________________ , K_LOCK ,
+ // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+
+ _______MOD_TRNS_LEFT_______ , _______MOD_TRNS_RIGHT______
+ // \----------------------------/ \-----------------------------/
+ ),
+
+ [_CODE] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ T_GRV , ___________________NUM_LEFT____________________ , ___________________NUM_RIGHT___________________ , KC_BSLS ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________SYMBOL_L1________________________ , ________________________SYMBOL_R1________________________ ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________SYMBOL_L2________________________ , ________________________SYMBOL_R2________________________ ,
+ // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+
+ _______MOD_TRNS_LEFT_______ , _______MOD_TRNS_RIGHT______
+ // \----------------------------/ \-----------------------------/
+ ),
+
+ [_ADJUST] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ ________________________ADJUST_L1________________________ , ________________________ADJUST_R1________________________ ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________ADJUST_L2________________________ , ________________________ADJUST_R2________________________ ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________ADJUST_L3________________________ , ________________________ADJUST_R3________________________ ,
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ _______ , _______ , _______ , _______ , _______ , _______
+ // \----------------------------/ \-----------------------------/
+ ),
+
+ [_SECRET] = LAYOUT_wrapper(
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ ________________________SECRET_L1________________________ , ________________________SECRET_R1________________________ ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________SECRET_L2________________________ , ________________________SECRET_R2________________________ ,
+ // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------|
+ ________________________SECRET_L3________________________ , ________________________SECRET_R3________________________ ,
+ // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+ // \----------------------------/ \-----------------------------/
+ )
+};
+// clang-format off
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _FUNCTION, _ADJUST, _SECRET);
+}
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h b/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h
new file mode 100644
index 0000000000..03d438306e
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h
@@ -0,0 +1,89 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "keycodes.h"
+#include "tap_dances.h"
+
+// Layout blocks
+#define ___________________COLEMAK_DH_L1_______________ KC_Q , KC_W , KC_F , KC_P , KC_B
+#define ___________________COLEMAK_DH_L2_______________ CTL_A , KC_R , KC_S , M_LOPT_T, KC_G
+#define ___________________COLEMAK_DH_L3_______________ SFT_Z , KC_X , KC_C , KC_D , KC_V
+
+#define ___________________COLEMAK_DH_R1_______________ KC_J , KC_L , KC_U , KC_Y , KC_SCLN
+#define ___________________COLEMAK_DH_R2_______________ KC_M , RCMD_N , KC_E , KC_I , CTL_O
+#define ___________________COLEMAK_DH_R3_______________ KC_K , KC_H , KC_COMM , KC_DOT , SFT_SLSH
+
+#define ___________________QWERTY_L1___________________ KC_Q , KC_W , KC_E , KC_R , KC_T
+#define ___________________QWERTY_L2___________________ CTL_A , KC_S , KC_D , M_LOPT_F, KC_G
+#define ___________________QWERTY_L3___________________ SFT_Z , KC_X , KC_C , KC_V , KC_B
+
+#define ___________________QWERTY_R1___________________ KC_Y , KC_U , KC_I , KC_O , KC_P
+#define ___________________QWERTY_R2___________________ KC_H , RCMD_J , KC_K , KC_L , CTL_SCLN
+#define ___________________QWERTY_R3___________________ KC_N , KC_M , KC_COMM , KC_DOT , SFT_SLSH
+
+#define ___________________COLEMAK_L1__________________ KC_Q , KC_W , KC_F , KC_P , KC_G
+#define ___________________COLEMAK_L2__________________ CTL_A , KC_R , KC_S , M_LOPT_T, KC_D
+#define ___________________COLEMAK_L3__________________ SFT_Z , KC_X , KC_C , KC_V , KC_B
+
+#define ___________________COLEMAK_R1__________________ KC_J , KC_L , KC_U , KC_Y , KC_SCLN
+#define ___________________COLEMAK_R2__________________ KC_H , RCMD_N , KC_E , KC_I , CTL_O
+#define ___________________COLEMAK_R3__________________ KC_K , KC_M , KC_COMM , KC_DOT , SFT_SLSH
+
+#define ___________________NUM_LEFT____________________ KC_1 , KC_2 , KC_3 , KC_4 , KC_5
+#define ___________________NUM_RIGHT___________________ KC_6 , KC_7 , KC_8 , KC_9 , KC_0
+
+#define ___________________FUNC_LEFT___________________ KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5
+#define ___________________FUNC_RIGHT__________________ KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10
+
+#define ________________________SYMBOL_L1________________________ KC_TILD , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC
+#define ________________________SYMBOL_L2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+
+#define ________________________SYMBOL_R1________________________ KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_PIPE
+#define ________________________SYMBOL_R2________________________ XXXXXXX , KC_LCBR , KC_RCBR , KC_LBRC , KC_RBRC , KC_PLUS
+
+
+#define ________________________ADJUST_L1________________________ RESET , XXXXXXX , KC_PWR , KC_WAKE , KC_SLEP , XXXXXXX
+
+#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
+# define ________________________ADJUST_L2________________________ RGBRST , XXXXXXX , RGB_SPI , RGB_SAI , RGB_HUI , RGB_VAI
+# define ________________________ADJUST_L3________________________ EEP_RST , XXXXXXX , RGB_SPD , RGB_SAD , RGB_HUD , RGB_VAD
+#else
+# define ________________________ADJUST_L2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+# define ________________________ADJUST_L3________________________ EEP_RST , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+#endif
+
+#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
+# define ________________________ADJUST_R1________________________ RGB_TOG , XXXXXXX , XXXXXXX , XXXXXXX , COLEMAK , QWERTY
+# define ________________________ADJUST_R3________________________ RGB_MOD , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+#else
+# define ________________________ADJUST_R1________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , COLEMAK , QWERTY
+# define ________________________ADJUST_R3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+#endif
+#define ________________________ADJUST_R2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+
+#define ________________________SECRET_L1________________________ M_XXX1 , XXXXXXX , M_XXX3 , XXXXXXX , M_XXX5 , XXXXXXX
+#define ________________________SECRET_L2________________________ XXXXXXX , M_XXX2 , XXXXXXX , M_XXX4 , XXXXXXX , XXXXXXX
+#define ________________________SECRET_L3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+
+#define ________________________SECRET_R1________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+#define ________________________SECRET_R2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+#define ________________________SECRET_R3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
+
+#define _______________NAV_1_________________ KC_LEFT , KC_UP , KC_RGHT , KC_PGUP
+#define _______________NAV_2_________________ KC_HOME , KC_DOWN , KC_END , KC_PGDN
+
+#define _______________MOUSE_1_______________ KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_D
+#define _______________MOUSE_2_______________ KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_U
+
+#define ____________________MEDIA_1____________________ KC_BRMU , KC_MFFD , KC_MPLY , KC_VOLU , K_BACK
+#define ____________________MEDIA_2____________________ KC_BRMD , KC_MRWD , KC_MUTE , KC_VOLD , K_FWRD
+
+#define _________MOD_LEFT__________ T_GUI , FCT_DEL , RAI_SPC
+#define _________MOD_RIGHT_________ RAI_ENT , FCT_BSP , KC_ROPT
+#define _______MOD_TRNS_LEFT_______ KC_TRNS , T_ESC , XXXXXXX
+#define _______MOD_TRNS_RIGHT______ XXXXXXX , T_ESC , KC_TRNS
+
+// Layout wrappers
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/oled.c b/keyboards/crkbd/keymaps/thunderbird2086/oled.c
new file mode 100644
index 0000000000..bee9bc26de
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/oled.c
@@ -0,0 +1,298 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "keycodes.h"
+
+
+// 5x3 Logos
+void render_qmk_logo(void) {
+ static const char PROGMEM font_qmk_logo[16] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4,
+ 0
+ };
+ oled_write_P(font_qmk_logo, false);
+};
+
+// 5x2 Keyboard, Controller logos
+void render_kb_split(void) {
+ static const char PROGMEM font_kb_split[11] = {
+ 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
+ 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
+ 0
+ };
+ oled_write_P(font_kb_split, false);
+};
+
+// 5x1 Layer indicator
+
+void render_layer(void) {
+ static const char PROGMEM font_layer[4][6] = {
+ {0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0},
+ {0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0},
+ {0xda, 0xdb, 0xdc, 0xdd, 0xde, 0},
+ {0x95, 0x96, 0x97, 0x98, 0x99, 0},
+ };
+
+ uint8_t layer = 0;
+ if (layer_state_is(_FUNCTION)) {
+ layer = 1;
+ } else if (layer_state_is(_CODE)) {
+ layer = 2;
+ } else if (layer_state_is(_ADJUST)) {
+ layer = 3;
+ }
+ oled_write_P(font_layer[layer], false);
+};
+
+
+void render_layers(void) {
+ static const char PROGMEM font_layers[4][16] = {
+ {0x20, 0x85, 0x86, 0x87, 0x20,
+ 0x20, 0xa5, 0xa6, 0xa7, 0x20,
+ 0x20, 0xc5, 0xc6, 0xc7, 0x20,
+ 0},
+ {0x20, 0x88, 0x89, 0x8a, 0x20,
+ 0x20, 0xa8, 0xa9, 0xaa, 0x20,
+ 0x20, 0xc8, 0xc9, 0xca, 0x20,
+ 0},
+ {0x20, 0x8b, 0x8c, 0x8d, 0x20,
+ 0x20, 0xab, 0xac, 0xad, 0x20,
+ 0x20, 0xcb, 0xcc, 0xcd, 0x20,
+ 0},
+ {0x20, 0x8e, 0x8f, 0x90, 0x20,
+ 0x20, 0xae, 0xaf, 0xb0, 0x20,
+ 0x20, 0xce, 0xcf, 0xd0, 0x20,
+ 0},
+ };
+
+ uint8_t layer = 0;
+ if (layer_state_is(_FUNCTION)) {
+ layer = 1;
+ } else if (layer_state_is(_CODE)) {
+ layer = 2;
+ } else if (layer_state_is(_ADJUST)) {
+ layer = 3;
+ }
+ oled_write_P(font_layers[layer], false);
+};
+
+#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
+
+void render_rgb_status(void) {
+ static const char PROGMEM font_rgb_off[3] = {0xd1, 0xd2, 0};
+ static const char PROGMEM font_rgb_on[3] = {0xd3, 0xd4, 0};
+ bool rgb_enabled =
+# if defined(RGBLIGHT_ENABLE)
+ rgblight_is_enabled();
+# elif defined(RGB_MATRIX_ENABLE)
+ rgb_matrix_is_enabled();
+# endif
+
+ oled_write_P(rgb_enabled ? font_rgb_on : font_rgb_off, false);
+};
+#endif
+
+// 2x1 Ctrl, Alt, Shift, GUI, Caps
+
+void render_mod_ctrl(void) {
+ static const char PROGMEM font_ctrl[3] = {0x91, 0x92, 0};
+ oled_write_P(font_ctrl, false);
+};
+
+void render_mod_alt(void) {
+ static const char PROGMEM font_alt[3] = {0xb1, 0xb2, 0};
+ oled_write_P(font_alt, false);
+};
+
+void render_mod_shift(void) {
+ static const char PROGMEM font_shift[3] = {0xb3, 0xb4, 0};
+ oled_write_P(font_shift, false);
+};
+
+void render_mod_gui(void) {
+ static const char PROGMEM font_gui[3] = {0x93, 0x94, 0};
+ oled_write_P(font_gui, false);
+};
+
+void render_caps_lock(void) {
+ static const char PROGMEM font_caps[3] = {0x9f, 0xbf, 0};
+ oled_write_P(font_caps, false);
+};
+
+
+// 5x2 Mod and feature indicator clusters
+
+void render_mod_status(void) {
+#if defined(NO_ACTION_ONESHOT)
+ uint8_t modifiers = get_mods();
+#else
+ uint8_t modifiers = get_mods() | get_oneshot_mods();
+#endif
+
+ (modifiers & MOD_MASK_CTRL) ? render_mod_ctrl() : oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR(" "), false);
+ (modifiers & MOD_MASK_SHIFT) ? render_mod_shift() : oled_write_P(PSTR(" "), false);
+
+ (modifiers & MOD_MASK_ALT) ? render_mod_alt() : oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR(" "), false);
+ (modifiers & MOD_MASK_GUI) ? render_mod_gui() : oled_write_P(PSTR(" "), false);
+
+ led_t led_state = host_keyboard_led_state();
+ (led_state.caps_lock) ? render_caps_lock() : oled_write_P(PSTR(" "), false);
+}
+
+void render_feature_status(void) {
+#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
+ render_rgb_status();
+#endif
+};
+
+// Keylogger
+#define KEYLOGGER_LENGTH 5
+static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"};
+// clang-format off
+static const char PROGMEM code_to_name[0xFF] = {
+// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
+ 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x
+ '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x
+ ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x
+ ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx
+ 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx
+};
+
+
+#if defined(KEY_LOG_ENABLE)
+void add_keylog(uint16_t keycode) {
+ if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX)
+ || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)
+ || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) {
+ keycode = keycode & 0xFF;
+ } else if (keycode > 0xFF) {
+ keycode = 0;
+ }
+
+ for (uint8_t i = (KEYLOGGER_LENGTH - 1); i > 0; --i) {
+ keylog_str[i] = keylog_str[i - 1];
+ }
+
+ if (keycode < (sizeof(code_to_name) / sizeof(char))) {
+ keylog_str[0] = pgm_read_byte(&code_to_name[keycode]);
+ }
+}
+#endif
+
+static uint16_t key_timer = 0;
+static bool is_key_processed = true;
+bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ key_timer = timer_read();
+ is_key_processed = true;
+
+# if defined(KEY_LOG_ENABLE)
+ add_keylog(keycode);
+#endif
+ }
+
+ return true;
+}
+
+
+void render_keylogger_status(void) {
+ oled_write(keylog_str, false);
+}
+
+
+void render_prompt(void) {
+ bool blink = (timer_read() % 1000) < 500;
+
+ if (layer_state_is(_FUNCTION)) {
+ oled_write_ln_P(blink ? PSTR("> ft_") : PSTR("> ft "), false);
+ } else if (layer_state_is(_CODE)) {
+ oled_write_ln_P(blink ? PSTR("> sy_") : PSTR("> sy "), false);
+ } else if (layer_state_is(_ADJUST)) {
+ oled_write_ln_P(blink ? PSTR("> aj_") : PSTR("> aj "), false);
+ } else {
+ oled_write_ln_P(blink ? PSTR("> _ ") : PSTR("> "), false);
+ }
+};
+
+
+void render_status_secondary(void) {
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+ render_kb_split();
+
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+ render_layer();
+
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
+ layer_state_is(_ADJUST) ? render_feature_status() : render_mod_status();
+#else
+ render_mod_status();
+#endif
+};
+
+
+void render_status_main(void) {
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+ render_qmk_logo();
+
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+ render_layers();
+
+ oled_write_ln("", false);
+ oled_write_ln("", false);
+
+ render_prompt();
+
+ oled_write_ln("", false);
+
+ render_keylogger_status();
+}
+
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_270;
+}
+
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ if (is_key_processed && (timer_elapsed(key_timer) < OLED_KEY_TIMEOUT)) {
+ render_status_main();
+ } else if (is_key_processed) {
+ is_key_processed = false;
+ oled_off();
+ }
+ } else {
+ render_status_secondary();
+ }
+
+ return false;
+}
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/process_records.c b/keyboards/crkbd/keymaps/thunderbird2086/process_records.c
new file mode 100644
index 0000000000..381cf281e5
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/process_records.c
@@ -0,0 +1,45 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#include "keycodes.h"
+
+__attribute__((weak))
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+__attribute__((weak))
+bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+#if defined(OLED_ENABLE)
+__attribute__((weak))
+bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+ }
+
+ return process_record_keymap(keycode, record) && process_record_secrets(keycode, record)
+# if defined(OLED_ENABLE)
+ && process_record_oled(keycode, record)
+# endif
+ ;
+}
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/readme.md b/keyboards/crkbd/keymaps/thunderbird2086/readme.md
new file mode 100644
index 0000000000..6400309fe8
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/readme.md
@@ -0,0 +1,65 @@
+# Thunderbird2086's custom CRKBD Layout
+
+The concept is Mac and **baby finger** friendly keymap.
+
+## Layers
+- Colemak-DH: base layer. The option(⌥) and command(⌘) keys are assigned to thumb blocks as well as home position keys on each side. Also, far end two columns are assigned to shift(⇧) and control(⌃) keys.
+ ![colemak-dh](https://i.imgur.com/R7EzTTt.png)
+ - Thumb keys
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | Command(⌘) | Command(⌘) + Space(â£) | |
+ | Delete(⌦) | | Function layer |
+ | Backspace(⌫)| | Function layer |
+ | Space(â£) | | Code layer |
+ | Enter(âŽ) | | Code layer |
+ - Staggered keys
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | TAB | Control(⌃) + TAB | |
+ | a | | Control(⌃) |
+ | z | | Shift(⇧) |
+ | t | | Option(⌥) |
+ | n | | Command(⌘) |
+ | o | | Control(⌃) |
+ | ' | | Control(⌃) |
+ | / | | Shift(⇧) |
+ | = | | Adjust layer |
+
+- QWERTY: same as Colemak-DH layer
+ ![qwery](https://i.imgur.com/v9JBwQu.png)
+ - Thumb keys : same as Colemak-DH
+ - Staggered keys : almost same as Colemak-DH except
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | f | | Option(⌥) |
+ | j | | Command(⌘) |
+ | ; | | Control(⌃) |
+
+- CODE: numbers and symbols.
+ ![symbol](https://i.imgur.com/BPgPlYX.png)
+ - Thumb keys
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | ESC | Caps lock | |
+ - Staggered keys
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | ` | Command(⌘) + ` | |
+
+- FUNCTION: function, meadia and navigation keys
+ ![function](https://i.imgur.com/cs5haUP.png)
+ - Thumb keys
+ | Tap | Double tap | Long tap |
+ | --- | --- | --- |
+ | ESC | Caps lock | |
+
+- ADJUST: RGB control, Power control, default layer setting and reset
+ ![adjust](https://i.imgur.com/uDIhigd.png)
+- SECRET: hold `ADJUST` and `FUNCTION` to activate
+
+## Custom OLED
+This keymap includes custom OLED font and code. The font contains some logos and status indidcators from [gotham](../gotham) and [soundmonster](../soundmonster) including my own CAPS LOCK icon. Enable OLED in rukes.mk to check it out. Feel free to reuse the font or parts of it.
+
+## Flashing
+Flash using `make crkbd:thunderbird2086:avrdude` for Pro Micro and `make crkbd:thunderbird2086:dfu` for Elite-C.
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/rules.mk b/keyboards/crkbd/keymaps/thunderbird2086/rules.mk
new file mode 100644
index 0000000000..4da48db08e
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/rules.mk
@@ -0,0 +1,18 @@
+MOUSEKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+LTO_ENABLE = yes
+
+TAP_DANCE_ENABLE = yes
+
+SRC += oled.c
+SRC += process_records.c
+SRC += tap_dances.c
+
+ifneq ("$(wildcard keyboards/crkbd/keymaps/thunderbird2086/secrets.c)","")
+ SRC += secrets.c
+endif
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c
new file mode 100644
index 0000000000..1cf6fdf092
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c
@@ -0,0 +1,12 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "tap_dances.h"
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
+ [TD_TAB_CTRLTAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LCTL(KC_TAB)),
+ [TD_GRV_CTRLGRV] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, LGUI(KC_GRV)),
+ [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)),
+};
diff --git a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h
new file mode 100644
index 0000000000..34d3c4e32c
--- /dev/null
+++ b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h
@@ -0,0 +1,16 @@
+// Copyright 2021 Allen Choi (@thunderbird2086)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+enum custom_tapdances {
+ TD_ESC_CAPS = 0,
+ TD_TAB_CTRLTAB,
+ TD_GRV_CTRLGRV,
+ TD_GUI_GUISPC,
+};
+
+#define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK
+#define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB
+#define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for Cmd + GRV
+#define T_GUI TD(TD_GUI_GUISPC) // Tap for Cmd, double tap for Cmd + Space
diff --git a/keyboards/crkbd/keymaps/toinux/keymap.c b/keyboards/crkbd/keymaps/toinux/keymap.c
index ae3de00b79..9f5474ee2e 100644
--- a/keyboards/crkbd/keymaps/toinux/keymap.c
+++ b/keyboards/crkbd/keymaps/toinux/keymap.c
@@ -212,7 +212,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// | | | | | | | |
// `--------------------------' `--------------------------'
[_ADJUST] = LAYOUT_split_3x6_3(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NLCK, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NLCK, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, _______
diff --git a/keyboards/crkbd/keymaps/vayashiko/keymap.c b/keyboards/crkbd/keymaps/vayashiko/keymap.c
index f3cf5cb2f6..77229a3603 100644
--- a/keyboards/crkbd/keymaps/vayashiko/keymap.c
+++ b/keyboards/crkbd/keymaps/vayashiko/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_master) {
+ if (!is_keyboard_master()) {
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
}
return rotation;
@@ -165,7 +165,7 @@ void oled_render_logo(void) {
}
bool oled_task_user(void) {
- if (is_master) {
+ if (is_keyboard_master()) {
oled_render_layer_state();
oled_render_keylog();
} else {
diff --git a/keyboards/crkbd/keymaps/vayashiko/rules.mk b/keyboards/crkbd/keymaps/vayashiko/rules.mk
index b8ba838422..c29927421d 100644
--- a/keyboards/crkbd/keymaps/vayashiko/rules.mk
+++ b/keyboards/crkbd/keymaps/vayashiko/rules.mk
@@ -21,8 +21,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
index d1c3855402..94494bafd8 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
@@ -5,9 +5,6 @@
#define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c
index 7940e28025..e47e2df539 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c
@@ -4,9 +4,6 @@
#include "lufa.h"
#include "split_util.h"
#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
@@ -31,7 +28,7 @@ enum custom_keycodes {
#define KC_LOWER LOWER
#define KC_RAISE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_LRST RGBRST
#define KC_LTOG RGB_TOG
#define KC_LHUI RGB_HUI
@@ -122,14 +119,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(); // turns on the display
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// When add source files to SRC in rules.mk, you can use functions.
const char *read_layer_state(void);
@@ -138,42 +130,23 @@ void set_keylog(uint16_t keycode, keyrecord_t *record);
const char *read_keylog(void);
const char *read_keylogs(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
if (is_keyboard_master()) {
// If you want to change the display of OLED, you need to change here
- matrix_write(matrix, read_layer_state());
- matrix_write(matrix, "\n");
- matrix_write(matrix, read_keylog());
- matrix_write(matrix, "\n");
- matrix_write(matrix, read_keylogs());
- matrix_write(matrix, "\n");
+ oled_write_ln(read_layer_state(), false);
+ oled_write_ln(read_keylog(), false);
+ oled_write_ln(read_keylogs(), false);
} else {
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
set_keylog(keycode, record);
#endif
}
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk
index 44ff63ada1..ed4d34a70b 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk
@@ -1,14 +1,12 @@
# Build Options
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
BOOTLOADER = atmel-dfu
# If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c
index 14a5b5d90a..703be80d96 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c
@@ -37,7 +37,7 @@ enum custom_keycodes {
#define KC_XXXXX KC_NO
#define KC_LOWER LOWER
#define KC_RAISE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_LRST RGBRST
#define KC_LTOG RGB_TOG
#define KC_LHUI RGB_HUI
diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h
index d9c0cbccf4..7a4596f3b2 100644
--- a/keyboards/crkbd/keymaps/vxid/config.h
+++ b/keyboards/crkbd/keymaps/vxid/config.h
@@ -28,9 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define USE_SSD_I2C
-
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
diff --git a/keyboards/crkbd/keymaps/vxid/rules.mk b/keyboards/crkbd/keymaps/vxid/rules.mk
index cb104fb344..432e219476 100644
--- a/keyboards/crkbd/keymaps/vxid/rules.mk
+++ b/keyboards/crkbd/keymaps/vxid/rules.mk
@@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
# 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 you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
- ./lib/rgb_state_reader.c \
+SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
# ./lib/mode_icon_reader.c \
# ./lib/host_led_state_reader.c \
# ./lib/timelogger.c \
-
-VPATH += keyboards/crkbd/lib
-LIB_SRC += ssd1306.c i2c.c
diff --git a/keyboards/crkbd/keymaps/xyverz/keymap.c b/keyboards/crkbd/keymaps/xyverz/keymap.c
index 0b7fc0a0ac..95112ece54 100644
--- a/keyboards/crkbd/keymaps/xyverz/keymap.c
+++ b/keyboards/crkbd/keymaps/xyverz/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______
//`--------------------------' `--------------------------'
diff --git a/keyboards/crkbd/lib/i2c.c b/keyboards/crkbd/lib/i2c.c
deleted file mode 100644
index 7b82e838c2..0000000000
--- a/keyboards/crkbd/lib/i2c.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <util/twi.h>
-#include <avr/io.h>
-#include <stdlib.h>
-#include <avr/interrupt.h>
-#include <util/twi.h>
-#include <stdbool.h>
-#include "i2c.h"
-
-#if defined(USE_SSD_I2C)
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWINT)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-
- // easier way, but will wait slightly longer
- // _delay_us(100);
-}
-
-// Setup twi to run at 100kHz or 400kHz (see ./i2c.h SCL_CLOCK)
-void i2c_master_init(void) {
- // no prescaler
- TWSR = 0;
- // Set TWI clock frequency to SCL_CLOCK. Need TWBR>10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
-
- i2c_delay();
-
- // check that we started successfully
- if ( (TW_STATUS != TW_START) && (TW_STATUS != TW_REP_START))
- return 1;
-
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- if ( (TW_STATUS != TW_MT_SLA_ACK) && (TW_STATUS != TW_MR_SLA_ACK) )
- return 1; // slave did not acknowledge
- else
- return 0; // success
-}
-
-
-// Finish the i2c transaction.
-void i2c_master_stop(void) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWSTO)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-}
-
-// Write one byte to the i2c slave.
-// returns 0 => slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- // check if the slave acknowledged us
- return (TW_STATUS == TW_MT_DATA_ACK) ? 0 : 1;
-}
-
-// Read one byte from the i2c slave. If ack=1 the slave is acknowledged,
-// if ack=0 the acknowledge bit is not set.
-// returns: byte read from i2c device
-uint8_t i2c_master_read(int ack) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (ack<<TWEA);
-
- i2c_delay();
- return TWDR;
-}
-
-void i2c_reset_state(void) {
- TWCR = 0;
-}
-
-void i2c_slave_init(uint8_t address) {
- TWAR = address << 0; // slave i2c address
- // TWEN - twi enable
- // TWEA - enable address acknowledgement
- // TWINT - twi interrupt flag
- // TWIE - enable the twi interrupt
- TWCR = (1<<TWIE) | (1<<TWEA) | (1<<TWINT) | (1<<TWEN);
-}
-
-ISR(TWI_vect);
-
-ISR(TWI_vect) {
- uint8_t ack = 1;
- switch(TW_STATUS) {
- case TW_SR_SLA_ACK:
- // this device has been addressed as a slave receiver
- slave_has_register_set = false;
- break;
-
- case TW_SR_DATA_ACK:
- // this device has received data as a slave receiver
- // The first byte that we receive in this transaction sets the location
- // of the read/write location of the slaves memory that it exposes over
- // i2c. After that, bytes will be written at slave_buffer_pos, incrementing
- // slave_buffer_pos after each write.
- if(!slave_has_register_set) {
- slave_buffer_pos = TWDR;
- // don't acknowledge the master if this memory loctaion is out of bounds
- if ( slave_buffer_pos >= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
-}
-#endif
diff --git a/keyboards/crkbd/lib/i2c.h b/keyboards/crkbd/lib/i2c.h
deleted file mode 100644
index 710662c7ab..0000000000
--- a/keyboards/crkbd/lib/i2c.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency 400kHz
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
-
-
-static inline unsigned char i2c_start_read(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_READ);
-}
-
-static inline unsigned char i2c_start_write(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_WRITE);
-}
-
-// from SSD1306 scrips
-extern unsigned char i2c_rep_start(unsigned char addr);
-extern void i2c_start_wait(unsigned char addr);
-extern unsigned char i2c_readAck(void);
-extern unsigned char i2c_readNak(void);
-extern unsigned char i2c_read(unsigned char ack);
-
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
diff --git a/keyboards/crkbd/lib/layer_state_reader.c b/keyboards/crkbd/lib/layer_state_reader.c
index 63d80b136c..601fd71958 100644
--- a/keyboards/crkbd/lib/layer_state_reader.c
+++ b/keyboards/crkbd/lib/layer_state_reader.c
@@ -29,7 +29,11 @@ const char *read_layer_state(void) {
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
break;
default:
+#if defined (LAYER_STATE_32BIT)
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+#else
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%d", layer_state);
+#endif
}
return layer_state_str;
diff --git a/keyboards/crkbd/rules.mk b/keyboards/crkbd/rules.mk
index 4f373d53da..2e91f24848 100644
--- a/keyboards/crkbd/rules.mk
+++ b/keyboards/crkbd/rules.mk
@@ -18,6 +18,7 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = no
RGB_MATRIX_DRIVER = WS2812
+LTO_ENABLE = yes
# if firmware size over limit, try this option
# LTO_ENABLE = yes
diff --git a/keyboards/custommk/bonsai_c4_template/bonsai_c4_template.c b/keyboards/custommk/bonsai_c4_template/bonsai_c4_template.c
new file mode 100644
index 0000000000..2129a712cf
--- /dev/null
+++ b/keyboards/custommk/bonsai_c4_template/bonsai_c4_template.c
@@ -0,0 +1,23 @@
+/* Copyright 2022 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Set up SPI slave select pin
+void keyboard_post_init_kb(void) {
+ #ifdef EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN
+ setPinOutput(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN);
+ writePinHigh(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN);
+ #endif
+}
diff --git a/keyboards/custommk/bonsai_c4_template/config.h b/keyboards/custommk/bonsai_c4_template/config.h
new file mode 100644
index 0000000000..192e9b0755
--- /dev/null
+++ b/keyboards/custommk/bonsai_c4_template/config.h
@@ -0,0 +1,79 @@
+/* Copyright 2022 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+// This file includes example #defines to enable commonly-used functionality
+// (SPI, PWM backlight, etc.) on specific pins. Capabilities you want to include
+// should be added to the config.h for your keyboard. Not all capabilities are
+// shown; for example:
+// I2C is not shown because the QMK defaults are sufficient for SCL on B6 and SDA on B7
+// Serial communications (for split keyboards) is not shown because QMK defaults work
+// for either pins A15 or B6
+
+// If you need to change pins for PWM, SPI, I2C, or Serial communications, be aware that
+// doing this may require changing the driver, channel, PAL (Pin ALternate function) mode,
+// DMA stream, and/or DMA channel.
+
+
+// Bonsai C4 wires up pin A9 for Vbus sensing pin by default. For spilt keyboards, this
+// can be used to determine which half of the keyboard is plugged into USB.
+// For boards using Bonsai C4 merely as a reference design, the VBUS sense pin A9
+// can be used for purposes other than Vbus sensing (e.g. the switch
+// matrix).
+//
+// If A9 is needed for Vbus sensing, uncomment the line
+// below. Most keyboards using Bonsai C4 can leave the line below
+// commented out.
+//
+// #undef BOARD_OTG_NOVBUSSENS
+
+// FRAM configuration
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A0
+#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8 // 96MHz / 8 = 12MHz; max supported by MB85R64 is 20MHz
+#define EXTERNAL_EEPROM_PAGE_SIZE 64 // does not matter for FRAM, just sets the RAM buffer size in STM32F chip
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191
+
+// External flash configuration
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12
+#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 1 // 96MHz; max supported by W25Q128JV is 133MHz
+#define EXTERNAL_FLASH_BYTE_COUNT (16 * 1024 * 1024) //128Mbit or 16MByte
+#define EXTERNAL_FLASH_PAGE_SIZE 256
+#define EXTERNAL_FLASH_SPI_TIMEOUT 200000 //datasheet max is 200 seconds for flash chip erase
+
+// SPI Configuration (needed for FRAM and FLASH)
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN B3
+#define SPI_MOSI_PIN B5
+#define SPI_MISO_PIN B4
+
+// Example code to set up PWM backlight on pin A6
+// If a different pin is used, a different PWM driver/channel settings may be necessary
+#define BACKLIGHT_PIN A6
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+
+// Example code for WS2812 underglow
+// Only pin A10 is wired to send 5V signals to the WS2812
+// This also usually requires adding special wiring during board assembly
+#define RGB_DI_PIN A10
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
diff --git a/keyboards/custommk/bonsai_c4_template/halconf.h b/keyboards/custommk/bonsai_c4_template/halconf.h
new file mode 100644
index 0000000000..a90ea163f3
--- /dev/null
+++ b/keyboards/custommk/bonsai_c4_template/halconf.h
@@ -0,0 +1,35 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// If you are using I2C (e.g. for OLED), include this line
+#define HAL_USE_I2C TRUE
+
+// If you are using PWM (e.g. for WS2812, backlight, etc.) include this line
+#define HAL_USE_PWM TRUE
+
+// If you are using serial comms for split communications, include these lines
+#define HAL_USE_SERIAL TRUE
+#define SERIAL_BUFFERS_SIZE 256
+
+// If you are using SPI (e.g. for FRAM, flash, etc.) include these lines
+#define HAL_USE_SPI TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+// This enables interrupt-driven mode
+#define SPI_USE_WAIT TRUE
+
+#include_next <halconf.h> \ No newline at end of file
diff --git a/keyboards/custommk/bonsai_c4_template/mcuconf.h b/keyboards/custommk/bonsai_c4_template/mcuconf.h
new file mode 100644
index 0000000000..4f926bd7de
--- /dev/null
+++ b/keyboards/custommk/bonsai_c4_template/mcuconf.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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>
+
+// Used for underglow in example code
+#undef STM32_PWM_USE_TIM1 //timer 1 channel 3
+#define STM32_PWM_USE_TIM1 TRUE
+
+// Used for backlight in examples
+#undef STM32_PWM_USE_TIM3 //timer 3 channel 1
+#define STM32_PWM_USE_TIM3 TRUE
+
+// Used for FRAM and flash in example code
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+// Used for Split comms in example code
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE \ No newline at end of file
diff --git a/keyboards/custommk/bonsai_c4_template/readme.md b/keyboards/custommk/bonsai_c4_template/readme.md
new file mode 100644
index 0000000000..0c0fd8ed0c
--- /dev/null
+++ b/keyboards/custommk/bonsai_c4_template/readme.md
@@ -0,0 +1,10 @@
+# Bonsai C4 template code
+
+Currently, the converter for Pro Micro to Bonsai C4 only does pin mapping. This is sufficient for simple keyboards and also a good start for
+incorporating into more advanced keyboards with other features (like RGB, OLED, backlighting, split communiciations, etc.). However, to make
+use of the more advanced features--including using the FRAM and flash memory chip included on Bonsai C4--various peripheral hardware must
+be configured. Pro Micro does not requrie such configuration because such functionality is more limited and hard-wired to specific pins.
+
+The code here provides examples that can be used to operate SPI, I2C, PWM, and Serial comms. In addition to using the converter, you will
+need to take code (as-needed) and add it to existing config.h files, or add in new halconf.h and mcuconf.h files. If you are changing which
+pins are used for certain functions, you should verify the new pins support that functionality, and check all assingments to ensure the correct settings are used (including as-applicable driver, channel, PAL (Pin ALternate function) mode, DMA stream, and/or DMA channel).
diff --git a/keyboards/custommk/evo70/config.h b/keyboards/custommk/evo70/config.h
new file mode 100644
index 0000000000..f07560cb98
--- /dev/null
+++ b/keyboards/custommk/evo70/config.h
@@ -0,0 +1,51 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 OLED_UPDATE_INTERVAL 33
+
+#define BACKLIGHT_PIN B5
+#define BACKLIGHT_LIMIT_VAL 255
+#define BACKLIGHT_ON_STATE 0
+#define BACKLIGHT_LEVELS 17
+#define BACKLIGHT_BREATHING
+#define BREATHING_PERIOD 6
+
+#define OLED_DISABLE_TIMEOUT
+
+#define ENCODERS_PAD_A { C7 }
+#define ENCODERS_PAD_B { D5 }
+#define ENCODER_RESOLUTION 2
+#define TAP_CODE_DELAY 10
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LIMIT_VAL 128
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4
+
+#define RGBLIGHT_SLEEP \ No newline at end of file
diff --git a/keyboards/custommk/evo70/evo70.c b/keyboards/custommk/evo70/evo70.c
new file mode 100644
index 0000000000..4c15d03dd2
--- /dev/null
+++ b/keyboards/custommk/evo70/evo70.c
@@ -0,0 +1,811 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "evo70.h"
+#include <stdbool.h>
+#include "matrix.h"
+#include OLED_FONT_H
+
+//If Bongo cat not undefined, Scroll wheel will be enabled,
+//but for scroll wheel to work, you must also set MOUSEKEY_ENABLE = yes
+//in rules.mk
+#define BONGOCAT
+
+/* Placement information for display elements */
+#define ENC_DISPLAY_X 0
+#define ENC_DISPLAY_Y 0
+
+#define LAYER_DISPLAY_X 5
+#define LAYER_DISPLAY_Y 19
+
+#define CAPSLOCK_DISPLAY_X 80
+#define CAPSLOCK_DISPLAY_Y 19
+
+#define NUMLOCK_DISPLAY_X 105
+#define NUMLOCK_DISPLAY_Y 19
+
+/* Encoder Parameters */
+static bool OLED_awakened = false;
+static bool OLED_redraw = false;
+static bool startup_complete = false;
+static bool startup_delay = false;
+static bool starting_up = false;
+
+#define ENCODER_MATRIX_ROW 5
+#define ENCODER_MATRIX_COL 6
+
+#define ENC_SPLASH 0
+#define ENC_VOLUME 1
+#define ENC_MEDIA 2
+#define ENC_CUSTOM 3
+#define ENC_BL_BRIGHT 4
+#define ENC_BL_BREATH 5
+#define ENC_RGB_BRIGHT 6
+#define ENC_RGB_MODE 7
+#define ENC_RGB_COLOR 8
+#define ENC_SCROLL 9
+#ifdef BONGOCAT
+#define ENC_BONGO 9
+#endif //bongocat
+
+
+extern matrix_row_t matrix[MATRIX_ROWS];
+
+char* enc_mode_str[] = {
+#ifdef BONGOCAT
+ /* Splash */ "", \
+ "Volume", \
+ "Media Control", \
+ "Custom", \
+ "Backlight Brightness", \
+ "Backlight Breathing", \
+ "Underglow Brightness", \
+ "Underglow Mode", \
+ "Underglow Color", \
+ "" // Bongo Cat
+};
+
+uint16_t enc_cw[] = { KC_VOLU, KC_VOLU, KC_MEDIA_NEXT_TRACK, KC_VOLU, 0, 0, 0, 0, 0, KC_VOLU };
+uint16_t enc_ccw[] = { KC_VOLD, KC_VOLD, KC_MEDIA_PREV_TRACK, KC_VOLD, 0, 0, 0, 0, 0, KC_VOLD };
+#else
+ /* Splash */ "", \
+ "Volume", \
+ "Media Control", \
+ "Custom", \
+ "Backlight Brightness", \
+ "Backlight Breathing", \
+ "Underglow Brightness", \
+ "Underglow Mode", \
+ "Underglow Color", \
+ "Scroll Wheel"
+};
+
+uint16_t enc_cw[] = { KC_VOLU, KC_VOLU, KC_MEDIA_NEXT_TRACK, KC_VOLU, 0, 0, 0, 0, 0, KC_WH_U };
+uint16_t enc_ccw[] = { KC_VOLD, KC_VOLD, KC_MEDIA_PREV_TRACK, KC_VOLD, 0, 0, 0, 0, 0, KC_WH_D };
+#endif //bongocat
+
+uint8_t num_enc_modes = 10;
+
+uint8_t enc_mode_str_startpos[] = {0, 49, 28, 49, 7, 10, 7, 25, 22, 31};
+
+uint8_t prev_layer = 255;
+uint8_t prev_capslock = 255;
+uint8_t prev_numlock = 255;
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t enc_mode;
+ uint8_t breathingperiod;
+ bool oled_is_on : 1;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+
+
+/* OLED Draw Functions */
+/* TODO: Reimplement using Quantum Painter when available */
+
+static void draw_line_h(uint8_t x, uint8_t y, uint8_t len, bool on) {
+ for (uint8_t i = 0; i < len; i++) {
+ oled_write_pixel(i + x, y, on);
+ }
+ }
+
+ static void draw_line_v(uint8_t x, uint8_t y, uint8_t len, bool on) {
+ for (uint8_t i = 0; i < len; i++) {
+ oled_write_pixel(x, i + y, on);
+ }
+ }
+
+void draw_rect_soft(uint8_t x, uint8_t y, uint8_t width, uint8_t height, bool on) {
+ uint8_t tempHeight;
+
+ draw_line_h(x + 1, y, width - 2, on);
+ draw_line_h(x + 1, y + height - 1, width - 2, on);
+
+ tempHeight = height - 2;
+
+ if (tempHeight < 1) return;
+
+ draw_line_v(x, y + 1, tempHeight, on);
+ draw_line_v(x + width - 1, y + 1, tempHeight, on);
+}
+
+void write_char_at_pixel_xy(uint8_t x, uint8_t y, const char data, bool invert) {
+ uint8_t i, j, temp;
+ uint8_t cast_data = (uint8_t)data;
+
+ const uint8_t *glyph = &font[((uint8_t)cast_data - OLED_FONT_START) * OLED_FONT_WIDTH];
+ temp = pgm_read_byte(glyph);
+ for (i = 0; i < OLED_FONT_WIDTH ; i++) {
+ for (j = 0; j < OLED_FONT_HEIGHT; j++) {
+ if (temp & 0x01) {
+ oled_write_pixel(x + i, y + j, !invert);
+ } else {
+ oled_write_pixel(x + i, y + j, invert);
+ }
+ temp >>= 1;
+ }
+ temp = pgm_read_byte(++glyph);
+ }
+}
+
+void write_chars_at_pixel_xy(uint8_t x, uint8_t y, const char *data, bool invert) {
+ uint8_t c = data[0];
+ uint8_t offset = 0;
+ while (c != 0) {
+ write_char_at_pixel_xy(x + offset, y, c, invert);
+ data++;
+ c = data[0];
+ offset += 6;
+ }
+}
+
+
+void draw_rect_filled_soft(uint8_t x, uint8_t y, uint8_t width, uint8_t height, bool on) {
+ for (int i = x; i < x + width; i++) {
+ if (i == x || i == (x + width - 1))
+ draw_line_v(i, y + 1, height - 2, on);
+ else
+ draw_line_v(i, y, height, on);
+ }
+}
+
+void draw_text_rectangle(uint8_t x, uint8_t y, uint8_t width, char* str, bool filled) {
+ if (filled) {
+ draw_rect_filled_soft(x, y, width, 11, true);
+ write_chars_at_pixel_xy(x+3, y+2, str, true);
+ } else {
+ draw_rect_soft(x, y, width, 11, true);
+ write_chars_at_pixel_xy(x+3, y+2, str, false);
+ }
+}
+
+void draw_keyboard_layer(void){
+ uint8_t highest_layer;
+ highest_layer = get_highest_layer(layer_state);
+ draw_rect_filled_soft(LAYER_DISPLAY_X + highest_layer*12, LAYER_DISPLAY_Y, 11, 11, true);
+
+ write_char_at_pixel_xy(LAYER_DISPLAY_X+3, LAYER_DISPLAY_Y+2, '0', highest_layer == 0);
+ write_char_at_pixel_xy(LAYER_DISPLAY_X+3+12, LAYER_DISPLAY_Y+2, '1', highest_layer == 1);
+ write_char_at_pixel_xy(LAYER_DISPLAY_X+3+24, LAYER_DISPLAY_Y+2, '2', highest_layer == 2);
+ write_char_at_pixel_xy(LAYER_DISPLAY_X+3+36, LAYER_DISPLAY_Y+2, '3', highest_layer == 3);
+
+ draw_line_h(0, 14, 128, true);
+}
+
+
+static const uint8_t splash[] PROGMEM = { \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1c, 0x06, 0x02, 0x02, \
+ 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x03, \
+ 0x03, 0x03, 0x83, 0x83, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x03, \
+ 0x02, 0x02, 0x06, 0x0c, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0xf8, 0xfe, 0x87, 0xe1, 0xbf, 0x9f, 0x00, 0x00, \
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0xfc, 0xe0, 0xc0, 0xf8, 0x7f, 0x0f, 0xff, 0xff, 0x00, 0x00, \
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0x80, 0xc0, 0xf0, 0xf8, 0x3c, 0x1f, 0x0f, 0x03, 0x01, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xc7, 0x83, \
+ 0x83, 0x8f, 0xc6, 0xc0, 0xfe, 0xff, 0xc7, 0xc0, 0xf0, 0xff, 0xff, 0x81, 0xc0, 0xe0, 0x70, 0x9e, \
+ 0x8f, 0xbf, 0xf8, 0xf0, 0x80, 0xc1, 0xe3, 0x7f, 0xff, 0xff, 0x83, 0x83, 0x83, 0xc1, 0xfc, 0xfe, \
+ 0xff, 0x83, 0x83, 0xdf, 0xff, 0x7e, 0x18, 0x18, 0xfe, 0xff, 0xfb, 0x1c, 0x06, 0xff, 0xff, 0xff, \
+ 0x3c, 0x0e, 0xe7, 0xff, 0xff, 0x80, 0xc0, 0xe0, 0x60, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x0f, 0x0f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, \
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0x07, 0x03, 0x03, 0x0f, 0x3f, 0x7c, 0xf8, 0xe0, 0x80, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, \
+ 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, \
+ 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, \
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, \
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x38, 0x20, 0x40, 0x40, \
+ 0x40, 0x40, 0x43, 0x43, 0x43, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x43, 0x40, 0x40, \
+ 0x40, 0x40, 0x43, 0x43, 0x43, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x43, 0x43, 0x43, 0x40, \
+ 0x40, 0x40, 0x60, 0x30, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+uint16_t startup_timer = 0;
+bool redrawn_splash = false;
+
+
+#ifdef BONGOCAT
+
+
+#define ANIM_FRAME_DURATION 75
+#define IDLE_FRAMES 5
+#define IDLE_TIMEOUT 750
+#define SLEEP_TIMEOUT 15000
+
+
+static const uint8_t bongofont[] PROGMEM = { \
+ 0xC1, 0xC1, 0xC2, 0x04, 0x08, 0x10, \
+ 0xC0, 0x38, 0x04, 0x03, 0x00, 0x00, \
+ 0xA0, 0x22, 0x24, 0x14, 0x12, 0x12, \
+ 0xA0, 0x21, 0x22, 0x12, 0x11, 0x11, \
+ 0x83, 0x7C, 0x41, 0x41, 0x40, 0x40, \
+ 0x82, 0x82, 0x84, 0x08, 0x10, 0x20, \
+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, \
+ 0x80, 0x70, 0x19, 0x06, 0x00, 0x00, \
+ 0x80, 0x70, 0x0C, 0x03, 0x00, 0x00, \
+ 0x80, 0x00, 0x30, 0x30, 0x00, 0xC0, \
+ 0x80, 0x00, 0x30, 0x30, 0x00, 0x00, \
+ 0x49, 0x88, 0x08, 0x08, 0x08, 0x00, \
+ 0x44, 0x84, 0x04, 0x04, 0x00, 0x00, \
+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, \
+ 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, \
+ 0x3C, 0xC2, 0x01, 0x01, 0x02, 0x02, \
+ 0x35, 0x01, 0x8A, 0x7C, 0x00, 0x00, \
+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, \
+ 0x20, 0x21, 0x22, 0x12, 0x11, 0x11, \
+ 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, \
+ 0x1E, 0xE1, 0x00, 0x00, 0x01, 0x01, \
+ 0x1C, 0xE2, 0x01, 0x01, 0x02, 0x02, \
+ 0x18, 0x64, 0x82, 0x02, 0x02, 0x02, \
+ 0x18, 0x60, 0x80, 0x00, 0x00, 0x00, \
+ 0x18, 0x18, 0x1B, 0x03, 0x00, 0x40, \
+ 0x18, 0x06, 0x05, 0x98, 0x99, 0x84, \
+ 0x12, 0x0B, 0x08, 0x08, 0x08, 0x08, \
+ 0x11, 0x09, 0x08, 0x08, 0x08, 0x08, \
+ 0x10, 0x10, 0xD0, 0x11, 0x0F, 0x21, \
+ 0x10, 0x10, 0x10, 0x11, 0x0F, 0x01, \
+ 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, \
+ 0x10, 0x08, 0x04, 0x02, 0x02, 0x04, \
+ 0x0C, 0x30, 0x40, 0x80, 0x00, 0x00, \
+ 0x0C, 0x0C, 0x0D, 0x01, 0x00, 0x40, \
+ 0x08, 0xE8, 0x08, 0x07, 0x10, 0x24, \
+ 0x08, 0x30, 0x40, 0x80, 0x00, 0x00, \
+ 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, \
+ 0x08, 0x08, 0x04, 0x02, 0x02, 0x02, \
+ 0x08, 0x04, 0x02, 0x01, 0x01, 0x02, \
+ 0x05, 0x05, 0x09, 0x09, 0x10, 0x10, \
+ 0x04, 0x38, 0x40, 0x80, 0x00, 0x00, \
+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, \
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, \
+ 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, \
+ 0x02, 0x02, 0x81, 0x80, 0x80, 0x00, \
+ 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, \
+ 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, \
+ 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, \
+ 0x01, 0xE1, 0x1A, 0x06, 0x09, 0x31, \
+ 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, \
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, \
+ 0x00, 0x80, 0x40, 0x40, 0x20, 0x20, \
+ 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, \
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x81, \
+ 0x00, 0x00, 0x01, 0x01, 0x00, 0x40, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+
+static const uint8_t bongo_line_x[] = {51, 49, 48, 57};
+static const uint8_t bongo_line_y[] = {0, 8, 16, 24};
+static const uint8_t bongo_line_len[] = {5, 7, 8, 6};
+
+const uint8_t bongo_line_data[8][26] PROGMEM = {
+ { //idle1
+ 60, 52, 19, 30, 35, \
+ 22, 47, 51, 60, 9, 0, 17, \
+ 1, 57, 33, 3, 27, 41, 29, 50, \
+ 45, 36, 60, 60, 60, 60}, \
+ { //idle2
+ 60, 52, 19, 30, 35, \
+ 22, 47, 51, 60, 9, 0, 17, \
+ 1, 57, 33, 3, 27, 41, 29, 50, \
+ 45, 36, 60, 60, 60, 60}, \
+ { //idle3
+ 60, 53, 14, 31, 23, \
+ 15, 43, 60, 60, 54, 5, 13, \
+ 7, 56, 24, 2, 26, 39, 29, 50, \
+ 45, 36, 60, 60, 60, 60}, \
+ { //idle4
+ 6, 52, 19, 38, 32, \
+ 20, 47, 51, 60, 9, 0, 17, \
+ 8, 57, 33, 3, 27, 41, 29, 50, \
+ 45, 36, 60, 60, 60, 60}, \
+ { //idle5
+ 60, 52, 19, 37, 40, \
+ 21, 47, 51, 60, 9, 0, 17, \
+ 8, 57, 33, 3, 27, 41, 29, 50, \
+ 45, 36, 60, 60, 60, 60}, \
+ { //prep
+ 6, 52, 19, 38, 32, \
+ 20, 44, 51, 60, 10, 48, 16, \
+ 8, 25, 4, 18, 27, 42, 46, 50, \
+ 60, 60, 60, 60, 60, 60}, \
+ { //tap1
+ 6, 52, 19, 38, 32, \
+ 20, 44, 51, 60, 10, 49, 17, \
+ 8, 25, 4, 18, 27, 41, 28, 11, \
+ 60, 60, 60, 60, 58, 59}, \
+ { //tap2
+ 6, 52, 19, 38, 32, \
+ 20, 47, 51, 60, 10, 48, 16, \
+ 8, 60, 55, 3, 27, 42, 46, 50, \
+ 45, 34, 12, 60, 60, 60}
+};
+
+enum anin_states { sleep, idle, prep, tap };
+uint8_t anim_state = idle;
+uint32_t idle_timeout_timer = 0;
+uint32_t anim_timer = 0;
+uint8_t current_idle_frame = 0;
+uint8_t current_tap_frame = 6;
+uint8_t last_bongo_frame = 12;
+
+void write_bongochar_at_pixel_xy(uint8_t x, uint8_t y, uint8_t data, bool invert) {
+ uint8_t i, j, temp;
+ for (i = 0; i < 6 ; i++) { // 6 = font width
+ temp = pgm_read_byte(&bongofont[data * 6]+i);
+ for (j = 0; j < 8; j++) { // 8 = font height
+ if (temp & 0x01) {
+ oled_write_pixel(x + i, y + j, !invert);
+ } else {
+ oled_write_pixel(x + i, y + j, invert);
+ }
+ temp >>= 1;
+ }
+ }
+}
+
+bool is_key_down(void) {
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ if (matrix[i] > 0) {
+ return true;
+ }
+ }
+ return false;
+}
+
+void eval_anim_state(void) {
+ bool key_down;
+ key_down = is_key_down();
+
+ switch (anim_state) {
+ case sleep:
+ if(key_down) { anim_state = tap; }
+ break;
+ case idle:
+ if(key_down) { anim_state = tap; }
+ else if (timer_elapsed32(idle_timeout_timer) >= SLEEP_TIMEOUT) //prep to idle
+ {
+ anim_state = sleep;
+ current_idle_frame = 0;
+ }
+ break;
+ case prep:
+ if(key_down) { anim_state = tap; }
+ else if (timer_elapsed32(idle_timeout_timer) >= IDLE_TIMEOUT) //prep to idle
+ {
+ anim_state = idle;
+ current_idle_frame = 0;
+ }
+ break;
+ case tap:
+ if (!key_down)
+ {
+ anim_state = prep;
+ idle_timeout_timer = timer_read32();
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void draw_bongo_table(void) {
+ //draws the table edge for bongocat, this edge doesn't change during the animation
+ uint8_t i;
+ uint8_t y = 31;
+ uint8_t j = 0;
+ for (i = 17; i < 57; i++) {
+ oled_write_pixel(i, y, true); //every five horizontal pixels, move up one pixel to make a diagonal line
+ if (j == 4) {
+ --y;
+ j=0;
+ } else {
+ j++;
+ }
+ }
+
+ y=15;
+ j=0;
+ for (i = 91; i < 128; i++) {
+
+ oled_write_pixel(i, y, true); //every four horizontal pixels, move up one pixel to make a diagonal line
+ if (j == 3) {
+ --y;
+ j=0;
+ } else {
+ j++;
+ }
+ }
+
+
+}
+
+
+void draw_bongocat_frame(int framenumber) {
+ //only redraw if the animation frame has changed
+ if (framenumber != last_bongo_frame) {
+ last_bongo_frame = framenumber;
+ uint8_t i, j, current_bongochar = 0;
+ for (i = 0; i < 4; i++) {
+ for (j = 0; j < bongo_line_len[i]; j++) {
+ write_bongochar_at_pixel_xy(bongo_line_x[i] + j*6, bongo_line_y[i], pgm_read_byte(&bongo_line_data[framenumber][current_bongochar]), false);
+ current_bongochar++;
+ }
+ }
+ }
+
+}
+
+bool is_new_tap(void) {
+ static matrix_row_t old_matrix[] = { 0, 0, 0, 0, 0, 0 };
+ bool new_tap = false;
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ if (matrix[i] > old_matrix[i]) { // more 1's detected, there was a new tap
+ new_tap = true;
+ }
+ old_matrix[i] = matrix[i];
+ }
+ return new_tap;
+}
+
+void draw_bongocat(void) {
+ static bool already_tapped = false;
+ if (is_new_tap()) {
+ already_tapped = false;
+ };
+ eval_anim_state();
+ switch (anim_state) {
+ case sleep:
+ draw_bongocat_frame(4);
+ break;
+ case idle:
+ draw_bongocat_frame(4 - current_idle_frame);
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ current_idle_frame = (current_idle_frame + 1) % 5;
+ anim_timer = timer_read32();
+ }
+ break;
+ case prep:
+ draw_bongocat_frame(5);
+ already_tapped = false;
+ break;
+ case tap:
+ draw_bongocat_frame(current_tap_frame);
+ if (already_tapped == false) {
+ if (current_tap_frame == 6) {
+ current_tap_frame = 7;
+ }
+ else {
+ current_tap_frame = 6;
+ }
+ }
+ already_tapped = true;
+ break;
+ default:
+ draw_bongocat_frame(4);
+ already_tapped = false;
+ break;
+
+ }
+}
+
+#endif //BONGOCAT
+
+void draw_splash(void) {
+ uint8_t i, j, k, temp;
+ uint16_t count;
+ count = 0;
+ temp = pgm_read_byte(&splash[count]);
+ for (i = 0; i < 4 ; i++) {
+ for (j = 0; j < 128; j++) {
+ for (k = 0; k < 8; k++) {
+ if (temp & 0x01) {
+ oled_write_pixel(j, (i * 8) + k, true);
+ } else {
+ oled_write_pixel(j, (i * 8) + k, false);
+ }
+ temp >>= 1;
+
+ }
+ temp = pgm_read_byte(&splash[++count]);
+ }
+ }
+}
+
+void draw_media_arrow(uint8_t x, uint8_t y, bool fwd) {
+ draw_line_v(x, y, 7, true);
+ draw_line_v(x+4, y, 7, true);
+ draw_line_v(x+2, y+2, 3, true);
+ if (fwd) {
+ draw_line_v(x+1, y+1, 5, true);
+ oled_write_pixel(x+3, y+3, true);
+ } else {
+ draw_line_v(x+3, y+1, 5, true);
+ oled_write_pixel(x+1, y+3, true);
+ }
+}
+
+void draw_enc_mode(void){
+ write_chars_at_pixel_xy(enc_mode_str_startpos[user_config.enc_mode], ENC_DISPLAY_Y + 2, enc_mode_str[user_config.enc_mode], false);
+ if (user_config.enc_mode == ENC_MEDIA) {
+ draw_media_arrow(enc_mode_str_startpos[user_config.enc_mode] - 16, ENC_DISPLAY_Y + 2, false);
+ draw_media_arrow(enc_mode_str_startpos[user_config.enc_mode] + 88, ENC_DISPLAY_Y + 2, true);
+ }
+}
+
+void draw_keyboard_locks(void) {
+ led_t led_state = host_keyboard_led_state();
+ draw_text_rectangle(CAPSLOCK_DISPLAY_X, CAPSLOCK_DISPLAY_Y, 5 + (3 * 6), "CAP", led_state.caps_lock);
+ draw_text_rectangle(NUMLOCK_DISPLAY_X, NUMLOCK_DISPLAY_Y, 5 + (3 * 6), "NUM", led_state.num_lock);
+}
+
+
+/* Encoder handling functions */
+
+__attribute__((weak)) void set_custom_encoder_mode_user(bool custom_encoder_mode) {}
+
+void update_custom_encoder_mode_user(void) {
+#ifdef BONGOCAT
+ set_custom_encoder_mode_user((user_config.enc_mode == ENC_CUSTOM) || (user_config.enc_mode == ENC_SPLASH) || (user_config.enc_mode == ENC_BONGO));
+#else
+ set_custom_encoder_mode_user((user_config.enc_mode == ENC_CUSTOM) || (user_config.enc_mode == ENC_SPLASH));
+#endif
+}
+
+void update_kb_eeprom(void) {
+ eeconfig_update_kb(user_config.raw);
+}
+
+void update_breathing(void);
+void matrix_init_kb(void) {
+
+ user_config.raw = eeconfig_read_kb();
+ if (user_config.enc_mode == 0xFF) { //EEPROM was cleared
+ user_config.enc_mode = 0;
+ user_config.oled_is_on = true;
+ user_config.breathingperiod = 1;
+ update_kb_eeprom();
+
+ }
+ startup_delay = true;
+ update_custom_encoder_mode_user();
+ matrix_init_user();
+}
+
+void handle_encoder_switch_process_record(keyrecord_t *record) {
+
+ static uint32_t encoder_press_timer = 0;
+ if (record->event.pressed) {
+ if (!user_config.oled_is_on) {
+ oled_on();
+ user_config.oled_is_on = true;
+ OLED_awakened = true;
+ OLED_redraw = true;
+ update_kb_eeprom();
+ }
+ encoder_press_timer = timer_read32();
+ } else {
+ if (OLED_awakened == true) {
+ OLED_awakened = false;
+ } else {
+ if (timer_elapsed32(encoder_press_timer) < 300) {
+
+ if (get_mods() & MOD_MASK_SHIFT) {
+ user_config.enc_mode = (user_config.enc_mode + (num_enc_modes- 1)) % num_enc_modes;
+ } else {
+ user_config.enc_mode = (user_config.enc_mode + 1) % num_enc_modes;
+ }
+ OLED_redraw = true;
+ update_custom_encoder_mode_user();
+ update_kb_eeprom();
+ } else {
+ OLED_redraw = false;
+ oled_clear();
+ user_config.oled_is_on = false;
+ update_kb_eeprom();
+ }
+ }
+ }
+
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.key.row == ENCODER_MATRIX_ROW && record->event.key.col == ENCODER_MATRIX_COL){
+ handle_encoder_switch_process_record(record);
+ }
+ return process_record_user(keycode, record);
+}
+
+void update_breathing(void) {
+ if (user_config.breathingperiod == 1) {
+ breathing_disable();
+ }
+ else {
+ breathing_period_set(user_config.breathingperiod);
+ breathing_enable();
+ }
+ update_kb_eeprom();
+}
+
+
+void backlight_breath_change(bool increase) { //increase period or decrease period
+ if ((increase) && (user_config.breathingperiod < 15)) {
+ user_config.breathingperiod++;
+ update_breathing();
+ }
+ if (!increase) {
+ if (user_config.breathingperiod > 2) {
+ user_config.breathingperiod--;
+ update_breathing();
+ }
+ else {
+ user_config.breathingperiod = 1;
+ update_breathing();
+
+
+ }
+ }
+}
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) return false;
+ switch (user_config.enc_mode) {
+ case ENC_RGB_MODE :
+ if (clockwise) {
+ rgblight_step();
+ } else {
+ rgblight_step_reverse();
+ }
+ break;
+ case ENC_RGB_BRIGHT :
+ if (clockwise) {
+ rgblight_increase_val();
+ } else {
+ rgblight_decrease_val();
+ }
+ break;
+ case ENC_BL_BRIGHT :
+ if (clockwise) {
+ backlight_increase();
+ } else {
+ backlight_decrease();
+ }
+ break;
+ case ENC_BL_BREATH :
+ backlight_breath_change(clockwise);
+ break;
+ case ENC_RGB_COLOR :
+ if (clockwise) {
+ rgblight_increase_hue();
+ } else {
+ rgblight_decrease_hue();
+ }
+ break;
+ default:
+ if (clockwise) {
+ tap_code(enc_cw[user_config.enc_mode]);
+ } else {
+ tap_code(enc_ccw[user_config.enc_mode]);
+ }
+ }
+ return true;
+}
+
+
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+ led_t current_led_state = host_keyboard_led_state();
+ uint8_t current_layer = get_highest_layer(layer_state);
+ if (startup_delay) {
+ startup_timer = timer_read();
+ startup_delay = false;
+ startup_complete = false;
+ starting_up = true;
+ OLED_redraw = false;
+ }
+ else if (starting_up) {
+ if (timer_elapsed(startup_timer) >= 200) {
+ update_breathing();
+ startup_complete = true;
+ starting_up = false;
+ if (user_config.oled_is_on) {
+ oled_on();
+ OLED_redraw = true;
+ } else
+ {
+ oled_clear();
+ user_config.oled_is_on = false;
+ }
+ }
+ }
+ if (startup_complete) {
+ if (user_config.enc_mode == ENC_SPLASH) {
+ if (user_config.oled_is_on && OLED_redraw) {
+ draw_splash();
+ }
+ }
+ #ifdef BONGOCAT
+ else if (user_config.enc_mode == ENC_BONGO) {
+ if (user_config.oled_is_on) {
+ if (OLED_redraw) {
+ oled_clear();
+ last_bongo_frame = 12; //force a redraw
+ draw_bongo_table();
+ OLED_redraw = false;
+ }
+ draw_bongocat();
+
+ }
+
+ }
+ #endif //BONGOCAT
+ else {
+ if (user_config.oled_is_on && (
+ OLED_redraw
+ || (prev_layer != current_layer)
+ || (prev_capslock != current_led_state.caps_lock)
+ || (prev_numlock != current_led_state.num_lock))) {
+
+ prev_layer = current_layer;
+ prev_capslock = current_led_state.caps_lock;
+ prev_numlock = current_led_state.num_lock;
+
+ oled_clear();
+ draw_keyboard_layer();
+ draw_keyboard_locks();
+ draw_enc_mode();
+ }
+ }
+ OLED_redraw = false;
+ }
+
+}
+
diff --git a/keyboards/custommk/evo70/evo70.h b/keyboards/custommk/evo70/evo70.h
new file mode 100644
index 0000000000..2766da19c9
--- /dev/null
+++ b/keyboards/custommk/evo70/evo70.h
@@ -0,0 +1,34 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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( \
+ K11, K61, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K62, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
+ K66, K31, K63, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K57, K55, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
+ K52, K54, K65, K51, K53, K56, K67, E00A, K59, K5A, E00B, K5C, K5D, K5E \
+) { \
+ { K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+ { K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+ { K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
+ { K51, K52, K53, K54, K55, K56, K57, E00A, K59, K5A, E00B, K5C, K5D, K5E }, \
+ { K61, K62, K63, KC_NO, K65, K66, K67, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
+}
diff --git a/keyboards/custommk/evo70/info.json b/keyboards/custommk/evo70/info.json
new file mode 100644
index 0000000000..f3d132fd79
--- /dev/null
+++ b/keyboards/custommk/evo70/info.json
@@ -0,0 +1,111 @@
+{
+ "keyboard_name": "EVO70",
+ "url": "https://www.customMK.com",
+ "maintainer": "customMK",
+ "manufacturer": "customMK",
+ "tags": ["70%", "encoder", "underglow", "backlight"],
+ "usb": {
+ "vid": "0xF35B",
+ "pid": "0xFAB5",
+ "device_version": "0.0.1"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["F1", "F4", "E6", "B1", "B7", "B0", "E2", "D4", "D6", "D7", "B4", "B3", "B6", "C6"],
+ "rows": ["D3", "D2", "F7", "F6", "F5", "F0"]
+
+ },
+ "debounce": 5,
+ "processor": "atmega32u4",
+ "rgblight": {
+ "led_count": 48,
+ "pin": "B2",
+ "hue_steps": 4,
+ "saturation_steps": 8,
+ "brightness_steps": 4,
+ "animations": {
+ "all": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"KC_ESC", "x":2.5, "y":1.1},
+ {"label":"KC_1", "x":3.5, "y":1.1},
+ {"label":"KC_2", "x":4.5, "y":1.1},
+ {"label":"KC_3", "x":5.5, "y":1.1},
+ {"label":"KC_4", "x":6.5, "y":1.1},
+ {"label":"KC_5", "x":7.5, "y":1.1},
+ {"label":"KC_6", "x":8.5, "y":1.1},
+ {"label":"KC_7", "x":9.5, "y":1.1},
+ {"label":"KC_8", "x":10.5, "y":1.1},
+ {"label":"KC_9", "x":11.5, "y":1.1},
+ {"label":"KC_0", "x":12.5, "y":1.1},
+ {"label":"KC_MINS", "x":13.5, "y":1.1},
+ {"label":"KC_EQL", "x":14.5, "y":1.1},
+ {"label":"KC_BSPC", "x":15.5, "y":1.1, "w":2},
+ {"label":"KC_DEL", "x":17.5, "y":1.1},
+ {"label":"KC_TAB", "x":2.5, "y":2.1, "w":1.5},
+ {"label":"KC_Q", "x":4, "y":2.1},
+ {"label":"KC_W", "x":5, "y":2.1},
+ {"label":"KC_E", "x":6, "y":2.1},
+ {"label":"KC_R", "x":7, "y":2.1},
+ {"label":"KC_T", "x":8, "y":2.1},
+ {"label":"KC_Y", "x":9, "y":2.1},
+ {"label":"KC_U", "x":10, "y":2.1},
+ {"label":"KC_I", "x":11, "y":2.1},
+ {"label":"KC_O", "x":12, "y":2.1},
+ {"label":"KC_P", "x":13, "y":2.1},
+ {"label":"KC_LBRC", "x":14, "y":2.1},
+ {"label":"KC_RBRC", "x":15, "y":2.1},
+ {"label":"KC_BSLS", "x":16, "y":2.1, "w":1.5},
+ {"label":"KC_PGUP", "x":17.5, "y":2.1},
+ {"label":"KC_F1", "x":0, "y":3.1},
+ {"label":"KC_F2", "x":1, "y":3.1},
+ {"label":"KC_CAPS", "x":2.5, "y":3.1, "w":1.75},
+ {"label":"KC_A", "x":4.25, "y":3.1},
+ {"label":"KC_S", "x":5.25, "y":3.1},
+ {"label":"KC_D", "x":6.25, "y":3.1},
+ {"label":"KC_F", "x":7.25, "y":3.1},
+ {"label":"KC_G", "x":8.25, "y":3.1},
+ {"label":"KC_H", "x":9.25, "y":3.1},
+ {"label":"KC_J", "x":10.25, "y":3.1},
+ {"label":"KC_K", "x":11.25, "y":3.1},
+ {"label":"KC_L", "x":12.25, "y":3.1},
+ {"label":"KC_SCLN", "x":13.25, "y":3.1},
+ {"label":"KC_QUOT", "x":14.25, "y":3.1},
+ {"label":"KC_ENT", "x":15.25, "y":3.1, "w":2.25},
+ {"label":"KC_PGDN", "x":17.5, "y":3.1},
+ {"label":"KC_F3", "x":0, "y":4.1},
+ {"label":"KC_F4", "x":1, "y":4.1},
+ {"label":"KC_LSFT", "x":2.5, "y":4.1, "w":2.25},
+ {"label":"KC_Z", "x":4.75, "y":4.1},
+ {"label":"KC_X", "x":5.75, "y":4.1},
+ {"label":"KC_C", "x":6.75, "y":4.1},
+ {"label":"KC_V", "x":7.75, "y":4.1},
+ {"label":"KC_B", "x":8.75, "y":4.1},
+ {"label":"KC_N", "x":9.75, "y":4.1},
+ {"label":"KC_M", "x":10.75, "y":4.1},
+ {"label":"KC_COMM", "x":11.75, "y":4.1},
+ {"label":"KC_DOT", "x":12.75, "y":4.1},
+ {"label":"KC_SLSH", "x":13.75, "y":4.1},
+ {"label":"KC_RSFT", "x":14.75, "y":4.1, "w":1.75},
+ {"label":"KC_UP", "x":16.5, "y":4.1},
+ {"label":"KC_END", "x":17.5, "y":4.1},
+ {"label":"KC_F5", "x":0, "y":5.1},
+ {"label":"KC_F6", "x":1, "y":5.1},
+ {"label":"KC_LCTL", "x":2.5, "y":5.1, "w":1.25},
+ {"label":"KC_LGUI", "x":3.75, "y":5.1, "w":1.25},
+ {"label":"KC_LALT", "x":5, "y":5.1, "w":1.25},
+ {"label":"KC_SPC", "x":6.25, "y":5.1, "w":6.25},
+ {"label":"KC_TRNS", "x":0.5, "y":1.1},
+ {"label":"KC_VOLD", "x":0, "y":0},
+ {"label":"KC_RALT", "x":12.5, "y":5.1, "w":1.25},
+ {"label":"KC_RCTL", "x":13.75, "y":5.1, "w":1.25},
+ {"label":"KC_VOLU", "x":1, "y":0},
+ {"label":"KC_LEFT", "x":15.5, "y":5.1},
+ {"label":"KC_DOWN", "x":16.5, "y":5.1},
+ {"label":"KC_RGHT", "x":17.5, "y":5.1}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/custommk/evo70/keymaps/default/keymap.c b/keyboards/custommk/evo70/keymaps/default/keymap.c
new file mode 100644
index 0000000000..795f10fdec
--- /dev/null
+++ b/keyboards/custommk/evo70/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_PGUP,
+ KC_F1, KC_F2, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_F3, KC_F4, 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_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_VOLD, KC_RALT, KC_RCTL, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F7, KC_F8, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F9, KC_F10, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
diff --git a/keyboards/custommk/evo70/keymaps/default/readme.md b/keyboards/custommk/evo70/keymaps/default/readme.md
new file mode 100644
index 0000000000..427180663d
--- /dev/null
+++ b/keyboards/custommk/evo70/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# Default EVO70 Layout
+
+This is the default layout for EVO70. \ No newline at end of file
diff --git a/keyboards/custommk/evo70/keymaps/via/keymap.c b/keyboards/custommk/evo70/keymaps/via/keymap.c
new file mode 100644
index 0000000000..68687d6c1a
--- /dev/null
+++ b/keyboards/custommk/evo70/keymaps/via/keymap.c
@@ -0,0 +1,98 @@
+/* Copyright 2021 customMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_PGUP,
+ KC_F1, KC_F2, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_F3, KC_F4, 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_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_VOLD, KC_RALT, KC_RCTL, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F7, KC_F8, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F9, KC_F10, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
+
+static bool custom_encoder_mode = false;
+
+void set_custom_encoder_mode_user(bool custom_mode) {
+ custom_encoder_mode = custom_mode;
+}
+
+
+keyevent_t encoder_ccw = {
+ .key = (keypos_t){.row = 4, .col = 7},
+ .pressed = false
+};
+
+keyevent_t encoder_cw = {
+ .key = (keypos_t){.row = 4, .col = 10},
+ .pressed = false
+};
+
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (custom_encoder_mode) {
+ if (clockwise) {
+ encoder_cw.pressed = true;
+ encoder_cw.time = (timer_read() | 1);
+ action_exec(encoder_cw);
+ }
+ else {
+ encoder_ccw.pressed = true;
+ encoder_ccw.time = (timer_read() | 1);
+ action_exec(encoder_ccw);
+ }
+ return false;
+ }
+ return true;
+}
+
+void matrix_scan_user(void) {
+ if (IS_PRESSED(encoder_ccw)) {
+ encoder_ccw.pressed = false;
+ encoder_ccw.time = (timer_read() | 1);
+ action_exec(encoder_ccw);
+ }
+
+ if (IS_PRESSED(encoder_cw)) {
+ encoder_cw.pressed = false;
+ encoder_cw.time = (timer_read() | 1);
+ action_exec(encoder_cw);
+ }
+} \ No newline at end of file
diff --git a/keyboards/custommk/evo70/keymaps/via/readme.md b/keyboards/custommk/evo70/keymaps/via/readme.md
new file mode 100644
index 0000000000..19f936fac7
--- /dev/null
+++ b/keyboards/custommk/evo70/keymaps/via/readme.md
@@ -0,0 +1,3 @@
+# EVO70 Layout for VIA
+
+This is the via layout for the EVO70. It is identical to the default layout except VIA is enabled. \ No newline at end of file
diff --git a/keyboards/gentleman65/keymaps/via/rules.mk b/keyboards/custommk/evo70/keymaps/via/rules.mk
index 43061db1dd..43061db1dd 100644
--- a/keyboards/gentleman65/keymaps/via/rules.mk
+++ b/keyboards/custommk/evo70/keymaps/via/rules.mk
diff --git a/keyboards/custommk/evo70/readme.md b/keyboards/custommk/evo70/readme.md
new file mode 100644
index 0000000000..05c051ff80
--- /dev/null
+++ b/keyboards/custommk/evo70/readme.md
@@ -0,0 +1,21 @@
+# EVO70
+
+EVO70 is a 70% keyboard (65% w/left side function cluster) designed and produced by customMK.
+
+![EVO70](https://i.imgur.com/JBiQF8Ch.jpg)
+
+* Keyboard Maintainer: [customMK](https://github.com/customMK)
+* Hardware Supported: EVO70
+* Hardware Availability: [customMK](https://shop.custommk.com/collections/evo70/products/evo70)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make custommk/evo70:default
+
+Flashing example for this keyboard:
+
+ make custommk/evo70:default:flash
+
+EVO70 has qmk-dfu bootloader preinstalled. To enter the bootloader, run the flashing command above, and then either plug in the USB connection while holding the top-left key, or alternatively, plug in the USB connection and then press the reset button on the PCB
+
+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/custommk/evo70/rules.mk b/keyboards/custommk/evo70/rules.mk
new file mode 100644
index 0000000000..5676d945f9
--- /dev/null
+++ b/keyboards/custommk/evo70/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = qmk-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+LTO_ENABLE = yes
diff --git a/keyboards/custommk/genesis/rev1/config.h b/keyboards/custommk/genesis/rev1/config.h
index 3393c53302..9eaa4ddd76 100644
--- a/keyboards/custommk/genesis/rev1/config.h
+++ b/keyboards/custommk/genesis/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF35B
-#define PRODUCT_ID 0xFAB0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER customMK
-#define PRODUCT GenesisRev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, C7, C6, B6, B5 }
#define MATRIX_COL_PINS { F4, F5, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/custommk/genesis/rev1/info.json b/keyboards/custommk/genesis/rev1/info.json
index a000b9cfbb..ef7838af56 100644
--- a/keyboards/custommk/genesis/rev1/info.json
+++ b/keyboards/custommk/genesis/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Genesis Rev1",
+ "manufacturer": "customMK",
"url": "https://www.customMK.com",
"maintainer": "customMK",
+ "usb": {
+ "vid": "0xF35B",
+ "pid": "0xFAB0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [{"label":"MO(1)", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"Mute", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"Pg Up", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Pg Dn", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"Spc", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}]
diff --git a/keyboards/custommk/genesis/rev2/config.h b/keyboards/custommk/genesis/rev2/config.h
index cbfda53f14..0f4eb64efe 100644
--- a/keyboards/custommk/genesis/rev2/config.h
+++ b/keyboards/custommk/genesis/rev2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF35B
-#define PRODUCT_ID 0xFAB1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER customMK
-#define PRODUCT GenesisRev2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, C7, C6, B6, B5, B0}
#define MATRIX_COL_PINS { F4, F5, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/custommk/genesis/rev2/info.json b/keyboards/custommk/genesis/rev2/info.json
index 16501ca1d1..8c94f48eab 100644
--- a/keyboards/custommk/genesis/rev2/info.json
+++ b/keyboards/custommk/genesis/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Genesis Rev2",
+ "manufacturer": "customMK",
"url": "https://www.customMK.com",
"maintainer": "customMK",
+ "usb": {
+ "vid": "0xF35B",
+ "pid": "0xFAB1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [{"label":"MO(1)", "x":0, "y":0},
diff --git a/keyboards/cutie_club/borsdorf/config.h b/keyboards/cutie_club/borsdorf/config.h
index 07452fdfb0..6d77293aea 100644
--- a/keyboards/cutie_club/borsdorf/config.h
+++ b/keyboards/cutie_club/borsdorf/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB9C
-#define PRODUCT_ID 0x6D8A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Cutie Club
-#define PRODUCT Borsdorf
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A15, A14, B12, B5, B4 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/borsdorf/info.json b/keyboards/cutie_club/borsdorf/info.json
index 2f3941ba6e..b7fca0f340 100644
--- a/keyboards/cutie_club/borsdorf/info.json
+++ b/keyboards/cutie_club/borsdorf/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Borsdorf",
+ "manufacturer": "Cutie Club",
"url": "",
"maintainer": "Cutie Club",
+ "usb": {
+ "vid": "0xFB9C",
+ "pid": "0x6D8A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cutie_club/giant_macro_pad/config.h b/keyboards/cutie_club/giant_macro_pad/config.h
index c6ef81309d..7d306a44c8 100755
--- a/keyboards/cutie_club/giant_macro_pad/config.h
+++ b/keyboards/cutie_club/giant_macro_pad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB9C
-#define PRODUCT_ID 0x74B6
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Cutie Club
-#define PRODUCT Cupar19 Giant Macro Pad
-
/* key matrix size */
#define MATRIX_ROWS 20
#define MATRIX_COLS 20
@@ -34,7 +27,6 @@
*/
#define MATRIX_ROW_PINS { C10, C11, C12, D2, B3, B4, B5, B6, B7, B8, A3, B2, B1, B0, C5, C4, A7, A6, A5, A4 }
#define MATRIX_COL_PINS { C9, C8, C7, C6, B15, B14, B13, B12, A8, A15, B9, A2, A1, A0, C3, C2, C1, C0, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/giant_macro_pad/info.json b/keyboards/cutie_club/giant_macro_pad/info.json
index f8225fdae7..c85bda93f3 100644
--- a/keyboards/cutie_club/giant_macro_pad/info.json
+++ b/keyboards/cutie_club/giant_macro_pad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cupar19 Giant Macro Pad",
+ "manufacturer": "Cutie Club",
"url": "",
"maintainer": "cutie-club",
+ "usb": {
+ "vid": "0xFB9C",
+ "pid": "0x74B6",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_ortho_20x20"
},
diff --git a/keyboards/cutie_club/keebcats/denis/config.h b/keyboards/cutie_club/keebcats/denis/config.h
index f7c21efe5e..ada603ab48 100644
--- a/keyboards/cutie_club/keebcats/denis/config.h
+++ b/keyboards/cutie_club/keebcats/denis/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB9C
-#define PRODUCT_ID 0xB260
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Cutie Club
-#define PRODUCT Keebcats Denis 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@
*/
#define MATRIX_ROW_PINS { B2, D0, F5, F4, F1 }
#define MATRIX_COL_PINS { E6, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1 }
-#define UNUSED_PINS { B0, B1, B7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/keebcats/denis/info.json b/keyboards/cutie_club/keebcats/denis/info.json
index 72a84e62e8..0857feb552 100644
--- a/keyboards/cutie_club/keebcats/denis/info.json
+++ b/keyboards/cutie_club/keebcats/denis/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keebcats Denis",
+ "keyboard_name": "Keebcats Denis 80",
+ "manufacturer": "Cutie Club",
"url": "",
"maintainer": "Cutie Club",
+ "usb": {
+ "vid": "0xFB9C",
+ "pid": "0xB260",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cutie_club/keebcats/dougal/config.h b/keyboards/cutie_club/keebcats/dougal/config.h
index 00d3f3a82d..e59732a56b 100644
--- a/keyboards/cutie_club/keebcats/dougal/config.h
+++ b/keyboards/cutie_club/keebcats/dougal/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB9C
-#define PRODUCT_ID 0xB265
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Cutie Club
-#define PRODUCT Keebcats Dougal 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@
*/
#define MATRIX_ROW_PINS { B2, D0, F5, F4, F1 }
#define MATRIX_COL_PINS { E6, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, B7 }
-#define UNUSED_PINS { B0, B1, B3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/keebcats/dougal/info.json b/keyboards/cutie_club/keebcats/dougal/info.json
index f637be7a1a..2ed09a9e49 100644
--- a/keyboards/cutie_club/keebcats/dougal/info.json
+++ b/keyboards/cutie_club/keebcats/dougal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keebcats Dougal",
+ "keyboard_name": "Keebcats Dougal 65",
+ "manufacturer": "Cutie Club",
"url": "",
"maintainer": "Cutie Club",
+ "usb": {
+ "vid": "0xFB9C",
+ "pid": "0xB265",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/cutie_club/novus/config.h b/keyboards/cutie_club/novus/config.h
index 842ec901d0..6c601e729e 100644
--- a/keyboards/cutie_club/novus/config.h
+++ b/keyboards/cutie_club/novus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB9C
-#define PRODUCT_ID 0x3F42
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Cutie Club
-#define PRODUCT Novus
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B6, C6, C7, B2, B3, D0, D1, D2, D3, D7, B4, B5, D5, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/novus/info.json b/keyboards/cutie_club/novus/info.json
index 9e111e0a87..ce7e993efd 100644
--- a/keyboards/cutie_club/novus/info.json
+++ b/keyboards/cutie_club/novus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Novus",
+ "manufacturer": "Cutie Club",
"url": "",
"maintainer": "Cutie Club",
+ "usb": {
+ "vid": "0xFB9C",
+ "pid": "0x3F42",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift"
},
diff --git a/keyboards/cutie_club/wraith/config.h b/keyboards/cutie_club/wraith/config.h
index fa7467eb4a..b020db7b93 100644
--- a/keyboards/cutie_club/wraith/config.h
+++ b/keyboards/cutie_club/wraith/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Amber
-#define PRODUCT Wraith
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B7 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/cutie_club/wraith/info.json b/keyboards/cutie_club/wraith/info.json
index 40cade6f1a..f3f35d56ce 100644
--- a/keyboards/cutie_club/wraith/info.json
+++ b/keyboards/cutie_club/wraith/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wraith",
+ "keyboard_name": "Wraith",
+ "manufacturer": "Amber",
"url": "",
"maintainer": "amberstarlight",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c b/keyboards/cutie_club/wraith/keymaps/amber/keymap.c
index f953b5e199..41d5b39c40 100644
--- a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c
+++ b/keyboards/cutie_club/wraith/keymaps/amber/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
- RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______,
+ QK_BOOT, 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_TRNS,
diff --git a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c b/keyboards/cutie_club/wraith/keymaps/timer/keymap.c
index 8b79709b39..57d894ebc9 100644
--- a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c
+++ b/keyboards/cutie_club/wraith/keymaps/timer/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
- RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______,
+ QK_BOOT, 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_TRNS,
diff --git a/keyboards/cx60/config.h b/keyboards/cx60/config.h
index 5ff4865a77..c396ff8b93 100644
--- a/keyboards/cx60/config.h
+++ b/keyboards/cx60/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4358 // "CX"
-#define PRODUCT_ID 0x3630 // "60"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER CX60
-#define PRODUCT CX60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F1, F4, F5, F6, E6 }
#define MATRIX_COL_PINS { C7, C6, F7, F0, B4, D7, D6, B0, B1, B2, B3, D2, D3, D5 }
-#define UNUSED_PINS
/* Backlight Setup */
#define BACKLIGHT_PIN B7
diff --git a/keyboards/cx60/info.json b/keyboards/cx60/info.json
index fc301d45e6..4672a3e09f 100644
--- a/keyboards/cx60/info.json
+++ b/keyboards/cx60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CX60-VIA",
+ "keyboard_name": "CX60",
+ "manufacturer": "CX60",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4358",
+ "pid": "0x3630",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"Caps Lock", "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}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"label":"Up", "x":13, "y":3}, {"label":"Del", "x":14, "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":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Left", "x":12, "y":4}, {"label":"Down", "x":13, "y":4}, {"label":"Right", "x":14, "y":4}]
diff --git a/keyboards/cx60/keymaps/via_caps/keymap.c b/keyboards/cx60/keymaps/via_caps/keymap.c
index af2d862df4..8bbfb022ab 100644
--- a/keyboards/cx60/keymaps/via_caps/keymap.c
+++ b/keyboards/cx60/keymaps/via_caps/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 1: Function Layer */
LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT,
KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, RGB_TOG,
KC_TRNS, RGB_HUD, RGB_HUI, RGB_SAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, KC_VOLU, RGB_SPI,
diff --git a/keyboards/cybergear/macro25/config.h b/keyboards/cybergear/macro25/config.h
index 982559ef37..7c85e2a486 100644
--- a/keyboards/cybergear/macro25/config.h
+++ b/keyboards/cybergear/macro25/config.h
@@ -17,7 +17,3 @@
#pragma once
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define MANUFACTURER CyberGear
-#define PRODUCT Macro25 (mk-macro-01)
diff --git a/keyboards/cybergear/macro25/info.json b/keyboards/cybergear/macro25/info.json
index 951468fddf..adb0030b8e 100644
--- a/keyboards/cybergear/macro25/info.json
+++ b/keyboards/cybergear/macro25/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "Macro225 (mk-macro-01)",
+ "keyboard_name": "Macro25 (mk-macro-01)",
+ "manufacturer": "CyberGear",
"url": "https://github.com/CyberGear/mk-macro-01",
"maintainer": "CyberGear",
"usb": {
diff --git a/keyboards/dailycraft/bat43/config.h b/keyboards/dailycraft/bat43/config.h
index 4c42f6a06d..6204d1c82e 100644
--- a/keyboards/dailycraft/bat43/config.h
+++ b/keyboards/dailycraft/bat43/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT bat43
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, D7, C6, D4, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, B5, B4 }
-// #define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/bat43/info.json b/keyboards/dailycraft/bat43/info.json
new file mode 100644
index 0000000000..ce05fe8a5a
--- /dev/null
+++ b/keyboards/dailycraft/bat43/info.json
@@ -0,0 +1,75 @@
+{
+ "keyboard_name": "bat43",
+ "manufacturer": "yfuku",
+ "url": "",
+ "maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"k00", "x":0, "y":1.43},
+ {"label":"k01", "x":1, "y":1.11},
+ {"label":"k02", "x":2, "y":0.38},
+ {"label":"k03", "x":3, "y":0},
+ {"label":"k04", "x":4, "y":0.05},
+ {"label":"k05", "x":5, "y":0.16},
+
+ {"label":"k40", "x":9, "y":0.16},
+ {"label":"k41", "x":10, "y":0.05},
+ {"label":"k42", "x":11, "y":0},
+ {"label":"k43", "x":12, "y":0.38},
+ {"label":"k44", "x":13, "y":1.11},
+ {"label":"k45", "x":14, "y":1.43},
+
+ {"label":"k10", "x":0, "y":2.43},
+ {"label":"k11", "x":1, "y":2.11},
+ {"label":"k12", "x":2, "y":1.38},
+ {"label":"k13", "x":3, "y":1},
+ {"label":"k14", "x":4, "y":1.05},
+ {"label":"k15", "x":5, "y":1.16},
+
+ {"label":"k30", "x":7, "y":1.16},
+
+ {"label":"k50", "x":9, "y":1.16},
+ {"label":"k51", "x":10, "y":1.05},
+ {"label":"k52", "x":11, "y":1},
+ {"label":"k53", "x":12, "y":1.38},
+ {"label":"k54", "x":13, "y":2.11},
+ {"label":"k55", "x":14, "y":2.43},
+
+ {"label":"k20", "x":0, "y":3.43},
+ {"label":"k21", "x":1, "y":3.11},
+ {"label":"k22", "x":2, "y":2.38},
+ {"label":"k23", "x":3, "y":2},
+ {"label":"k24", "x":4, "y":2.05},
+ {"label":"k25", "x":5, "y":2.16},
+
+ {"label":"k60", "x":9, "y":2.16},
+ {"label":"k61", "x":10, "y":2.05},
+ {"label":"k62", "x":11, "y":2},
+ {"label":"k63", "x":12, "y":2.38},
+ {"label":"k64", "x":13, "y":3.11},
+ {"label":"k65", "x":14, "y":3.43},
+
+ {"label":"k33", "x":4, "y":3.3},
+ {"label":"k34", "x":5, "y":3.3},
+ {"label":"k35", "x":6, "y":3.3},
+
+ {"label":"k70", "x":8, "y":3.3},
+ {"label":"k71", "x":9, "y":3.3},
+ {"label":"k72", "x":10, "y":3.3},
+
+ {"label":"k75", "x":5.1, "y":4.3, "w":0.8, "h":0.8},
+ {"label":"k74", "x":6.1, "y":4.3, "w":0.8, "h":0.8},
+
+ {"label":"k73", "x":8.1, "y":4.3, "w":0.8, "h":0.8},
+ {"label":"k31", "x":9.1, "y":4.3, "w":0.8, "h":0.8},
+ {"label":"k32", "x":10.1, "y":4.3, "w":0.8, "h":0.8}
+ ]
+ }
+ }
+}
diff --git a/keyboards/dailycraft/bat43/readme.md b/keyboards/dailycraft/bat43/readme.md
index 6b58aa5ca3..0331862290 100644
--- a/keyboards/dailycraft/bat43/readme.md
+++ b/keyboards/dailycraft/bat43/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/bat43/rev1/info.json b/keyboards/dailycraft/bat43/rev1/info.json
deleted file mode 100644
index 0384bb5feb..0000000000
--- a/keyboards/dailycraft/bat43/rev1/info.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "keyboard_name": "bat43",
- "url": "",
- "maintainer": "yfuku",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"k00", "x":0, "y":1.43},
- {"label":"k01", "x":1, "y":1.11},
- {"label":"k02", "x":2, "y":0.38},
- {"label":"k03", "x":3, "y":0},
- {"label":"k04", "x":4, "y":0.05},
- {"label":"k05", "x":5, "y":0.16},
-
- {"label":"k40", "x":9, "y":0.16},
- {"label":"k41", "x":10, "y":0.05},
- {"label":"k42", "x":11, "y":0},
- {"label":"k43", "x":12, "y":0.38},
- {"label":"k44", "x":13, "y":1.11},
- {"label":"k45", "x":14, "y":1.43},
-
- {"label":"k10", "x":0, "y":2.43},
- {"label":"k11", "x":1, "y":2.11},
- {"label":"k12", "x":2, "y":1.38},
- {"label":"k13", "x":3, "y":1},
- {"label":"k14", "x":4, "y":1.05},
- {"label":"k15", "x":5, "y":1.16},
-
- {"label":"k30", "x":7, "y":1.16},
-
- {"label":"k50", "x":9, "y":1.16},
- {"label":"k51", "x":10, "y":1.05},
- {"label":"k52", "x":11, "y":1},
- {"label":"k53", "x":12, "y":1.38},
- {"label":"k54", "x":13, "y":2.11},
- {"label":"k55", "x":14, "y":2.43},
-
- {"label":"k20", "x":0, "y":3.43},
- {"label":"k21", "x":1, "y":3.11},
- {"label":"k22", "x":2, "y":2.38},
- {"label":"k23", "x":3, "y":2},
- {"label":"k24", "x":4, "y":2.05},
- {"label":"k25", "x":5, "y":2.16},
-
- {"label":"k60", "x":9, "y":2.16},
- {"label":"k61", "x":10, "y":2.05},
- {"label":"k62", "x":11, "y":2},
- {"label":"k63", "x":12, "y":2.38},
- {"label":"k64", "x":13, "y":3.11},
- {"label":"k65", "x":14, "y":3.43},
-
- {"label":"k33", "x":4, "y":3.3},
- {"label":"k34", "x":5, "y":3.3},
- {"label":"k35", "x":6, "y":3.3},
-
- {"label":"k70", "x":8, "y":3.3},
- {"label":"k71", "x":9, "y":3.3},
- {"label":"k72", "x":10, "y":3.3},
-
- {"label":"k74", "x":5.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k75", "x":6.1, "y":4.3, "w":0.8, "h":0.8},
-
- {"label":"k73", "x":8.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k31", "x":9.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k32", "x":10.1, "y":4.3, "w":0.8, "h":0.8}
- ]
- }
- }
-}
diff --git a/keyboards/dailycraft/bat43/rev2/info.json b/keyboards/dailycraft/bat43/rev2/info.json
deleted file mode 100644
index 352d9a6beb..0000000000
--- a/keyboards/dailycraft/bat43/rev2/info.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "keyboard_name": "bat43",
- "url": "",
- "maintainer": "yfuku",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"k00", "x":0, "y":1.43},
- {"label":"k01", "x":1, "y":1.11},
- {"label":"k02", "x":2, "y":0.38},
- {"label":"k03", "x":3, "y":0},
- {"label":"k04", "x":4, "y":0.05},
- {"label":"k05", "x":5, "y":0.16},
-
- {"label":"k40", "x":9, "y":0.16},
- {"label":"k41", "x":10, "y":0.05},
- {"label":"k42", "x":11, "y":0},
- {"label":"k43", "x":12, "y":0.38},
- {"label":"k44", "x":13, "y":1.11},
- {"label":"k45", "x":14, "y":1.43},
-
- {"label":"k10", "x":0, "y":2.43},
- {"label":"k11", "x":1, "y":2.11},
- {"label":"k12", "x":2, "y":1.38},
- {"label":"k13", "x":3, "y":1},
- {"label":"k14", "x":4, "y":1.05},
- {"label":"k15", "x":5, "y":1.16},
-
- {"label":"k30", "x":7, "y":1.16},
-
- {"label":"k50", "x":9, "y":1.16},
- {"label":"k51", "x":10, "y":1.05},
- {"label":"k52", "x":11, "y":1},
- {"label":"k53", "x":12, "y":1.38},
- {"label":"k54", "x":13, "y":2.11},
- {"label":"k55", "x":14, "y":2.43},
-
- {"label":"k20", "x":0, "y":3.43},
- {"label":"k21", "x":1, "y":3.11},
- {"label":"k22", "x":2, "y":2.38},
- {"label":"k23", "x":3, "y":2},
- {"label":"k24", "x":4, "y":2.05},
- {"label":"k25", "x":5, "y":2.16},
-
- {"label":"k60", "x":9, "y":2.16},
- {"label":"k61", "x":10, "y":2.05},
- {"label":"k62", "x":11, "y":2},
- {"label":"k63", "x":12, "y":2.38},
- {"label":"k64", "x":13, "y":3.11},
- {"label":"k65", "x":14, "y":3.43},
-
- {"label":"k33", "x":4, "y":3.3},
- {"label":"k34", "x":5, "y":3.3},
- {"label":"k35", "x":6, "y":3.3},
-
- {"label":"k70", "x":8, "y":3.3},
- {"label":"k71", "x":9, "y":3.3},
- {"label":"k72", "x":10, "y":3.3},
-
- {"label":"k75", "x":5.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k74", "x":6.1, "y":4.3, "w":0.8, "h":0.8},
-
- {"label":"k73", "x":8.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k31", "x":9.1, "y":4.3, "w":0.8, "h":0.8},
- {"label":"k32", "x":10.1, "y":4.3, "w":0.8, "h":0.8}
- ]
- }
- }
-}
diff --git a/keyboards/dailycraft/claw44/keymaps/oled/keymap.c b/keyboards/dailycraft/claw44/keymaps/oled/keymap.c
index 1778ac6167..fd2d47b60c 100644
--- a/keyboards/dailycraft/claw44/keymaps/oled/keymap.c
+++ b/keyboards/dailycraft/claw44/keymaps/oled/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______,
//`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
- _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT
// `--------+--------+--------+--------' `--------+--------+--------+--------'
),
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
//`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
- RESET , _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
// `--------+--------+--------+--------' `--------+--------+--------+--------'
),
[_ADJUST] = LAYOUT(
diff --git a/keyboards/dailycraft/claw44/readme.md b/keyboards/dailycraft/claw44/readme.md
index e533bd7c82..9ff970fd72 100644
--- a/keyboards/dailycraft/claw44/readme.md
+++ b/keyboards/dailycraft/claw44/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/claw44/rev1/config.h b/keyboards/dailycraft/claw44/rev1/config.h
index bcfcbababa..98a7d40e5d 100644
--- a/keyboards/dailycraft/claw44/rev1/config.h
+++ b/keyboards/dailycraft/claw44/rev1/config.h
@@ -18,19 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT claw44
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define SOFT_SERIAL_PIN D2
diff --git a/keyboards/dailycraft/claw44/rev1/info.json b/keyboards/dailycraft/claw44/rev1/info.json
index 3301e7d2ec..88a0237032 100644
--- a/keyboards/dailycraft/claw44/rev1/info.json
+++ b/keyboards/dailycraft/claw44/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Claw44 rev1",
+ "keyboard_name": "claw44",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/owl8/config.h b/keyboards/dailycraft/owl8/config.h
index b0634c2566..4bae3460d0 100644
--- a/keyboards/dailycraft/owl8/config.h
+++ b/keyboards/dailycraft/owl8/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT owl8
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 16
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ F4, F7, B3, B6, F5, F6, B1, B2, D4, C6, D7, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/owl8/info.json b/keyboards/dailycraft/owl8/info.json
index e50484ba90..88b8ee94da 100644
--- a/keyboards/dailycraft/owl8/info.json
+++ b/keyboards/dailycraft/owl8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "owl8",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/owl8/readme.md b/keyboards/dailycraft/owl8/readme.md
index c7fab17476..eccd990c60 100644
--- a/keyboards/dailycraft/owl8/readme.md
+++ b/keyboards/dailycraft/owl8/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/sandbox/readme.md b/keyboards/dailycraft/sandbox/readme.md
index 790deba95f..b7921566a3 100644
--- a/keyboards/dailycraft/sandbox/readme.md
+++ b/keyboards/dailycraft/sandbox/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/sandbox/rev1/config.h b/keyboards/dailycraft/sandbox/rev1/config.h
index 2bd405d2aa..8d2007496f 100644
--- a/keyboards/dailycraft/sandbox/rev1/config.h
+++ b/keyboards/dailycraft/sandbox/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT sandbox
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/sandbox/rev1/info.json b/keyboards/dailycraft/sandbox/rev1/info.json
index 518225a813..c94f88bd30 100644
--- a/keyboards/dailycraft/sandbox/rev1/info.json
+++ b/keyboards/dailycraft/sandbox/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sandbox rev1",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/sandbox/rev2/config.h b/keyboards/dailycraft/sandbox/rev2/config.h
index 06905afe47..11b49e086c 100644
--- a/keyboards/dailycraft/sandbox/rev2/config.h
+++ b/keyboards/dailycraft/sandbox/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT sandbox rev2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/sandbox/rev2/info.json b/keyboards/dailycraft/sandbox/rev2/info.json
index e561dfec5c..ce1574a0e1 100644
--- a/keyboards/dailycraft/sandbox/rev2/info.json
+++ b/keyboards/dailycraft/sandbox/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sandbox rev2",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/stickey4/config.h b/keyboards/dailycraft/stickey4/config.h
index d9bd0f3301..ede6d87792 100644
--- a/keyboards/dailycraft/stickey4/config.h
+++ b/keyboards/dailycraft/stickey4/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT stickey4
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 8
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ D4, C6, D7, E6, NO_PIN, NO_PIN, NO_PIN, NO_PIN } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/stickey4/info.json b/keyboards/dailycraft/stickey4/info.json
new file mode 100644
index 0000000000..94f57674b4
--- /dev/null
+++ b/keyboards/dailycraft/stickey4/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "stickey4",
+ "manufacturer": "yfuku",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/dailycraft/stickey4/readme.md b/keyboards/dailycraft/stickey4/readme.md
index e365407f82..35938c999f 100644
--- a/keyboards/dailycraft/stickey4/readme.md
+++ b/keyboards/dailycraft/stickey4/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/wings42/readme.md b/keyboards/dailycraft/wings42/readme.md
index c919653397..fa49ddfb3f 100644
--- a/keyboards/dailycraft/wings42/readme.md
+++ b/keyboards/dailycraft/wings42/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/wings42/rev1/config.h b/keyboards/dailycraft/wings42/rev1/config.h
index 0d53ff7634..670531ddc5 100644
--- a/keyboards/dailycraft/wings42/rev1/config.h
+++ b/keyboards/dailycraft/wings42/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT wings42
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/wings42/rev1/info.json b/keyboards/dailycraft/wings42/rev1/info.json
index 863bb3d34e..72ece409da 100644
--- a/keyboards/dailycraft/wings42/rev1/info.json
+++ b/keyboards/dailycraft/wings42/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "wings42 rev1",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/dailycraft/wings42/rev1/readme.md b/keyboards/dailycraft/wings42/rev1/readme.md
index 959052c41d..2f3401a16b 100644
--- a/keyboards/dailycraft/wings42/rev1/readme.md
+++ b/keyboards/dailycraft/wings42/rev1/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/config.h b/keyboards/dailycraft/wings42/rev1_extkeys/config.h
index b2fe3210b6..841d2e9f5a 100644
--- a/keyboards/dailycraft/wings42/rev1_extkeys/config.h
+++ b/keyboards/dailycraft/wings42/rev1_extkeys/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT wings42 extkeys
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B2, B4 }
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/info.json b/keyboards/dailycraft/wings42/rev1_extkeys/info.json
index b9a793f112..440df65dbf 100644
--- a/keyboards/dailycraft/wings42/rev1_extkeys/info.json
+++ b/keyboards/dailycraft/wings42/rev1_extkeys/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "wings42 rev1_extkeys",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/readme.md b/keyboards/dailycraft/wings42/rev1_extkeys/readme.md
index 4a34063ad4..8ca8c140f7 100644
--- a/keyboards/dailycraft/wings42/rev1_extkeys/readme.md
+++ b/keyboards/dailycraft/wings42/rev1_extkeys/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dailycraft/wings42/rev2/config.h b/keyboards/dailycraft/wings42/rev2/config.h
index f1e7716bb4..010d8ab896 100644
--- a/keyboards/dailycraft/wings42/rev2/config.h
+++ b/keyboards/dailycraft/wings42/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5946 // YF
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yfuku
-#define PRODUCT wings42 rev2
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, NO_PIN }
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dailycraft/wings42/rev2/info.json b/keyboards/dailycraft/wings42/rev2/info.json
index 4e78697627..67a642b425 100644
--- a/keyboards/dailycraft/wings42/rev2/info.json
+++ b/keyboards/dailycraft/wings42/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "wings42 rev2",
+ "manufacturer": "yfuku",
"url": "",
"maintainer": "yfuku",
+ "usb": {
+ "vid": "0x5946",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_3_2": {
"layout": [
diff --git a/keyboards/dailycraft/wings42/rev2/readme.md b/keyboards/dailycraft/wings42/rev2/readme.md
index c919653397..fa49ddfb3f 100644
--- a/keyboards/dailycraft/wings42/rev2/readme.md
+++ b/keyboards/dailycraft/wings42/rev2/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/daji/seis_cinco/config.h b/keyboards/daji/seis_cinco/config.h
index 1ca045a4a5..a4824a6e73 100644
--- a/keyboards/daji/seis_cinco/config.h
+++ b/keyboards/daji/seis_cinco/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBF00
-#define PRODUCT_ID 0xBF22
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Daji
-#define PRODUCT Seis Cinco
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -35,7 +28,6 @@
*/
#define MATRIX_ROW_PINS { B2, B10, B11, A9, A6 }
#define MATRIX_COL_PINS { B1, B0, A7, B14, A8, B15, A0, C15, C14, C13, B5, B4, B3, A15, A10, A14 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/daji/seis_cinco/info.json b/keyboards/daji/seis_cinco/info.json
index 7c213d216c..c155d3e238 100644
--- a/keyboards/daji/seis_cinco/info.json
+++ b/keyboards/daji/seis_cinco/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Seis Cinco",
+ "manufacturer": "Daji",
"url": "",
"maintainer": "toraifu",
+ "usb": {
+ "vid": "0xBF00",
+ "pid": "0xBF22",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c b/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c
index 82e2a166e6..0182874e23 100644
--- a/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c
+++ b/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = 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_DEL, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/db/db63/config.h b/keyboards/db/db63/config.h
index 85625b7200..2ee4fe23c1 100644
--- a/keyboards/db/db63/config.h
+++ b/keyboards/db/db63/config.h
@@ -17,18 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0xFAAD
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER HNB
-#define PRODUCT DB63v1 Hotswap
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/db/db63/info.json b/keyboards/db/db63/info.json
index e588de4879..99d71762fa 100644
--- a/keyboards/db/db63/info.json
+++ b/keyboards/db/db63/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "db63",
+ "keyboard_name": "DB63v1 Hotswap",
+ "manufacturer": "HNB",
"url": "http://www.keyboard-layout-editor.com/#/gists/dadea703fc8bfc87dc7c480de9f3ef38",
"maintainer": "QMK Community",
+ "usb": {
+ "vid": "0xFAAD",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dc01/arrow/config.h b/keyboards/dc01/arrow/config.h
index e240d71e8e..1318ec77d7 100644
--- a/keyboards/dc01/arrow/config.h
+++ b/keyboards/dc01/arrow/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x1012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechboards
-#define PRODUCT DC01 Arrow
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, C7, C6, B6, B4 }
#define MATRIX_COL_PINS { F0, B7, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dc01/arrow/info.json b/keyboards/dc01/arrow/info.json
index fccf577941..007e83d5cf 100644
--- a/keyboards/dc01/arrow/info.json
+++ b/keyboards/dc01/arrow/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DC01 Arrow Cluster",
+ "keyboard_name": "DC01 Arrow",
+ "manufacturer": "Mechboards",
"url": "",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x1012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Insert", "x":0, "y":0}, {"label":"Home", "x":1, "y":0}, {"label":"PgUp", "x":2, "y":0}, {"label":"Delete", "x":0, "y":1}, {"label":"End", "x":1, "y":1}, {"label":"PgDn", "x":2, "y":1}, {"label":"\u2191", "x":1, "y":3}, {"label":"\u2190", "x":0, "y":4}, {"label":"\u2193", "x":1, "y":4}, {"label":"\u2192", "x":2, "y":4}]
diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h
index d5b2962590..ebcf4a0182 100644
--- a/keyboards/dc01/left/config.h
+++ b/keyboards/dc01/left/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x1010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechboards
-#define PRODUCT DC01 Left
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 21
@@ -43,7 +36,6 @@ 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, 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/i2c.c b/keyboards/dc01/left/i2c.c
deleted file mode 100644
index c72789403e..0000000000
--- a/keyboards/dc01/left/i2c.c
+++ /dev/null
@@ -1,159 +0,0 @@
-#include <util/twi.h>
-#include <avr/io.h>
-#include <stdlib.h>
-#include <avr/interrupt.h>
-#include <util/twi.h>
-#include <stdbool.h>
-#include "i2c.h"
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWINT)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-
- // easier way, but will wait slightly longer
- // _delay_us(100);
-}
-
-// Setup twi to run at 100kHz
-void i2c_master_init(void) {
- // no prescaler
- TWSR = 0;
- // Set TWI clock frequency to SCL_CLOCK. Need TWBR>10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
-
- i2c_delay();
-
- // check that we started successfully
- if ( (TW_STATUS != TW_START) && (TW_STATUS != TW_REP_START))
- return 1;
-
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- if ( (TW_STATUS != TW_MT_SLA_ACK) && (TW_STATUS != TW_MR_SLA_ACK) )
- return 1; // slave did not acknowledge
- else
- return 0; // success
-}
-
-
-// Finish the i2c transaction.
-void i2c_master_stop(void) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWSTO)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-}
-
-// Write one byte to the i2c slave.
-// returns 0 => slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- // check if the slave acknowledged us
- return (TW_STATUS == TW_MT_DATA_ACK) ? 0 : 1;
-}
-
-// Read one byte from the i2c slave. If ack=1 the slave is acknowledged,
-// if ack=0 the acknowledge bit is not set.
-// returns: byte read from i2c device
-uint8_t i2c_master_read(int ack) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (ack<<TWEA);
-
- i2c_delay();
- return TWDR;
-}
-
-void i2c_reset_state(void) {
- TWCR = 0;
-}
-
-void i2c_slave_init(uint8_t address) {
- TWAR = address << 0; // slave i2c address
- // TWEN - twi enable
- // TWEA - enable address acknowledgement
- // TWINT - twi interrupt flag
- // TWIE - enable the twi interrupt
- TWCR = (1<<TWIE) | (1<<TWEA) | (1<<TWINT) | (1<<TWEN);
-}
-
-ISR(TWI_vect);
-
-ISR(TWI_vect) {
- uint8_t ack = 1;
- switch(TW_STATUS) {
- case TW_SR_SLA_ACK:
- // this device has been addressed as a slave receiver
- slave_has_register_set = false;
- break;
-
- case TW_SR_DATA_ACK:
- // this device has received data as a slave receiver
- // The first byte that we receive in this transaction sets the location
- // of the read/write location of the slaves memory that it exposes over
- // i2c. After that, bytes will be written at slave_buffer_pos, incrementing
- // slave_buffer_pos after each write.
- if(!slave_has_register_set) {
- slave_buffer_pos = TWDR;
- // don't acknowledge the master if this memory loctaion is out of bounds
- if ( slave_buffer_pos >= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
-}
diff --git a/keyboards/dc01/left/i2c.h b/keyboards/dc01/left/i2c.h
deleted file mode 100644
index 0d93e4ecaa..0000000000
--- a/keyboards/dc01/left/i2c.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
diff --git a/keyboards/dc01/left/info.json b/keyboards/dc01/left/info.json
index c2bc9337c5..f16677a44f 100644
--- a/keyboards/dc01/left/info.json
+++ b/keyboards/dc01/left/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DC01 Left Half",
+ "keyboard_name": "DC01 Left",
+ "manufacturer": "Mechboards",
"url": "",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x1010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "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":"Back", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "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":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "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":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"+", "x":21.5, "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":"Shift", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Enter", "x":21.5, "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":2.75}, {"label":"Fn", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"00", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":4}]
diff --git a/keyboards/dc01/numpad/config.h b/keyboards/dc01/numpad/config.h
index 87c73ebc21..d3133b3732 100644
--- a/keyboards/dc01/numpad/config.h
+++ b/keyboards/dc01/numpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x1013
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechboards
-#define PRODUCT DC01 Numpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, E6, D6, D7, B4 }
#define MATRIX_COL_PINS { F0, B7, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dc01/numpad/info.json b/keyboards/dc01/numpad/info.json
index 6a151aa93b..02158add29 100644
--- a/keyboards/dc01/numpad/info.json
+++ b/keyboards/dc01/numpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DC01 Numpad",
+ "manufacturer": "Mechboards",
"url": "",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x1013",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
diff --git a/keyboards/dc01/right/config.h b/keyboards/dc01/right/config.h
index 60672e252d..4fc84508e0 100644
--- a/keyboards/dc01/right/config.h
+++ b/keyboards/dc01/right/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x1011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechboards
-#define PRODUCT DC01 Right
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS { F1, E6, F6, F5, F4, D4, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dc01/right/info.json b/keyboards/dc01/right/info.json
index 1eb6f17928..059eddad20 100644
--- a/keyboards/dc01/right/info.json
+++ b/keyboards/dc01/right/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DC01 Right Half",
+ "keyboard_name": "DC01 Right",
+ "manufacturer": "Mechboards",
"url": "",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x1011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Back", "x":6.5, "y":0}, {"label":"Del", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":2, "w":1.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Shift", "x":7.5, "y":3}, {"label":"Fn", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"Win", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h
index 06f2ae807d..ca339f6e1b 100644
--- a/keyboards/dekunukem/duckypad/config.h
+++ b/keyboards/dekunukem/duckypad/config.h
@@ -22,12 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x444E // "DN"
-#define PRODUCT_ID 0x4450 // "DP"
-#define DEVICE_VER 0x0001 // 1.0
-#define MANUFACTURER dekuNukem
-#define PRODUCT duckyPad
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 17
diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json
index e9e6e250c5..aaf68af2b2 100644
--- a/keyboards/dekunukem/duckypad/info.json
+++ b/keyboards/dekunukem/duckypad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "duckyPad",
+ "manufacturer": "dekuNukem",
"url": "https://github.com/dekuNukem/",
"maintainer": "M4cs",
+ "usb": {
+ "vid": "0x444E",
+ "pid": "0x4450",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/delikeeb/flatbread60/config.h b/keyboards/delikeeb/flatbread60/config.h
index 3de88a16f6..772ed61faf 100644
--- a/keyboards/delikeeb/flatbread60/config.h
+++ b/keyboards/delikeeb/flatbread60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER delikeeb
-#define PRODUCT Flatbread60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/flatbread60/info.json b/keyboards/delikeeb/flatbread60/info.json
index 6de1a7e827..0bb06feb9c 100644
--- a/keyboards/delikeeb/flatbread60/info.json
+++ b/keyboards/delikeeb/flatbread60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "flatbread60",
+ "keyboard_name": "Flatbread60",
+ "manufacturer": "delikeeb",
"url": "",
"maintainer": "noclew",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/delikeeb/vaguettelite/config.h b/keyboards/delikeeb/vaguettelite/config.h
index 5ad1942437..ba956b1798 100644
--- a/keyboards/delikeeb/vaguettelite/config.h
+++ b/keyboards/delikeeb/vaguettelite/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0003
-#define MANUFACTURER dELIKEEb
-#define PRODUCT Vaguette Lite
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, B3, D1, D2, D3, F5 }
#define MATRIX_COL_PINS { F6, F7, B1, B2, B6, B5, B4, E6, D7, C6, D0, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/vaguettelite/info.json b/keyboards/delikeeb/vaguettelite/info.json
index f3e99b374c..7aa5dee3f2 100644
--- a/keyboards/delikeeb/vaguettelite/info.json
+++ b/keyboards/delikeeb/vaguettelite/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "vaguettelite",
+ "keyboard_name": "Vaguette Lite",
+ "manufacturer": "dELIKEEb",
"url": "",
"maintainer": "noclew",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0011",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1, "w":1.5}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3, "w":1.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4}, {"x":4.5, "y":4, "w":1.25}, {"x":5.75, "y":4, "w":2}, {"x":7.75, "y":4, "w":1.25}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c
index 58bc0c7783..c8d1aa0846 100644
--- a/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c
+++ b/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_all(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
_______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, TG(_GAME), _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC), _______, _______, _______, _______, _______,
diff --git a/keyboards/delikeeb/vanana/config.h b/keyboards/delikeeb/vanana/config.h
index 3a5a888945..7879dc1b1a 100644
--- a/keyboards/delikeeb/vanana/config.h
+++ b/keyboards/delikeeb/vanana/config.h
@@ -18,7 +18,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include "config_common.h"
-
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0013
-#define MANUFACTURER dELIKEEb
diff --git a/keyboards/delikeeb/vanana/info.json b/keyboards/delikeeb/vanana/info.json
index 78c11fbee2..b8a5f78cf8 100644
--- a/keyboards/delikeeb/vanana/info.json
+++ b/keyboards/delikeeb/vanana/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "vanana",
+ "manufacturer": "dELIKEEb",
"url": "",
"maintainer": "noclew",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0013"
+ },
"layouts": {
"LAYOUT": {
"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":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "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":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4, "w":1.25}, {"x":5.25, "y":4, "w":1.5}, {"x":8.25, "y":4, "w":1.5}, {"x":9.75, "y":4, "w":1.25}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}]
diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h
index 8213404eb3..8ddb222440 100644
--- a/keyboards/delikeeb/vanana/rev1/config.h
+++ b/keyboards/delikeeb/vanana/rev1/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0001
-#define PRODUCT Vanana rev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -37,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D7, B4, B5, B6 }
#define MATRIX_COL_PINS { B2, B3, B1, F7, F5, F6, D3, D1, D0, D4, C6, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/vanana/rev1/info.json b/keyboards/delikeeb/vanana/rev1/info.json
new file mode 100644
index 0000000000..992960c5a2
--- /dev/null
+++ b/keyboards/delikeeb/vanana/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Vanana rev1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h
index 8397424aa9..d6d04d47d1 100644
--- a/keyboards/delikeeb/vanana/rev2/config.h
+++ b/keyboards/delikeeb/vanana/rev2/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0002
-#define PRODUCT Vanana rev2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 10
@@ -37,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, C6, E6, B4, B5, F5}
#define MATRIX_COL_PINS { B3, B1, F7, F6, F4, D2, D3, D0, D4, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/vanana/rev2/info.json b/keyboards/delikeeb/vanana/rev2/info.json
new file mode 100644
index 0000000000..c7206e9d97
--- /dev/null
+++ b/keyboards/delikeeb/vanana/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Vanana rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/delikeeb/vaneela/config.h b/keyboards/delikeeb/vaneela/config.h
index 936c8eb5ec..43d8a9041b 100644
--- a/keyboards/delikeeb/vaneela/config.h
+++ b/keyboards/delikeeb/vaneela/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER noclew
-#define PRODUCT Vaneela
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, F7, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/vaneela/info.json b/keyboards/delikeeb/vaneela/info.json
index 20f0fa9f49..8f114b1778 100644
--- a/keyboards/delikeeb/vaneela/info.json
+++ b/keyboards/delikeeb/vaneela/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Vaneela",
+ "manufacturer": "noclew",
"url": "http://www.keyboard-layout-editor.com/#/gists/be89ff3a761a44280296994d459bd0a9",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/delikeeb/vaneela/keymaps/default/keymap.c b/keyboards/delikeeb/vaneela/keymaps/default/keymap.c
index b1d7401b9d..57df91cd4d 100644
--- a/keyboards/delikeeb/vaneela/keymaps/default/keymap.c
+++ b/keyboards/delikeeb/vaneela/keymaps/default/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT_ortho_5x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/delikeeb/vaneela/keymaps/via/keymap.c b/keyboards/delikeeb/vaneela/keymaps/via/keymap.c
index 65194b84d3..4bfee3daf5 100644
--- a/keyboards/delikeeb/vaneela/keymaps/via/keymap.c
+++ b/keyboards/delikeeb/vaneela/keymaps/via/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT_ortho_5x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,TERM_ON, TERM_OFF, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/delikeeb/vaneelaex/config.h b/keyboards/delikeeb/vaneelaex/config.h
index 27d2420176..006c55020f 100644
--- a/keyboards/delikeeb/vaneelaex/config.h
+++ b/keyboards/delikeeb/vaneelaex/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER delikeeb
-#define PRODUCT VaneelaEx
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B5, B4, E6, D7, C6, D4 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/vaneelaex/info.json b/keyboards/delikeeb/vaneelaex/info.json
index 8ecd733aa2..d7f1e75673 100644
--- a/keyboards/delikeeb/vaneelaex/info.json
+++ b/keyboards/delikeeb/vaneelaex/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "VaneelaEx",
+ "manufacturer": "delikeeb",
"url": "http://www.keyboard-layout-editor.com/#/gists/f605c1a2cb2fea256161964740bd2a52",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ss_6x12": {
"layout": [
diff --git a/keyboards/delikeeb/waaffle/config.h b/keyboards/delikeeb/waaffle/config.h
index 1b02e32c6d..7879dc1b1a 100644
--- a/keyboards/delikeeb/waaffle/config.h
+++ b/keyboards/delikeeb/waaffle/config.h
@@ -18,7 +18,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include "config_common.h"
-
-#define VENDOR_ID 0x9906
-#define PRODUCT_ID 0x0012
-#define MANUFACTURER dELIKEEb
diff --git a/keyboards/delikeeb/waaffle/rev3/config.h b/keyboards/delikeeb/waaffle/rev3/config.h
index 12ff241f4c..d9ffc232dd 100644
--- a/keyboards/delikeeb/waaffle/rev3/config.h
+++ b/keyboards/delikeeb/waaffle/rev3/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define PRODUCT Waaffle_rev3
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
@@ -37,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, B6, B2, B3, B1, F5, F6, F7 }
#define MATRIX_COL_PINS { D3, D2, B5, B4, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json
index f855f89732..709ceb1844 100644
--- a/keyboards/delikeeb/waaffle/rev3/info.json
+++ b/keyboards/delikeeb/waaffle/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "waaffle",
+ "keyboard_name": "Waaffle rev3",
+ "manufacturer": "dELIKEEb",
"url": "",
"maintainer": "noclew",
+ "usb": {
+ "vid": "0x9906",
+ "pid": "0x0012",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_ortho_5x16": {
"layout":
diff --git a/keyboards/deltapad/config.h b/keyboards/deltapad/config.h
index 186a11ee27..dffb30cf71 100644
--- a/keyboards/deltapad/config.h
+++ b/keyboards/deltapad/config.h
@@ -19,13 +19,6 @@ 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 0x0123
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Richard Snijder
-#define PRODUCT deltapad
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, D1, D0 }
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/deltapad/info.json b/keyboards/deltapad/info.json
index 94fca5a9b4..abd6df5558 100644
--- a/keyboards/deltapad/info.json
+++ b/keyboards/deltapad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "deltapad",
+ "manufacturer": "Richard Snijder",
"url": "",
"maintainer": "Richard Snijder",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0123",
+ "device_version": "0.0.1"
+ },
"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/deltasplit75/info.json b/keyboards/deltasplit75/info.json
deleted file mode 100644
index da5e226cb2..0000000000
--- a/keyboards/deltasplit75/info.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keyboard_name": "DeltaSplit75",
- "maintainer": "xyxjj & itsaferbie",
- "layouts": {
- "LAYOUT_v2": {
- "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"Print", "x":14, "y":0}, {"label":"Scroll", "x":15, "y":0}, {"label":"Pause", "x":16, "y":0}, {"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":8, "y":1}, {"label":"*", "x":9, "y":1}, {"label":"(", "x":10, "y":1}, {"label":")", "x":11, "y":1}, {"label":"_", "x":12, "y":1}, {"label":"+", "x":13, "y":1}, {"label":"Back", "x":14, "y":1}, {"label":"Trns", "x":15, "y":1}, {"label":"Home", "x":16, "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":7.5, "y":2}, {"label":"U", "x":8.5, "y":2}, {"label":"I", "x":9.5, "y":2}, {"label":"O", "x":10.5, "y":2}, {"label":"P", "x":11.5, "y":2}, {"label":"{", "x":12.5, "y":2}, {"label":"}", "x":13.5, "y":2}, {"label":"Back", "x":14.5, "y":2, "w":1.5}, {"label":"PgUp", "x":16, "y":2}, {"label":"Ctrl", "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":7.75, "y":3}, {"label":"J", "x":8.75, "y":3}, {"label":"K", "x":9.75, "y":3}, {"label":"L", "x":10.75, "y":3}, {"label":":", "x":11.75, "y":3}, {"label":"\"", "x":12.75, "y":3}, {"label":"Trns", "x":13.75, "y":3}, {"label":"Enter", "x":14.75, "y":3, "w":1.25}, {"label":"PgDn", "x":16, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"Trns", "x":1.25, "y":4}, {"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":"B", "x":7.25, "y":4}, {"label":"N", "x":8.25, "y":4}, {"label":"M", "x":9.25, "y":4}, {"label":"<", "x":10.25, "y":4}, {"label":">", "x":11.25, "y":4}, {"label":"?", "x":12.25, "y":4}, {"label":"Shift", "x":13.25, "y":4, "w":1.75}, {"label":"Up", "x":15, "y":4}, {"label":"End", "x":16, "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}, {"label":"Space", "x":3.75, "y":5, "w":2}, {"label":"Fn", "x":5.75, "y":5}, {"label":"Space", "x":7.75, "y":5, "w":2.75}, {"label":"Alt", "x":10.5, "y":5, "w":1.25}, {"label":"Win", "x":11.75, "y":5}, {"label":"Ctrl", "x":12.75, "y":5, "w":1.25}, {"label":"Left", "x":14, "y":5}, {"label":"Down", "x":15, "y":5}, {"label":"Right", "x":16, "y":5}]
- },
- "LAYOUT_protosplit": {
- "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"Insert", "x":14, "y":0}, {"label":"Home", "x":15, "y":0}, {"label":"PgUp", "x":16, "y":0}, {"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":8, "y":1}, {"label":"*", "x":9, "y":1}, {"label":"(", "x":10, "y":1}, {"label":")", "x":11, "y":1}, {"label":"_", "x":12, "y":1}, {"label":"+", "x":13, "y":1}, {"label":"Delete", "x":14, "y":1}, {"label":"End", "x":15, "y":1}, {"label":"PgDn", "x":16, "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":7.5, "y":2}, {"label":"U", "x":8.5, "y":2}, {"label":"I", "x":9.5, "y":2}, {"label":"O", "x":10.5, "y":2}, {"label":"P", "x":11.5, "y":2}, {"label":"{", "x":12.5, "y":2}, {"label":"}", "x":13.5, "y":2}, {"label":"Back", "x":14.5, "y":2, "w":1.5}, {"label":"Scroll", "x":16, "y":2}, {"label":"Ctrl", "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":7.75, "y":3}, {"label":"J", "x":8.75, "y":3}, {"label":"K", "x":9.75, "y":3}, {"label":"L", "x":10.75, "y":3}, {"label":":", "x":11.75, "y":3}, {"label":"\"", "x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":3, "w":2.25}, {"label":"Pause", "x":16, "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":"B", "x":7.25, "y":4}, {"label":"N", "x":8.25, "y":4}, {"label":"M", "x":9.25, "y":4}, {"label":"<", "x":10.25, "y":4}, {"label":">", "x":11.25, "y":4}, {"label":"?", "x":12.25, "y":4}, {"label":"Shift", "x":13.25, "y":4, "w":1.75}, {"label":"Up", "x":15, "y":4}, {"label":"Print", "x":16, "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}, {"label":"Space", "x":3.75, "y":5, "w":2}, {"label":"Fn", "x":5.75, "y":5}, {"label":"Space", "x":7.75, "y":5, "w":2.75}, {"label":"Alt", "x":10.5, "y":5, "w":1.25}, {"label":"Win", "x":11.75, "y":5}, {"label":"Ctrl", "x":12.75, "y":5, "w":1.25}, {"label":"Left", "x":14, "y":5}, {"label":"Down", "x":15, "y":5}, {"label":"Right", "x":16, "y":5}]
- }
- }
-}
diff --git a/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c b/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c
index 8eadc7aee1..a0c8f04266 100644
--- a/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c
+++ b/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
LAYOUT_v2(
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
diff --git a/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c b/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c
index cba17015de..0db3f6bb23 100644
--- a/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c
+++ b/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------- ----------------------------------------'
*/
LAYOUT_v2(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPSLOCK, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
M(1), KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, _______,
diff --git a/keyboards/deltasplit75/keymaps/protosplit/keymap.c b/keyboards/deltasplit75/keymaps/protosplit/keymap.c
index 7d6cb33949..31b764393e 100644
--- a/keyboards/deltasplit75/keymaps/protosplit/keymap.c
+++ b/keyboards/deltasplit75/keymaps/protosplit/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
LAYOUT_protosplit(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
M(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h
index ffc2724e5e..64b86371fc 100644
--- a/keyboards/deltasplit75/v2/config.h
+++ b/keyboards/deltasplit75/v2/config.h
@@ -19,13 +19,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER xyxjj
-#define PRODUCT DeltaSplit75
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
diff --git a/keyboards/deltasplit75/v2/info.json b/keyboards/deltasplit75/v2/info.json
new file mode 100644
index 0000000000..f6326d96ca
--- /dev/null
+++ b/keyboards/deltasplit75/v2/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "DeltaSplit75",
+ "manufacturer": "xyxjj",
+ "maintainer": "xyxjj & itsaferbie",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_v2": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"Print", "x":14, "y":0}, {"label":"Scroll", "x":15, "y":0}, {"label":"Pause", "x":16, "y":0}, {"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":8, "y":1}, {"label":"*", "x":9, "y":1}, {"label":"(", "x":10, "y":1}, {"label":")", "x":11, "y":1}, {"label":"_", "x":12, "y":1}, {"label":"+", "x":13, "y":1}, {"label":"Back", "x":14, "y":1}, {"label":"Trns", "x":15, "y":1}, {"label":"Home", "x":16, "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":7.5, "y":2}, {"label":"U", "x":8.5, "y":2}, {"label":"I", "x":9.5, "y":2}, {"label":"O", "x":10.5, "y":2}, {"label":"P", "x":11.5, "y":2}, {"label":"{", "x":12.5, "y":2}, {"label":"}", "x":13.5, "y":2}, {"label":"Back", "x":14.5, "y":2, "w":1.5}, {"label":"PgUp", "x":16, "y":2}, {"label":"Ctrl", "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":7.75, "y":3}, {"label":"J", "x":8.75, "y":3}, {"label":"K", "x":9.75, "y":3}, {"label":"L", "x":10.75, "y":3}, {"label":":", "x":11.75, "y":3}, {"label":"\"", "x":12.75, "y":3}, {"label":"Trns", "x":13.75, "y":3}, {"label":"Enter", "x":14.75, "y":3, "w":1.25}, {"label":"PgDn", "x":16, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"Trns", "x":1.25, "y":4}, {"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":"B", "x":7.25, "y":4}, {"label":"N", "x":8.25, "y":4}, {"label":"M", "x":9.25, "y":4}, {"label":"<", "x":10.25, "y":4}, {"label":">", "x":11.25, "y":4}, {"label":"?", "x":12.25, "y":4}, {"label":"Shift", "x":13.25, "y":4, "w":1.75}, {"label":"Up", "x":15, "y":4}, {"label":"End", "x":16, "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}, {"label":"Space", "x":3.75, "y":5, "w":2}, {"label":"Fn", "x":5.75, "y":5}, {"label":"Space", "x":7.75, "y":5, "w":2.75}, {"label":"Alt", "x":10.5, "y":5, "w":1.25}, {"label":"Win", "x":11.75, "y":5}, {"label":"Ctrl", "x":12.75, "y":5, "w":1.25}, {"label":"Left", "x":14, "y":5}, {"label":"Down", "x":15, "y":5}, {"label":"Right", "x":16, "y":5}]
+ },
+ "LAYOUT_protosplit": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"Insert", "x":14, "y":0}, {"label":"Home", "x":15, "y":0}, {"label":"PgUp", "x":16, "y":0}, {"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":8, "y":1}, {"label":"*", "x":9, "y":1}, {"label":"(", "x":10, "y":1}, {"label":")", "x":11, "y":1}, {"label":"_", "x":12, "y":1}, {"label":"+", "x":13, "y":1}, {"label":"Delete", "x":14, "y":1}, {"label":"End", "x":15, "y":1}, {"label":"PgDn", "x":16, "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":7.5, "y":2}, {"label":"U", "x":8.5, "y":2}, {"label":"I", "x":9.5, "y":2}, {"label":"O", "x":10.5, "y":2}, {"label":"P", "x":11.5, "y":2}, {"label":"{", "x":12.5, "y":2}, {"label":"}", "x":13.5, "y":2}, {"label":"Back", "x":14.5, "y":2, "w":1.5}, {"label":"Scroll", "x":16, "y":2}, {"label":"Ctrl", "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":7.75, "y":3}, {"label":"J", "x":8.75, "y":3}, {"label":"K", "x":9.75, "y":3}, {"label":"L", "x":10.75, "y":3}, {"label":":", "x":11.75, "y":3}, {"label":"\"", "x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":3, "w":2.25}, {"label":"Pause", "x":16, "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":"B", "x":7.25, "y":4}, {"label":"N", "x":8.25, "y":4}, {"label":"M", "x":9.25, "y":4}, {"label":"<", "x":10.25, "y":4}, {"label":">", "x":11.25, "y":4}, {"label":"?", "x":12.25, "y":4}, {"label":"Shift", "x":13.25, "y":4, "w":1.75}, {"label":"Up", "x":15, "y":4}, {"label":"Print", "x":16, "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}, {"label":"Space", "x":3.75, "y":5, "w":2}, {"label":"Fn", "x":5.75, "y":5}, {"label":"Space", "x":7.75, "y":5, "w":2.75}, {"label":"Alt", "x":10.5, "y":5, "w":1.25}, {"label":"Win", "x":11.75, "y":5}, {"label":"Ctrl", "x":12.75, "y":5, "w":1.25}, {"label":"Left", "x":14, "y":5}, {"label":"Down", "x":15, "y":5}, {"label":"Right", "x":16, "y":5}]
+ }
+ }
+}
diff --git a/keyboards/demiurge/config.h b/keyboards/demiurge/config.h
index b7e3c70b3c..f20f07c584 100755
--- a/keyboards/demiurge/config.h
+++ b/keyboards/demiurge/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6F6A
-#define PRODUCT_ID 0x6475
-#define DEVICE_VER 0x0001
-#define PRODUCT Demiurge
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F4, F6, F7, C7 }
#define MATRIX_COL_PINS { E6, F5, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B7, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/demiurge/info.json b/keyboards/demiurge/info.json
index 427d7ce278..7e0435856b 100644
--- a/keyboards/demiurge/info.json
+++ b/keyboards/demiurge/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Demiurge",
+ "manufacturer": "ojthetiny",
"url": "",
"maintainer": "ojthetiny",
+ "usb": {
+ "vid": "0x6F6A",
+ "pid": "0x6475",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/demiurge/readme.md b/keyboards/demiurge/readme.md
index 6e7845c8b4..b64d36f274 100644
--- a/keyboards/demiurge/readme.md
+++ b/keyboards/demiurge/readme.md
@@ -19,6 +19,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/deng/djam/config.h b/keyboards/deng/djam/config.h
new file mode 100644
index 0000000000..001b2ff19f
--- /dev/null
+++ b/keyboards/deng/djam/config.h
@@ -0,0 +1,28 @@
+/* Copyright 2022 Leo Deng (@myst729)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 MATRIX_ROWS 3
+#define MATRIX_COLS 8
+#define MATRIX_ROW_PINS { F0, F1, F4 }
+#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4 }
+#define DIODE_DIRECTION COL2ROW
+#define DEBOUNCE 5
+
+#define BACKLIGHT_PIN B7
+#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/deng/djam/djam.c b/keyboards/deng/djam/djam.c
new file mode 100644
index 0000000000..97bfda5ac5
--- /dev/null
+++ b/keyboards/deng/djam/djam.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Leo Deng (@myst729)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "djam.h"
diff --git a/keyboards/deng/djam/djam.h b/keyboards/deng/djam/djam.h
new file mode 100644
index 0000000000..bf740f736a
--- /dev/null
+++ b/keyboards/deng/djam/djam.h
@@ -0,0 +1,28 @@
+/* Copyright 2022 Leo Deng (@myst729)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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( \
+ K000, K001, K002, K005, K006, K007, \
+ K100, K101, K102, K103, K104, K105, K106, K107, \
+ K200, K201, K202, K203, K204, K205, K206 \
+) { \
+ { K000, K001, K002, KC_NO, KC_NO, K005, K006, K007 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107 }, \
+ { K200, K201, K202, K203, K204, K205, K206, KC_NO } \
+}
diff --git a/keyboards/deng/djam/info.json b/keyboards/deng/djam/info.json
new file mode 100644
index 0000000000..3e871ae85b
--- /dev/null
+++ b/keyboards/deng/djam/info.json
@@ -0,0 +1,38 @@
+{
+ "keyboard_name": "DJam",
+ "manufacturer": "Leo Deng",
+ "url": "",
+ "maintainer": "myst729",
+ "usb": {
+ "vid": "0xDE29",
+ "pid": "0x7325",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "x": 1, "y": 0 },
+ { "x": 2, "y": 0 },
+ { "x": 3, "y": 0 },
+ { "x": 7, "y": 0 },
+ { "x": 8, "y": 0 },
+ { "x": 9, "y": 0 },
+ { "x": 0, "y": 0.5, "h": 2 },
+ { "x": 1, "y": 1 },
+ { "x": 2, "y": 1 },
+ { "x": 3, "y": 1 },
+ { "x": 7, "y": 1 },
+ { "x": 8, "y": 1 },
+ { "x": 9, "y": 1 },
+ { "x": 10, "y": 0.5, "h": 2 },
+ { "x": 0, "y": 3 },
+ { "x": 1, "y": 3 },
+ { "x": 3, "y": 3, "w": 2 },
+ { "x": 5, "y": 3 },
+ { "x": 6, "y": 3, "w": 2 },
+ { "x": 9, "y": 3 },
+ { "x": 10, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/deng/djam/keymaps/default/keymap.c b/keyboards/deng/djam/keymaps/default/keymap.c
new file mode 100644
index 0000000000..724a915e66
--- /dev/null
+++ b/keyboards/deng/djam/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
+/* Copyright 2022 Leo Deng (@myst729)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_S, KC_D, KC_F, KC_J, KC_K, KC_L,
+ KC_A, KC_Z, KC_X, KC_C, KC_N, KC_M, KC_COMM, KC_SCLN,
+ KC_LEFT, KC_RGHT, BL_TOGG, KC_SPC, BL_STEP, KC_UP, KC_DOWN)
+};
diff --git a/keyboards/deng/djam/keymaps/via/keymap.c b/keyboards/deng/djam/keymaps/via/keymap.c
new file mode 100644
index 0000000000..87ff22eb29
--- /dev/null
+++ b/keyboards/deng/djam/keymaps/via/keymap.c
@@ -0,0 +1,38 @@
+/* Copyright 2022 Leo Deng (@myst729)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_S, KC_D, KC_F, KC_J, KC_K, KC_L,
+ KC_A, KC_Z, KC_X, KC_C, KC_N, KC_M, KC_COMM, KC_SCLN,
+ KC_LEFT, KC_RGHT, BL_TOGG, KC_SPC, BL_STEP, KC_UP, KC_DOWN),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/deng/djam/keymaps/via/rules.mk b/keyboards/deng/djam/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/deng/djam/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/deng/djam/readme.md b/keyboards/deng/djam/readme.md
new file mode 100644
index 0000000000..2af54464c0
--- /dev/null
+++ b/keyboards/deng/djam/readme.md
@@ -0,0 +1,23 @@
+# DJam
+
+![DJam](https://i.imgur.com/n95Y83h.jpeg)
+
+A custom controller for the music game DJMax.
+
+* Keyboard Maintainer: [Leo Deng](https://github.com/myst729)
+* Hardware Supported: DJam controller with ATMEGA32U4
+* Hardware Availability: Private Groupbuy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make deng/djam:default
+
+Flashing example for this keyboard:
+
+ make deng/djam:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader by pressing the button on the back of the PCB.
diff --git a/keyboards/deng/djam/rules.mk b/keyboards/deng/djam/rules.mk
new file mode 100644
index 0000000000..4fa3df3f58
--- /dev/null
+++ b/keyboards/deng/djam/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+BACKLIGHT_DRIVER = pwm
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/dichotomy/config.h b/keyboards/dichotomy/config.h
index c4bb030900..581f133571 100644
--- a/keyboards/dichotomy/config.h
+++ b/keyboards/dichotomy/config.h
@@ -19,14 +19,6 @@ 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 0xACC7
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Broekhuijsen
-#define PRODUCT Dichotomy
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/dichotomy/info.json b/keyboards/dichotomy/info.json
index e5f3265f35..094ccd67b3 100644
--- a/keyboards/dichotomy/info.json
+++ b/keyboards/dichotomy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dichotomy",
+ "manufacturer": "Broekhuijsen",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xACC7",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0.5}, {"label":"k01", "x":1, "y":0.5}, {"label":"k02", "x":2, "y":0.25}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0.5}, {"label":"k05", "x":5, "y":0.5}, {"label":"k06", "x":7, "y":0.5}, {"label":"k07", "x":8, "y":0.5}, {"label":"k08", "x":9, "y":0}, {"label":"k09", "x":10, "y":0.25}, {"label":"k0A", "x":11, "y":0.5}, {"label":"k0B", "x":12, "y":0.5}, {"label":"k10", "x":0, "y":1.5}, {"label":"k11", "x":1, "y":1.5}, {"label":"k12", "x":2, "y":1.25}, {"label":"k13", "x":3, "y":1}, {"label":"k14", "x":4, "y":1.5}, {"label":"k15", "x":5, "y":1.5}, {"label":"k16", "x":7, "y":1.5}, {"label":"k17", "x":8, "y":1.5}, {"label":"k18", "x":9, "y":1}, {"label":"k19", "x":10, "y":1.25}, {"label":"k1A", "x":11, "y":1.5}, {"label":"k1B", "x":12, "y":1.5}, {"label":"k20", "x":0, "y":2.5}, {"label":"k21", "x":1, "y":2.5}, {"label":"k22", "x":2, "y":2.25}, {"label":"k23", "x":3, "y":2}, {"label":"k24", "x":4, "y":2.5}, {"label":"k25", "x":5, "y":2.5}, {"label":"k26", "x":7, "y":2.5}, {"label":"k27", "x":8, "y":2.5}, {"label":"k28", "x":9, "y":2}, {"label":"k29", "x":10, "y":2.25}, {"label":"k2A", "x":11, "y":2.5}, {"label":"k2B", "x":12, "y":2.5}, {"label":"k33", "x":3, "y":4}, {"label":"k34", "x":4, "y":4}, {"label":"k35", "x":5, "y":4}, {"label":"k36", "x":7, "y":4}, {"label":"k37", "x":8, "y":4}, {"label":"k38", "x":9, "y":4}, {"label":"k42", "x":2, "y":5}, {"label":"k43", "x":3, "y":5}, {"label":"k44", "x":4, "y":5}, {"label":"k45", "x":5, "y":5}, {"label":"k46", "x":7, "y":5}, {"label":"k47", "x":8, "y":5}, {"label":"k48", "x":9, "y":5}, {"label":"k49", "x":10, "y":5}]
diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c
index b8c7ef4274..80fc4d89bc 100755
--- a/keyboards/dichotomy/keymaps/default/keymap.c
+++ b/keyboards/dichotomy/keymaps/default/keymap.c
@@ -109,7 +109,7 @@ report_mouse_t currentReport = {};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
//uint8_t layer;
- //layer = biton32(layer_state); // get the current layer //Or don't, I didn't use it.
+ //layer = get_highest_layer(layer_state); // get the current layer //Or don't, I didn't use it.
bool returnVal = true; //this is to determine if more key processing is needed.
//custom layer handling for tri_layer,
@@ -437,7 +437,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
void matrix_scan_user(void) {
- //uint8_t layer = biton32(layer_state);
+ //uint8_t layer = get_highest_layer(layer_state);
for (uint8_t i = 0; i<LONGPRESS_COUNT; i++){
if ((timer_elapsed(special_timers[i]) >= CUSTOM_LONGPRESS) && (!special_key_states[i]) && special_key_pressed[i]){
switch (i + SAFE_RANGE){
diff --git a/keyboards/dinofizz/fnrow/v1/config.h b/keyboards/dinofizz/fnrow/v1/config.h
index fb7e4e91db..9560d18621 100644
--- a/keyboards/dinofizz/fnrow/v1/config.h
+++ b/keyboards/dinofizz/fnrow/v1/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xD1F1
-#define PRODUCT_ID 0x0100
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dino Fizzotti
-#define PRODUCT FnRow v1
-
#define MATRIX_ROWS 2
#define MATRIX_COLS 7
diff --git a/keyboards/dinofizz/fnrow/v1/info.json b/keyboards/dinofizz/fnrow/v1/info.json
index b0dc34c43c..de21492393 100644
--- a/keyboards/dinofizz/fnrow/v1/info.json
+++ b/keyboards/dinofizz/fnrow/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "FnRow v1",
+ "manufacturer": "Dino Fizzotti",
"maintainer": "dinofizz",
"url": "https://github.com/dinofizz/fnrow-pcb",
+ "usb": {
+ "vid": "0xD1F1",
+ "pid": "0x0100",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fn_row": {
"layout": [
diff --git a/keyboards/dk60/config.h b/keyboards/dk60/config.h
index eef0ddc474..5fc549ee02 100644
--- a/keyboards/dk60/config.h
+++ b/keyboards/dk60/config.h
@@ -19,13 +19,6 @@ 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 0x56C2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DARKOU
-#define PRODUCT DK60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { B0, B3, B2, B1, D3, D5, B5, B7, C6, C7, D0, D1, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dk60/info.json b/keyboards/dk60/info.json
index f32bd47cfa..7d7cf4a7b0 100644
--- a/keyboards/dk60/info.json
+++ b/keyboards/dk60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DK60",
+ "manufacturer": "DARKOU",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x56C2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h
index e4fb80ad2e..7e6743d677 100644
--- a/keyboards/dm9records/ergoinu/config.h
+++ b/keyboards/dm9records/ergoinu/config.h
@@ -21,14 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter
- VID & PID are lisenced from microchip sublisence program, Don't use other project! */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEE60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dm9Records
-#define PRODUCT ergoinu
-
#define USE_SERIAL
/* serial.c configuration for split keyboard */
diff --git a/keyboards/dm9records/ergoinu/info.json b/keyboards/dm9records/ergoinu/info.json
index b9ce9ea5cb..10f67b05ac 100644
--- a/keyboards/dm9records/ergoinu/info.json
+++ b/keyboards/dm9records/ergoinu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ergoinu",
+ "manufacturer": "Dm9Records",
"url": "",
"maintainer": "hsgw(Takuya Urakawa)",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEE60",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dm9records/lain/config.h b/keyboards/dm9records/lain/config.h
index adc0d165c3..592b517ed2 100644
--- a/keyboards/dm9records/lain/config.h
+++ b/keyboards/dm9records/lain/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8F4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dm9Records
-#define PRODUCT lain
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/dm9records/lain/info.json b/keyboards/dm9records/lain/info.json
index 57e28d28dd..fd39c977fd 100644
--- a/keyboards/dm9records/lain/info.json
+++ b/keyboards/dm9records/lain/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "lain",
+ "manufacturer": "Dm9Records",
"url": "https://5z6p.com/lain",
"maintainer": "hsgw",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8F4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dm9records/lain/readme.md b/keyboards/dm9records/lain/readme.md
index 6eb216af61..4105c29371 100644
--- a/keyboards/dm9records/lain/readme.md
+++ b/keyboards/dm9records/lain/readme.md
@@ -29,4 +29,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dm9records/plaid/config.h b/keyboards/dm9records/plaid/config.h
index ab6b0fbabc..1875566cf6 100644
--- a/keyboards/dm9records/plaid/config.h
+++ b/keyboards/dm9records/plaid/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-/* VID & PID from vusb project, see tmk_core/protocol/vusb/USB-IDs-for-free.txt"*/
-#define VENDOR_ID 0x16c0
-#define PRODUCT_ID 0x27db
-#define DEVICE_VER 0x0002
-#define MANUFACTURER dm9records
-#define PRODUCT Plaid
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B5, B3, D4 }
#define MATRIX_COL_PINS { B0, D7, D6, D5, B2, B1, C0, C1, C2, C3, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dm9records/plaid/info.json b/keyboards/dm9records/plaid/info.json
index 12c9e43c08..f4c6ae5281 100644
--- a/keyboards/dm9records/plaid/info.json
+++ b/keyboards/dm9records/plaid/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Plaid // Through Hole",
+ "keyboard_name": "Plaid",
+ "manufacturer": "Dm9Records",
"url": "https://github.com/hsgw/plaid",
"maintainer": "hsgw(Takuya Urakawa)",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_plaid_mit": {
"layout": [
diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
index 646a942c58..819b76e739 100644
--- a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_plaid_grid(
- RESET,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL ,
+ QK_BOOT,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c
index f11b744066..d96c250609 100644
--- a/keyboards/dm9records/plaid/keymaps/default/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c
@@ -195,7 +195,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_plaid_grid(
QK_BOOT,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c
index 0abd3f8495..f31b79c2c7 100644
--- a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_plaid_grid( // F, media keys, reset
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RESET,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, QK_BOOT,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, AUTOCLICK
)
diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c b/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c
index c8d48c3955..354599f340 100644
--- a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_plaid_grid(
- RESET , LED_1 , LED_2 , LED_3 , LED_4 , LED_5 ,LED_6 , LED_7 , LED_8 , LED_9 , LED_0 , _______ ,
+ QK_BOOT, LED_1 , LED_2 , LED_3 , LED_4 , LED_5 ,LED_6 , LED_7 , LED_8 , LED_9 , LED_0 , _______ ,
_______, KC_PWR , KC_SLEP, KC_WAKE, KC_EJCT, _______, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
index 6dcabb160e..9567c60bff 100644
--- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Function (Lower + Raise)
* ,-----------------------------------------------------------------------------------------------------------------------.
- * | RESET| LCA_T(F1) | LCA_T(F2) | LCA_T(F3) | LCA_T(F4) | LCA_T(F5) | LCA_T(F6) | LCA_T(F7) | | | | |
+ * | QK_BOOT| LCA_T(F1) | LCA_T(F2) | LCA_T(F3) | LCA_T(F4) | LCA_T(F5) | LCA_T(F6) | LCA_T(F7) | | | | |
* |------+------------+-----------+-----------+-----------+-----------+-----------+-----------+------+------+------+------+
* | | | | | | QWERTY | DVORAK | COLEMAK | | | | |
* |------+------------+-----------+-----------+-----------+-----------+-----------+-----------+------+------+------+------+
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------------------------------------------'
*/
- [_FUNCTION] = LAYOUT_planck_mit(RESET, LCA_T(KC_F1), LCA_T(KC_F2), LCA_T(KC_F3), LCA_T(KC_F4), LCA_T(KC_F5), LCA_T(KC_F6), LCA_T(KC_F7), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QWERTY, DVORAK, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)};
+ [_FUNCTION] = LAYOUT_planck_mit(QK_BOOT, LCA_T(KC_F1), LCA_T(KC_F2), LCA_T(KC_F3), LCA_T(KC_F4), LCA_T(KC_F5), LCA_T(KC_F6), LCA_T(KC_F7), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QWERTY, DVORAK, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)};
// constants to toggle LED behavior
@@ -129,7 +129,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_laye
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _LOWER:
diff --git a/keyboards/dm9records/tartan/config.h b/keyboards/dm9records/tartan/config.h
index 4faec53721..a64d584d8e 100644
--- a/keyboards/dm9records/tartan/config.h
+++ b/keyboards/dm9records/tartan/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-/* VID & PID from vusb project, see tmk_core/protocol/vusb/USB-IDs-for-free.txt"*/
-#define VENDOR_ID 0x16c0
-#define PRODUCT_ID 0x27db
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dm9records
-#define PRODUCT Tartan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B5, B3, B0, C0 }
#define MATRIX_COL_PINS { D7, D6, D5, D4, B1, B2, C1, C2, C3, C5, D1, D0, C4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dm9records/tartan/info.json b/keyboards/dm9records/tartan/info.json
index 32e018fde7..e2c64b943f 100644
--- a/keyboards/dm9records/tartan/info.json
+++ b/keyboards/dm9records/tartan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Tartan # Through Hole",
+ "keyboard_name": "Tartan",
+ "manufacturer": "Dm9Records",
"url": "https://github.com/hsgw/tartan",
"maintainer": "hsgw(Takuya Urakawa)",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/dmqdesign/spin/config.h b/keyboards/dmqdesign/spin/config.h
index ee4f5bf490..72efc0f556 100644
--- a/keyboards/dmqdesign/spin/config.h
+++ b/keyboards/dmqdesign/spin/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA455
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DMQ Design
-#define PRODUCT SPIN
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 5
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F0, F1, F4 }
#define MATRIX_COL_PINS { F5, F6, F7, C7, C6 }
-#define UNUSED_PINS { D5, D2, D1, D0, B7, B3, B2, B0, E6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dmqdesign/spin/info.json b/keyboards/dmqdesign/spin/info.json
index 4d8c09c277..14db65cc65 100644
--- a/keyboards/dmqdesign/spin/info.json
+++ b/keyboards/dmqdesign/spin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SPIN",
+ "manufacturer": "DMQ Design",
"url": "https://www.DMQdesign.com",
"maintainer": "Quarren42",
+ "usb": {
+ "vid": "0xA455",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h
index 1851f07f1d..b9a0b53fbf 100644
--- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h
+++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h
@@ -24,7 +24,7 @@
#undef LOCKING_SUPPORT_ENABLE
#define LAYER_STATE_8BIT
-#define MAX_LAYER 4
+#define MAX_LAYER 5
#undef RGBLIGHT_ANIMATIONS
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
index bdf5dff0df..8c9af7202b 100644
--- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
+++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
@@ -20,7 +20,7 @@
#define RGB_LAYER_ACK_DURATION 500
-enum layers { _MACRO, _NUMPAD, _RGB, _FN };
+enum layers { _MACRO, _NUMPAD, _CURSOR, _RGB, _FN };
enum layer_base {
LAYER_BASE = _MACRO,
@@ -44,22 +44,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUMPAD] = LAYOUT(
KC_KP_7, KC_KP_8, KC_KP_9, KC_TRNS,
- KC_KP_4, KC_KP_5, KC_KP_6, KC_TRNS,
+ KC_KP_4, KC_KP_5, KC_KP_6, TO(_CURSOR),
KC_KP_1, KC_KP_2, KC_KP_3, KC_TRNS,
KC_KP_0, KC_PDOT, KC_PENT),
+ [_CURSOR] = LAYOUT(
+ KC_HOME, KC_UP, KC_PGUP, KC_TRNS,
+ KC_LEFT, KC_NO, KC_RIGHT, TO(_NUMPAD),
+ KC_END, KC_DOWN, KC_PGDN, KC_TRNS,
+ KC_INS, KC_DEL, KC_PENT),
+
[_RGB] = LAYOUT(
RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
- RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
+ RGB_HUD, RGB_SAD, RGB_VAD, TO(_NUMPAD),
RGB_SPD, RGB_SPI, KC_NO, KC_TRNS,
RGB_RMOD, RGB_TOG, RGB_MOD),
[_FN] = LAYOUT(
- KC_TRNS, DEBUG, RESET, KC_TRNS,
+ KC_NO, DEBUG, QK_BOOT, KC_TRNS,
KC_NO, KC_NO, EEP_RST, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_NO, KC_NO),
+ KC_TRNS, KC_NO, KC_NO),
+};
+
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_MACRO] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_NUMPAD] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_CURSOR] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_RGB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI ), ENCODER_CCW_CW(RGB_SAD, RGB_SAI ), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_FN] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
+
// clang-format on
typedef enum layer_ack {
@@ -71,6 +86,7 @@ typedef enum layer_ack {
#define LAYER_OFFSET 0
const rgblight_segment_t PROGMEM _macro_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_TEAL});
const rgblight_segment_t PROGMEM _numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 1, HSV_TEAL});
+const rgblight_segment_t PROGMEM _cursor_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 1, HSV_BLUE});
const rgblight_segment_t PROGMEM _rgb_layer[] = RGBLIGHT_LAYER_SEGMENTS({2, 1, HSV_TEAL});
const rgblight_segment_t PROGMEM _fn_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_PURPLE});
@@ -83,8 +99,9 @@ const rgblight_segment_t PROGMEM _meh_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, H
const rgblight_segment_t *const PROGMEM _rgb_layers[] = {
[LAYER_OFFSET + 0] = _macro_layer,
[LAYER_OFFSET + 1] = _numpad_layer,
- [LAYER_OFFSET + 2] = _rgb_layer,
- [LAYER_OFFSET + 3] = _fn_layer,
+ [LAYER_OFFSET + 2] = _cursor_layer,
+ [LAYER_OFFSET + 3] = _rgb_layer,
+ [LAYER_OFFSET + 4] = _fn_layer,
[ACK_OFFSET + ACK_NO] = _no_layer,
[ACK_OFFSET + ACK_YES] = _yes_layer,
@@ -145,9 +162,22 @@ void spidey_glow(void) {
rgblight_sethsv(255, 230, 128);
}
-void eeconfig_init_user(void) { spidey_glow(); }
+void eeconfig_init_user(void) {
+ spidey_glow();
+}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ dprintf("key event: kc: %02X, col: %02u, row: %02u, pressed: %u mods: %08b "
+#if !defined(NO_ACTION_ONESHOT)
+ "os: %08b "
+#endif
+ "weak: %08b\n",
+ keycode, record->event.key.col, record->event.key.row, record->event.pressed, bitrev(get_mods()),
+#if !defined(NO_ACTION_ONESHOT)
+ bitrev(get_oneshot_mods()),
+#endif
+ bitrev(get_weak_mods()));
+
if (record->event.pressed) {
switch (keycode) {
// Re-implement this here, but fix the persistence!
@@ -200,39 +230,3 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (get_highest_layer(layer_state)) {
- case _RGB:
- if (index == 0) {
- if (clockwise) {
- rgblight_increase_hue();
- } else {
- rgblight_decrease_hue();
- }
- } else if (index == 1) {
- if (clockwise) {
- rgblight_increase_sat();
- } else {
- rgblight_decrease_sat();
- }
- } else if (index == 2) {
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- }
- break;
-
- default:
- if (index == 0) {
- tap_code16(C(S(clockwise ? KC_EQL : KC_MINS)));
- } else if (index == 1) {
- tap_code16(C(clockwise ? KC_EQL : KC_MINS));
- } else if (index == 2) {
- tap_code(clockwise ? KC_VOLU : KC_VOLD);
- }
- break;
- }
- return true;
-}
diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk
index 7fe1f992aa..5d543e2c7e 100644
--- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk
+++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk
@@ -1,7 +1,7 @@
MOUSEKEY_ENABLE = no
MIDI_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+BOOTMAGIC_ENABLE = yes
LTO_ENABLE = yes
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = yes
GRAVE_ESC_ENABLE = no
-
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/do60/config.h b/keyboards/do60/config.h
index 8a0f324aa2..34a44066d4 100644
--- a/keyboards/do60/config.h
+++ b/keyboards/do60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4453 // DS for Doyu Studios
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Shopkey by Doyu Studio
-#define PRODUCT Do60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, F4, B4, D7, D6, B3, B0 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/do60/info.json b/keyboards/do60/info.json
index fbc1cb1c78..86e3e5f39a 100644
--- a/keyboards/do60/info.json
+++ b/keyboards/do60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "do60",
+ "keyboard_name": "Do60",
+ "manufacturer": "Doyu Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4453",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"~", "x":13, "y":0}, {"label":"\u2190", "x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"x":12, "y":3}, {"label":"\u2191", "x":13, "y":3}, {"label":"Del", "x":14, "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}, {"label":"3u(Space)", "x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4}, {"label":"3u(Space)", "x":7.5, "y":4, "w":2.25}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"win", "x":11, "y":4}, {"label":"\u2190", "x":12, "y":4}, {"label":"\u2193", "x":13, "y":4}, {"label":"\u2192", "x":14, "y":4}]
diff --git a/keyboards/do60/keymaps/crd/keymap.c b/keyboards/do60/keymaps/crd/keymap.c
index 2c83df867f..aaec5c2f78 100644
--- a/keyboards/do60/keymaps/crd/keymap.c
+++ b/keyboards/do60/keymaps/crd/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_ansi_split_bs_rshift(
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_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
+ _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/do60/keymaps/test/keymap.c b/keyboards/do60/keymaps/test/keymap.c
index 7ad21e3850..8188bde5e4 100644
--- a/keyboards/do60/keymaps/test/keymap.c
+++ b/keyboards/do60/keymaps/test/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1: Function Layer
[1] = 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_NO, KC_NO,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL,
KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP, KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO , KC_PGUP, KC_INS,
diff --git a/keyboards/doio/kb16/config.h b/keyboards/doio/kb16/config.h
new file mode 100644
index 0000000000..911ba9d3d5
--- /dev/null
+++ b/keyboards/doio/kb16/config.h
@@ -0,0 +1,88 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 7
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D5, D4, D3, D2 }
+#define MATRIX_COL_PINS { F5, F4, F1, F0, B7, B4, B5 }
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Forcing to use NKRO instead 6KRO */
+#define FORCE_NKRO
+
+/* Use the custom font */
+#define OLED_FONT_H "lib/glcdfont.c"
+
+/* Encoder pins */
+#define ENCODERS_PAD_A { F7, C7, D7 }
+#define ENCODERS_PAD_B { E6, C6, D6 }
+
+#ifdef RGB_MATRIX_ENABLE
+ /* RGB Matrix config */
+ #define RGB_DI_PIN F6
+ #define DRIVER_LED_TOTAL 16
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_UP_DOWN
+ #define RGB_MATRIX_KEYPRESSES
+
+ /* RGB Matrix effect */
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #define ENABLE_RGB_MATRIX_BREATHING
+ #define ENABLE_RGB_MATRIX_BAND_SAT
+ #define ENABLE_RGB_MATRIX_BAND_VAL
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #define ENABLE_RGB_MATRIX_RAINDROPS
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #define ENABLE_RGB_MATRIX_HUE_WAVE
+ #define ENABLE_RGB_MATRIX_PIXEL_RAIN
+ #define ENABLE_RGB_MATRIX_PIXEL_FLOW
+ #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #define ENABLE_RGB_MATRIX_MULTISPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/doio/kb16/info.json b/keyboards/doio/kb16/info.json
new file mode 100644
index 0000000000..7cd02bce7b
--- /dev/null
+++ b/keyboards/doio/kb16/info.json
@@ -0,0 +1,48 @@
+{
+ "keyboard_name": "KB16-01",
+ "manufacturer": "DOIO",
+ "url": "",
+ "maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0xD010",
+ "pid": "0x1601",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"1!", "x":0, "y":0},
+ {"label":"2@", "x":1, "y":0},
+ {"label":"3#", "x":2, "y":0},
+ {"label":"4$", "x":3, "y":0},
+
+ {"label":"Encoder 1 CCW", "x":4.25, "y":0, "w":0.5},
+ {"label":"Encoder 1", "x":4.75, "y":0},
+ {"label":"Encoder 1 CW", "x":5.75, "y":0, "w":0.5},
+
+ {"label":"5%", "x":0, "y":1},
+ {"label":"6^", "x":1, "y":1},
+ {"label":"7&", "x":2, "y":1},
+ {"label":"8*", "x":3, "y":1},
+
+ {"label":"Encoder 2 CCW", "x":6.25, "y":0, "w":0.5},
+ {"label":"Encoder 2", "x":6.75, "y":0},
+ {"label":"Encoder 2 CW", "x":7.75, "y":0, "w":0.5},
+
+ {"label":"9(", "x":0, "y":2},
+ {"label":"0)", "x":1, "y":2},
+ {"label":"\u2191", "x":2, "y":2},
+ {"label":"Enter", "x":3, "y":2},
+
+ {"label":"Encoder 3 CCW", "x":5.25, "y":2.5, "w":0.5},
+ {"label":"Encoder 3", "x":5.75, "y":2.5},
+ {"label":"Encoder 3 CW", "x":6.75, "y":2.5, "w":0.5},
+
+ {"label":"Fn", "x":0, "y":3},
+ {"label":"\u2190", "x":1, "y":3},
+ {"label":"\u2193", "x":2, "y":3},
+ {"label":"\u2192", "x":3, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/doio/kb16/kb16.c b/keyboards/doio/kb16/kb16.c
new file mode 100644
index 0000000000..037f561e97
--- /dev/null
+++ b/keyboards/doio/kb16/kb16.c
@@ -0,0 +1,66 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "kb16.h"
+
+// OLED animation
+#include "lib/logo.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, NO_LED, NO_LED, NO_LED },
+ { 4, 5, 6, 7, NO_LED, NO_LED, NO_LED },
+ { 8, 9, 10, 11, NO_LED, NO_LED, NO_LED },
+ { 12, 13, 14, 15, NO_LED, NO_LED, NO_LED }
+}, {
+ {0 , 0}, {75 , 0}, {149, 0}, {224, 0},
+ {0 , 21}, {75 , 21}, {149, 21}, {224, 21},
+ {0 , 43}, {75 , 43}, {149, 43}, {224, 43},
+ {0 , 64}, {75 , 64}, {149, 64}, {224, 64},
+}, {
+ 1, 1, 1, 1,
+ 1, 4, 4, 1,
+ 1, 4, 4, 1,
+ 1, 1, 1, 1,
+} };
+#endif
+
+#ifdef OLED_ENABLE
+ uint16_t startup_timer;
+
+ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ startup_timer = timer_read();
+
+ return rotation;
+ }
+
+ bool oled_task_kb(void) {
+ static bool finished_logo = false;
+
+ if ((timer_elapsed(startup_timer) < 5000) && !finished_logo) {
+ render_logo();
+ } else {
+ finished_logo = true;
+
+ if (!oled_task_user()) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+#endif
diff --git a/keyboards/doio/kb16/kb16.h b/keyboards/doio/kb16/kb16.h
new file mode 100644
index 0000000000..c4dc7cfed1
--- /dev/null
+++ b/keyboards/doio/kb16/kb16.h
@@ -0,0 +1,47 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/* 06 â—¯ 05 16 â—¯ 15
+ * ┌───┬───┬───┬───┠┌───┠┌───â”
+ * │00 │01 │02 │03 │ │04 │ │14 │
+ * ├───┼───┼───┼───┤ └───┘ └───┘
+ * │10 │11 │12 │13 │
+ * ├───┼───┼───┼───┤ 26 ◯ 25
+ * │20 │21 │22 │23 │ ┌───â”
+ * ├───┼───┼───┼───┤ │24 │
+ * │30 │31 │32 │33 │ └───┘
+ * └───┴───┴───┴───┘
+ */
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K06, K04, K05, \
+ K10, K11, K12, K13, K16, K14, K15, \
+ K20, K21, K22, K23, K26, K24, K25, \
+ K30, K31, K32, K33 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06 }, \
+ { K10, K11, K12, K13, K14, K15, K16 }, \
+ { K20, K21, K22, K23, K24, K25, K26 }, \
+ { K30, K31, K32, K33, XXX, XXX, XXX } \
+}
+
diff --git a/keyboards/doio/kb16/keymaps/bongocat/config.h b/keyboards/doio/kb16/keymaps/bongocat/config.h
new file mode 100644
index 0000000000..bb22eebb1b
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/bongocat/config.h
@@ -0,0 +1,45 @@
+/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/* Additional thing to reduce compiled size */
+#define NO_ACTION_ONESHOT
+#define LAYER_STATE_8BIT
+
+#ifdef RGB_MATRIX_ENABLE
+ /* RGB Matrix config */
+ #undef RGB_MATRIX_KEYPRESSES
+
+ /* RGB Matrix effect */
+ #undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_BREATHING
+ #undef ENABLE_RGB_MATRIX_BAND_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ #undef ENABLE_RGB_MATRIX_DUAL_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #undef ENABLE_RGB_MATRIX_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE
+ #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+ #undef ENABLE_RGB_MATRIX_PIXEL_FLOW
+ #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#endif
diff --git a/keyboards/doio/kb16/keymaps/bongocat/keymap.c b/keyboards/doio/kb16/keymaps/bongocat/keymap.c
new file mode 100644
index 0000000000..b60688a385
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/bongocat/keymap.c
@@ -0,0 +1,180 @@
+/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "oled/bongocat.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _FN1,
+ _FN2
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ 5 │ 6 │ 7 │ 8 │
+ ├───┼───┼───┼───┤
+ │ 9 │ 0 │ ↑ │Ent│ ┌───â”
+ ├───┼───┼───┼───┤ │Mut│
+ │Fn2│ ↠│ ↓ │ → │ └───┘
+ └───┴───┴───┴───┘
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ ! │ @ │ # │ $ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ % │ ^ │ & │ * │
+ ├───┼───┼───┼───┤
+ │ ( │ ) │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_BASE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_MPRV, KC_MPLY, KC_MNXT,
+ KC_5, KC_6, KC_7, KC_8, KC_PGDN, TO(_FN), KC_PGUP,
+ KC_9, KC_0, KC_UP, KC_ENT, KC_VOLD, KC_MUTE, KC_VOLU,
+ MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN1), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN2), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │Spi│Spd│ │ │ │ │ │TO0│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │Sai│Sad│ │ │
+ ├───┼───┼───┼───┤
+ │Tog│Mod│Hui│ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │Vai│Hud│Vad│ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN2] = LAYOUT(
+ RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, _______, _______,
+ RGB_SAI, RGB_SAD, _______, _______, _______, TO(_BASE), _______,
+ RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, _______,
+ _______, RGB_VAI, RGB_HUD, RGB_VAD
+ ),
+};
+
+#ifdef OLED_ENABLE
+ bool oled_task_user(void) {
+ led_t led_usb_state = host_keyboard_led_state();
+
+ render_bongocat();
+ oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_write_P(PSTR("WPM:"), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
+ oled_set_cursor(17, 2);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_set_cursor(17, 3);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
+
+ return true;
+ }
+#endif
+
+#ifdef ENCODER_ENABLE
+
+#define ENCODERS 3
+static uint8_t encoder_state[ENCODERS] = {0};
+static keypos_t encoder_cw[ENCODERS] = {{ 5, 0 }, { 5, 1 }, { 5, 2 }};
+static keypos_t encoder_ccw[ENCODERS] = {{ 6, 0 }, { 6, 1 }, { 6, 2 }};
+
+void encoder_action_unregister(void) {
+ for (int index = 0; index < ENCODERS; ++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
diff --git a/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.c b/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.c
new file mode 100644
index 0000000000..12ca8694c1
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.c
@@ -0,0 +1,378 @@
+/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+// WPM-responsive animation stuff here
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 10 // below this wpm value your animation will idle
+// #define PREP_FRAMES 1 // uncomment if >1
+#define TAP_FRAMES 2
+#define ANIM_WPM_LOWER 20 // above this wpm value typing animation to trigger
+#define ANIM_FRAME_DURATION_MAX 450 // longest animation duration in ms
+#define ANIM_FRAME_DURATION_MIN 100 // shortest animation duration in ms
+#define IDLE_FRAME_DURATION 300 // how long each frame lasts in ms
+#define ANIM_FRAME_RATIO 2.5 // how aggressively animation speeds up with wpm
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
+#define MAX(x, y) (((x) > (y)) ? (x) : (y)) // Math.max macro
+
+uint32_t curr_anim_duration = 0; // variable animation duration
+uint32_t bongo_timer = 0;
+uint32_t bongo_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+// Code containing pixel art, contains:
+// 5 idle frames, 1 prep frame, and 2 tap frames
+
+// To make your own pixel art:
+// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
+// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
+// replace numbers in brackets with your own
+// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
+void render_bongocat(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
+ {
+ //Idle 1 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 2 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
+ 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 3 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
+ 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 4 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 5 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ static const char PROGMEM prep[][ANIM_SIZE] = {
+ {
+ //Prepare - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
+ 0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
+ 0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
+ 0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
+ 0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
+ 0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {
+ //Tap left - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
+ 0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
+ 0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x3f, 0x1f, 0x07, 0x83, 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
+ 0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x11, 0x11, 0x21, 0x23, 0x23, 0x21, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Tap right - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0xa0, 0xa0, 0x20, 0x20, 0x40, 0x46, 0x4f, 0x5f, 0x9f, 0x9c, 0x90, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x0f, 0x8f, 0xc7, 0xe3, 0x31, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
+ 0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
+ 0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ };
+
+ // assumes 1 frame prep stage
+ void animation_phase(void) {
+ if (get_current_wpm() <= IDLE_SPEED) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < ANIM_WPM_LOWER) {
+ // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
+ oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
+ }
+
+ if (get_current_wpm() >= ANIM_WPM_LOWER) {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+ }
+
+ // variable animation duration. Don't want this value to get near zero as it'll bug out.
+ curr_anim_duration = MAX(ANIM_FRAME_DURATION_MIN, ANIM_FRAME_DURATION_MAX - ANIM_FRAME_RATIO * get_current_wpm());
+
+ if (get_current_wpm() > ANIM_WPM_LOWER) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+
+ if (timer_elapsed32(bongo_timer) > curr_anim_duration) {
+ bongo_timer = timer_read32();
+ animation_phase();
+ }
+
+ bongo_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(bongo_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(bongo_timer) > IDLE_FRAME_DURATION) {
+ bongo_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
diff --git a/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.h b/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.h
new file mode 100644
index 0000000000..65ceabc682
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/bongocat/oled/bongocat.h
@@ -0,0 +1,17 @@
+/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+void render_bongocat(void);
diff --git a/keyboards/doio/kb16/keymaps/bongocat/rules.mk b/keyboards/doio/kb16/keymaps/bongocat/rules.mk
new file mode 100644
index 0000000000..087a45a944
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/bongocat/rules.mk
@@ -0,0 +1,9 @@
+SRC += oled/bongocat.c
+
+VIA_ENABLE = yes
+
+# Additional thing to reduce compiled size
+GRAVE_ESC_ENABLE = no
+
+# OLED enabled
+WPM_ENABLE = yes
diff --git a/keyboards/doio/kb16/keymaps/default/keymap.c b/keyboards/doio/kb16/keymaps/default/keymap.c
new file mode 100644
index 0000000000..df72bbe15a
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/default/keymap.c
@@ -0,0 +1,140 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "lib/layer_status/layer_status.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _FN1,
+ _FN2
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ 5 │ 6 │ 7 │ 8 │
+ ├───┼───┼───┼───┤
+ │ 9 │ 0 │ ↑ │Ent│ ┌───â”
+ ├───┼───┼───┼───┤ │Mut│
+ │Fn2│ ↠│ ↓ │ → │ └───┘
+ └───┴───┴───┴───┘
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ ! │ @ │ # │ $ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ % │ ^ │ & │ * │
+ ├───┼───┼───┼───┤
+ │ ( │ ) │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_BASE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, _______, KC_MPLY, _______,
+ KC_5, KC_6, KC_7, KC_8, _______, TO(_FN), _______,
+ KC_9, KC_0, KC_UP, KC_ENT, _______, KC_MUTE, _______,
+ MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN1), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN2), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │Spi│Spd│ │ │ │ │ │TO0│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │Sai│Sad│ │ │
+ ├───┼───┼───┼───┤
+ │Tog│Mod│Hui│ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │Vai│Hud│Vad│ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN2] = LAYOUT(
+ RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, _______, _______,
+ RGB_SAI, RGB_SAD, _______, _______, _______, TO(_BASE), _______,
+ RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, _______,
+ _______, RGB_VAI, RGB_HUD, RGB_VAD
+ ),
+};
+
+#ifdef OLED_ENABLE
+ bool oled_task_user(void) {
+ render_layer_status();
+
+ return true;
+ }
+#endif
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/doio/kb16/keymaps/default/rules.mk b/keyboards/doio/kb16/keymaps/default/rules.mk
new file mode 100644
index 0000000000..00003ba11b
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+# Encoder enabled
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/doio/kb16/keymaps/via/keymap.c b/keyboards/doio/kb16/keymaps/via/keymap.c
new file mode 100644
index 0000000000..4f01846eae
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/via/keymap.c
@@ -0,0 +1,172 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "lib/layer_status/layer_status.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _FN1,
+ _FN2
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ 5 │ 6 │ 7 │ 8 │
+ ├───┼───┼───┼───┤
+ │ 9 │ 0 │ ↑ │Ent│ ┌───â”
+ ├───┼───┼───┼───┤ │Mut│
+ │Fn2│ ↠│ ↓ │ → │ └───┘
+ └───┴───┴───┴───┘
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ ! │ @ │ # │ $ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ % │ ^ │ & │ * │
+ ├───┼───┼───┼───┤
+ │ ( │ ) │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_BASE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_MPRV, KC_MPLY, KC_MNXT,
+ KC_5, KC_6, KC_7, KC_8, KC_PGDN, TO(_FN), KC_PGUP,
+ KC_9, KC_0, KC_UP, KC_ENT, KC_VOLD, KC_MUTE, KC_VOLU,
+ MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN1), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │ │ │ │ │ │ │ │ │
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │ │ │ │ │
+ ├───┼───┼───┼───┤
+ │ │ │ │ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │ │ │ │ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, TO(_FN2), _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+/*
+ ┌───┬───┬───┬───┠┌───┠┌───â”
+ │Spi│Spd│ │ │ │ │ │TO0│
+ ├───┼───┼───┼───┤ └───┘ └───┘
+ │Sai│Sad│ │ │
+ ├───┼───┼───┼───┤
+ │Tog│Mod│Hui│ │ ┌───â”
+ ├───┼───┼───┼───┤ │ │
+ │ │Vai│Hud│Vad│ └───┘
+ └───┴───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 */
+ [_FN2] = LAYOUT(
+ RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, _______, _______,
+ RGB_SAI, RGB_SAD, _______, _______, _______, TO(_BASE), _______,
+ RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, _______,
+ _______, RGB_VAI, RGB_HUD, RGB_VAD
+ ),
+};
+
+#ifdef OLED_ENABLE
+ bool oled_task_user(void) {
+ render_layer_status();
+
+ return true;
+ }
+#endif
+
+#ifdef ENCODER_ENABLE
+
+#define ENCODERS 3
+static uint8_t encoder_state[ENCODERS] = {0};
+static keypos_t encoder_cw[ENCODERS] = {{ 5, 0 }, { 5, 1 }, { 5, 2 }};
+static keypos_t encoder_ccw[ENCODERS] = {{ 6, 0 }, { 6, 1 }, { 6, 2 }};
+
+void encoder_action_unregister(void) {
+ for (int index = 0; index < ENCODERS; ++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
diff --git a/keyboards/doio/kb16/keymaps/via/rules.mk b/keyboards/doio/kb16/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/doio/kb16/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/doio/kb16/lib/glcdfont.c b/keyboards/doio/kb16/lib/glcdfont.c
new file mode 100644
index 0000000000..c0987f75cf
--- /dev/null
+++ b/keyboards/doio/kb16/lib/glcdfont.c
@@ -0,0 +1,249 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
+// See gfxfont.h for newer custom bitmap font info.
+
+#include "progmem.h"
+
+// Standard ASCII 5x7 font
+const unsigned char font[] PROGMEM = {
+ 0x07, 0x08, 0x7F, 0x08, 0x07, 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,
+ 0x2A, 0x1C, 0x77, 0x1C, 0x2A, 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, 0x3E, 0x04, 0x08, 0x00,
+ 0x08, 0x10, 0x3E, 0x10, 0x08, 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,
+ 0x41, 0x22, 0x14, 0x08, 0x00, 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, 0x38, 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,
+ 0x10, 0x38, 0x10, 0x10, 0x1C, 0x00,
+ 0x0C, 0x7A, 0x41, 0x7A, 0x0C, 0x00,
+ 0x18, 0x2F, 0x41, 0x2F, 0x18, 0x00,
+ 0x22, 0x72, 0x22, 0x27, 0x22, 0x00,
+ 0x08, 0x1C, 0x08, 0x08, 0x08, 0x00,
+ 0x08, 0x08, 0x38, 0x20, 0x28, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2A, 0x2A, 0x2A, 0x00, 0x00,
+ 0x4E, 0x46, 0x4A, 0x50, 0x2F, 0x00,
+ 0x3E, 0x45, 0x55, 0x51, 0x3E, 0x00,
+ 0x48, 0x50, 0x7E, 0x50, 0x48, 0x00,
+ 0x3E, 0x49, 0x71, 0x49, 0x3E, 0x00,
+ 0x10, 0x22, 0x4F, 0x20, 0x10, 0x00,
+ 0x0E, 0x06, 0x0A, 0x10, 0x20, 0x00,
+ 0x20, 0x10, 0x0A, 0x06, 0x0E, 0x00,
+ 0x08, 0x08, 0x08, 0x1C, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 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,
+ 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
+ 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 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,
+ 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
+ 0x0F, 0x7F, 0x0F, 0x00, 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, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/keyboards/doio/kb16/lib/layer_status/layer_status.c b/keyboards/doio/kb16/lib/layer_status/layer_status.c
new file mode 100644
index 0000000000..657ac86ff2
--- /dev/null
+++ b/keyboards/doio/kb16/lib/layer_status/layer_status.c
@@ -0,0 +1,167 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+void render_layer_status(void) {
+ static const char PROGMEM layer_status[][ANIM_SIZE] = {
+ {
+ //Layer 1
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
+ 0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
+ 0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Layer 2
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x61, 0x61, 0x61, 0x61, 0x79, 0x79, 0x79,
+ 0x79, 0x79, 0x39, 0x01, 0x01, 0x01, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
+ 0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x90, 0x9e, 0x9e, 0x9e, 0x9e,
+ 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
+ 0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Layer 3
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
+ 0x79, 0x79, 0x79, 0x09, 0x01, 0x01, 0x01, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
+ 0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
+ 0x9e, 0x9e, 0x86, 0x80, 0x80, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
+ 0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Layer 4
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
+ 0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x03, 0x01, 0x01, 0xc1, 0xfd, 0xff,
+ 0xff, 0x7f, 0x01, 0x01, 0x01, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0xf0, 0xf0, 0xf2, 0xf3, 0xf3, 0xf3,
+ 0xb3, 0x80, 0x80, 0x80, 0x80, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ oled_write_raw_P(layer_status[get_highest_layer(layer_state)], sizeof(layer_status[0]));
+}
diff --git a/keyboards/doio/kb16/lib/layer_status/layer_status.h b/keyboards/doio/kb16/lib/layer_status/layer_status.h
new file mode 100644
index 0000000000..a367a829d7
--- /dev/null
+++ b/keyboards/doio/kb16/lib/layer_status/layer_status.h
@@ -0,0 +1,18 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+void render_layer_status(void);
diff --git a/keyboards/doio/kb16/lib/logo.c b/keyboards/doio/kb16/lib/logo.c
new file mode 100644
index 0000000000..7a52b479ff
--- /dev/null
+++ b/keyboards/doio/kb16/lib/logo.c
@@ -0,0 +1,61 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+void render_logo(void) {
+ static const char PROGMEM doio[][ANIM_SIZE] = {
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x20, 0x30, 0x10, 0x18, 0x08, 0x08,
+ 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60, 0xc0,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0xf0, 0xfc, 0x0e, 0x03, 0x01, 0x00, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0xf0,
+ 0xf0, 0xe0, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x70, 0xf0, 0xe0, 0xc0, 0x00, 0x18,
+ 0xf8, 0xf8, 0xf8, 0x18, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x70, 0xf0, 0xe0, 0xc0,
+ 0x01, 0x03, 0x0e, 0xfc, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf8,
+ 0xf8, 0xf8, 0x80, 0xc0, 0xe0, 0xf0, 0x78, 0x38, 0x18, 0x00, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8,
+ 0xf8, 0xf8, 0x70, 0x00, 0x60, 0x60, 0x70, 0x78, 0xf8, 0xf8, 0xf8, 0x00, 0xe0, 0xf0, 0xf0, 0xb8,
+ 0xb8, 0xb8, 0xb8, 0xb8, 0x30, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xe0, 0xf0, 0xf8,
+ 0x38, 0x38, 0x38, 0xf8, 0xf0, 0xe0, 0x00, 0x60, 0x60, 0x70, 0x78, 0xf8, 0xf8, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x00, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x0f,
+ 0x0f, 0x07, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1c, 0x1c, 0x1c, 0x0e, 0x0f, 0x07, 0x03, 0x00, 0x18,
+ 0x1f, 0x1f, 0x1f, 0x18, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1c, 0x1c, 0x1c, 0x0e, 0x0f, 0x07, 0x03,
+ 0x80, 0xc0, 0x70, 0x3f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x1f, 0x1f, 0x01, 0x03, 0x07, 0x0f, 0x1e, 0x1c, 0x18, 0x00, 0x1f, 0x1f, 0x1f, 0x1d, 0x1d, 0x1d,
+ 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x07, 0x0f, 0x0f, 0x1d,
+ 0x1d, 0x1d, 0x1f, 0x1f, 0x0f, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x07, 0x0f, 0x1f,
+ 0x1c, 0x1c, 0x1c, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x0c, 0x08, 0x18, 0x10, 0x10,
+ 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x18, 0x08, 0x0c, 0x04, 0x06, 0x03,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ oled_write_raw_P(doio[0], ANIM_SIZE);
+}
diff --git a/keyboards/doio/kb16/lib/logo.h b/keyboards/doio/kb16/lib/logo.h
new file mode 100644
index 0000000000..91d1ddce34
--- /dev/null
+++ b/keyboards/doio/kb16/lib/logo.h
@@ -0,0 +1,18 @@
+/* Copyright 2022 DOIO
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+void render_logo(void);
diff --git a/keyboards/doio/kb16/readme.md b/keyboards/doio/kb16/readme.md
new file mode 100644
index 0000000000..8667da41d5
--- /dev/null
+++ b/keyboards/doio/kb16/readme.md
@@ -0,0 +1,26 @@
+# KB16-01
+
+![KB16-01](https://i.imgur.com/lpq47ELh.png)
+
+A macropad that have 16-key keyboard made by DOIO, which controlled by an Atmega32u4 chipset. The keyboard features per-key RGB, 3 encoder and an OLED screen for displaying useful information.
+
+* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll)
+* Hardware Supported: Atmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make doio/kb16/rev1:default
+
+Flashing example for this keyboard:
+
+ make doio/kb16/rev1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard
+* **Physical reset button**: Short press the button under Spacebar keycap to enter the Bootloader and flash the firmware
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/doio/kb16/rules.mk b/keyboards/doio/kb16/rules.mk
new file mode 100644
index 0000000000..b2982c9743
--- /dev/null
+++ b/keyboards/doio/kb16/rules.mk
@@ -0,0 +1,36 @@
+SRC += lib/layer_status/layer_status.c
+SRC += lib/logo.c
+
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Additional thing to reduce compiled size
+LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
+
+# OLED enabled
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+
+# RGB Matrix enabled
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+# Encoder enabled
+ENCODER_ENABLE = yes
diff --git a/keyboards/donutcables/budget96/config.h b/keyboards/donutcables/budget96/config.h
index 39b661dda7..2f922435e6 100644
--- a/keyboards/donutcables/budget96/config.h
+++ b/keyboards/donutcables/budget96/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4443
-#define PRODUCT_ID 0xB960
-#define DEVICE_VER 0x0200
-#define MANUFACTURER DonutCables
-#define PRODUCT Budget96
-
#define RGBLED_NUM 18
#define MATRIX_ROWS 8
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/donutcables/budget96/info.json b/keyboards/donutcables/budget96/info.json
index a392a9eb5e..338b3c2451 100644
--- a/keyboards/donutcables/budget96/info.json
+++ b/keyboards/donutcables/budget96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "budget96",
+ "keyboard_name": "Budget96",
+ "manufacturer": "DonutCables",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0xB960",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "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":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1}, {"x":17, "y":1}, {"x":18, "y":1}, {"x":0, "y":2, "w":1.5}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2}, {"x":5.5, "y":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":12.5, "y":2}, {"x":13.5, "y":2, "w":1.5}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":17, "y":2}, {"x":18, "y":2}, {"x":0, "y":3, "w":1.75}, {"x":1.75, "y":3}, {"x":2.75, "y":3}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3, "w":1.25}, {"x":15, "y":3}, {"x":16, "y":3}, {"x":17, "y":3}, {"x":18, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":3.25, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4, "w":1.75}, {"x":14, "y":4}, {"x":15, "y":4}, {"x":16, "y":4}, {"x":17, "y":4}, {"x":18, "y":4}, {"x":0, "y":5, "w":1.25}, {"x":1.25, "y":5, "w":1.25}, {"x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"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":16, "y":5}, {"x":17, "y":5}, {"x":18, "y":5}]
diff --git a/keyboards/donutcables/budget96/keymaps/donut/keymap.c b/keyboards/donutcables/budget96/keymaps/donut/keymap.c
index 53e77437ff..3da74bb153 100644
--- a/keyboards/donutcables/budget96/keymaps/donut/keymap.c
+++ b/keyboards/donutcables/budget96/keymaps/donut/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* (3) Fn 2 */
[_FN2] = LAYOUT_96_ansi(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_M_WC, EEP_RST, RESET,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_M_WC, EEP_RST, QK_BOOT,
VLK_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/donutcables/scrabblepad/config.h b/keyboards/donutcables/scrabblepad/config.h
index 2c6c704bde..2d16e78457 100644
--- a/keyboards/donutcables/scrabblepad/config.h
+++ b/keyboards/donutcables/scrabblepad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443
-#define PRODUCT_ID 0x21D7
-#define DEVICE_VER 0x0100
-#define MANUFACTURER DonutCables
-#define PRODUCT ScrabblePad
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, F1, C7, F2, C6, F3, C5, F4, C4, F5, C3, F6, C2, F7, C1 }
#define MATRIX_COL_PINS { D6, D7, E0, E1, B7, D2, D3, D4, C0, B4, B5, B6, F0, E6, E7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/donutcables/scrabblepad/info.json b/keyboards/donutcables/scrabblepad/info.json
index e4579f58ff..513aea53aa 100644
--- a/keyboards/donutcables/scrabblepad/info.json
+++ b/keyboards/donutcables/scrabblepad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "scrabblepad",
+ "keyboard_name": "ScrabblePad",
+ "manufacturer": "DonutCables",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x21D7",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"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":7, "y":1}, {"x":8, "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":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":7, "y":2}, {"x":8, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":5}, {"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":0, "y":6}, {"x":1, "y":6}, {"x":2, "y":6}, {"x":3, "y":6}, {"x":4, "y":6}, {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, {"x":8, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, {"x":12, "y":6}, {"x":13, "y":6}, {"x":14, "y":6}, {"x":0, "y":7}, {"x":1, "y":7}, {"x":2, "y":7}, {"x":3, "y":7}, {"x":4, "y":7}, {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, {"x":8, "y":7}, {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7}, {"x":12, "y":7}, {"x":13, "y":7}, {"x":14, "y":7}, {"x":0, "y":8}, {"x":1, "y":8}, {"x":2, "y":8}, {"x":3, "y":8}, {"x":4, "y":8}, {"x":5, "y":8}, {"x":6, "y":8}, {"x":7, "y":8}, {"x":8, "y":8}, {"x":9, "y":8}, {"x":10, "y":8}, {"x":11, "y":8}, {"x":12, "y":8}, {"x":13, "y":8}, {"x":14, "y":8}, {"x":0, "y":9}, {"x":1, "y":9}, {"x":2, "y":9}, {"x":3, "y":9}, {"x":4, "y":9}, {"x":5, "y":9}, {"x":6, "y":9}, {"x":7, "y":9}, {"x":8, "y":9}, {"x":9, "y":9}, {"x":10, "y":9}, {"x":11, "y":9}, {"x":12, "y":9}, {"x":13, "y":9}, {"x":14, "y":9}, {"x":0, "y":10}, {"x":1, "y":10}, {"x":2, "y":10}, {"x":3, "y":10}, {"x":4, "y":10}, {"x":5, "y":10}, {"x":6, "y":10}, {"x":7, "y":10}, {"x":8, "y":10}, {"x":9, "y":10}, {"x":10, "y":10}, {"x":11, "y":10}, {"x":12, "y":10}, {"x":13, "y":10}, {"x":14, "y":10}, {"x":0, "y":11}, {"x":1, "y":11}, {"x":2, "y":11}, {"x":3, "y":11}, {"x":4, "y":11}, {"x":5, "y":11}, {"x":6, "y":11}, {"x":7, "y":11}, {"x":8, "y":11}, {"x":9, "y":11}, {"x":10, "y":11}, {"x":11, "y":11}, {"x":12, "y":11}, {"x":13, "y":11}, {"x":14, "y":11}, {"x":0, "y":12}, {"x":1, "y":12}, {"x":2, "y":12}, {"x":3, "y":12}, {"x":4, "y":12}, {"x":5, "y":12}, {"x":6, "y":12}, {"x":7, "y":12}, {"x":8, "y":12}, {"x":9, "y":12}, {"x":10, "y":12}, {"x":11, "y":12}, {"x":12, "y":12}, {"x":13, "y":12}, {"x":14, "y":12}, {"x":0, "y":13}, {"x":1, "y":13}, {"x":2, "y":13}, {"x":3, "y":13}, {"x":4, "y":13}, {"x":5, "y":13}, {"x":6, "y":13}, {"x":7, "y":13}, {"x":8, "y":13}, {"x":9, "y":13}, {"x":10, "y":13}, {"x":11, "y":13}, {"x":12, "y":13}, {"x":13, "y":13}, {"x":14, "y":13}, {"x":0, "y":14}, {"x":1, "y":14}, {"x":2, "y":14}, {"x":3, "y":14}, {"x":4, "y":14}, {"x":5, "y":14}, {"x":6, "y":14}, {"x":7, "y":14}, {"x":8, "y":14}, {"x":9, "y":14}, {"x":10, "y":14}, {"x":11, "y":14}, {"x":12, "y":14}, {"x":13, "y":14}, {"x":14, "y":14}]
diff --git a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c b/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c
index bc07a619cd..025a506188 100644
--- a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c
+++ b/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
- RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RESET, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
+ RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, QK_BOOT, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY,
diff --git a/keyboards/doodboard/duckboard/config.h b/keyboards/doodboard/duckboard/config.h
index 80c9411165..853d997094 100644
--- a/keyboards/doodboard/duckboard/config.h
+++ b/keyboards/doodboard/duckboard/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4442
-#define PRODUCT_ID 0xFF44
-#define DEVICE_VER 0x0001
-#define MANUFACTURER doodboard
-#define PRODUCT duckboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { F5 }
#define ENCODERS_PAD_B { F6 }
diff --git a/keyboards/doodboard/duckboard/info.json b/keyboards/doodboard/duckboard/info.json
index 69dde7790d..465dcec611 100644
--- a/keyboards/doodboard/duckboard/info.json
+++ b/keyboards/doodboard/duckboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "duckboard",
+ "manufacturer": "doodboard",
"url": "https://doodboard.xyz/",
"maintainer": "doodboard",
+ "usb": {
+ "vid": "0x4442",
+ "pid": "0xFF44",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/doodboard/duckboard_r2/config.h b/keyboards/doodboard/duckboard_r2/config.h
index 10ed3c4cab..23b255b7d9 100644
--- a/keyboards/doodboard/duckboard_r2/config.h
+++ b/keyboards/doodboard/duckboard_r2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4442
-#define PRODUCT_ID 0x6462
-#define DEVICE_VER 0x0001
-#define MANUFACTURER doodboard
-#define PRODUCT duckboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { F6 }
#define ENCODERS_PAD_B { F5 }
diff --git a/keyboards/doodboard/duckboard_r2/info.json b/keyboards/doodboard/duckboard_r2/info.json
index 5a774a6e51..f877a63a0c 100644
--- a/keyboards/doodboard/duckboard_r2/info.json
+++ b/keyboards/doodboard/duckboard_r2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "duckboard",
+ "manufacturer": "doodboard",
"url": "https://doodboard.xyz/",
"maintainer": "doodboard",
+ "usb": {
+ "vid": "0x4442",
+ "pid": "0x6462",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h
index 39e29e7c15..5570cdf9bb 100644
--- a/keyboards/doppelganger/config.h
+++ b/keyboards/doppelganger/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4447
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Doppelganger
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, F1, C7, F7, F6 }
#define MATRIX_COL_PINS { F4, F0, B7, B3, B2, B1, D5, D3, D2 }
-#define UNUSED_PINS
#define MATRIX_ROW_PINS_RIGHT { D7, D6, D4, E6, B5 }
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, F7, C7, C6, B6 }
diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c
index 04d19480da..304d764028 100644
--- a/keyboards/doppelganger/doppelganger.c
+++ b/keyboards/doppelganger/doppelganger.c
@@ -15,25 +15,31 @@
*/
#include "doppelganger.h"
-void keyboard_pre_init_kb (void) {
- setPinOutput(C6);
- setPinOutput(B0);
+void keyboard_pre_init_kb(void) {
+ setPinOutput(C6);
+ setPinOutput(B0);
}
bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // writePin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- writePin(C6, !led_state.caps_lock);
- }
- return res;
+ bool res = led_update_user(led_state);
+ if (res) {
+ // writePin sets the pin high for 1 and low for 0.
+ // In this example the pins are inverted, setting
+ // it low/0 turns it on, and high/1 turns the LED off.
+ // This behavior depends on whether the LED is between the pin
+ // and VCC or the pin and GND.
+ writePin(C6, !led_state.caps_lock);
+ }
+ return res;
}
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(B0, !(state & (1UL << 1)));
- return state;
+ writePin(B0, !(state & (1UL << 1)));
+ return state;
+}
+
+// Override core logic as we reuse SPLIT_HAND_PIN within matrix pins
+bool is_keyboard_left(void) {
+ setPinInput(SPLIT_HAND_PIN);
+ return readPin(SPLIT_HAND_PIN);
}
diff --git a/keyboards/doppelganger/info.json b/keyboards/doppelganger/info.json
index 7200fab68f..e1edf3d77d 100644
--- a/keyboards/doppelganger/info.json
+++ b/keyboards/doppelganger/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Doppelganger",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4447",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":1, "y":0}, {"label":"Esc", "x":2.5, "y":0}, {"label":"1", "x":3.5, "y":0}, {"label":"2", "x":4.5, "y":0}, {"label":"3", "x":5.5, "y":0}, {"label":"4", "x":6.5, "y":0}, {"label":"5", "x":7.5, "y":0}, {"label":"6", "x":8.5, "y":0}, {"label":"7", "x":10.5, "y":0}, {"label":"8", "x":11.5, "y":0}, {"label":"9", "x":12.5, "y":0}, {"label":"0", "x":13.5, "y":0}, {"label":"_", "x":14.5, "y":0}, {"label":"+", "x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"F3", "x":1, "y":1}, {"label":"Tab", "x":2.5, "y":1, "w":1.5}, {"label":"Q", "x":4, "y":1}, {"label":"W", "x":5, "y":1}, {"label":"E", "x":6, "y":1}, {"label":"R", "x":7, "y":1}, {"label":"T", "x":8, "y":1}, {"label":"Y", "x":10, "y":1}, {"label":"U", "x":11, "y":1}, {"label":"I", "x":12, "y":1}, {"label":"O", "x":13, "y":1}, {"label":"P", "x":14, "y":1}, {"label":"{", "x":15, "y":1}, {"label":"}", "x":16, "y":1}, {"label":"|", "x":17, "y":1, "w":1.5}, {"label":"Pg Up", "x":19, "y":1}, {"label":"F4", "x":0, "y":2}, {"label":"F5", "x":1, "y":2}, {"label":"Caps Lock", "x":2.5, "y":2, "w":1.75}, {"label":"A", "x":4.25, "y":2}, {"label":"S", "x":5.25, "y":2}, {"label":"D", "x":6.25, "y":2}, {"label":"F", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"H", "x":10.25, "y":2}, {"label":"J", "x":11.25, "y":2}, {"label":"K", "x":12.25, "y":2}, {"label":"L", "x":13.25, "y":2}, {"label":":", "x":14.25, "y":2}, {"label":"\"", "x":15.25, "y":2}, {"label":"~", "x":16.25, "y":2}, {"label":"Enter", "x":17.25, "y":2, "w":1.25}, {"label":"Pg Dn", "x":19, "y":2}, {"label":"F6", "x":0, "y":3}, {"label":"F7", "x":1, "y":3}, {"label":"Shift", "x":2.5, "y":3, "w":1.25}, {"label":"|", "x":3.75, "y":3}, {"label":"Z", "x":4.75, "y":3}, {"label":"X", "x":5.75, "y":3}, {"label":"C", "x":6.75, "y":3}, {"label":"V", "x":7.75, "y":3}, {"label":"B", "x":8.75, "y":3}, {"label":"N", "x":10.75, "y":3}, {"label":"M", "x":11.75, "y":3}, {"label":"<", "x":12.75, "y":3}, {"label":">", "x":13.75, "y":3}, {"label":"?", "x":14.75, "y":3}, {"label":"Shift", "x":15.75, "y":3, "w":1.75}, {"label":"Up", "x":17.75, "y":3.25}, {"label":"Fn", "x":19, "y":3}, {"label":"F8", "x":0, "y":4}, {"label":"F9", "x":1, "y":4}, {"label":"Ctrl", "x":2.5, "y":4, "w":1.25}, {"label":"Win", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.25}, {"x":8.25, "y":4}, {"x":10.25, "y":4, "w":2.75}, {"label":"Alt", "x":13, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"label":"Win", "x":15.25, "y":4, "w":1.25}, {"label":"Left", "x":16.75, "y":4.25}, {"label":"Down", "x":17.75, "y":4.25}, {"label":"Right", "x":18.75, "y":4.25}]
diff --git a/keyboards/doro67/multi/config.h b/keyboards/doro67/multi/config.h
index bd4bd7a5ba..8032184f99 100644
--- a/keyboards/doro67/multi/config.h
+++ b/keyboards/doro67/multi/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4250 // BP for Backprop
-#define PRODUCT_ID 0x4D4C // ML for Multi
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Backprop Studio
-#define PRODUCT Doro67 Multi PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/doro67/multi/info.json b/keyboards/doro67/multi/info.json
index 24a7982437..1918da8300 100644
--- a/keyboards/doro67/multi/info.json
+++ b/keyboards/doro67/multi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Doro67 Multi PCB",
+ "keyboard_name": "Doro67 Multi",
+ "manufacturer": "Backprop Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4250",
+ "pid": "0x4D4C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"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":"Ins", "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":"Del", "x":15, "y":1}, {"label":"Caps Lock", "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":"\u2191", "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/doro67/regular/config.h b/keyboards/doro67/regular/config.h
index c778ed7a08..5b1424ae40 100644
--- a/keyboards/doro67/regular/config.h
+++ b/keyboards/doro67/regular/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4250 // BP for Backprop
-#define PRODUCT_ID 0x5245 // RE for Regular
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Backprop Studio
-#define PRODUCT Doro67 Regular PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/doro67/regular/info.json b/keyboards/doro67/regular/info.json
index 34120a1663..37de426024 100644
--- a/keyboards/doro67/regular/info.json
+++ b/keyboards/doro67/regular/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "Doro67",
+ "manufacturer": "Backprop Studio",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4250",
+ "pid": "0x5245",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h
index b2d26b29ae..dfd0cde6d8 100644
--- a/keyboards/doro67/rgb/config.h
+++ b/keyboards/doro67/rgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4250 // BP for Backprop
-#define PRODUCT_ID 0x5247 // RG for RGB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Backprop Studio
-#define PRODUCT Doro67 RGB PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D4, D6, D7, B4, B5, B6, C6, C7, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json
index f7895ce55b..7f4e0252a0 100644
--- a/keyboards/doro67/rgb/info.json
+++ b/keyboards/doro67/rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Doro 67 RGB",
+ "keyboard_name": "Doro67 RGB",
+ "manufacturer": "Backprop Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4250",
+ "pid": "0x5247",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h
index f4a44206f4..ad7fee9009 100644
--- a/keyboards/dp60/config.h
+++ b/keyboards/dp60/config.h
@@ -17,17 +17,9 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x60BE
-#define PRODUCT_ID 0x00BE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER astro
-#define PRODUCT DP60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json
index e5c7bbfeed..783999f8ed 100644
--- a/keyboards/dp60/info.json
+++ b/keyboards/dp60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "rgb60",
+ "keyboard_name": "DP60",
+ "manufacturer": "astro",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x60BE",
+ "pid": "0x00BE",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_60_wkl": "LAYOUT_60_ansi_tsangan_split_rshift",
"LAYOUT_60_wkl_split_bs": "LAYOUT_60_tsangan_hhkb"
diff --git a/keyboards/dp60/keymaps/allleds/keymap.c b/keyboards/dp60/keymaps/allleds/keymap.c
index 66cc628d4c..3d49bd268f 100644
--- a/keyboards/dp60/keymaps/allleds/keymap.c
+++ b/keyboards/dp60/keymaps/allleds/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_ansi_split_bs_rshift(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,
- RESET, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,_______,TG(0),_______),
diff --git a/keyboards/dp60/keymaps/indicator/keymap.c b/keyboards/dp60/keymaps/indicator/keymap.c
index 170d4eb954..0cfe07f3ae 100644
--- a/keyboards/dp60/keymaps/indicator/keymap.c
+++ b/keyboards/dp60/keymaps/indicator/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_hhkb(
_______, 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,
- RESET, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
KC_CAPS, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______, _______, _______,_______),
diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h
index 3060f801c6..c4a3f82117 100644
--- a/keyboards/draculad/config.h
+++ b/keyboards/draculad/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1B1E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mangoiv
-#define PRODUCT draculad
-
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -63,7 +57,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODER_RESOLUTIONS { 4, 4 }
#define ENCODER_RESOLUTIONS_RIGHT { 4, 1 }
-#define UNUSED_PINS
#define EE_HANDS
diff --git a/keyboards/draculad/info.json b/keyboards/draculad/info.json
index 351ebb58fc..177092d5a3 100644
--- a/keyboards/draculad/info.json
+++ b/keyboards/draculad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DracuLad",
+ "manufacturer": "MangoIV",
"url": "",
"maintainer": "MangoIV",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1B1E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h b/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..0a8de54ae5
--- /dev/null
+++ b/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2022 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+#define LAYOUT_miryoku( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ XXX, XXX, \
+ K32, K33, K34, K35, K36, K37 \
+)
diff --git a/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/draculad/keymaps/pimoroni/keymap.c b/keyboards/draculad/keymaps/pimoroni/keymap.c
index 5c20c69af9..a98c47fd39 100644
--- a/keyboards/draculad/keymaps/pimoroni/keymap.c
+++ b/keyboards/draculad/keymaps/pimoroni/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUM] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT,
- KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
+ KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, QK_BOOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
XXXXXXX, KC_NO,
KC_LCTL, KC_LALT, XXXXXXX, KC_NO, _______, KC_ENT
),
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJ] = LAYOUT(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
XXXXXXX, _______,
diff --git a/keyboards/draytronics/daisy/config.h b/keyboards/draytronics/daisy/config.h
index fa04b0d41c..3e0895cff3 100644
--- a/keyboards/draytronics/daisy/config.h
+++ b/keyboards/draytronics/daisy/config.h
@@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4454 //DT for DrayTronics
-#define PRODUCT_ID 0x4441 //DA for Daisy
-#define DEVICE_VER 0x0100 //Version 1
-#define MANUFACTURER Draytronics
-#define PRODUCT DAISY
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, C0, C1}
#define MATRIX_COL_PINS { C2, C3, C4, C5 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B1, D0 }
#define ENCODERS_PAD_B { B2, D1 }
diff --git a/keyboards/draytronics/daisy/info.json b/keyboards/draytronics/daisy/info.json
index bb20b0c9bf..80f9da0e59 100644
--- a/keyboards/draytronics/daisy/info.json
+++ b/keyboards/draytronics/daisy/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Draytronics DAISY",
+ "keyboard_name": "DAISY",
+ "manufacturer": "Draytronics",
"url": "https://www.draytronics.co.uk/daisy",
"maintainer": "ghostseven",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x4441",
+ "device_version": "1.0.0"
+ },
"layout_aliases": {
"LAYOUT_daisy": "LAYOUT"
},
diff --git a/keyboards/draytronics/elise/config.h b/keyboards/draytronics/elise/config.h
index f5fde6987e..309b68039f 100644
--- a/keyboards/draytronics/elise/config.h
+++ b/keyboards/draytronics/elise/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4454 //DT for DrayTronics
-#define PRODUCT_ID 0x454C //EL for Elise
-#define DEVICE_VER 0x0100 //Version 1
-#define MANUFACTURER Draytronics
-#define PRODUCT ELISE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2,B3, B1, F0, F1}
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D2, D3, D5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/draytronics/elise/info.json b/keyboards/draytronics/elise/info.json
index 6393dbfab5..2ff8a98db8 100644
--- a/keyboards/draytronics/elise/info.json
+++ b/keyboards/draytronics/elise/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Draytronics ELISE",
+ "keyboard_name": "ELISE",
+ "manufacturer": "Draytronics",
"url": "https://www.draytronics.co.uk/elise",
"maintainer": "ghostseven",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x454C",
+ "device_version": "1.0.0"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_right_lrg": "LAYOUT_65_ansi_rwkl",
"LAYOUT_65_ansi_left_lrg": "LAYOUT_65_ansi_lwkl",
diff --git a/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c b/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c
index 65e0629e1d..c8a0ecd959 100644
--- a/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c
+++ b/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,----------------------------------------------------------------.
* |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins|
* |----------------------------------------------------------------|
- * |RESET| | ↑ | | | | | | | | | | | | |
+ * |QK_BOOT| | ↑ | | | | | | | | | | | | |
* |------------------------------------------------------- -----|
* | | ↠| ↓ | → | | | | | | | | | | | |
* |----------------------------------------------------------------|
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_65_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE,
RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/draytronics/elise_v2/config.h b/keyboards/draytronics/elise_v2/config.h
index 931125e117..d4e4e2dc28 100644
--- a/keyboards/draytronics/elise_v2/config.h
+++ b/keyboards/draytronics/elise_v2/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4454 //DT for DrayTronics
-#define PRODUCT_ID 0x454C //EL for Elise
-#define DEVICE_VER 0x0200 //Version 2
-#define MANUFACTURER Draytronics
-#define PRODUCT ELISE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2,B3, B1, F0, F1}
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D2, D3, D5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/draytronics/elise_v2/info.json b/keyboards/draytronics/elise_v2/info.json
index 9e391ad1db..f4477680d1 100644
--- a/keyboards/draytronics/elise_v2/info.json
+++ b/keyboards/draytronics/elise_v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Draytronics ELISE V2",
+ "keyboard_name": "ELISE",
+ "manufacturer": "Draytronics",
"url": "https://www.draytronics.co.uk/elisev2",
"maintainer": "ghostseven",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x454C",
+ "device_version": "2.0.0"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_right_lrg": "LAYOUT_65_ansi_rwkl",
"LAYOUT_65_ansi_left_lrg": "LAYOUT_65_ansi_lwkl",
diff --git a/keyboards/draytronics/elise_v2/keymaps/blake_iso/keymap.c b/keyboards/draytronics/elise_v2/keymaps/blake_iso/keymap.c
index 65e0629e1d..c8a0ecd959 100644
--- a/keyboards/draytronics/elise_v2/keymaps/blake_iso/keymap.c
+++ b/keyboards/draytronics/elise_v2/keymaps/blake_iso/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,----------------------------------------------------------------.
* |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins|
* |----------------------------------------------------------------|
- * |RESET| | ↑ | | | | | | | | | | | | |
+ * |QK_BOOT| | ↑ | | | | | | | | | | | | |
* |------------------------------------------------------- -----|
* | | ↠| ↓ | → | | | | | | | | | | | |
* |----------------------------------------------------------------|
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_65_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
- RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE,
RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/draytronics/scarlet/config.h b/keyboards/draytronics/scarlet/config.h
index 9c4db29ac6..4d55960783 100644
--- a/keyboards/draytronics/scarlet/config.h
+++ b/keyboards/draytronics/scarlet/config.h
@@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4454 //DT for DrayTronics
-#define PRODUCT_ID 0x5343 //SC for Scarlet
-#define DEVICE_VER 0x0001 //Version 1
-#define MANUFACTURER Draytronics
-#define PRODUCT SCARLET
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 }
#define MATRIX_COL_PINS { A5, A6, A7, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/draytronics/scarlet/info.json b/keyboards/draytronics/scarlet/info.json
index 2e3f4f4b88..95b225f614 100644
--- a/keyboards/draytronics/scarlet/info.json
+++ b/keyboards/draytronics/scarlet/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Draytronics SCARLET",
+ "keyboard_name": "SCARLET",
+ "manufacturer": "Draytronics",
"url": "https://www.draytronics.co.uk/scarlet",
"maintainer": "ghostseven",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x5343",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/drewkeys/iskar/config.h b/keyboards/drewkeys/iskar/config.h
index 956456201f..3f5504ba5a 100644
--- a/keyboards/drewkeys/iskar/config.h
+++ b/keyboards/drewkeys/iskar/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDE43
-#define PRODUCT_ID 0x1284
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Drewkeys
-#define PRODUCT Iskar
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#define MATRIX_ROW_PINS { D6, D7, B4, B5, D4 }
#define MATRIX_COL_PINS { B6, C6, C7, F6, F5, F4, F7, F1, F0, E6, B7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/drewkeys/iskar/info.json b/keyboards/drewkeys/iskar/info.json
index 0505fece10..431b38b345 100644
--- a/keyboards/drewkeys/iskar/info.json
+++ b/keyboards/drewkeys/iskar/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Iskar",
+ "manufacturer": "Drewkeys",
"url": "https://bitmapstudio.xyz/collections/iskar",
"maintainer": "Drewkeys",
+ "usb": {
+ "vid": "0xDE43",
+ "pid": "0x1284",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/drhigsby/bkf/config.h b/keyboards/drhigsby/bkf/config.h
index af1b2be747..b5b1914f4e 100644
--- a/keyboards/drhigsby/bkf/config.h
+++ b/keyboards/drhigsby/bkf/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER DrHigsby
-#define PRODUCT BKF - Base Kit Forty
-#define VENDOR_ID 0x0007
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, F7, B1, B3 }
#define MATRIX_COL_PINS { B6, B2, D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Define encoder pads */
#define ENCODERS_PAD_A { F4 }
diff --git a/keyboards/drhigsby/bkf/info.json b/keyboards/drhigsby/bkf/info.json
index c7b109d651..920877f28d 100644
--- a/keyboards/drhigsby/bkf/info.json
+++ b/keyboards/drhigsby/bkf/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BKF - Base Kit Forty",
+ "manufacturer": "DrHigsby",
"url": "http://www.keyboard-layout-editor.com/#/gists/8a9ebae3a5f3f601bb928f7265db0e2e",
"maintainer": "drhigsby",
+ "usb": {
+ "vid": "0x0007",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_625uC": {
"layout": [{"label":"Tab", "x":0, "y":0, "w":1.5}, {"label":"Q", "x":1.5, "y":0}, {"label":"W", "x":2.5, "y":0}, {"label":"E", "x":3.5, "y":0}, {"label":"R", "x":4.5, "y":0}, {"label":"T", "x":5.5, "y":0}, {"label":"Y", "x":6.5, "y":0}, {"label":"U", "x":7.5, "y":0}, {"label":"I", "x":8.5, "y":0}, {"label":"O", "x":9.5, "y":0}, {"label":"P", "x":10.5, "y":0}, {"label":"{", "x":11.5, "y":0}, {"label":"}", "x":12.5, "y":0}, {"label":"Caps Lock", "x":0, "y":1, "w":1.75}, {"label":"A", "x":1.75, "y":1}, {"label":"S", "x":2.75, "y":1}, {"label":"D", "x":3.75, "y":1}, {"label":"F", "x":4.75, "y":1}, {"label":"G", "x":5.75, "y":1}, {"label":"H", "x":6.75, "y":1}, {"label":"J", "x":7.75, "y":1}, {"label":"K", "x":8.75, "y":1}, {"label":"L", "x":9.75, "y":1}, {"label":":", "x":10.75, "y":1}, {"label":"Control", "x":11.75, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":2.25}, {"label":"Z", "x":2.25, "y":2}, {"label":"X", "x":3.25, "y":2}, {"label":"C", "x":4.25, "y":2}, {"label":"V", "x":5.25, "y":2}, {"label":"B", "x":6.25, "y":2}, {"label":"N", "x":7.25, "y":2}, {"label":"M", "x":8.25, "y":2}, {"label":"<", "x":9.25, "y":2}, {"label":">", "x":10.25, "y":2}, {"label":"?", "x":11.25, "y":2}, {"label":"Shift", "x":12.25, "y":2, "w":1.25}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3, "w":1.25}, {"label":"", "x":3.75, "y":3, "w":6.25}, {"label":"Alt", "x":10, "y":3, "w":1.25}, {"label":"Win", "x":11.25, "y":3}, {"label":"Menu", "x":12.25, "y":3, "w":1.25}]
diff --git a/keyboards/drhigsby/dubba175/config.h b/keyboards/drhigsby/dubba175/config.h
index 2eab0e2693..c1e15170dc 100644
--- a/keyboards/drhigsby/dubba175/config.h
+++ b/keyboards/drhigsby/dubba175/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER DrHigsby
-#define PRODUCT Dubba175
-#define VENDOR_ID 0x0420
-#define PRODUCT_ID 0x0420
-#define DEVICE_VER 0x0420
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, B3, B2, B5 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/drhigsby/dubba175/info.json b/keyboards/drhigsby/dubba175/info.json
index e2830ff4c2..af62239030 100644
--- a/keyboards/drhigsby/dubba175/info.json
+++ b/keyboards/drhigsby/dubba175/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "dubba175",
+ "keyboard_name": "Dubba175",
+ "manufacturer": "DrHigsby",
"url": "http://www.keyboard-layout-editor.com/#/gists/3185de74dfb973bf6d42e785994cfd4e",
"maintainer": "drhigsby",
+ "usb": {
+ "vid": "0x0420",
+ "pid": "0x0420",
+ "device_version": "4.2.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"", "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":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":0, "y":2}, {"label":"", "x":1, "y":2}, {"label":"", "x":2, "y":2}, {"label":"", "x":3, "y":2}, {"label":"", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"", "x":9, "y":2}, {"label":"", "x":1.25, "y":3}, {"label":"", "x":2.25, "y":3}, {"label":"", "x":3.25, "y":3, "w":1.75}, {"x":5, "y":3, "w":1.75}, {"label":"", "x":6.75, "y":3}, {"label":"", "x":7.75, "y":3}]
diff --git a/keyboards/drhigsby/ogurec/config.h b/keyboards/drhigsby/ogurec/config.h
index c5605ca645..a6e01fdb78 100644
--- a/keyboards/drhigsby/ogurec/config.h
+++ b/keyboards/drhigsby/ogurec/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER DrHigsby
-#define PRODUCT ogurec
-#define VENDOR_ID 0x0007
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, B6, B2 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, F4, F5 }
-#define UNUSED_PINS { F7, B1, B3 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/drhigsby/ogurec/info.json b/keyboards/drhigsby/ogurec/info.json
index 1cb6823f95..f6cda513fb 100644
--- a/keyboards/drhigsby/ogurec/info.json
+++ b/keyboards/drhigsby/ogurec/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ogurec",
+ "manufacturer": "DrHigsby",
"url": "http://www.keyboard-layout-editor.com/#/gists/f1bda3a87822868599cf6e3c4340f594",
"maintainer": "drhigsby",
+ "usb": {
+ "vid": "0x0007",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x12": {
"layout": [
diff --git a/keyboards/drhigsby/packrat/config.h b/keyboards/drhigsby/packrat/config.h
index c69ecdafcb..b55f36c222 100644
--- a/keyboards/drhigsby/packrat/config.h
+++ b/keyboards/drhigsby/packrat/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER DrHigsby
-#define PRODUCT Packrat
-#define VENDOR_ID 0x0007
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -42,7 +35,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B6, B2 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B3 }
-#define UNUSED_PINS { F6 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/drhigsby/packrat/info.json b/keyboards/drhigsby/packrat/info.json
index e4e3d869f1..43ed4e432c 100644
--- a/keyboards/drhigsby/packrat/info.json
+++ b/keyboards/drhigsby/packrat/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "packrat",
+ "manufacturer": "DrHigsby",
"url": "http://www.keyboard-layout-editor.com/#/gists/43d838a3b2e0344d75dd67abfc508038",
"maintainer": "drhigsby",
+ "usb": {
+ "vid": "0x0007",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_3uc": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"KNOB!", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"Any", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":":", "x":10, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"Any", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":"<", "x":8, "y":2}, {"label":">", "x":9, "y":2}, {"label":"?", "x":10, "y":2}, {"label":"Ctrl", "x":0.5, "y":3, "w":1.25}, {"label":"Alt", "x":1.75, "y":3, "w":1.25}, {"label":"Raise", "x":3, "y":3}, {"label":"", "x":4, "y":3, "w":3}, {"label":"Lower", "x":7, "y":3}, {"label":"Win", "x":8, "y":3, "w":1.25}, {"label":"Fn", "x":9.25, "y":3, "w":1.25}]
diff --git a/keyboards/drhigsby/packrat/readme.md b/keyboards/drhigsby/packrat/readme.md
index 98b12543dc..f11feeec95 100644
--- a/keyboards/drhigsby/packrat/readme.md
+++ b/keyboards/drhigsby/packrat/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/drop/sense75/board.h b/keyboards/drop/sense75/board.h
new file mode 100644
index 0000000000..fc227f69b1
--- /dev/null
+++ b/keyboards/drop/sense75/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next "board.h"
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/drop/sense75/config.h b/keyboards/drop/sense75/config.h
new file mode 100644
index 0000000000..b0196d0c44
--- /dev/null
+++ b/keyboards/drop/sense75/config.h
@@ -0,0 +1,67 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+
+#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
+#define EXTERNAL_EEPROM_WP_PIN B7
+#define EEPROM_I2C_24LC256
+
+#ifdef RGB_MATRIX_ENABLE
+# define DRIVER_ADDR_1 0b1010000
+# define DRIVER_ADDR_2 0b1011111
+# define DRIVER_COUNT 2
+# define DRIVER_LED_TOTAL (58 + 53)
+# define ISSI_PWM_FREQUENCY 0b010 // 26k
+
+# define RGB_DISABLE_TIMEOUT 0
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/drop/sense75/halconf.h b/keyboards/drop/sense75/halconf.h
new file mode 100644
index 0000000000..b11f12ade7
--- /dev/null
+++ b/keyboards/drop/sense75/halconf.h
@@ -0,0 +1,7 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/drop/sense75/info.json b/keyboards/drop/sense75/info.json
new file mode 100644
index 0000000000..8fd65c1bd7
--- /dev/null
+++ b/keyboards/drop/sense75/info.json
@@ -0,0 +1,235 @@
+{
+ "keyboard_name": "SENSE75",
+ "manufacturer": "Drop Inc.",
+ "maintainer": "zvecr",
+ "processor": "STM32F303",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["C15", "C14", "C13", "C12", "C11", "C10", "C9", "C8", "C7", "C6", "C5", "C4", "C3", "C2", "C1"],
+ "rows": ["B15", "B14", "B13", "B12", "B11", "B10"]
+ },
+ "usb": {
+ "vid": "0x359B",
+ "pid": "0x0001",
+ "device_version": "1.0.0"
+ },
+ "features": {
+ "rgb_matrix": true,
+ "encoder": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "label":"Esc", "x":0, "y":0},
+ { "matrix": [0, 1], "label":"F1", "x":1.25, "y":0},
+ { "matrix": [0, 2], "label":"F2", "x":2.25, "y":0},
+ { "matrix": [0, 3], "label":"F3", "x":3.25, "y":0},
+ { "matrix": [0, 4], "label":"F4", "x":4.25, "y":0},
+ { "matrix": [0, 5], "label":"F5", "x":5.5, "y":0},
+ { "matrix": [0, 6], "label":"F6", "x":6.5, "y":0},
+ { "matrix": [0, 7], "label":"F7", "x":7.5, "y":0},
+ { "matrix": [0, 8], "label":"F8", "x":8.5, "y":0},
+ { "matrix": [0, 9], "label":"F9", "x":9.75, "y":0},
+ { "matrix": [0, 10], "label":"F10", "x":10.75, "y":0},
+ { "matrix": [0, 11], "label":"F11", "x":11.75, "y":0},
+ { "matrix": [0, 12], "label":"F12", "x":12.75, "y":0},
+ { "matrix": [0, 13], "label":"PrtSc", "x":14, "y":0},
+ { "matrix": [0, 14], "label":"Mute", "x":15.25, "y":0},
+ { "matrix": [1, 0], "label":"~", "x":0, "y":1.25},
+ { "matrix": [1, 1], "label":"!", "x":1, "y":1.25},
+ { "matrix": [1, 2], "label":"@", "x":2, "y":1.25},
+ { "matrix": [1, 3], "label":"#", "x":3, "y":1.25},
+ { "matrix": [1, 4], "label":"$", "x":4, "y":1.25},
+ { "matrix": [1, 5], "label":"%", "x":5, "y":1.25},
+ { "matrix": [1, 6], "label":"^", "x":6, "y":1.25},
+ { "matrix": [1, 7], "label":"&", "x":7, "y":1.25},
+ { "matrix": [1, 8], "label":"*", "x":8, "y":1.25},
+ { "matrix": [1, 9], "label":"(", "x":9, "y":1.25},
+ { "matrix": [1, 10], "label":")", "x":10, "y":1.25},
+ { "matrix": [1, 11], "label":"_", "x":11, "y":1.25},
+ { "matrix": [1, 12], "label":"+", "x":12, "y":1.25},
+ { "matrix": [1, 13], "label":"Backspace", "x":13, "y":1.25, "w":2},
+ { "matrix": [1, 14], "label":"Del", "x":15.25, "y":1.25},
+ { "matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5},
+ { "matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25},
+ { "matrix": [2, 2], "label":"W", "x":2.5, "y":2.25},
+ { "matrix": [2, 3], "label":"E", "x":3.5, "y":2.25},
+ { "matrix": [2, 4], "label":"R", "x":4.5, "y":2.25},
+ { "matrix": [2, 5], "label":"T", "x":5.5, "y":2.25},
+ { "matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25},
+ { "matrix": [2, 7], "label":"U", "x":7.5, "y":2.25},
+ { "matrix": [2, 8], "label":"I", "x":8.5, "y":2.25},
+ { "matrix": [2, 9], "label":"O", "x":9.5, "y":2.25},
+ { "matrix": [2, 10], "label":"P", "x":10.5, "y":2.25},
+ { "matrix": [2, 11], "label":"{", "x":11.5, "y":2.25},
+ { "matrix": [2, 12], "label":"}", "x":12.5, "y":2.25},
+ { "matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5},
+ { "matrix": [2, 14], "label":"Page Up", "x":15.25, "y":2.25},
+ { "matrix": [3, 0], "label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ { "matrix": [3, 1], "label":"A", "x":1.75, "y":3.25},
+ { "matrix": [3, 2], "label":"S", "x":2.75, "y":3.25},
+ { "matrix": [3, 3], "label":"D", "x":3.75, "y":3.25},
+ { "matrix": [3, 4], "label":"F", "x":4.75, "y":3.25},
+ { "matrix": [3, 5], "label":"G", "x":5.75, "y":3.25},
+ { "matrix": [3, 6], "label":"H", "x":6.75, "y":3.25},
+ { "matrix": [3, 7], "label":"J", "x":7.75, "y":3.25},
+ { "matrix": [3, 8], "label":"K", "x":8.75, "y":3.25},
+ { "matrix": [3, 9], "label":"L", "x":9.75, "y":3.25},
+ { "matrix": [3, 10], "label":":", "x":10.75, "y":3.25},
+ { "matrix": [3, 11], "label":"\"", "x":11.75, "y":3.25},
+ { "matrix": [3, 12], "label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ { "matrix": [3, 14], "label":"Page Down", "x":15.25, "y":3.25},
+ { "matrix": [4, 0], "label":"Shift", "x":0, "y":4.25, "w":2.25},
+ { "matrix": [4, 1], "label":"Z", "x":2.25, "y":4.25},
+ { "matrix": [4, 2], "label":"X", "x":3.25, "y":4.25},
+ { "matrix": [4, 3], "label":"C", "x":4.25, "y":4.25},
+ { "matrix": [4, 4], "label":"V", "x":5.25, "y":4.25},
+ { "matrix": [4, 5], "label":"B", "x":6.25, "y":4.25},
+ { "matrix": [4, 6], "label":"N", "x":7.25, "y":4.25},
+ { "matrix": [4, 7], "label":"M", "x":8.25, "y":4.25},
+ { "matrix": [4, 8], "label":"<", "x":9.25, "y":4.25},
+ { "matrix": [4, 9], "label":">", "x":10.25, "y":4.25},
+ { "matrix": [4, 10], "label":"?", "x":11.25, "y":4.25},
+ { "matrix": [4, 11], "label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ { "matrix": [4, 13], "label":"\u2191", "x":14.25, "y":4.5},
+ { "matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ { "matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ { "matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ { "matrix": [5, 5], "label":" ", "x":3.75, "y":5.25, "w":6.25},
+ { "matrix": [5, 8], "label":"Alt", "x":10, "y":5.25},
+ { "matrix": [5, 9], "label":"Fn", "x":11, "y":5.25},
+ { "matrix": [5, 10], "label":"Ctrl", "x":12, "y":5.25},
+ { "matrix": [5, 12], "label":"\u2190", "x":13.25, "y":5.5},
+ { "matrix": [5, 13], "label":"\u2193", "x":14.25, "y":5.5},
+ { "matrix": [5, 14], "label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ }
+ },
+ "rgb_matrix": {
+ "layout": [
+ { "flags": 2, "x": 2, "y": 0 },
+ { "flags": 2, "x": 22, "y": 0 },
+ { "flags": 2, "x": 42, "y": 0 },
+ { "flags": 2, "x": 62, "y": 0 },
+ { "flags": 2, "x": 82, "y": 0 },
+ { "flags": 2, "x": 102, "y": 0 },
+ { "flags": 2, "x": 122, "y": 0 },
+ { "flags": 2, "x": 142, "y": 0 },
+ { "flags": 2, "x": 162, "y": 0 },
+ { "flags": 2, "x": 182, "y": 0 },
+ { "flags": 2, "x": 202, "y": 0 },
+ { "flags": 2, "x": 222, "y": 0 },
+ { "flags": 2, "x": 0, "y": 7 },
+ { "flags": 4, "matrix": [0, 0], "x": 6, "y": 8 },
+ { "flags": 4, "matrix": [0, 1], "x": 24, "y": 8 },
+ { "flags": 4, "matrix": [0, 2], "x": 37, "y": 8 },
+ { "flags": 4, "matrix": [0, 3], "x": 51, "y": 8 },
+ { "flags": 4, "matrix": [0, 4], "x": 66, "y": 8 },
+ { "flags": 4, "matrix": [0, 5], "x": 82, "y": 8 },
+ { "flags": 4, "matrix": [0, 6], "x": 96, "y": 8 },
+ { "flags": 4, "matrix": [0, 7], "x": 110, "y": 8 },
+ { "flags": 4, "matrix": [0, 8], "x": 124, "y": 8 },
+ { "flags": 4, "matrix": [0, 9], "x": 141, "y": 8 },
+ { "flags": 4, "matrix": [0, 10], "x": 155, "y": 8 },
+ { "flags": 4, "matrix": [0, 11], "x": 169, "y": 8 },
+ { "flags": 4, "matrix": [0, 12], "x": 182, "y": 8 },
+ { "flags": 4, "matrix": [0, 13], "x": 199, "y": 8 },
+ { "flags": 2, "x": 224, "y": 4 },
+ { "flags": 2, "x": 0, "y": 12 },
+ { "flags": 4, "matrix": [1, 0], "x": 6, "y": 20 },
+ { "flags": 4, "matrix": [1, 1], "x": 20, "y": 20 },
+ { "flags": 4, "matrix": [1, 2], "x": 34, "y": 20 },
+ { "flags": 4, "matrix": [1, 3], "x": 48, "y": 20 },
+ { "flags": 4, "matrix": [1, 4], "x": 62, "y": 20 },
+ { "flags": 4, "matrix": [1, 5], "x": 75, "y": 20 },
+ { "flags": 4, "matrix": [1, 6], "x": 90, "y": 20 },
+ { "flags": 4, "matrix": [1, 7], "x": 103, "y": 20 },
+ { "flags": 4, "matrix": [1, 8], "x": 117, "y": 20 },
+ { "flags": 4, "matrix": [1, 9], "x": 130, "y": 20 },
+ { "flags": 4, "matrix": [1, 10], "x": 144, "y": 20 },
+ { "flags": 4, "matrix": [1, 11], "x": 158, "y": 20 },
+ { "flags": 4, "matrix": [1, 12], "x": 170, "y": 20 },
+ { "flags": 4, "matrix": [1, 13], "x": 192, "y": 20 },
+ { "flags": 4, "matrix": [1, 14], "x": 217, "y": 20 },
+ { "flags": 2, "x": 224, "y": 12 },
+ { "flags": 2, "x": 0, "y": 22 },
+ { "flags": 4, "matrix": [2, 0], "x": 10, "y": 30 },
+ { "flags": 4, "matrix": [2, 1], "x": 27, "y": 30 },
+ { "flags": 4, "matrix": [2, 2], "x": 41, "y": 30 },
+ { "flags": 4, "matrix": [2, 3], "x": 54, "y": 30 },
+ { "flags": 4, "matrix": [2, 4], "x": 69, "y": 30 },
+ { "flags": 4, "matrix": [2, 5], "x": 82, "y": 30 },
+ { "flags": 4, "matrix": [2, 6], "x": 96, "y": 30 },
+ { "flags": 4, "matrix": [2, 7], "x": 110, "y": 30 },
+ { "flags": 4, "matrix": [2, 8], "x": 123, "y": 30 },
+ { "flags": 4, "matrix": [2, 9], "x": 138, "y": 30 },
+ { "flags": 4, "matrix": [2, 10], "x": 151, "y": 30 },
+ { "flags": 4, "matrix": [2, 11], "x": 165, "y": 30 },
+ { "flags": 4, "matrix": [2, 12], "x": 179, "y": 30 },
+ { "flags": 4, "matrix": [2, 13], "x": 196, "y": 30 },
+ { "flags": 4, "matrix": [2, 14], "x": 217, "y": 30 },
+ { "flags": 2, "x": 224, "y": 22 },
+ { "flags": 4, "matrix": [3, 0], "x": 11, "y": 40 },
+ { "flags": 4, "matrix": [3, 1], "x": 30, "y": 40 },
+ { "flags": 4, "matrix": [3, 2], "x": 44, "y": 40 },
+ { "flags": 4, "matrix": [3, 3], "x": 57, "y": 40 },
+ { "flags": 4, "matrix": [3, 4], "x": 72, "y": 40 },
+ { "flags": 4, "matrix": [3, 5], "x": 85, "y": 40 },
+ { "flags": 4, "matrix": [3, 6], "x": 99, "y": 40 },
+ { "flags": 4, "matrix": [3, 7], "x": 113, "y": 40 },
+ { "flags": 4, "matrix": [3, 8], "x": 126, "y": 40 },
+ { "flags": 4, "matrix": [3, 9], "x": 140, "y": 40 },
+ { "flags": 4, "matrix": [3, 10], "x": 154, "y": 40 },
+ { "flags": 4, "matrix": [3, 11], "x": 169, "y": 40 },
+ { "flags": 4, "matrix": [3, 12], "x": 190, "y": 40 },
+ { "flags": 4, "matrix": [3, 14], "x": 217, "y": 40 },
+ { "flags": 2, "x": 0, "y": 42 },
+ { "flags": 4, "matrix": [4, 0], "x": 15, "y": 50 },
+ { "flags": 4, "matrix": [4, 1], "x": 37, "y": 50 },
+ { "flags": 4, "matrix": [4, 2], "x": 51, "y": 50 },
+ { "flags": 4, "matrix": [4, 3], "x": 66, "y": 50 },
+ { "flags": 4, "matrix": [4, 4], "x": 79, "y": 50 },
+ { "flags": 4, "matrix": [4, 5], "x": 93, "y": 50 },
+ { "flags": 4, "matrix": [4, 6], "x": 107, "y": 50 },
+ { "flags": 4, "matrix": [4, 7], "x": 120, "y": 50 },
+ { "flags": 4, "matrix": [4, 8], "x": 134, "y": 50 },
+ { "flags": 4, "matrix": [4, 9], "x": 148, "y": 50 },
+ { "flags": 4, "matrix": [4, 10], "x": 161, "y": 50 },
+ { "flags": 4, "matrix": [4, 11], "x": 180, "y": 50 },
+ { "flags": 4, "matrix": [4, 13], "x": 202, "y": 53 },
+ { "flags": 2, "x": 224, "y": 42 },
+ { "flags": 2, "x": 0, "y": 51 },
+ { "flags": 4, "matrix": [5, 0], "x": 8, "y": 60 },
+ { "flags": 4, "matrix": [5, 1], "x": 26, "y": 60 },
+ { "flags": 4, "matrix": [5, 2], "x": 42, "y": 60 },
+ { "flags": 4, "matrix": [5, 5], "x": 94, "y": 60 },
+ { "flags": 4, "matrix": [5, 8], "x": 144, "y": 60 },
+ { "flags": 4, "matrix": [5, 9], "x": 158, "y": 60 },
+ { "flags": 4, "matrix": [5, 10], "x": 172, "y": 60 },
+ { "flags": 4, "matrix": [5, 12], "x": 189, "y": 63 },
+ { "flags": 4, "matrix": [5, 13], "x": 202, "y": 63 },
+ { "flags": 4, "matrix": [5, 14], "x": 217, "y": 63 },
+ { "flags": 2, "x": 224, "y": 51 },
+ { "flags": 2, "x": 9, "y": 64 },
+ { "flags": 2, "x": 38, "y": 64 },
+ { "flags": 2, "x": 69, "y": 64 },
+ { "flags": 2, "x": 96, "y": 64 },
+ { "flags": 2, "x": 125, "y": 64 },
+ { "flags": 2, "x": 154, "y": 64 },
+ { "flags": 2, "x": 182, "y": 64 },
+ { "flags": 2, "x": 211, "y": 64 }
+ ]
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "B5", "pin_b": "B4", "resolution": 2 }
+ ]
+ }
+}
diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c
new file mode 100644
index 0000000000..05b351f865
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││PSc││ │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┴└───┴───┴───┴───┘└───┘└───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Del│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter ││PgD│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │
+ * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
+};
+#endif
+
+void rgb_matrix_indicators_user(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(62, RGB_WHITE);
+ }
+}
diff --git a/keyboards/drop/sense75/keymaps/default/rules.mk b/keyboards/drop/sense75/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c
new file mode 100644
index 0000000000..eb8b6b1f4b
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c
@@ -0,0 +1,136 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ TEST_1 = SAFE_RANGE,
+ TEST_2,
+ TEST_3,
+ TEST_4,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││PSc││ │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┴└───┴───┴───┴───┘└───┘└───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Del│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter ││PgD│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │
+ * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, TEST_1, TEST_2, TEST_3, TEST_4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, AG_TOGG, _______, _______, _______, CL_TOGG, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [2] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
+
+static bool test_mode = false;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!record->event.pressed) {
+ switch (keycode) {
+ case TEST_1:
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ rgb_matrix_sethsv_noeeprom(HSV_RED);
+ test_mode = true;
+ break;
+ case TEST_2:
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ rgb_matrix_sethsv_noeeprom(HSV_GREEN);
+ test_mode = true;
+ break;
+ case TEST_3:
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ rgb_matrix_sethsv_noeeprom(HSV_BLUE);
+ test_mode = true;
+ break;
+ case TEST_4:
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ rgb_matrix_sethsv_noeeprom(HSV_WHITE);
+ test_mode = true;
+ break;
+ case RGB_TOG:
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR):
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ break;
+ case LED_FLAG_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ break;
+ default:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ break;
+ }
+ return false;
+ }
+ }
+ return true;
+};
+
+void rgb_matrix_indicators_user(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(62, RGB_WHITE);
+ } else if ((rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR)) == 0) {
+ rgb_matrix_set_color(62, RGB_OFF);
+ }
+
+ if (get_highest_layer(layer_state) == 2) {
+ if (!test_mode) {
+ rgb_matrix_set_color_all(RGB_OFF);
+ }
+
+ if (keymap_config.swap_lalt_lgui) {
+ rgb_matrix_set_color(55, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(55, RGB_RED);
+ }
+ if (keymap_config.swap_control_capslock) {
+ rgb_matrix_set_color(59, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(59, RGB_RED);
+ }
+ } else if ((rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR)) == 0) {
+ rgb_matrix_set_color(55, RGB_OFF);
+ rgb_matrix_set_color(59, RGB_OFF);
+ }
+}
diff --git a/keyboards/drop/sense75/keymaps/default_md/readme.md b/keyboards/drop/sense75/keymaps/default_md/readme.md
new file mode 100644
index 0000000000..d954886bcd
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/default_md/readme.md
@@ -0,0 +1 @@
+# The stock firmware the keyboard ships with
diff --git a/keyboards/drop/sense75/keymaps/default_md/rules.mk b/keyboards/drop/sense75/keymaps/default_md/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/default_md/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/drop/sense75/keymaps/via/config.h b/keyboards/drop/sense75/keymaps/via/config.h
new file mode 100644
index 0000000000..2b0c8330d0
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/via/config.h
@@ -0,0 +1,5 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/drop/sense75/keymaps/via/keymap.c b/keyboards/drop/sense75/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c1e3c4edf3
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/via/keymap.c
@@ -0,0 +1,79 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││PSc││ │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┴└───┴───┴───┴───┘└───┘└───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Del│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter ││PgD│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │
+ * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, AG_TOGG, _______, _______, _______, CL_TOGG, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [2] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!record->event.pressed) {
+ switch (keycode) {
+ case RGB_TOG:
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR):
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ break;
+ case LED_FLAG_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ break;
+ default:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ break;
+ }
+ return false;
+ }
+ }
+ return true;
+};
diff --git a/keyboards/drop/sense75/keymaps/via/rules.mk b/keyboards/drop/sense75/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/drop/sense75/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/drop/sense75/mcuconf.h b/keyboards/drop/sense75/mcuconf.h
new file mode 100644
index 0000000000..e8a0486ce0
--- /dev/null
+++ b/keyboards/drop/sense75/mcuconf.h
@@ -0,0 +1,14 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#define STM32_PLLM_VALUE 16
+
+#undef STM32_PREDIV_VALUE
+#define STM32_PREDIV_VALUE 2
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/drop/sense75/readme.md b/keyboards/drop/sense75/readme.md
new file mode 100644
index 0000000000..bb0bb72a05
--- /dev/null
+++ b/keyboards/drop/sense75/readme.md
@@ -0,0 +1,24 @@
+# SENSE75
+
+![SENSE75](https://massdrop-s3.imgix.net/img_thread/1660887363422.771277068120058315243585-5419copycrop.jpg?auto=format&fm=jpg&fit=max&w=500&h=868&dpr=2)
+
+* Keyboard Maintainer: [zvecr](https://github.com/zvecr)
+* Hardware Availability: <https://drop.com/buy/drop-sense75-mechanical-keyboard>
+
+Make example for this keyboard (after setting up your build environment):
+
+ make drop/sense75:default
+
+Flashing example for this keyboard:
+
+ make drop/sense75:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Press and hold the button under the space bar
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/drop/sense75/rules.mk b/keyboards/drop/sense75/rules.mk
new file mode 100644
index 0000000000..781ba9b35a
--- /dev/null
+++ b/keyboards/drop/sense75/rules.mk
@@ -0,0 +1,2 @@
+EEPROM_DRIVER = i2c
+RGB_MATRIX_DRIVER = IS31FL3733
diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c
new file mode 100644
index 0000000000..8087f5c72e
--- /dev/null
+++ b/keyboards/drop/sense75/sense75.c
@@ -0,0 +1,148 @@
+// Copyright 2022 Massdrop, Inc.
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "rgb_matrix.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+// top underglow sd2-sd17
+ { 0, B_2, A_2, C_2 },
+ { 0, B_3, A_3, C_3 },
+ { 0, B_5, A_5, C_5 },
+ { 0, B_6, A_6, C_6 },
+ { 0, B_7, A_7, C_7 },
+ { 0, B_9, A_9, C_9 },
+ { 0, B_10, A_10, C_10 },
+ { 0, B_12, A_12, C_12 },
+ { 0, B_13, A_13, C_13 },
+ { 0, B_14, A_14, C_14 },
+ { 0, B_16, A_16, C_16 },
+ { 1, B_12, A_12, C_12 },
+
+// sd1 + function + sd18
+ { 0, B_1, A_1, C_1 },
+ { 0, E_2, D_2, F_2 },
+ { 0, E_3, D_3, F_3 },
+ { 0, E_4, D_4, F_4 },
+ { 0, E_5, D_5, F_5 },
+ { 0, E_6, D_6, F_6 },
+ { 0, E_7, D_7, F_7 },
+ { 0, E_8, D_8, F_8 },
+ { 0, E_9, D_9, F_9 },
+ { 0, E_10, D_10, F_10 },
+ { 0, E_11, D_11, F_11 },
+ { 0, E_12, D_12, F_12 },
+ { 0, E_13, D_13, F_13 },
+ { 0, E_14, D_14, F_14 },
+ { 0, E_15, D_15, F_15 },
+ // <enc gap>
+ { 1, B_13, A_13, C_13 },
+
+// sd45 + num + sd20
+ { 0, H_1, G_1, I_1 },
+ { 0, H_2, G_2, I_2 },
+ { 0, H_3, G_3, I_3 },
+ { 0, H_4, G_4, I_4 },
+ { 0, H_5, G_5, I_5 },
+ { 0, H_6, G_6, I_6 },
+ { 0, H_7, G_7, I_7 },
+ { 0, H_8, G_8, I_8 },
+ { 0, H_9, G_9, I_9 },
+ { 0, H_10, G_10, I_10 },
+ { 0, H_11, G_11, I_11 },
+ { 0, H_12, G_12, I_12 },
+ { 0, H_13, G_13, I_13 },
+ { 0, H_14, G_14, I_14 },
+ { 0, H_15, G_15, I_15 },
+ { 0, H_16, G_16, I_16 },
+ { 1, B_15, A_15, C_15 },
+
+// 44+ qwer 21
+ { 0, K_1, J_1, L_1 },
+ { 0, K_2, J_2, L_2 },
+ { 0, K_3, J_3, L_3 },
+ { 0, K_4, J_4, L_4 },
+ { 0, K_5, J_5, L_5 },
+ { 0, K_6, J_6, L_6 },
+ { 0, K_7, J_7, L_7 },
+ { 0, K_8, J_8, L_8 },
+ { 0, K_9, J_9, L_9 },
+ { 0, K_10, J_10, L_10 },
+ { 0, K_11, J_11, L_11 },
+ { 0, K_12, J_12, L_12 },
+ { 0, K_13, J_13, L_13 },
+ { 0, K_14, J_14, L_14 },
+ { 0, K_15, J_15, L_15 },
+ { 0, K_16, J_16, L_16 },
+ { 1, B_16, A_16, C_16 },
+
+// asdf
+ { 1, B_2, A_2, C_2 },
+ { 1, B_3, A_3, C_3 },
+ { 1, B_4, A_4, C_4 },
+ { 1, B_5, A_5, C_5 },
+ { 1, B_6, A_6, C_6 },
+ { 1, B_7, A_7, C_7 },
+ { 1, B_8, A_8, C_8 },
+ { 1, B_9, A_9, C_9 },
+ { 1, B_10, A_10, C_10 },
+ { 1, B_11, A_11, C_11 },
+ { 1, E_12, D_12, F_12 },
+ { 1, E_13, D_13, F_13 },
+ { 1, E_14, D_14, F_14 },
+ { 1, H_15, G_15, I_15 },
+
+// 43 + zxcv + 22
+ { 1, B_1, A_1, C_1 },
+ { 1, E_2, D_2, F_2 },
+ { 1, E_3, D_3, F_3 },
+ { 1, E_4, D_4, F_4 },
+ { 1, E_5, D_5, F_5 },
+ { 1, E_6, D_6, F_6 },
+ { 1, E_7, D_7, F_7 },
+ { 1, E_8, D_8, F_8 },
+ { 1, E_9, D_9, F_9 },
+ { 1, E_10, D_10, F_10 },
+ { 1, E_11, D_11, F_11 },
+ { 1, H_12, G_12, I_12 },
+ { 1, H_13, G_13, I_13 },
+ { 1, H_14, G_14, I_14 },
+ { 1, E_15, D_15, F_15 },
+
+// 41 + mods + 23
+ { 1, H_1, G_1, I_1 },
+ { 1, H_2, G_2, I_2 },
+ { 1, H_3, G_3, I_3 },
+ { 1, H_4, G_4, I_4 },
+ { 1, H_5, G_5, I_5 },
+ { 1, H_6, G_6, I_6 },
+ { 1, H_7, G_7, I_7 },
+ { 1, H_8, G_8, I_8 },
+ { 1, H_9, G_9, I_9 },
+ { 1, H_10, G_10, I_10 },
+ { 1, H_11, G_11, I_11 },
+ { 1, E_16, D_16, F_16 },
+
+// bottom underglow 24 - 39
+ { 1, K_2, J_2, L_2 },
+ { 1, K_3, J_3, L_3 },
+ { 1, K_4, J_4, L_4 },
+ { 1, K_6, J_6, L_6 },
+ { 1, K_10, J_10, L_10 },
+ { 1, K_13, J_13, L_13 },
+ { 1, K_15, J_15, L_15 },
+ { 1, H_16, G_16, I_16 }
+};
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) return false;
+
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/dtisaac/cg108/config.h b/keyboards/dtisaac/cg108/config.h
index 7ce2de42b8..211b60b3e0 100644
--- a/keyboards/dtisaac/cg108/config.h
+++ b/keyboards/dtisaac/cg108/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4454 // DT
-#define PRODUCT_ID 0x4973 // Is
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DTIsaac
-#define PRODUCT CG108
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 11
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F1, F0, F5, F6, F7, D4, D5, D3, D2, D0 }
#define MATRIX_COL_PINS { C7, C6, B4, D7, B3, B2, B0, E6, B1, D1, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dtisaac/cg108/info.json b/keyboards/dtisaac/cg108/info.json
index 0ecc1764f6..eb6189088c 100644
--- a/keyboards/dtisaac/cg108/info.json
+++ b/keyboards/dtisaac/cg108/info.json
@@ -1,9 +1,13 @@
{
"keyboard_name": "CG108",
+ "manufacturer": "DTIsaac",
"url": "",
"maintainer": "daotakisaac",
- "width": 22.5,
- "height": 6.5,
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x4973",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dtisaac/cg108/readme.md b/keyboards/dtisaac/cg108/readme.md
index 3bf38f7689..c454e0b877 100644
--- a/keyboards/dtisaac/cg108/readme.md
+++ b/keyboards/dtisaac/cg108/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dtisaac/dosa40rgb/config.h b/keyboards/dtisaac/dosa40rgb/config.h
index 8d61f61128..2651a4d9b5 100644
--- a/keyboards/dtisaac/dosa40rgb/config.h
+++ b/keyboards/dtisaac/dosa40rgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4454 // DT
-#define PRODUCT_ID 0x4973 // Is
-#define DEVICE_VER 0x0004
-#define MANUFACTURER DTIsaac
-#define PRODUCT >_Dosa40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B7, D7, F1, F0 }
#define MATRIX_COL_PINS { D1, D6, D3, D2, B6, C6, C7, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dtisaac/dosa40rgb/info.json b/keyboards/dtisaac/dosa40rgb/info.json
index 2feed40d42..d24975ca8b 100644
--- a/keyboards/dtisaac/dosa40rgb/info.json
+++ b/keyboards/dtisaac/dosa40rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": ">_Dosa40rgb",
+ "keyboard_name": ">_Dosa40",
+ "manufacturer": "DTIsaac",
"url": "",
"maintainer": "DTIsaac",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x4973",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dtisaac/dosa40rgb/readme.md b/keyboards/dtisaac/dosa40rgb/readme.md
index a2995a5c0f..30e549aa6e 100644
--- a/keyboards/dtisaac/dosa40rgb/readme.md
+++ b/keyboards/dtisaac/dosa40rgb/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dtisaac/dtisaac01/config.h b/keyboards/dtisaac/dtisaac01/config.h
index eb1ff71536..9b9a012ab4 100644
--- a/keyboards/dtisaac/dtisaac01/config.h
+++ b/keyboards/dtisaac/dtisaac01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4454
-#define PRODUCT_ID 0x4973
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DTIsaac
-#define PRODUCT dtisaac01
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, B4, D2, B2, B1, B3, D4, D6 }
#define MATRIX_COL_PINS { C7, C6, D0, B5, F0, D7, B0, B7, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/dtisaac/dtisaac01/info.json b/keyboards/dtisaac/dtisaac01/info.json
index eac22cda30..790648d64b 100644
--- a/keyboards/dtisaac/dtisaac01/info.json
+++ b/keyboards/dtisaac/dtisaac01/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "dtisaac01",
+ "manufacturer": "DTIsaac",
"url": "",
"maintainer": "DTIsaac",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x4973",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/duck/eagle_viper/v2/config.h b/keyboards/duck/eagle_viper/v2/config.h
index 4153f2963d..122eeb4b4a 100644
--- a/keyboards/duck/eagle_viper/v2/config.h
+++ b/keyboards/duck/eagle_viper/v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4556 // Eagle/Viper ("EV")
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Duck
-#define PRODUCT Eagle/Viper V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/duck/eagle_viper/v2/info.json b/keyboards/duck/eagle_viper/v2/info.json
index 57d6af4fa8..e21ca68209 100644
--- a/keyboards/duck/eagle_viper/v2/info.json
+++ b/keyboards/duck/eagle_viper/v2/info.json
@@ -1,5 +1,11 @@
{
"keyboard_name": "Eagle/Viper V2",
+ "manufacturer": "Duck",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4556",
+ "device_version": "0.0.2"
+ },
"layout_aliases": {
"LAYOUT_eagle": "LAYOUT_60_ansi",
"LAYOUT_viper": "LAYOUT_60_hhkb",
diff --git a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c b/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c
index 6c6cfbd2f8..dfd733357d 100644
--- a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c
+++ b/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_viper( \
_______, 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, RGB_TOG, RGB_MOD, RGB_VAI, RESET, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC, \
+ KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAI, QK_BOOT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC, \
_______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT, \
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
_______, _______, _______, _______, _______ \
diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h
index 0512d4a1f4..16fbe3bda2 100644
--- a/keyboards/duck/jetfire/config.h
+++ b/keyboards/duck/jetfire/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4A46 // Jetfire ("JF")
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Duck
-#define PRODUCT Jetfire
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
diff --git a/keyboards/duck/jetfire/info.json b/keyboards/duck/jetfire/info.json
index 9325fffb77..3205556d8e 100644
--- a/keyboards/duck/jetfire/info.json
+++ b/keyboards/duck/jetfire/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jetfire",
+ "manufacturer": "Duck",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4A46",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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}, {"x":15.25, "y":0}, {"label":"PrtSc", "x":16.5, "y":0}, {"label":"Scroll Lock", "x":17.5, "y":0}, {"label":"Pause", "x":18.5, "y":0}, {"x":19.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Back Space", "x":13, "y":1.25}, {"x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Num Lock", "x":16.5, "y":1.25}, {"label":"/", "x":17.5, "y":1.25}, {"label":"*", "x":18.5, "y":1.25}, {"label":"-", "x":19.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"7", "x":16.5, "y":2.25}, {"label":"8", "x":17.5, "y":2.25}, {"label":"9", "x":18.5, "y":2.25}, {"label":"+", "x":19.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"4", "x":16.5, "y":3.25}, {"label":"5", "x":17.5, "y":3.25}, {"label":"6", "x":18.5, "y":3.25}, {"x":19.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"ISO \\", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"label":"\u2191", "x":15.25, "y":4.5}, {"label":"1", "x":16.5, "y":4.25}, {"label":"2", "x":17.5, "y":4.25}, {"label":"3", "x":18.5, "y":4.25}, {"label":"Enter", "x":19.5, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":6.25}, {"label":"Alt", "x":10.25, "y":5.25, "w":1.25}, {"x":11.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":12.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":14.25, "y":5.5}, {"label":"\u2193", "x":15.25, "y":5.5}, {"label":"\u2192", "x":16.25, "y":5.5}, {"label":"0", "x":17.5, "y":5.25}, {"label":".", "x":18.5, "y":5.25}, {"x":19.5, "y":5.25}]
diff --git a/keyboards/duck/lightsaver/config.h b/keyboards/duck/lightsaver/config.h
index e2aa78d14b..053e85428c 100644
--- a/keyboards/duck/lightsaver/config.h
+++ b/keyboards/duck/lightsaver/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4C53 // Lightsaver ("LS")
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Duck
-#define PRODUCT Lightsaver V3
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
diff --git a/keyboards/duck/lightsaver/info.json b/keyboards/duck/lightsaver/info.json
index 92ffbf1c9d..39f62f0fe1 100644
--- a/keyboards/duck/lightsaver/info.json
+++ b/keyboards/duck/lightsaver/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Duck Lightsaver V3",
+ "keyboard_name": "Lightsaver V3",
+ "manufacturer": "Duck",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4C53",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Num<br>Lock", "x":14, "y":0}, {"label":"Insert", "x":15, "y":0}, {"label":"Home", "x":16, "y":0}, {"label":"PgUp", "x":17, "y":0}, {"label":"/", "x":18, "y":0}, {"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":"Bkspc", "x":13, "y":1, "w":2}, {"label":"Delete", "x":15, "y":1}, {"label":"End", "x":16, "y":1}, {"label":"PgDn", "x":17, "y":1}, {"label":"*", "x":18, "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":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"-", "x":18, "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":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "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":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4, "h":2}, {"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, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}]
diff --git a/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c b/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c
index 70dc17bb13..07becf96fa 100644
--- a/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c
+++ b/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c
@@ -34,8 +34,8 @@ enum {
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_F1_GAME] = ACTION_TAP_DANCE_DUAL_ROLE(KC_F1, GAME),
- [TD_CAPS_FN] = ACTION_TAP_DANCE_DUAL_ROLE(KC_CAPS, 5)
+ [TD_F1_GAME] = ACTION_TAP_DANCE_LAYER_MOVE(KC_F1, GAME),
+ [TD_CAPS_FN] = ACTION_TAP_DANCE_LAYER_MOVE(KC_CAPS, 5)
};
enum macro_id {
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), \
};
diff --git a/keyboards/duck/octagon/v1/config.h b/keyboards/duck/octagon/v1/config.h
index 7bf69a7b63..834554c45a 100644
--- a/keyboards/duck/octagon/v1/config.h
+++ b/keyboards/duck/octagon/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4F31 // Octagon V1 ("O1")
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Duck
-#define PRODUCT Octagon V1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/duck/octagon/v1/info.json b/keyboards/duck/octagon/v1/info.json
index 1fae48975b..8912165c6d 100644
--- a/keyboards/duck/octagon/v1/info.json
+++ b/keyboards/duck/octagon/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Octagon V1",
+ "manufacturer": "Duck",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4F31",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [
diff --git a/keyboards/duck/octagon/v2/config.h b/keyboards/duck/octagon/v2/config.h
index 0de966c604..57df912112 100644
--- a/keyboards/duck/octagon/v2/config.h
+++ b/keyboards/duck/octagon/v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4F32 // Octagon V2 ("O2")
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Duck
-#define PRODUCT Octagon V2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/duck/octagon/v2/info.json b/keyboards/duck/octagon/v2/info.json
index 23911f3403..3b9f84417e 100644
--- a/keyboards/duck/octagon/v2/info.json
+++ b/keyboards/duck/octagon/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Octagon V2",
+ "manufacturer": "Duck",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4F32",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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}, {"x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":3, "w":1.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"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":"\u2191", "x":14, "y":4}, {"label":"End", "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":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/duck/orion/info.json b/keyboards/duck/orion/info.json
deleted file mode 100644
index 3ba2d3017b..0000000000
--- a/keyboards/duck/orion/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Duck Orion V3",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT_tkl_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
- }
- }
-}
diff --git a/keyboards/duck/orion/v3/config.h b/keyboards/duck/orion/v3/config.h
index bcc5fb0046..477243e495 100644
--- a/keyboards/duck/orion/v3/config.h
+++ b/keyboards/duck/orion/v3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x4F52 // Orion ("OR")
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Duck
-#define PRODUCT Orion V3
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/duck/orion/v3/info.json b/keyboards/duck/orion/v3/info.json
new file mode 100644
index 0000000000..39f0e1e1bd
--- /dev/null
+++ b/keyboards/duck/orion/v3/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Orion V3",
+ "manufacturer": "Duck",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x4F52",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_tkl_ansi": {
+ "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
+ }
+ }
+}
diff --git a/keyboards/duck/tcv3/config.h b/keyboards/duck/tcv3/config.h
index 9a75ff77f7..a295d33614 100644
--- a/keyboards/duck/tcv3/config.h
+++ b/keyboards/duck/tcv3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444B // Duck ("DK")
-#define PRODUCT_ID 0x5443 // TC-V3 ("TC")
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Duck
-#define PRODUCT TC-V3
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
diff --git a/keyboards/duck/tcv3/info.json b/keyboards/duck/tcv3/info.json
index 169ed18a74..f90d994cd0 100644
--- a/keyboards/duck/tcv3/info.json
+++ b/keyboards/duck/tcv3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TCV3",
+ "keyboard_name": "TC-V3",
+ "manufacturer": "Duck",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444B",
+ "pid": "0x5443",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.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.75, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.5, "y":0}, {"x":18.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2.25, "y":1.25}, {"x":3.25, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":6.25, "y":1.25}, {"x":7.25, "y":1.25}, {"x":8.25, "y":1.25}, {"x":9.25, "y":1.25}, {"x":10.25, "y":1.25}, {"x":11.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.5, "y":1.25}, {"x":18.5, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2.25, "y":2.25, "w":1.5}, {"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}, {"x":13.75, "y":2.25}, {"x":14.75, "y":2.25}, {"x":15.75, "y":2.25, "w":1.5}, {"x":17.5, "y":2.25}, {"x":18.5, "y":2.25}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2.25, "y":3.25, "w":1.75}, {"x":4, "y":3.25}, {"x":5, "y":3.25}, {"x":6, "y":3.25}, {"x":7, "y":3.25}, {"x":8, "y":3.25}, {"x":9, "y":3.25}, {"x":10, "y":3.25}, {"x":11, "y":3.25}, {"x":12, "y":3.25}, {"x":13, "y":3.25}, {"x":14, "y":3.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25, "w":1.25}, {"x":17.5, "y":3.25}, {"x":18.5, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2.25, "y":4.25, "w":1.25}, {"x":3.5, "y":4.25}, {"x":4.5, "y":4.25}, {"x":5.5, "y":4.25}, {"x":6.5, "y":4.25}, {"x":7.5, "y":4.25}, {"x":8.5, "y":4.25}, {"x":9.5, "y":4.25}, {"x":10.5, "y":4.25}, {"x":11.5, "y":4.25}, {"x":12.5, "y":4.25}, {"x":13.5, "y":4.25}, {"x":14.5, "y":4.25, "w":1.75}, {"x":16.25, "y":4.25}, {"x":17.5, "y":4.5}, {"x":0, "y":5.25}, {"x":1, "y":5.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25}, {"x":4.75, "y":5.25, "w":1.5}, {"x":6.25, "y":5.25, "w":6}, {"x":12.25, "y":5.25, "w":1.5}, {"x":13.75, "y":5.25}, {"x":14.75, "y":5.25, "w":1.5}, {"x":16.5, "y":5.5}, {"x":17.5, "y":5.5}, {"x":18.5, "y":5.5}]
diff --git a/keyboards/ducky/one2mini/1861st/config.h b/keyboards/ducky/one2mini/1861st/config.h
index 3f5676280c..39050f6102 100644
--- a/keyboards/ducky/one2mini/1861st/config.h
+++ b/keyboards/ducky/one2mini/1861st/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0416
-#define PRODUCT_ID 0x0123
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ducky
-#define PRODUCT One2mini
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D11, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { B10, B9, C13, C12, C11, C10, C9, C8, A15, A14, A13, D0, D1, D2, B8 }
#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ducky/one2mini/1861st/info.json b/keyboards/ducky/one2mini/1861st/info.json
index 9e121fbf4b..364d803718 100644
--- a/keyboards/ducky/one2mini/1861st/info.json
+++ b/keyboards/ducky/one2mini/1861st/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "Ducky One 2 Mini",
+ "keyboard_name": "One 2 Mini",
+ "manufacturer": "Ducky",
+ "usb": {
+ "vid": "0x0416",
+ "pid": "0x0123",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_iso": "LAYOUT_60_iso"
},
diff --git a/keyboards/ducky/one2sf/1967st/1967st.h b/keyboards/ducky/one2sf/1967st/1967st.h
new file mode 100644
index 0000000000..e413721831
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/1967st.h
@@ -0,0 +1,42 @@
+/* Copyright 2019 /u/KeepItUnder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_all( \
+ 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, k2c, k2d, k2e, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k41, k42, k45, k4a, k4b, k4c, k4d, k4e, k4f \
+) { \
+ { 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, k2c, k2d, k2e }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, }, \
+ { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
+}
diff --git a/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.c b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.c
new file mode 100644
index 0000000000..a10223603e
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.c
@@ -0,0 +1,57 @@
+/*
+ ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder
+
+ 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.
+*/
+
+#include "hal.h"
+
+#if HAL_USE_PAL || defined(__DOXYGEN__)
+/**
+ * @brief PAL setup.
+ * @details Digital I/O ports static configuration as defined in @p board.h.
+ * This variable is used by the HAL when initializing the PAL driver.
+ */
+const PALConfig pal_default_config = {
+# if NUC123_HAS_GPIOA
+ {VAL_GPIOA_PMD, VAL_GPIOA_OFFD, VAL_GPIOA_DMASK, VAL_GPIOA_DBEN, VAL_GPIOA_IMD, VAL_GPIOA_IEN, VAL_GPIOA_ISRC, VAL_GPIOA_DOUT},
+# endif
+# if NUC123_HAS_GPIOB
+ {VAL_GPIOB_PMD, VAL_GPIOB_OFFD, VAL_GPIOB_DMASK, VAL_GPIOB_DBEN, VAL_GPIOB_IMD, VAL_GPIOB_IEN, VAL_GPIOB_ISRC, VAL_GPIOB_DOUT},
+# endif
+# if NUC123_HAS_GPIOC
+ {VAL_GPIOC_PMD, VAL_GPIOC_OFFD, VAL_GPIOC_DMASK, VAL_GPIOC_DBEN, VAL_GPIOC_IMD, VAL_GPIOC_IEN, VAL_GPIOC_ISRC, VAL_GPIOC_DOUT},
+# endif
+# if NUC123_HAS_GPIOD
+ {VAL_GPIOD_PMD, VAL_GPIOD_OFFD, VAL_GPIOD_DMASK, VAL_GPIOD_DBEN, VAL_GPIOD_IMD, VAL_GPIOD_IEN, VAL_GPIOD_ISRC, VAL_GPIOD_DOUT},
+# endif
+# if NUC123_HAS_GPIOF
+ {VAL_GPIOF_PMD, VAL_GPIOF_OFFD, VAL_GPIOF_DMASK, VAL_GPIOF_DBEN, VAL_GPIOF_IMD, VAL_GPIOF_IEN, VAL_GPIOF_ISRC, VAL_GPIOF_DOUT},
+# endif
+};
+#endif
+
+/**
+ * @brief Early initialization code.
+ * @details This initialization must be performed just after stack setup
+ * and before any other initialization.
+ */
+void __early_init(void) {
+ NUC123_clock_init();
+}
+
+/**
+ * @brief Board-specific initialization code.
+ * @todo Add your board-specific code, if any.
+ */
+void boardInit(void) {}
diff --git a/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.h b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.h
new file mode 100644
index 0000000000..c43b2ce422
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.h
@@ -0,0 +1,961 @@
+/*
+ ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder
+
+ 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 BOARD_H
+#define BOARD_H
+
+/*
+ * Setup for Generic NUC123 board.
+ */
+
+/*
+ * Board identifier.
+ */
+#define BOARD_NUC123SD4AN0
+#define BOARD_NAME "Nuvoton NUC123SD4AN0 MCU"
+
+/*
+ * Board oscillators-related settings.
+ * NOTE: LSE not fitted.
+ * NOTE: HSE is fitted.
+ */
+#if !defined(NUC123_LSECLK)
+#define NUC123_LSECLK 0U
+#endif
+
+#define NUC123_LSEDRV (3U << 3U)
+
+#if !defined(NUC123_HSECLK)
+#define NUC123_HSECLK 12000000U
+#endif
+
+//#define NUC123_HSE_BYPASS
+
+/*
+ * MCU type as defined in the NUC123 header.
+ */
+#define NUC123SD4AN0
+
+/*
+ * GPIO Multi Function Pin USB Setup
+ * Requires Some GPIO pins to be disabled/set to USB
+ */
+
+/*
+ * IO pins assignments.
+ */
+#define GPIOA_PIN0 0U
+#define GPIOA_PIN1 1U
+#define GPIOA_PIN2 2U
+#define GPIOA_PIN3 3U
+#define GPIOA_PIN4 4U
+#define GPIOA_PIN5 5U
+#define GPIOA_PIN6 6U
+#define GPIOA_PIN7 7U
+#define GPIOA_PIN8 8U
+#define GPIOA_PIN9 9U
+#define GPIOA_SPI1_MISO0 10U
+#define GPIOA_SPI1_CLK 11U
+#define GPIOA_PWM0 12U
+#define GPIOA_PWM1 13U
+#define GPIOA_PWM2 14U
+#define GPIOA_PWM3 15U
+
+#define GPIOB_UART0_RXD 0U
+#define GPIOB_UART0_TXD 1U
+#define GPIOB_UART0_RTS 2U
+#define GPIOB_UART0_CTS 3U
+#define GPIOB_UART1_RXD 4U
+#define GPIOB_UART1_TXD 5U
+#define GPIOB_UART1_RTS 6U
+#define GPIOB_UART1_CTS 7U
+#define GPIOB_TM0 8U
+#define GPIOB_TM1 9U
+#define GPIOB_TM2 10U
+#define GPIOB_PIN11 11U
+#define GPIOB_CLK0 12U
+#define GPIOB_PIN13 13U
+#define GPIOB_INT0 14U
+#define GPIOB_INT1 15U
+
+#define GPIOC_PIN0 0U
+#define GPIOC_PIN1 1U
+#define GPIOC_PIN2 2U
+#define GPIOC_PIN3 3U
+#define GPIOC_PIN4 4U
+#define GPIOC_PIN5 5U
+#define GPIOC_PIN6 6U
+#define GPIOC_PIN7 7U
+#define GPIOC_PIN8 8U
+#define GPIOC_PIN9 9U
+#define GPIOC_PIN10 10U
+#define GPIOC_PIN11 11U
+#define GPIOC_PIN12 12U
+#define GPIOC_PIN13 13U
+#define GPIOC_PIN14 14U
+#define GPIOC_PIN15 15U
+
+#define GPIOD_ADC0 0U
+#define GPIOD_ADC1 1U
+#define GPIOD_ADC2 2U
+#define GPIOD_ADC3 3U
+#define GPIOD_ADC4 4U
+#define GPIOD_ADC5 5U
+#define GPIOD_PIN6 6U
+#define GPIOD_PIN7 7U
+#define GPIOD_PIN8 8U
+#define GPIOD_PIN9 9U
+#define GPIOD_PIN10 10U
+#define GPIOD_PIN11 11U
+#define GPIOD_PIN12 12U
+#define GPIOD_PIN13 13U
+#define GPIOD_PIN14 14U
+#define GPIOD_PIN15 15U
+
+#define GPIOE_PIN0 0U
+#define GPIOE_PIN1 1U
+#define GPIOE_PIN2 2U
+#define GPIOE_PIN3 3U
+#define GPIOE_PIN4 4U
+#define GPIOE_PIN5 5U
+#define GPIOE_PIN6 6U
+#define GPIOE_PIN7 7U
+#define GPIOE_PIN8 8U
+#define GPIOE_PIN9 9U
+#define GPIOE_PIN10 10U
+#define GPIOE_PIN11 11U
+#define GPIOE_PIN12 12U
+#define GPIOE_PIN13 13U
+#define GPIOE_PIN14 14U
+#define GPIOE_PIN15 15U
+
+#define GPIOF_OSC_OUT 0U
+#define GPIOF_OSC_IN 1U
+#define GPIOF_I2C0_SDA 2U
+#define GPIOF_I2C0_SCL 3U
+#define GPIOF_PIN4 4U
+#define GPIOF_PIN5 5U
+#define GPIOF_PIN6 6U
+#define GPIOF_PIN7 7U
+#define GPIOF_PIN8 8U
+#define GPIOF_PIN9 9U
+#define GPIOF_PIN10 10U
+#define GPIOF_PIN11 11U
+#define GPIOF_PIN12 12U
+#define GPIOF_PIN13 13U
+#define GPIOF_PIN14 14U
+#define GPIOF_PIN15 15U
+
+/*
+ * IO lines assignments.
+ */
+#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
+#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
+#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
+#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
+
+// #define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
+// #define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
+// #define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
+
+#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
+#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
+
+/*
+ * I/O ports initial setup, this configuration is established soon after reset
+ * in the initialization code.
+ * Please refer to the NUC123 Reference Manual for details.
+ */
+#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
+#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
+#define PIN_MODE_OPENDRAIN(n) (2U << ((n) * 2U))
+#define PIN_MODE_QUASI(n) (3U << ((n) * 2U))
+#define PIN_DIGITAL_EN(n) (0U << (n))
+#define PIN_DIGITAL_DIS(n) (1U << (n))
+#define PIN_DMASK_DIS(n) (0U << (n))
+#define PIN_DMASK_EN(n) (1U << (n))
+#define PIN_DBNCE_DIS(n) (0U << (n))
+#define PIN_DBNCE_EN(n) (1U << (n))
+#define PIN_IMD_EDGE(n) (0U << (n))
+#define PIN_IMD_LVL(n) (1U << (n))
+#define PIN_IEN_FELL_DIS(n) (0U << (n))
+#define PIN_IEN_FELL_EN(n) (1U << (n))
+#define PIN_IEN_REHL_DIS(n) ((0U << (n)) << 16)
+#define PIN_IEN_REHL_EN(n) ((1U << (n)) << 16)
+#define PIN_ISRC_EN(n) (1U << (n))
+#define PIN_ISRC_DIS(n) (0U << (n))
+#define PIN_ISRC_CLR(n) (1U << (n))
+#define PIN_DATA_LOW(n) (0U << (n))
+#define PIN_DATA_HIGH(n) (1U << (n))
+
+/*
+ * GPIOA setup:
+ *
+ * PA0 - PIN0 (input pullup).
+ * PA1 - PIN1 (input pullup).
+ * PA2 - PIN2 (input pullup).
+ * PA3 - PIN3 (input pullup).
+ * PA4 - PIN4 (input pullup).
+ * PA5 - PIN5 (input pullup).
+ * PA6 - PIN6 (input pullup).
+ * PA7 - PIN7 (input pullup).
+ * PA8 - PIN8 (input pullup).
+ * PA9 - PIN9 (input pullup).
+ * PA10 - SPI1_MISO0 (input pullup).
+ * PA11 - SPI1_CLK (input floating).
+ * PA12 - PWM0 (input floating).
+ * PA13 - PWM1 (input pullup).
+ * PA14 - PWM2 (input pullup).
+ * PA15 - PWM3 (input pullup).
+ */
+
+#define VAL_GPIOA_PMD (PIN_MODE_INPUT(GPIOA_PIN0) | \
+ PIN_MODE_INPUT(GPIOA_PIN1) | \
+ PIN_MODE_INPUT(GPIOA_PIN2) | \
+ PIN_MODE_INPUT(GPIOA_PIN3) | \
+ PIN_MODE_INPUT(GPIOA_PIN4) | \
+ PIN_MODE_INPUT(GPIOA_PIN5) | \
+ PIN_MODE_INPUT(GPIOA_PIN6) | \
+ PIN_MODE_INPUT(GPIOA_PIN7) | \
+ PIN_MODE_INPUT(GPIOA_PIN8) | \
+ PIN_MODE_INPUT(GPIOA_PIN9) | \
+ PIN_MODE_INPUT(GPIOA_SPI1_MISO0) | \
+ PIN_MODE_INPUT(GPIOA_SPI1_CLK) | \
+ PIN_MODE_INPUT(GPIOA_PWM0) | \
+ PIN_MODE_INPUT(GPIOA_PWM1) | \
+ PIN_MODE_INPUT(GPIOA_PWM2) | \
+ PIN_MODE_INPUT(GPIOA_PWM3))
+#define VAL_GPIOA_OFFD (PIN_DIGITAL_EN(GPIOA_PIN0) | \
+ PIN_DIGITAL_EN(GPIOA_PIN1) | \
+ PIN_DIGITAL_EN(GPIOA_PIN2) | \
+ PIN_DIGITAL_EN(GPIOA_PIN3) | \
+ PIN_DIGITAL_EN(GPIOA_PIN4) | \
+ PIN_DIGITAL_EN(GPIOA_PIN5) | \
+ PIN_DIGITAL_EN(GPIOA_PIN6) | \
+ PIN_DIGITAL_EN(GPIOA_PIN7) | \
+ PIN_DIGITAL_EN(GPIOA_PIN8) | \
+ PIN_DIGITAL_EN(GPIOA_PIN9) | \
+ PIN_DIGITAL_EN(GPIOA_SPI1_MISO0) | \
+ PIN_DIGITAL_EN(GPIOA_SPI1_CLK) | \
+ PIN_DIGITAL_EN(GPIOA_PWM0) | \
+ PIN_DIGITAL_EN(GPIOA_PWM1) | \
+ PIN_DIGITAL_EN(GPIOA_PWM2) | \
+ PIN_DIGITAL_EN(GPIOA_PWM3))
+#define VAL_GPIOA_DMASK (PIN_DMASK_EN(GPIOA_PIN0) | \
+ PIN_DMASK_EN(GPIOA_PIN1) | \
+ PIN_DMASK_EN(GPIOA_PIN2) | \
+ PIN_DMASK_EN(GPIOA_PIN3) | \
+ PIN_DMASK_EN(GPIOA_PIN4) | \
+ PIN_DMASK_EN(GPIOA_PIN5) | \
+ PIN_DMASK_EN(GPIOA_PIN6) | \
+ PIN_DMASK_EN(GPIOA_PIN7) | \
+ PIN_DMASK_EN(GPIOA_PIN8) | \
+ PIN_DMASK_EN(GPIOA_PIN9) | \
+ PIN_DMASK_EN(GPIOA_SPI1_MISO0) | \
+ PIN_DMASK_EN(GPIOA_SPI1_CLK) | \
+ PIN_DMASK_EN(GPIOA_PWM0) | \
+ PIN_DMASK_EN(GPIOA_PWM1) | \
+ PIN_DMASK_EN(GPIOA_PWM2) | \
+ PIN_DMASK_EN(GPIOA_PWM3))
+#define VAL_GPIOA_DBEN (PIN_DBNCE_EN(GPIOA_PIN0) | \
+ PIN_DBNCE_EN(GPIOA_PIN1) | \
+ PIN_DBNCE_EN(GPIOA_PIN2) | \
+ PIN_DBNCE_EN(GPIOA_PIN3) | \
+ PIN_DBNCE_EN(GPIOA_PIN4) | \
+ PIN_DBNCE_EN(GPIOA_PIN5) | \
+ PIN_DBNCE_EN(GPIOA_PIN6) | \
+ PIN_DBNCE_EN(GPIOA_PIN7) | \
+ PIN_DBNCE_EN(GPIOA_PIN8) | \
+ PIN_DBNCE_EN(GPIOA_PIN9) | \
+ PIN_DBNCE_EN(GPIOA_SPI1_MISO0) | \
+ PIN_DBNCE_EN(GPIOA_SPI1_CLK) | \
+ PIN_DBNCE_EN(GPIOA_PWM0) | \
+ PIN_DBNCE_EN(GPIOA_PWM1) | \
+ PIN_DBNCE_EN(GPIOA_PWM2) | \
+ PIN_DBNCE_EN(GPIOA_PWM3))
+#define VAL_GPIOA_IMD (PIN_IMD_EDGE(GPIOA_PIN0) | \
+ PIN_IMD_EDGE(GPIOA_PIN1) | \
+ PIN_IMD_EDGE(GPIOA_PIN2) | \
+ PIN_IMD_EDGE(GPIOA_PIN3) | \
+ PIN_IMD_EDGE(GPIOA_PIN4) | \
+ PIN_IMD_EDGE(GPIOA_PIN5) | \
+ PIN_IMD_EDGE(GPIOA_PIN6) | \
+ PIN_IMD_EDGE(GPIOA_PIN7) | \
+ PIN_IMD_EDGE(GPIOA_PIN8) | \
+ PIN_IMD_EDGE(GPIOA_PIN9) | \
+ PIN_IMD_EDGE(GPIOA_SPI1_MISO0) | \
+ PIN_IMD_EDGE(GPIOA_SPI1_CLK) | \
+ PIN_IMD_EDGE(GPIOA_PWM0) | \
+ PIN_IMD_EDGE(GPIOA_PWM1) | \
+ PIN_IMD_EDGE(GPIOA_PWM2) | \
+ PIN_IMD_EDGE(GPIOA_PWM3))
+#define VAL_GPIOA_IEN (PIN_IEN_FELL_DIS(GPIOA_PIN0) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN1) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN2) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN3) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN4) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN5) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN6) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN7) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN8) | \
+ PIN_IEN_FELL_DIS(GPIOA_PIN9) | \
+ PIN_IEN_FELL_DIS(GPIOA_SPI1_MISO0) | \
+ PIN_IEN_FELL_DIS(GPIOA_SPI1_CLK) | \
+ PIN_IEN_FELL_DIS(GPIOA_PWM0) | \
+ PIN_IEN_FELL_DIS(GPIOA_PWM1) | \
+ PIN_IEN_FELL_DIS(GPIOA_PWM2) | \
+ PIN_IEN_FELL_DIS(GPIOA_PWM3))
+#define VAL_GPIOA_ISRC (PIN_ISRC_DIS(GPIOA_PIN0) | \
+ PIN_ISRC_DIS(GPIOA_PIN1) | \
+ PIN_ISRC_DIS(GPIOA_PIN2) | \
+ PIN_ISRC_DIS(GPIOA_PIN3) | \
+ PIN_ISRC_DIS(GPIOA_PIN4) | \
+ PIN_ISRC_DIS(GPIOA_PIN5) | \
+ PIN_ISRC_DIS(GPIOA_PIN6) | \
+ PIN_ISRC_DIS(GPIOA_PIN7) | \
+ PIN_ISRC_DIS(GPIOA_PIN8) | \
+ PIN_ISRC_DIS(GPIOA_PIN9) | \
+ PIN_ISRC_DIS(GPIOA_SPI1_MISO0) | \
+ PIN_ISRC_DIS(GPIOA_SPI1_CLK) | \
+ PIN_ISRC_DIS(GPIOA_PWM0) | \
+ PIN_ISRC_DIS(GPIOA_PWM1) | \
+ PIN_ISRC_DIS(GPIOA_PWM2) | \
+ PIN_ISRC_DIS(GPIOA_PWM3))
+#define VAL_GPIOA_DOUT (PIN_DATA_LOW(GPIOA_PIN0) | \
+ PIN_DATA_LOW(GPIOA_PIN1) | \
+ PIN_DATA_LOW(GPIOA_PIN2) | \
+ PIN_DATA_LOW(GPIOA_PIN3) | \
+ PIN_DATA_LOW(GPIOA_PIN4) | \
+ PIN_DATA_LOW(GPIOA_PIN5) | \
+ PIN_DATA_LOW(GPIOA_PIN6) | \
+ PIN_DATA_LOW(GPIOA_PIN7) | \
+ PIN_DATA_LOW(GPIOA_PIN8) | \
+ PIN_DATA_LOW(GPIOA_PIN9) | \
+ PIN_DATA_LOW(GPIOA_SPI1_MISO0) | \
+ PIN_DATA_LOW(GPIOA_SPI1_CLK) | \
+ PIN_DATA_LOW(GPIOA_PWM0) | \
+ PIN_DATA_LOW(GPIOA_PWM1) | \
+ PIN_DATA_LOW(GPIOA_PWM2) | \
+ PIN_DATA_LOW(GPIOA_PWM3))
+
+/*
+ * GPIOB setup:
+ *
+ * PB0 - UART0_RXD (input pullup).
+ * PB1 - UART0_TXD (output).
+ * PB2 - UART0_RTS (output).
+ * PB3 - UART0_CTS (output).
+ * PB4 - UART1_RXD (output).
+ * PB5 - UART1_TXD (output).
+ * PB6 - UART1_RTS (output).
+ * PB7 - UART1_CTS (output).
+ * PB8 - TM0 (input pullup).
+ * PB9 - TM1 (input pullup).
+ * PB10 - TM2 (input pullup).
+ * PB11 - PIN11 (input pullup).
+ * PB12 - CLK0 (output).
+ * PB13 - PIN13 (output).
+ * PB14 - INT0 (debug output).
+ * PB15 - INT1 (input pullup).
+ */
+#define VAL_GPIOB_PMD (PIN_MODE_INPUT(GPIOB_UART0_RXD) | \
+ PIN_MODE_OUTPUT(GPIOB_UART0_TXD) | \
+ PIN_MODE_OUTPUT(GPIOB_UART0_RTS) | \
+ PIN_MODE_OUTPUT(GPIOB_UART0_CTS) | \
+ PIN_MODE_OUTPUT(GPIOB_UART1_RXD) | \
+ PIN_MODE_OUTPUT(GPIOB_UART1_TXD) | \
+ PIN_MODE_OUTPUT(GPIOB_UART1_RTS) | \
+ PIN_MODE_OUTPUT(GPIOB_UART1_CTS) | \
+ PIN_MODE_INPUT(GPIOB_TM0) | \
+ PIN_MODE_INPUT(GPIOB_TM1) | \
+ PIN_MODE_INPUT(GPIOB_TM2) | \
+ PIN_MODE_INPUT(GPIOB_PIN11) | \
+ PIN_MODE_OUTPUT(GPIOB_CLK0) | \
+ PIN_MODE_OUTPUT(GPIOB_PIN13) | \
+ PIN_MODE_OUTPUT(GPIOB_INT0) | \
+ PIN_MODE_INPUT(GPIOB_INT1))
+#define VAL_GPIOB_OFFD (PIN_DIGITAL_EN(GPIOB_UART0_RXD) | \
+ PIN_DIGITAL_DIS(GPIOB_UART0_TXD) | \
+ PIN_DIGITAL_DIS(GPIOB_UART0_RTS) | \
+ PIN_DIGITAL_DIS(GPIOB_UART0_CTS) | \
+ PIN_DIGITAL_DIS(GPIOB_UART1_RXD) | \
+ PIN_DIGITAL_DIS(GPIOB_UART1_TXD) | \
+ PIN_DIGITAL_DIS(GPIOB_UART1_RTS) | \
+ PIN_DIGITAL_DIS(GPIOB_UART1_CTS) | \
+ PIN_DIGITAL_DIS(GPIOB_TM0) | \
+ PIN_DIGITAL_EN(GPIOB_TM1) | \
+ PIN_DIGITAL_EN(GPIOB_TM2) | \
+ PIN_DIGITAL_EN(GPIOB_PIN11) | \
+ PIN_DIGITAL_DIS(GPIOB_CLK0) | \
+ PIN_DIGITAL_DIS(GPIOB_PIN13) | \
+ PIN_DIGITAL_DIS(GPIOB_INT0) | \
+ PIN_DIGITAL_EN(GPIOB_INT1))
+#define VAL_GPIOB_DMASK (PIN_DMASK_EN(GPIOB_UART0_RXD) | \
+ PIN_DMASK_DIS(GPIOB_UART0_TXD) | \
+ PIN_DMASK_DIS(GPIOB_UART0_RTS) | \
+ PIN_DMASK_DIS(GPIOB_UART0_CTS) | \
+ PIN_DMASK_DIS(GPIOB_UART1_RXD) | \
+ PIN_DMASK_DIS(GPIOB_UART1_TXD) | \
+ PIN_DMASK_DIS(GPIOB_UART1_RTS) | \
+ PIN_DMASK_DIS(GPIOB_UART1_CTS) | \
+ PIN_DMASK_EN(GPIOB_TM0) | \
+ PIN_DMASK_EN(GPIOB_TM1) | \
+ PIN_DMASK_EN(GPIOB_TM2) | \
+ PIN_DMASK_EN(GPIOB_PIN11) | \
+ PIN_DMASK_DIS(GPIOB_CLK0) | \
+ PIN_DMASK_DIS(GPIOB_PIN13) | \
+ PIN_DMASK_DIS(GPIOB_INT0) | \
+ PIN_DMASK_EN(GPIOB_INT1))
+#define VAL_GPIOB_DBEN (PIN_DBNCE_EN(GPIOB_UART0_RXD) | \
+ PIN_DBNCE_DIS(GPIOB_UART0_TXD) | \
+ PIN_DBNCE_DIS(GPIOB_UART0_RTS) | \
+ PIN_DBNCE_DIS(GPIOB_UART0_CTS) | \
+ PIN_DBNCE_DIS(GPIOB_UART1_RXD) | \
+ PIN_DBNCE_DIS(GPIOB_UART1_TXD) | \
+ PIN_DBNCE_DIS(GPIOB_UART1_RTS) | \
+ PIN_DBNCE_DIS(GPIOB_UART1_CTS) | \
+ PIN_DBNCE_EN(GPIOB_TM0) | \
+ PIN_DBNCE_EN(GPIOB_TM1) | \
+ PIN_DBNCE_EN(GPIOB_TM2) | \
+ PIN_DBNCE_EN(GPIOB_PIN11) | \
+ PIN_DBNCE_DIS(GPIOB_CLK0) | \
+ PIN_DBNCE_DIS(GPIOB_PIN13) | \
+ PIN_DBNCE_DIS(GPIOB_INT0) | \
+ PIN_DBNCE_EN(GPIOB_INT1))
+#define VAL_GPIOB_IMD (PIN_IMD_EDGE(GPIOB_UART0_RXD) | \
+ PIN_IMD_EDGE(GPIOB_UART0_TXD) | \
+ PIN_IMD_EDGE(GPIOB_UART0_RTS) | \
+ PIN_IMD_EDGE(GPIOB_UART0_CTS) | \
+ PIN_IMD_EDGE(GPIOB_UART1_RXD) | \
+ PIN_IMD_EDGE(GPIOB_UART1_TXD) | \
+ PIN_IMD_EDGE(GPIOB_UART1_RTS) | \
+ PIN_IMD_EDGE(GPIOB_UART1_CTS) | \
+ PIN_IMD_EDGE(GPIOB_TM0) | \
+ PIN_IMD_EDGE(GPIOB_TM1) | \
+ PIN_IMD_EDGE(GPIOB_TM2) | \
+ PIN_IMD_EDGE(GPIOB_PIN11) | \
+ PIN_IMD_EDGE(GPIOB_CLK0) | \
+ PIN_IMD_EDGE(GPIOB_PIN13) | \
+ PIN_IMD_EDGE(GPIOB_INT0) | \
+ PIN_IMD_EDGE(GPIOB_INT1))
+#define VAL_GPIOB_IEN (PIN_IEN_FELL_DIS(GPIOB_UART0_RXD) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART0_TXD) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART0_RTS) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART0_CTS) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART1_RXD) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART1_TXD) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART1_RTS) | \
+ PIN_IEN_FELL_DIS(GPIOB_UART1_CTS) | \
+ PIN_IEN_FELL_DIS(GPIOB_TM0) | \
+ PIN_IEN_FELL_DIS(GPIOB_TM1) | \
+ PIN_IEN_FELL_DIS(GPIOB_TM2) | \
+ PIN_IEN_FELL_DIS(GPIOB_PIN11) | \
+ PIN_IEN_FELL_DIS(GPIOB_CLK0) | \
+ PIN_IEN_FELL_DIS(GPIOB_PIN13) | \
+ PIN_IEN_FELL_DIS(GPIOB_INT0) | \
+ PIN_IEN_FELL_DIS(GPIOB_INT1))
+#define VAL_GPIOB_ISRC (PIN_ISRC_DIS(GPIOB_UART0_RXD) | \
+ PIN_ISRC_DIS(GPIOB_UART0_TXD) | \
+ PIN_ISRC_DIS(GPIOB_UART0_RTS) | \
+ PIN_ISRC_DIS(GPIOB_UART0_CTS) | \
+ PIN_ISRC_DIS(GPIOB_UART1_RXD) | \
+ PIN_ISRC_DIS(GPIOB_UART1_TXD) | \
+ PIN_ISRC_DIS(GPIOB_UART1_RTS) | \
+ PIN_ISRC_DIS(GPIOB_UART1_CTS) | \
+ PIN_ISRC_DIS(GPIOB_TM0) | \
+ PIN_ISRC_DIS(GPIOB_TM1) | \
+ PIN_ISRC_DIS(GPIOB_TM2) | \
+ PIN_ISRC_DIS(GPIOB_PIN11) | \
+ PIN_ISRC_DIS(GPIOB_CLK0) | \
+ PIN_ISRC_DIS(GPIOB_PIN13) | \
+ PIN_ISRC_DIS(GPIOB_INT0) | \
+ PIN_ISRC_DIS(GPIOB_INT1))
+#define VAL_GPIOB_DOUT (PIN_DATA_LOW(GPIOB_UART0_RXD) | \
+ PIN_DATA_LOW(GPIOB_UART0_TXD) | \
+ PIN_DATA_LOW(GPIOB_UART0_RTS) | \
+ PIN_DATA_LOW(GPIOB_UART0_CTS) | \
+ PIN_DATA_LOW(GPIOB_UART1_RXD) | \
+ PIN_DATA_LOW(GPIOB_UART1_TXD) | \
+ PIN_DATA_LOW(GPIOB_UART1_RTS) | \
+ PIN_DATA_LOW(GPIOB_UART1_CTS) | \
+ PIN_DATA_LOW(GPIOB_TM0) | \
+ PIN_DATA_LOW(GPIOB_TM1) | \
+ PIN_DATA_LOW(GPIOB_TM2) | \
+ PIN_DATA_LOW(GPIOB_PIN11) | \
+ PIN_DATA_LOW(GPIOB_CLK0) | \
+ PIN_DATA_LOW(GPIOB_PIN13) | \
+ PIN_DATA_LOW(GPIOB_INT0) | \
+ PIN_DATA_LOW(GPIOB_INT1))
+
+/*
+ * GPIOC setup:
+ *
+ * PC0 - PIN0 (input pullup).
+ * PC1 - PIN1 (input pullup).
+ * PC2 - PIN2 (input pullup).
+ * PC3 - PIN3 (input pullup).
+ * PC4 - PIN4 (output).
+ * PC5 - PIN5 (output).
+ * PC6 - PIN6 (input pullup).
+ * PC7 - PIN7 (input pullup).
+ * PC8 - PIN8 (input pullup).
+ * PC9 - PIN9 (input pullup).
+ * PC10 - PIN10 (input pullup).
+ * PC11 - PIN11 (input pullup).
+ * PC12 - PIN12 (input pullup).
+ * PC13 - PIN13 (input pullup).
+ * PC14 - PIN14 (input pullup).
+ * PC15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOC_PMD (PIN_MODE_INPUT(GPIOC_PIN0) | \
+ PIN_MODE_INPUT(GPIOC_PIN1) | \
+ PIN_MODE_INPUT(GPIOC_PIN2) | \
+ PIN_MODE_INPUT(GPIOC_PIN3) | \
+ PIN_MODE_OUTPUT(GPIOC_PIN4) | \
+ PIN_MODE_OUTPUT(GPIOC_PIN5) | \
+ PIN_MODE_INPUT(GPIOC_PIN6) | \
+ PIN_MODE_INPUT(GPIOC_PIN7) | \
+ PIN_MODE_INPUT(GPIOC_PIN8) | \
+ PIN_MODE_INPUT(GPIOC_PIN9) | \
+ PIN_MODE_INPUT(GPIOC_PIN10) | \
+ PIN_MODE_INPUT(GPIOC_PIN11) | \
+ PIN_MODE_INPUT(GPIOC_PIN12) | \
+ PIN_MODE_INPUT(GPIOC_PIN13) | \
+ PIN_MODE_INPUT(GPIOC_PIN14) | \
+ PIN_MODE_INPUT(GPIOC_PIN15))
+#define VAL_GPIOC_OFFD (PIN_DIGITAL_EN(GPIOC_PIN0) | \
+ PIN_DIGITAL_EN(GPIOC_PIN1) | \
+ PIN_DIGITAL_EN(GPIOC_PIN2) | \
+ PIN_DIGITAL_EN(GPIOC_PIN3) | \
+ PIN_DIGITAL_DIS(GPIOC_PIN4) | \
+ PIN_DIGITAL_DIS(GPIOC_PIN5) | \
+ PIN_DIGITAL_EN(GPIOC_PIN6) | \
+ PIN_DIGITAL_EN(GPIOC_PIN7) | \
+ PIN_DIGITAL_EN(GPIOC_PIN8) | \
+ PIN_DIGITAL_EN(GPIOC_PIN9) | \
+ PIN_DIGITAL_EN(GPIOC_PIN10) | \
+ PIN_DIGITAL_EN(GPIOC_PIN11) | \
+ PIN_DIGITAL_EN(GPIOC_PIN12) | \
+ PIN_DIGITAL_EN(GPIOC_PIN13) | \
+ PIN_DIGITAL_EN(GPIOC_PIN14) | \
+ PIN_DIGITAL_EN(GPIOC_PIN15))
+#define VAL_GPIOC_DMASK (PIN_DMASK_EN(GPIOC_PIN0) | \
+ PIN_DMASK_EN(GPIOC_PIN1) | \
+ PIN_DMASK_EN(GPIOC_PIN2) | \
+ PIN_DMASK_EN(GPIOC_PIN3) | \
+ PIN_DMASK_DIS(GPIOC_PIN4) | \
+ PIN_DMASK_DIS(GPIOC_PIN5) | \
+ PIN_DMASK_EN(GPIOC_PIN6) | \
+ PIN_DMASK_EN(GPIOC_PIN7) | \
+ PIN_DMASK_EN(GPIOC_PIN8) | \
+ PIN_DMASK_EN(GPIOC_PIN9) | \
+ PIN_DMASK_EN(GPIOC_PIN10) | \
+ PIN_DMASK_EN(GPIOC_PIN11) | \
+ PIN_DMASK_EN(GPIOC_PIN12) | \
+ PIN_DMASK_EN(GPIOC_PIN13) | \
+ PIN_DMASK_EN(GPIOC_PIN14) | \
+ PIN_DMASK_EN(GPIOC_PIN15))
+#define VAL_GPIOC_DBEN (PIN_DBNCE_EN(GPIOC_PIN0) | \
+ PIN_DBNCE_EN(GPIOC_PIN1) | \
+ PIN_DBNCE_EN(GPIOC_PIN2) | \
+ PIN_DBNCE_EN(GPIOC_PIN3) | \
+ PIN_DBNCE_DIS(GPIOC_PIN4) | \
+ PIN_DBNCE_DIS(GPIOC_PIN5) | \
+ PIN_DBNCE_EN(GPIOC_PIN6) | \
+ PIN_DBNCE_EN(GPIOC_PIN7) | \
+ PIN_DBNCE_EN(GPIOC_PIN8) | \
+ PIN_DBNCE_EN(GPIOC_PIN9) | \
+ PIN_DBNCE_EN(GPIOC_PIN10) | \
+ PIN_DBNCE_EN(GPIOC_PIN11) | \
+ PIN_DBNCE_EN(GPIOC_PIN12) | \
+ PIN_DBNCE_EN(GPIOC_PIN13) | \
+ PIN_DBNCE_EN(GPIOC_PIN14) | \
+ PIN_DBNCE_EN(GPIOC_PIN15))
+#define VAL_GPIOC_IMD (PIN_IMD_EDGE(GPIOC_PIN0) | \
+ PIN_IMD_EDGE(GPIOC_PIN1) | \
+ PIN_IMD_EDGE(GPIOC_PIN2) | \
+ PIN_IMD_EDGE(GPIOC_PIN3) | \
+ PIN_IMD_EDGE(GPIOC_PIN4) | \
+ PIN_IMD_EDGE(GPIOC_PIN5) | \
+ PIN_IMD_EDGE(GPIOC_PIN6) | \
+ PIN_IMD_EDGE(GPIOC_PIN7) | \
+ PIN_IMD_EDGE(GPIOC_PIN8) | \
+ PIN_IMD_EDGE(GPIOC_PIN9) | \
+ PIN_IMD_EDGE(GPIOC_PIN10) | \
+ PIN_IMD_EDGE(GPIOC_PIN11) | \
+ PIN_IMD_EDGE(GPIOC_PIN12) | \
+ PIN_IMD_EDGE(GPIOC_PIN13) | \
+ PIN_IMD_EDGE(GPIOC_PIN14) | \
+ PIN_IMD_EDGE(GPIOC_PIN15))
+#define VAL_GPIOC_IEN (PIN_IEN_FELL_DIS(GPIOC_PIN0) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN1) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN2) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN3) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN4) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN5) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN6) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN7) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN8) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN9) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN10) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN11) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN12) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN13) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN14) | \
+ PIN_IEN_FELL_DIS(GPIOC_PIN15))
+#define VAL_GPIOC_ISRC (PIN_ISRC_DIS(GPIOC_PIN0) | \
+ PIN_ISRC_DIS(GPIOC_PIN1) | \
+ PIN_ISRC_DIS(GPIOC_PIN2) | \
+ PIN_ISRC_DIS(GPIOC_PIN3) | \
+ PIN_ISRC_DIS(GPIOC_PIN4) | \
+ PIN_ISRC_DIS(GPIOC_PIN5) | \
+ PIN_ISRC_DIS(GPIOC_PIN6) | \
+ PIN_ISRC_DIS(GPIOC_PIN7) | \
+ PIN_ISRC_DIS(GPIOC_PIN8) | \
+ PIN_ISRC_DIS(GPIOC_PIN9) | \
+ PIN_ISRC_DIS(GPIOC_PIN10) | \
+ PIN_ISRC_DIS(GPIOC_PIN11) | \
+ PIN_ISRC_DIS(GPIOC_PIN12) | \
+ PIN_ISRC_DIS(GPIOC_PIN13) | \
+ PIN_ISRC_DIS(GPIOC_PIN14) | \
+ PIN_ISRC_DIS(GPIOC_PIN15))
+#define VAL_GPIOC_DOUT (PIN_DATA_LOW(GPIOC_PIN0) | \
+ PIN_DATA_LOW(GPIOC_PIN1) | \
+ PIN_DATA_LOW(GPIOC_PIN2) | \
+ PIN_DATA_LOW(GPIOC_PIN3) | \
+ PIN_DATA_LOW(GPIOC_PIN4) | \
+ PIN_DATA_LOW(GPIOC_PIN5) | \
+ PIN_DATA_LOW(GPIOC_PIN6) | \
+ PIN_DATA_LOW(GPIOC_PIN7) | \
+ PIN_DATA_LOW(GPIOC_PIN8) | \
+ PIN_DATA_LOW(GPIOC_PIN9) | \
+ PIN_DATA_LOW(GPIOC_PIN10) | \
+ PIN_DATA_LOW(GPIOC_PIN11) | \
+ PIN_DATA_LOW(GPIOC_PIN12) | \
+ PIN_DATA_LOW(GPIOC_PIN13) | \
+ PIN_DATA_LOW(GPIOC_PIN14) | \
+ PIN_DATA_LOW(GPIOC_PIN15))
+
+/*
+ * GPIOD setup:
+ *
+ * PD0 - ADC0 (input pullup).
+ * PD1 - ADC1 (input pullup).
+ * PD2 - ADC2 (input pullup).
+ * PD3 - ADC3 (output).
+ * PD4 - ADC4 (output).
+ * PD5 - ADC5 (output).
+ * PD6 - PIN6 (input pullup).
+ * PD7 - PIN7 (input pullup).
+ * PD8 - PIN8 (input pullup).
+ * PD9 - PIN9 (output).
+ * PD10 - PIN10 (debug output).
+ * PD11 - PIN11 (output).
+ * PD12 - PIN12 (input pullup).
+ * PD13 - PIN13 (input pullup).
+ * PD14 - PIN14 (input pullup).
+ * PD15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOD_PMD (PIN_MODE_INPUT(GPIOD_ADC0) | \
+ PIN_MODE_INPUT(GPIOD_ADC1) | \
+ PIN_MODE_INPUT(GPIOD_ADC2) | \
+ PIN_MODE_OUTPUT(GPIOD_ADC3) | \
+ PIN_MODE_OUTPUT(GPIOD_ADC4) | \
+ PIN_MODE_OUTPUT(GPIOD_ADC5) | \
+ PIN_MODE_INPUT(GPIOD_PIN6) | \
+ PIN_MODE_INPUT(GPIOD_PIN7) | \
+ PIN_MODE_INPUT(GPIOD_PIN8) | \
+ PIN_MODE_OUTPUT(GPIOD_PIN9) | \
+ PIN_MODE_OUTPUT(GPIOD_PIN10) | \
+ PIN_MODE_OUTPUT(GPIOD_PIN11) | \
+ PIN_MODE_INPUT(GPIOD_PIN12) | \
+ PIN_MODE_INPUT(GPIOD_PIN13) | \
+ PIN_MODE_INPUT(GPIOD_PIN14) | \
+ PIN_MODE_INPUT(GPIOD_PIN15))
+#define VAL_GPIOD_OFFD (PIN_DIGITAL_EN(GPIOD_ADC0) | \
+ PIN_DIGITAL_EN(GPIOD_ADC1) | \
+ PIN_DIGITAL_EN(GPIOD_ADC2) | \
+ PIN_DIGITAL_DIS(GPIOD_ADC3) | \
+ PIN_DIGITAL_DIS(GPIOD_ADC4) | \
+ PIN_DIGITAL_DIS(GPIOD_ADC5) | \
+ PIN_DIGITAL_EN(GPIOD_PIN6) | \
+ PIN_DIGITAL_EN(GPIOD_PIN7) | \
+ PIN_DIGITAL_EN(GPIOD_PIN8) | \
+ PIN_DIGITAL_DIS(GPIOD_PIN9) | \
+ PIN_DIGITAL_DIS(GPIOD_PIN10) | \
+ PIN_DIGITAL_DIS(GPIOD_PIN11) | \
+ PIN_DIGITAL_EN(GPIOD_PIN12) | \
+ PIN_DIGITAL_EN(GPIOD_PIN13) | \
+ PIN_DIGITAL_EN(GPIOD_PIN14) | \
+ PIN_DIGITAL_EN(GPIOD_PIN15))
+#define VAL_GPIOD_DMASK (PIN_DMASK_EN(GPIOD_ADC0) | \
+ PIN_DMASK_EN(GPIOD_ADC1) | \
+ PIN_DMASK_EN(GPIOD_ADC2) | \
+ PIN_DMASK_DIS(GPIOD_ADC3) | \
+ PIN_DMASK_DIS(GPIOD_ADC4) | \
+ PIN_DMASK_DIS(GPIOD_ADC5) | \
+ PIN_DMASK_EN(GPIOD_PIN6) | \
+ PIN_DMASK_EN(GPIOD_PIN7) | \
+ PIN_DMASK_EN(GPIOD_PIN8) | \
+ PIN_DMASK_DIS(GPIOD_PIN9) | \
+ PIN_DMASK_DIS(GPIOD_PIN10) | \
+ PIN_DMASK_DIS(GPIOD_PIN11) | \
+ PIN_DMASK_EN(GPIOD_PIN12) | \
+ PIN_DMASK_EN(GPIOD_PIN13) | \
+ PIN_DMASK_EN(GPIOD_PIN14) | \
+ PIN_DMASK_EN(GPIOD_PIN15))
+#define VAL_GPIOD_DBEN (PIN_DBNCE_EN(GPIOD_ADC0) | \
+ PIN_DBNCE_EN(GPIOD_ADC1) | \
+ PIN_DBNCE_EN(GPIOD_ADC2) | \
+ PIN_DBNCE_DIS(GPIOD_ADC3) | \
+ PIN_DBNCE_DIS(GPIOD_ADC4) | \
+ PIN_DBNCE_DIS(GPIOD_ADC5) | \
+ PIN_DBNCE_EN(GPIOD_PIN6) | \
+ PIN_DBNCE_EN(GPIOD_PIN7) | \
+ PIN_DBNCE_EN(GPIOD_PIN8) | \
+ PIN_DBNCE_DIS(GPIOD_PIN9) | \
+ PIN_DBNCE_DIS(GPIOD_PIN10) | \
+ PIN_DBNCE_DIS(GPIOD_PIN11) | \
+ PIN_DBNCE_EN(GPIOD_PIN12) | \
+ PIN_DBNCE_EN(GPIOD_PIN13) | \
+ PIN_DBNCE_EN(GPIOD_PIN14) | \
+ PIN_DBNCE_EN(GPIOD_PIN15))
+#define VAL_GPIOD_IMD (PIN_IMD_EDGE(GPIOD_ADC0) | \
+ PIN_IMD_EDGE(GPIOD_ADC1) | \
+ PIN_IMD_EDGE(GPIOD_ADC2) | \
+ PIN_IMD_EDGE(GPIOD_ADC3) | \
+ PIN_IMD_EDGE(GPIOD_ADC4) | \
+ PIN_IMD_EDGE(GPIOD_ADC5) | \
+ PIN_IMD_EDGE(GPIOD_PIN6) | \
+ PIN_IMD_EDGE(GPIOD_PIN7) | \
+ PIN_IMD_EDGE(GPIOD_PIN8) | \
+ PIN_IMD_EDGE(GPIOD_PIN9) | \
+ PIN_IMD_EDGE(GPIOD_PIN10) | \
+ PIN_IMD_EDGE(GPIOD_PIN11) | \
+ PIN_IMD_EDGE(GPIOD_PIN12) | \
+ PIN_IMD_EDGE(GPIOD_PIN13) | \
+ PIN_IMD_EDGE(GPIOD_PIN14) | \
+ PIN_IMD_EDGE(GPIOD_PIN15))
+#define VAL_GPIOD_IEN (PIN_IEN_FELL_DIS(GPIOD_ADC0) | \
+ PIN_IEN_FELL_DIS(GPIOD_ADC1) | \
+ PIN_IEN_FELL_DIS(GPIOD_ADC2) | \
+ PIN_IEN_FELL_DIS(GPIOD_ADC3) | \
+ PIN_IEN_FELL_DIS(GPIOD_ADC4) | \
+ PIN_IEN_FELL_DIS(GPIOD_ADC5) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN6) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN7) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN8) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN9) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN10) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN11) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN12) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN13) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN14) | \
+ PIN_IEN_FELL_DIS(GPIOD_PIN15))
+#define VAL_GPIOD_ISRC (PIN_ISRC_DIS(GPIOD_ADC0) | \
+ PIN_ISRC_DIS(GPIOD_ADC1) | \
+ PIN_ISRC_DIS(GPIOD_ADC2) | \
+ PIN_ISRC_DIS(GPIOD_ADC3) | \
+ PIN_ISRC_DIS(GPIOD_ADC4) | \
+ PIN_ISRC_DIS(GPIOD_ADC5) | \
+ PIN_ISRC_DIS(GPIOD_PIN6) | \
+ PIN_ISRC_DIS(GPIOD_PIN7) | \
+ PIN_ISRC_DIS(GPIOD_PIN8) | \
+ PIN_ISRC_DIS(GPIOD_PIN9) | \
+ PIN_ISRC_DIS(GPIOD_PIN10) | \
+ PIN_ISRC_DIS(GPIOD_PIN11) | \
+ PIN_ISRC_DIS(GPIOD_PIN12) | \
+ PIN_ISRC_DIS(GPIOD_PIN13) | \
+ PIN_ISRC_DIS(GPIOD_PIN14) | \
+ PIN_ISRC_DIS(GPIOD_PIN15))
+#define VAL_GPIOD_DOUT (PIN_DATA_LOW(GPIOD_ADC0) | \
+ PIN_DATA_LOW(GPIOD_ADC1) | \
+ PIN_DATA_LOW(GPIOD_ADC2) | \
+ PIN_DATA_LOW(GPIOD_ADC3) | \
+ PIN_DATA_LOW(GPIOD_ADC4) | \
+ PIN_DATA_LOW(GPIOD_ADC5) | \
+ PIN_DATA_LOW(GPIOD_PIN6) | \
+ PIN_DATA_LOW(GPIOD_PIN7) | \
+ PIN_DATA_LOW(GPIOD_PIN8) | \
+ PIN_DATA_LOW(GPIOD_PIN9) | \
+ PIN_DATA_LOW(GPIOD_PIN10) | \
+ PIN_DATA_LOW(GPIOD_PIN11) | \
+ PIN_DATA_LOW(GPIOD_PIN12) | \
+ PIN_DATA_LOW(GPIOD_PIN13) | \
+ PIN_DATA_LOW(GPIOD_PIN14) | \
+ PIN_DATA_LOW(GPIOD_PIN15))
+
+/*
+ * GPIOF setup:
+ *
+ * PF0 - OSC_IN (input floating).
+ * PF1 - OSC_OUT (input floating).
+ * PF2 - I2C0_SDA (input pullup).
+ * PF3 - I2C0_SCL (input pullup).
+ * PF4 - PIN4 (input pullup).
+ * PF5 - PIN5 (input pullup).
+ * PF6 - PIN6 (input pullup).
+ * PF7 - PIN7 (input pullup).
+ * PF8 - PIN8 (input pullup).
+ * PF9 - PIN9 (input pullup).
+ * PF10 - PIN10 (input pullup).
+ * PF11 - PIN11 (input pullup).
+ * PF12 - PIN12 (input pullup).
+ * PF13 - PIN13 (input pullup).
+ * PF14 - PIN14 (input pullup).
+ * PF15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOF_PMD (PIN_MODE_QUASI(GPIOF_OSC_IN) | \
+ PIN_MODE_QUASI(GPIOF_OSC_OUT) | \
+ PIN_MODE_INPUT(GPIOF_I2C0_SDA) | \
+ PIN_MODE_INPUT(GPIOF_I2C0_SCL) | \
+ PIN_MODE_INPUT(GPIOF_PIN4) | \
+ PIN_MODE_INPUT(GPIOF_PIN5) | \
+ PIN_MODE_INPUT(GPIOF_PIN6) | \
+ PIN_MODE_INPUT(GPIOF_PIN7) | \
+ PIN_MODE_INPUT(GPIOF_PIN8) | \
+ PIN_MODE_INPUT(GPIOF_PIN9) | \
+ PIN_MODE_INPUT(GPIOF_PIN10) | \
+ PIN_MODE_INPUT(GPIOF_PIN11) | \
+ PIN_MODE_INPUT(GPIOF_PIN12) | \
+ PIN_MODE_INPUT(GPIOF_PIN13) | \
+ PIN_MODE_INPUT(GPIOF_PIN14) | \
+ PIN_MODE_INPUT(GPIOF_PIN15))
+#define VAL_GPIOF_OFFD (PIN_DIGITAL_DIS(GPIOF_OSC_IN) | \
+ PIN_DIGITAL_DIS(GPIOF_OSC_OUT) | \
+ PIN_DIGITAL_EN(GPIOF_I2C0_SDA) | \
+ PIN_DIGITAL_EN(GPIOF_I2C0_SCL) | \
+ PIN_DIGITAL_EN(GPIOF_PIN4) | \
+ PIN_DIGITAL_EN(GPIOF_PIN5) | \
+ PIN_DIGITAL_EN(GPIOF_PIN6) | \
+ PIN_DIGITAL_EN(GPIOF_PIN7) | \
+ PIN_DIGITAL_EN(GPIOF_PIN8) | \
+ PIN_DIGITAL_EN(GPIOF_PIN9) | \
+ PIN_DIGITAL_EN(GPIOF_PIN10) | \
+ PIN_DIGITAL_EN(GPIOF_PIN11) | \
+ PIN_DIGITAL_EN(GPIOF_PIN12) | \
+ PIN_DIGITAL_EN(GPIOF_PIN13) | \
+ PIN_DIGITAL_EN(GPIOF_PIN14) | \
+ PIN_DIGITAL_EN(GPIOF_PIN15))
+#define VAL_GPIOF_DMASK (PIN_DMASK_DIS(GPIOF_OSC_IN) | \
+ PIN_DMASK_DIS(GPIOF_OSC_OUT) | \
+ PIN_DMASK_EN(GPIOF_I2C0_SDA) | \
+ PIN_DMASK_EN(GPIOF_I2C0_SCL) | \
+ PIN_DMASK_EN(GPIOF_PIN4) | \
+ PIN_DMASK_EN(GPIOF_PIN5) | \
+ PIN_DMASK_EN(GPIOF_PIN6) | \
+ PIN_DMASK_EN(GPIOF_PIN7) | \
+ PIN_DMASK_EN(GPIOF_PIN8) | \
+ PIN_DMASK_EN(GPIOF_PIN9) | \
+ PIN_DMASK_EN(GPIOF_PIN10) | \
+ PIN_DMASK_EN(GPIOF_PIN11) | \
+ PIN_DMASK_EN(GPIOF_PIN12) | \
+ PIN_DMASK_EN(GPIOF_PIN13) | \
+ PIN_DMASK_EN(GPIOF_PIN14) | \
+ PIN_DMASK_EN(GPIOF_PIN15))
+#define VAL_GPIOF_DBEN (PIN_DBNCE_DIS(GPIOF_OSC_IN) | \
+ PIN_DBNCE_DIS(GPIOF_OSC_OUT) | \
+ PIN_DBNCE_EN(GPIOF_I2C0_SDA) | \
+ PIN_DBNCE_EN(GPIOF_I2C0_SCL) | \
+ PIN_DBNCE_EN(GPIOF_PIN4) | \
+ PIN_DBNCE_EN(GPIOF_PIN5) | \
+ PIN_DBNCE_EN(GPIOF_PIN6) | \
+ PIN_DBNCE_EN(GPIOF_PIN7) | \
+ PIN_DBNCE_EN(GPIOF_PIN8) | \
+ PIN_DBNCE_EN(GPIOF_PIN9) | \
+ PIN_DBNCE_EN(GPIOF_PIN10) | \
+ PIN_DBNCE_EN(GPIOF_PIN11) | \
+ PIN_DBNCE_EN(GPIOF_PIN12) | \
+ PIN_DBNCE_EN(GPIOF_PIN13) | \
+ PIN_DBNCE_EN(GPIOF_PIN14) | \
+ PIN_DBNCE_EN(GPIOF_PIN15))
+#define VAL_GPIOF_IMD (PIN_IMD_LVL(GPIOF_OSC_IN) | \
+ PIN_IMD_LVL(GPIOF_OSC_OUT) | \
+ PIN_IMD_EDGE(GPIOF_I2C0_SDA) | \
+ PIN_IMD_EDGE(GPIOF_I2C0_SCL) | \
+ PIN_IMD_EDGE(GPIOF_PIN4) | \
+ PIN_IMD_EDGE(GPIOF_PIN5) | \
+ PIN_IMD_EDGE(GPIOF_PIN6) | \
+ PIN_IMD_EDGE(GPIOF_PIN7) | \
+ PIN_IMD_EDGE(GPIOF_PIN8) | \
+ PIN_IMD_EDGE(GPIOF_PIN9) | \
+ PIN_IMD_EDGE(GPIOF_PIN10) | \
+ PIN_IMD_EDGE(GPIOF_PIN11) | \
+ PIN_IMD_EDGE(GPIOF_PIN12) | \
+ PIN_IMD_EDGE(GPIOF_PIN13) | \
+ PIN_IMD_EDGE(GPIOF_PIN14) | \
+ PIN_IMD_EDGE(GPIOF_PIN15))
+#define VAL_GPIOF_IEN (PIN_IEN_FELL_DIS(GPIOF_OSC_IN) | \
+ PIN_IEN_FELL_DIS(GPIOF_OSC_OUT) | \
+ PIN_IEN_FELL_DIS(GPIOF_I2C0_SDA) | \
+ PIN_IEN_FELL_DIS(GPIOF_I2C0_SCL) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN4) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN5) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN6) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN7) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN8) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN9) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN10) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN11) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN12) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN13) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN14) | \
+ PIN_IEN_FELL_DIS(GPIOF_PIN15))
+#define VAL_GPIOF_ISRC (PIN_ISRC_DIS(GPIOF_OSC_IN) | \
+ PIN_ISRC_DIS(GPIOF_OSC_OUT) | \
+ PIN_ISRC_DIS(GPIOF_I2C0_SDA) | \
+ PIN_ISRC_DIS(GPIOF_I2C0_SCL) | \
+ PIN_ISRC_DIS(GPIOF_PIN4) | \
+ PIN_ISRC_DIS(GPIOF_PIN5) | \
+ PIN_ISRC_DIS(GPIOF_PIN6) | \
+ PIN_ISRC_DIS(GPIOF_PIN7) | \
+ PIN_ISRC_DIS(GPIOF_PIN8) | \
+ PIN_ISRC_DIS(GPIOF_PIN9) | \
+ PIN_ISRC_DIS(GPIOF_PIN10) | \
+ PIN_ISRC_DIS(GPIOF_PIN11) | \
+ PIN_ISRC_DIS(GPIOF_PIN12) | \
+ PIN_ISRC_DIS(GPIOF_PIN13) | \
+ PIN_ISRC_DIS(GPIOF_PIN14) | \
+ PIN_ISRC_DIS(GPIOF_PIN15))
+#define VAL_GPIOF_DOUT (PIN_DATA_LOW(GPIOF_OSC_IN) | \
+ PIN_DATA_LOW(GPIOF_OSC_OUT) | \
+ PIN_DATA_LOW(GPIOF_I2C0_SDA) | \
+ PIN_DATA_LOW(GPIOF_I2C0_SCL) | \
+ PIN_DATA_LOW(GPIOF_PIN4) | \
+ PIN_DATA_LOW(GPIOF_PIN5) | \
+ PIN_DATA_LOW(GPIOF_PIN6) | \
+ PIN_DATA_LOW(GPIOF_PIN7) | \
+ PIN_DATA_LOW(GPIOF_PIN8) | \
+ PIN_DATA_LOW(GPIOF_PIN9) | \
+ PIN_DATA_LOW(GPIOF_PIN10) | \
+ PIN_DATA_LOW(GPIOF_PIN11) | \
+ PIN_DATA_LOW(GPIOF_PIN12) | \
+ PIN_DATA_LOW(GPIOF_PIN13) | \
+ PIN_DATA_LOW(GPIOF_PIN14) | \
+ PIN_DATA_LOW(GPIOF_PIN15))
+
+
+#if !defined(_FROM_ASM_)
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void boardInit(void);
+#ifdef __cplusplus
+}
+#endif
+#endif /* _FROM_ASM_ */
+
+#endif /* BOARD_H */
diff --git a/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.mk b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.mk
new file mode 100644
index 0000000000..dd9917fc6a
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/boards/NUC123SD4AN0/board.mk
@@ -0,0 +1,5 @@
+# List of all the board related files.
+BOARDSRC = $(BOARD_PATH)/boards/NUC123SD4AN0/board.c
+
+# Required include directories
+BOARDINC = $(BOARD_PATH)/boards/NUC123SD4AN0
diff --git a/keyboards/ducky/one2sf/1967st/chconf.h b/keyboards/ducky/one2sf/1967st/chconf.h
new file mode 100644
index 0000000000..617be40dd9
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/chconf.h
@@ -0,0 +1,23 @@
+/* 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
+
+#define CH_CFG_ST_FREQUENCY 10000
+#define CH_CFG_ST_TIMEDELTA 0
+#define CH_CFG_USE_WAITEXIT TRUE
+
+#include_next <chconf.h>
diff --git a/keyboards/ducky/one2sf/1967st/config.h b/keyboards/ducky/one2sf/1967st/config.h
new file mode 100644
index 0000000000..c5abcdac94
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/config.h
@@ -0,0 +1,48 @@
+/*
+Copyright 2019 /u/KeepItUnder
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* 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 { D11, B4, B5, B6, B7 }
+#define MATRIX_COL_PINS { B10, B9, C13, C12, C11, C10, C9, C8, A15, A14, A13, D0, D1, D2,B15,B8 }
+#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define FORCE_NKRO
+
+#define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L)
diff --git a/keyboards/ducky/one2sf/1967st/info.json b/keyboards/ducky/one2sf/1967st/info.json
new file mode 100644
index 0000000000..5361dbd4a0
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/info.json
@@ -0,0 +1,89 @@
+{
+ "keyboard_name": "One 2 SF",
+ "manufacturer": "Ducky",
+ "maintainer": "f7urry",
+ "usb": {
+ "vid": "0x445B",
+ "pid": "0x07AF",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "x": 0, "y": 0, "w": 1, "label": "ESC" },
+ { "x": 1, "y": 0, "w": 1, "label": "1" },
+ { "x": 2, "y": 0, "w": 1, "label": "2" },
+ { "x": 3, "y": 0, "w": 1, "label": "3" },
+ { "x": 4, "y": 0, "w": 1, "label": "4" },
+ { "x": 5, "y": 0, "w": 1, "label": "5" },
+ { "x": 6, "y": 0, "w": 1, "label": "6" },
+ { "x": 7, "y": 0, "w": 1, "label": "7" },
+ { "x": 8, "y": 0, "w": 1, "label": "8" },
+ { "x": 9, "y": 0, "w": 1, "label": "9" },
+ { "x": 10, "y": 0, "w": 1, "label": "0" },
+ { "x": 11, "y": 0, "w": 1, "label": "DASH" },
+ { "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" },
+ { "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" },
+ { "x": 15.25, "y": 0, "w": 1, "label": "DEL" },
+
+ { "x": 0, "y": 1, "w": 1.5, "label": "TAB" },
+ { "x": 1.5, "y": 1, "w": 1, "label": "Q" },
+ { "x": 2.5, "y": 1, "w": 1, "label": "W" },
+ { "x": 3.5, "y": 1, "w": 1, "label": "E" },
+ { "x": 4.5, "y": 1, "w": 1, "label": "R" },
+ { "x": 5.5, "y": 1, "w": 1, "label": "T" },
+ { "x": 6.5, "y": 1, "w": 1, "label": "Y" },
+ { "x": 7.5, "y": 1, "w": 1, "label": "U" },
+ { "x": 8.5, "y": 1, "w": 1, "label": "I" },
+ { "x": 9.5, "y": 1, "w": 1, "label": "O" },
+ { "x": 10.5, "y": 1, "w": 1, "label": "P" },
+ { "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" },
+ { "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" },
+ { "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" },
+ { "x": 15.25, "y": 1, "w": 1, "label": "PAGEUP" },
+
+ { "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" },
+ { "x": 1.75, "y": 2, "w": 1, "label": "A" },
+ { "x": 2.75, "y": 2, "w": 1, "label": "S" },
+ { "x": 3.75, "y": 2, "w": 1, "label": "D" },
+ { "x": 4.75, "y": 2, "w": 1, "label": "F" },
+ { "x": 5.75, "y": 2, "w": 1, "label": "G" },
+ { "x": 6.75, "y": 2, "w": 1, "label": "H" },
+ { "x": 7.75, "y": 2, "w": 1, "label": "J" },
+ { "x": 8.75, "y": 2, "w": 1, "label": "K" },
+ { "x": 9.75, "y": 2, "w": 1, "label": "L" },
+ { "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" },
+ { "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" },
+ { "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" },
+ { "x": 13.75, "y": 2, "w": 1.25, "label": "ENTER" },
+ { "x": 15.25, "y": 2, "w": 1, "label": "PAGEDOWN" },
+
+ { "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" },
+ { "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" },
+ { "x": 2.25, "y": 3, "w": 1, "label": "Z" },
+ { "x": 3.25, "y": 3, "w": 1, "label": "X" },
+ { "x": 4.25, "y": 3, "w": 1, "label": "C" },
+ { "x": 5.25, "y": 3, "w": 1, "label": "V" },
+ { "x": 6.25, "y": 3, "w": 1, "label": "B" },
+ { "x": 7.25, "y": 3, "w": 1, "label": "N" },
+ { "x": 8.25, "y": 3, "w": 1, "label": "M" },
+ { "x": 9.25, "y": 3, "w": 1, "label": "COMMA" },
+ { "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" },
+ { "x": 11.25, "y": 3, "w": 1, "label": "SLASH" },
+ { "x": 12.25, "y": 3, "w": 2, "label": "RSHIFT" },
+ { "x": 14.25, "y": 3, "w": 1, "label": "UP" },
+
+ { "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" },
+ { "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" },
+ { "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" },
+ { "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" },
+ { "x": 10, "y": 4, "w": 1, "label": "RALT" },
+ { "x": 11, "y": 4, "w": 1, "label": "FN" },
+ { "x": 12, "y": 4, "w": 1.25, "label": "RCTRL" },
+ { "x": 13.25, "y": 4, "w": 1, "label": "LEFT" },
+ { "x": 14.25, "y": 4, "w": 1, "label": "DOWN" },
+ { "x": 15.25, "y": 4, "w": 1, "label": "RIGHT" }
+ ]
+ }
+ }
+}
diff --git a/keyboards/ducky/one2sf/1967st/mcuconf.h b/keyboards/ducky/one2sf/1967st/mcuconf.h
new file mode 100644
index 0000000000..12e9d2a82d
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/mcuconf.h
@@ -0,0 +1,51 @@
+/*
+ ChibiOS - Copyright (C) 2020 Alex Lewontin
+
+ 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_
+
+/*
+ * Board setting
+ * The following settings override the default settings present in
+ * the various device driver implementation headers.
+ * Note that the settings for each driver only have effect if the whole
+ * driver is enabled in halconf.h.
+ *
+ * IRQ priorities:
+ * 3...0 Lowest...Highest.
+ *
+ * DMA priorities:
+ * 5...0 Lowest...Highest.
+ */
+
+/*
+ * HAL driver system settings.
+ */
+#define NUC123_HSE_ENABLED TRUE
+#define NUC123_PLL_ENABLED TRUE
+#define NUC123_PLLSRC NUC123_PLLSRC_HSE
+#define NUC123_HCLKSRC NUC123_HCLKSRC_PLL
+#define NUC123_HCLKDIV 2
+#define NUC123_PLL_NF 144
+#define NUC123_USB_USE_USB0 TRUE
+#define NUC123_USB_USE_USB1 TRUE
+
+#define NUC123_SERIAL_USE_UART0 TRUE
+#define NUC123_SERIAL_CLKSRC NUC123_SERIAL_CLKSRC_HSI
+
+#define NUC123_MCUCONF
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/ducky/one2sf/1967st/readme.md b/keyboards/ducky/one2sf/1967st/readme.md
new file mode 100644
index 0000000000..be96a8db71
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/readme.md
@@ -0,0 +1,32 @@
+# One 2 SF (DKON1967ST)
+
+A 65% keyboard by Ducky.
+
+This firmware was tested on the Ducky One 2 SF 1967ST version.
+
+* Keyboard Maintainer: [f7urry](https://github.com/f7urry)
+* Hardware Supported: Ducky One 2 SF RGB (DKON1967ST), NUC123SD4AN0 + MBI5043GP
+ * Only ANSI layout is supported at this time (ISO & VIA still WIP).
+ * RGB LEDs are currently disabled until the driver is merged.
+
+## Compiling the Firmware:
+
+ make ducky/one2sf/1967st:default
+
+## Accessing Bootloader Mode
+
+To enter the 1967ST bootloader to flash, boot the keyboard while holding D+L.
+
+## Flashing the Firmware:
+
+There are then two ways to flash the keyboard:
+
+ pip install --user nuvoton-isp
+ nuvoisp -f ducky_one2sf_ansi.bin
+
+Alternatively you can use elfmimi's [nu-isp-cli](https://lib.rs/crates/nu-isp-cli) which is more complete than nuvoisp and allows flashing .hex files as well.
+
+ cargo install nu-isp-cli
+ nu-isp-cli flash ducky_one2sf_ansi.bin
+
+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/ducky/one2sf/1967st/rules.mk b/keyboards/ducky/one2sf/1967st/rules.mk
new file mode 100644
index 0000000000..a5b4708b26
--- /dev/null
+++ b/keyboards/ducky/one2sf/1967st/rules.mk
@@ -0,0 +1,34 @@
+MCU_FAMILY = NUMICRO
+MCU_SERIES = NUC123
+
+# Bootloader selection
+BOOTLOADER = custom
+
+# linker script to use
+MCU_LDSCRIPT = NUC123xD4xx0
+
+# startup code to use
+MCU_STARTUP = NUC123
+BOARD = NUC123SD4AN0
+
+# NUC123 series is Cortex M0
+MCU = cortex-m0
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 6
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+DIP_SWITCH_ENABLE = yes
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/ducky/one2sf/keymaps/default/config.h b/keyboards/ducky/one2sf/keymaps/default/config.h
new file mode 100644
index 0000000000..b052c604f5
--- /dev/null
+++ b/keyboards/ducky/one2sf/keymaps/default/config.h
@@ -0,0 +1,25 @@
+/* Copyright 2019 /u/KeepItUnder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+#define GRAVE_ESC_GUI_OVERRIDE
+#define MK_3_SPEED
+#define MK_C_OFFSET_UNMOD 400 /* Cursor offset per movement (unmodified) */
+#define MK_C_INTERVAL_UNMOD 5 /* Time between cursor movements (unmodified) */
+#define MK_W_OFFSET_UNMOD 100 /* Scroll steps per scroll action (unmodified) */
+#define MK_W_INTERVAL_UNMOD 10 /* Time between scroll steps (unmodified) */
diff --git a/keyboards/ducky/one2sf/keymaps/default/keymap.c b/keyboards/ducky/one2sf/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e78667c9ad
--- /dev/null
+++ b/keyboards/ducky/one2sf/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2019 /u/KeepItUnder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// LAYERS
+enum Layer {
+ _QWERTY = 0, // Standard QWERTY layer
+ _FUNCTION, // Function key layer
+ _COLOUR // RGB key layer
+};
+#define _QW _QWERTY
+#define _FN _FUNCTION
+#define _CLR _COLOUR
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_all(
+ // 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FUNCTION] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, KC_PGDN,
+ _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_MUTE, KC_VOLD, KC_VOLU, MO(2), _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ [_COLOUR] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/ducky/one2sf/keymaps/default/readme.md b/keyboards/ducky/one2sf/keymaps/default/readme.md
new file mode 100644
index 0000000000..4b29f4aef2
--- /dev/null
+++ b/keyboards/ducky/one2sf/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for one2sf
diff --git a/keyboards/ducky/one2sf/readme.md b/keyboards/ducky/one2sf/readme.md
new file mode 100644
index 0000000000..fb37adb7e9
--- /dev/null
+++ b/keyboards/ducky/one2sf/readme.md
@@ -0,0 +1,8 @@
+# One 2 SF
+
+A 65% keyboard by Ducky.
+
+The only supported keyboard version at this time is the DKON1967ST.
+
+* Hardware Supported:
+ * [DKON1967ST](1967st/), NUC123SD4AN0 + MBI5043GP
diff --git a/keyboards/ducky/one2sf/rules.mk b/keyboards/ducky/one2sf/rules.mk
new file mode 100644
index 0000000000..0c9ddb957f
--- /dev/null
+++ b/keyboards/ducky/one2sf/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = ducky/one2sf/1967st
diff --git a/keyboards/dumbo/config.h b/keyboards/dumbo/config.h
index 07b67d06d3..811f3d98f6 100644
--- a/keyboards/dumbo/config.h
+++ b/keyboards/dumbo/config.h
@@ -16,13 +16,6 @@ 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 0x25E3
-#define DEVICE_VER 0x0001
-#define MANUFACTURER trip_trap
-#define PRODUCT Dumbo
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -31,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring
#define MATRIX_ROW_PINS { D4, D7, E6, B4 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { F4, C6 }
#define ENCODERS_PAD_B { F5, B5 }
diff --git a/keyboards/dumbo/info.json b/keyboards/dumbo/info.json
index 885ea08e29..caf466509a 100644
--- a/keyboards/dumbo/info.json
+++ b/keyboards/dumbo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dumbo",
+ "manufacturer": "trip_trap",
"url": "",
"maintainer": "adamnaldal",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x25E3",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_4": {
"layout": [
diff --git a/keyboards/dumbo/keymaps/trip-trap/keymap.c b/keyboards/dumbo/keymaps/trip-trap/keymap.c
index 73042f5f5e..56d27e3fbd 100644
--- a/keyboards/dumbo/keymaps/trip-trap/keymap.c
+++ b/keyboards/dumbo/keymaps/trip-trap/keymap.c
@@ -179,7 +179,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Special functions: _SP
*
* ,-------------------------------------------. ,-------------------------------------------.
- * | |QWERTY| | | RESET| | | | | | | | |
+ * | |QWERTY| | | QK_BOOT| | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | | DEBUG| | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
@@ -191,7 +191,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_SP] = LAYOUT_split_3x6_4(
//,-----------------------------------------------------. ,-----------------------------------------------------.
- XXXXXXX, QWERT, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, QWERT, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/dumbpad/config.h b/keyboards/dumbpad/config.h
index 5a1a1c92b8..b51663981d 100644
--- a/keyboards/dumbpad/config.h
+++ b/keyboards/dumbpad/config.h
@@ -18,12 +18,6 @@ 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 0x0913
-#define MANUFACTURER imchipwood
-#define PRODUCT dumbpad
-
/* Column/Row IO definitions */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dumbpad/info.json b/keyboards/dumbpad/info.json
new file mode 100644
index 0000000000..341a1bcf8b
--- /dev/null
+++ b/keyboards/dumbpad/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "dumbpad",
+ "manufacturer": "imchipwood",
+ "url": "https://www.github.com/imchipwood/dumbpad",
+ "maintainer": "imchipwood",
+ "usb": {
+ "vid": "0xDEAF",
+ "pid": "0x0913"
+ }
+}
diff --git a/keyboards/dumbpad/v0x/config.h b/keyboards/dumbpad/v0x/config.h
index 6d503c9abe..b59578aa14 100644
--- a/keyboards/dumbpad/v0x/config.h
+++ b/keyboards/dumbpad/v0x/config.h
@@ -18,15 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0007
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Single rotary encoder */
#define ENCODERS_PAD_A { D0 }
diff --git a/keyboards/dumbpad/v0x/info.json b/keyboards/dumbpad/v0x/info.json
index 01fe1d5178..5e5feb42ba 100644
--- a/keyboards/dumbpad/v0x/info.json
+++ b/keyboards/dumbpad/v0x/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v0x",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.0.7"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dumbpad/v0x_dualencoder/config.h b/keyboards/dumbpad/v0x_dualencoder/config.h
index 586e55056c..6879d73960 100644
--- a/keyboards/dumbpad/v0x_dualencoder/config.h
+++ b/keyboards/dumbpad/v0x_dualencoder/config.h
@@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0006
-
/* Column/Row IO definitions - dualencoder version is true 4x4 */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/dumbpad/v0x_dualencoder/info.json b/keyboards/dumbpad/v0x_dualencoder/info.json
index f4bf8be585..150a82f373 100644
--- a/keyboards/dumbpad/v0x_dualencoder/info.json
+++ b/keyboards/dumbpad/v0x_dualencoder/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v0x_dualencoder",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dumbpad/v0x_right/config.h b/keyboards/dumbpad/v0x_right/config.h
index 0380203fdf..76f78eff64 100644
--- a/keyboards/dumbpad/v0x_right/config.h
+++ b/keyboards/dumbpad/v0x_right/config.h
@@ -16,15 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0007
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
/* Single rotary encoder */
#define ENCODERS_PAD_A { D4 }
diff --git a/keyboards/dumbpad/v0x_right/info.json b/keyboards/dumbpad/v0x_right/info.json
index 7269fe3d08..657a85542d 100644
--- a/keyboards/dumbpad/v0x_right/info.json
+++ b/keyboards/dumbpad/v0x_right/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v0x_right",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.0.7"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dumbpad/v1x/config.h b/keyboards/dumbpad/v1x/config.h
index 0d967a6a01..88ee875c0d 100644
--- a/keyboards/dumbpad/v1x/config.h
+++ b/keyboards/dumbpad/v1x/config.h
@@ -18,15 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0010
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Single rotary encoder */
#define ENCODERS_PAD_A { B2 }
diff --git a/keyboards/dumbpad/v1x/info.json b/keyboards/dumbpad/v1x/info.json
index d8cd5b2304..6355245982 100644
--- a/keyboards/dumbpad/v1x/info.json
+++ b/keyboards/dumbpad/v1x/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v1x",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dumbpad/v1x_dualencoder/config.h b/keyboards/dumbpad/v1x_dualencoder/config.h
index 13f4785d8a..ed33f9d193 100644
--- a/keyboards/dumbpad/v1x_dualencoder/config.h
+++ b/keyboards/dumbpad/v1x_dualencoder/config.h
@@ -18,15 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0010
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Dual rotary encoders */
#define ENCODERS_PAD_A { B2, D0 }
diff --git a/keyboards/dumbpad/v1x_dualencoder/info.json b/keyboards/dumbpad/v1x_dualencoder/info.json
index 42eb5a3e77..6355245982 100644
--- a/keyboards/dumbpad/v1x_dualencoder/info.json
+++ b/keyboards/dumbpad/v1x_dualencoder/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v1x_dualencoder",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dumbpad/v1x_oled/config.h b/keyboards/dumbpad/v1x_oled/config.h
new file mode 100644
index 0000000000..2dba0c3b14
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/config.h
@@ -0,0 +1,37 @@
+/*
+Copyright 2020 imchipwood
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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"
+
+/* Column/Row IO definitions */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 5
+
+#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { C6, B1, B3, B2, B6 }
+#define UNUSED_PINS
+
+/* Dual rotary encoders */
+#define ENCODERS_PAD_A { B4, E6 }
+#define ENCODERS_PAD_B { B5, D7 }
+
+/* Column/Row IO definitions */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Reduce tapdance required taps from 5 to 2 */
+#define TAPPING_TOGGLE 2
diff --git a/keyboards/dumbpad/v1x_oled/info.json b/keyboards/dumbpad/v1x_oled/info.json
new file mode 100644
index 0000000000..d124c76e14
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/info.json
@@ -0,0 +1,15 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0},
+ {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1},
+ {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2},
+ {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/dumbpad/v1x_oled/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_oled/keymaps/default/keymap.c
new file mode 100644
index 0000000000..84d23f665a
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2020 imchipwood
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 LAYER
+ /-----------------------------------------------------`
+ | | 7 | 8 | 9 | Bkspc |
+ | |---------|---------|---------|---------|
+ | | 4 | 5 | 6 | Esc |
+ | |---------|---------|---------|---------|
+ | | 1 | 2 | 3 | Tab |
+ |-------------|---------|---------|---------|---------|
+ | Play Pause | TT(1) | 0 | . | Enter |
+ \-----------------------------------------------------'
+ */
+ [0] = LAYOUT(
+ KC_7, KC_8, KC_9, KC_BSPC,
+ KC_4, KC_5, KC_6, KC_ESC,
+ KC_1, KC_2, KC_3, KC_TAB,
+ KC_MUTE, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER
+ ),
+ /*
+ SUB LAYER
+ /-----------------------------------------------------`
+ | | | | | Reset |
+ | |---------|---------|---------|---------|
+ | | | | | + |
+ | |---------|---------|---------|---------|
+ | | | | | - |
+ |-------------|---------|---------|---------|---------|
+ | LOCK | | | | = |
+ \-----------------------------------------------------'
+ */
+ [1] = LAYOUT(
+ _______, _______, _______, QK_BOOT,
+ _______, _______, _______, KC_KP_PLUS,
+ _______, _______, _______, KC_KP_MINUS,
+ KC_LOCK, _______, _______, _______, KC_EQL
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/dumbpad/v1x_oled/keymaps/via/keymap.c b/keyboards/dumbpad/v1x_oled/keymaps/via/keymap.c
new file mode 100644
index 0000000000..00f4500469
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/keymaps/via/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2020 imchipwood
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 LAYER
+ /-----------------------------------------------------`
+ | | 7 | 8 | 9 | Bkspc |
+ | |---------|---------|---------|---------|
+ | | 4 | 5 | 6 | Esc |
+ | |---------|---------|---------|---------|
+ | | 1 | 2 | 3 | Tab |
+ |-------------|---------|---------|---------|---------|
+ | Play Pause | TT(1) | 0 | . | Enter |
+ \-----------------------------------------------------'
+ */
+ [0] = LAYOUT(
+ KC_7, KC_8, KC_9, KC_BSPC,
+ KC_4, KC_5, KC_6, KC_ESC,
+ KC_1, KC_2, KC_3, KC_TAB,
+ KC_MUTE, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER
+ ),
+ /*
+ SUB LAYER
+ /-----------------------------------------------------`
+ | | | | | Reset |
+ | |---------|---------|---------|---------|
+ | | | | | + |
+ | |---------|---------|---------|---------|
+ | | | | | - |
+ |-------------|---------|---------|---------|---------|
+ | LOCK | | | | = |
+ \-----------------------------------------------------'
+ */
+ [1] = LAYOUT(
+ _______, _______, _______, QK_BOOT,
+ _______, _______, _______, KC_KP_PLUS,
+ _______, _______, _______, KC_KP_MINUS,
+ KC_LOCK, _______, _______, _______, KC_EQL
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/mechwild/mokulua/keymaps/via/rules.mk b/keyboards/dumbpad/v1x_oled/keymaps/via/rules.mk
index 36b7ba9cbc..36b7ba9cbc 100644
--- a/keyboards/mechwild/mokulua/keymaps/via/rules.mk
+++ b/keyboards/dumbpad/v1x_oled/keymaps/via/rules.mk
diff --git a/keyboards/dumbpad/v1x_oled/rules.mk b/keyboards/dumbpad/v1x_oled/rules.mk
new file mode 100644
index 0000000000..110bfc8eaf
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+ENCODER_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+WPM_ENABLE = yes
diff --git a/keyboards/dumbpad/v1x_oled/v1x_oled.c b/keyboards/dumbpad/v1x_oled/v1x_oled.c
new file mode 100644
index 0000000000..acc9b8bbb1
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/v1x_oled.c
@@ -0,0 +1,155 @@
+/* Copyright 2020 imchipwood
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "v1x_oled.h"
+
+#include <stdio.h>
+char wpm_str[10];
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ // Right encoder
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ // Left encoder
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+// WPM-responsive animation stuff here
+# define IDLE_FRAMES 5
+# define IDLE_SPEED 20 // below this wpm value your animation will idle
+
+// #define PREP_FRAMES 1 // uncomment if >1
+
+# define TAP_FRAMES 2
+# define TAP_SPEED 40 // above this wpm value typing animation to trigger
+
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+// Code containing pixel art, contains:
+// 5 idle frames, 1 prep frame, and 2 tap frames
+
+// To make your own pixel art:
+// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
+// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
+// replace numbers in brackets with your own
+// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
+static void render_anim(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
+ static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ };
+
+ // assumes 1 frame prep stage
+ void animation_phase(void) {
+ if (get_current_wpm() <= IDLE_SPEED) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+ if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
+ // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
+ oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
+ }
+ if (get_current_wpm() >= TAP_SPEED) {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+ }
+ if (get_current_wpm() != 000) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ anim_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
+
+// Used to draw on to the oled screen
+bool oled_task_user(void) {
+ render_anim(); // renders pixelart
+
+ oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_write_P(PSTR("WPM: "), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false);
+ oled_write(wpm_str, false); // writes wpm on top left corner of string
+
+ led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
+ oled_set_cursor(0, 1);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/dumbpad/v1x_oled/v1x_oled.h b/keyboards/dumbpad/v1x_oled/v1x_oled.h
new file mode 100644
index 0000000000..b8bb84fe5f
--- /dev/null
+++ b/keyboards/dumbpad/v1x_oled/v1x_oled.h
@@ -0,0 +1,30 @@
+/* Copyright 2020 imchipwood
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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, \
+ k11, k12, k13, k14, \
+ k21, k22, k23, k24, \
+ k30, k31, k32, k33, k34 \
+) \
+{ \
+ { KC_NO, k01, k02, k03, k04 }, \
+ { KC_NO, k11, k12, k13, k14 }, \
+ { KC_NO, k21, k22, k23, k24 }, \
+ { k30, k31, k32, k33, k34 }, \
+}
diff --git a/keyboards/dumbpad/v1x_right/config.h b/keyboards/dumbpad/v1x_right/config.h
index 23c2685dde..8d57b6a837 100644
--- a/keyboards/dumbpad/v1x_right/config.h
+++ b/keyboards/dumbpad/v1x_right/config.h
@@ -18,15 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0010
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
/* Single rotary encoder */
#define ENCODERS_PAD_A { D4 }
diff --git a/keyboards/dumbpad/v1x_right/info.json b/keyboards/dumbpad/v1x_right/info.json
index 05734d16b0..44b7abacff 100644
--- a/keyboards/dumbpad/v1x_right/info.json
+++ b/keyboards/dumbpad/v1x_right/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "dumbpad/v1x_right",
- "url": "https://www.github.com/imchipwood/dumbpad",
- "maintainer": "imchipwood",
+ "usb": {
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h
index 28a506cf8d..bfb3f2ba9d 100644
--- a/keyboards/durgod/dgk6x/config.h
+++ b/keyboards/durgod/dgk6x/config.h
@@ -18,10 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD60D
-#define MANUFACTURER Hoksi Technology
-
#define WAIT_US_TIMER GPTD3
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/durgod/dgk6x/galaxy/config.h b/keyboards/durgod/dgk6x/galaxy/config.h
index e8108f7d11..7da032b967 100644
--- a/keyboards/durgod/dgk6x/galaxy/config.h
+++ b/keyboards/durgod/dgk6x/galaxy/config.h
@@ -18,11 +18,6 @@
#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 }
diff --git a/keyboards/durgod/dgk6x/galaxy/info.json b/keyboards/durgod/dgk6x/galaxy/info.json
index 6fc8959d0b..221d6613aa 100644
--- a/keyboards/durgod/dgk6x/galaxy/info.json
+++ b/keyboards/durgod/dgk6x/galaxy/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DURGOD Galaxy",
+ "keyboard_name": "Galaxy 84 HK gaming x DURGOD (QMK)",
+ "manufacturer": "Hoksi Technology",
"url": "https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP",
"maintainer": "dkjer",
+ "usb": {
+ "vid": "0xD60D",
+ "pid": "0x6A1A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [
diff --git a/keyboards/durgod/dgk6x/hades/config.h b/keyboards/durgod/dgk6x/hades/config.h
index c148ae1b1f..a2bba0a5a5 100644
--- a/keyboards/durgod/dgk6x/hades/config.h
+++ b/keyboards/durgod/dgk6x/hades/config.h
@@ -18,11 +18,6 @@
#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 }
diff --git a/keyboards/durgod/dgk6x/hades/info.json b/keyboards/durgod/dgk6x/hades/info.json
index b439ea4acb..345b26adcd 100644
--- a/keyboards/durgod/dgk6x/hades/info.json
+++ b/keyboards/durgod/dgk6x/hades/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DURGOD Hades",
+ "keyboard_name": "DURGOD Hades (QMK)",
+ "manufacturer": "Hoksi Technology",
"url": "https://www.amazon.com/gp/product/B08562392T",
"maintainer": "J-Sully",
+ "usb": {
+ "vid": "0xD60D",
+ "pid": "0x4AD3",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/durgod/dgk6x/venus/config.h b/keyboards/durgod/dgk6x/venus/config.h
index 3bef1ea7ed..207508dead 100644
--- a/keyboards/durgod/dgk6x/venus/config.h
+++ b/keyboards/durgod/dgk6x/venus/config.h
@@ -18,11 +18,6 @@
#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 }
diff --git a/keyboards/durgod/dgk6x/venus/info.json b/keyboards/durgod/dgk6x/venus/info.json
index 21e93d55c2..a2d297d661 100644
--- a/keyboards/durgod/dgk6x/venus/info.json
+++ b/keyboards/durgod/dgk6x/venus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DURGOD Venus",
+ "keyboard_name": "DURGOD Venus (QMK)",
+ "manufacturer": "Hoksi Technology",
"url": "https://www.amazon.com/dp/B07XFP5MMZ",
"maintainer": "J-Sully",
+ "usb": {
+ "vid": "0xD60D",
+ "pid": "0x7EC5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k3x0/config.h
index 691076ecac..0f2e01cfc1 100644
--- a/keyboards/durgod/k3x0/config.h
+++ b/keyboards/durgod/k3x0/config.h
@@ -19,10 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD60D
-#define MANUFACTURER Hoksi Technology
-
#define WAIT_US_TIMER GPTD3
/* key matrix size (rows in specific keyboard variant) */
diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k3x0/k310/base/config.h
index 025369acd7..2ccb2f2f0c 100644
--- a/keyboards/durgod/k3x0/k310/base/config.h
+++ b/keyboards/durgod/k3x0/k310/base/config.h
@@ -17,7 +17,3 @@
#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/config.h b/keyboards/durgod/k3x0/k310/config.h
index 1eadb8e52d..cb936a201f 100644
--- a/keyboards/durgod/k3x0/k310/config.h
+++ b/keyboards/durgod/k3x0/k310/config.h
@@ -19,14 +19,6 @@
#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
diff --git a/keyboards/durgod/k3x0/k310/info.json b/keyboards/durgod/k3x0/k310/info.json
index bf960ebd94..06e935484e 100644
--- a/keyboards/durgod/k3x0/k310/info.json
+++ b/keyboards/durgod/k3x0/k310/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DURGOD Taurus K310",
+ "keyboard_name": "DURGOD Taurus K310 (QMK)",
+ "manufacturer": "Hoksi Technology",
"url": "https://www.durgod.com/page9?product_id=53&_l=en",
"maintainer": "tylert",
+ "usb": {
+ "vid": "0xD60D",
+ "pid": "0x3100",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fullsize_ansi": {
"layout": [
diff --git a/keyboards/durgod/k3x0/k320/base/config.h b/keyboards/durgod/k3x0/k320/base/config.h
index d4eb732b90..2ccb2f2f0c 100644
--- a/keyboards/durgod/k3x0/k320/base/config.h
+++ b/keyboards/durgod/k3x0/k320/base/config.h
@@ -17,7 +17,3 @@
#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/config.h b/keyboards/durgod/k3x0/k320/config.h
index 25b4c63036..2ea9b37fdf 100644
--- a/keyboards/durgod/k3x0/k320/config.h
+++ b/keyboards/durgod/k3x0/k320/config.h
@@ -19,14 +19,6 @@
#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
diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k3x0/k320/info.json
index cc0da77a3f..0386ef7709 100644
--- a/keyboards/durgod/k3x0/k320/info.json
+++ b/keyboards/durgod/k3x0/k320/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DURGOD Taurus K320",
+ "keyboard_name": "DURGOD Taurus K320 (QMK)",
+ "manufacturer": "Hoksi Technology",
"url": "https://www.durgod.com/page9?product_id=47&_l=en",
"maintainer": "dkjer",
+ "usb": {
+ "vid": "0xD60D",
+ "pid": "0x3200",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c
index 8053da351a..5fa0d5eb4c 100644
--- a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c
+++ b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
[_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,
+ QK_BOOT, 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,
@@ -190,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
[_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,
+ QK_BOOT, 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,
@@ -358,7 +358,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_state_set(1UL<<_WFL | 1UL<<_WSL);
}
break;
- case RESET:
+ case QK_BOOT:
if (record->event.pressed) {
// Flash LEDs to indicate bootloader mode is enabled.
on_all_leds();
diff --git a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c b/keyboards/durgod/k3x0/keymaps/typhon/keymap.c
index afd38392c1..21daf5687a 100644
--- a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c
+++ b/keyboards/durgod/k3x0/keymaps/typhon/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
[_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,
+ QK_BOOT, 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,
@@ -190,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
[_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,
+ QK_BOOT, 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,
@@ -358,7 +358,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_state_set(1UL<<_WFL | 1UL<<_WSL);
}
break;
- case RESET:
+ case QK_BOOT:
if (record->event.pressed) {
// Flash LEDs to indicate bootloader mode is enabled.
on_all_leds();
diff --git a/keyboards/dyz/dyz40/config.h b/keyboards/dyz/dyz40/config.h
index 581f925165..b13ed808a9 100644
--- a/keyboards/dyz/dyz40/config.h
+++ b/keyboards/dyz/dyz40/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER dyz
-#define PRODUCT dyz40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/dyz/dyz40/info.json b/keyboards/dyz/dyz40/info.json
index db525a4707..e63b0d4f10 100644
--- a/keyboards/dyz/dyz40/info.json
+++ b/keyboards/dyz/dyz40/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "dyz40",
+ "manufacturer": "dyz",
"url": "https://github.com/dayatz/mechanical-keyboards/tree/master/dyz40",
"maintainer": "dayatz",
"diode_direction": "COL2ROW",
diff --git a/keyboards/dyz/dyz40/readme.md b/keyboards/dyz/dyz40/readme.md
index f73c4ef46c..537ccdda45 100644
--- a/keyboards/dyz/dyz40/readme.md
+++ b/keyboards/dyz/dyz40/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold the `Esc` key while plugging in the USB cable
- **Physical reset button**: Briefly short the pins under the Enter key
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dyz/dyz60/config.h b/keyboards/dyz/dyz60/config.h
index a40d2de47e..5dc95c63cd 100644
--- a/keyboards/dyz/dyz60/config.h
+++ b/keyboards/dyz/dyz60/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER dyz
-#define PRODUCT dyz60
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/dyz/dyz60/info.json b/keyboards/dyz/dyz60/info.json
index d946f9b97b..2717dbb6a5 100644
--- a/keyboards/dyz/dyz60/info.json
+++ b/keyboards/dyz/dyz60/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "dyz60",
+ "manufacturer": "dyz",
"url": "https://github.com/dayatz/mechanical-keyboards/tree/master/dyz60",
"maintainer": "dayatz",
"diode_direction": "COL2ROW",
diff --git a/keyboards/dyz/dyz60_hs/config.h b/keyboards/dyz/dyz60_hs/config.h
new file mode 100644
index 0000000000..3f67156638
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/config.h
@@ -0,0 +1,30 @@
+/*
+Copyright 2021 dayatz
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/dyz/dyz60_hs/dyz60_hs.c b/keyboards/dyz/dyz60_hs/dyz60_hs.c
new file mode 100644
index 0000000000..c6ec0f20d8
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/dyz60_hs.c
@@ -0,0 +1,16 @@
+/* Copyright 2021 dayatz
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "dyz60_hs.h"
diff --git a/keyboards/dyz/dyz60_hs/dyz60_hs.h b/keyboards/dyz/dyz60_hs/dyz60_hs.h
new file mode 100644
index 0000000000..792f57402f
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/dyz60_hs.h
@@ -0,0 +1,120 @@
+/* Copyright 2021 dayatz
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 _X_ KC_NO
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │45 │06 │07 │08 │09 │0A │0B │0C │0D │ │0C │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴â”2D │ ISO Enter
+ * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤
+ * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘
+ * │40 │41 │42 │46 │4A │4B │4C │4D │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K45, 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, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, K4A, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_ansi( \
+ K00, K01, K02, K03, K04, K05, K45, K06, K07, K08, K09, K0A, K0B, K0C, \
+ 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, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, _X_ }, \
+ { 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, K2C, _X_ }, \
+ { K30, _X_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, _X_ }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, K4A, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K45, 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, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, _X_ }, \
+ { K30, _X_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, K4A, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_tsangan_hhkb( \
+ K00, K01, K02, K03, K04, K05, K45, 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, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K4B, K4C, K4D \
+) { \
+ { 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, K2C, _X_ }, \
+ { K30, _X_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, _X_, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_iso( \
+ K00, K01, K02, K03, K04, K05, K45, K06, K07, K08, K09, K0A, K0B, K0C, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, _X_ }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, _X_ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, _X_ }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, K4A, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_iso_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K45, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { 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, _X_ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, _X_, _X_, K45, K46, _X_, _X_, _X_, K4A, K4B, K4C, K4D } \
+}
diff --git a/keyboards/dyz/dyz60_hs/info.json b/keyboards/dyz/dyz60_hs/info.json
new file mode 100644
index 0000000000..b40b0f0590
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/info.json
@@ -0,0 +1,457 @@
+{
+ "keyboard_name": "dyz60-hs",
+ "manufacturer": "dyz",
+ "url": "https://github.com/dayatz/mechanical-keyboards/tree/master/dyz60_hs",
+ "maintainer": "dayatz",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["F4", "F5", "B3", "B2", "B1", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1" ],
+ "rows": ["E6", "B0", "F0", "F6", "F7"]
+ },
+ "rgblight": {
+ "led_count": 16,
+ "pin": "B7",
+ "hue_steps": 10,
+ "saturation_steps": 10,
+ "brightness_steps": 10,
+ "animations": {
+ "all": true
+ }
+ },
+ "indicators": {
+ "caps_lock": "F1"
+ },
+ "usb": {
+ "vid": "0xD772",
+ "pid": "0x001A",
+ "device_version": "0.0.1"
+ },
+ "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb", "60_iso", "60_iso_split_bs_rshift"],
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"`~", "x":13, "y":0},
+ {"label":"\\|", "x":14, "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"`~", "x":13, "y":0},
+ {"label":"\\|", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_tsangan_hhkb": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"`~", "x":13, "y":0},
+ {"label":"\\|", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_iso_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"`\u00ac", "x":13, "y":0},
+ {"label":"\\|", "x":14, "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/dyz/dyz60_hs/keymaps/default/keymap.c b/keyboards/dyz/dyz60_hs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5e858f21aa
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2021 dayatz
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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,
+ _FN2
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all( /* Base */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, KC_MENU, KC_RCTL
+ ),
+ [_FN] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/dyz/dyz60_hs/keymaps/via/keymap.c b/keyboards/dyz/dyz60_hs/keymaps/via/keymap.c
new file mode 100644
index 0000000000..5e858f21aa
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2021 dayatz
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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,
+ _FN2
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all( /* Base */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, KC_MENU, KC_RCTL
+ ),
+ [_FN] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/dyz/dyz60_hs/keymaps/via/rules.mk b/keyboards/dyz/dyz60_hs/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/dyz/dyz60_hs/readme.md b/keyboards/dyz/dyz60_hs/readme.md
new file mode 100644
index 0000000000..ae55d30d37
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/readme.md
@@ -0,0 +1,29 @@
+# dyz60_hs
+
+![dyz60 pcb](https://i.imgur.com/l9z5KuJh.jpg)
+
+60% layout has flexcut with multiple layout and mounting support.
+
+* Keyboard Maintainer: [dayatz](https://github.com/dayatz)
+* Hardware Supported: dyz60_hs, ATmega32U4
+* Hardware Availability: Local Indonesia GB.
+
+#### Enter Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the Esc key and plug in the keyboard
+* **Physical reset pins**: Briefly short the reset pins on the bottom of Space key
+
+
+#### Flashing
+
+Make example for this keyboard (after setting up your build environment):
+
+ make dyz/dyz60_hs:default
+
+Flashing example for this keyboard:
+
+ make dyz/dyz60_hs: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/dyz/dyz60_hs/rules.mk b/keyboards/dyz/dyz60_hs/rules.mk
new file mode 100644
index 0000000000..dfe72bbfb7
--- /dev/null
+++ b/keyboards/dyz/dyz60_hs/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = no
diff --git a/keyboards/dyz/dyz_tkl/config.h b/keyboards/dyz/dyz_tkl/config.h
index c872680e64..72388d517e 100644
--- a/keyboards/dyz/dyz_tkl/config.h
+++ b/keyboards/dyz/dyz_tkl/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER dyz
-#define PRODUCT dyz_TKL
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/dyz/dyz_tkl/info.json b/keyboards/dyz/dyz_tkl/info.json
index 07a1a7cb7b..7628b43c94 100644
--- a/keyboards/dyz/dyz_tkl/info.json
+++ b/keyboards/dyz/dyz_tkl/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "dyz_TKL",
+ "manufacturer": "dyz",
"url": "https://github.com/dayatz/mechanical-keyboards/tree/master/dyz_tkl",
"maintainer": "dayatz",
"diode_direction": "COL2ROW",
diff --git a/keyboards/dyz/dyz_tkl/readme.md b/keyboards/dyz/dyz_tkl/readme.md
index 2de8105d24..a15eb48e2e 100644
--- a/keyboards/dyz/dyz_tkl/readme.md
+++ b/keyboards/dyz/dyz_tkl/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold the `Esc` key while plugging in the USB cable
- **Physical reset button**: Briefly short the pins under the spacebar key
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dyz/selka40/config.h b/keyboards/dyz/selka40/config.h
index 1871fd2cb6..f62eab5c1b 100644
--- a/keyboards/dyz/selka40/config.h
+++ b/keyboards/dyz/selka40/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER dyz
-#define PRODUCT selka40
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/dyz/selka40/info.json b/keyboards/dyz/selka40/info.json
index 740eb0d5f1..e8fae95b26 100644
--- a/keyboards/dyz/selka40/info.json
+++ b/keyboards/dyz/selka40/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "selka40",
+ "manufacturer": "dyz",
"url": "https://github.com/dayatz/mechanical-keyboards/tree/master/selka40",
"maintainer": "dayatz",
"diode_direction": "COL2ROW",
diff --git a/keyboards/dyz/selka40/readme.md b/keyboards/dyz/selka40/readme.md
index 6232d18a10..2117e248bc 100644
--- a/keyboards/dyz/selka40/readme.md
+++ b/keyboards/dyz/selka40/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold the `Esc` key while plugging in the USB cable
- **Physical reset button**: Briefly press the button on the back of the PCB
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/dyz/synthesis60/config.h b/keyboards/dyz/synthesis60/config.h
index 8b14dd4fe6..61dbd41420 100644
--- a/keyboards/dyz/synthesis60/config.h
+++ b/keyboards/dyz/synthesis60/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER dyz
-#define PRODUCT Synthesis60 v2.1
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/dyz/synthesis60/info.json b/keyboards/dyz/synthesis60/info.json
index c0d9baf560..07f3e9a768 100644
--- a/keyboards/dyz/synthesis60/info.json
+++ b/keyboards/dyz/synthesis60/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "synthesis60",
+ "keyboard_name": "Synthesis60 v2.1",
+ "manufacturer": "dyz",
"url": "https://github.com/dayatz/mechanical-keyboards/tree/master/synthesis60",
"maintainer": "dayatz",
"diode_direction": "COL2ROW",
diff --git a/keyboards/dz60/config.h b/keyboards/dz60/config.h
index 24fd63836d..64ef45437f 100644
--- a/keyboards/dz60/config.h
+++ b/keyboards/dz60/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A // "DZ"
-#define PRODUCT_ID 0x2260
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT DZ60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json
index 9673315168..048d9df2b8 100644
--- a/keyboards/dz60/info.json
+++ b/keyboards/dz60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DZ60",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x2260",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dz60/keymaps/60_ansi/keymap.c b/keyboards/dz60/keymaps/60_ansi/keymap.c
index 9a9e11ac91..b4ba50c034 100644
--- a/keyboards/dz60/keymaps/60_ansi/keymap.c
+++ b/keyboards/dz60/keymaps/60_ansi/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md
index 3a4218a7c2..5943815583 100644
--- a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md
+++ b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md
@@ -17,7 +17,7 @@
```
FN Layer
,-----------------------------------------------------------------------------------------.
-| Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET |
+| Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | QK_BOOT |
|-----------------------------------------------------------------------------------------+
| |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | |
|-----------------------------------------------------------------------------------------+
diff --git a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c
index 0d3b653638..6a7fd7a7cf 100644
--- a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c
+++ b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FN Layer
* ,-----------------------------------------------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET |
+ * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
LAYOUT_directional(
- 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, RESET,
+ 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, QK_BOOT,
______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______,
______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
diff --git a/keyboards/dz60/keymaps/60_plus_arrows/keymap.c b/keyboards/dz60/keymaps/60_plus_arrows/keymap.c
index f38cdb2853..4758c38a64 100644
--- a/keyboards/dz60/keymaps/60_plus_arrows/keymap.c
+++ b/keyboards/dz60/keymaps/60_plus_arrows/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FN Layer
* ,-----------------------------------------------------------------------------------------.
- * | Esc | BL- | BL+ | BL | | | |RESET| | | | | | |
+ * | Esc | BL- | BL+ | BL | | | |QK_BOOT| | | | | | |
* |-----------------------------------------------------------------------------------------+
* | |RBGM | | | | | | | | | | Val+ | Val- |RBGTOG|
* |-----------------------------------------------------------------------------------------+
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
LAYOUT_directional(
- KC_ESC, BL_TOGG, BL_STEP, BL_DEC, BL_INC, ______, ______, RESET, ______, ______, ______, ______, ______, ______, ______,
+ KC_ESC, BL_TOGG, BL_STEP, BL_DEC, BL_INC, ______, ______, QK_BOOT, ______, ______, ______, ______, ______, ______, ______,
______, RGB_MOD, ______, ______, ______, ______, ______, ______, ______, ______, ______, RGB_VAI, RGB_VAD, RGB_TOG,
______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_RCTL, ______,
diff --git a/keyboards/dz60/keymaps/60_tsangan/keymap.c b/keyboards/dz60/keymaps/60_tsangan/keymap.c
index dfbc51dd99..e03123e5c9 100644
--- a/keyboards/dz60/keymaps/60_tsangan/keymap.c
+++ b/keyboards/dz60/keymaps/60_tsangan/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_tsangan(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______,
_______, _______, _______, _______, _______, MO(_CL), _______
diff --git a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c b/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c
index 4c6552675a..863a02e726 100644
--- a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c
+++ b/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_TRNS, KC_DEL,
- 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, RESET,
+ 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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_TRNS, KC_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT),
diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h
index e392109119..e5ead20c12 100644
--- a/keyboards/dz60/keymaps/LEdiodes/config.h
+++ b/keyboards/dz60/keymaps/LEdiodes/config.h
@@ -17,7 +17,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dz60/keymaps/LEdiodes/keymap.c b/keyboards/dz60/keymaps/LEdiodes/keymap.c
index 9fb859dfe1..f7467db390 100644
--- a/keyboards/dz60/keymaps/LEdiodes/keymap.c
+++ b/keyboards/dz60/keymaps/LEdiodes/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------------'
*/
[_L1] = LAYOUT(
- 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_F13, KC_F14, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
_______, KC_WH_U, KC_UP, KC_WH_D, _______, _______,_______, _______, _______, _______, KC_PSCR, _______, _______, _______, \
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_HOME, _______, _______, _______, KC_HOME, _______, _______, \
_______, _______, KC_APP, BL_STEP,_______, KC_END, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_PGUP, _______, \
diff --git a/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c b/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c
index 9a44730b14..763fed6d26 100644
--- a/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c
+++ b/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
* This is the KEYB/System layer.
* Other keymaps call this a NAV layer, but it's more than just NAV-ing the board's layers.
- * This Layer currently handles RGB and puts the board into RESET for flashing.
+ * This Layer currently handles RGB and puts the board into QK_BOOT for flashing.
*
* ~ key resets board to [BASE].
* 1 key toggles [NRMN].
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* BACKSPACE puts board into reset.
*/
[KEYB] = LAYOUT_bonfire(
- TO(BASE), TG(NRMN), TO(GAME), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ TO(BASE), TG(NRMN), TO(GAME), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
diff --git a/keyboards/dz60/keymaps/atlacat/keymap.c b/keyboards/dz60/keymaps/atlacat/keymap.c
index 606698b755..1141a002cb 100644
--- a/keyboards/dz60/keymaps/atlacat/keymap.c
+++ b/keyboards/dz60/keymaps/atlacat/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_SLEP,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET ,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,
_______, _______, BL_DEC , BL_TOGG, BL_INC , BL_STEP, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/dz60/keymaps/billiams/keymap.c b/keyboards/dz60/keymaps/billiams/keymap.c
index b59040d772..b41e2d7508 100644
--- a/keyboards/dz60/keymaps/billiams/keymap.c
+++ b/keyboards/dz60/keymaps/billiams/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | Left| Down| Up |Right| | | Play/Pause |
* |-----------------------------------------------------------------------------------------+
- * | | | | | | | | |Scr- |Scr+ | |PG_UP|RESET|
+ * | | | | | | | | |Scr- |Scr+ | |PG_UP|QK_BOOT|
* |-----------------------------------------------------------------------------------------+
* | | | | | | | HOME|PG_DN| END |
* `-----------------------------------------------------------------------------------------'
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_MUTE, KC__VOLDOWN, KC__VOLUP, KC_MRWD, KC_MFFD,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
- KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, RESET,
+ KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDOWN, KC_END
),
};
diff --git a/keyboards/dz60/keymaps/billiams_layout2/keymap.c b/keyboards/dz60/keymaps/billiams_layout2/keymap.c
index 6f0ae55d14..0ca8916541 100644
--- a/keyboards/dz60/keymaps/billiams_layout2/keymap.c
+++ b/keyboards/dz60/keymaps/billiams_layout2/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | Left| Down| Up |Right| | | Play/Pause |
* |-----------------------------------------------------------------------------------------+
- * | | | | | | | | |Scr- |Scr+ | | | |RESET|
+ * | | | | | | | | |Scr- |Scr+ | | | |QK_BOOT|
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC__VOLDOWN, KC__VOLUP,
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, KC_MUTE, KC_MRWD, KC_MFFD,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, KC_MPLY,
- _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/dz60/keymaps/billiams_layout4/keymap.c b/keyboards/dz60/keymaps/billiams_layout4/keymap.c
index b1c75d9036..cc62b0d62a 100644
--- a/keyboards/dz60/keymaps/billiams_layout4/keymap.c
+++ b/keyboards/dz60/keymaps/billiams_layout4/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | Left| Down| Up |Right| | | Play/Pause |
* |-----------------------------------------------------------------------------------------+
- * | | | | | | | | |Scr- |Scr+ | |PG_UP|RESET|
+ * | | | | | | | | |Scr- |Scr+ | |PG_UP|QK_BOOT|
* |-----------------------------------------------------------------------------------------+
* | | | | | | | HOME|PG_DN| END |
* `-----------------------------------------------------------------------------------------'
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_MUTE, KC__VOLDOWN, KC__VOLUP, KC_MRWD, KC_MFFD,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
- KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, RESET,
+ KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDOWN, KC_END
),
};
diff --git a/keyboards/dz60/keymaps/bingocaller/keymap.c b/keyboards/dz60/keymaps/bingocaller/keymap.c
index c19f673f76..787665af78 100644
--- a/keyboards/dz60/keymaps/bingocaller/keymap.c
+++ b/keyboards/dz60/keymaps/bingocaller/keymap.c
@@ -73,12 +73,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* F1-12
* Del on backspace
* RGB (underglow) controls
- * RESET firmware on backslash
+ * QK_BOOT firmware on backslash
* Screen brightness: Z (decrease), X (increase)
*/
[_FN] = 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_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/dz60/keymaps/boris_burger/keymap.c b/keyboards/dz60/keymaps/boris_burger/keymap.c
index 5dcadf34c1..af9ced3877 100644
--- a/keyboards/dz60/keymaps/boris_burger/keymap.c
+++ b/keyboards/dz60/keymaps/boris_burger/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | BL T| BL M| BL+ | BL- | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
- * | | | | | |RESET| | | | | | | PgUp| |
+ * | | | | | |QK_BOOT| | | | | | | PgUp| |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | Home| PgDn| End |
* `-----------------------------------------------------------------------------------------'
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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 ,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_INC , BL_DEC , _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
};
diff --git a/keyboards/dz60/keymaps/calbatr0ss/keymap.c b/keyboards/dz60/keymaps/calbatr0ss/keymap.c
index 89f4418b1d..7c4921a36c 100644
--- a/keyboards/dz60/keymaps/calbatr0ss/keymap.c
+++ b/keyboards/dz60/keymaps/calbatr0ss/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
/* LAYER 3
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
diff --git a/keyboards/dz60/keymaps/chrisae9/keymap.c b/keyboards/dz60/keymaps/chrisae9/keymap.c
index 5893de6e63..fbf4ec2eb7 100644
--- a/keyboards/dz60/keymaps/chrisae9/keymap.c
+++ b/keyboards/dz60/keymaps/chrisae9/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_HOME, KC_PGDN, KC_END),
LAYOUT_directional(
- KC_PWR, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO, KC_PSCR,
+ KC_PWR, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO, KC_PSCR,
KC_TRNS, KC_PGUP, KC_MS_U, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE,
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY,
KC_TRNS, RGB_RMOD, RGB_MOD, KC_BTN3, KC_BTN4, KC_BTN5, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, RGB_TOG, RGB_SAI, KC_TRNS,
diff --git a/keyboards/dz60/keymaps/coppertop/keymap.c b/keyboards/dz60/keymaps/coppertop/keymap.c
index 8586f920f9..e3895b28de 100644
--- a/keyboards/dz60/keymaps/coppertop/keymap.c
+++ b/keyboards/dz60/keymaps/coppertop/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | / | * | - | = | |Trns |Trns |
* |-----------------------------------------------------------------------------------------+
- * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | RESET |
+ * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns |
* |-----------------------------------------------------------------------------------------+
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MEDIA] = LAYOUT_directional(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______,
- XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, QK_BOOT,
_______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c b/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c
index 4d2ca279c2..55cba1098b 100644
--- a/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c
+++ b/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FN2 Layer (Media)
* ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | RESET |
+ * | | | | | | | | | | | | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| |Mute | Vol- | Vol+ | |
* |-----------------------------------------------------------------------------------------+
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
LAYOUT_directional(
- KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,
_______, _______, _______, DEBUG, _______, _______, _______, _______, _______, _______, KC_SCROLLLOCK, KC_PAUSE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE,
diff --git a/keyboards/dz60/keymaps/crd_ansi/keymap.c b/keyboards/dz60/keymaps/crd_ansi/keymap.c
index 5d7b24d187..cc2864d700 100644
--- a/keyboards/dz60/keymaps/crd_ansi/keymap.c
+++ b/keyboards/dz60/keymaps/crd_ansi/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
+ _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dz60/keymaps/crd_tsangan/keymap.c b/keyboards/dz60/keymaps/crd_tsangan/keymap.c
index 320de07a17..7703a139c3 100644
--- a/keyboards/dz60/keymaps/crd_tsangan/keymap.c
+++ b/keyboards/dz60/keymaps/crd_tsangan/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGLT, KC_RADN, KC_RCRT
),
[_FL] = LAYOUT_60_tsangan_hhkb(
- _______, 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,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, KC_DEL,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/dz60/keymaps/danbee/keymap.c b/keyboards/dz60/keymaps/danbee/keymap.c
index 814be29298..b2ec2f72df 100644
--- a/keyboards/dz60/keymaps/danbee/keymap.c
+++ b/keyboards/dz60/keymaps/danbee/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PWR, 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_EJCT,
_______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, RGB_M_T, RGB_MOD, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_SW,RGB_M_G, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______,
- _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_K, _______, RESET , _______, _______, _______, _______, _______, _______,
+ _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_K, _______, QK_BOOT, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/dz60/keymaps/doogle999/keymap.c b/keyboards/dz60/keymaps/doogle999/keymap.c
index deea641f70..787fc8890c 100644
--- a/keyboards/dz60/keymaps/doogle999/keymap.c
+++ b/keyboards/dz60/keymaps/doogle999/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_directional(
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_CALC,
- RESET, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_VOLD, KC_VOLU, KC_MUTE,
+ QK_BOOT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_VOLD, KC_VOLU, KC_MUTE,
______, ______, ______, ______, ______, ______, ______, ______, ______, BL_DEC, BL_INC, BL_TOGG, KC_APP,
KC_LSFT, ______, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_TOG, KC_RSFT, KC_PGUP, KC_INSERT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, TO(2), ______, KC_HOME, KC_PGDOWN, KC_END
diff --git a/keyboards/dz60/keymaps/edulpn/keymap.c b/keyboards/dz60/keymaps/edulpn/keymap.c
index 74d7ca4f21..f9eef56733 100644
--- a/keyboards/dz60/keymaps/edulpn/keymap.c
+++ b/keyboards/dz60/keymaps/edulpn/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_60_tsangan_hhkb(
- 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_TRNS, RESET,
+ 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_TRNS, QK_BOOT,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_DEL,
KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RIGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
diff --git a/keyboards/dz60/keymaps/eric/keymap.c b/keyboards/dz60/keymaps/eric/keymap.c
index a384de480c..571dd25baf 100644
--- a/keyboards/dz60/keymaps/eric/keymap.c
+++ b/keyboards/dz60/keymaps/eric/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT(
- RESET, KC_A, 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,
+ QK_BOOT, KC_A, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/dz60/keymaps/f3d3/keymap.c b/keyboards/dz60/keymaps/f3d3/keymap.c
index 1e92aabc18..ac75f7487a 100644
--- a/keyboards/dz60/keymaps/f3d3/keymap.c
+++ b/keyboards/dz60/keymaps/f3d3/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------.
* | PWR | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | Del |
* |-----------------------------------------------------------------------------------------+
-* | |RGBT |RGBM |Hue+ |Hue- |Sat+ |Sat- |Val+ |Val- | | | | | RESET |
+* | |RGBT |RGBM |Hue+ |Hue- |Sat+ |Sat- |Val+ |Val- | | | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_all(
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
diff --git a/keyboards/dz60/keymaps/frogger/keymap.c b/keyboards/dz60/keymaps/frogger/keymap.c
index 75e805cd91..f9f22e4ad4 100644
--- a/keyboards/dz60/keymaps/frogger/keymap.c
+++ b/keyboards/dz60/keymaps/frogger/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 2
* ,-----------------------------------------------------------------------------------------.
- * | RESET | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET |
+ * | QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
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, ______, RESET,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ______, QK_BOOT,
______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______,
diff --git a/keyboards/dz60/keymaps/gk64/keymap.c b/keyboards/dz60/keymaps/gk64/keymap.c
index 9de1ec11c5..0d732f3784 100644
--- a/keyboards/dz60/keymaps/gk64/keymap.c
+++ b/keyboards/dz60/keymaps/gk64/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/dz60/keymaps/hailbreno/keymap.c b/keyboards/dz60/keymaps/hailbreno/keymap.c
index 130927e126..813bf00035 100644
--- a/keyboards/dz60/keymaps/hailbreno/keymap.c
+++ b/keyboards/dz60/keymaps/hailbreno/keymap.c
@@ -187,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/dz60/keymaps/iso_de_andys8/keymap.c b/keyboards/dz60/keymaps/iso_de_andys8/keymap.c
index 3039914c6f..dfd5e75b54 100644
--- a/keyboards/dz60/keymaps/iso_de_andys8/keymap.c
+++ b/keyboards/dz60/keymaps/iso_de_andys8/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_DEL, KC_NO, KC_NO,
KC_LSFT, BL_TOGG, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
diff --git a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c b/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c
index fb1bcd8dca..76a93b50be 100644
--- a/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c
+++ b/keyboards/dz60/keymaps/iso_de_arrow_0x544d/keymap.c
@@ -73,11 +73,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
- /* Funtion Layer 2: Media Controls left hand, F keys, Page up/down, Home/end, Program/RESET
+ /* Funtion Layer 2: Media Controls left hand, F keys, Page up/down, Home/end, Program/QK_BOOT
* ,-----------------------------------------------------------------------------------------.
* | °^ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
* |-----------------------------------------------------------------------------------------|
- * | | |Vol_D|Vol_U| | | | | | |RESET| | | |
+ * | | |Vol_D|Vol_U| | | | | | |QK_BOOT| | | |
* |---------------------------------------------------------------------------------- |
* | Trans |MPrv |MPlay| MNxt| | | | | | | | | | |
* |-----------------------------------------------------------------------------------------|
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN2] = LAYOUT_60_iso_arrow_one_bksp(
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_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO,
KC_TRNS, KC_MRWD, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/dz60/keymaps/iso_de_root/keymap.c b/keyboards/dz60/keymaps/iso_de_root/keymap.c
index e0d781f9a3..c7e78bf876 100644
--- a/keyboards/dz60/keymaps/iso_de_root/keymap.c
+++ b/keyboards/dz60/keymaps/iso_de_root/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FN1] = LAYOUT_60_iso_5x1u_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(NUM), XXXXXXX, XXXXXXX, KC_INS, KC_DEL, KC_NLCK, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_RSFT, XXXXXXX,
_______, _______, _______, KC_LCTL, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
diff --git a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
index a9e811f9a4..a93f0ab4ca 100644
--- a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
+++ b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c
@@ -4,12 +4,12 @@
// thanks to atlacat, hailbreno, itsaferbie and weeheavy...
// and special thanks to AGausmann and drashna for the layer-activated RGB underglow
-// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/
+// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/
// https://github.com/AGausmann/qmk_firmware/blob/agausmann-v3.x/keyboards/nyquist/keymaps/agausmann/keymap.c
#include QMK_KEYBOARD_H
-/*
+/*
* Each layer gets a name for readability.
* The underscores don't mean anything - you can
* have a layer called STUFF or any other name.
@@ -23,8 +23,8 @@
#define NL 2 // Numpad Layer
#define RL 3 // RGB Layer
-/*
-* Let's give an easier name to the RGB modes
+/*
+* Let's give an easier name to the RGB modes
* and assign the ones we want to the different layer
* these will then be used by the function below
*
@@ -49,10 +49,10 @@
//
#define RGB_RL_MODE rgblight_mode_noeeprom(22) //rgb mode for RL layer
#define RGB_RL_LIGHT rgblight_sethsv_noeeprom_red() //rgb light for RL layer
-
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+
/* Keymap BL: Base Layer (Default Layer)
*
* ,-----------------------------------------------------------.
@@ -135,12 +135,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[RL] = LAYOUT_60_iso_split(
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14
- TG(RL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ TG(RL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______,
_______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, _______, _______, RGB_SNA, RGB_KNI, RGB_GRA, RGB_XMS, _______, _______, _______,
_______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, MO(FL), _______, _______, _______, TO(BL), _______),
-
+
};
@@ -175,25 +175,25 @@ void matrix_scan_user(void) {
#ifdef RGBLIGHT_ENABLE
static uint8_t old_layer = 1;
- uint8_t new_layer = biton32(layer_state);
+ uint8_t new_layer = get_highest_layer(layer_state);
if (old_layer != new_layer) {
switch (new_layer) {
case BL:
RGB_BL_MODE;
- RGB_BL_LIGHT;
+ RGB_BL_LIGHT;
break;
case FL:
RGB_FL_MODE;
- RGB_FL_LIGHT;
+ RGB_FL_LIGHT;
break;
case NL:
- RGB_NL_MODE;
- RGB_NL_LIGHT;
+ RGB_NL_MODE;
+ RGB_NL_LIGHT;
break;
case RL:
- RGB_RL_MODE;
- RGB_RL_LIGHT;
+ RGB_RL_MODE;
+ RGB_RL_LIGHT;
break;
}
diff --git a/keyboards/dz60/keymaps/iso_uk/keymap.c b/keyboards/dz60/keymaps/iso_uk/keymap.c
index b725907ec8..49acefd92d 100644
--- a/keyboards/dz60/keymaps/iso_uk/keymap.c
+++ b/keyboards/dz60/keymaps/iso_uk/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONTROL] = LAYOUT_60_iso(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- TG(_CN), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ TG(_CN), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/dz60/keymaps/iso_vim_arrow/keymap.c b/keyboards/dz60/keymaps/iso_vim_arrow/keymap.c
index 4dad9e19f5..3a1da6a9d7 100644
--- a/keyboards/dz60/keymaps/iso_vim_arrow/keymap.c
+++ b/keyboards/dz60/keymaps/iso_vim_arrow/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_5x1u(
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_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_DEL, KC_NO, KC_NO,
KC_LSFT, BL_TOGG, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END
diff --git a/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c b/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c
index 8c34b606ae..fadc7296c5 100644
--- a/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c
+++ b/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/dz60/keymaps/itsaferbie/keymap.c b/keyboards/dz60/keymaps/itsaferbie/keymap.c
index 51345a2bcd..500d7a6221 100644
--- a/keyboards/dz60/keymaps/itsaferbie/keymap.c
+++ b/keyboards/dz60/keymaps/itsaferbie/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_60_hhkb(
______, 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, ______, RESET,
+ KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, QK_BOOT,
______, 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, ______, ______,
______, ______, ______, ______, ______),
diff --git a/keyboards/dz60/keymaps/jarred/keymap.c b/keyboards/dz60/keymaps/jarred/keymap.c
index 2ef6794934..32ad434f6f 100644
--- a/keyboards/dz60/keymaps/jarred/keymap.c
+++ b/keyboards/dz60/keymaps/jarred/keymap.c
@@ -17,5 +17,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,RGB_TOG,RGB_MOD,_______,KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP ,KC_END ,KC_INS ,_______,_______,_______,
_______,RGB_HUI,RGB_HUD,KC_LSFT,KC_LCTL,KC_ENT ,_______,KC_LEFT,KC_DOWN,KC_RGHT,KC_DEL ,KC_DEL , _______,
_______,XXXXXXX,RGB_SAD,RGB_SAI,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______,_______,XXXXXXX,
- _______,RGB_VAD,RGB_VAI, _______,_______,_______, _______,_______,XXXXXXX, RESET,_______)
+ _______,RGB_VAD,RGB_VAI, _______,_______,_______, _______,_______,XXXXXXX, QK_BOOT,_______)
};
diff --git a/keyboards/dz60/keymaps/jkbone/keymap.c b/keyboards/dz60/keymaps/jkbone/keymap.c
index 1efcbe38f4..e51625d0b4 100644
--- a/keyboards/dz60/keymaps/jkbone/keymap.c
+++ b/keyboards/dz60/keymaps/jkbone/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_LALT, KC_LCTL, ____, ____, ____, ____, ____, ____
),
[_FL] = LAYOUT_60_iso_5x1u(
- 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_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
____, ____, DF(_BL), DF(_ML), ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ____, ____, ____, ____,
____, RGB_000, RGB_WAN, RGB_OAZ, RGB_VAZ, ____, ____, ____, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, ____,
diff --git a/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c b/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c
index 05ceb27e5e..f7daafbfce 100644
--- a/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c
+++ b/keyboards/dz60/keymaps/joooosh_hhkb/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FN1 LAYER
*
* ,---------------------------------------------------------------------------------------------------------------------
- * | KC_GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | RESET |
+ * | KC_GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | QK_BOOT |
* |---------------------------------------------------------------------------------------------------------------------+
* | RGB_TOG | _ | _ | _ | _ | _ | _ | _ | PSCR | SLCK | PAUS | UP | _ | CLR |
* |---------------------------------------------------------------------------------------------------------------------+
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------------------------------------------------------------------------------------------------'
*/
LAYOUT_60_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, QK_BOOT,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR,
KC_CAPS, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_RETURN,
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
diff --git a/keyboards/dz60/keymaps/kifinnsson/keymap.c b/keyboards/dz60/keymaps/kifinnsson/keymap.c
index 7d88b6dbb4..49067a2ab5 100644
--- a/keyboards/dz60/keymaps/kifinnsson/keymap.c
+++ b/keyboards/dz60/keymaps/kifinnsson/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, KC_TAB, KC_LSFT, KC_LCTL, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_CAPS, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,,
- _______, _______, XXXXXXX, KC_ENT, KC_ENT, KC_ENT, _______, _______, _______, _______, RESET),
+ _______, _______, XXXXXXX, KC_ENT, KC_ENT, KC_ENT, _______, _______, _______, _______, QK_BOOT),
LAYOUT_all(
KI_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KI_BKSP,
diff --git a/keyboards/dz60/keymaps/krusli/keymap.c b/keyboards/dz60/keymaps/krusli/keymap.c
index 59162675dd..e31f9a9f30 100644
--- a/keyboards/dz60/keymaps/krusli/keymap.c
+++ b/keyboards/dz60/keymaps/krusli/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_INS, KC_DEL,
- KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
+ KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/dz60/keymaps/lint_kid/keymap.c b/keyboards/dz60/keymaps/lint_kid/keymap.c
index 5134836a26..b16c988b5f 100644
--- a/keyboards/dz60/keymaps/lint_kid/keymap.c
+++ b/keyboards/dz60/keymaps/lint_kid/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// layer 3 FN
LAYOUT_directional(
- 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, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
KC_TILD, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
TG(1), BL_TOGG, BL_STEP, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/dz60/keymaps/macos_64/keymap.c b/keyboards/dz60/keymaps/macos_64/keymap.c
index fd19bfe14e..32626b0ce3 100644
--- a/keyboards/dz60/keymaps/macos_64/keymap.c
+++ b/keyboards/dz60/keymaps/macos_64/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ,-----------------------------------------------------------------------------------------.
* | ` ~ | BR- | BR+ | | | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Delete |
* |-----------------------------------------------------------------------------------------+
- * | | | | Up | | | | | 0 | 1 | 2 | 3 | | RESET |
+ * | | | | Up | | | | | 0 | 1 | 2 | 3 | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | | | Left| Down|Right| | | | | 4 | 5 | 6 | |
* |-----------------------------------------------------------------------------------------+
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
LAYOUT_all(
KC_GRV , KC_SCROLLLOCK, KC_PAUSE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/dz60/keymaps/macos_arrow/keymap.c b/keyboards/dz60/keymaps/macos_arrow/keymap.c
index 0675a7954a..89feb20045 100644
--- a/keyboards/dz60/keymaps/macos_arrow/keymap.c
+++ b/keyboards/dz60/keymaps/macos_arrow/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ML] = LAYOUT_all(
KC_MEDIA_EJECT, BR_DOWN, BR_UP, BL_TOGG, RGB_TOG, _______, _______, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_INC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE, BL_DEC, RGB_MODE_FORWARD),
diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c
index f22bd882e9..03ba92fe92 100644
--- a/keyboards/dz60/keymaps/marianas/customLogic.c
+++ b/keyboards/dz60/keymaps/marianas/customLogic.c
@@ -11,7 +11,7 @@ static int16_t fnTimer = 0;
layer_state_t layer_state_set_user(layer_state_t state)
{
- switch (biton32(state))
+ switch (get_highest_layer(state))
{
case QWERTY:
rgblight_mode(9);
diff --git a/keyboards/dz60/keymaps/marianas/keymap.c b/keyboards/dz60/keymaps/marianas/keymap.c
index a0451b5435..01addc4fe9 100644
--- a/keyboards/dz60/keymaps/marianas/keymap.c
+++ b/keyboards/dz60/keymaps/marianas/keymap.c
@@ -46,5 +46,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPSLOCK, KC_MPRV, KC_MPLY, KC_MNXT, LWIN(KC_R), ____, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_BRK, ____,
____, KC_VOLD, KC_MUTE, KC_VOLU, ____, ____, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, ____,
____, RGB_HUI, RGB_SAI, RGB_SAD, ____, ____, KC_END, QWRTY, GAME, NAVS, ____, ____,
- ____, ____, ____, _________________, ____, KC_HYPR, KC_MEH, RESET)
+ ____, ____, ____, _________________, ____, KC_HYPR, KC_MEH, QK_BOOT)
};
diff --git a/keyboards/dz60/keymaps/mechmerlin/keymap.c b/keyboards/dz60/keymaps/mechmerlin/keymap.c
index f7ad17fd8c..eaaee21d86 100644
--- a/keyboards/dz60/keymaps/mechmerlin/keymap.c
+++ b/keyboards/dz60/keymaps/mechmerlin/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
[_CL] = LAYOUT_60_b_ansi(
- RESET, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/dz60/keymaps/model42/keymap.c b/keyboards/dz60/keymaps/model42/keymap.c
index 66604c6afe..9c760f2f52 100644
--- a/keyboards/dz60/keymaps/model42/keymap.c
+++ b/keyboards/dz60/keymaps/model42/keymap.c
@@ -15,7 +15,7 @@ LAYOUT_directional(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
// layer 1
LAYOUT_directional(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/dz60/keymaps/mpstewart/keymap.c b/keyboards/dz60/keymaps/mpstewart/keymap.c
index 6e8ccb1934..3a84f51830 100644
--- a/keyboards/dz60/keymaps/mpstewart/keymap.c
+++ b/keyboards/dz60/keymaps/mpstewart/keymap.c
@@ -54,12 +54,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
* │ctrl│lalt│lgui│ S P A C E │rgui│ralt│menu│ctrl│ │40 │41 │43 │46 │4a │4b │4d │4e │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- * XXX = RESET (dfu mode)
+ * XXX = QK_BOOT (dfu mode)
*/
[_FN] = LAYOUT_60_ansi_split_bs_rshift(
// _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E
/*0_*/ KC_SLEP, 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,
-/*1_*/ KC_CAPS, KC_BRID, KC_BRIU, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_NO, KC_NO,
+/*1_*/ KC_CAPS, KC_BRID, KC_BRIU, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_NO, KC_NO,
/*2_*/ KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_RGHT, KC_RETURN,
/*3_*/ KC_LSPO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_DOWN, KC_RSPC, KC_TRNS,
/*4_*/ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_APP, AG_TOGG
diff --git a/keyboards/dz60/keymaps/muralisc/keymap.c b/keyboards/dz60/keymaps/muralisc/keymap.c
new file mode 100644
index 0000000000..2cd9df89a5
--- /dev/null
+++ b/keyboards/dz60/keymaps/muralisc/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2022 Murali Suresh
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Copied from keyboards/dz60/keymaps/60_ansi/keymap.c
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,------------------------------------------------------------------------------------------.
+ * | ` ~ | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc |
+ * |------------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
+ * |------------------------------------------------------------------------------------------+
+ * | Ctl_T(C) | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |------------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift |
+ * |------------------------------------------------------------------------------------------+
+ * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL |
+ * `------------------------------------------------------------------------------------------'
+ */
+
+ LAYOUT_60_ansi(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ MO(1) , KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL),
+
+ /* Qwerty
+ * ,------------------------------------------------------------------------------------------.
+ * | Esc | F1 | F2 | F3 | F4 | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc |
+ * |------------------------------------------------------------------------------------------+
+ * | Tab | Q | W | End | R | T | Y | U | I | O | PsCr| SlCk| Paus| \ |
+ * |------------------------------------------------------------------------------------------+
+ * | Ctl_T(C) | Home| S | D | Pgdn| G | Left| Down| Up | Rght| Home| PgUp| Enter |
+ * |------------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | PgUp| N | M | , | End | PgDn| RShift |
+ * |------------------------------------------------------------------------------------------+
+ * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL |
+ * `------------------------------------------------------------------------------------------'
+ */
+
+
+ LAYOUT_60_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_END , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_HOME, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ LAYOUT_60_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/dz60/keymaps/muzfuz/keymap.c b/keyboards/dz60/keymaps/muzfuz/keymap.c
index 848569f61e..695f012fad 100644
--- a/keyboards/dz60/keymaps/muzfuz/keymap.c
+++ b/keyboards/dz60/keymaps/muzfuz/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/dz60/keymaps/n0velty/keymap.c b/keyboards/dz60/keymaps/n0velty/keymap.c
index 1b9c73eb95..b66fc13398 100644
--- a/keyboards/dz60/keymaps/n0velty/keymap.c
+++ b/keyboards/dz60/keymaps/n0velty/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_MSEL, KC_MUTE, _______, _______),
[_F2] = LAYOUT_true_hhkb( //function Layer 2
- RESET, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, _______, _______, _______, _______, _______, KC_SLEP, KC_PWR, \
+ QK_BOOT, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, _______, _______, _______, _______, _______, KC_SLEP, KC_PWR, \
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_ACL2, KC_BTN1, KC_MS_U, KC_BTN2, _______, \
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_ACL1, KC_MS_L, KC_MS_R, _______, \
BL_TOGG, XXXXXXX, BL_STEP, BL_INC, BL_DEC, _______, _______, _______, _______, _______, KC_ACL0, KC_MS_D, _______, _______, \
diff --git a/keyboards/dz60/keymaps/niclake/keymap.c b/keyboards/dz60/keymaps/niclake/keymap.c
index 6191e18c0b..7c1b0b7d7c 100644
--- a/keyboards/dz60/keymaps/niclake/keymap.c
+++ b/keyboards/dz60/keymaps/niclake/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
ADJUST, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/dz60/keymaps/olivierko/keymap.c b/keyboards/dz60/keymaps/olivierko/keymap.c
index 38d12d4d4b..8d3d4eb3d2 100644
--- a/keyboards/dz60/keymaps/olivierko/keymap.c
+++ b/keyboards/dz60/keymaps/olivierko/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CL] = LAYOUT_olivierko(
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, 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, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
diff --git a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso/keymap.c
index b5cc920b56..e71bac47de 100644
--- a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c
+++ b/keyboards/dz60/keymaps/olligranlund_iso/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 3 FN with RGB and macros
LAYOUT_60_iso_split_space_bs_rshift(
- KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, RESET,
+ KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c
index 76fdedbbd6..6aede3f13f 100644
--- a/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c
+++ b/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 3 FN with RGB and macros
LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
- KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, RESET,
+ KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
diff --git a/keyboards/dz60/keymaps/ottodokto/keymap.c b/keyboards/dz60/keymaps/ottodokto/keymap.c
index 347c6a0497..bccf718de6 100644
--- a/keyboards/dz60/keymaps/ottodokto/keymap.c
+++ b/keyboards/dz60/keymaps/ottodokto/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_func] = LAYOUT_60_tsangan_hhkb(
- RGB_TOG, 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, \
+ RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, \
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, RGB_SPI, RGB_HUD, RGB_VAI, RGB_HUI, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, RGB_SPD, RGB_SAD, RGB_VAD, RGB_SAI, KC_BRID, KC_BRIU, _______, \
_______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, VLK_TOG, _______, _______, _______, _______, \
diff --git a/keyboards/dz60/keymaps/pevecyan/keymap.c b/keyboards/dz60/keymaps/pevecyan/keymap.c
index 8ae4899ac8..bfde76b07b 100644
--- a/keyboards/dz60/keymaps/pevecyan/keymap.c
+++ b/keyboards/dz60/keymaps/pevecyan/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[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, \
- _______, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,_______,RESET, \
+ _______, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,_______,QK_BOOT, \
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
_______,_______,_______,_______,BL_DEC, BL_TOGG,BL_INC, BL_STEP,_______,_______,_______,_______, _______,_______, \
_______,_______, _______,_______, _______, _______, _______,_______,_______,_______,_______ \
diff --git a/keyboards/dz60/keymaps/pok3r/keymap.c b/keyboards/dz60/keymaps/pok3r/keymap.c
index 614cb0069c..bd627a9bbb 100644
--- a/keyboards/dz60/keymaps/pok3r/keymap.c
+++ b/keyboards/dz60/keymaps/pok3r/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPRV, KC_MPLY, KC_MNXT, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
KC_CAPS, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______,
_______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/dz60/keymaps/split_space_arrows/keymap.c b/keyboards/dz60/keymaps/split_space_arrows/keymap.c
index 6dbfaa9375..361c5b60a4 100644
--- a/keyboards/dz60/keymaps/split_space_arrows/keymap.c
+++ b/keyboards/dz60/keymaps/split_space_arrows/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 4: RGB lighting controls and keyboard config, reset */
LAYOUT_b_4_10(
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, TO(5),
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD,
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSHIFT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_SAD, RGB_VAD, RGB_SAI
diff --git a/keyboards/dz60/keymaps/spotpuff/keymap.c b/keyboards/dz60/keymaps/spotpuff/keymap.c
index edbe635e39..6a921b8307 100644
--- a/keyboards/dz60/keymaps/spotpuff/keymap.c
+++ b/keyboards/dz60/keymaps/spotpuff/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------.
* | | | | | | |NumLk| | / | * | - | = | |Trns |Trns |
* |-----------------------------------------------------------------------------------------+
- * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | RESET |
+ * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | Trns | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns |
* |-----------------------------------------------------------------------------------------+
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MEDIA] = LAYOUT_directional(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______,
- XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, QK_BOOT,
_______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/dz60/keymaps/stephengrier/keymap.c b/keyboards/dz60/keymaps/stephengrier/keymap.c
index f6bbe78932..b55915463d 100644
--- a/keyboards/dz60/keymaps/stephengrier/keymap.c
+++ b/keyboards/dz60/keymaps/stephengrier/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------.
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
* |-----------------------------------------------------------------------------------------+
- * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | RESET |
+ * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | | BL T| BL M| BL+ | BL- | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_directional(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- ______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, RESET,
+ ______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, QK_BOOT,
______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______
diff --git a/keyboards/dz60/keymaps/tailcall/keymap.c b/keyboards/dz60/keymaps/tailcall/keymap.c
index 3835b1f646..cc71a604c7 100644
--- a/keyboards/dz60/keymaps/tailcall/keymap.c
+++ b/keyboards/dz60/keymaps/tailcall/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_SLEP,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET ,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, BL_DEC , BL_TOGG, BL_INC , BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/dz60/keymaps/thomasviaud/keymap.c b/keyboards/dz60/keymaps/thomasviaud/keymap.c
index 02fdb5a4a0..44b106858f 100644
--- a/keyboards/dz60/keymaps/thomasviaud/keymap.c
+++ b/keyboards/dz60/keymaps/thomasviaud/keymap.c
@@ -14,5 +14,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,
- _______, _______, _______, RESET, _______, _______, _______, _______),
+ _______, _______, _______, QK_BOOT, _______, _______, _______, _______),
}; \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c b/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c
index 6efb567133..e355499704 100644
--- a/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c
+++ b/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB lighting controls and keyboard config, reset */
LAYOUT_b_4_10(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_L0_RGB, XXXXXXX, XXXXXXX, TO(_None),
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD,
EN_CTRL_SHORTCUTS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_LAYER_RGB, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSHIFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_VAD, RGB_SAI
diff --git a/keyboards/dz60/keymaps/weeheavy/keymap.c b/keyboards/dz60/keymaps/weeheavy/keymap.c
index cb9697e107..f5df06ae73 100644
--- a/keyboards/dz60/keymaps/weeheavy/keymap.c
+++ b/keyboards/dz60/keymaps/weeheavy/keymap.c
@@ -29,8 +29,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Setup layer - Reset an additional "b" button
[L2] = LAYOUT_all(
- RESET, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- KC_B, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, RESET,
+ QK_BOOT, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ KC_B, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, QK_BOOT,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____),
diff --git a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c b/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c
index 38e4519b33..8138eaa5bb 100644
--- a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c
+++ b/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c
@@ -20,8 +20,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Utility layer - RGB and multimedia control, reset and additional "b" button
[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_B, RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_R, ____, ____, KC_PSCR, ____, KC_PAUS, KC_BRID, KC_BRIU, ____, RESET,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ____, ____,
+ KC_B, RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_R, ____, ____, KC_PSCR, ____, KC_PAUS, KC_BRID, KC_BRIU, ____, QK_BOOT,
____, RGB_HUI, RGB_HUD, KC_DEL, ____, ____, ____, KC_INS, KC_HOME, KC_PGUP, ____, ____, ____,
____, ____, RGB_SAI, RGB_SAD, ____, ____, ____, ____, ____, KC_END, KC_PGDN, KC_MPLY, ____, KC_MUTE, KC_MUTE,
____, RGB_VAI, RGB_VAD, ____, ____, ____, ____, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT),
diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
index 9a482686d8..aa54698e78 100644
--- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUN] = 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,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY)),
@@ -73,7 +73,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
static uint32_t last_state = 0;
if(last_state != state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _CMD:
user_led_on();
break;
@@ -85,5 +85,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
return state;
}
-
-
diff --git a/keyboards/dz60/keymaps/zepol_layout/keymap.c b/keyboards/dz60/keymaps/zepol_layout/keymap.c
index 4caf83b67e..cd4ff8cc81 100644
--- a/keyboards/dz60/keymaps/zepol_layout/keymap.c
+++ b/keyboards/dz60/keymaps/zepol_layout/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT(
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/dztech/bocc/config.h b/keyboards/dztech/bocc/config.h
index 95362b01fc..d9f0224ae8 100644
--- a/keyboards/dztech/bocc/config.h
+++ b/keyboards/dztech/bocc/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A // "DZ"
-#define PRODUCT_ID 0x1010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZtech
-#define PRODUCT BOCC
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, F0 }
#define MATRIX_COL_PINS { B5, B6, C6, C7, F7, F6, F5, F4, F1, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/bocc/info.json b/keyboards/dztech/bocc/info.json
index e06f83f277..aca74e0405 100644
--- a/keyboards/dztech/bocc/info.json
+++ b/keyboards/dztech/bocc/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BOCC",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x1010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"label":"~", "x":2.5, "y":0}, {"label":"!", "x":3.5, "y":0}, {"label":"@", "x":4.5, "y":0}, {"label":"#", "x":5.5, "y":0}, {"label":"$", "x":6.5, "y":0}, {"label":"%", "x":7.5, "y":0}, {"label":"^", "x":8.5, "y":0}, {"label":"&", "x":9.5, "y":0}, {"label":"*", "x":10.5, "y":0}, {"label":"(", "x":11.5, "y":0}, {"label":")", "x":12.5, "y":0}, {"label":"_", "x":13.5, "y":0}, {"label":"+", "x":14.5, "y":0}, {"label":"Backspace", "x":15.5, "y":0}, {"x":16.5, "y":0}, {"label":"Home", "x":17.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"label":"Tab", "x":2.5, "y":1, "w":1.5}, {"label":"Q", "x":4, "y":1}, {"label":"W", "x":5, "y":1}, {"label":"E", "x":6, "y":1}, {"label":"R", "x":7, "y":1}, {"label":"T", "x":8, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15, "y":1}, {"label":"|", "x":16, "y":1, "w":1.5}, {"label":"Page Up", "x":17.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"label":"Caps Lock", "x":2.5, "y":2, "w":1.75}, {"label":"A", "x":4.25, "y":2}, {"label":"S", "x":5.25, "y":2}, {"label":"D", "x":6.25, "y":2}, {"label":"F", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"H", "x":9.25, "y":2}, {"label":"J", "x":10.25, "y":2}, {"label":"K", "x":11.25, "y":2}, {"label":"L", "x":12.25, "y":2}, {"label":":", "x":13.25, "y":2}, {"label":"\"", "x":14.25, "y":2}, {"label":"Enter", "x":15.25, "y":2, "w":2.25}, {"label":"Page Down", "x":17.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":1.25}, {"label":"Shift", "x":3.75, "y":3}, {"label":"Z", "x":4.75, "y":3}, {"label":"X", "x":5.75, "y":3}, {"label":"C", "x":6.75, "y":3}, {"label":"V", "x":7.75, "y":3}, {"label":"B", "x":8.75, "y":3}, {"label":"N", "x":9.75, "y":3}, {"label":"M", "x":10.75, "y":3}, {"label":"<", "x":11.75, "y":3}, {"label":">", "x":12.75, "y":3}, {"label":"?", "x":13.75, "y":3}, {"label":"Shift", "x":14.75, "y":3, "w":1.75}, {"label":"\u2191", "x":16.5, "y":3}, {"label":"End", "x":17.5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"label":"Ctrl", "x":2.5, "y":4, "w":1.25}, {"label":"Win", "x":3.75, "y":4, "w":1.25}, {"label":"Alt", "x":5, "y":4, "w":1.25}, {"x":6.25, "y":4, "w":6.25}, {"label":"Alt", "x":12.5, "y":4, "w":1.25}, {"label":"Fn", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.5, "y":4}, {"label":"\u2193", "x":16.5, "y":4}, {"label":"\u2192", "x":17.5, "y":4}]
diff --git a/keyboards/dztech/duo_s/config.h b/keyboards/dztech/duo_s/config.h
index a108fa665e..d08e1547be 100644
--- a/keyboards/dztech/duo_s/config.h
+++ b/keyboards/dztech/duo_s/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0X1012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DUO-S
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { A15, B3, B4, B5, B11 }
#define MATRIX_COL_PINS { B12, B13, B14, A8, B9, C13, C14, C15, A1, A2, A3, A4, A5, A6, A7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/dztech/duo_s/info.json b/keyboards/dztech/duo_s/info.json
index 6adac04ae6..dc1ccd2788 100644
--- a/keyboards/dztech/duo_s/info.json
+++ b/keyboards/dztech/duo_s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "duo_s",
+ "keyboard_name": "DUO-S",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x1012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/dztech/duo_s/readme.md b/keyboards/dztech/duo_s/readme.md
index 7346663854..8bf5fa73c1 100644
--- a/keyboards/dztech/duo_s/readme.md
+++ b/keyboards/dztech/duo_s/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: hold the button on the back of the PCB during plug in cable.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/dztech/dz60rgb/info.json b/keyboards/dztech/dz60rgb/info.json
index 5cbce57165..d5179aa09f 100644
--- a/keyboards/dztech/dz60rgb/info.json
+++ b/keyboards/dztech/dz60rgb/info.json
@@ -1,7 +1,11 @@
{
"keyboard_name": "DZ60RGB",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "dztech",
+ "usb": {
+ "vid": "0x445A"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c b/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c
index d88bc1092f..59f2df42c0 100644
--- a/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MEDIA] = LAYOUT(
TO(3), 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_POWER,
- _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RGB] = 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_DEL,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
index fc836b5ebb..e3250acef1 100644
--- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
@@ -7,8 +7,6 @@
#define TAP_HOLD_CAPS_DELAY 0
#define USB_POLLING_INTERVAL_MS 1
-#define QMK_KEYS_PER_SCAN 4
-
// some speed shit
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c b/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c
index cf067bdeb2..713251af85 100644
--- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c
@@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
KC_GRAVE, 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_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
_______, _______, _______, KC_SPC, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
),
[2] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
index c2b14f5284..ca64eeb69b 100644
--- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
@@ -51,8 +51,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#define QMK_KEYS_PER_SCAN 4
-
// #define RGB_MATRIX_KEYRELEASES
// some speed shit
diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
index a12358c8d9..287496e17f 100644
--- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c
@@ -96,7 +96,7 @@ void rgb_matrix_indicators_user(void)
uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state && rgb_matrix_config.enable) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _NAV:
if (this_led & (1 << USB_LED_NUM_LOCK)) {
rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
diff --git a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c
index 84cc76b112..3a4aad1b6c 100644
--- a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c
@@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
--Layer 1--
_____________________________________________________________________________________
|[TO(2)] [F1]-[F2]-[F3]-[F4]-[F5]-[F6]-[F7]-[F8]-[F9]-[F10]-[F11]-[F12] [ â–¼ ]|
- |[ â–¼ ] [~]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[PS]-[â–¼]-[â–¼]-[â–¼]-[play/pause]-[â–¼] [ RESET ]|
+ |[ â–¼ ] [~]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[PS]-[â–¼]-[â–¼]-[â–¼]-[play/pause]-[â–¼] [ QK_BOOT ]|
|[ â–¼ ] [â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[PU]-[â–¼]-[â–¼] [ â–¼ ]|
|[ Shift ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[PD]-[▼] [vol↑] [ ▼ ]|
|[ctrl][ â–¼ ][alt] [_________________â–¼________________] [â–¼][ â–¼ ][â†prvs][vol↓][next→]|
@@ -44,7 +44,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
--Layer 2--
_________________________________________________________________________________________________
|[ â–¼ ] [â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼] [ â–¼ ]|
- |[ â–¼ ] [RGBTgg]-[â–¼]-[Hue+]-[Hue-]-[Sat+]-[Sat-]-[Brt+]-[Brt-]-[RGBmd]-[â–¼]-[â–¼]-[â–¼] [ RESET ]|
+ |[ â–¼ ] [RGBTgg]-[â–¼]-[Hue+]-[Hue-]-[Sat+]-[Sat-]-[Brt+]-[Brt-]-[RGBmd]-[â–¼]-[â–¼]-[â–¼] [ QK_BOOT ]|
|[ â–¼ ] [â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼] [ â–¼ ]|
|[ â–¼ ] [â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼]-[â–¼] [ â–¼ ][ â–¼ ]|
|[ â–¼ ][ â–¼ ][â–¼] [_______________TO(0)________________] [â–¼][ â–¼ ] [ â–¼ ][ â–¼ ][ â–¼ ]|
@@ -64,14 +64,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
TO(2), 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_GRV, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_MPLY, _______, RESET,
+ _______, KC_GRV, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_MPLY, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, KC_VOLU, KC_MUTE,
KC_LCTL, _______, KC_LALT, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, TO(0), _______, _______, _______, _______, _______
diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
index a7c6360568..3fe99fd61b 100644
--- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT),
[_LAYER1] = LAYOUT( /* FN */
TO(3), 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,
- _______, _______, _______, _______, _______, _______, _______, _______, LGUI(LSFT(KC_5)), KC_SLCK, KC_PAUS, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, LGUI(LSFT(KC_5)), KC_SLCK, KC_PAUS, _______, _______, QK_BOOT,
_______, KC_VOLU, KC_VOLD, KC_MUTE, KC_EJCT, _______, KC_ASTR, KC_PSLS, KC_HOME, KC_PGUP, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, MO(5), KC_MPLY, _______,
_______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_MSTP, KC_MFFD),
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(5) , KC_LEFT, KC_DOWN, KC_RIGHT),
[_LAYER5] = LAYOUT( /* FN */
_______, KC_BRID, KC_BRIU, LCTL(KC_UP), LSFT(KC_F12), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDOWN, KC_VOLU, KC_MUTE,
_______, _______, _______, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT),
@@ -62,7 +62,7 @@ void rgb_matrix_indicators_user(void)
uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state && rgb_matrix_config.enable) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LAYER1:
rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
@@ -78,7 +78,7 @@ void rgb_matrix_indicators_user(void)
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
}
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LAYER3:
if (this_led & (1 << USB_LED_NUM_LOCK)) {
rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c
index 98802270a6..8ca92d1012 100644
--- a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c
@@ -27,14 +27,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[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_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_HOME, KC_END, RESET,
+ _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_HOME, KC_END, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, EEP_RST,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE,
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
),
[2] = LAYOUT(
RGB_MOD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET,
+ _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, QK_BOOT,
_______, RGB_SAD, RGB_HUD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, _______,
_______, _______, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SPD
diff --git a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
index c13fcc1d35..eeffe66f40 100644
--- a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FNM, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
[_FNM] = LAYOUT( /* FN */
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EEP_RST,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT)
@@ -37,7 +37,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
void rgb_matrix_indicators_user(void)
{
if (!g_suspend_state) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _QWERTY:
rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break;
@@ -46,7 +46,7 @@ void rgb_matrix_indicators_user(void)
}
}
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _FNM:
rgb_matrix_set_color(0, 0x00, 0xFF, 0x00);
rgb_matrix_set_color(1, 0x00, 0x00, 0x00);
diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c
index 38c5959374..b6644ed14b 100644
--- a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RGB] = 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_DEL,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, RGB_PCY, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_000, _______,
_______, _______, _______, RGB_RST, _______, _______, KC_PWR, AMDREC, AMDREP
diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
index cfeba003bd..2fdb3e5f4c 100644
--- a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
@@ -46,8 +46,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#define QMK_KEYS_PER_SCAN 4
-
// #define RGB_MATRIX_KEYRELEASES
#define NO_ACTION_ONESHOT
diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c b/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c
index 523fd05555..1de0d2632d 100644
--- a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c
+++ b/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c
@@ -10,12 +10,12 @@ 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, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[_LAYER1] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EEP_RST,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
[_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL,
- KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, RESET,
+ KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EEP_RST,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h
index 7bdad00144..b150e4a162 100644
--- a/keyboards/dztech/dz60rgb/v1/config.h
+++ b/keyboards/dztech/dz60rgb/v1/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1120
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS { A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb/v1/info.json b/keyboards/dztech/dz60rgb/v1/info.json
new file mode 100644
index 0000000000..914ae82cd9
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/v1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1120",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h
index 9426a7be99..3c6d07121b 100644
--- a/keyboards/dztech/dz60rgb/v2/config.h
+++ b/keyboards/dztech/dz60rgb/v2/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1121
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb/v2/info.json b/keyboards/dztech/dz60rgb/v2/info.json
new file mode 100644
index 0000000000..172ca21102
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/v2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1121",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h
index 7e5dfd6703..2079390a3b 100644
--- a/keyboards/dztech/dz60rgb/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb/v2_1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1121
-#define DEVICE_VER 0x0003
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -39,7 +32,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb/v2_1/info.json b/keyboards/dztech/dz60rgb/v2_1/info.json
new file mode 100644
index 0000000000..7b2073bd4a
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/v2_1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1121",
+ "device_version": "2.1.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_ansi/info.json b/keyboards/dztech/dz60rgb_ansi/info.json
index 8431f17708..31c04c9599 100644
--- a/keyboards/dztech/dz60rgb_ansi/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "dz60rgb_ansi",
+ "keyboard_name": "DZ60RGB_ANSI",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "dztech",
+ "usb": {
+ "vid": "0x445A"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c
index 1d2144d7f4..e4387eacfd 100644
--- a/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c
+++ b/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOVE_LINUX] = LAYOUT_60_ansi(\
KC_GRV, VD_1, VD_2, VD_3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
- KC_BACK, WM_VD1, WM_UH, WM_VD2, RESET, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
+ KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, \
_______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, \
_______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______),
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONFIG] = LAYOUT_60_ansi(\
_______, 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, \
- _______, NK_ON, NK_OFF, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
_______, GE_SWAP, GE_NORM, DEBUG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, \
_______, LAG_SWP, LAG_NRM, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c
index 63282e8b6a..2d1d971f78 100644
--- a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c
+++ b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c
@@ -106,12 +106,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* F1-12
* Del on backspace
* Lots of RGB controls
- * RESET firmware on backslash
+ * QK_BOOT firmware on backslash
* Screen brightness: Z (decrease), X (increase)
*/
[_FN] = LAYOUT_60_ansi(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, RESET,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, QK_BOOT,
_______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SW, RGB_M_SN, RGB_M_K, _______, _______, _______,
_______, KC_BRID, KC_BRIU, _______, _______, _______, _______, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c
new file mode 100644
index 0000000000..20eaed8247
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c
@@ -0,0 +1,100 @@
+/* Copyright 2022 Murali Suresh
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_60_ansi(
+ KC_GRAVE, 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, LT(2,KC_BSLS),
+ CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_60_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
+ KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT,
+ _______, _______, _______, TO(3) , _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_60_ansi(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_60_ansi(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, LT(4,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,
+ CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ MO(4) , KC_LGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL
+ ),
+ [4] = LAYOUT_60_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ _______, KC_HOME, _______, _______, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_PGUP, NK_TOGG, _______, _______, _______, _______, _______,
+ _______, _______, _______, TO(0) , _______, _______, _______, _______
+ ),
+};
+
+void highlight_layer3(void){
+ // F9-F12
+ rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(3, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(2, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(1, 0xFF, 0xFF, 0xFF);
+ // F1-F4
+ rgb_matrix_set_color(9, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(10, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(11, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(12, 0xFF, 0xFF, 0xFF);
+ // Reset
+ rgb_matrix_set_color(14, 0x99, 0x99, 0xFF);
+ // Pause + Slck + PrScr
+ rgb_matrix_set_color(15, 0xFF, 0x99, 0x00);
+ rgb_matrix_set_color(16, 0xFF, 0x99, 0x00);
+ rgb_matrix_set_color(17, 0xFF, 0x99, 0x00);
+ // Pgup, Home
+ rgb_matrix_set_color(39, 0x00, 0x99, 0x00);
+ rgb_matrix_set_color(24, 0x00, 0x99, 0x00);
+ // hjkl
+ rgb_matrix_set_color(31, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(32, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(33, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(34, 0x00, 0x00, 0xFF);
+ // PgDwn, End
+ rgb_matrix_set_color(36, 0x00, 0x99, 0x00);
+ rgb_matrix_set_color(46, 0x00, 0x99, 0x00);
+}
+
+void rgb_matrix_indicators_user(void) {
+ uint8_t this_led = host_keyboard_leds();
+ if (!g_suspend_state) {
+ switch (get_highest_layer(layer_state)) {
+ case 3:
+ highlight_layer3(); break;
+ default:
+ break;
+ }
+ }
+ if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
+ rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c
new file mode 100644
index 0000000000..aae1173988
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c
@@ -0,0 +1,168 @@
+/* Copyright 2022 Murali Suresh
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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] = {
+ /* Qwerty
+ * ,------------------------------------------------------------------------------------------.
+ * | ` ~ | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc |
+ * |------------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
+ * |------------------------------------------------------------------------------------------+
+ * | Ctl_T(C) | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |------------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift |
+ * |------------------------------------------------------------------------------------------+
+ * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL |
+ * `------------------------------------------------------------------------------------------'
+ */
+ [0] = LAYOUT_60_ansi(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, LT(1,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,
+ CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ MO(1) , KC_LGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL
+ ),
+ /* Layer1
+ * ,------------------------------------------------------------------------------------------.
+ * | ` ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
+ * |------------------------------------------------------------------------------------------+
+ * | | | | | | | Y | | I | | PScr| Slck| Paus| Reset |
+ * |------------------------------------------------------------------------------------------+
+ * | | | | | | | Left| Down| Up | Rght| Home| Pgup| |
+ * |------------------------------------------------------------------------------------------+
+ * | Shift | V- | V+ | C | | | | | | End | PgDn| |
+ * |------------------------------------------------------------------------------------------+
+ * | | | | TO3 | | | | |
+ * `------------------------------------------------------------------------------------------'
+ */
+ [1] = LAYOUT_60_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ _______, KC_HOME, _______, _______, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_PGUP, NK_TOGG, _______, _______, _______, _______, _______,
+ _______, _______, _______, TO(3) , _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_60_ansi(
+ _______, 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,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_60_ansi(
+ _______, 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_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, TO(0),
+ _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
+ _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, KC_P1, KC_P2, KC_P3, _______, KC_UP,
+ _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+};
+
+void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
+ rgb_matrix_set_color( i, red, green, blue );
+ }
+ }
+}
+
+void highlight_layer1(void){
+ // F9-F12
+ rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(3, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(2, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(1, 0xFF, 0xFF, 0xFF);
+ // F1-F4
+ rgb_matrix_set_color(9, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(10, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(11, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(12, 0xFF, 0xFF, 0xFF);
+ // Reset
+ rgb_matrix_set_color(14, 0x99, 0x99, 0xFF);
+ // Pause + Slck + PrScr
+ rgb_matrix_set_color(15, 0xFF, 0x99, 0x00);
+ rgb_matrix_set_color(16, 0xFF, 0x99, 0x00);
+ rgb_matrix_set_color(17, 0xFF, 0x99, 0x00);
+ // Pgup, Home
+ rgb_matrix_set_color(39, 0x00, 0x99, 0x00);
+ rgb_matrix_set_color(24, 0x00, 0x99, 0x00);
+ // hjkl
+ rgb_matrix_set_color(31, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(32, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(33, 0x00, 0x00, 0xFF);
+ rgb_matrix_set_color(34, 0x00, 0x00, 0xFF);
+ // PgDwn, End
+ rgb_matrix_set_color(36, 0x00, 0x99, 0x00);
+ rgb_matrix_set_color(46, 0x00, 0x99, 0x00);
+}
+
+void highlight_layer2(void){
+ // Mode
+ rgb_matrix_set_color(18, 0xFF, 0xFF, 0xFF);
+ // Value
+ rgb_matrix_set_color(19, 0x4C, 0x00, 0x99);
+ rgb_matrix_set_color(20, 0x4C, 0x00, 0x99);
+ // Sat
+ rgb_matrix_set_color(21, 0xFF, 0xFF, 0xFF);
+ rgb_matrix_set_color(22, 0xFF, 0xFF, 0xFF);
+ // Hue
+ rgb_matrix_set_color(23, 0x99, 0x99, 0x00);
+ rgb_matrix_set_color(24, 0x99, 0x99, 0x00);
+ // Toggle
+ rgb_matrix_set_color(26, 0xFF, 0xFF, 0xFF);
+ // Speed
+ rgb_matrix_set_color(31, 0xFF, 0x99, 0x00);
+ rgb_matrix_set_color(32, 0xFF, 0x99, 0x00);
+}
+
+void highlight_layer3(void) {
+ int ins_key_block[9] = {25, 24, 23, 38, 37, 36, 50, 49, 48};
+ for(int i = 0; i < 9; i++) {
+ rgb_matrix_set_color(ins_key_block[i], 0x00, 0x99, 0x00);
+ }
+ int num_key_block[9] = {20, 19, 18, 33, 32, 31, 45, 44, 43};
+ for(int i = 0; i < 9; i++) {
+ rgb_matrix_set_color(num_key_block[i], 0x00, 0x09, 0x09);
+ }
+ int easy_arrow_keys[4] = {41, 55, 54, 53};
+ for(int i = 0; i < 4; i++) {
+ rgb_matrix_set_color(easy_arrow_keys[i], 0x09, 0x00, 0x09);
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ uint8_t this_led = host_keyboard_leds();
+ if (!g_suspend_state) {
+ switch (get_highest_layer(layer_state)) {
+ case 1:
+ highlight_layer1(); break;
+ case 2:
+ highlight_layer2(); break;
+ case 3:
+ /* rgb_matrix_layer_helper(0x03, 0x03, 0x00); */
+ highlight_layer3();
+ break;
+ default:
+ break;
+ }
+ }
+ if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
+ rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
+ }
+
+}
diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/readme.md b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/readme.md
new file mode 100644
index 0000000000..905a21e9c8
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/readme.md
@@ -0,0 +1,26 @@
+### ansi vim
+
+Keymap for dz60rgb terminal users
+
+### Philosophy
+
+Touch typing largely relies on muscle memory and hence
+maintaining a uniform position of keys across devices helps a lot.
+
+The below keymap attempts to maintain a uniform keymap across Linux and Mac.
+
+Avoiding the use of `KC_GESC` as the intention is to use the same layer for mac and linux.
+`KC_GESC` causes `` CMD+` `` to be send which has a default mapping
+
+Layer: 1
+
+Using `A` for `Home`
+Using `E` for `End`
+Using `F` for `PgDN`
+Using `B` for `PgUP`
+
+Layer 3:
+
+Dedicated Num keys block and `Ins, Home, PgUp` block.
+
+Dedicated Layer for arrow keys and Num keys and `Ins`, `Home` and `PgUp`.
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h
index ccfe91b66b..9b31f27f2f 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1220
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS { A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/info.json b/keyboards/dztech/dz60rgb_ansi/v1/info.json
new file mode 100644
index 0000000000..6fcbd0806f
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/v1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1220",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h
index 865ac2ab21..92fcd17c88 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1221
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/info.json b/keyboards/dztech/dz60rgb_ansi/v2/info.json
new file mode 100644
index 0000000000..6d2ac4fbab
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/v2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1221",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
index 64e2a40bda..7ec226c30b 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1221
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -39,7 +32,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
new file mode 100644
index 0000000000..f2afc157ed
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1221",
+ "device_version": "2.1.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_wkl/info.json b/keyboards/dztech/dz60rgb_wkl/info.json
index 304c571f22..e5d0b7b962 100644
--- a/keyboards/dztech/dz60rgb_wkl/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "dz60rgb_wkl",
+ "keyboard_name": "DZ60RGB_WKL",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "dztech",
+ "usb": {
+ "vid": "0x445A"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [
diff --git a/keyboards/dztech/dz60rgb_wkl/keymaps/hhkb/keymap.c b/keyboards/dztech/dz60rgb_wkl/keymaps/hhkb/keymap.c
index c5cdfa2326..8fe1c06792 100644
--- a/keyboards/dztech/dz60rgb_wkl/keymaps/hhkb/keymap.c
+++ b/keyboards/dztech/dz60rgb_wkl/keymaps/hhkb/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT_60_tsangan_hhkb(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h
index 9af78167ad..d7d8c3a0a1 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1320
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_WKL
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS { A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/info.json b/keyboards/dztech/dz60rgb_wkl/v1/info.json
new file mode 100644
index 0000000000..767be04f31
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_wkl/v1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1320",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h
index 140d74fee0..a4416e806c 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1321
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_WKL
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -23,7 +16,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/info.json b/keyboards/dztech/dz60rgb_wkl/v2/info.json
new file mode 100644
index 0000000000..ee69be3b5a
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_wkl/v2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1321",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
index 3ab221391e..3803b4834f 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1321
-#define DEVICE_VER 0x0003
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ60RGB_WKL
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -39,7 +32,6 @@
*/
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
new file mode 100644
index 0000000000..3b2b23e989
--- /dev/null
+++ b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1321",
+ "device_version": "2.1.0"
+ }
+}
diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h
index b50c15810e..11f623c1bd 100644
--- a/keyboards/dztech/dz64rgb/config.h
+++ b/keyboards/dztech/dz64rgb/config.h
@@ -16,17 +16,10 @@
#pragma once
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1013
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ64RGB
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json
index 8e602bd7c0..c119e5cc4d 100644
--- a/keyboards/dztech/dz64rgb/info.json
+++ b/keyboards/dztech/dz64rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DZ64RGB",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x1013",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/dztech/dz64rgb/readme.md b/keyboards/dztech/dz64rgb/readme.md
index 132a1710d7..cf1ff7b110 100644
--- a/keyboards/dztech/dz64rgb/readme.md
+++ b/keyboards/dztech/dz64rgb/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/dztech/dz65rgb/info.json b/keyboards/dztech/dz65rgb/info.json
index 4a97f4fd82..32171cd74a 100644
--- a/keyboards/dztech/dz65rgb/info.json
+++ b/keyboards/dztech/dz65rgb/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "dz65rgb",
+ "keyboard_name": "DZ65RGB",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "dztech",
+ "usb": {
+ "vid": "0x445A"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c b/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c
index f3d3cbf9a4..2dd25c170c 100644
--- a/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_65_ansi(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_PGUP,
LCTL_T(KC_CAPS), RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, KC_PGDN,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
index 8bd6069107..b85b582b39 100644
--- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c
@@ -223,7 +223,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_CONFIG] = LAYOUT_65_ansi(
TO(_MAIN), 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_ACL2,
- KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, DEBUG, EEP_RST, KC_NO, KC_ACL1,
+ KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, DEBUG, EEP_RST, KC_NO, KC_ACL1,
KC_NO, UC_RMOD, UC_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0,
KC_NO, MAGIC_TOGGLE_NKRO, MAGIC_UNHOST_NKRO, MAGIC_HOST_NKRO, 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, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO
@@ -238,5 +238,5 @@ void rgb_matrix_indicators_user(void) {
}
// Show Selected Layer
- rgb_matrix_set_color(layers_leds_map[biton32(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
-} \ No newline at end of file
+ rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
+}
diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c b/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c
index 6afa734cd6..b0ab0165f4 100644
--- a/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FNM] = LAYOUT_65_ansi(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_MUTE, KC_VOLU, \
- _______, RGB_TOG, RGB_MOD, RGB_HUI ,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, KC_VOLD, \
+ _______, RGB_TOG, RGB_MOD, RGB_HUI ,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, KC_VOLD, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AG_TOGG, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R \
diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
index c313f467e3..2ebbddcef7 100644
--- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c
@@ -1,20 +1,20 @@
#include QMK_KEYBOARD_H
/**************** SOME GLOBALS *********************/
-
+
bool onMac = false;
bool isLeader = false;
bool isBlinking = false;
bool isRecording = false;
bool isPlaying = false;
-const float led_dim_ratio = 0.50;
-static uint16_t blink_cycle_timer,
- blink_fade_in_timer,
- blink_fade_out_timer,
+const float led_dim_ratio = 0.50;
+static uint16_t blink_cycle_timer,
+ blink_fade_in_timer,
+ blink_fade_out_timer,
macro_one_play_timer,
macro_two_play_timer,
macro_play_blink_timer = 2000;
-static uint8_t fade_in_step_counter,
+static uint8_t fade_in_step_counter,
fade_out_step_counter,
blink_hsv_value;
@@ -26,13 +26,13 @@ Function to set color with hsv arguments
- "val_ratio" is used to adjust brightness ratio
*/
void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) {
- const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
+ const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s;
const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio;
HSV hsv_in = {h, s, v};
RGB rgb_out = hsv_to_rgb(hsv_in);
rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b);
-}
+}
void reset_blink_cycle(void) {
blink_cycle_timer = timer_read();
@@ -110,31 +110,31 @@ const layers_leds_map[] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_65_ansi(
- 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_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_LEAD, 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_DEL,
+ 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_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_LEAD, 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_DEL,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_MAC] = LAYOUT_65_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_FN] = LAYOUT_65_ansi(
- DYN_REC_STOP, 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_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
- KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
- KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
+ DYN_REC_STOP, 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_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
+ KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
+ KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD
),
-};
+};
//**************** MATRIX SCANS *********************//
-void rgb_matrix_indicators_user(void) {
+void rgb_matrix_indicators_user(void) {
#ifdef RGB_MATRIX_ENABLE
@@ -144,7 +144,7 @@ void rgb_matrix_indicators_user(void) {
/* CapsLock LED indicator */
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE
- }
+ }
/* Current layer LED indicator */
rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE
@@ -155,7 +155,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG
} else {
rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG
- }
+ }
/* Blinking LED indicator when recording Dynamic Macro */
if (isRecording && isBlinking) {
@@ -174,7 +174,7 @@ void rgb_matrix_indicators_user(void) {
}
}
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _FN:
/* Dynamic Macro LED indicator */
if (isRecording) {
@@ -188,12 +188,12 @@ void rgb_matrix_indicators_user(void) {
/* Layer LED indicators */
rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */
rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */
- break;
+ break;
}
#endif /* RGB_MATRIX */
}
-
+
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool pressed = record->event.pressed;
if (pressed) {
@@ -202,12 +202,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
onMac = true;
break;
case TO(_MAIN):
- onMac = false;
+ onMac = false;
break;
}
}
return true;
-}
+}
//**************** LEADER *********************//
@@ -244,7 +244,7 @@ const uint8_t french_accent_index[3] = {
[_ACUTE] = 2
};
-/*
+/*
This represent unicode decimal values
Each index will be mapped to numpad keycode to out put the correct sequence
All codes in this array should be of size 3
@@ -272,8 +272,8 @@ const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/
}
},{
{
- 140, // î
- 206 // ÃŽ
+ 140, // î
+ 206 // ÃŽ
}
},{
{
@@ -306,7 +306,7 @@ This is designed and work on an English language keyboard setting on both Window
=> accept french_letter and french_accent enum's as argument
*/
void send_french_accent(uint8_t letter, uint8_t accent) {
-
+
bool isCaps;
uint8_t decimal_unicode_in;
uint8_t decimal_unicode_size = 3;
@@ -330,7 +330,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
};
/*
- Function to tap the correct keycodes in sequence for the
+ Function to tap the correct keycodes in sequence for the
"Windows Alt Code" requested, aka Decimal Unicodes
*/
void tap_win_alt_code(void) {
@@ -341,7 +341,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
tap_code(numpad_key_map[decimal_unicode_out[i]]);
}
}
-
+
isCaps = IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? true : false;
if (onMac) {
@@ -372,7 +372,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
/*Couple functions used to output the same macro on two different sequences*/
-/* (|) */
+/* (|) */
void ldrkey_send_paranthesis_wrap_ini(void) {
SEND_STRING("()" SS_TAP(X_LEFT));
}
@@ -382,7 +382,7 @@ void ldrkey_send_paranthesis_wrap_word(void) {
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")");
}
-/* (selection) */
+/* (selection) */
void ldrkey_send_paranthesis_wrap_selection(void) {
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT));
}
@@ -419,9 +419,9 @@ void ldrkey_send_curlybrace_wrap_selection(void) {
LEADER_EXTERNS();
-void matrix_scan_user(void)
+void matrix_scan_user(void)
{
- LEADER_DICTIONARY()
+ LEADER_DICTIONARY()
{
leading = false;
leader_end();
@@ -476,49 +476,49 @@ void matrix_scan_user(void)
tap_code(KC_CAPS);
}
/* ± => LdrKey > = > - */
- SEQ_TWO_KEYS(KC_EQL, KC_MINS) {
- onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT));
+ SEQ_TWO_KEYS(KC_EQL, KC_MINS) {
+ onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT));
}
/* ≤ => LdrKey > - > = */
- SEQ_TWO_KEYS(KC_MINS, KC_EQL) {
- onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT));
+ SEQ_TWO_KEYS(KC_MINS, KC_EQL) {
+ onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT));
}
/* ≥ => LdrKey > = > = */
- SEQ_TWO_KEYS(KC_EQL, KC_EQL) {
- onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT));
+ SEQ_TWO_KEYS(KC_EQL, KC_EQL) {
+ onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT));
}
/* <= => LdrKey > , > , */
- SEQ_TWO_KEYS(KC_COMM, KC_COMM) {
- SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT));
+ SEQ_TWO_KEYS(KC_COMM, KC_COMM) {
+ SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT));
}
/* => => LdrKey > . > . */
- SEQ_TWO_KEYS(KC_DOT, KC_DOT) {
- SEND_STRING("=>");
+ SEQ_TWO_KEYS(KC_DOT, KC_DOT) {
+ SEND_STRING("=>");
}
/* ", " => LdrKey > " " */
- SEQ_ONE_KEY(KC_SPC) {
- SEND_STRING(", ");
+ SEQ_ONE_KEY(KC_SPC) {
+ SEND_STRING(", ");
}
/* ". " => LdrKey > " " > " " */
- SEQ_TWO_KEYS(KC_SPC, KC_SPC) {
- SEND_STRING(". ");
+ SEQ_TWO_KEYS(KC_SPC, KC_SPC) {
+ SEND_STRING(". ");
}
/* Backward delete current word (on cursor) */
- SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) {
- onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
+ SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) {
+ onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
}
/* Previous word delete */
- SEQ_ONE_KEY(KC_BSPC) {
- onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
+ SEQ_ONE_KEY(KC_BSPC) {
+ onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
}
/* Forward delete current word (on cursor) */
- SEQ_TWO_KEYS(KC_DEL, KC_DEL) {
+ SEQ_TWO_KEYS(KC_DEL, KC_DEL) {
- onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
+ onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
}
/* Next word delete */
- SEQ_ONE_KEY(KC_DEL) {
- onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
+ SEQ_ONE_KEY(KC_DEL) {
+ onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
}
/* ` => LdrKey > Escape */
SEQ_ONE_KEY(KC_GESC) {
@@ -548,7 +548,7 @@ void matrix_scan_user(void)
SEQ_ONE_KEY(KC_Q) {
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4)));
}
- /* " => LdrKey > ' */
+ /* " => LdrKey > ' */
SEQ_ONE_KEY(KC_QUOT) {
SEND_STRING("\"");
}
@@ -657,48 +657,48 @@ void matrix_scan_user(void)
ldrkey_send_curlybrace_wrap_selection();
}
/* Select everything on this line before cursor => LdrKey > Left */
- SEQ_ONE_KEY(KC_LEFT) {
+ SEQ_ONE_KEY(KC_LEFT) {
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME)));
}
/* Select everything on this line after cursor => LdrKey > Right */
- SEQ_ONE_KEY(KC_RIGHT) {
+ SEQ_ONE_KEY(KC_RIGHT) {
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END)));
}
/* Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */
- SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) {
- onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END)));
+ SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) {
+ onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END)));
}
/* Select everything on this line => LdrKey > Right > Left */
- SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) {
- onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
+ SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) {
+ onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
}
/* Select 1x Page Up on the page before the cursor => LdrKey > Up */
- SEQ_ONE_KEY(KC_UP) {
+ SEQ_ONE_KEY(KC_UP) {
SEND_STRING(SS_LSFT(SS_TAP(X_PGUP)));
}
/* Select 1x Page Down on the page after the cursor => LdrKey > Down */
- SEQ_ONE_KEY(KC_DOWN) {
- SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));
+ SEQ_ONE_KEY(KC_DOWN) {
+ SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));
}
/* Select everything on the page before the cursor => LdrKey > Up > Up */
- SEQ_TWO_KEYS(KC_UP, KC_UP) {
+ SEQ_TWO_KEYS(KC_UP, KC_UP) {
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME))));
}
/* Select everything on the page after the cursor => LdrKey > Down > Down */
- SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) {
+ SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) {
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END))));
}
/* HELPER => spit out the url of the layout description page on github */
- SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) {
+ SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) {
SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz");
}
/* google.ca => LdrKey > G > G */
- SEQ_TWO_KEYS(KC_G, KC_G) {
- SEND_STRING("https://google.ca" SS_TAP(X_ENT));
+ SEQ_TWO_KEYS(KC_G, KC_G) {
+ SEND_STRING("https://google.ca" SS_TAP(X_ENT));
}
/* @gmail => LdrKey > M > L > T */
- SEQ_THREE_KEYS(KC_M, KC_L, KC_T) {
- SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com");
+ SEQ_THREE_KEYS(KC_M, KC_L, KC_T) {
+ SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com");
}
/* Show Desktop => LdrKey > D */
SEQ_ONE_KEY(KC_D) {
diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c b/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c
index b166a5629d..4980bad134 100644
--- a/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, MO(_KB), XXXXXXX, KC_RCTL, KC_MPRV, KC_MPLY, KC_MNXT
),
[_KB] = LAYOUT_65_ansi(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX,
XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, _BASEEF, _KITTEF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX,
KC_LSFT, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX,
diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
index 586e5765aa..25842ac186 100644
--- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
+++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
@@ -47,8 +47,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#define QMK_KEYS_PER_SCAN 4
-
// #define RGB_MATRIX_KEYRELEASES
// some speed shit
diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
index 00915a9b4f..0c7bfbbb48 100644
--- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c
@@ -91,7 +91,7 @@ void rgb_matrix_indicators_user(void)
uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state && rgb_matrix_config.enable) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _NAV:
if (IS_LED_ON(this_led, USB_LED_NUM_LOCK)) {
rgb_matrix_set_color(17, 0xFF, 0x00, 0x00);
diff --git a/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c b/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c
index 277323987c..2e24c370f1 100644
--- a/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c
+++ b/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_65_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_SLCK, KC_PAUS, RESET, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_SLCK, KC_PAUS, QK_BOOT, _______,
_______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______,
KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, _______,
_______, _______, _______, KC_MPLY, _______, _______, _______, KC_HOME, KC_VOLD, KC_END
diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h b/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h
new file mode 100644
index 0000000000..2d4559fadd
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h
@@ -0,0 +1,43 @@
+// Copyright 2021 Scott Bennett (@SBennett13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define NO_MUSIC_MODE
+#define FORCE_NKRO
+
+// I don't use a bunch of layers
+#define LAYER_STATE_8BIT
+
+// Disable the RGB Light (underglow) stuff
+#undef RBGLIGHT_ANIMATIONS
+#undef RBGLIGHT_EFFECT_BREATHING
+#undef RBGLIGHT_EFFECT_RAINBOW_MOOD
+#undef RBGLIGHT_EFFECT_RAINBOW_SWIRL
+#undef RBGLIGHT_EFFECT_SNAKE
+#undef RBGLIGHT_EFFECT_KNIGHT
+#undef RBGLIGHT_EFFECT_CHRISTMAS
+#undef RBGLIGHT_EFFECT_STATIC_GRADIENT
+#undef RBGLIGHT_EFFECT_RGB_TEST
+#undef RBGLIGHT_EFFECT_ALTERNATING
+#undef RBGLIGHT_EFFECT_TWINKLE
+
+// No Cherry MX Lock switch
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+// No oneshot (Active until another key hit)
+#define NO_ACTION_ONESHOT
+
+// Remove some RGB
+#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+#undef ENABLE_RGB_MATRIX_BREATHING
+#undef ENABLE_RGB_MATRIX_BAND_VAL
+#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
+#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+#undef ENABLE_RGB_MATRIX_RAINDROPS
+#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c b/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c
new file mode 100644
index 0000000000..511193e2b6
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c
@@ -0,0 +1,20 @@
+// Copyright 2021 Scott Bennett (@SBennett13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_65_ansi(
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP,
+ CTL_T(KC_CAPS), RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
+ )
+};
diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md b/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md
new file mode 100644
index 0000000000..e5535e9ffc
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md
@@ -0,0 +1,50 @@
+# sbennett13 DZ65RGB v2 layout
+
+Copyright 2022 Scott Bennett scottbennett027@gmail @SBennett13
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+```text
+ Keymap Default Layer
+ ,-----------------------------------------------------------------------------.
+ |Esc ~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backsp|Home|
+ |-----------------------------------------------------------------------------|
+ |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |PgUp|
+ |-----------------------------------------------------------------------------|
+ |FN | A | S | D | F | G | H | J | K | L | ; | ' |Return |PgDn|
+ |-----------------------------------------------------------------------------|
+ |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | Up | End|
+ |-----------------------------------------------------------------------------|
+ |Ctrl |Win |Alt | Space |Alt | FN |Ctrl |Lef |Dow |Rig |
+ `-----------------------------------------------------------------------------'
+```
+
+```text
+ Keymap Function Layer
+ ,-----------------------------------------------------------------------------.
+ | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |F11 |F12 |DEL |PNTS|
+ |-----------------------------------------------------------------------------|
+ | |RgbT|RgbM|Hue+|Hue-|Sat+|Sat-|BR+ |BR- | | |SLCK|Paus|RST | |
+ |-----------------------------------------------------------------------------|
+ | |Eff+|Eff-| | | | | | | | | |EEP RST | |
+ |-----------------------------------------------------------------------------|
+ | | | | | | | | | | | | |Vol+|MUTE|
+ |-----------------------------------------------------------------------------|
+ | | | | | | | |LAST|Vol-|NEXT|
+ `-----------------------------------------------------------------------------'
+```
+
+### Build layout
+
+```qmk compile -kb dztech/dz65rgb/v2 -km sbennett13```
diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk b/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk
new file mode 100644
index 0000000000..ed0a53416b
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk
@@ -0,0 +1,23 @@
+# Load Time Optimization
+LTO_ENABLE = yes
+
+# Space Cadet (Shift/Ctrl/Alt tapping for parenthesis)
+SPACE_CADET_ENABLE = no
+
+# Mouse keys bindable to keyboard
+MOUSEKEY_ENABLE = no
+
+# Console
+CONSOLE_ENABLE = no
+
+# Command (Change keyboard behavior without having to flash)
+COMMAND_ENABLE = no
+
+# Magic QMK keycodes
+MAGIC_ENABLE = no
+
+# No audio stuff
+MUSIC_ENABLE = no
+
+# No WPM
+WPM_ENABLE = no \ No newline at end of file
diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h b/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h
new file mode 100644
index 0000000000..ef5023f8c6
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h
@@ -0,0 +1,41 @@
+/* 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
+
+#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
+#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+#undef ENABLE_RGB_MATRIX_RAINDROPS
+#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+
+#undef RGB_MATRIX_STARTUP_MODE
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_OUT_IN_DUAL
+
+#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 MOUSEKEY_DELAY 0
+#define MOUSEKEY_INTERVAL 1
+#define MOUSEKEY_MOVE_DELTA 1
+#define MOUSEKEY_MAX_SPEED 25
+#define MOUSEKEY_TIME_TO_MAX 255
+#define MOUSEKEY_WHEEL_DELAY 0
+#define MOUSEKEY_WHEEL_INTERVAL 100
+#define MOUSEKEY_WHEEL_MAX_SPEED 100
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 100
diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c b/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c
new file mode 100644
index 0000000000..5baf32a7e4
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c
@@ -0,0 +1,210 @@
+/* Copyright 2021 Yuannan (https://github.com/yuannan)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_keycodes {
+ AUTOCLICK_TOGGLE = SAFE_RANGE,
+ AUTO_BURST,
+ RAPID_BURST,
+ INC_CLICK_SPEED,
+ DEC_CLICK_SPEED,
+ DEL_LINE,
+ DEL_HOME,
+ DEL_END
+};
+
+enum my_layers {
+ _ALPHA_LAYER,
+ _VIM_EDITING_LAYER,
+ _MOUSE_LAYER,
+ _HYPER_LAYER
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_ALPHA_LAYER] = LAYOUT_65_ansi(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE, 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_LBRACKET,KC_RBRACKET, KC_BSLASH, KC_PGUP,
+ KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER, KC_PGDOWN,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSHIFT, KC_UP, KC_END,
+ KC_CAPSLOCK,KC_LGUI,FN_MO13, KC_SPACE, FN_MO23, KC_LALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_VIM_EDITING_LAYER] = LAYOUT_65_ansi(
+ KC_GRAVE, 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_DELETE, KC_INSERT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEL_HOME, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCROLLLOCK,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEL_LINE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_PAUSE,
+ KC_TRNS, AUTOCLICK_TOGGLE, KC_TRNS, AUTO_BURST,RAPID_BURST, KC_TRNS, DEL_END, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_PSCREEN,
+ DEC_CLICK_SPEED,INC_CLICK_SPEED, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+ [_MOUSE_LAYER] = LAYOUT_65_ansi(
+ KC_GRAVE, 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_ACL0, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_ACL1, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_ACL2, AUTOCLICK_TOGGLE, KC_BTN3, AUTO_BURST, RAPID_BURST, KC_TRNS, KC_TRNS, KC_BTN5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ DEC_CLICK_SPEED,INC_CLICK_SPEED,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [_HYPER_LAYER] = LAYOUT_65_ansi(
+ DYN_REC_STOP, DYN_REC_START1, DYN_REC_START2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_NO, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, 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_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_LSHIFT, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+#define CLICKSPEEDS 5
+const uint16_t clickspeed_sets[CLICKSPEEDS] = {1000, 100, 50, 20, 1};
+uint16_t clickspeed_set = CLICKSPEEDS - 1;
+deferred_token autoclick_token = INVALID_DEFERRED_TOKEN;
+bool rapid = false;
+
+void decrement_click_speed(void){
+ clickspeed_set += CLICKSPEEDS - 1;
+ clickspeed_set %= CLICKSPEEDS;
+}
+
+void increment_click_speed(void){
+ clickspeed_set ++;
+ clickspeed_set %= CLICKSPEEDS;
+}
+
+uint32_t autoclick_callback(uint32_t trigger_time, void *cb_arg){
+ tap_code(KC_BTN1);
+
+ return rapid ? 1 : clickspeed_sets[clickspeed_set];
+}
+
+void start_autoclicker(void){
+ autoclick_token = defer_exec(1, autoclick_callback, NULL);
+}
+
+void stop_autoclicker(void){
+ cancel_deferred_exec(autoclick_token);
+ autoclick_token = INVALID_DEFERRED_TOKEN;
+}
+
+// Custom process key to allow for custom keycodes
+bool process_record_user(uint16_t keycode, keyrecord_t *record){
+ switch (keycode) {
+ case AUTOCLICK_TOGGLE:
+ if (record->event.pressed) {
+ if (autoclick_token == INVALID_DEFERRED_TOKEN){
+ start_autoclicker();
+ } else{
+ stop_autoclicker();
+ }
+ }
+ break;
+ case AUTO_BURST:
+ if (record->event.pressed && (autoclick_token == INVALID_DEFERRED_TOKEN)) {
+ start_autoclicker();
+ } else if (autoclick_token != INVALID_DEFERRED_TOKEN){
+ stop_autoclicker();
+ }
+ break;
+ case RAPID_BURST:
+ if (record->event.pressed){
+ rapid = true;
+ start_autoclicker();
+ } else{
+ rapid = false;
+ stop_autoclicker();
+ }
+ break;
+ case INC_CLICK_SPEED:
+ if (record->event.pressed){
+ if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
+ decrement_click_speed();
+ } else{
+ increment_click_speed();
+ }
+ }
+ break;
+ case DEC_CLICK_SPEED:
+ if (record->event.pressed){
+ if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
+ increment_click_speed();
+ } else{
+ decrement_click_speed();
+ }
+ }
+ break;
+ case DEL_LINE:
+ if(record->event.pressed){
+ SEND_STRING(SS_TAP(X_HOME) SS_LSFT(SS_TAP(X_END)) SS_TAP(X_DELETE));
+ }
+ break;
+ case DEL_HOME:
+ if(record->event.pressed){
+ SEND_STRING(SS_LSFT(SS_TAP(X_HOME)) SS_TAP(X_DELETE));
+ }
+ break;
+ case DEL_END:
+ if(record->event.pressed){
+ SEND_STRING(SS_LSFT(SS_TAP(X_END)) SS_TAP(X_DELETE));
+ }
+ break;
+ case RGB_TOG:
+ if(record->event.pressed){
+ if (!(get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))){
+ if(rgb_matrix_get_val() < 128){
+ rgb_matrix_sethsv(rgb_matrix_get_hue(), rgb_matrix_get_sat(), 255);
+ } else{
+ rgb_matrix_sethsv(rgb_matrix_get_hue(), rgb_matrix_get_sat(), 0);
+ }
+ return false;
+ }
+ }
+ break;
+ }
+
+ return true;
+};
+
+RGB get_inverted_RGB(void){
+ HSV current_HSV = rgb_matrix_get_hsv();
+ current_HSV.h = 255 - current_HSV.h;
+ current_HSV.s = 255;
+ current_HSV.v = 255;
+
+ return hsv_to_rgb(current_HSV);
+}
+
+// Move Caps indicator to the ctrl key where it belongs
+void rgb_matrix_indicators_user(void){
+ RGB inverted_RGB = get_inverted_RGB();
+ if (host_keyboard_led_state().caps_lock){
+ rgb_matrix_set_color(58, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b);
+ }
+}
+
+// show coloured indicator for layers with a keybind
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){
+ uint8_t layer = get_highest_layer(layer_state);
+ if (layer > 0) {
+ RGB inverted_RGB = get_inverted_RGB();
+ for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
+ for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
+ uint8_t index = g_led_config.matrix_co[row][col];
+
+ if (index >= led_min && index <= led_max && index != NO_LED &&
+ keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) {
+ rgb_matrix_set_color(index, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b);
+ }
+ }
+ }
+ }
+}
diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md b/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md
new file mode 100644
index 0000000000..c6768aceec
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md
@@ -0,0 +1,88 @@
+[DZ65RGB/v3 Yuannan's Layout Imgur Album](https://imgur.com/a/BI2RjgE)
+
+![Alpha](https://i.imgur.com/ikqvrtF.png)
+![Vim Editing Layer](https://i.imgur.com/hoBvSRR.png)
+![Mouse and Autoclicker](https://i.imgur.com/QWmWaWY.png)
+![Hyper functions and RGB Layer](https://i.imgur.com/Zm6Tf6p.png)
+
+# Yuannan's DZ65 Custom Profile. Autoclicker, Vim, and more!
+
+## Features
+
+1. Much better mouse support. Now able to:
+ - Move mouse around with 3 levels of acceleration
+ - Click and nav using mouse buttons 1-5
+ - Mouse scroll in all 4 directions, autoclick with 5 different levels of speed!
+ - Increase or Decrease the autoclick speed from the preset array of {500, 50, 20, 10, 1} clicks per second \*(Read Notes). Press Shift while using the Increase or Decrease button to do the opposite. Designed to work with other keymaps and keyboards!
+2. Ctrl and Caps swapped. The new indicator is dynamically colored and has been moved to the CTRL key to reflect the keymap.
+3. Improved navigation via Vim like keys.
+4. Dynamic Macros now enabled!
+5. Custom Editing Macros such as:
+ - Deleting entire line
+ - Deleting from cursor to start of line
+ - Deleting form cursor to end of line
+6. VIA support.
+7. Improved granularity of the RGB Matrix. Now with steps of 8/256, which is 32 steps!
+8. The default toggle for RGB now sets the matrix to be on low brightness. Why? If the matrix is completely toggled off then the indicators for Caps Locks and FN are also completely off. You can completely turn it off by pressing shift while processing the "RGB_TOG" keycode. (It is {FN1+FN2+Shift+Space} on this keymap.)
+9. Disabled some effects to free up more space.
+
+### Notes
+
+#### Note Autoclicker Speed
+
+The click events are now programmed with the new Deferred Execution API (https://docs.qmk.fm/#/custom_quantum_functions?id=deferred-execution).
+
+While it's programmed to input with a delay of 1ms (500CPS), the result will vary depending on your board and host. This is a massive improvment compared to timer based events. This new API is much faster and will work with less interference from other tasks on the board.
+
+#### Note Autoclick Linux libinput (Linux autoclicker not working)
+
+Linux's input driver (libinput) has a debounce feature. This is useful in normal usage as a person cannot feasibly click more than 20CPS. However when the keyboard tries to input 50+CPS and sometimes up to ~500CPS this is a problem.
+
+Create a file at "/etc/libinput/local-overrides.quirks" with the contents:
+
+ [Never Debounce]
+ MatchUdevType=mouse
+ ModelBouncingKeys=1
+
+This disables the debounce feature for libnput. This maybe be different if you use evdev, On Arch Linux the driver packages are {"libinput", "xf86-input-libinput"} compared to {"libevdev", "xf86-input-evdev"}. I have {"libinput", "xf86-input-libinput"} installed. In addition I have {"libevdev"} installed as a dependency of other packages. You maybe need to change the driver for your device if you have both installed. For me it was working just fine. Check what driver your xsession currently is utilizing with:
+
+ $cat /var/log/Xorg.0.log | grep libinput
+
+If it is using libinput then it will show contents. Otherwise search for "evdev".
+
+#### Still not working? (Linux)
+
+Check if the events are reaching your OS with either:
+
+ $evtest /dev/input/by-id/YOUR_KEYBOARD
+
+or
+
+ $cat /dev/input/by-id/YOUR_KEYBOARD
+
+It should end in `event-mouse`. In my case it was `/dev/input/by-id/usb-DZTECH_DZ65RGBV3-if02-event-mouse` which was a symlink to `/dev/input/event12`. It **WILL** vary on your setup.
+
+The output will appear "garbled" as it's trying to interoperate the data stream into text. The underlying data is actually a struct of the form:
+
+ struct input_event {
+ struct timeval time;
+ unsigned short type;
+ unsigned short code;
+ unsigned int value;
+ };
+
+You can read more about it here (https://www.kernel.org/doc/Documentation/input/input.txt)
+
+If it has an output when you autoclick but do not receive it in your desktop then it's a driver issue.
+
+View libinput with:
+
+ $libinput debug-events --device /dev/input/by-id/usb-DZTECH_DZ65RGBV3-if02-event-mouse --verbose
+
+If you experience "DEBOUNCE" events then it's a driver issue and should be able to be disabled with the above method, restart your display manager or just reboot afterwards.
+
+If you have any issues feel free to make bug report or pull request to me, QMK, or libinput. Please send logs along with any steps you have tried.
+
+#### ALT Position
+
+The physical Right_Alt is mapped as a Left_Alt. This is to ensure compatibility in legacy and programs which treat them differently. A key example would be the TTY system in Linux.
diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk b/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk
new file mode 100644
index 0000000000..e98ba61c3a
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+DYNAMIC_MACRO_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+DEFERRED_EXEC_ENABLE = yes
diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h
index d281eaa51e..0ae5173051 100644
--- a/keyboards/dztech/dz65rgb/v1/config.h
+++ b/keyboards/dztech/dz65rgb/v1/config.h
@@ -15,13 +15,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1420
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ65RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/dztech/dz65rgb/v1/info.json b/keyboards/dztech/dz65rgb/v1/info.json
new file mode 100644
index 0000000000..752d361728
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/v1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1420",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h
index 5267f42aa2..d2dec023ef 100644
--- a/keyboards/dztech/dz65rgb/v2/config.h
+++ b/keyboards/dztech/dz65rgb/v2/config.h
@@ -15,13 +15,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1421
-#define DEVICE_VER 0x0002
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ65RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/dztech/dz65rgb/v2/info.json b/keyboards/dztech/dz65rgb/v2/info.json
new file mode 100644
index 0000000000..1cfb5abdbb
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/v2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1421",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h
index 6c21fa22c2..ed7775a74b 100755
--- a/keyboards/dztech/dz65rgb/v3/config.h
+++ b/keyboards/dztech/dz65rgb/v3/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1424
-#define DEVICE_VER 0x0003
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ65RGBV3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, F1, F4, E6, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, C7, B0, B1, B2, B3, B4, D7, D6, D4, D5, D3, D2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz65rgb/v3/info.json b/keyboards/dztech/dz65rgb/v3/info.json
new file mode 100644
index 0000000000..f2c2236031
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/v3/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x1424",
+ "device_version": "3.0.0"
+ }
+}
diff --git a/keyboards/dztech/dz96/config.h b/keyboards/dztech/dz96/config.h
index 351b394263..534bd56cd9 100644
--- a/keyboards/dztech/dz96/config.h
+++ b/keyboards/dztech/dz96/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0xDB96
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT DZ96
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 13
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 }
#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/dztech/dz96/info.json b/keyboards/dztech/dz96/info.json
index 25c4d2265d..1ce43d6d18 100644
--- a/keyboards/dztech/dz96/info.json
+++ b/keyboards/dztech/dz96/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DZ96",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0xDB96",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/dztech/endless80/config.h b/keyboards/dztech/endless80/config.h
index 9874ea99a8..197dc46172 100644
--- a/keyboards/dztech/endless80/config.h
+++ b/keyboards/dztech/endless80/config.h
@@ -15,11 +15,6 @@
*/
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0X1015
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dztech
-#define PRODUCT endless80
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/dztech/endless80/info.json b/keyboards/dztech/endless80/info.json
index 219d7ec0fe..5a21c6aedc 100644
--- a/keyboards/dztech/endless80/info.json
+++ b/keyboards/dztech/endless80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "endless80",
+ "manufacturer": "dztech",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x1015",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"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":1.25}, {"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":"Win", "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}]
diff --git a/keyboards/dztech/endless80/readme.md b/keyboards/dztech/endless80/readme.md
index 58238afefe..18b813566c 100644
--- a/keyboards/dztech/endless80/readme.md
+++ b/keyboards/dztech/endless80/readme.md
@@ -15,4 +15,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down esc in the keyboard then replug
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` \ No newline at end of file
diff --git a/keyboards/e88/config.h b/keyboards/e88/config.h
index e83dfb9b06..87b87b4365 100644
--- a/keyboards/e88/config.h
+++ b/keyboards/e88/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0187
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pink Labs
-#define PRODUCT e88
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@
#define MATRIX_ROW_PINS { B7, D7, B4, C6, B5, B6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D0, D1, D2, D3, B3, B2, B1, E6, D5, D6, D4 }
-#define UNUSED_PINS {B0}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/e88/info.json b/keyboards/e88/info.json
index ed240910ea..3f2bd18f29 100644
--- a/keyboards/e88/info.json
+++ b/keyboards/e88/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "e88",
+ "manufacturer": "Pink Labs",
"url": "",
"maintainer": "2-n",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0187",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ealdin/quadrant/config.h b/keyboards/ealdin/quadrant/config.h
index b37af15ea6..ff217d933c 100644
--- a/keyboards/ealdin/quadrant/config.h
+++ b/keyboards/ealdin/quadrant/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0192 // Ealdin Keyboards "Æ’"
-#define PRODUCT_ID 0x5154 // Quadrant "QT"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ealdin
-#define PRODUCT Quadrant E-C
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B2, F7, B3, B6, B1 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ealdin/quadrant/info.json b/keyboards/ealdin/quadrant/info.json
index e9e02e3d67..09a258a601 100644
--- a/keyboards/ealdin/quadrant/info.json
+++ b/keyboards/ealdin/quadrant/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Quadrant E-C",
+ "manufacturer": "Ealdin",
"url": "https://github.com/Ealdin/keyboards/tree/master/Quadrant",
"maintainer": "Ealdin Keyboards",
+ "usb": {
+ "vid": "0x0192",
+ "pid": "0x5154",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x14": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}]
diff --git a/keyboards/earth_rover/config.h b/keyboards/earth_rover/config.h
index 2e7ceda4e1..081834972e 100644
--- a/keyboards/earth_rover/config.h
+++ b/keyboards/earth_rover/config.h
@@ -19,13 +19,6 @@ 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 0xEE11
-#define DEVICE_VER 0x0001
-#define MANUFACTURER k.bigwheel
-#define PRODUCT earth_rover
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/earth_rover/info.json b/keyboards/earth_rover/info.json
index 59249b819e..8a6ab27b35 100644
--- a/keyboards/earth_rover/info.json
+++ b/keyboards/earth_rover/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "earth_rover",
+ "manufacturer": "k.bigwheel",
"url": "https://github.com/bigwheel/earth_rover",
"maintainer": "k.bigwheel",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xEE11",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/eason/capsule65/config.h b/keyboards/eason/capsule65/config.h
index 34efb3f2a5..fb65c421f1 100644
--- a/keyboards/eason/capsule65/config.h
+++ b/keyboards/eason/capsule65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF21E
-#define PRODUCT_ID 0x6E6E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER eason
-#define PRODUCT capsule65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/eason/capsule65/info.json b/keyboards/eason/capsule65/info.json
index cd091b550f..9af7b49778 100644
--- a/keyboards/eason/capsule65/info.json
+++ b/keyboards/eason/capsule65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "CAPSULE65",
+ "keyboard_name": "capsule65",
+ "manufacturer": "eason",
"url": "",
"maintainer": "EasonQian1",
+ "usb": {
+ "vid": "0xF21E",
+ "pid": "0x6E6E",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/eason/capsule65/readme.md b/keyboards/eason/capsule65/readme.md
index 87576e34fa..5692cac027 100644
--- a/keyboards/eason/capsule65/readme.md
+++ b/keyboards/eason/capsule65/readme.md
@@ -14,4 +14,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down esc in the keyboard then replug
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET`
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h
index 968c7a1fc7..85e2a4e409 100644
--- a/keyboards/ebastler/e80_1800/config.h
+++ b/keyboards/ebastler/e80_1800/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6562 // "eb"
-#define PRODUCT_ID 0x1338
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ebastler
-#define PRODUCT E80-1800
-
/* Limit layer count to fit in storage with VIA enabled */
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS { B7, B3, D2, C12, C11, C10, A15 }
#define MATRIX_COL_PINS { A1, A0, C3, C2, F1, F0, C15, C14, C13, C4, C5, B0, B1, B2, B9, A13, A8, C9, C8 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ebastler/e80_1800/info.json b/keyboards/ebastler/e80_1800/info.json
index 503cafaa3d..8680f212d5 100644
--- a/keyboards/ebastler/e80_1800/info.json
+++ b/keyboards/ebastler/e80_1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "E80_1800",
+ "manufacturer": "ebastler",
"url": "https://github.com/ebastler/E80-1800",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x6562",
+ "pid": "0x1338",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_1800_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"label":"Home", "x":16.5, "y":0}, {"label":"PgUp", "x":17.5, "y":0}, {"label":"PrtSc", "x":18.5, "y":0}, {"label":"Delete", "x":15.5, "y":1}, {"label":"End", "x":16.5, "y":1}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"Scroll Lock", "x":18.5, "y":1}, {"label":"\u00ac", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"\"", "x":2, "y":2}, {"label":"\u00a7", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"&", "x":6, "y":2}, {"label":"/", "x":7, "y":2}, {"label":"(", "x":8, "y":2}, {"label":")", "x":9, "y":2}, {"label":"=", "x":10, "y":2}, {"label":"?", "x":11, "y":2}, {"label":"`", "x":12, "y":2}, {"label":"Backspace", "x":13, "y":2, "w":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"Pause", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"-", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"@", "x":11.75, "y":4}, {"label":"~", "x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":3, "w":1.25, "h":2}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"label":"+", "x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"label":"|", "x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"up", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6}, {"label":"Win", "x":1, "y":6}, {"label":"Alt", "x":2, "y":6}, {"x":3, "y":6, "w":6}, {"label":"AltGr", "x":9, "y":6}, {"label":"Win", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"Ctrl", "x":12, "y":6}, {"label":"left", "x":13.25, "y":6.25}, {"label":"down", "x":14.25, "y":6.25}, {"label":"right", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}]
diff --git a/keyboards/ebastler/isometria_75/rev1/config.h b/keyboards/ebastler/isometria_75/rev1/config.h
index 038fa18ac1..2c2a62fc26 100644
--- a/keyboards/ebastler/isometria_75/rev1/config.h
+++ b/keyboards/ebastler/isometria_75/rev1/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6562 // "eb"
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ebastler
-#define PRODUCT isometria 75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { A15, B4, B5, B6, B7, B8}
#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A10, A13, A14, B9, C13, F0, F1, A0, B2, B10, B11 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ebastler/isometria_75/rev1/info.json b/keyboards/ebastler/isometria_75/rev1/info.json
index cbca4c40ff..ffc847a1d4 100644
--- a/keyboards/ebastler/isometria_75/rev1/info.json
+++ b/keyboards/ebastler/isometria_75/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "isometria_75",
+ "keyboard_name": "isometria 75",
+ "manufacturer": "ebastler",
"url": "https://github.com/ebastler/isometria-75",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x6562",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_iso": {
"layout": [
diff --git a/keyboards/eco/config.h b/keyboards/eco/config.h
index 5c4466985c..5717389e7a 100644
--- a/keyboards/eco/config.h
+++ b/keyboards/eco/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6006
-#define MANUFACTURER Bishop Keyboards
-#define PRODUCT The ECO Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
diff --git a/keyboards/eco/info.json b/keyboards/eco/info.json
index 2553371de2..36710f9996 100644
--- a/keyboards/eco/info.json
+++ b/keyboards/eco/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "ECO",
+ "keyboard_name": "The ECO Keyboard",
+ "manufacturer": "Bishop Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6006"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k01", "x":0, "y":0}, {"label":"k02", "x":1, "y":0}, {"label":"k03", "x":2, "y":0}, {"label":"k04", "x":3, "y":0}, {"label":"k05", "x":4, "y":0}, {"label":"k06", "x":5, "y":0}, {"label":"k07", "x":6, "y":0}, {"label":"k08", "x":7, "y":0}, {"label":"k09", "x":8, "y":0}, {"label":"k010", "x":9, "y":0}, {"label":"k011", "x":10, "y":0}, {"label":"k012", "x":11, "y":0}, {"label":"k013", "x":12, "y":0}, {"label":"k014", "x":13, "y":0}, {"label":"k11", "x":0, "y":1}, {"label":"k12", "x":1, "y":1}, {"label":"k13", "x":2, "y":1}, {"label":"k14", "x":3, "y":1}, {"label":"k15", "x":4, "y":1}, {"label":"k16", "x":5, "y":1}, {"label":"k17", "x":6, "y":1}, {"label":"k18", "x":7, "y":1}, {"label":"k19", "x":8, "y":1}, {"label":"k110", "x":9, "y":1}, {"label":"k111", "x":10, "y":1}, {"label":"k112", "x":11, "y":1}, {"label":"k113", "x":12, "y":1}, {"label":"k114", "x":13, "y":1}, {"label":"k21", "x":0, "y":2}, {"label":"k22", "x":1, "y":2}, {"label":"k23", "x":2, "y":2}, {"label":"k24", "x":3, "y":2}, {"label":"k25", "x":4, "y":2}, {"label":"k26", "x":5, "y":2}, {"label":"k27", "x":6, "y":2}, {"label":"k28", "x":7, "y":2}, {"label":"k29", "x":8, "y":2}, {"label":"k210", "x":9, "y":2}, {"label":"k211", "x":10, "y":2}, {"label":"k212", "x":11, "y":2}, {"label":"k213", "x":12, "y":2}, {"label":"k214", "x":13, "y":2}, {"label":"k31", "x":0, "y":3}, {"label":"k32", "x":1, "y":3}, {"label":"k33", "x":2, "y":3}, {"label":"k34", "x":3, "y":3}, {"label":"k35", "x":4, "y":3}, {"label":"k36", "x":5, "y":3}, {"label":"k37", "x":6, "y":3}, {"label":"k38", "x":7, "y":3}, {"label":"k39", "x":8, "y":3}, {"label":"k310", "x":9, "y":3}, {"label":"k311", "x":10, "y":3}, {"label":"k312", "x":11, "y":3}, {"label":"k313", "x":12, "y":3}, {"label":"k314", "x":13, "y":3}]
diff --git a/keyboards/eco/keymaps/bcat/keymap.c b/keyboards/eco/keymaps/bcat/keymap.c
index 8c50a9ed55..e3345a677a 100644
--- a/keyboards/eco/keymaps/bcat/keymap.c
+++ b/keyboards/eco/keymaps/bcat/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */
[LAYER_ADJUST] = LAYOUT(
- _______, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______,
+ _______, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______,
_______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_VAI, RGB_MOD, RGB_SPI, _______,
_______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______
diff --git a/keyboards/eco/keymaps/that_canadian/keymap.c b/keyboards/eco/keymaps/that_canadian/keymap.c
index f9696c77e5..6561491b14 100644
--- a/keyboards/eco/keymaps/that_canadian/keymap.c
+++ b/keyboards/eco/keymaps/that_canadian/keymap.c
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
- TSKMGR, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL,
+ TSKMGR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/eco/keymaps/xyverz/keymap.c b/keyboards/eco/keymaps/xyverz/keymap.c
index 06054e9ac8..0050b79847 100644
--- a/keyboards/eco/keymaps/xyverz/keymap.c
+++ b/keyboards/eco/keymaps/xyverz/keymap.c
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
- _______, RESET, _______, _______, _______, _______, KC_NO, KC_NO, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, KC_NO, KC_NO, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/eco/rev1/config.h b/keyboards/eco/rev1/config.h
index 65cb050d6c..1dc94e79b5 100644
--- a/keyboards/eco/rev1/config.h
+++ b/keyboards/eco/rev1/config.h
@@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "../config.h"
-#define DEVICE_VER 0x0001
-
/* ECO V1 pin-out */
#define MATRIX_ROW_PINS { B1, B6, B2, B3 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
diff --git a/keyboards/eco/rev1/info.json b/keyboards/eco/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/eco/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/eco/rev2/config.h b/keyboards/eco/rev2/config.h
index bbc0492e06..35a2334fc9 100644
--- a/keyboards/eco/rev2/config.h
+++ b/keyboards/eco/rev2/config.h
@@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "../config.h"
-#define DEVICE_VER 0x0002
-
/* ECO V2.1 pin-out */
#define MATRIX_ROW_PINS { D7, B5, B4, E6 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, B6, B2, B3, B1, F7, F6, F5, F4, D2, D3 }
-#define UNUSED_PINS
diff --git a/keyboards/eco/rev2/info.json b/keyboards/eco/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/eco/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/edc40/config.h b/keyboards/edc40/config.h
index be6cba5138..907cf257fe 100644
--- a/keyboards/edc40/config.h
+++ b/keyboards/edc40/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F4A // "OJ"
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OJ
-#define PRODUCT edc40
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -39,7 +32,6 @@
*/
#define MATRIX_ROW_PINS { D4, D6, D7, F7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D0, D1, D2, D3, D5, B4, B5 }
- #define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/edc40/info.json b/keyboards/edc40/info.json
index ae66ec2297..43b79f6a90 100644
--- a/keyboards/edc40/info.json
+++ b/keyboards/edc40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "edc40",
+ "manufacturer": "OJ",
"url": "",
"maintainer": "ojthetiny",
+ "usb": {
+ "vid": "0x4F4A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/edda/config.h b/keyboards/edda/config.h
index bd9a0ab77d..33030c2fb6 100644
--- a/keyboards/edda/config.h
+++ b/keyboards/edda/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D45
-#define PRODUCT_ID 0x4544
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mekanisk
-#define PRODUCT Edda PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/edda/info.json b/keyboards/edda/info.json
index 2945b2b22d..c9cdd45dbe 100644
--- a/keyboards/edda/info.json
+++ b/keyboards/edda/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Edda",
+ "manufacturer": "Mekanisk",
"url": "https://mekanisk.com",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D45",
+ "pid": "0x4544",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/edi/hardlight/mk1/config.h b/keyboards/edi/hardlight/mk1/config.h
index be136fe9c9..fbcab5e8e5 100644
--- a/keyboards/edi/hardlight/mk1/config.h
+++ b/keyboards/edi/hardlight/mk1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x2401
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Everywhere Defense Industries
-#define PRODUCT Hard Light
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, D4, D6, D7, B4 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5 }
-#define UNUSED_PINS { B7, D2, D3, D5 }
/* COL2ROW, ROW2COL */
diff --git a/keyboards/edi/hardlight/mk1/info.json b/keyboards/edi/hardlight/mk1/info.json
new file mode 100644
index 0000000000..f0ff1b915f
--- /dev/null
+++ b/keyboards/edi/hardlight/mk1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Hard Light",
+ "manufacturer": "Everywhere Defense Industries",
+ "usb": {
+ "vid": "0xF7E0",
+ "pid": "0x2401",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/edi/hardlight/mk2/config.h b/keyboards/edi/hardlight/mk2/config.h
index 8580aabec5..2cf9ab9af9 100644
--- a/keyboards/edi/hardlight/mk2/config.h
+++ b/keyboards/edi/hardlight/mk2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x2408
-#define DEVICE_VER 0x0007
-#define MANUFACTURER Everywhere Defense Industries
-#define PRODUCT Hard Light Mk 2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
diff --git a/keyboards/edi/hardlight/mk2/info.json b/keyboards/edi/hardlight/mk2/info.json
new file mode 100644
index 0000000000..25e9b06d49
--- /dev/null
+++ b/keyboards/edi/hardlight/mk2/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Hard Light Mk 2",
+ "manufacturer": "Everywhere Defense Industries",
+ "usb": {
+ "vid": "0xF7E0",
+ "pid": "0x2408",
+ "device_version": "0.0.7"
+ }
+}
diff --git a/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c
index a493c2288a..6bf375c47c 100644
--- a/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c
+++ b/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SET] = LAYOUT_ortho_4x16(
_______, KC_CAPS, KC_SLCK, KC_NLCK, VLK_TOG, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_P, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, RESET, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, QK_BOOT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/edi/standaside/config.h b/keyboards/edi/standaside/config.h
index c72c915d82..ebf0f6de9a 100644
--- a/keyboards/edi/standaside/config.h
+++ b/keyboards/edi/standaside/config.h
@@ -4,13 +4,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x0412
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Fate Everywhere
-#define PRODUCT Stand Aside
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -27,7 +20,6 @@
*/
#define MATRIX_ROW_PINS { D1, F4, F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F5, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS {}
/* COL2ROW, ROW2COL */
diff --git a/keyboards/edi/standaside/info.json b/keyboards/edi/standaside/info.json
index 797a3419b7..464b5b1c84 100644
--- a/keyboards/edi/standaside/info.json
+++ b/keyboards/edi/standaside/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stand Aside",
+ "manufacturer": "Fate Everywhere",
"url": "",
"maintainer": "fateeverywhere",
+ "usb": {
+ "vid": "0xF7E0",
+ "pid": "0x0412",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_ortho_4x16": {
"layout": [
diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h
index 919c112722..e183afa0be 100644
--- a/keyboards/eek/config.h
+++ b/keyboards/eek/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A53
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0004
-#define MANUFACTURER klackygears
-#define PRODUCT eek!
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
#define MATRIX_COL_PINS { D4, C6, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { D2, D1, D0 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json
index b6934c2a39..2566cd6fef 100644
--- a/keyboards/eek/info.json
+++ b/keyboards/eek/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "eek!",
+ "manufacturer": "klackygears",
"url": "http://www.keyboard-layout-editor.com/#/gists/3e4d0cd1534dd4e4b9f25cf2b36d0d63",
"maintainer": "klackygears",
+ "usb": {
+ "vid": "0x4A53",
+ "pid": "0x0002",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/eek/keymaps/ledtest/keymap.c b/keyboards/eek/keymaps/ledtest/keymap.c
index 8b046223c7..3a6cc6f38c 100644
--- a/keyboards/eek/keymaps/ledtest/keymap.c
+++ b/keyboards/eek/keymaps/ledtest/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_split_3x5_3(
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, _______, KC_F9, KC_F10, KC_F11, KC_F12,
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8,
- _______, _______, _______, _______, _______, RESET, KC_F1, KC_F2, KC_F3, KC_F4,
+ _______, _______, _______, _______, _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4,
_______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/efreet/config.h b/keyboards/efreet/config.h
index 90e76d9c5a..e937fe57c2 100644
--- a/keyboards/efreet/config.h
+++ b/keyboards/efreet/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534F // "SO"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Soran
-#define PRODUCT Efreet
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, D6, D5, D4, D3, D2, D1, C2 }
#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/efreet/info.json b/keyboards/efreet/info.json
index 0b34c4c6f1..2ef2e59a0d 100644
--- a/keyboards/efreet/info.json
+++ b/keyboards/efreet/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "efreet",
+ "keyboard_name": "Efreet",
+ "manufacturer": "Soran",
"url": "",
"maintainer": "amberstarlight",
+ "usb": {
+ "vid": "0x534F",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/ein_60/config.h b/keyboards/ein_60/config.h
index c701f1f6d6..91311dea37 100644
--- a/keyboards/ein_60/config.h
+++ b/keyboards/ein_60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A53
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER klackygears
-#define PRODUCT EIN_60
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json
index c1cd5c7f77..d7b2c529e1 100644
--- a/keyboards/ein_60/info.json
+++ b/keyboards/ein_60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ein_60",
+ "manufacturer": "klackygears",
"url": "",
"maintainer": "klackygears",
+ "usb": {
+ "vid": "0x4A53",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ein_60/keymaps/ledtest/keymap.c b/keyboards/ein_60/keymaps/ledtest/keymap.c
index 5fb5217c98..dc0c31d5de 100644
--- a/keyboards/ein_60/keymaps/ledtest/keymap.c
+++ b/keyboards/ein_60/keymaps/ledtest/keymap.c
@@ -88,14 +88,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | | | | | |BLSTEP|
* |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
- * | | | | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | | | | QK_BOOT|
* `-----------------------------------------' `------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, RGBRST, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, _______,
_______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
/* Function
* ,-----------------------------------------. ,------. ,-----------------------------------------.
diff --git a/keyboards/ekow/akira/config.h b/keyboards/ekow/akira/config.h
index 678827543f..7d6df19f50 100644
--- a/keyboards/ekow/akira/config.h
+++ b/keyboards/ekow/akira/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B59 // KY
-#define PRODUCT_ID 0x414B // AK
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Keeboyzlab
-#define PRODUCT AKIRA
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/ekow/akira/info.json b/keyboards/ekow/akira/info.json
index b6ebf9b8a2..1beb48e899 100644
--- a/keyboards/ekow/akira/info.json
+++ b/keyboards/ekow/akira/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KEYBOYZLAB:AKIRA",
+ "keyboard_name": "AKIRA",
+ "manufacturer": "Keeboyzlab",
"maintainer": "eugenepy",
"url": "http://github.com/EugenePY",
+ "usb": {
+ "vid": "0x4B59",
+ "pid": "0x414B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [
diff --git a/keyboards/ekow/akira/readme.md b/keyboards/ekow/akira/readme.md
index e1a0c90366..62ec95acf4 100644
--- a/keyboards/ekow/akira/readme.md
+++ b/keyboards/ekow/akira/readme.md
@@ -20,5 +20,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the Buttom on the back of the PCB, the board will enter the dfu-mode, no extra pads need to short.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/elephant42/config.h b/keyboards/elephant42/config.h
new file mode 100644
index 0000000000..26d9daba4e
--- /dev/null
+++ b/keyboards/elephant42/config.h
@@ -0,0 +1,85 @@
+/*
+Copyright 2021 illness072
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+/*
+ * 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 \
+ { D4, C6, D7, E6 }
+#define MATRIX_COL_PINS \
+ { F4, F5, F6, F7, B1, B3 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define SOFT_SERIAL_PIN D2
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+# define RGBLED_SPLIT { 27, 27 }
+# define RGBLED_NUM 54 // backlight x42 + underglow x12
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 170 /* The maximum brightness level */
+# define RGBLIGHT_EFFECT_BREATHING
+# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+# define RGBLIGHT_EFFECT_SNAKE
+# define RGBLIGHT_EFFECT_KNIGHT
+# define RGBLIGHT_EFFECT_CHRISTMAS
+# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+# define RGBLIGHT_EFFECT_RGB_TEST
+# define RGBLIGHT_EFFECT_ALTERNATING
+# define RGBLIGHT_EFFECT_TWINKLE
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+# define SPLIT_TRANSPORT_MIRROR
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL
+# define RGB_MATRIX_HUE_STEP RGBLIGHT_HUE_STEP
+# define RGB_MATRIX_SAT_STEP RGBLIGHT_SAT_STEP
+# define RGB_MATRIX_VAL_STEP RGBLIGHT_VAL_STEP
+# define RGB_MATRIX_SPD_STEP 8
+#endif
+
+/* 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
+
+#ifndef OLED_FONT_H
+# define OLED_FONT_H "keyboards/elephant42/lib/glcdfont.c"
+#endif
diff --git a/keyboards/elephant42/elephant42.c b/keyboards/elephant42/elephant42.c
new file mode 100644
index 0000000000..a459442231
--- /dev/null
+++ b/keyboards/elephant42/elephant42.c
@@ -0,0 +1,66 @@
+/* Copyright 2021 illness072
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "elephant42.h"
+
+#if defined(RGB_MATRIX_ENABLE)
+led_config_t g_led_config = {
+ { // keymap to LED number
+ // left
+ { 19, 18, 13, 12, 7, 6}, // R3
+ { 20, 17, 14, 11, 8, 5}, // R2
+ {NO_LED, 16, 15, 10, 9, 4}, // R1
+ {NO_LED, NO_LED, 0, 1, 2, 3}, // R0
+ // right
+ { 46, 45, 40, 39, 34, 33}, // R3
+ { 47, 44, 41, 38, 35, 32}, // R2
+ {NO_LED, 43, 42, 37, 36, 31}, // R1
+ {NO_LED, NO_LED, 27, 28, 29, 30}, // R0
+ },
+ {// phisical LED position, {x, y} : x = 0..224, y = 0..64
+ // left-bg [LED_01-21]
+ {56, 65}, {77, 68}, {95, 79}, {109, 91},
+ {87, 46}, {87, 29}, {87, 12}, { 69, 43}, { 69, 26}, { 69, 8},
+ {52, 35}, {52, 17}, {52, 0}, { 35, 4}, { 35, 21}, { 35, 38},
+ {17, 54}, {17, 36}, {17, 19}, { 0, 26}, { 0, 43},
+ // left-ug [LED_22-27]
+ {25, 49}, {26, 19}, {60, 14}, {106, 33}, {107, 72}, { 70, 66},
+ // right-bg [LED_28-48]
+ {199, 65}, {179, 68}, {160, 79}, {146, 91},
+ {168, 46}, {168, 29}, {168, 12}, {186, 43}, {186, 26}, {186, 8},
+ {203, 35}, {203, 17}, {203, 0}, {220, 4}, {220, 21}, {220, 38},
+ {238, 54}, {238, 36}, {238, 19}, {255, 26}, {255, 43},
+ // right-ug [LED_49-54]
+ {230, 49}, {230, 19}, {195, 14}, {149, 33}, {148, 72}, {185, 66},
+ },
+ {// LED Index to Flag
+ // Left-bg [LED_01-21]
+ 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,
+ // left-ug [LED_22-27]
+ LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
+ // right-bg [LED_28-48]
+ 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,
+ // right-ug [LED_49-54]
+ LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW
+ }
+};
+#endif
diff --git a/keyboards/elephant42/elephant42.h b/keyboards/elephant42/elephant42.h
new file mode 100644
index 0000000000..ad79c1e1fc
--- /dev/null
+++ b/keyboards/elephant42/elephant42.h
@@ -0,0 +1,35 @@
+/* Copyright 2021 illness072
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, \
+ L30, L31, L32, L33, R30, R31, R32, R33 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { KC_NO, L21, L22, L23, L24, L25 }, \
+ { KC_NO, KC_NO, L30, L31, L32, L33 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { KC_NO, R24, R23, R22, R21, R20 }, \
+ { KC_NO, KC_NO, R33, R32, R31, R30 } \
+}
diff --git a/keyboards/elephant42/info.json b/keyboards/elephant42/info.json
new file mode 100644
index 0000000000..cbc7b78378
--- /dev/null
+++ b/keyboards/elephant42/info.json
@@ -0,0 +1,66 @@
+{
+ "keyboard_name": "elephant42",
+ "manufacturer": "illness072",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/elephant42",
+ "maintainer": "illness072",
+ "usb": {
+ "vid": "0x4649",
+ "pid": "0x0721",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Tab", "x":0, "y":1.6},
+ {"label":"Q", "x":1, "y":1.1},
+ {"label":"W", "x":2, "y":0.3},
+ {"label":"E", "x":3, "y":0},
+ {"label":"R", "x":4, "y":0.6},
+ {"label":"T", "x":5, "y":0.8},
+
+ {"label":"Y", "x":10.5, "y":0.8},
+ {"label":"U", "x":11.5, "y":0.6},
+ {"label":"I", "x":12.5, "y":0},
+ {"label":"O", "x":13.5, "y":0.3},
+ {"label":"P", "x":14.5, "y":1.1},
+ {"label":"\\", "x":15.5, "y":1.6},
+
+ {"label":"Ctrl", "x":0, "y":2.6},
+ {"label":"A", "x":1, "y":2.1},
+ {"label":"S", "x":2, "y":1.3},
+ {"label":"D", "x":3, "y":1},
+ {"label":"F", "x":4, "y":1.6},
+ {"label":"G", "x":5, "y":1.8},
+
+ {"label":"H", "x":10.5, "y":1.8},
+ {"label":"J", "x":11.5, "y":1.6},
+ {"label":"K", "x":12.5, "y":1},
+ {"label":"L", "x":13.5, "y":1.3},
+ {"label":":", "x":14.5, "y":2.1},
+ {"label":"\"", "x":15.5, "y":2.6},
+
+ {"label":"Z", "x":1, "y":3.1},
+ {"label":"X", "x":2, "y":2.3},
+ {"label":"C", "x":3, "y":2},
+ {"label":"V", "x":4, "y":2.6},
+ {"label":"B", "x":5, "y":2.8},
+
+ {"label":"N", "x":10.5, "y":2.8},
+ {"label":"M", "x":11.5, "y":2.6},
+ {"label":"<", "x":12.5, "y":2},
+ {"label":">", "x":13.5, "y":2.3},
+ {"label":"?", "x":14.5, "y":3.1},
+
+ {"label":"Alt", "x":3.5, "y":4.0},
+ {"label":"Cmd", "x":4.5, "y":4.0},
+ {"label":"Lower", "x":5.5, "y":4.0},
+ {"label":"Shift", "x":6.5, "y":4.0},
+
+ {"label":"Del", "x":9.25, "y":4.0},
+ {"label":"Raise", "x":10.25, "y":4.0},
+ {"label":"Enter", "x":11.25, "y":4.0},
+ {"label":"Backspace", "x":12.25, "y":4.0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/elephant42/keymaps/default/keymap.c b/keyboards/elephant42/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e0235d75bb
--- /dev/null
+++ b/keyboards/elephant42/keymaps/default/keymap.c
@@ -0,0 +1,114 @@
+/* Copyright 2021 illness072
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define KC_VU KC_AUDIO_VOL_UP
+#define KC_VD KC_AUDIO_VOL_DOWN
+#define KC_MU KC_AUDIO_MUTE
+#define KC_LSPC LT(_LOWER, KC_SPC)
+#define KC_RSPC LT(_RAISE, KC_SPC)
+
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+
+ NUMBER_OF_LAYERS
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_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_BSLS,
+ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ 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_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ ),
+
+ [_LOWER] = LAYOUT(
+ //,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_TILD,
+ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ KC_LCTL,KC_EXLM,KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_MINS,KC_PLUS,KC_GRV,
+ //`-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ XXXXXXX,XXXXXXX,KC_LCBR,KC_LBRC,KC_LPRN, KC_RPRN,KC_RBRC,KC_RCBR,KC_UNDS,KC_EQL ,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ ),
+
+ [_RAISE] = 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_LCTL, KC_VD , KC_VU , KC_MU ,RGB_HUI,RGB_VAI, KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,XXXXXXX,KC_F12 ,
+ //`-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
+ KC_BRMD,KC_BRMU,RGB_TOG,RGB_MOD,RGB_VAD, KC_HOME,KC_PGDN,KC_PGUP,KC_END ,XXXXXXX,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ )
+};
+
+
+#ifdef OLED_ENABLE
+# define STEPS 32
+
+uint8_t keypresses = 0;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ keypresses = (keypresses + 1) % STEPS;
+ }
+ return true;
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ static char layer_names[NUMBER_OF_LAYERS][10] = {"Default", "Lower", "Raise"};
+ static char l1[] = " \x94\x95\x96\x97";
+ static char l2[] = " \xB4\xB5\xB6\xB7";
+ static char r1[] = " \x98\x99\x9A\x9B";
+ static char r2[] = " \xB8\xB9\xBA\xBB";
+ int iconShift = keypresses % STEPS;
+ if (iconShift > STEPS / 2) {
+ iconShift = STEPS - iconShift;
+ }
+ bool goingLeft = keypresses < STEPS / 2;
+
+ oled_write_P(PSTR("Layer: "), false);
+ oled_write_ln(layer_names[get_highest_layer(layer_state)], false);
+ oled_advance_page(true);
+ oled_write_ln((goingLeft ? l1 : r1) + iconShift, false);
+ oled_write_ln((goingLeft ? l2 : r2) + iconShift, false);
+ } else {
+ oled_advance_page(true);
+ static const char PROGMEM logo[] = {
+ 0x8f,0x90,0x91,0x92,0x93,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x0a,
+ 0xaf,0xb0,0xb1,0xb2,0xb3,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0x0a,
+ 0xcf,0xd0,0xd1,0xd2,0xd3,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0
+ };
+
+ oled_write_ln_P(logo, false);
+ }
+
+ return false;
+}
+#endif
diff --git a/keyboards/elephant42/keymaps/default/readme.md b/keyboards/elephant42/keymaps/default/readme.md
new file mode 100644
index 0000000000..632fe222b0
--- /dev/null
+++ b/keyboards/elephant42/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for elephant42
diff --git a/keyboards/elephant42/keymaps/via/keymap.c b/keyboards/elephant42/keymaps/via/keymap.c
new file mode 100644
index 0000000000..4ecf5d86ab
--- /dev/null
+++ b/keyboards/elephant42/keymaps/via/keymap.c
@@ -0,0 +1,127 @@
+/* Copyright 2021 illness072
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define KC_VU KC_AUDIO_VOL_UP
+#define KC_VD KC_AUDIO_VOL_DOWN
+#define KC_MU KC_AUDIO_MUTE
+#define KC_LSPC LT(_LOWER, KC_SPC)
+#define KC_RSPC LT(_RAISE, KC_SPC)
+
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+
+ NUMBER_OF_LAYERS
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_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_BSLS,
+ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ 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_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ ),
+
+ [_LOWER] = LAYOUT(
+ //,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_TILD,
+ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ KC_LCTL,KC_EXLM,KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_MINS,KC_PLUS,KC_GRV,
+ //`-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ XXXXXXX,XXXXXXX,KC_LCBR,KC_LBRC,KC_LPRN, KC_RPRN,KC_RBRC,KC_RCBR,KC_UNDS,KC_EQL ,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ ),
+
+ [_RAISE] = 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_LCTL, KC_VD , KC_VU , KC_MU ,RGB_HUI,RGB_VAI, KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,XXXXXXX,KC_F12 ,
+ //`-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
+ KC_BRMD,KC_BRMU,RGB_TOG,RGB_MOD,RGB_VAD, KC_HOME,KC_PGDN,KC_PGUP,KC_END ,XXXXXXX,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ KC_LALT,KC_LCMD,KC_LSPC,KC_LSFT, KC_DEL ,KC_RSPC,KC_ENT ,KC_BSPC
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ ),
+
+ [_ADJUST] = LAYOUT(
+ //,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ //`-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ // `-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------'
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX
+ // `-------+-------+-------+-------' `-------+-------+-------+-------'
+ )
+};
+
+
+#ifdef OLED_ENABLE
+# define STEPS 32
+
+uint8_t keypresses = 0;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ keypresses = (keypresses + 1) % STEPS;
+ }
+ return true;
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ static char layer_names[NUMBER_OF_LAYERS][10] = {"Default", "Lower", "Raise", "Adjust"};
+ static char l1[] = " \x94\x95\x96\x97";
+ static char l2[] = " \xB4\xB5\xB6\xB7";
+ static char r1[] = " \x98\x99\x9A\x9B";
+ static char r2[] = " \xB8\xB9\xBA\xBB";
+ int iconShift = keypresses % STEPS;
+ if (iconShift > STEPS / 2) {
+ iconShift = STEPS - iconShift;
+ }
+ bool goingLeft = keypresses < STEPS / 2;
+
+ oled_write_P(PSTR("Layer: "), false);
+ oled_write_ln(layer_names[get_highest_layer(layer_state)], false);
+ oled_advance_page(true);
+ oled_write_ln((goingLeft ? l1 : r1) + iconShift, false);
+ oled_write_ln((goingLeft ? l2 : r2) + iconShift, false);
+ } else {
+ oled_advance_page(true);
+ static const char PROGMEM logo[] = {
+ 0x8f,0x90,0x91,0x92,0x93,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x0a,
+ 0xaf,0xb0,0xb1,0xb2,0xb3,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0x0a,
+ 0xcf,0xd0,0xd1,0xd2,0xd3,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0
+ };
+
+ oled_write_ln_P(logo, false);
+ }
+
+ return false;
+}
+#endif
diff --git a/keyboards/elephant42/keymaps/via/readme.md b/keyboards/elephant42/keymaps/via/readme.md
new file mode 100644
index 0000000000..4457bf9f46
--- /dev/null
+++ b/keyboards/elephant42/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The keymap with VIA support for elephant42
diff --git a/keyboards/elephant42/keymaps/via/rules.mk b/keyboards/elephant42/keymaps/via/rules.mk
new file mode 100644
index 0000000000..237172cc8b
--- /dev/null
+++ b/keyboards/elephant42/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+RGB_MATRIX_ENABLE = no
diff --git a/keyboards/elephant42/lib/glcdfont.c b/keyboards/elephant42/lib/glcdfont.c
new file mode 100755
index 0000000000..31372e85d7
--- /dev/null
+++ b/keyboards/elephant42/lib/glcdfont.c
@@ -0,0 +1,233 @@
+// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
+// See gfxfont.h for newer custom bitmap font info.
+
+#pragma once
+
+#include "progmem.h"
+
+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,
+ 0xE0, 0xE0, 0xE0, 0xE0, 0xE1, 0xE0,
+ 0xE0, 0xE0, 0xE0, 0xE1, 0xE0, 0xE0,
+ 0xE0, 0xE0, 0x01, 0xF0, 0xF0, 0xF0,
+ 0xF0, 0xF1, 0x00, 0x00, 0x00, 0xC0,
+ 0xF1, 0xF0, 0xF0, 0xE0, 0x60, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xC0, 0xC0, 0xE0,
+ 0xE0, 0xE1, 0x00, 0x00, 0x00, 0x00,
+ 0xF1, 0xF0, 0xF0, 0xF0, 0xF0, 0x01,
+ 0xE0, 0xE0, 0xE0, 0xE0, 0xE1, 0xE0,
+ 0xE0, 0xE0, 0xE0, 0xE1, 0xE0, 0xE0,
+ 0xE0, 0xE0, 0x01, 0xF0, 0xF0, 0xF0,
+ 0xF0, 0xF1, 0x00, 0x00, 0x00, 0xE0,
+ 0xE1, 0xE0, 0xE0, 0xE0, 0x00, 0x01,
+ 0x80, 0x80, 0xFC, 0xF8, 0xB0, 0xE0,
+ 0xC0, 0x80, 0x00, 0x00, 0x00, 0x03,
+ 0x03, 0x03, 0x07, 0x07, 0x0F, 0x9E,
+ 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0x70,
+ 0x60, 0xC0, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x80, 0xE0, 0xF0, 0xF8, 0xFC,
+ 0xFE, 0xFE, 0xF3, 0xFF, 0xFF, 0x87,
+ 0x7F, 0x7F, 0xBE, 0xDD, 0xE3, 0xFF,
+ 0xFE, 0xFE, 0xFC, 0xF8, 0xF0, 0xC0,
+ 0xC0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE,
+ 0xFF, 0xE3, 0xDD, 0xBE, 0x7F, 0x7F,
+ 0x87, 0xFF, 0xFF, 0xF3, 0xFE, 0xFE,
+ 0xFC, 0xF8, 0xF0, 0xE0, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x07, 0x07, 0x07, 0xE7, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0x07,
+ 0x07, 0x07, 0x00, 0x0F, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xF8, 0x80, 0x1C, 0x1F,
+ 0x3F, 0x3F, 0x3F, 0x03, 0x00, 0x00,
+ 0x0E, 0x1E, 0x3F, 0x3F, 0x7C, 0x78,
+ 0x78, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x0F, 0x3F, 0xFF,
+ 0xFF, 0xFF, 0xFC, 0xF0, 0xC0, 0xC0,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xE7, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x00, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x7E, 0x7E, 0x7E, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0xFD, 0xF9, 0x77, 0xE7, 0xC1, 0x8D,
+ 0xDD, 0xF9, 0x71, 0x00, 0x00, 0x6C,
+ 0x6C, 0xEC, 0xFC, 0xFC, 0xFE, 0xFF,
+ 0xFF, 0xE7, 0xDB, 0xBB, 0x7B, 0x7B,
+ 0x7F, 0xBF, 0xDF, 0x00, 0x00, 0x00,
+ 0xFC, 0xFF, 0x1F, 0x07, 0x03, 0x01,
+ 0x01, 0x03, 0x03, 0x07, 0xFF, 0xFF,
+ 0x1F, 0xFF, 0xFF, 0x3F, 0x1F, 0x1F,
+ 0x3F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x3F,
+ 0x1F, 0x1F, 0x3F, 0xFF, 0xFF, 0x1F,
+ 0xFF, 0xFF, 0x07, 0x03, 0x03, 0x01,
+ 0x01, 0x03, 0x07, 0x1F, 0xFF, 0xFC,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x87, 0x07,
+ 0x07, 0x07, 0x01, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x07,
+ 0x0F, 0x8F, 0x0F, 0x0F, 0x0C, 0x00,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x87, 0x07,
+ 0x07, 0x0F, 0x0F, 0x8F, 0x0F, 0x0F,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+ 0x01, 0x83, 0x07, 0x0F, 0x0F, 0x0F,
+ 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0x80,
+ 0x00, 0x00, 0x03, 0x0F, 0x8F, 0x0F,
+ 0x0F, 0x0F, 0x0C, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x8F, 0x00, 0x00, 0x00, 0x07,
+ 0x87, 0x07, 0x07, 0x07, 0x00, 0x80,
+ 0x7D, 0x55, 0x28, 0x28, 0x29, 0x01,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0xD8,
+ 0xD8, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F,
+ 0x0F, 0x07, 0x01, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/keyboards/elephant42/readme.md b/keyboards/elephant42/readme.md
new file mode 100644
index 0000000000..e6ceb5b17f
--- /dev/null
+++ b/keyboards/elephant42/readme.md
@@ -0,0 +1,27 @@
+# elephant42
+
+[![elephant42](https://i.imgur.com/rgvNteb.jpg)](https://i.imgur.com/rgvNteb.jpg)
+
+A split keyboard with 3x5+2 vertically staggered keys and 4 thumb keys.
+
+* Keyboard Maintainer: [illness072](https://github.com/illness072), [Twitter](https://twitter.com/illness072)
+* Hardware Supported: elephant42 PCB, ProMicro
+* Hardware Availability: [https://illness072.booth.pm/](https://illness072.booth.pm/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make elephant42:default
+
+Flashing example for this keyboard:
+
+ make elephant42:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/elephant42/rules.mk b/keyboards/elephant42/rules.mk
new file mode 100644
index 0000000000..642314b9c2
--- /dev/null
+++ b/keyboards/elephant42/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
+OLED_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/emajesty/eiri/config.h b/keyboards/emajesty/eiri/config.h
index 99b606770d..fb8f2d357d 100644
--- a/keyboards/emajesty/eiri/config.h
+++ b/keyboards/emajesty/eiri/config.h
@@ -19,13 +19,6 @@ 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 0x9372
-#define DEVICE_VER 0x0001
-#define MANUFACTURER EMajesty
-#define PRODUCT eiri
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B5, B2, B6 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/emajesty/eiri/info.json b/keyboards/emajesty/eiri/info.json
index 2816dba4c7..b271741880 100644
--- a/keyboards/emajesty/eiri/info.json
+++ b/keyboards/emajesty/eiri/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "eiri",
+ "manufacturer": "EMajesty",
"url": "https://github.com/EMajesty/eiri",
"maintainer": "EMajesty",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9372",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/emery65/config.h b/keyboards/emery65/config.h
index cbe31b75da..dfbd4db1ac 100644
--- a/keyboards/emery65/config.h
+++ b/keyboards/emery65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4536
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Emery65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/emery65/info.json b/keyboards/emery65/info.json
index 9d8058e831..aba9820928 100644
--- a/keyboards/emery65/info.json
+++ b/keyboards/emery65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Emery65",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4536",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/emi20/config.h b/keyboards/emi20/config.h
index 98eefdc6ad..6bd6981274 100644
--- a/keyboards/emi20/config.h
+++ b/keyboards/emi20/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Aquacylinder
-#define PRODUCT emi20
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B6 }
#define MATRIX_COL_PINS { C7, C6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/emi20/info.json b/keyboards/emi20/info.json
index 408c30d04b..79f5359e01 100644
--- a/keyboards/emi20/info.json
+++ b/keyboards/emi20/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Emi20",
+ "manufacturer": "Aquacylinder",
"url": "",
"maintainer": "Aquacylinder",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/emptystring/NQG/config.h b/keyboards/emptystring/NQG/config.h
index 9598707240..66abf55834 100644
--- a/keyboards/emptystring/NQG/config.h
+++ b/keyboards/emptystring/NQG/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0076
-#define PRODUCT_ID 0x0037
-#define DEVICE_VER 0x0100
-#define MANUFACTURER emptystring
-#define PRODUCT NQG
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
diff --git a/keyboards/emptystring/NQG/info.json b/keyboards/emptystring/NQG/info.json
index 14191209d6..6ccbc01370 100644
--- a/keyboards/emptystring/NQG/info.json
+++ b/keyboards/emptystring/NQG/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NQG (Not Quite Gherkin)",
+ "keyboard_name": "NQG",
+ "manufacturer": "emptystring",
"url": "",
"maintainer": "culturalsnow",
+ "usb": {
+ "vid": "0x0076",
+ "pid": "0x0037",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/eniigmakeyboards/ek60/config.h b/keyboards/eniigmakeyboards/ek60/config.h
index 2565375010..75cadda935 100644
--- a/keyboards/eniigmakeyboards/ek60/config.h
+++ b/keyboards/eniigmakeyboards/ek60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x454B
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eniigma Keyboards
-#define PRODUCT ek60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { B2, B1, B0, F0, B4 }
#define MATRIX_COL_PINS { F7, C6, F6, B6, F5, F4, B5, F1, E6, D0, D7, D5, D1, D3, D2 }
-#define UNUSED_PINS { B3, B7, C7, D4, D6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eniigmakeyboards/ek60/info.json b/keyboards/eniigmakeyboards/ek60/info.json
index 37bb01b0be..d2875196ba 100644
--- a/keyboards/eniigmakeyboards/ek60/info.json
+++ b/keyboards/eniigmakeyboards/ek60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ek60",
+ "keyboard_name": "EK60",
+ "manufacturer": "Eniigma Keyboards",
"url": "",
"maintainer": "adamws",
+ "usb": {
+ "vid": "0x454B",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout":[
diff --git a/keyboards/eniigmakeyboards/ek65/config.h b/keyboards/eniigmakeyboards/ek65/config.h
index 7a272c1491..a3872f02f2 100644
--- a/keyboards/eniigmakeyboards/ek65/config.h
+++ b/keyboards/eniigmakeyboards/ek65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x454B
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eniigma Keyboards
-#define PRODUCT ek65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, E6, B2, B1, B0 }
-#define UNUSED_PINS { B3, B7, D4, D6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eniigmakeyboards/ek65/info.json b/keyboards/eniigmakeyboards/ek65/info.json
index 361a444128..a957ae1512 100644
--- a/keyboards/eniigmakeyboards/ek65/info.json
+++ b/keyboards/eniigmakeyboards/ek65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ek65",
+ "keyboard_name": "EK65",
+ "manufacturer": "Eniigma Keyboards",
"url": "",
"maintainer": "adamws",
+ "usb": {
+ "vid": "0x454B",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout":[
diff --git a/keyboards/eniigmakeyboards/ek87/config.h b/keyboards/eniigmakeyboards/ek87/config.h
index 838f46f844..133738e460 100644
--- a/keyboards/eniigmakeyboards/ek87/config.h
+++ b/keyboards/eniigmakeyboards/ek87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x454B
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eniigma Keyboards
-#define PRODUCT Eniigma Keyboards ek87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, F0, F1, E6, D3, D2, D1 }
-#define UNUSED_PINS { D5 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eniigmakeyboards/ek87/info.json b/keyboards/eniigmakeyboards/ek87/info.json
index 6f934e75a8..c05ca3bcd9 100644
--- a/keyboards/eniigmakeyboards/ek87/info.json
+++ b/keyboards/eniigmakeyboards/ek87/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ek87",
+ "keyboard_name": "EK87",
+ "manufacturer": "Eniigma Keyboards",
"url": "",
"maintainer": "adamws",
+ "usb": {
+ "vid": "0x454B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout":[
diff --git a/keyboards/ep/40/config.h b/keyboards/ep/40/config.h
index 780d64fd69..fb67f5509c 100644
--- a/keyboards/ep/40/config.h
+++ b/keyboards/ep/40/config.h
@@ -19,13 +19,6 @@ 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 0x4040
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT ep40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/ep/40/info.json b/keyboards/ep/40/info.json
index 58e76c608c..3c482198d5 100644
--- a/keyboards/ep/40/info.json
+++ b/keyboards/ep/40/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name":"ep40",
+ "manufacturer": "Elliot Powell",
"maintainer":"e11i0t23",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4040",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"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, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":2.25}, {"x":5.25, "y":3, "w":2.75}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/ep/96/config.h b/keyboards/ep/96/config.h
index bcb1074867..a7d9d1a91b 100644
--- a/keyboards/ep/96/config.h
+++ b/keyboards/ep/96/config.h
@@ -19,13 +19,6 @@ 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 0x9696
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT ep96
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B3, B2, B7, C6 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C7, F7, F6, F5, F4, F1, F0, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ep/96/info.json b/keyboards/ep/96/info.json
index 6f216064eb..8f964f670c 100644
--- a/keyboards/ep/96/info.json
+++ b/keyboards/ep/96/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "ep96",
+ "manufacturer": "Elliot Powell",
"maintainer": "e11i0t23",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9696",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ep/comsn/hs68/config.h b/keyboards/ep/comsn/hs68/config.h
index e26f07044c..7998faf673 100644
--- a/keyboards/ep/comsn/hs68/config.h
+++ b/keyboards/ep/comsn/hs68/config.h
@@ -19,13 +19,6 @@ 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 0x6868
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT ephs68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B6, B5, B4, D0, F6 }
#define MATRIX_COL_PINS \
{ B0, B1, B3, B2, B7, D3, F1, D5, D6, D7, F4, F5, C7, C6, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ep/comsn/hs68/info.json b/keyboards/ep/comsn/hs68/info.json
index 8463ce491b..631afb029b 100644
--- a/keyboards/ep/comsn/hs68/info.json
+++ b/keyboards/ep/comsn/hs68/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "EPHS68",
+ "manufacturer": "Elliot Powell",
"maintainer": "Elliot Powell (u/e11i0t23)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6868",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ep/comsn/mollydooker/config.h b/keyboards/ep/comsn/mollydooker/config.h
index def201cd8b..416f3b5477 100644
--- a/keyboards/ep/comsn/mollydooker/config.h
+++ b/keyboards/ep/comsn/mollydooker/config.h
@@ -19,13 +19,6 @@ 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 0x9696
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT mollydooker
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F4, F5, F6, F7, D2 }
#define MATRIX_COL_PINS \
{ B1, B2, B3, E6, B7, F1, F0, D0, D1, D7, D5, D4, D6, B4, B5, D3, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ep/comsn/mollydooker/info.json b/keyboards/ep/comsn/mollydooker/info.json
index 611efe6c64..58d7bb288c 100644
--- a/keyboards/ep/comsn/mollydooker/info.json
+++ b/keyboards/ep/comsn/mollydooker/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "mollydooker",
+ "manufacturer": "Elliot Powell",
"maintainer": "Elliot Powell (u/e11i0t23)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9696",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ep/comsn/tf_longeboye/config.h b/keyboards/ep/comsn/tf_longeboye/config.h
index f02d560330..964705bff3 100644
--- a/keyboards/ep/comsn/tf_longeboye/config.h
+++ b/keyboards/ep/comsn/tf_longeboye/config.h
@@ -19,13 +19,6 @@ 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 0x9696
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Elliot Powell
-#define PRODUCT TF Longeboye
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B5, B4, D1, D2, D3 }
#define MATRIX_COL_PINS \
{ F4, F5, F6, F7, B1, B3, B2, B6, F0, F1, C7, D5, B7, E6, D7, C6, D4, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ep/comsn/tf_longeboye/info.json b/keyboards/ep/comsn/tf_longeboye/info.json
index e6992f4481..3fa58d61c1 100644
--- a/keyboards/ep/comsn/tf_longeboye/info.json
+++ b/keyboards/ep/comsn/tf_longeboye/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "tf_longeboye",
+ "keyboard_name": "TF Longeboye",
+ "manufacturer": "Elliot Powell",
"maintainer": "Elliot Powell (u/e11i0t23)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9696",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/epoch80/config.h b/keyboards/epoch80/config.h
index ba79c4c26c..7c1e66ddc0 100644
--- a/keyboards/epoch80/config.h
+++ b/keyboards/epoch80/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6463
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER caryworks
-#define PRODUCT epoch80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D1, D0, B3, B0, B2, B1 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D6, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/epoch80/info.json b/keyboards/epoch80/info.json
index 97a23cac6d..f3e74171c0 100644
--- a/keyboards/epoch80/info.json
+++ b/keyboards/epoch80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "epoch80",
+ "manufacturer": "caryworks",
"url": "https://kbdfans.com/collections/80-diy-kit/products/coming-soon-epoch-80-mechanical-keyboard",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x6463",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ergodox_ez/base/info.json b/keyboards/ergodox_ez/base/info.json
new file mode 100644
index 0000000000..be1433ccba
--- /dev/null
+++ b/keyboards/ergodox_ez/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ErgoDox EZ",
+ "usb": {
+ "pid": "0x4974"
+ }
+}
diff --git a/keyboards/ergodox_ez/base/rules.mk b/keyboards/ergodox_ez/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/ergodox_ez/base/rules.mk
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index f25ff162cd..8a3f4eb7dc 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -22,13 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3297
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZSA Technology Labs
-#define PRODUCT_ID 0x4974
-#define PRODUCT ErgoDox EZ
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
diff --git a/keyboards/ergodox_ez/glow/config.h b/keyboards/ergodox_ez/glow/config.h
deleted file mode 100644
index 674b7bffb0..0000000000
--- a/keyboards/ergodox_ez/glow/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
-Copyright 2015 ZSA Technology Labs Inc (@zsa)
-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
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x4976
-#undef PRODUCT
-#define PRODUCT ErgoDox EZ Glow
diff --git a/keyboards/ergodox_ez/glow/info.json b/keyboards/ergodox_ez/glow/info.json
new file mode 100644
index 0000000000..dcbb1999ca
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ErgoDox EZ Glow",
+ "usb": {
+ "pid": "0x4976"
+ }
+}
diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json
index 1682f4bb45..46a0fbbacd 100644
--- a/keyboards/ergodox_ez/info.json
+++ b/keyboards/ergodox_ez/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "ErgoDox EZ",
+ "manufacturer": "ZSA Technology Labs",
"url": "ergodox-ez.com",
"maintainer": "ZSA via Drashna",
+ "usb": {
+ "vid": "0x3297",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ergodox": {
"layout": [
diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
index a5b107baae..91798ab188 100755
--- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
@@ -190,7 +190,7 @@ static bool is_macro1_recording = false;
// The current set of active layers (as a bitmask).
// 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;
+static layer_state_t current_layer_state = 0;
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
diff --git a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
index 5c08d30727..67c50eb129 100644
--- a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c
@@ -200,7 +200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
@@ -262,4 +262,3 @@ void matrix_scan_user(void) {
// }
// return true;
//}
-
diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
index 229ece0d74..eff7f111b4 100644
--- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
@@ -98,7 +98,7 @@ static bool is_macro1_recording = false;
// The current set of active layers (as a bitmask).
// 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;
+static layer_state_t current_layer_state = 0;
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
diff --git a/keyboards/ergodox_ez/keymaps/danielo515/keymap.c b/keyboards/ergodox_ez/keymaps/danielo515/keymap.c
index ee8c321352..68ddeedc22 100644
--- a/keyboards/ergodox_ez/keymaps/danielo515/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/danielo515/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_AMPR ,KC_LPRN ,KC_RPRN ,CLN_EQ ,KC_KP_PLUS ,KC_PIPE ,
LALT(LSFT(KC_DOWN)),KC_EXLM ,KC_TILD ,KC_CIRC ,ARROW ,KC_BSLASH ,KC_BSLASH ,
KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,
- RESET ,KC_TRANSPARENT ,
+ QK_BOOT ,KC_TRANSPARENT ,
KC_TRANSPARENT ,
KC_TRANSPARENT ,KC_TRANSPARENT ,KC_SPACE
),
diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
index 73b1077b83..3ab66078fe 100644
--- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
index fab2977356..48b2dec636 100644
--- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
@@ -20,8 +20,6 @@
// debounce settings
// remove these after getting a new keyboard
// #define DEBOUNCE 50
-// #define QMK_KEYS_PER_SCAN 4
-
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
@@ -269,7 +267,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P),
KC_TRNS,MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS,
// bottom row
- RESET,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ QK_BOOT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster
KC_TRNS,KC_TRNS,
KC_TRNS,
@@ -725,7 +723,7 @@ void led_set_user(uint8_t usb_led) {
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_2_off();
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
index da20820787..acd3a44e16 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
@@ -7,6 +7,7 @@
#undef TAPPING_TERM
#define TAPPING_TERM 175
+#define TAPPING_TERM_PER_KEY
#undef DEBOUNCE
#define DEBOUNCE 15
@@ -24,7 +25,6 @@
#define LEADER_TIMEOUT 1000
#define PERMISSIVE_HOLD
-#define QMK_KEYS_PER_SCAN 4
#define DANCING_TERM 175
#define ONESHOT_TAP_TOGGLE 5
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c
index 71cf1053aa..7b2076e05b 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/hacker_dvorak.c
@@ -336,7 +336,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left thumb
XXXXXXX, XXXXXXX,
XXXXXXX,
- RESET, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX,
// right hand
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
index 59e3e2b0dc..1d5e1cee00 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c
@@ -13,14 +13,32 @@ qk_tap_dance_action_t tap_dance_actions[] = {
[RPRN_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_RBRC),
[LCBR_LABK] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_LABK),
[RCBR_RABK] = ACTION_TAP_DANCE_DOUBLE(KC_RCBR, KC_RABK),
- [SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, scln_coln_finished, scln_coln_reset, DANCING_TERM),
- [QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, quot_dquot_finished, quot_dquot_reset, DANCING_TERM),
- [DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, dot_comm_finished, dot_comm_reset, DANCING_TERM),
- [NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, none_lead_finished, none_lead_reset, DANCING_TERM),
- [U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, u_arrows_gui_finished, u_arrows_gui_reset, DANCING_TERM),
- [H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, h_mouse_gui_finished, h_mouse_gui_reset, DANCING_TERM),
- [J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, j_media_meh_finished, j_media_meh_reset, DANCING_TERM),
- [W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, w_media_meh_finished, w_media_meh_reset, DANCING_TERM),
- [K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset, DANCING_TERM),
- [M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, m_chords_hyper_finished, m_chords_hyper_reset, DANCING_TERM),
+ [SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_coln_finished, scln_coln_reset),
+ [QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quot_dquot_finished, quot_dquot_reset),
+ [DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dot_comm_finished, dot_comm_reset),
+ [NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, none_lead_finished, none_lead_reset),
+ [U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, u_arrows_gui_finished, u_arrows_gui_reset),
+ [H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, h_mouse_gui_finished, h_mouse_gui_reset),
+ [J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, j_media_meh_finished, j_media_meh_reset),
+ [W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, w_media_meh_finished, w_media_meh_reset),
+ [K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset),
+ [M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, m_chords_hyper_finished, m_chords_hyper_reset),
};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(SCLN_COLN):
+ case TD(QUOT_DQUO):
+ case TD(DOT_COMM):
+ case TD(NONE_LEAD):
+ case TD(U_ARR_GUI):
+ case TD(H_MOU_GUI):
+ case TD(J_MED_MEH):
+ case TD(W_MED_MEH):
+ case TD(K_NUM_HYP):
+ case TD(M_CHO_HYP):
+ return DANCING_TERM;
+ default:
+ return TAPPING_TERM;
+ }
+}
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 fd022681b0..ed407def79 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,6 +1,6 @@
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
switch (layer) {
case DVORAK:
diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
index b6edc17532..91884c8e76 100644
--- a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c
@@ -370,7 +370,7 @@ LEADER_EXTERNS();
void matrix_scan_user(void)
{
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ||
((get_oneshot_mods() & MOD_BIT(KC_LSFT)) &&
@@ -677,4 +677,4 @@ void matrix_init_user(void)
wait_ms(1000);
rgblight_effect_knight(50);
-} \ No newline at end of file
+}
diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/config.h b/keyboards/ergodox_ez/keymaps/ifohancroft/config.h
index 9a0d0e54f7..b279371a0b 100644
--- a/keyboards/ergodox_ez/keymaps/ifohancroft/config.h
+++ b/keyboards/ergodox_ez/keymaps/ifohancroft/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 IFo Hancroft
+/* Copyright 2022 IFo Hancroft
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,5 +17,9 @@
#pragma once
// place overrides here
-#define USB_POLLING_INTERVAL_MS 1
#define FORCE_NKRO
+#ifdef TAPPING_TOGGLE
+# undef TAPPING_TOGGLE
+#endif
+#define TAPPING_TOGGLE 3
+
diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c b/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c
index 56c1ff28a7..58c3beaeaa 100644
--- a/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2021 IFo Hancroft
+/* Copyright 2022 IFo Hancroft
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,19 +24,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
* |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | ESC | A | S | D | F | G | Del | | | H | J | K | L | ; | ' |
+ * | Esc | A | S | D | F | G | | | | H | J | K | L | ; | ' |
* |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------|
* | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
* |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------|
- * | Ctrl | Super | Alt | MO(4) | MO(3) | | MO(3) | Left | Down | Up | Right |
+ * | Ctrl | Super | Alt | | OSL(1) | | TT(1) | | Alt | Super | Ctrl |
* *-------------------------------------------------* *-------------------------------------------------*
*
* *-------------------* *-------------------*
- * | MO(2) | | | | |
+ * | | | | | |
* *---------+---------+---------| |---------+---------+---------*
* | | | | | | | |
* | Bckspc | Enter |---------| |---------| Enter | Space |
- * | | | Space | | | | |
+ * | | | SH_OS | | | | |
* *---------+---------+---------* *---------+---------+---------*
*/
@@ -44,88 +44,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, 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_DEL,
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,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(4), MO(3), MO(3), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_NO, OSL(1), TT(1), KC_NO, KC_RALT, KC_RGUI, KC_RCTL,
- MO(2), KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO,
- KC_BSPC, KC_ENT, KC_SPC, KC_NO, KC_ENT, KC_SPC
- ),
-
-
-
- /* Gaming Layer
- * *---------------------------------------------------------------------* *---------------------------------------------------------------------*
- * | | | | | | | 6 | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | |
- * *-------------------------------------------------* *-------------------------------------------------*
- *
- * *-------------------* *-------------------*
- * | | | | | |
- * *---------+---------+---------| |---------+---------+---------*
- * | | | | | | | |
- * | Space | |---------| |---------| | |
- * | | | | | | | |
- * *---------+---------+---------* *---------+---------+---------*
- */
-
- LAYOUT_ergodox_pretty(
- _______, _______, _______, _______, _______, _______, KC_6, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______,
- _______, _______,
- KC_SPC, _______, _______, _______, _______, _______
- ),
-
-
-
- /* Left Hand Layer
- * *---------------------------------------------------------------------* *---------------------------------------------------------------------*
- * | | 6 | 7 | 8 | 9 | 0 | = | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | \ | Y | U | I | O | P | ] | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | ' | H | J | K | L | ; | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------|
- * | | N | M | , | . | / | | | | | | | |
- * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | |
- * *-------------------------------------------------* *-------------------------------------------------*
- *
- * *-------------------* *-------------------*
- * | | | | | |
- * *---------+---------+---------| |---------+---------+---------*
- * | | | | | | | |
- * | | |---------| |---------| | |
- * | | | | | | | |
- * *---------+---------+---------* *---------+---------+---------*
- */
-
- LAYOUT_ergodox_pretty(
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, _______, _______, _______, _______, _______, _______, _______,
- KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, _______, _______, _______, _______, _______, _______, _______,
- KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______, _______, _______, _______, _______, _______,
- _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______,
- _______, _______,
- _______, _______, _______, _______, _______, _______
+ KC_BSPC, KC_ENT, SH_OS, KC_NO, KC_ENT, KC_SPC
),
-
-
/* Function Keys Layer
* *---------------------------------------------------------------------* *---------------------------------------------------------------------*
* | NumLock | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | |
@@ -134,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
* | | - | 4 | 5 | 6 | / | | | | Left | Down | Up | Right | | |
* |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------|
- * | | 0 | 1 | 2 | 3 | . | | | | | | | |
+ * | | 0 | 1 | 2 | 3 | . | | NK_TOGG | | | | | |
* |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | |
+ * | | | | | | | | Left | Down | Up | Right |
* *-------------------------------------------------* *-------------------------------------------------*
*
* *-------------------* *-------------------*
@@ -152,40 +78,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NUM, 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_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, NK_TOGG, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
_______, _______, _______, _______,
_______, _______,
_______, KC_PENT, KC_PGUP, KC_PGDN, _______, _______
),
+ /* Empty Layer */
+ LAYOUT_ergodox_pretty(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
- /* Layers Layer
- * *---------------------------------------------------------------------* *---------------------------------------------------------------------*
- * | | TO(0) | TO(1) | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | | | |
- * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------|
- * | | | | | | | | | | | |
- * *-------------------------------------------------* *-------------------------------------------------*
- *
- * *-------------------* *-------------------*
- * | | | | | |
- * *---------+---------+---------| |---------+---------+---------*
- * | | | | | | | |
- * | | |---------| |---------| | |
- * | | | | | | | |
- * *---------+---------+---------* *---------+---------+---------*
- */
-
+ /* Empty Layer */
LAYOUT_ergodox_pretty(
- _______, TO(0), TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -195,5 +111,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,
_______, _______, _______, _______, _______, _______
)
+};
+ /* Swap Hands
+ * *-------------------------------------------------*
+ * | Del | \ | ' | | |
+ * |---------+---------+---------+---------+---------+---------*
+ * | 6 | Y | H | N | | |
+ * |---------+---------+---------+---------+---------+---------|
+ * | 7 | U | J | M | | |
+ * |---------+---------+---------+---------+---------+---------|
+ * | 8 | I | K | , | | Space |
+ * |---------+---------+---------+---------+---------+---------|
+ * | 9 | O | L | . | | |
+ * |---------+---------+---------+---------+---------+---------|
+ * | 0 | P | ; | / | | |
+ * |---------+---------+---------+---------| |---------|
+ * | = | ] | | | | |
+ * *---------------------------------------* *---------*
+ */
+
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{0, 13}, {1, 13}, {2, 13}, {3, 0}, {4, 0}},
+ {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 1}, {5, 1}},
+ {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 2}, {5, 2}},
+ {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 3}, {5, 10}},
+ {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 4}, {5, 9}},
+ {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {0, 0}, {5, 8}},
+ {{0, 7}, {1, 7}, {0, 0}, {3, 7}, {0, 0}, {5, 7}},
+
+ {{0, 7}, {1, 7}, {0, 0}, {3, 7}, {0, 0}, {5, 7}},
+ {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {0, 0}, {5, 8}},
+ {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}},
+ {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {5, 10}},
+ {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {5, 11}},
+ {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}, {5, 12}},
+ {{0, 13}, {1, 13}, {2, 13}, {3, 13}, {4, 13}}
};
+
diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md b/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md
index daa581062c..7a94a05eae 100644
--- a/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md
+++ b/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md
@@ -1,20 +1,18 @@
-![IFo Hancroft ErgoDox EZ Layout Image](https://i.imgur.com/BlH0ZdE.png)
+![IFo Hancroft ErgoDox EZ Layout Image](https://i.imgur.com/bSWyBCV.png)
# IFo Hancroft's ErgoDox EZ Layout
-- Layer 0: A Standard ANSI QWERTY Layer. It adds some additional keys from the right half in-order to avoid having to lift your right hand of the mouse.
-- Layer 1: A Gaming Layer. It replaces the Backspace with a Space, and the Dash with a 6, so you can play CS:GO without needing to lift your right hand of the mouse.
-- Layer 2: A Left Hand Layer. It is basically a left hand version of the right half, so you can have access to a full-sized keyboard without needing to lift your right hand from the the mouse.
-- Layer 3: A Function Layer. It contains the F1-F12 keys, PgUp, PgDn, Numpad, and arrows on HJKL.
-- Layer 4: A Layer Switching Layer. The keys in this layer turn on a specific layer while disabling the rest. Basically, you come here to switch between the QWERTY and Gaming layers.
-
+- Layer 0: A QWERTY Layer.
+- Layer 1: A Function Layer.
+- Layer 2: Empty Layer.
+- Layer 3: Empty Layer.
This keymap also does the following:
-- Sets the polling rate of the keyboard to 1ms
- Forces NKRO on
- Enables:
- - Command
+ - Via
+ - The Swap Hands feature
- Disables:
- Mouse Key
- Extra Key
diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk b/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk
index 775ecbd12b..3b18c2b9d2 100644
--- a/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk
@@ -1,3 +1,4 @@
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = no
-COMMAND_ENABLE = yes
+SWAP_HANDS_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/ergodox_ez/keymaps/kou/keymap.c b/keyboards/ergodox_ez/keymaps/kou/keymap.c
index c8d0a6b5dd..01427c2d2d 100644
--- a/keyboards/ergodox_ez/keymaps/kou/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/kou/keymap.c
@@ -284,7 +284,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
index 5d797beb18..542e123db3 100644
--- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
@@ -813,7 +813,7 @@ case RU_7:
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
// ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
index 10b6567cdb..bb6ba5ae34 100644
--- a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
index e31391a674..a3c2176951 100644
--- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
@@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
@@ -431,4 +431,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return true;
}
-
diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
index 1d12093bab..39f2d5fe5b 100644
--- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
@@ -918,7 +918,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*=========================================================================================================*/
/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
- /**/ _______, /**/ KC_F14, /**/ KC_F15, /**/ _______, /**/ _______, /**/ _______, /**/ RESET, /**/
+ /**/ _______, /**/ KC_F14, /**/ KC_F15, /**/ _______, /**/ _______, /**/ _______, /**/ QK_BOOT, /**/
/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
/*=========================================================================================================*/
/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
@@ -1057,7 +1057,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
index 85455fa9d9..6f602e828e 100644
--- a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c
@@ -157,7 +157,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
index 024cefd270..c69621ab98 100644
--- a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
@@ -245,11 +245,11 @@ void keyboard_post_init_user_keymap(void) {
}
// light up leds based on the layer
-uint32_t layer_state_set_user_keymap(uint32_t state) {
+layer_state_t layer_state_set_user_keymap(layer_state_t state) {
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case LR_SYSCTL:
ergodox_right_led_3_on(); // blue
break;
@@ -306,7 +306,7 @@ uint32_t layer_state_set_user_keymap(uint32_t state) {
// SYSCTL on first tap, MOUSE ON second tap
// void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
-// uint8_t layer = biton32(layer_state);
+// uint8_t layer = get_highest_layer(layer_state);
// switch(state->count) {
// case 1:
diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h
index 1913a2d369..84c5adfc9e 100644
--- a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h
+++ b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h
@@ -2,13 +2,9 @@
#define KEYMAP_CONFIG_H
- #define RGBLIGHT_SLEEP
+#define RGBLIGHT_SLEEP
-#ifndef QMK_KEYS_PER_SCAN
-#define QMK_KEYS_PER_SCAN 4
-#endif // !QMK_KEYS_PER_SCAN
-
#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD
diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
index 3e607edb39..a41a21072c 100644
--- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SYMB] = LAYOUT_ergodox(
// left hand
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- RESET, KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ QK_BOOT, KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
EPRM,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
@@ -228,7 +228,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case SYMB:
ergodox_right_led_1_on();
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_red(); rgblight_mode_noeeprom(1); }
@@ -268,4 +268,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
return state;
}
-
diff --git a/keyboards/ergodox_ez/keymaps/rishka/keymap.c b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
index 102803e512..c39c0c476b 100644
--- a/keyboards/ergodox_ez/keymaps/rishka/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
@@ -101,7 +101,7 @@ _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______,
_______,
- RESET, _______, _______,
+ QK_BOOT, _______, _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
@@ -138,7 +138,7 @@ void keyboard_post_init_user(void) {
};
// Runs whenever there is a layer state change.
-uint32_t layer_state_set_user(layer_state_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/rmw/config.h b/keyboards/ergodox_ez/keymaps/rmw/config.h
index 1ecf8b8b79..1b7528a4a7 100644
--- a/keyboards/ergodox_ez/keymaps/rmw/config.h
+++ b/keyboards/ergodox_ez/keymaps/rmw/config.h
@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USB_MAX_POWER_CONSUMPTION 500
-#define QMK_KEYS_PER_SCAN 4
/* Set 0 if debouncing isn't needed */
#undef DEBOUNCE
#define DEBOUNCE 5
diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c
index 1446ea7466..04aa6a99fd 100644
--- a/keyboards/ergodox_ez/keymaps/skug/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c
@@ -228,7 +228,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
index 42ac13775f..13ae246e85 100644
--- a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MDIA] = LAYOUT_ergodox(
// left hand
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- RESET,_______,KC_BTN1,KC_MS_U,KC_BTN2,_______,_______,
+ QK_BOOT,_______,KC_BTN1,KC_MS_U,KC_BTN2,_______,_______,
_______,_______,KC_MS_L,KC_MS_D,KC_MS_R,_______,
_______,_______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,
_______,_______,_______,_______,_______,
@@ -139,7 +139,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if(layer == 1)
{
@@ -157,7 +157,7 @@ void matrix_scan_user(void) {
}
if(keyboard_report->mods & MOD_BIT(KC_LSFT))
- {
+ {
ergodox_right_led_1_set (LED_BRIGHTNESS_HI);
ergodox_right_led_1_on ();
} else {
@@ -182,7 +182,7 @@ void matrix_scan_user(void) {
}
if(keyboard_report->mods & MOD_BIT(KC_LCTRL))
- {
+ {
ergodox_right_led_3_set (LED_BRIGHTNESS_HI);
ergodox_right_led_3_on ();
} else {
@@ -195,7 +195,7 @@ void matrix_scan_user(void) {
};
void led_set_user(uint8_t usb_led){
- if (usb_led & (1 << USB_LED_CAPS_LOCK))
+ if (usb_led & (1 << USB_LED_CAPS_LOCK))
{
capsOn = true;
}else {
diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
index 19eecae03d..c03c6525af 100644
--- a/keyboards/ergodox_ez/keymaps/stamm/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______,
_______, _______,
_______,
_______, _______, _______,
diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c
index 080d3f6cef..0e5d7e3a22 100644
--- a/keyboards/ergodox_ez/keymaps/steno/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/steno/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 2: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | RESET | | | | | | | | | | | | | | |
+ * | QK_BOOT | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | MsUp | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ergodox(
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -228,7 +228,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c
index 5c1fc4af28..3aee63ddf1 100644
--- a/keyboards/ergodox_ez/keymaps/testing/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c
@@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/toshi0383/keymap.c b/keyboards/ergodox_ez/keymaps/toshi0383/keymap.c
index 77242596d2..c419f8893f 100644
--- a/keyboards/ergodox_ez/keymaps/toshi0383/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/toshi0383/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
- KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, _______,
+ KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, QK_BOOT, _______,
_______, _______, _______, _______, KC_LGUI,
_______, _______,
_______,
diff --git a/keyboards/ergodox_ez/keymaps/vim/keymap.c b/keyboards/ergodox_ez/keymaps/vim/keymap.c
index 948f2b4794..c1c037ef23 100644
--- a/keyboards/ergodox_ez/keymaps/vim/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/vim/keymap.c
@@ -330,7 +330,7 @@ void matrix_init_user(void) {
};
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index 1b4ace5ee5..021ea0f130 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -38,3 +38,5 @@ AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
MOUSE_SHARED_EP = no
+
+DEFAULT_FOLDER = ergodox_ez/base
diff --git a/keyboards/ergodox_ez/shine/config.h b/keyboards/ergodox_ez/shine/config.h
deleted file mode 100644
index cf4f59f3b8..0000000000
--- a/keyboards/ergodox_ez/shine/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
-Copyright 2015 ZSA Technology Labs Inc (@zsa)
-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
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x4975
-#undef PRODUCT
-#define PRODUCT ErgoDox EZ Shine
diff --git a/keyboards/ergodox_ez/shine/info.json b/keyboards/ergodox_ez/shine/info.json
new file mode 100644
index 0000000000..11c3a8b209
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ErgoDox EZ Shine",
+ "usb": {
+ "pid": "0x4975"
+ }
+}
diff --git a/keyboards/ergodox_ez/util/compile_keymap.py b/keyboards/ergodox_ez/util/compile_keymap.py
index b447ecaf5c..310512c920 100755
--- a/keyboards/ergodox_ez/util/compile_keymap.py
+++ b/keyboards/ergodox_ez/util/compile_keymap.py
@@ -27,29 +27,34 @@ PY2 = sys.version_info.major == 2
if PY2:
chr = unichr
-
KEYBOARD_LAYOUTS = {
# These map positions in the parsed layout to
# positions in the KEYMAP MATRIX
'ergodox_ez': [
- [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44],
- [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51],
- [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57],
- [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64],
- [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69],
- [ 32, 33], [70, 71 ],
- [ 34], [72 ],
- [ 35, 36, 37], [73, 74, 75 ],
+ [0, 1, 2, 3, 4, 5, 6],
+ [38, 39, 40, 41, 42, 43, 44],
+ [7, 8, 9, 10, 11, 12, 13],
+ [45, 46, 47, 48, 49, 50, 51],
+ [14, 15, 16, 17, 18, 19],
+ [52, 53, 54, 55, 56, 57],
+ [20, 21, 22, 23, 24, 25, 26],
+ [58, 59, 60, 61, 62, 63, 64],
+ [27, 28, 29, 30, 31],
+ [65, 66, 67, 68, 69],
+ [32, 33],
+ [70, 71],
+ [34],
+ [72],
+ [35, 36, 37],
+ [73, 74, 75],
]
}
-ROW_INDENTS = {
- 'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]
-}
+ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]}
BLANK_LAYOUTS = [
-# Compact Layout
-"""
+ # Compact Layout
+ """
.------------------------------------.------------------------------------.
| | | | | | | | | | | | | | |
!-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
@@ -70,8 +75,8 @@ BLANK_LAYOUTS = [
'-----------------' '-----------------'
""",
-# Wide Layout
-"""
+ # Wide Layout
+ """
.---------------------------------------------. .---------------------------------------------.
| | | | | | | | ! | | | | | | |
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
@@ -93,26 +98,22 @@ BLANK_LAYOUTS = [
""",
]
-
DEFAULT_CONFIG = {
- "keymaps_includes": [
- "keymap_common.h",
- ],
+ "keymaps_includes": ["keymap_common.h",],
'filler': "-+.'!:x",
'separator': "|",
'default_key_prefix': ["KC_"],
}
-
SECTIONS = [
'layout_config',
'layers',
]
-
# Markdown Parsing
-ONELINE_COMMENT_RE = re.compile(r"""
+ONELINE_COMMENT_RE = re.compile(
+ r"""
^ # comment must be at the start of the line
\s* # arbitrary whitespace
// # start of the comment
@@ -121,22 +122,26 @@ ONELINE_COMMENT_RE = re.compile(r"""
""", re.MULTILINE | re.VERBOSE
)
-INLINE_COMMENT_RE = re.compile(r"""
+INLINE_COMMENT_RE = re.compile(
+ r"""
([\,\"\[\]\{\}\d]) # anythig that might end a expression
\s+ # comment must be preceded by whitespace
// # start of the comment
\s # and succeded by whitespace
(?:[^\"\]\}\{\[]*) # the comment (except things which might be json)
$ # until the end of line
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
-TRAILING_COMMA_RE = re.compile(r"""
+TRAILING_COMMA_RE = re.compile(
+ r"""
, # the comma
(?:\s*) # arbitrary whitespace
$ # only works if the trailing comma is followed by newline
(\s*) # arbitrary whitespace
([\]\}]) # end of an array or object
-""", re.MULTILINE | re.VERBOSE)
+""", re.MULTILINE | re.VERBOSE
+)
def loads(raw_data):
@@ -178,9 +183,7 @@ def parse_config(path):
def end_section():
if section['start_line'] >= 0:
if section['name'] == 'layout_config':
- config.update(loads("\n".join(
- section['code_lines']
- )))
+ config.update(loads("\n".join(section['code_lines'])))
elif section['sub_name'].startswith('layer'):
layer_name = section['sub_name']
config['layer_lines'][layer_name] = section['code_lines']
@@ -215,6 +218,7 @@ def parse_config(path):
assert 'layout' in config
return config
+
# header file parsing
IF0_RE = re.compile(r"""
@@ -224,7 +228,6 @@ IF0_RE = re.compile(r"""
#endif
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
COMMENT_RE = re.compile(r"""
/\*
.*?
@@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags):
def partial(*args, **kwargs):
re_str = re_str_fmt.format(*args, **kwargs)
return re.compile(re_str, flags)
+
return partial
@@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r"""
) # capture group end
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
ENUM_RE = re.compile(r"""
(
enum
@@ -268,7 +271,6 @@ ENUM_RE = re.compile(r"""
) # capture group end
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
ENUM_KEY_REP = regex_partial(r"""
(
{} # the prefixes
@@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path):
include_path = os.path.join(dirpath, include)
if os.path.exists(include_path):
header_data = read_header_file(include_path)
- valid_keycodes.update(
- parse_keydefs(config, header_data)
- )
+ valid_keycodes.update(parse_keydefs(config, header_data))
return valid_keycodes
# Keymap Parsing
+
def iter_raw_codes(layer_lines, filler, separator):
filler_re = re.compile("[" + filler + " ]")
for line in layer_lines:
@@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r"""
(DF|TG|MO)\(\d+\)
""", re.VERBOSE)
-
MACRO_RE = re.compile(r"""
M\(\w+\)
""", re.VERBOSE)
-
UNICODE_RE = re.compile(r"""
U[0-9A-F]{4}
""", re.VERBOSE)
-
NON_CODE = re.compile(r"""
^[^A-Z0-9_]$
""", re.VERBOSE)
def parse_uni_code(raw_code):
- macro_id = "UC_" + (
- unicodedata.name(raw_code)
- .replace(" ", "_")
- .replace("-", "_")
- )
+ macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_"))
code = "M({})".format(macro_id)
uc_hex = "{:04X}".format(ord(raw_code))
return code, macro_id, uc_hex
@@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes):
def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
keymap = {}
- raw_codes = list(iter_raw_codes(
- layer_lines, config['filler'], config['separator']
- ))
+ raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator']))
indexed_codes = iter_indexed_codes(raw_codes, key_indexes)
key_prefixes = config['key_prefixes']
for raw_code, key_index, row_index in indexed_codes:
- code, macro_id, uc_hex = parse_code(
- raw_code, key_prefixes, valid_keycodes
- )
+ code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes)
# TODO: line numbers for invalid codes
- err_msg = "Could not parse key '{}' on row {}".format(
- raw_code, row_index
- )
+ err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index)
assert code is not None, err_msg
# print(repr(raw_code), repr(code), macro_id, uc_hex)
if macro_id:
@@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
def parse_keymaps(config, valid_keycodes):
keymaps = collections.OrderedDict()
- key_indexes = config.get(
- 'key_indexes', KEYBOARD_LAYOUTS[config['layout']]
- )
+ key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']])
# TODO: maybe validate key_indexes
for layer_name, layer_lines, in config['layer_lines'].items():
- keymaps[layer_name] = parse_keymap(
- config, key_indexes, layer_lines, valid_keycodes
- )
+ keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes)
return keymaps
+
# keymap.c output
USERCODE = """
@@ -453,7 +438,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
@@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{
}};
"""
-
UNICODE_MACRO_TEMPLATE = """
case {macro_id}:
unicode_action_function(0x{hi:02x}, 0x{lo:02x});
@@ -584,9 +568,7 @@ def unicode_macro_cases(config):
for macro_id, uc_hex in config['unicode_macros'].items():
hi = int(uc_hex, 16) >> 8
lo = int(uc_hex, 16) & 0xFF
- yield UNICODE_MACRO_TEMPLATE.format(
- macro_id=macro_id, hi=hi, lo=lo
- )
+ yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo)
def iter_keymap_lines(keymap, row_indents=None):
diff --git a/keyboards/ergodox_stm32/config.h b/keyboards/ergodox_stm32/config.h
index b627f44ebb..46514eaeb7 100644
--- a/keyboards/ergodox_stm32/config.h
+++ b/keyboards/ergodox_stm32/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1308
-#define DEVICE_VER 0x0101
-#define MANUFACTURER ErgoDox
-#define PRODUCT ErgoDox STM
-
#define MATRIX_ROWS 14
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
#define MATRIX_COLS 6
diff --git a/keyboards/ergodox_stm32/info.json b/keyboards/ergodox_stm32/info.json
index ee406e4743..e93c71e29c 100644
--- a/keyboards/ergodox_stm32/info.json
+++ b/keyboards/ergodox_stm32/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ErgoDox STM32",
+ "manufacturer": "ErgoDox",
"url": "github.com/codetector1374",
"maintainer": "codetector1374",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1308",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT_ergodox": {
"layout": [
diff --git a/keyboards/ergoslab/info.json b/keyboards/ergoslab/info.json
deleted file mode 100644
index e37a3b7cbf..0000000000
--- a/keyboards/ergoslab/info.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "keyboard_name": "ergoslab",
- "url": "https://github.com/tomsaleeba/ergoslab",
- "maintainer": "tomsaleeba",
- "layouts": {
- "LAYOUT_ergoslab": {
- "layout": [
- {"label":"Q", "x":0, "y":0.625},
- {"label":"W", "x":1, "y":0.125},
- {"label":"E", "x":2, "y":0},
- {"label":"R", "x":3, "y":0.125},
- {"label":"T", "x":4, "y":0.25},
- {"label":"Y", "x":8, "y":0.25},
- {"label":"U", "x":9, "y":0.125},
- {"label":"I", "x":10, "y":0},
- {"label":"O", "x":11, "y":0.125},
- {"label":"P", "x":12, "y":0.625},
- {"label":"A", "x":0, "y":1.625},
- {"label":"S", "x":1, "y":1.125},
- {"label":"D", "x":2, "y":1},
- {"label":"F", "x":3, "y":1.125},
- {"label":"G", "x":4, "y":1.25},
- {"label":"H", "x":8, "y":1.25},
- {"label":"J", "x":9, "y":1.125},
- {"label":"K", "x":10, "y":1},
- {"label":"L", "x":11, "y":1.125},
- {"label":";", "x":12, "y":1.625},
- {"label":"Z", "x":0, "y":2.625},
- {"label":"X", "x":1, "y":2.125},
- {"label":"C", "x":2, "y":2},
- {"label":"V", "x":3, "y":2.125},
- {"label":"B", "x":4, "y":2.25},
- {"label":"N", "x":8, "y":2.25},
- {"label":"M", "x":9, "y":2.125},
- {"label":",", "x":10, "y":2},
- {"label":".", "x":11, "y":2.125},
- {"label":"/", "x":12, "y":2.625},
- {"label":"'", "x":0, "y":3.625},
- {"label":"Alt", "x":1, "y":3.125},
- {"label":"Del", "x":2, "y":3},
- {"label":"Enter", "x":3, "y":3.125},
- {"label":"Shift", "x":4, "y":3.25},
- {"label":"Ctrl", "x":5, "y":3.25},
- {"label":"Numb", "x":7, "y":3.25},
- {"label":"Space", "x":8, "y":3.25},
- {"label":"Left", "x":9, "y":3.125},
- {"label":"Down", "x":10, "y":3},
- {"label":"Up", "x":11, "y":3.125},
- {"label":"Right", "x":12, "y":3.625},
- {"label":"[", "x":1, "y":4.25},
- {"label":"(", "x":2, "y":4.25},
- {"label":"Esc", "x":3, "y":4.25},
- {"label":"Media", "x":4, "y":4.25},
- {"label":"GUI", "x":5, "y":4.25},
- {"label":"Tab", "x":7, "y":4.25},
- {"label":"Mouse", "x":8, "y":4.25},
- {"label":"Bspc", "x":9, "y":4.25},
- {"label":")", "x":10, "y":4.25},
- {"label":"]", "x":11, "y":4.25}
- ]
- }
- }
-}
diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c
index 59415618a8..093d586eba 100644
--- a/keyboards/ergoslab/keymaps/default/keymap.c
+++ b/keyboards/ergoslab/keymaps/default/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGBLIGHT_ENABLE
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
switch (layer) {
case BASE:
rgblight_sethsv(HSV_ERGOSLAB_ORANGE);
diff --git a/keyboards/ergoslab/rev1/config.h b/keyboards/ergoslab/rev1/config.h
index b754a7810c..7bb092834b 100644
--- a/keyboards/ergoslab/rev1/config.h
+++ b/keyboards/ergoslab/rev1/config.h
@@ -17,13 +17,6 @@ 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 0x5148
-#define DEVICE_VER 0x0100
-#define MANUFACTURER tomsaleeba
-#define PRODUCT Ergoslab Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/ergoslab/rev1/info.json b/keyboards/ergoslab/rev1/info.json
new file mode 100644
index 0000000000..38530960a5
--- /dev/null
+++ b/keyboards/ergoslab/rev1/info.json
@@ -0,0 +1,69 @@
+{
+ "keyboard_name": "Ergoslab Keyboard",
+ "manufacturer": "tomsaleeba",
+ "url": "https://github.com/tomsaleeba/ergoslab",
+ "maintainer": "tomsaleeba",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5148",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT_ergoslab": {
+ "layout": [
+ {"label":"Q", "x":0, "y":0.625},
+ {"label":"W", "x":1, "y":0.125},
+ {"label":"E", "x":2, "y":0},
+ {"label":"R", "x":3, "y":0.125},
+ {"label":"T", "x":4, "y":0.25},
+ {"label":"Y", "x":8, "y":0.25},
+ {"label":"U", "x":9, "y":0.125},
+ {"label":"I", "x":10, "y":0},
+ {"label":"O", "x":11, "y":0.125},
+ {"label":"P", "x":12, "y":0.625},
+ {"label":"A", "x":0, "y":1.625},
+ {"label":"S", "x":1, "y":1.125},
+ {"label":"D", "x":2, "y":1},
+ {"label":"F", "x":3, "y":1.125},
+ {"label":"G", "x":4, "y":1.25},
+ {"label":"H", "x":8, "y":1.25},
+ {"label":"J", "x":9, "y":1.125},
+ {"label":"K", "x":10, "y":1},
+ {"label":"L", "x":11, "y":1.125},
+ {"label":";", "x":12, "y":1.625},
+ {"label":"Z", "x":0, "y":2.625},
+ {"label":"X", "x":1, "y":2.125},
+ {"label":"C", "x":2, "y":2},
+ {"label":"V", "x":3, "y":2.125},
+ {"label":"B", "x":4, "y":2.25},
+ {"label":"N", "x":8, "y":2.25},
+ {"label":"M", "x":9, "y":2.125},
+ {"label":",", "x":10, "y":2},
+ {"label":".", "x":11, "y":2.125},
+ {"label":"/", "x":12, "y":2.625},
+ {"label":"'", "x":0, "y":3.625},
+ {"label":"Alt", "x":1, "y":3.125},
+ {"label":"Del", "x":2, "y":3},
+ {"label":"Enter", "x":3, "y":3.125},
+ {"label":"Shift", "x":4, "y":3.25},
+ {"label":"Ctrl", "x":5, "y":3.25},
+ {"label":"Numb", "x":7, "y":3.25},
+ {"label":"Space", "x":8, "y":3.25},
+ {"label":"Left", "x":9, "y":3.125},
+ {"label":"Down", "x":10, "y":3},
+ {"label":"Up", "x":11, "y":3.125},
+ {"label":"Right", "x":12, "y":3.625},
+ {"label":"[", "x":1, "y":4.25},
+ {"label":"(", "x":2, "y":4.25},
+ {"label":"Esc", "x":3, "y":4.25},
+ {"label":"Media", "x":4, "y":4.25},
+ {"label":"GUI", "x":5, "y":4.25},
+ {"label":"Tab", "x":7, "y":4.25},
+ {"label":"Mouse", "x":8, "y":4.25},
+ {"label":"Bspc", "x":9, "y":4.25},
+ {"label":")", "x":10, "y":4.25},
+ {"label":"]", "x":11, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ergotravel/info.json b/keyboards/ergotravel/info.json
deleted file mode 100644
index 71e9cf7f4f..0000000000
--- a/keyboards/ergotravel/info.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "keyboard_name": "ErgoTravel",
- "identifier": "0x1256",
- "url": "https://github.com/jpconstantineau/ErgoTravel",
- "maintainer": "qmk",
- "bootloader": "caterina",
- "processor": "atmega32u4",
- "layouts": {
- "LAYOUT": {
- "layout": [{"label":"L00", "x":0, "y":0.375}, {"label":"L01", "x":1, "y":0.25}, {"label":"L02", "x":2, "y":0.125}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"L06", "x":6, "y":0.5}, {"label":"R00", "x":9, "y":0.5}, {"label":"R01", "x":10, "y":0.25}, {"label":"R02", "x":11, "y":0.125}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0.125}, {"label":"R05", "x":14, "y":0.25}, {"label":"R06", "x":15, "y":0.375}, {"label":"L10", "x":0, "y":1.375}, {"label":"L11", "x":1, "y":1.25}, {"label":"L12", "x":2, "y":1.125}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"L16", "x":6, "y":1.5}, {"label":"R10", "x":9, "y":1.5}, {"label":"R11", "x":10, "y":1.25}, {"label":"R12", "x":11, "y":1.125}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1.125}, {"label":"R15", "x":14, "y":1.25}, {"label":"R16", "x":15, "y":1.375}, {"label":"L20", "x":0, "y":2.375}, {"label":"L21", "x":1, "y":2.25}, {"label":"L22", "x":2, "y":2.125}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"L26", "x":6.5, "y":3}, {"label":"R20", "x":8.5, "y":3}, {"label":"R21", "x":10, "y":2.25}, {"label":"R22", "x":11, "y":2.125}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2.125}, {"label":"R25", "x":14, "y":2.25}, {"label":"R26", "x":15, "y":2.375}, {"label":"L30", "x":0, "y":3.375}, {"label":"L31", "x":1, "y":3.25}, {"label":"L32", "x":2, "y":3.125}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":5.5, "y":4}, {"label":"L35", "x":6.5, "y":4}, {"label":"R30", "x":8.5, "y":4}, {"label":"R31", "x":9.5, "y":4}, {"label":"R32", "x":12, "y":3}, {"label":"R33", "x":13, "y":3.125}, {"label":"R34", "x":14, "y":3.25}, {"label":"R35", "x":15, "y":3.375}]
- }
- }
-}
diff --git a/keyboards/ergotravel/keymaps/default/keymap.c b/keyboards/ergotravel/keymaps/default/keymap.c
index 7c96296a16..2a43968814 100644
--- a/keyboards/ergotravel/keymaps/default/keymap.c
+++ b/keyboards/ergotravel/keymaps/default/keymap.c
@@ -1,10 +1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
@@ -39,12 +41,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = LAYOUT(
-
+
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_4, KC_5, KC_6, KC_PLUS, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
KC_ENT, KC_7, KC_8, KC_9, KC_MINS, _______, _______, _______, _______, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
_______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-
+
),
[_ADJUST] = LAYOUT(
diff --git a/keyboards/ergotravel/keymaps/ian/keymap.c b/keyboards/ergotravel/keymaps/ian/keymap.c
index 0dbf3278ac..cd1e01043e 100644
--- a/keyboards/ergotravel/keymaps/ian/keymap.c
+++ b/keyboards/ergotravel/keymaps/ian/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------.
- BASELYR,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, RESET ,
+ BASELYR,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, QK_BOOT ,
//,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------.
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
//,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------.
diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
index a246476ddc..40cf1e3752 100644
--- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/ergotravel/keymaps/yanfali/keymap.c b/keyboards/ergotravel/keymaps/yanfali/keymap.c
index 399dc9998c..b2b62484a9 100644
--- a/keyboards/ergotravel/keymaps/yanfali/keymap.c
+++ b/keyboards/ergotravel/keymaps/yanfali/keymap.c
@@ -55,7 +55,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, KC_F11, KC_F12, 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, QK_BOOT,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/ergotravel/rev1/config.h b/keyboards/ergotravel/rev1/config.h
index 096a85d370..3703884c67 100644
--- a/keyboards/ergotravel/rev1/config.h
+++ b/keyboards/ergotravel/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A50 //JP
-#define PRODUCT_ID 0x4554 //ET
-#define DEVICE_VER 0x0100
-#define MANUFACTURER JPConstantineau.com
-#define PRODUCT ErgoTravel Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/ergotravel/rev1/info.json b/keyboards/ergotravel/rev1/info.json
new file mode 100644
index 0000000000..5170788eba
--- /dev/null
+++ b/keyboards/ergotravel/rev1/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "ErgoTravel Keyboard",
+ "manufacturer": "JPConstantineau.com",
+ "url": "https://github.com/jpconstantineau/ErgoTravel",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4A50",
+ "pid": "0x4554",
+ "device_version": "1.0.0"
+ },
+ "bootloader": "caterina",
+ "processor": "atmega32u4",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"L00", "x":0, "y":0.375}, {"label":"L01", "x":1, "y":0.25}, {"label":"L02", "x":2, "y":0.125}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"L06", "x":6, "y":0.5}, {"label":"R00", "x":9, "y":0.5}, {"label":"R01", "x":10, "y":0.25}, {"label":"R02", "x":11, "y":0.125}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0.125}, {"label":"R05", "x":14, "y":0.25}, {"label":"R06", "x":15, "y":0.375}, {"label":"L10", "x":0, "y":1.375}, {"label":"L11", "x":1, "y":1.25}, {"label":"L12", "x":2, "y":1.125}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"L16", "x":6, "y":1.5}, {"label":"R10", "x":9, "y":1.5}, {"label":"R11", "x":10, "y":1.25}, {"label":"R12", "x":11, "y":1.125}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1.125}, {"label":"R15", "x":14, "y":1.25}, {"label":"R16", "x":15, "y":1.375}, {"label":"L20", "x":0, "y":2.375}, {"label":"L21", "x":1, "y":2.25}, {"label":"L22", "x":2, "y":2.125}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"L26", "x":6.5, "y":3}, {"label":"R20", "x":8.5, "y":3}, {"label":"R21", "x":10, "y":2.25}, {"label":"R22", "x":11, "y":2.125}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2.125}, {"label":"R25", "x":14, "y":2.25}, {"label":"R26", "x":15, "y":2.375}, {"label":"L30", "x":0, "y":3.375}, {"label":"L31", "x":1, "y":3.25}, {"label":"L32", "x":2, "y":3.125}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":5.5, "y":4}, {"label":"L35", "x":6.5, "y":4}, {"label":"R30", "x":8.5, "y":4}, {"label":"R31", "x":9.5, "y":4}, {"label":"R32", "x":12, "y":3}, {"label":"R33", "x":13, "y":3.125}, {"label":"R34", "x":14, "y":3.25}, {"label":"R35", "x":15, "y":3.375}]
+ }
+ }
+}
diff --git a/keyboards/ericrlau/numdiscipline/info.json b/keyboards/ericrlau/numdiscipline/info.json
deleted file mode 100644
index 202aceda76..0000000000
--- a/keyboards/ericrlau/numdiscipline/info.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "keyboard_name": "ELau NumDiscipline KB",
- "url": "https://github.com/ericrlau/NumDiscipline",
- "maintainer": "ericrlau",
- "layouts": {
- "LAYOUT_all": {
- "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Alt", "x":10, "y":4}, {"label":"Right Ctrl", "x":11, "y":4}, {"label":"Func", "x":12, "y":4}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
- },
- "LAYOUT_std_2_right_mods": {
- "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Ctrl", "x":10, "y":4, "w":1.5}, {"label":"Func", "x":11.5, "y":4, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
- },
- "LAYOUT_wkl_2_right_mods": {
- "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Ctrl", "x":10, "y":4, "w":1.5}, {"label":"Func", "x":11.5, "y":4, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
- },
- "LAYOUT_wkl_3_right_mods": {
- "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Alt", "x":10, "y":4}, {"label":"Right Ctrl", "x":11, "y":4}, {"label":"Func", "x":12, "y":4}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
- }
- }
-}
diff --git a/keyboards/ericrlau/numdiscipline/rev1/config.h b/keyboards/ericrlau/numdiscipline/rev1/config.h
index 72abf556d4..57c969ca79 100644
--- a/keyboards/ericrlau/numdiscipline/rev1/config.h
+++ b/keyboards/ericrlau/numdiscipline/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x454C // EL
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ELau
-#define PRODUCT NumDiscipline
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B2, A1, B1, A0, B0 }
#define MATRIX_COL_PINS { A2, B3, A3, B4, A4, D5, D6, C6, C5, C4, C3, C2, C1, C0, D7, A5, A6, A7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ericrlau/numdiscipline/rev1/info.json b/keyboards/ericrlau/numdiscipline/rev1/info.json
new file mode 100644
index 0000000000..cdaa9be039
--- /dev/null
+++ b/keyboards/ericrlau/numdiscipline/rev1/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "NumDiscipline",
+ "manufacturer": "ELau",
+ "url": "https://github.com/ericrlau/NumDiscipline",
+ "maintainer": "ericrlau",
+ "usb": {
+ "vid": "0x454C",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Alt", "x":10, "y":4}, {"label":"Right Ctrl", "x":11, "y":4}, {"label":"Func", "x":12, "y":4}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
+ },
+ "LAYOUT_std_2_right_mods": {
+ "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Ctrl", "x":10, "y":4, "w":1.5}, {"label":"Func", "x":11.5, "y":4, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
+ },
+ "LAYOUT_wkl_2_right_mods": {
+ "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Ctrl", "x":10, "y":4, "w":1.5}, {"label":"Func", "x":11.5, "y":4, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
+ },
+ "LAYOUT_wkl_3_right_mods": {
+ "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":"Del", "x":15.5, "y":0}, {"label":"", "x":16.5, "y":0}, {"label":"", "x":17.5, "y":0}, {"label":"", "x":18.5, "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":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1, "h":2}, {"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":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"Left 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":"Right Shift", "x":12.25, "y":3, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":3.25}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"Left Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Left Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"Right Alt", "x":10, "y":4}, {"label":"Right Ctrl", "x":11, "y":4}, {"label":"Func", "x":12, "y":4}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":4.25}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":4.25}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/esca/getawayvan/config.h b/keyboards/esca/getawayvan/config.h
index 34498cc3fb..a3ccbc7f30 100644
--- a/keyboards/esca/getawayvan/config.h
+++ b/keyboards/esca/getawayvan/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE5CA
-#define PRODUCT_ID 0x0401
-#define DEVICE_VER 0x0001
-#define MANUFACTURER esca
-#define PRODUCT GetawayVan
-
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/esca/getawayvan/info.json b/keyboards/esca/getawayvan/info.json
index e49d4a8e47..2d793203f3 100644
--- a/keyboards/esca/getawayvan/info.json
+++ b/keyboards/esca/getawayvan/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GetawayVan",
+ "manufacturer": "esca",
"url": "",
"maintainer": "esca",
+ "usb": {
+ "vid": "0xE5CA",
+ "pid": "0x0401",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"NoNo Key", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"\"", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3, "w":1.25}, {"label":"Alt", "x":2.25, "y":3}, {"label":"", "x":3.25, "y":3, "w":2.75}, {"label":"", "x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}]
diff --git a/keyboards/esca/getawayvan/keymaps/7u/keymap.c b/keyboards/esca/getawayvan/keymaps/7u/keymap.c
index c837b1d4af..5e20978332 100644
--- a/keyboards/esca/getawayvan/keymaps/7u/keymap.c
+++ b/keyboards/esca/getawayvan/keymaps/7u/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT( /* LAYER 3 */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS
diff --git a/keyboards/esca/getawayvan_f042/config.h b/keyboards/esca/getawayvan_f042/config.h
index 6812d4e52b..a3ccbc7f30 100644
--- a/keyboards/esca/getawayvan_f042/config.h
+++ b/keyboards/esca/getawayvan_f042/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE5CA
-#define PRODUCT_ID 0x0401
-#define DEVICE_VER 0x0001
-#define MANUFACTURER esca
-#define PRODUCT GetawayVan
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/esca/getawayvan_f042/info.json b/keyboards/esca/getawayvan_f042/info.json
index e49d4a8e47..2d793203f3 100644
--- a/keyboards/esca/getawayvan_f042/info.json
+++ b/keyboards/esca/getawayvan_f042/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GetawayVan",
+ "manufacturer": "esca",
"url": "",
"maintainer": "esca",
+ "usb": {
+ "vid": "0xE5CA",
+ "pid": "0x0401",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"NoNo Key", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"\"", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3, "w":1.25}, {"label":"Alt", "x":2.25, "y":3}, {"label":"", "x":3.25, "y":3, "w":2.75}, {"label":"", "x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}]
diff --git a/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c b/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c
index c837b1d4af..5e20978332 100644
--- a/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c
+++ b/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT( /* LAYER 3 */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS
diff --git a/keyboards/eternal_keypad/config.h b/keyboards/eternal_keypad/config.h
index 5b5ad02f44..29933bcbb0 100644
--- a/keyboards/eternal_keypad/config.h
+++ b/keyboards/eternal_keypad/config.h
@@ -19,13 +19,6 @@ 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 0xDB00
-#define DEVICE_VER 0x0001
-#define MANUFACTURER duckyb
-#define PRODUCT eternal_keypad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -62,6 +54,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 8
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_ANIMATIONS
+
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
diff --git a/keyboards/eternal_keypad/info.json b/keyboards/eternal_keypad/info.json
index 2bdf9624ce..55c4d67bed 100644
--- a/keyboards/eternal_keypad/info.json
+++ b/keyboards/eternal_keypad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "eternal_keypad",
+ "manufacturer": "duckyb",
"url": "https://github.com/duckyb/eternal-keypad",
"maintainer": "duckyb",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xDB00",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/eternal_keypad/keymaps/default/keymap.c b/keyboards/eternal_keypad/keymaps/default/keymap.c
index f4d06bc1ff..d94b0781f6 100644
--- a/keyboards/eternal_keypad/keymaps/default/keymap.c
+++ b/keyboards/eternal_keypad/keymaps/default/keymap.c
@@ -44,23 +44,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F15, KC_LCTL, OSL(_FN), KC_LALT, KC_SPC, LT(_ARROW, KC_0)
),
/* Arrows Layer
- * ,-----------------------------------------.
- * | | | | | | | | |
- * | |-------+----+----+-----+---+---+---|
- * | | | | UP| | | | |
- * |----||-------+----+----+-----+---+---+---|
- * | || |LEFT|DOWN|RIGHT| | | |
- * |----||-------+----+----+-----+---+---+---|
- * | || | | | | | | |
- * |----||-----------------------------------|
- * | RST|| | | | | |
- * `----'`-----------------------------------'
+ * ,--------------------------------------------------.
+ * | | | | | | | | |
+ * | |-------+----+----+-----+----+-------+-------|
+ * | | | | UP| |RGB?| HUE+ | HUE- |
+ * |----||-------+----+----+-----+----+-------+-------|
+ * | || |LEFT|DOWN|RIGHT| |BRIGHT+|BRIGHT-|
+ * |----||-------+----+----+-----+----+-------+-------|
+ * | || | | | | | MODE+ | MODE- |
+ * |----||--------------------------------------------|
+ * | RST|| | | | | |
+ * `----'`--------------------------------------------'
*/
[_ARROW] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_UP, _______, RGB_TOG, RGB_HUI, RGB_HUD,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, RGB_VAI, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD,
QK_BOOT, _______, _______, _______, _______, _______
),
/* Function Layer
diff --git a/keyboards/eternal_keypad/keymaps/kyek/config.h b/keyboards/eternal_keypad/keymaps/kyek/config.h
index 226b16e546..36ab46334c 100644
--- a/keyboards/eternal_keypad/keymaps/kyek/config.h
+++ b/keyboards/eternal_keypad/keymaps/kyek/config.h
@@ -17,5 +17,3 @@
#define ONESHOT_TIMEOUT 2000
#define FORCE_NKRO
-#define USB_POLLING_INTERVAL_MS 1
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/eternal_keypad/keymaps/kyek/keymap.c b/keyboards/eternal_keypad/keymaps/kyek/keymap.c
index 592e73bc74..1dd2f2f0b3 100644
--- a/keyboards/eternal_keypad/keymaps/kyek/keymap.c
+++ b/keyboards/eternal_keypad/keymaps/kyek/keymap.c
@@ -57,11 +57,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----'`-----------------------------------'
*/
[_ARROW] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______,
- _______, KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, RGB_MODE_RGBTEST, RGB_TOG, RGB_HUI,
+ _______, _______, KC_UP, _______, _______, RGB_MODE_PLAIN, RGB_HUD,
+ _______, KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______, RGB_MODE_BREATHE, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, RGB_MODE_SWIRL, RGB_VAD,
+ QK_BOOT, _______, _______, _______, _______, _______
),
/* Function Layer
* ,-------------------------------------.
diff --git a/keyboards/eternal_keypad/keymaps/lefty/keymap.c b/keyboards/eternal_keypad/keymaps/lefty/keymap.c
index 886ac25ccd..2b14774aeb 100644
--- a/keyboards/eternal_keypad/keymaps/lefty/keymap.c
+++ b/keyboards/eternal_keypad/keymaps/lefty/keymap.c
@@ -44,24 +44,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F15, KC_LCTL, OSL(_FN), KC_LALT, KC_SPC, LT(_ARROW, KC_0)
),
/* Arrows Layer
- * ,-----------------------------------------.
- * | | | | | | | | |
- * | |-------+----+----+-----+---+---+---|
- * | | | | UP| | | | |
- * |----||-------+----+----+-----+---+---+---|
- * | || |RIGHT|DOWN|LEFT| | | |
- * |----||-------+----+----+-----+---+---+---|
- * | || | | | | | | |
- * |----||-----------------------------------|
- * | RST|| | | | | |
- * `----'`-----------------------------------'
+ * ,--------------------------------------------------.
+ * | | | | | | | | |
+ * | |-------+----+----+-----+----+-------+-------|
+ * | | | | UP| |RGB?| HUE+ | HUE- |
+ * |----||-------+----+----+-----+----+-------+-------|
+ * | || |LEFT|DOWN|RIGHT| |BRIGHT+|BRIGHT-|
+ * |----||-------+----+----+-----+----+-------+-------|
+ * | || | | | | | MODE+ | MODE- |
+ * |----||--------------------------------------------|
+ * | RST|| | | | | |
+ * `----'`--------------------------------------------'
*/
[_ARROW] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______,
- _______, _______, KC_RIGHT,KC_DOWN, KC_LEFT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______
+ _______, _______, KC_UP, _______, RGB_TOG, RGB_HUI, RGB_HUD,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, RGB_VAI, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD,
+ QK_BOOT, _______, _______, _______, _______, _______
),
/* Function Layer
* ,-------------------------------------.
diff --git a/keyboards/eternal_keypad/readme.md b/keyboards/eternal_keypad/readme.md
index 196f51b31d..05c13bc516 100644
--- a/keyboards/eternal_keypad/readme.md
+++ b/keyboards/eternal_keypad/readme.md
@@ -23,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,1) in the matrix (the top left key or Escape) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (activated by holding the lower right key and tapping the lower left key)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (activated by holding the lower right key and tapping the lower left key)
* **Physical reset button**: Briefly sort the pads labeled "RST" and "GND" on the micro-controller
diff --git a/keyboards/eternal_keypad/rules.mk b/keyboards/eternal_keypad/rules.mk
index e0403a960b..4d1d6e2d05 100644
--- a/keyboards/eternal_keypad/rules.mk
+++ b/keyboards/eternal_keypad/rules.mk
@@ -14,5 +14,5 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/eu_isolation/config.h b/keyboards/eu_isolation/config.h
index e1564b8d6b..0681896cb9 100644
--- a/keyboards/eu_isolation/config.h
+++ b/keyboards/eu_isolation/config.h
@@ -16,13 +16,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4373
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TuckTuckFloof
-#define PRODUCT EU ISOlation
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -30,7 +23,6 @@
/* NIU Mini PCB default pin-out */
#define MATRIX_ROW_PINS { D2, D3, F1, F0 }
#define MATRIX_COL_PINS { D0, D1, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eu_isolation/eu_isolation.h b/keyboards/eu_isolation/eu_isolation.h
index f4c9f11085..90ff29e69f 100644
--- a/keyboards/eu_isolation/eu_isolation.h
+++ b/keyboards/eu_isolation/eu_isolation.h
@@ -20,10 +20,10 @@
#define ___ KC_NO
#define LAYOUT_euiso_mit( \
- k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
+ 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, k2c, k2d, \
- k32, k33, k34, k35, k36, k37, k39, k3a, k3b, k3c, k3d \
+ k32, k33, k34, k35, k36, k37, k39, k3a, k3b, k3c, k3d \
) \
{ \
{ ___, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
@@ -33,10 +33,10 @@
}
#define LAYOUT_euiso_ortho( \
- k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
+ 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, k2c, k2d, \
- k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d \
+ k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d \
) \
{ \
{ ___, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
@@ -46,10 +46,10 @@
}
#define LAYOUT_euiso_bigspace( \
- k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
+ 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, k2c, k2d, \
- k32, k33, k37, k3c, k3d \
+ k32, k33, k37, k3c, k3d \
) \
{ \
{ ___, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
diff --git a/keyboards/eu_isolation/info.json b/keyboards/eu_isolation/info.json
index 03de853c42..5d82ca333b 100644
--- a/keyboards/eu_isolation/info.json
+++ b/keyboards/eu_isolation/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "EUISOlation",
+ "keyboard_name": "EU ISOlation",
+ "manufacturer": "TuckTuckFloof",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4373",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_euiso_ortho": {
"layout": [
@@ -17,6 +23,9 @@
{"x":11, "y":0},
{"x":12, "y":0},
{"x":13, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":4, "y":1},
@@ -29,8 +38,9 @@
{"x":11, "y":1},
{"x":12, "y":1},
{"x":13, "y":1},
- {"x":0, "y":1},
- {"x":1, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
{"x":2, "y":2},
{"x":3, "y":2},
{"x":4, "y":2},
@@ -43,8 +53,7 @@
{"x":11, "y":2},
{"x":12, "y":2},
{"x":13, "y":2},
- {"x":0, "y":2},
- {"x":1, "y":2},
+
{"x":2, "y":3},
{"x":3, "y":3},
{"x":4, "y":3},
@@ -74,6 +83,9 @@
{"x":11, "y":0},
{"x":12, "y":0},
{"x":13, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":4, "y":1},
@@ -86,8 +98,9 @@
{"x":11, "y":1},
{"x":12, "y":1},
{"x":13, "y":1},
- {"x":0, "y":1},
- {"x":1, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
{"x":2, "y":2},
{"x":3, "y":2},
{"x":4, "y":2},
@@ -100,8 +113,7 @@
{"x":11, "y":2},
{"x":12, "y":2},
{"x":13, "y":2},
- {"x":0, "y":2},
- {"x":1, "y":2},
+
{"x":2, "y":3},
{"x":3, "y":3},
{"x":4, "y":3},
@@ -130,6 +142,9 @@
{"x":11, "y":0},
{"x":12, "y":0},
{"x":13, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":4, "y":1},
@@ -142,8 +157,9 @@
{"x":11, "y":1},
{"x":12, "y":1},
{"x":13, "y":1},
- {"x":0, "y":1},
- {"x":1, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
{"x":2, "y":2},
{"x":3, "y":2},
{"x":4, "y":2},
@@ -156,8 +172,7 @@
{"x":11, "y":2},
{"x":12, "y":2},
{"x":13, "y":2},
- {"x":0, "y":2},
- {"x":1, "y":2},
+
{"x":2, "y":3, "w":1.25},
{"x":3.25, "y":3, "w":1.25},
{"x":4.5, "y":3, "w":7},
diff --git a/keyboards/eu_isolation/readme.md b/keyboards/eu_isolation/readme.md
index 711981ff02..c1272ea6a9 100644
--- a/keyboards/eu_isolation/readme.md
+++ b/keyboards/eu_isolation/readme.md
@@ -16,7 +16,7 @@ enters from you collection of keyboard kits.
Enter the bootloader in 3 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Information
diff --git a/keyboards/evancookaudio/sleepingdinosaur/config.h b/keyboards/evancookaudio/sleepingdinosaur/config.h
index ca1bdbf1c2..73c24861c5 100644
--- a/keyboards/evancookaudio/sleepingdinosaur/config.h
+++ b/keyboards/evancookaudio/sleepingdinosaur/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x636F
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0000
-#define MANUFACTURER evancook.audio
-#define PRODUCT sleepingdinosaur
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -39,4 +32,3 @@
#define MATRIX_ROW_PINS {D1, D0, D4, C6, D7}
#define MATRIX_COL_PINS {B3, B1, F7, F6, F5, F4}
-#define UNUSED_PINS
diff --git a/keyboards/evancookaudio/sleepingdinosaur/info.json b/keyboards/evancookaudio/sleepingdinosaur/info.json
index 2c21777d49..de5cab5eb4 100644
--- a/keyboards/evancookaudio/sleepingdinosaur/info.json
+++ b/keyboards/evancookaudio/sleepingdinosaur/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "evancook.audio sleepingdinosaur",
+ "keyboard_name": "sleepingdinosaur",
+ "manufacturer": "evancook.audio",
"url": "https://evancook.audio/",
"maintainer": "evanmcook",
+ "usb": {
+ "vid": "0x636F",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/evancookaudio/tenpad/config.h b/keyboards/evancookaudio/tenpad/config.h
index c9d7d05251..f72ffeb685 100644
--- a/keyboards/evancookaudio/tenpad/config.h
+++ b/keyboards/evancookaudio/tenpad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x636F
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0000
-#define MANUFACTURER evancook.audio
-#define PRODUCT tenpad
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -40,5 +33,4 @@
#define MATRIX_ROW_PINS {D0, D1}
#define MATRIX_COL_PINS {F4, F5, F6, F7, B1}
-#define UNUSED_PINS {B3, B2, B6, B7, D5, C7, F1, F0, B4, E6, D7, C6, D4 }
diff --git a/keyboards/evancookaudio/tenpad/info.json b/keyboards/evancookaudio/tenpad/info.json
index 52c62775dc..02ba27ccf3 100644
--- a/keyboards/evancookaudio/tenpad/info.json
+++ b/keyboards/evancookaudio/tenpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "evancook.audio tenpad",
+ "keyboard_name": "tenpad",
+ "manufacturer": "evancook.audio",
"url": "https://evancook.audio/",
"maintainer": "evanmcook",
+ "usb": {
+ "vid": "0x636F",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x5": {
diff --git a/keyboards/eve/meteor/config.h b/keyboards/eve/meteor/config.h
index a6b2c9b69d..fd40e2e568 100644
--- a/keyboards/eve/meteor/config.h
+++ b/keyboards/eve/meteor/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4556 // "EV"
-#define PRODUCT_ID 0x4D54 // "MT"
-#define DEVICE_VER 0x0200
-#define MANUFACTURER EVE
-#define PRODUCT Meteor
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B5, B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3, A2, A1, A0, D7}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/eve/meteor/info.json b/keyboards/eve/meteor/info.json
index 4c86d09bfd..4ec8488889 100644
--- a/keyboards/eve/meteor/info.json
+++ b/keyboards/eve/meteor/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "EVE Meteor",
+ "keyboard_name": "Meteor",
+ "manufacturer": "EVE",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4556",
+ "pid": "0x4D54",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5}, {"x":11, "y":5.5}, {"x":12, "y":5.5}, {"x":13, "y":5.5}, {"x":14, "y":5.5}]
diff --git a/keyboards/evil80/config.h b/keyboards/evil80/config.h
index 6876c0e086..bf086b394a 100644
--- a/keyboards/evil80/config.h
+++ b/keyboards/evil80/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evil
-#define PRODUCT Evil80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -16,7 +9,6 @@
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { F1, F4, F5, F0, B3, B0 }
#define MATRIX_COL_PINS { B2, D0, D1, D2, D3, D5, D4, D6, D7, B4, B1, C6, C7, E6, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evil80/info.json b/keyboards/evil80/info.json
index b37086c1a7..25d0dea712 100644
--- a/keyboards/evil80/info.json
+++ b/keyboards/evil80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Evil80",
+ "manufacturer": "Evil",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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}, {"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}, {"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":1.75}, {"x":14, "y":4.5}, {"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":"Win", "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}]
diff --git a/keyboards/evolv/config.h b/keyboards/evolv/config.h
index 3a3ff3be35..babc1d88c1 100644
--- a/keyboards/evolv/config.h
+++ b/keyboards/evolv/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7865 // NA for NathanAlpha
-#define PRODUCT_ID 0x0E75 // For Evolv75
-#define DEVICE_VER 0x0001 // Revision pre-Alpha
-#define MANUFACTURER NathanAlpha
-#define PRODUCT Evolv75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/evolv/info.json b/keyboards/evolv/info.json
index baa7b9c843..2eaf92e7d4 100644
--- a/keyboards/evolv/info.json
+++ b/keyboards/evolv/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Evolv75",
+ "manufacturer": "NathanAlpha",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7865",
+ "pid": "0x0E75",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_evolv_ansi": {
"layout": [
diff --git a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c
index ae72a3fd94..06203112c0 100644
--- a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c
+++ b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL),
[_L2] = LAYOUT_split_space(
- _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS,
KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______,
_______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
@@ -46,5 +46,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET)
+ _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, QK_BOOT)
};
diff --git a/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c b/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c
index 2150f33e2b..cb1eb4cf45 100644
--- a/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c
+++ b/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT),
[_RA] = LAYOUT_split_space(
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______,
diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c
index 8204bc32b4..6ccf1ba9e8 100644
--- a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c
+++ b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c
@@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Safety layer for special functions
[_ADJUST] = LAYOUT_split_space(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DP_ON,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h
index 42661c3311..a314395501 100644
--- a/keyboards/evyd13/atom47/rev2/config.h
+++ b/keyboards/evyd13/atom47/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x8E66
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Atom47 rev2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B1,B2,B3,B7}
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
diff --git a/keyboards/evyd13/atom47/rev2/info.json b/keyboards/evyd13/atom47/rev2/info.json
index 5603c0e247..6a57c77d64 100644
--- a/keyboards/evyd13/atom47/rev2/info.json
+++ b/keyboards/evyd13/atom47/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atom47 rev2",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x8E66",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [
diff --git a/keyboards/evyd13/atom47/rev3/config.h b/keyboards/evyd13/atom47/rev3/config.h
index 90cb4a1952..4ca725705b 100644
--- a/keyboards/evyd13/atom47/rev3/config.h
+++ b/keyboards/evyd13/atom47/rev3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0E6D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Atom47 rev3
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B3,B2,B1,B0}
#define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
diff --git a/keyboards/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json
index fc602f699b..bbeaea667e 100644
--- a/keyboards/evyd13/atom47/rev3/info.json
+++ b/keyboards/evyd13/atom47/rev3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atom47 rev3",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0E6D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [
diff --git a/keyboards/evyd13/atom47/rev4/config.h b/keyboards/evyd13/atom47/rev4/config.h
index a88c538716..8d8b477e4a 100644
--- a/keyboards/evyd13/atom47/rev4/config.h
+++ b/keyboards/evyd13/atom47/rev4/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x8446
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Atom47 rev4
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {D0,C2,C5,C6}
#define MATRIX_COL_PINS {C4,C7,B7,B6,B5,B2,B1,B0,D6,D5,D4,D3,D2}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B4 }
diff --git a/keyboards/evyd13/atom47/rev4/info.json b/keyboards/evyd13/atom47/rev4/info.json
index d0fbf98742..8e117850cb 100644
--- a/keyboards/evyd13/atom47/rev4/info.json
+++ b/keyboards/evyd13/atom47/rev4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atom47 rev4",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x8446",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [
diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h
index 25c419b4cd..d16ac9404f 100644
--- a/keyboards/evyd13/atom47/rev5/config.h
+++ b/keyboards/evyd13/atom47/rev5/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x92EA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Atom47 rev5
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS {B1,B2,B3,D4}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,D7,B4,B5,B6,C6,C7}
-#define UNUSED_PINS {B0,B7,D2,D3,D5,D6}
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json
index eae42fe746..4ecc240182 100644
--- a/keyboards/evyd13/atom47/rev5/info.json
+++ b/keyboards/evyd13/atom47/rev5/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atom47 rev5",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x92EA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [
diff --git a/keyboards/evyd13/eon40/config.h b/keyboards/evyd13/eon40/config.h
index 14cbe42099..3a3fdfccff 100644
--- a/keyboards/evyd13/eon40/config.h
+++ b/keyboards/evyd13/eon40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0140
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Eon40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {B7,D5,F5,F6}
#define MATRIX_COL_PINS {F0,F1,F4,D3,D4,D6,D7,B4,B5,B6,C6,C7}
-#define UNUSED_PINS {B1,B2,B3}
#define ENCODERS_PAD_A { E6, B0, D1 }
#define ENCODERS_PAD_B { F7, D0, D2 }
diff --git a/keyboards/evyd13/eon40/info.json b/keyboards/evyd13/eon40/info.json
index 38348b49b9..e255caf9fc 100644
--- a/keyboards/evyd13/eon40/info.json
+++ b/keyboards/evyd13/eon40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Eon40",
+ "manufacturer": "Evyd13",
"url": "https://maartenwut.com/product/eon40/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0140",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h
index 08922a2d4c..c9796792aa 100644
--- a/keyboards/evyd13/eon65/config.h
+++ b/keyboards/evyd13/eon65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xAEB4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Eon65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D3,D5,B1,B2,B3}
#define MATRIX_COL_PINS {B0,D2,D4,D6,D7,B4,B5,B6,C6,C7,F7,F6,F5,F4,F1,F0}
-#define UNUSED_PINS {B7,D0,D1}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/eon65/info.json b/keyboards/evyd13/eon65/info.json
index 41b1b056ee..26f70f5a52 100644
--- a/keyboards/evyd13/eon65/info.json
+++ b/keyboards/evyd13/eon65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Eon65",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xAEB4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c b/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c
index f9c7178f6a..091b0749a9 100644
--- a/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c
+++ b/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
*/
[1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT, KC_TRNS,
+ KC_BRIU, KC_TRNS, KC_TRNS, KC_END, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT, KC_TRNS,
KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS,
KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_NO, KC_MPRV, KC_NO, KC_MNXT
diff --git a/keyboards/evyd13/eon75/config.h b/keyboards/evyd13/eon75/config.h
index 203cfe8a7d..c77a0c9be9 100644
--- a/keyboards/evyd13/eon75/config.h
+++ b/keyboards/evyd13/eon75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x5C62
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Eon75
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3}
-#define UNUSED_PINS {B2,B1}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/eon75/info.json b/keyboards/evyd13/eon75/info.json
index 9730b069e8..4fe35a9090 100644
--- a/keyboards/evyd13/eon75/info.json
+++ b/keyboards/evyd13/eon75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Eon75",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x5C62",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h
index bfa593db51..4379f6106e 100644
--- a/keyboards/evyd13/eon87/config.h
+++ b/keyboards/evyd13/eon87/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xAA6B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Eon87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {B1,B2,B3,D4,D1,D5}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,E6,B7,D3,D2}
-#define UNUSED_PINS {B0}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/eon87/info.json b/keyboards/evyd13/eon87/info.json
index 1020ccd06e..d3bde7565e 100644
--- a/keyboards/evyd13/eon87/info.json
+++ b/keyboards/evyd13/eon87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Eon87",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xAA6B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/eon95/config.h b/keyboards/evyd13/eon95/config.h
index 6a6b329c29..4fb9906832 100644
--- a/keyboards/evyd13/eon95/config.h
+++ b/keyboards/evyd13/eon95/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x8A18
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Eon95
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3,B2,B1}
-#define UNUSED_PINS {}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/eon95/info.json b/keyboards/evyd13/eon95/info.json
index 18cb38ad2f..c165088997 100644
--- a/keyboards/evyd13/eon95/info.json
+++ b/keyboards/evyd13/eon95/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Eon95",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x8A18",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/fin_pad/config.h b/keyboards/evyd13/fin_pad/config.h
new file mode 100644
index 0000000000..2155d337a8
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/config.h
@@ -0,0 +1,20 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/evyd13/fin_pad/info.json b/keyboards/evyd13/fin_pad/info.json
new file mode 100644
index 0000000000..f2fb0b90a7
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/info.json
@@ -0,0 +1,88 @@
+{
+ "manufacturer": "Evelien Dekkers",
+ "keyboard_name": "Fin Pad",
+ "maintainer": "evyd13",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["C4", "C5", "D0", "C2"],
+ "rows": ["C6", "C7", "B7", "B6", "B5", "B4"]
+ },
+ "community_layouts": [
+ "numpad_6x4",
+ "ortho_6x4"
+ ],
+ "processor": "atmega32u2",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0xA6E2",
+ "vid": "0x4705"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_ortho_6x4"
+ },
+ "layouts": {
+ "LAYOUT_ortho_6x4": {
+ "layout": [
+ {"matrix": [0, 0], "label":"ESC", "x":0, "y":0},
+ {"matrix": [0, 1], "label":"TAB", "x":1, "y":0},
+ {"matrix": [0, 2], "label":"PEQL", "x":2, "y":0},
+ {"matrix": [0, 3], "label":"BSPC", "x":3, "y":0},
+ {"matrix": [1, 0], "label":"NUM", "x":0, "y":1.25},
+ {"matrix": [1, 1], "label":"PSLS", "x":1, "y":1.25},
+ {"matrix": [1, 2], "label":"PAST", "x":2, "y":1.25},
+ {"matrix": [1, 3], "label":"PMNS", "x":3, "y":1.25},
+ {"matrix": [2, 0], "label":"P7", "x":0, "y":2.25},
+ {"matrix": [2, 1], "label":"P8", "x":1, "y":2.25},
+ {"matrix": [2, 2], "label":"P9", "x":2, "y":2.25},
+ {"matrix": [2, 3], "label":"PPLS", "x":3, "y":2.25},
+ {"matrix": [3, 0], "label":"P4", "x":0, "y":3.25},
+ {"matrix": [3, 1], "label":"P5", "x":1, "y":3.25},
+ {"matrix": [3, 2], "label":"P6", "x":2, "y":3.25},
+ {"matrix": [3, 3], "label":"PPLS", "x":3, "y":3.25},
+ {"matrix": [4, 0], "label":"P1", "x":0, "y":4.25},
+ {"matrix": [4, 1], "label":"P2", "x":1, "y":4.25},
+ {"matrix": [4, 2], "label":"P3", "x":2, "y":4.25},
+ {"matrix": [4, 3], "label":"PENT", "x":3, "y":4.25},
+ {"matrix": [5, 0], "label":"P0", "x":0, "y":5.25},
+ {"matrix": [5, 1], "label":"P0", "x":1, "y":5.25},
+ {"matrix": [5, 2], "label":"PDOT", "x":2, "y":5.25},
+ {"matrix": [5, 3], "label":"PENT", "x":3, "y":5.25}
+ ]
+ },
+ "LAYOUT_numpad_6x4": {
+ "layout": [
+ {"matrix": [0, 0], "label":"ESC", "x":0, "y":0},
+ {"matrix": [0, 1], "label":"TAB", "x":1, "y":0},
+ {"matrix": [0, 2], "label":"PEQL", "x":2, "y":0},
+ {"matrix": [0, 3], "label":"BSPC", "x":3, "y":0},
+ {"matrix": [1, 0], "label":"NUM", "x":0, "y":1.25},
+ {"matrix": [1, 1], "label":"PSLS", "x":1, "y":1.25},
+ {"matrix": [1, 2], "label":"PAST", "x":2, "y":1.25},
+ {"matrix": [1, 3], "label":"PMNS", "x":3, "y":1.25},
+ {"matrix": [2, 0], "label":"P7", "x":0, "y":2.25},
+ {"matrix": [2, 1], "label":"P8", "x":1, "y":2.25},
+ {"matrix": [2, 2], "label":"P9", "x":2, "y":2.25},
+ {"matrix": [3, 0], "label":"P4", "x":0, "y":3.25},
+ {"matrix": [3, 1], "label":"P5", "x":1, "y":3.25},
+ {"matrix": [3, 2], "label":"P6", "x":2, "y":3.25},
+ {"matrix": [3, 3], "label":"PPLS", "x":3, "y":2.25, "h":2},
+ {"matrix": [4, 0], "label":"P1", "x":0, "y":4.25},
+ {"matrix": [4, 1], "label":"P2", "x":1, "y":4.25},
+ {"matrix": [4, 2], "label":"P3", "x":2, "y":4.25},
+ {"matrix": [5, 0], "label":"P0", "x":0, "y":5.25},
+ {"matrix": [5, 2], "label":"PDOT", "x":2, "y":5.25},
+ {"matrix": [5, 3], "label":"PENT", "x":3, "y":4.25, "h":2}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/evyd13/fin_pad/keymaps/default/keymap.c b/keyboards/evyd13/fin_pad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..2e59bc05b7
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/keymaps/default/keymap.c
@@ -0,0 +1,16 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ortho_6x4(
+ KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT
+ )
+};
diff --git a/keyboards/evyd13/fin_pad/keymaps/via/keymap.c b/keyboards/evyd13/fin_pad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f199e27981
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ )
+};
+
diff --git a/keyboards/evyd13/fin_pad/keymaps/via/rules.mk b/keyboards/evyd13/fin_pad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/evyd13/fin_pad/readme.md b/keyboards/evyd13/fin_pad/readme.md
new file mode 100644
index 0000000000..bfeec8e449
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/readme.md
@@ -0,0 +1,27 @@
+# Fin Pad
+
+![Fin Pad](https://i.imgur.com/OC5O2SZ.png)
+
+A replacement PCB for the Lin Dolphin Pad
+
+* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13)
+* Hardware Supported: Fin Pad PCB
+* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/fin-pad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make evyd13/fin_pad:default
+
+Flashing example for this keyboard:
+
+ make evyd13/fin_pad:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/evyd13/fin_pad/rules.mk b/keyboards/evyd13/fin_pad/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/evyd13/fin_pad/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/evyd13/gh80_1800/config.h b/keyboards/evyd13/gh80_1800/config.h
index d2fa370c0d..c1e0a1533c 100644
--- a/keyboards/evyd13/gh80_1800/config.h
+++ b/keyboards/evyd13/gh80_1800/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x8B23
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT GH80 1800
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 11
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D5,B4,B5,B6,C6,C7,B0,B2,B1,B3}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,D3,D2,D1,D0,B7}
-#define UNUSED_PINS {E6}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/gh80_1800/info.json b/keyboards/evyd13/gh80_1800/info.json
index 5019157c06..d85a412c99 100644
--- a/keyboards/evyd13/gh80_1800/info.json
+++ b/keyboards/evyd13/gh80_1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH80-1800",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/gh80-series/tree/master/GH80-1800",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x8B23",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/gh80_3700/config.h b/keyboards/evyd13/gh80_3700/config.h
index d05ca87958..a83c5563bf 100644
--- a/keyboards/evyd13/gh80_3700/config.h
+++ b/keyboards/evyd13/gh80_3700/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x633A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT GH80 3700
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {B3,C7,C6,B6,B5,B4}
#define MATRIX_COL_PINS {B0,D7,D6,D4}
-#define UNUSED_PINS {}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/gh80_3700/info.json b/keyboards/evyd13/gh80_3700/info.json
index 8f6402a45e..a5c128d29b 100644
--- a/keyboards/evyd13/gh80_3700/info.json
+++ b/keyboards/evyd13/gh80_3700/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH80-3700",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/gh80-series/tree/master/GH80-3700",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x633A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/evyd13/gud70/config.h b/keyboards/evyd13/gud70/config.h
index 395d1c303e..a6aeea3423 100644
--- a/keyboards/evyd13/gud70/config.h
+++ b/keyboards/evyd13/gud70/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x198B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Gud70
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D7,D6,D4,E6,B7}
#define MATRIX_COL_PINS {D5,D3,D2,D1,D0,B4,B5,B6,C6,C7,F0,F1,F4,F5,F6,F7}
-#define UNUSED_PINS {}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/gud70/info.json b/keyboards/evyd13/gud70/info.json
index bf0ac9df4e..c7d94c93a8 100644
--- a/keyboards/evyd13/gud70/info.json
+++ b/keyboards/evyd13/gud70/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gud70",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/gud70-pcb",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x198B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c b/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c
index 45c332a5d7..2fd6f56f8c 100644
--- a/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c
+++ b/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_APP),
[1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______,
diff --git a/keyboards/evyd13/minitomic/config.h b/keyboards/evyd13/minitomic/config.h
index 01af62d69d..f17184715f 100644
--- a/keyboards/evyd13/minitomic/config.h
+++ b/keyboards/evyd13/minitomic/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0145
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Minitomic
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {B1,B3,D4,D6}
#define MATRIX_COL_PINS {C6,B6,B5,B4,D7,F0,F1,F4,F5,F6,F7,B7,E6}
-#define UNUSED_PINS {B2,D0,D1,D2,D3,D5}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/minitomic/info.json b/keyboards/evyd13/minitomic/info.json
index 388569fac8..650442a736 100644
--- a/keyboards/evyd13/minitomic/info.json
+++ b/keyboards/evyd13/minitomic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Minitomic",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0145",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"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, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3, "w":1.75}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3}, {"x":9.25, "y":3, "w":1.25}, {"x":10.5, "y":3, "w":1.25}, {"x":11.75, "y":3, "w":1.25}]
diff --git a/keyboards/evyd13/mx5160/config.h b/keyboards/evyd13/mx5160/config.h
index 3d25e1704f..eccfd287b7 100644
--- a/keyboards/evyd13/mx5160/config.h
+++ b/keyboards/evyd13/mx5160/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x5160
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT MX-5160
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {C6,C7,B5,B6,D7,B4,D4,D6,D5,D3}
#define MATRIX_COL_PINS {D0,D1,D2,F7,F6,F5,F4,F1,F0,E6}
-#define UNUSED_PINS {B7,B0}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/evyd13/mx5160/info.json b/keyboards/evyd13/mx5160/info.json
index 7c1a0bb396..c1d7068048 100644
--- a/keyboards/evyd13/mx5160/info.json
+++ b/keyboards/evyd13/mx5160/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mx5160",
+ "keyboard_name": "MX-5160",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/mx-5160",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x5160",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":18, "y":0}, {"x":19, "y":0}, {"x":20, "y":0}, {"x":21, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":18, "y":1}, {"x":19, "y":1}, {"x":20, "y":1}, {"x":21, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.75}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2}, {"x":16.25, "y":2, "w":1.25}, {"x":18, "y":2}, {"x":19, "y":2}, {"x":20, "y":2}, {"x":21, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.5, "y":3}, {"x":18, "y":3}, {"x":19, "y":3}, {"x":20, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":7}, {"x":13.5, "y":4, "w":1.5}, {"x":16, "y":4, "w":1.5}, {"x":18, "y":4}, {"x":19, "y":4}, {"x":20, "y":4}, {"x":21, "y":3, "h":2}]
diff --git a/keyboards/evyd13/nt210/readme.md b/keyboards/evyd13/nt210/readme.md
index b6b7bc940e..3a7117bcd1 100644
--- a/keyboards/evyd13/nt210/readme.md
+++ b/keyboards/evyd13/nt210/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/evyd13/nt650/config.h b/keyboards/evyd13/nt650/config.h
new file mode 100644
index 0000000000..91cf8ceccb
--- /dev/null
+++ b/keyboards/evyd13/nt650/config.h
@@ -0,0 +1,22 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define LED_PIN_ON_STATE 0
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/evyd13/nt650/info.json b/keyboards/evyd13/nt650/info.json
new file mode 100644
index 0000000000..ca134daa2b
--- /dev/null
+++ b/keyboards/evyd13/nt650/info.json
@@ -0,0 +1,104 @@
+{
+ "manufacturer": "Evelien Dekkers",
+ "keyboard_name": "nt650",
+ "maintainer": "evyd13",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "ROW2COL",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "E6",
+ "scroll_lock": "E2"
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "C7", "C6", "B3", "B1", "B2", "B7", "D7", "B5", "B4", "D0", "B6", "D1"],
+ "rows": ["F7", "D6", "D4", "F1", "D5", "F0", "D3", "D2"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0xD5DF",
+ "vid": "0x4705"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_ansi_split_space"
+ },
+ "layouts": {
+ "LAYOUT_ansi_split_space": {
+ "layout": [
+ {"matrix": [0, 0], "label":"ESC", "x":0, "y":0},
+ {"matrix": [1, 0], "label":"1", "x":1, "y":0},
+ {"matrix": [1, 1], "label":"2", "x":2, "y":0},
+ {"matrix": [1, 2], "label":"3", "x":3, "y":0},
+ {"matrix": [1, 3], "label":"4", "x":4, "y":0},
+ {"matrix": [2, 3], "label":"5", "x":5, "y":0},
+ {"matrix": [2, 4], "label":"6", "x":6, "y":0},
+ {"matrix": [1, 4], "label":"7", "x":7, "y":0},
+ {"matrix": [1, 5], "label":"8", "x":8, "y":0},
+ {"matrix": [1, 6], "label":"9", "x":9, "y":0},
+ {"matrix": [1, 7], "label":"0", "x":10, "y":0},
+ {"matrix": [2, 7], "label":"MINS", "x":11, "y":0},
+ {"matrix": [2, 5], "label":"EQL", "x":12, "y":0},
+ {"matrix": [3, 8], "label":"BSPC", "x":13, "y":0, "w":2},
+ {"matrix": [3, 0], "label":"TAB", "x":0, "y":1, "w":1.5},
+ {"matrix": [5, 0], "label":"Q", "x":1.5, "y":1},
+ {"matrix": [5, 1], "label":"W", "x":2.5, "y":1},
+ {"matrix": [5, 2], "label":"E", "x":3.5, "y":1},
+ {"matrix": [5, 3], "label":"R", "x":4.5, "y":1},
+ {"matrix": [3, 3], "label":"T", "x":5.5, "y":1},
+ {"matrix": [3, 4], "label":"Y", "x":6.5, "y":1},
+ {"matrix": [5, 4], "label":"U", "x":7.5, "y":1},
+ {"matrix": [5, 5], "label":"I", "x":8.5, "y":1},
+ {"matrix": [5, 6], "label":"O", "x":9.5, "y":1},
+ {"matrix": [5, 7], "label":"P", "x":10.5, "y":1},
+ {"matrix": [3, 7], "label":"LBRC", "x":11.5, "y":1},
+ {"matrix": [3, 5], "label":"RBRC", "x":12.5, "y":1},
+ {"matrix": [4, 8], "label":"BSLS", "x":13.5, "y":1, "w":1.5},
+ {"matrix": [3, 1], "label":"CAPS", "x":0, "y":2, "w":1.75},
+ {"matrix": [4, 0], "label":"A", "x":1.75, "y":2},
+ {"matrix": [4, 1], "label":"S", "x":2.75, "y":2},
+ {"matrix": [4, 2], "label":"D", "x":3.75, "y":2},
+ {"matrix": [4, 3], "label":"F", "x":4.75, "y":2},
+ {"matrix": [0, 3], "label":"G", "x":5.75, "y":2},
+ {"matrix": [0, 4], "label":"H", "x":6.75, "y":2},
+ {"matrix": [4, 4], "label":"J", "x":7.75, "y":2},
+ {"matrix": [4, 5], "label":"K", "x":8.75, "y":2},
+ {"matrix": [4, 6], "label":"L", "x":9.75, "y":2},
+ {"matrix": [4, 7], "label":"SCLN", "x":10.75, "y":2},
+ {"matrix": [0, 7], "label":"QUOT", "x":11.75, "y":2},
+ {"matrix": [6, 8], "label":"ENT", "x":12.75, "y":2, "w":2.25},
+ {"matrix": [3, 10], "label":"LSFT", "x":0, "y":3, "w":2.25},
+ {"matrix": [6, 0], "label":"Z", "x":2.25, "y":3},
+ {"matrix": [6, 1], "label":"X", "x":3.25, "y":3},
+ {"matrix": [6, 2], "label":"C", "x":4.25, "y":3},
+ {"matrix": [6, 3], "label":"V", "x":5.25, "y":3},
+ {"matrix": [7, 3], "label":"B", "x":6.25, "y":3},
+ {"matrix": [7, 4], "label":"N", "x":7.25, "y":3},
+ {"matrix": [6, 4], "label":"M", "x":8.25, "y":3},
+ {"matrix": [6, 5], "label":"COMM", "x":9.25, "y":3},
+ {"matrix": [6, 6], "label":"DOT", "x":10.25, "y":3},
+ {"matrix": [7, 7], "label":"SLSH", "x":11.25, "y":3},
+ {"matrix": [4, 10], "label":"RSFT", "x":12.25, "y":3, "w":1.75},
+ {"matrix": [3, 9], "label":"APP", "x":14, "y":3},
+ {"matrix": [2, 11], "label":"LCTL", "x":0, "y":4, "w":1.25},
+ {"matrix": [3, 11], "label":"LGUI", "x":1.25, "y":4},
+ {"matrix": [0, 9], "label":"LALT", "x":2.25, "y":4, "w":1.25},
+ {"matrix": [0, 13], "label":"SPC", "x":3.5, "y":4, "w":3},
+ {"matrix": [6, 9], "label":"SPC", "x":6.5, "y":4, "w":3},
+ {"matrix": [7, 9], "label":"RALT", "x":9.5, "y":4, "w":1.25},
+ {"matrix": [6, 11], "label":"RCTL", "x":10.75, "y":4},
+ {"matrix": [0, 12], "label":"UP", "x":13, "y":4},
+ {"matrix": [7, 12], "label":"LEFT", "x":12, "y":5},
+ {"matrix": [7, 13], "label":"DOWN", "x":13, "y":5},
+ {"matrix": [7, 14], "label":"RGHT", "x":14, "y":5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/evyd13/nt650/keymaps/default/keymap.c b/keyboards/evyd13/nt650/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e9978376d0
--- /dev/null
+++ b/keyboards/evyd13/nt650/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability.
+// 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, and you can also skip them entirely
+// and just use numbers.
+enum layer_names {
+ _BASE,
+ _FUNC,
+ _LOCK,
+ _XTRA
+};
+
+#define LOCK_LED_PIN B0
+#define GRV_TG TG(_LOCK)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_ansi_split_space(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FUNC),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_UP,
+ KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FUNC] = LAYOUT_ansi_split_space(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, GRV_TG, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_APP, _______,
+ _______, _______, _______
+ ),
+ [_LOCK] = LAYOUT_ansi_split_space(
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______
+ ),
+ [_XTRA] = LAYOUT_ansi_split_space(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______
+ )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ setPinOutput(LOCK_LED_PIN);
+ switch (get_highest_layer(state)) {
+ case _LOCK:
+ writePin(LOCK_LED_PIN, 0);
+ break;
+ default: // for any other layers, or the default layer
+ writePin(LOCK_LED_PIN, 1);
+ break;
+ }
+ return state;
+}
diff --git a/keyboards/evyd13/nt650/keymaps/via/config.h b/keyboards/evyd13/nt650/keymaps/via/config.h
new file mode 100644
index 0000000000..fe36d02575
--- /dev/null
+++ b/keyboards/evyd13/nt650/keymaps/via/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3 \ No newline at end of file
diff --git a/keyboards/evyd13/nt650/keymaps/via/keymap.c b/keyboards/evyd13/nt650/keymaps/via/keymap.c
new file mode 100644
index 0000000000..cc48f380eb
--- /dev/null
+++ b/keyboards/evyd13/nt650/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+// Copyright 2022 Evelien Dekkers (@evyd13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi_split_space(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_UP,
+ KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ansi_split_space(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_APP, _______,
+ _______, _______, _______
+ ),
+ [2] = LAYOUT_ansi_split_space(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______
+ )
+};
diff --git a/keyboards/evyd13/nt650/keymaps/via/rules.mk b/keyboards/evyd13/nt650/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/evyd13/nt650/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/evyd13/nt650/readme.md b/keyboards/evyd13/nt650/readme.md
new file mode 100644
index 0000000000..ba2a967f32
--- /dev/null
+++ b/keyboards/evyd13/nt650/readme.md
@@ -0,0 +1,27 @@
+# nt650
+
+![nt650](https://i.imgur.com/z0Xi6qoh.png)
+
+A replacement controller PCB for the Leopold FC650M.
+
+* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13)
+* Hardware Supported: nt-650 PCB
+* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/nt-series/tree/main/nt-650)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make evyd13/nt650:default
+
+Flashing example for this keyboard:
+
+ make evyd13/nt650:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/evyd13/nt650/rules.mk b/keyboards/evyd13/nt650/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/evyd13/nt650/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/evyd13/nt660/config.h b/keyboards/evyd13/nt660/config.h
index f633a4206e..be1b892280 100644
--- a/keyboards/evyd13/nt660/config.h
+++ b/keyboards/evyd13/nt660/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x1F02
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT nt660
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS {B7,E6,F6,F7,C7}
#define MATRIX_COL_PINS {D6,D7,B4,B5,B6,C6,B0,B1,B2,B3,F0,F1,F4,F5,D4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/nt660/info.json b/keyboards/evyd13/nt660/info.json
index 8f087c68c3..fb7f694e95 100644
--- a/keyboards/evyd13/nt660/info.json
+++ b/keyboards/evyd13/nt660/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nt660",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x1F02",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c b/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c
index b7eaa5d6c1..86528ebfaf 100644
--- a/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c
+++ b/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______),
[_FL] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, KC_PSCR,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
_______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______,
diff --git a/keyboards/evyd13/nt750/config.h b/keyboards/evyd13/nt750/config.h
index 076bb344a5..30f453ebd8 100644
--- a/keyboards/evyd13/nt750/config.h
+++ b/keyboards/evyd13/nt750/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x3320
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT nt750
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS {B2,B3,B7,D0,D1,D2}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,D4,E6,B1,B0}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/nt750/info.json b/keyboards/evyd13/nt750/info.json
index 5342807d65..414d1f8ba1 100644
--- a/keyboards/evyd13/nt750/info.json
+++ b/keyboards/evyd13/nt750/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nt750",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/nt-series/tree/main/nt-750",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x3320",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/nt980/config.h b/keyboards/evyd13/nt980/config.h
index e483ab46c9..b4757a844d 100644
--- a/keyboards/evyd13/nt980/config.h
+++ b/keyboards/evyd13/nt980/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xAAF8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT nt980
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, D1, D0, C6, C7, B5, B6, B4, D7, D4, D6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/nt980/info.json b/keyboards/evyd13/nt980/info.json
index 8b1b32449e..c8c1060d42 100644
--- a/keyboards/evyd13/nt980/info.json
+++ b/keyboards/evyd13/nt980/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nt980",
+ "manufacturer": "Evyd13",
"url": "",
- "maintainer": "maartenwut",
+ "maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xAAF8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/omrontkl/config.h b/keyboards/evyd13/omrontkl/config.h
index 40f8384831..9f51b63a9f 100644
--- a/keyboards/evyd13/omrontkl/config.h
+++ b/keyboards/evyd13/omrontkl/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xEA78
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT OmronTKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D0,D1,D2,D3,D4,B7}
#define MATRIX_COL_PINS {F0,C7,F1,C6,F4,B6,F5,B5,F6,B4,F7,D7,D6,D5,B3,B1,B2}
-#define UNUSED_PINS {E6,B0}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/omrontkl/info.json b/keyboards/evyd13/omrontkl/info.json
index 3f0dfb9bc3..6e9b2423f6 100644
--- a/keyboards/evyd13/omrontkl/info.json
+++ b/keyboards/evyd13/omrontkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "OmronTKL",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xEA78",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/plain60/config.h b/keyboards/evyd13/plain60/config.h
index 987081a9f1..2cb4ad565c 100644
--- a/keyboards/evyd13/plain60/config.h
+++ b/keyboards/evyd13/plain60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0160
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Plain60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/evyd13/plain60/info.json b/keyboards/evyd13/plain60/info.json
index 64eb305464..3b08a935dc 100644
--- a/keyboards/evyd13/plain60/info.json
+++ b/keyboards/evyd13/plain60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Plain60",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0160",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/evyd13/plain60/keymaps/audio/keymap.c b/keyboards/evyd13/plain60/keymaps/audio/keymap.c
index 91ac37501c..6512cb3645 100644
--- a/keyboards/evyd13/plain60/keymaps/audio/keymap.c
+++ b/keyboards/evyd13/plain60/keymaps/audio/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
AU_TOG, MU_TOG, MU_MOD, CK_TOGG, _______, _______, _______, _______)
diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
index 2d736212f4..986f55e040 100644
--- a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
+++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
______, ______, ______, ______ , ______, KC_LEFT, KC_DOWN, KC_RIGHT ),
[_LED] = LAYOUT(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \
______, RGB_TOG, RGB_MI, RGB_MD, RGB_ST, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, ______, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
diff --git a/keyboards/evyd13/plain60/keymaps/rgb/keymap.c b/keyboards/evyd13/plain60/keymaps/rgb/keymap.c
index abfb5f6b15..fa6aaa7f99 100644
--- a/keyboards/evyd13/plain60/keymaps/rgb/keymap.c
+++ b/keyboards/evyd13/plain60/keymaps/rgb/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/evyd13/pockettype/config.h b/keyboards/evyd13/pockettype/config.h
index b62c3549f8..21e27d130e 100644
--- a/keyboards/evyd13/pockettype/config.h
+++ b/keyboards/evyd13/pockettype/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xFA7D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT PocketType
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {D3,D1,D7,B5}
#define MATRIX_COL_PINS {F6,F7,B1,B3,B2,B6,B4,E6,C6,D4,D0,D2}
-#define UNUSED_PINS {B1,B2,B3}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/pockettype/info.json b/keyboards/evyd13/pockettype/info.json
index f81dbec539..f54e382e6a 100644
--- a/keyboards/evyd13/pockettype/info.json
+++ b/keyboards/evyd13/pockettype/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "PocketType",
+ "manufacturer": "Evyd13",
"url": "https://mechboards.co.uk/shop/kits/pockettype/",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xFA7D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/evyd13/quackfire/config.h b/keyboards/evyd13/quackfire/config.h
index 4df2abd5a8..c2bf0598c3 100644
--- a/keyboards/evyd13/quackfire/config.h
+++ b/keyboards/evyd13/quackfire/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x87C9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Quackfire
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS {D3,F5,F4,F0,B7,B2,E6,B0}
#define MATRIX_COL_PINS {B3,F1,B1,D5,D2,D1,D0,D4,D6,D7,B4,B5,B6,C6,C7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/evyd13/quackfire/info.json b/keyboards/evyd13/quackfire/info.json
index 68a0767c94..88b168aa63 100644
--- a/keyboards/evyd13/quackfire/info.json
+++ b/keyboards/evyd13/quackfire/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Quackfire",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/quackfire-controller",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x87C9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/evyd13/solheim68/config.h b/keyboards/evyd13/solheim68/config.h
index ef449ab7d4..d622cc1695 100644
--- a/keyboards/evyd13/solheim68/config.h
+++ b/keyboards/evyd13/solheim68/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x7BFF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Solheim68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {E6,B0,B1,B2,B3}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,D4,D5,D3}
-#define UNUSED_PINS {B7,D0,D1,D2}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/evyd13/solheim68/info.json b/keyboards/evyd13/solheim68/info.json
index b0776223b6..1cadeeb9fa 100644
--- a/keyboards/evyd13/solheim68/info.json
+++ b/keyboards/evyd13/solheim68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Solheim68",
+ "manufacturer": "Evyd13",
"url": "https://github.com/evyd13/solheim68",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x7BFF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/ta65/config.h b/keyboards/evyd13/ta65/config.h
index 518c854d9b..a65210e0ed 100644
--- a/keyboards/evyd13/ta65/config.h
+++ b/keyboards/evyd13/ta65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x7465
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT ta-65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B4,D7,D6,D4,B3}
#define MATRIX_COL_PINS {D2,D1,D0,D3,D5,C7,C6,B6,B5,F0,F1,F4,F5,F6,F7,B0}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B2 }
#define ENCODERS_PAD_B { B1 }
diff --git a/keyboards/evyd13/ta65/info.json b/keyboards/evyd13/ta65/info.json
index 5d390c9f6e..f24f599df1 100644
--- a/keyboards/evyd13/ta65/info.json
+++ b/keyboards/evyd13/ta65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ta65",
+ "keyboard_name": "ta-65",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x7465",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c b/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c
index a8ce0f180e..04dba9da75 100644
--- a/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c
+++ b/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______),
[_FL] = LAYOUT_65_ansi(
- 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, RESET, KC_PSCR,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
_______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_END,
diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h
index 821cc26b65..02db1dc2ab 100644
--- a/keyboards/evyd13/wasdat/config.h
+++ b/keyboards/evyd13/wasdat/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D6, D4, F6, F7, F4, F5, F0, F1 }
#define MATRIX_COL_PINS { C7, B6, C6, B4, B5, D7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, D3, B7, B3 } // Columns 6-12 controlled by demux
-#define UNUSED_PINS
#define SN74X138_ADDRESS_PINS { D2, D1, D0 }
diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h
index a8b5c032ca..ca79477e12 100644
--- a/keyboards/evyd13/wasdat_code/config.h
+++ b/keyboards/evyd13/wasdat_code/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xB00E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Wasdat Code
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, C7, C6, B6, B5, B4, D7, D6 }
#define MATRIX_COL_PINS { F7, F5, F6, F1, F4, F0, NO_PIN, D5, D3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } // Columns 6 and 9-15 controlled by demux
-#define UNUSED_PINS
#define SN74X138_ADDRESS_PINS { D2, D1, D0 }
#define SN74X138_E3_PIN D4
diff --git a/keyboards/evyd13/wasdat_code/info.json b/keyboards/evyd13/wasdat_code/info.json
index 1c0f14ed3d..4ebbc5aa15 100644
--- a/keyboards/evyd13/wasdat_code/info.json
+++ b/keyboards/evyd13/wasdat_code/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wasdat Code",
+ "manufacturer": "Evyd13",
"url": "https://maartenwut.com/product/wasdat-code/",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xB00E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fullsize_ansi": {
"layout": [
diff --git a/keyboards/evyd13/wonderland/config.h b/keyboards/evyd13/wonderland/config.h
index c5c7a8b6c6..b0ac35cff8 100644
--- a/keyboards/evyd13/wonderland/config.h
+++ b/keyboards/evyd13/wonderland/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xA71C
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Evyd13
-#define PRODUCT Wonderland
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B0,D1,D2,D3,D5}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,C7,C6,B6,B5,B4,D7,D6,D4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
diff --git a/keyboards/evyd13/wonderland/info.json b/keyboards/evyd13/wonderland/info.json
index fd91f32dc1..8e94e2fe20 100644
--- a/keyboards/evyd13/wonderland/info.json
+++ b/keyboards/evyd13/wonderland/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wonderland",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0xA71C",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c b/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c
index ceb9856061..4781f3d63f 100644
--- a/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c
+++ b/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LAPO, KC_LGUI, RGUI(KC_SPC), KC_SPC, KC_RAPC, KC_RCTRL \
),
[_FUNC] = LAYOUT(
- RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, \
+ RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT, \
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, \
KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, \
diff --git a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c
index 5c59d53a7d..231922a144 100644
--- a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c
+++ b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPLY, KC_LALT, _______, _______, _______, KC_RALT, XXXXXXX
),
[_RGB] = LAYOUT(
- RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET,
+ RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT,
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_RMOD, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX,
KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX,
diff --git a/keyboards/evyd13/wonderland/keymaps/rys/keymap.c b/keyboards/evyd13/wonderland/keymaps/rys/keymap.c
index 7669df535e..998b53c012 100644
--- a/keyboards/evyd13/wonderland/keymaps/rys/keymap.c
+++ b/keyboards/evyd13/wonderland/keymaps/rys/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_NUBS, KC_LALT, KC_SPC, KC_NUHS, KC_RCTRL
),
[_FUNC] = LAYOUT(
- RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET,
+ RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT,
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX,
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX,
diff --git a/keyboards/exclusive/e65/config.h b/keyboards/exclusive/e65/config.h
index 1d43011b80..6b65d5ea9b 100644
--- a/keyboards/exclusive/e65/config.h
+++ b/keyboards/exclusive/e65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4558 // "EX"
-#define PRODUCT_ID 0xE605 // E6.5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E6.5
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@
{ B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS \
{ C6, C7, D0, D1, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/exclusive/e65/info.json b/keyboards/exclusive/e65/info.json
index 409f110a09..6b7aa9b069 100644
--- a/keyboards/exclusive/e65/info.json
+++ b/keyboards/exclusive/e65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "E6.5",
+ "manufacturer": "Exclusive / E-Team",
"url": "",
"maintainer": "masterzen",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE605",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Ins", "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":"Page up", "x":15, "y":1}, {"label":"Ctrl", "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":"Page down", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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":"&uarr;", "x":14, "y":3}, {"label":"Del", "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":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"x":12, "y":4}, {"label":"&larr;", "x":13, "y":4}, {"label":"&darr;", "x":14, "y":4}, {"label":"&rarr;", "x":15, "y":4}]
diff --git a/keyboards/exclusive/e65/keymaps/crd/keymap.c b/keyboards/exclusive/e65/keymaps/crd/keymap.c
index 38a1944ef9..18b0920667 100644
--- a/keyboards/exclusive/e65/keymaps/crd/keymap.c
+++ b/keyboards/exclusive/e65/keymaps/crd/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_65_ansi_7u_wk_splitbs(
_______, 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, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/exclusive/e65/keymaps/madhatter/keymap.c b/keyboards/exclusive/e65/keymaps/madhatter/keymap.c
index f8617f3ef4..bc2c3d7a62 100644
--- a/keyboards/exclusive/e65/keymaps/madhatter/keymap.c
+++ b/keyboards/exclusive/e65/keymaps/madhatter/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNM] = LAYOUT_65_ansi_7u_wk_splitbs(
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_MPLY,
- _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, RESET, KC_VOLU,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, QK_BOOT, KC_VOLU,
AG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_VOLD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_MNXT,
_______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
index 156832de4e..f39a3b056d 100644
--- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LGUI, KC_RALT, _______, _______, _______),
[_ADJUST] = LAYOUT_65_ansi_blocker_splitbs(
- RESET, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
+ QK_BOOT, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
@@ -102,7 +102,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
edit = false;
}
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _ADJUST:
temp_config.mode = rgblight_get_mode();
rgblight_mode_noeeprom(1);
diff --git a/keyboards/exclusive/e6_rgb/config.h b/keyboards/exclusive/e6_rgb/config.h
index fd221f1765..c4765ce93c 100644
--- a/keyboards/exclusive/e6_rgb/config.h
+++ b/keyboards/exclusive/e6_rgb/config.h
@@ -6,20 +6,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4154 //AT
-#define PRODUCT_ID 0x4536 //E6
-#define DEVICE_VER 0x0062
-#define MANUFACTURER astro
-#define PRODUCT e6rgb
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, F4, F5, F6, D6 }
#define MATRIX_COL_PINS { D7, B4, B5, B6, C6, C7, F7, F0, B0, B1, D2, D3, B3, B2 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
//rgb light setting
diff --git a/keyboards/exclusive/e6_rgb/info.json b/keyboards/exclusive/e6_rgb/info.json
index c08cd12ae6..46c90a7163 100644
--- a/keyboards/exclusive/e6_rgb/info.json
+++ b/keyboards/exclusive/e6_rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "e6_rgb",
+ "keyboard_name": "E6 RGB",
+ "manufacturer": "astro",
"url": "",
"maintainer": "yulei",
+ "usb": {
+ "vid": "0x4154",
+ "pid": "0x4536",
+ "device_version": "0.6.2"
+ },
"layout_aliases": {
"LAYOUT_60_wkl_split_bs": "LAYOUT_60_tsangan_hhkb"
},
diff --git a/keyboards/exclusive/e6_rgb/keymaps/60_ansi_split_bs_rshift/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/60_ansi_split_bs_rshift/keymap.c
index 0678b7d145..7cb58ac123 100644
--- a/keyboards/exclusive/e6_rgb/keymaps/60_ansi_split_bs_rshift/keymap.c
+++ b/keyboards/exclusive/e6_rgb/keymaps/60_ansi_split_bs_rshift/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_ansi_split_bs_rshift(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR,
- RESET, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/exclusive/e6_rgb/keymaps/60_hhkb/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/60_hhkb/keymap.c
index a1d8e5c784..ccb6d85482 100644
--- a/keyboards/exclusive/e6_rgb/keymaps/60_hhkb/keymap.c
+++ b/keyboards/exclusive/e6_rgb/keymaps/60_hhkb/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_hhkb(
_______, 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, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______
diff --git a/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c
index 5483ebb835..7842cf317a 100644
--- a/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c
+++ b/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_tsangan_hhkb(
_______, 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,
- RESET, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c
index b0b06766bf..4c719e7481 100644
--- a/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c
+++ b/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_tsangan_hhkb(
_______, 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,
- RESET, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, TG(0), _______
diff --git a/keyboards/exclusive/e6v2/le/config.h b/keyboards/exclusive/e6v2/le/config.h
index f9295145ec..6f684a24e6 100644
--- a/keyboards/exclusive/e6v2/le/config.h
+++ b/keyboards/exclusive/e6v2/le/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E6-V2 LE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* QMK E6-V2 PCB default pin-out */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B7
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/exclusive/e6v2/le/info.json b/keyboards/exclusive/e6v2/le/info.json
index 095fe66a02..bec33b8216 100644
--- a/keyboards/exclusive/e6v2/le/info.json
+++ b/keyboards/exclusive/e6v2/le/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "E6-V2 LE",
+ "manufacturer": "Exclusive / E-Team",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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}, {"x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.75}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.25}, {"label":"Win", "x":3, "y":4, "w":1.25}, {"label":"Alt", "x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4, "w":2.75}, {"x":8.25, "y":4, "w":1.75}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
diff --git a/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c b/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c
index 4d3052ef2c..34a4f60a3e 100644
--- a/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c
+++ b/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Reset layer */
[2] = LAYOUT(
- RESET, KC_A, 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,
+ QK_BOOT, KC_A, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c b/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c
index 691f0e73cd..bb2f2a030c 100644
--- a/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c
+++ b/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
- * | | BL- | BL+ | BL | | | | | | | | | | RESET |
+ * | | BL- | BL+ | BL | | | | | | | | | | QK_BOOT |
* |-----------------------------------------------------------------------------------------+
* | | RGBT| RGBM| | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_CL] = LAYOUT_60_hhkb(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, BL_TOGG, BL_STEP, BL_DEC, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, BL_TOGG, BL_STEP, BL_DEC, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______
diff --git a/keyboards/exclusive/e6v2/le_bmc/config.h b/keyboards/exclusive/e6v2/le_bmc/config.h
index 8115f4ae12..9e7b65d565 100644
--- a/keyboards/exclusive/e6v2/le_bmc/config.h
+++ b/keyboards/exclusive/e6v2/le_bmc/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4558
-#define PRODUCT_ID 0xE62D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E6-V2 LE BMC
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 11
diff --git a/keyboards/exclusive/e6v2/le_bmc/info.json b/keyboards/exclusive/e6v2/le_bmc/info.json
index e6a8a0ccbf..2d493afad3 100644
--- a/keyboards/exclusive/e6v2/le_bmc/info.json
+++ b/keyboards/exclusive/e6v2/le_bmc/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "E6-V2 LE BMC",
+ "manufacturer": "Exclusive / E-Team",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE62D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10.0, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/exclusive/e6v2/oe/config.h b/keyboards/exclusive/e6v2/oe/config.h
index d9362cfc03..6e82f4650b 100644
--- a/keyboards/exclusive/e6v2/oe/config.h
+++ b/keyboards/exclusive/e6v2/oe/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E6-V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* QMK E6-V2 PCB default pin-out */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { C7, C6, B5, B4, D7, D6, D4, F6, F7, F5, F4, F1, F0, B0, B1 }
-#define UNUSED_PINS { E6, B2, B3, B7 }
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
diff --git a/keyboards/exclusive/e6v2/oe/info.json b/keyboards/exclusive/e6v2/oe/info.json
index 16cf613d30..46281fbbd2 100644
--- a/keyboards/exclusive/e6v2/oe/info.json
+++ b/keyboards/exclusive/e6v2/oe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "E6-V2 OE",
+ "manufacturer": "Exclusive / E-Team",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c b/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c
index 7e64b1212e..274e7395f2 100644
--- a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c
+++ b/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_HL] = LAYOUT_hhkb(
RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF, BL_STEP, BL_ON, BL_DEC, BL_INC, LALT(KC_F4),
- RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, 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_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, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS
diff --git a/keyboards/exclusive/e6v2/oe_bmc/config.h b/keyboards/exclusive/e6v2/oe_bmc/config.h
index 3f2a50cdef..9e7b65d565 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/config.h
+++ b/keyboards/exclusive/e6v2/oe_bmc/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4558
-#define PRODUCT_ID 0xE62B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E6-V2 OE BMC
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 11
diff --git a/keyboards/exclusive/e6v2/oe_bmc/info.json b/keyboards/exclusive/e6v2/oe_bmc/info.json
index e6a8a0ccbf..6dadde916a 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/info.json
+++ b/keyboards/exclusive/e6v2/oe_bmc/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "E6-V2 OE BMC",
+ "manufacturer": "Exclusive / E-Team",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE62B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10.0, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/exclusive/e7v1/config.h b/keyboards/exclusive/e7v1/config.h
index 5809144ba3..ff985f4255 100644
--- a/keyboards/exclusive/e7v1/config.h
+++ b/keyboards/exclusive/e7v1/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4558 // EX
-#define PRODUCT_ID 0xE701 // E7-V1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E7-V1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 }
#define MATRIX_COL_PINS { B6, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/exclusive/e7v1/info.json b/keyboards/exclusive/e7v1/info.json
index 0d341e7af4..2d1f6a19d0 100644
--- a/keyboards/exclusive/e7v1/info.json
+++ b/keyboards/exclusive/e7v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "E7-V1",
+ "manufacturer": "Exclusive / E-Team",
"url": "",
"maintainer": "masterzen",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE701",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Home", "x":14, "y":0}, {"label":"End", "x":15.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}, {"x":13, "y":1.5}, {"label":"Backspace", "x":14, "y":1.5}, {"label":"Page Up", "x":15.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":"Page down", "x":15.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":1.25}, {"label":"Z", "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":1.75}, {"label":"\u2191", "x":14.25, "y":4.75}, {"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}, {"label":"Win", "x":11, "y":5.5}, {"x":12, "y":5.5}, {"label":"\u2190", "x":13.25, "y":5.75}, {"label":"\u2193", "x":14.25, "y":5.75}, {"label":"\u2192", "x":15.25, "y":5.75}]
diff --git a/keyboards/exclusive/e7v1/keymaps/ansi_splitbs/keymap.c b/keyboards/exclusive/e7v1/keymaps/ansi_splitbs/keymap.c
index 242020b20a..dbc9dd2063 100644
--- a/keyboards/exclusive/e7v1/keymaps/ansi_splitbs/keymap.c
+++ b/keyboards/exclusive/e7v1/keymaps/ansi_splitbs/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_75_ansi_splitbs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
index 6987e84021..08899cd6bf 100644
--- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LGUI, KC_RALT, _______, _______, _______),
[_ADJUST] = LAYOUT_75_ansi_splitbs(
- RESET, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
+ QK_BOOT, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
@@ -121,7 +121,7 @@ layer_state_t layer_state_set_user(layer_state_t state)
edit = false;
}
- switch (biton32(state))
+ switch (get_highest_layer(state))
{
case _ADJUST:
mode = rgblight_get_mode();
diff --git a/keyboards/exclusive/e7v1se/config.h b/keyboards/exclusive/e7v1se/config.h
index cce08878eb..32e913bd12 100644
--- a/keyboards/exclusive/e7v1se/config.h
+++ b/keyboards/exclusive/e7v1se/config.h
@@ -19,13 +19,6 @@ 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 0x7051
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive / E-Team
-#define PRODUCT E7-V1 SE
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, F0 }
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, D7, D6, D4, B4, B5, B6, C6, C7, F7, F6, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/exclusive/e7v1se/info.json b/keyboards/exclusive/e7v1se/info.json
index f72eaebb68..43a8cba0fe 100644
--- a/keyboards/exclusive/e7v1se/info.json
+++ b/keyboards/exclusive/e7v1se/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "e7v1se",
+ "keyboard_name": "E7-V1 SE",
+ "manufacturer": "Exclusive / E-Team",
"url": "https://geekhack.org/index.php?topic=101363",
"maintainer": "Bart Riemens",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7051",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/exclusive/e7v1se/keymaps/mac/keymap.c b/keyboards/exclusive/e7v1se/keymaps/mac/keymap.c
index ab863fcafd..d9641f56f7 100644
--- a/keyboards/exclusive/e7v1se/keymaps/mac/keymap.c
+++ b/keyboards/exclusive/e7v1se/keymaps/mac/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/exclusive/e85/config.h b/keyboards/exclusive/e85/config.h
index 2683403204..f880b6d304 100644
--- a/keyboards/exclusive/e85/config.h
+++ b/keyboards/exclusive/e85/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4558 // EX
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Exclusive
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 9
@@ -42,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A
#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B7, F7, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/exclusive/e85/hotswap/config.h b/keyboards/exclusive/e85/hotswap/config.h
deleted file mode 100644
index a0f957db87..0000000000
--- a/keyboards/exclusive/e85/hotswap/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define PRODUCT_ID 0xE851 // E8.5 Hotswap
-#define PRODUCT E8.5 Hotswap PCB
diff --git a/keyboards/exclusive/e85/hotswap/info.json b/keyboards/exclusive/e85/hotswap/info.json
index e8c65f32d2..53ca1e3759 100644
--- a/keyboards/exclusive/e85/hotswap/info.json
+++ b/keyboards/exclusive/e85/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Exclusive E8.5 TKL",
+ "keyboard_name": "E8.5 Hotswap",
+ "manufacturer": "Exclusive",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE851",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi_standard": {
"layout": [
diff --git a/keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c b/keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c
index c6778180be..fe17ab3292 100644
--- a/keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c
+++ b/keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_ansi_standard(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/exclusive/e85/soldered/config.h b/keyboards/exclusive/e85/soldered/config.h
deleted file mode 100644
index c76fcf8074..0000000000
--- a/keyboards/exclusive/e85/soldered/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define PRODUCT_ID 0xE852 // E8.5 Soldered
-#define PRODUCT E8.5 Soldered PCB
diff --git a/keyboards/exclusive/e85/soldered/info.json b/keyboards/exclusive/e85/soldered/info.json
index fa4be15647..937c2ad245 100644
--- a/keyboards/exclusive/e85/soldered/info.json
+++ b/keyboards/exclusive/e85/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Exclusive E8.5 TKL",
+ "keyboard_name": "E8.5 Soldered",
+ "manufacturer": "Exclusive",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4558",
+ "pid": "0xE852",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c b/keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c
index c6778180be..fe17ab3292 100644
--- a/keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c
+++ b/keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_ansi_standard(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/exent/config.h b/keyboards/exent/config.h
index e9dc026867..ad7938f17c 100644
--- a/keyboards/exent/config.h
+++ b/keyboards/exent/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5143 // "QC"
-#define PRODUCT_ID 0x4558 // "EX"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Quadcube
-#define PRODUCT Exent
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6 }
#define MATRIX_COL_PINS { D7, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3, A1, A0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/exent/info.json b/keyboards/exent/info.json
index c783086ff8..d69c6163ae 100644
--- a/keyboards/exent/info.json
+++ b/keyboards/exent/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Exent",
+ "manufacturer": "Quadcube",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5143",
+ "pid": "0x4558",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/eyeohdesigns/babyv/config.h b/keyboards/eyeohdesigns/babyv/config.h
index f90d68e2e5..00f609b282 100644
--- a/keyboards/eyeohdesigns/babyv/config.h
+++ b/keyboards/eyeohdesigns/babyv/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eye Oh Designs
-#define PRODUCT babyv
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B5, D2, D5, D3 }
#define MATRIX_COL_PINS { D0, D1, B4, D7, D6, D4, B0, B1, B2, F0, F1, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eyeohdesigns/babyv/info.json b/keyboards/eyeohdesigns/babyv/info.json
index 79ae8b23f5..65453ffaf6 100644
--- a/keyboards/eyeohdesigns/babyv/info.json
+++ b/keyboards/eyeohdesigns/babyv/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "babyv",
+ "manufacturer": "Eye Oh Designs",
"url": "",
"maintainer": "eye oh designs",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_2u": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":";", "x":11, "y":1}, {"label":"Return", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"/", "x":11, "y":2}, {"label":"Shift", "x":12, "y":2}, {"label":"Ctl", "x":0, "y":3}, {"label":"Alt", "x":3, "y":3}, {"x":4, "y":3, "w":2}, {"x":7, "y":3, "w":2}, {"label":"Fn", "x":9, "y":3}, {"label":"OS", "x":12, "y":3}]
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c
index 056c36d32a..2dcd7f9a37 100644
--- a/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c
+++ b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_1u(
KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL,
- KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET,
+ KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, QK_BOOT,
KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT,
KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c
index c161c714b3..1dcfdc2b50 100644
--- a/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c
+++ b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c
@@ -31,9 +31,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_1u_2u(
KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL,
- KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET,
+ KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, QK_BOOT,
KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT,
- KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, RESET
+ KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, QK_BOOT
),
[_NUMBRS] = LAYOUT_1u_2u(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c
index 3c5de89d65..b0fd634dce 100644
--- a/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c
+++ b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_2u_1u(
KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL,
- KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET,
+ KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, QK_BOOT,
KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT,
KC_LCTL, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS
),
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c
index ea62241e9d..909c40ba5a 100644
--- a/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c
+++ b/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER2] = LAYOUT_2u(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, XXXXXXX,
+ KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, XXXXXXX,
_______, KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
};
diff --git a/keyboards/eyeohdesigns/babyv/readme.md b/keyboards/eyeohdesigns/babyv/readme.md
index 6a367f376d..b3b179aea7 100644
--- a/keyboards/eyeohdesigns/babyv/readme.md
+++ b/keyboards/eyeohdesigns/babyv/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make eyeohdesigns/babyv:default:flash
-To enter the bootloader, either depress the reset button on the back of the PCB, or use the 'RESET' keycode found on the function layer.
+To enter the bootloader, either depress the reset button on the back of the PCB, or use the `QK_BOOT` keycode found on the function layer.
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/eyeohdesigns/sprh/config.h b/keyboards/eyeohdesigns/sprh/config.h
index 45a3158536..319fd17ad6 100644
--- a/keyboards/eyeohdesigns/sprh/config.h
+++ b/keyboards/eyeohdesigns/sprh/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eye Oh Designs
-#define PRODUCT sprh
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/eyeohdesigns/sprh/info.json b/keyboards/eyeohdesigns/sprh/info.json
index 7e79dd821e..ed26433daf 100644
--- a/keyboards/eyeohdesigns/sprh/info.json
+++ b/keyboards/eyeohdesigns/sprh/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sprh",
+ "manufacturer": "Eye Oh Designs",
"url": "https://github.com/joedinkle/eyeohdesigns/tree/main/keyboards/sprh",
"maintainer": "joedinkle",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ac5": {
"layout": [
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c
index 06f9af8811..2028e09daa 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_acs(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c
index 0ceebfd3ce..37388cb15e 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ad5(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c
index 614236bddc..9038281e3f 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ads(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c
index 0de227f085..bb0c60eb21 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_bc5(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c
index bfb3bc5938..c6c878702e 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_bcs(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c
index 022b62e932..ab2a313420 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_bd5(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c
index 7755bab5a8..ec7550b262 100644
--- a/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c
+++ b/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_bds(/* Base */
- RESET, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ QK_BOOT, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
diff --git a/keyboards/eyeohdesigns/sprh/readme.md b/keyboards/eyeohdesigns/sprh/readme.md
index 59c5bce2c7..e4b7ced608 100644
--- a/keyboards/eyeohdesigns/sprh/readme.md
+++ b/keyboards/eyeohdesigns/sprh/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make eyeohdesigns/sprh:default:flash
-To enter the bootloader, either depress the reset button on the back of the PCB, or use the 'RESET' keycode found on the function layer.
+To enter the bootloader, either depress the reset button on the back of the PCB, or use the `QK_BOOT` keycode found on the function layer.
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/eyeohdesigns/theboulevard/config.h b/keyboards/eyeohdesigns/theboulevard/config.h
index db734bbb6c..7417e63143 100644
--- a/keyboards/eyeohdesigns/theboulevard/config.h
+++ b/keyboards/eyeohdesigns/theboulevard/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER eye oh designs
-#define PRODUCT theboulevard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F7, B1, E6, F0, F1 }
#define MATRIX_COL_PINS { B0, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/eyeohdesigns/theboulevard/info.json b/keyboards/eyeohdesigns/theboulevard/info.json
index ca2b888648..439cf7ed1d 100644
--- a/keyboards/eyeohdesigns/theboulevard/info.json
+++ b/keyboards/eyeohdesigns/theboulevard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "the boulevard",
+ "manufacturer": "eye oh designs",
"url": "",
"maintainer": "eye oh designs",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho1": {
"layout": [{"label":"Knob", "x":0, "y":0}, {"x":1.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":0, "y":1.5}, {"label":"ESC", "x":1.5, "y":1.5}, {"label":"Q", "x":2.5, "y":1.5}, {"label":"W", "x":3.5, "y":1.5}, {"label":"E", "x":4.5, "y":1.5}, {"label":"R", "x":5.5, "y":1.5}, {"label":"T", "x":6.5, "y":1.5}, {"label":"Y", "x":7.5, "y":1.5}, {"label":"U", "x":8.5, "y":1.5}, {"label":"I", "x":9.5, "y":1.5}, {"label":"O", "x":10.5, "y":1.5}, {"label":"P", "x":11.5, "y":1.5}, {"label":"BKSPC", "x":12.5, "y":1.5}, {"x":0, "y":2.5}, {"label":"TAB", "x":1.5, "y":2.5}, {"label":"A", "x":2.5, "y":2.5}, {"label":"S", "x":3.5, "y":2.5}, {"label":"D", "x":4.5, "y":2.5}, {"label":"F", "x":5.5, "y":2.5}, {"label":"G", "x":6.5, "y":2.5}, {"label":"H", "x":7.5, "y":2.5}, {"label":"J", "x":8.5, "y":2.5}, {"label":"K", "x":9.5, "y":2.5}, {"label":"L", "x":10.5, "y":2.5}, {"label":";", "x":11.5, "y":2.5}, {"label":"ENTER", "x":12.5, "y":2.5}, {"x":0, "y":3.5}, {"label":"SHIFT", "x":1.5, "y":3.5}, {"label":"Z", "x":2.5, "y":3.5}, {"label":"X", "x":3.5, "y":3.5}, {"label":"C", "x":4.5, "y":3.5}, {"label":"V", "x":5.5, "y":3.5}, {"label":"B", "x":6.5, "y":3.5}, {"label":"N", "x":7.5, "y":3.5}, {"label":"M", "x":8.5, "y":3.5}, {"label":",", "x":9.5, "y":3.5}, {"label":".", "x":10.5, "y":3.5}, {"label":"/", "x":11.5, "y":3.5}, {"label":"SHIFT", "x":12.5, "y":3.5}, {"x":0, "y":4.5}, {"x":1.5, "y":4.5}, {"x":2.5, "y":4.5}, {"x":3.5, "y":4.5}, {"x":4.5, "y":4.5}, {"x":5.5, "y":4.5}, {"x":6.5, "y":4.5, "w":2}, {"x":8.5, "y":4.5}, {"x":9.5, "y":4.5}, {"x":10.5, "y":4.5}, {"x":11.5, "y":4.5}, {"x":12.5, "y":4.5}]
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho2/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho2/keymap.c
index 38d4bbfb47..8956c71854 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho2/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho2/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ortho2(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SCLN, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT,
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho3/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho3/keymap.c
index d4dbd5aa92..21db5952d7 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho3/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho3/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ortho3(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SCLN, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT,
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho4/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho4/keymap.c
index 2c9f792e51..d24547f720 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho4/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho4/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ortho4(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SCLN, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT,
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho5/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho5/keymap.c
index 09fc9e5fac..fe3b7e6baa 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/ortho5/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/ortho5/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_ortho5(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SCLN, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT,
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c
index f0a19ce659..6f08ef45d3 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_stagger1(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS),
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c
index 189e584371..db24f6798b 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_stagger2(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS),
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c
index da25899479..cc2071e72c 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_stagger3(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS),
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c
index 2a4910965c..aef725fcd4 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_stagger4(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS),
diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c
index 367cf1ccb5..26e6865832 100644
--- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c
+++ b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTN] = LAYOUT_stagger5(
- RESET, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
+ QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD,
KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC,
KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS),
diff --git a/keyboards/eyeohdesigns/theboulevard/readme.md b/keyboards/eyeohdesigns/theboulevard/readme.md
index c1f29becb7..bfe330ab21 100644
--- a/keyboards/eyeohdesigns/theboulevard/readme.md
+++ b/keyboards/eyeohdesigns/theboulevard/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make eyeohdesigns/theboulevard:default:flash
-To enter the bootloader, either depress the reset button on the back of the PCB, or use the 'RESET' keycode found on the function layer.
+To enter the bootloader, either depress the reset button on the back of the PCB, or use the `QK_BOOT` keycode found on the function layer.
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). \ No newline at end of file
diff --git a/keyboards/ez_maker/directpins/promicro/config.h b/keyboards/ez_maker/directpins/promicro/config.h
deleted file mode 100644
index 436e169c19..0000000000
--- a/keyboards/ez_maker/directpins/promicro/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 Zach White
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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"
diff --git a/keyboards/ez_maker/directpins/promicro/info.json b/keyboards/ez_maker/directpins/promicro/info.json
index 264ee350c8..c7f8f2d2b6 100644
--- a/keyboards/ez_maker/directpins/promicro/info.json
+++ b/keyboards/ez_maker/directpins/promicro/info.json
@@ -4,7 +4,6 @@
"maintainer": "skullydazed",
"bootloader": "atmel-dfu",
"debounce": 5,
- "diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
diff --git a/keyboards/ez_maker/directpins/promicro/promicro.c b/keyboards/ez_maker/directpins/promicro/promicro.c
deleted file mode 100644
index 1f89eb39ef..0000000000
--- a/keyboards/ez_maker/directpins/promicro/promicro.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "promicro.h"
diff --git a/keyboards/ez_maker/directpins/promicro/promicro.h b/keyboards/ez_maker/directpins/promicro/promicro.h
deleted file mode 100644
index 386e50fb5b..0000000000
--- a/keyboards/ez_maker/directpins/promicro/promicro.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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"
diff --git a/keyboards/ez_maker/directpins/promicro/rules.mk b/keyboards/ez_maker/directpins/promicro/rules.mk
index e69de29bb2..6e7633bfe0 100644
--- a/keyboards/ez_maker/directpins/promicro/rules.mk
+++ b/keyboards/ez_maker/directpins/promicro/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md
deleted file mode 100644
index 69c6d2663b..0000000000
--- a/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for directpins
diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.c b/keyboards/ez_maker/directpins/proton_c/proton_c.c
deleted file mode 100644
index 75534b609f..0000000000
--- a/keyboards/ez_maker/directpins/proton_c/proton_c.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "proton_c.h"
diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.h b/keyboards/ez_maker/directpins/proton_c/proton_c.h
deleted file mode 100644
index 386e50fb5b..0000000000
--- a/keyboards/ez_maker/directpins/proton_c/proton_c.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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"
diff --git a/keyboards/ez_maker/directpins/proton_c/rules.mk b/keyboards/ez_maker/directpins/proton_c/rules.mk
index e69de29bb2..6e7633bfe0 100644
--- a/keyboards/ez_maker/directpins/proton_c/rules.mk
+++ b/keyboards/ez_maker/directpins/proton_c/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ez_maker/directpins/rp2040/info.json b/keyboards/ez_maker/directpins/rp2040/info.json
new file mode 100644
index 0000000000..9b707d257f
--- /dev/null
+++ b/keyboards/ez_maker/directpins/rp2040/info.json
@@ -0,0 +1,64 @@
+{
+ "manufacturer": "Raspberry Pi",
+ "keyboard_name": "DirectPins RP2040",
+ "maintainer": "jepler",
+ "bootloader": "rp2040",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["GP0", null],
+ ["GP1", null],
+
+ ["GP2", null],
+ ["GP3", null],
+ ["GP4", null],
+ ["GP5", "GP28"],
+
+ ["GP6", "GP27"],
+ ["GP7", "GP26"],
+ ["GP8", null],
+ ["GP9", "GP22"],
+
+ ["GP10", "GP21"],
+ ["GP11", "GP20"],
+ ["GP12", "GP19"],
+ ["GP13", "GP18"],
+
+ ["GP14", "GP17"],
+ ["GP15", "GP16"]
+ ]
+ },
+ "processor": "RP2040",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x2326",
+ "vid": "0xFEED"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"GP0", "matrix": [0, 0], "x":0, "y":0},
+ {"label":"GP1", "matrix": [1, 0], "x":0, "y":1},
+ {"label":"GP2", "matrix": [2, 0], "x":0, "y":3},
+ {"label":"GP3", "matrix": [3, 0], "x":0, "y":4},
+ {"label":"GP4", "matrix": [4, 0], "x":0, "y":5},
+ {"label":"GP5", "matrix": [5, 0], "x":0, "y":6}, {"label":"GP28", "matrix": [5, 1], "x":2, "y":6},
+ {"label":"GP6", "matrix": [6, 0], "x":0, "y":8}, {"label":"GP27", "matrix": [6, 1], "x":2, "y":8},
+ {"label":"GP7", "matrix": [7, 0], "x":0, "y":9}, {"label":"GP26", "matrix": [7, 1], "x":2, "y":9},
+ {"label":"GP8", "matrix": [8, 0], "x":0, "y":10},
+ {"label":"GP9", "matrix": [9, 0], "x":0, "y":11}, {"label":"GP22", "matrix": [9, 1], "x":2, "y":11},
+ {"label":"GP10", "matrix": [10, 0], "x":0, "y":13}, {"label":"GP21", "matrix": [10, 1], "x":2, "y":13},
+ {"label":"GP11", "matrix": [11, 0], "x":0, "y":14}, {"label":"GP20", "matrix": [11, 1], "x":2, "y":14},
+ {"label":"GP12", "matrix": [12, 0], "x":0, "y":15}, {"label":"GP19", "matrix": [12, 1], "x":2, "y":15},
+ {"label":"GP13", "matrix": [13, 0], "x":0, "y":16}, {"label":"GP18", "matrix": [13, 1], "x":2, "y":16},
+ {"label":"GP14", "matrix": [14, 0], "x":0, "y":18}, {"label":"GP17", "matrix": [14, 1], "x":2, "y":18},
+ {"label":"GP15", "matrix": [15, 0], "x":0, "y":19}, {"label":"GP16", "matrix": [15, 1], "x":2, "y":19}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json
new file mode 100644
index 0000000000..3bae28a360
--- /dev/null
+++ b/keyboards/ez_maker/directpins/rp2040/keymaps/default/keymap.json
@@ -0,0 +1,25 @@
+{
+ "keyboard": "ez_maker/directpins/rp2040",
+ "keymap": "default",
+ "layout": "LAYOUT_all",
+ "layers": [
+ [
+ "KC_0",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_4",
+ "KC_5", "KC_P",
+ "KC_6", "KC_O",
+ "KC_7", "KC_N",
+ "KC_8",
+ "KC_9", "KC_M",
+ "KC_A", "KC_L",
+ "KC_B", "KC_K",
+ "KC_C", "KC_J",
+ "KC_D", "KC_I",
+ "KC_E", "KC_H",
+ "KC_F", "KC_G"
+ ]
+ ]
+}
diff --git a/keyboards/ez_maker/directpins/rp2040/readme.md b/keyboards/ez_maker/directpins/rp2040/readme.md
new file mode 100644
index 0000000000..945ee88c9b
--- /dev/null
+++ b/keyboards/ez_maker/directpins/rp2040/readme.md
@@ -0,0 +1,19 @@
+# DirectPins
+
+![Raspberry Pi Pico pinout guide](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/pinouts)
+
+Easily assign keys to pins for your custom project using QMK Configurator.
+
+* Keyboard Maintainer: [Jeff Epler](https://github.com/jepler)
+* Hardware Supported: Raspberry Pi Pico, other RP2040 boards
+* Hardware Availability: Raspberry Pi, SparkFun, Adafruit, other makers
+
+Make example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb ez_maker/directpins/rp2040 -km default
+
+Flashing example for this keyboard:
+
+ qmk flash -kb ez_maker/directpins/rp2040 -km 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/ez_maker/directpins/rp2040/rules.mk b/keyboards/ez_maker/directpins/rp2040/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/ez_maker/directpins/rp2040/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ez_maker/directpins/teensy_2/config.h b/keyboards/ez_maker/directpins/teensy_2/config.h
deleted file mode 100644
index 436e169c19..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 Zach White
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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"
diff --git a/keyboards/ez_maker/directpins/teensy_2/info.json b/keyboards/ez_maker/directpins/teensy_2/info.json
index 731d089322..00799aa853 100644
--- a/keyboards/ez_maker/directpins/teensy_2/info.json
+++ b/keyboards/ez_maker/directpins/teensy_2/info.json
@@ -5,7 +5,6 @@
"processor": "atmega32u4",
"bootloader": "halfkay",
"debounce": 5,
- "diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
diff --git a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json
index f52247ec27..9af03008e9 100644
--- a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json
+++ b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json
@@ -1,5 +1,5 @@
{
- "keyboard": "ez_maker/directpins/teensy2",
+ "keyboard": "ez_maker/directpins/teensy_2",
"keymap": "default",
"layout": "LAYOUT_all",
"layers": [
diff --git a/keyboards/ez_maker/directpins/teensy_2/rules.mk b/keyboards/ez_maker/directpins/teensy_2/rules.mk
index e69de29bb2..6e7633bfe0 100644
--- a/keyboards/ez_maker/directpins/teensy_2/rules.mk
+++ b/keyboards/ez_maker/directpins/teensy_2/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.c b/keyboards/ez_maker/directpins/teensy_2/teensy2.c
deleted file mode 100644
index 1ef3337a1a..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2/teensy2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "teensy2.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.h b/keyboards/ez_maker/directpins/teensy_2/teensy2.h
deleted file mode 100644
index 386e50fb5b..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2/teensy2.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/config.h b/keyboards/ez_maker/directpins/teensy_2pp/config.h
deleted file mode 100644
index 436e169c19..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2pp/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021 Zach White
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/info.json b/keyboards/ez_maker/directpins/teensy_2pp/info.json
index d1aa41edd5..5baac9d6ab 100644
--- a/keyboards/ez_maker/directpins/teensy_2pp/info.json
+++ b/keyboards/ez_maker/directpins/teensy_2pp/info.json
@@ -5,7 +5,6 @@
"processor": "at90usb1286",
"bootloader": "halfkay",
"debounce": 5,
- "diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json
index 444f8cacb3..80de4c7ce4 100644
--- a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json
+++ b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json
@@ -1,5 +1,5 @@
{
- "keyboard": "ez_maker/directpins/promicro",
+ "keyboard": "ez_maker/directpins/teensy_2pp",
"keymap": "default",
"layout": "LAYOUT_all",
"layers": [
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/rules.mk b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk
index e69de29bb2..6e7633bfe0 100644
--- a/keyboards/ez_maker/directpins/teensy_2pp/rules.mk
+++ b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c
deleted file mode 100644
index 1ef3337a1a..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "teensy2.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h
deleted file mode 100644
index 386e50fb5b..0000000000
--- a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Zach White
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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"
diff --git a/keyboards/ez_maker/directpins/teensy_32/config.h b/keyboards/ez_maker/directpins/teensy_32/config.h
deleted file mode 100644
index c487a84ab1..0000000000
--- a/keyboards/ez_maker/directpins/teensy_32/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// i2c_master defines
-#define I2C1_SCL_PIN B0 // A2 on pinout = B0
-#define I2C1_SDA_PIN B1 // A3 on pinout = B1
-#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/ez_maker/directpins/teensy_32/halconf.h b/keyboards/ez_maker/directpins/teensy_32/halconf.h
deleted file mode 100644
index 9ba6e8fc31..0000000000
--- a/keyboards/ez_maker/directpins/teensy_32/halconf.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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/ez_maker/onekey/teensy_32/halconf.h -r platforms/chibios/common/configs/halconf.h`
- */
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next <halconf.h>
-
diff --git a/keyboards/ez_maker/directpins/teensy_32/mcuconf.h b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h
index 327f5c9aa3..4d96941426 100644
--- a/keyboards/ez_maker/directpins/teensy_32/mcuconf.h
+++ b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h
@@ -45,7 +45,7 @@
/*
* I2C driver settings
*/
-#define KINETIS_I2C_USE_I2C0 TRUE
+#define KINETIS_I2C_USE_I2C0 FALSE
#define KINETIS_I2C_I2C0_PRIORITY 4
#endif /* _MCUCONF_H_ */
diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk
index a92b099328..9803d8cc70 100644
--- a/keyboards/ez_maker/directpins/teensy_32/rules.mk
+++ b/keyboards/ez_maker/directpins/teensy_32/rules.mk
@@ -1,2 +1,4 @@
+USE_CHIBIOS_CONTRIB = yes
+
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/ez_maker/directpins/teensy_lc/config.h b/keyboards/ez_maker/directpins/teensy_lc/config.h
deleted file mode 100644
index c487a84ab1..0000000000
--- a/keyboards/ez_maker/directpins/teensy_lc/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// i2c_master defines
-#define I2C1_SCL_PIN B0 // A2 on pinout = B0
-#define I2C1_SDA_PIN B1 // A3 on pinout = B1
-#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/ez_maker/directpins/teensy_lc/halconf.h b/keyboards/ez_maker/directpins/teensy_lc/halconf.h
deleted file mode 100644
index bd9fe497f2..0000000000
--- a/keyboards/ez_maker/directpins/teensy_lc/halconf.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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/ez_maker/onekey/teensy_lc/halconf.h -r platforms/chibios/common/configs/halconf.h`
- */
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next <halconf.h>
-
diff --git a/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h
index f73bec3dc3..ec7de16c97 100644
--- a/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h
+++ b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h
@@ -45,7 +45,7 @@
/*
* I2C driver settings
*/
-#define KINETIS_I2C_USE_I2C0 TRUE
+#define KINETIS_I2C_USE_I2C0 FALSE
#define KINETIS_I2C_I2C0_PRIORITY 4
#endif /* _MCUCONF_H_ */
diff --git a/keyboards/ez_maker/directpins/teensy_lc/rules.mk b/keyboards/ez_maker/directpins/teensy_lc/rules.mk
index e04e843284..9803d8cc70 100644
--- a/keyboards/ez_maker/directpins/teensy_lc/rules.mk
+++ b/keyboards/ez_maker/directpins/teensy_lc/rules.mk
@@ -1,4 +1,3 @@
-# MCU name
USE_CHIBIOS_CONTRIB = yes
# Enter lower-power sleep mode when on the ChibiOS idle thread
diff --git a/keyboards/facew/config.h b/keyboards/facew/config.h
index 14583dc831..1dc4236c51 100644
--- a/keyboards/facew/config.h
+++ b/keyboards/facew/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER SPRiT
-#define PRODUCT FaceW
-
#define RGBLED_NUM 16
#define MATRIX_ROWS 8
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/facew/info.json b/keyboards/facew/info.json
index b8b817970d..fc9b024c2f 100644
--- a/keyboards/facew/info.json
+++ b/keyboards/facew/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "FaceW",
+ "manufacturer": "SPRiT",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/fallacy/config.h b/keyboards/fallacy/config.h
index c99653f2c5..4aa7aaf348 100755
--- a/keyboards/fallacy/config.h
+++ b/keyboards/fallacy/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter
- */
-#define VENDOR_ID 0xBF00
-#define PRODUCT_ID 0xBFFA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SheuBox
-#define PRODUCT Fallacy
-
/* key matrix size
*/
#define MATRIX_ROWS 5
@@ -34,7 +26,6 @@
*/
#define MATRIX_ROW_PINS { B1, B2, B3, C6, C7 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, D4, D5, D3 }
-#define UNUSED_PINS { B0, B7 }
/* COL2ROW or ROW2COL
*/
diff --git a/keyboards/fallacy/info.json b/keyboards/fallacy/info.json
index c1ec9328c0..c0a9293267 100644
--- a/keyboards/fallacy/info.json
+++ b/keyboards/fallacy/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Fallacy",
+ "manufacturer": "SheuBox",
"maintainer": "Toraifu",
+ "usb": {
+ "vid": "0xBF00",
+ "pid": "0xBFFA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/fc660c/config.h b/keyboards/fc660c/config.h
index 7df5811f42..82cbfe4c29 100644
--- a/keyboards/fc660c/config.h
+++ b/keyboards/fc660c/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4853 /* HS */
-#define PRODUCT_ID 0x660C
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Hasu
-#define PRODUCT FC660C
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/fc660c/info.json b/keyboards/fc660c/info.json
index 2259156d0f..a7f95eea1b 100644
--- a/keyboards/fc660c/info.json
+++ b/keyboards/fc660c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "fc660c",
+ "keyboard_name": "FC660C",
+ "manufacturer": "Hasu",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4853",
+ "pid": "0x660C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":15.5, "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}, {"x":15.5, "y":1}, {"label":"Caps Lock", "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.25}, {"x":14.5, "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}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Win", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
diff --git a/keyboards/fc660c/keymaps/siroleo/keymap.c b/keyboards/fc660c/keymaps/siroleo/keymap.c
index 3711336713..82b7f7b473 100644
--- a/keyboards/fc660c/keymaps/siroleo/keymap.c
+++ b/keyboards/fc660c/keymaps/siroleo/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FNM] = 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_MUTE, KC_VOLU,
- _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______, RESET, KC_VOLD,
+ _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______, QK_BOOT, KC_VOLD,
_______,_______,_______, QWERTY,COLEMAK,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,KC_END, KC_PGDN,_______,KC_BTN1, KC_MS_U,
_______,_______,_______, _______, _______,_______,_______, KC_MS_L,KC_MS_D,KC_MS_R
diff --git a/keyboards/fc660c/keymaps/via_rgb/keymap.c b/keyboards/fc660c/keymaps/via_rgb/keymap.c
index f9d95b332d..50bf58ffcb 100644
--- a/keyboards/fc660c/keymaps/via_rgb/keymap.c
+++ b/keyboards/fc660c/keymaps/via_rgb/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______, _______, _______,MO(2), _______, KC_HOME,KC_PGDN,KC_END
),
[2] = LAYOUT(
- RESET, EEPROM_RESET,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG,
+ QK_BOOT, EEPROM_RESET,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_MOD,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAI,
diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h
index 250e7336a9..68c14ea61c 100644
--- a/keyboards/fc980c/config.h
+++ b/keyboards/fc980c/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4853
-#define PRODUCT_ID 0x980C
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Hasu
-#define PRODUCT FC980C
-
/* Maximum dynamic keymap layers (constrained by EEPROM space) */
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MATRIX_ROW_PINS { B0, B2, B4, B5, B6 }
// #define MATRIX_COL_PINS { F5, B1, F0, F1, F4, B3, D7, D6, D4, D5, D3, D2, D1, D0 }
-// #define UNUSED_PINS
//#define DIODE_DIRECTION
diff --git a/keyboards/fc980c/info.json b/keyboards/fc980c/info.json
index 681b2c1503..043df7a944 100644
--- a/keyboards/fc980c/info.json
+++ b/keyboards/fc980c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "fc980c",
+ "keyboard_name": "FC980C",
+ "manufacturer": "Hasu",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4853",
+ "pid": "0x980C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/feels/feels65/config.h b/keyboards/feels/feels65/config.h
index f311a44834..d036fdddd9 100644
--- a/keyboards/feels/feels65/config.h
+++ b/keyboards/feels/feels65/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE965
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Feels65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -31,6 +24,5 @@
/* default pinout */
#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, E6, B0, B1, B2, B3 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/feels/feels65/info.json b/keyboards/feels/feels65/info.json
index 2d00880d81..b295bf9042 100644
--- a/keyboards/feels/feels65/info.json
+++ b/keyboards/feels/feels65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Feels65",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE965",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/feker/ik75/config.h b/keyboards/feker/ik75/config.h
new file mode 100644
index 0000000000..541fb86b73
--- /dev/null
+++ b/keyboards/feker/ik75/config.h
@@ -0,0 +1,108 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
+#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, D2, D3, D5, D4, D6, D7, B4, B5, B6, E2 }
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#ifdef ENCODER_ENABLE
+ /* Encoder pins */
+ #define ENCODERS_PAD_A { C6 }
+ #define ENCODERS_PAD_B { C7 }
+
+ /* Encoder config */
+ #define ENCODER_RESOLUTION 2
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+ #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #define RGB_MATRIX_KEYPRESSES
+ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+ /* RGB Matrix config */
+ #define DRIVER_ADDR_1 0b1011111
+ #define DRIVER_ADDR_2 0b1010000
+ #define DRIVER_COUNT 2
+ #define DRIVER_1_LED_TOTAL 63
+ #define DRIVER_2_LED_TOTAL 64
+
+ /* RGB Matrix effect */
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_BREATHING
+ #define ENABLE_RGB_MATRIX_BAND_SAT
+ #define ENABLE_RGB_MATRIX_BAND_VAL
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #define ENABLE_RGB_MATRIX_RAINDROPS
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #define ENABLE_RGB_MATRIX_HUE_WAVE
+ #define ENABLE_RGB_MATRIX_PIXEL_RAIN
+ #define ENABLE_RGB_MATRIX_PIXEL_FLOW
+ #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+ #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+ #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #define ENABLE_RGB_MATRIX_SPLASH
+ #define ENABLE_RGB_MATRIX_MULTISPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c
new file mode 100644
index 0000000000..58464e1934
--- /dev/null
+++ b/keyboards/feker/ik75/ik75.c
@@ -0,0 +1,191 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "ik75.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | G location
+ * | | B location
+ * | | | R location
+ * | | | | */
+ {0, A_1, C_1, B_1}, // 0, `~, K10
+ {0, A_2, C_2, B_2}, // 1, 1!, K11
+ {0, A_3, C_3, B_3}, // 2, 2@, K12
+ {0, A_4, C_4, B_4}, // 3, 3#, K13
+ {0, A_5, C_5, B_5}, // 4, 4$, K14
+ {0, A_6, C_6, B_6}, // 5, 5%, K15
+ {0, A_7, C_7, B_7}, // 6, 6^, K16
+ {0, A_8, C_8, B_8}, // 7, 7&, K17
+ {0, A_9, C_9, B_9}, // 8, 8*, K18
+ {0, A_10, C_10, B_10}, // 9, 9(, K19
+ {0, A_11, C_11, B_11}, // 10, 0), K1A
+ {0, A_12, C_12, B_12}, // 11, -_, K1B
+ {0, A_13, C_13, B_13}, // 12, =+, K1C
+ {0, A_14, C_14, B_14}, // 13, Backspace, K1D
+ {0, A_15, C_15, B_15}, // 14, Left Alt, K52
+ {0, A_16, C_16, B_16}, // 15, Space, K56
+
+ {0, D_1, F_1, E_1}, // 16, Tab, K20
+ {0, D_2, F_2, E_2}, // 17, Q, K21
+ {0, D_3, F_3, E_3}, // 18, W, K22
+ {0, D_4, F_4, E_4}, // 19, E, K23
+ {0, D_5, F_5, E_5}, // 20, R, K24
+ {0, D_6, F_6, E_6}, // 21, T, K25
+ {0, D_7, F_7, E_7}, // 22, Y, K26
+ {0, D_8, F_8, E_8}, // 23, U, K27
+ {0, D_9, F_9, E_9}, // 24, I, K28
+ {0, D_10, F_10, E_10}, // 25, O, K29
+ {0, D_11, F_11, E_11}, // 26, P, K2A
+ {0, D_12, F_12, E_12}, // 27, [{, K2B
+ {0, D_13, F_13, E_13}, // 28, ]}, K2C
+ {0, D_14, F_14, E_14}, // 29, \|, K2D
+ {0, D_15, F_15, E_15}, // 30, Right Ctrl, K5C
+ {0, D_16, F_16, E_16}, // 31, Function, K5A
+
+ {0, G_1, I_1, H_1}, // 32, Caps Lock, K30
+ {0, G_2, I_2, H_2}, // 33, A, K31
+ {0, G_3, I_3, H_3}, // 34, S, K32
+ {0, G_4, I_4, H_4}, // 35, D, K33
+ {0, G_5, I_5, H_5}, // 36, F, K34
+ {0, G_6, I_6, H_6}, // 37, G, K35
+ {0, G_7, I_7, H_7}, // 38, H, K36
+ {0, G_8, I_8, H_8}, // 39, J, K37
+ {0, G_9, I_9, H_9}, // 40, K, K38
+ {0, G_10, I_10, H_10}, // 41, L, K39
+ {0, G_11, I_11, H_11}, // 42, ;:, K3A
+ {0, G_12, I_12, H_12}, // 43, '", K3B
+ {0, G_13, I_13, H_13}, // 44, Enter, K3D
+ {0, G_14, I_14, H_14}, // 45, Up, K4E
+ {0, G_15, I_15, H_15}, // 46, Num Lock LED
+ {0, G_16, I_16, H_16}, // 47, Right Alt, K59
+
+ {0, J_1, L_1, K_1}, // 48, Left Shift, K40
+// {0, J_2, L_2, K_2}, // Unused LED
+ {0, J_3, L_3, K_3}, // 49, Z, K42
+ {0, J_4, L_4, K_4}, // 50, X, K43
+ {0, J_5, L_5, K_5}, // 51, C, K44
+ {0, J_6, L_6, K_6}, // 52, V, K45
+ {0, J_7, L_7, K_7}, // 53, B, K46
+ {0, J_8, L_8, K_8}, // 54, N, K47
+ {0, J_9, L_9, K_9}, // 55, M, K48
+ {0, J_10, L_10, K_10}, // 56, ,<, K49
+ {0, J_11, L_11, K_11}, // 57, .>, K4A
+ {0, J_12, L_12, K_12}, // 58, /?, K4B
+ {0, J_13, L_13, K_13}, // 59, Right Shift, K4D
+ {0, J_14, L_14, K_14}, // 60, Left, K5D
+ {0, J_15, L_15, K_15}, // 61, Down, K5E
+ {0, J_16, L_16, K_16}, // 62, Right, K5F
+
+ {1, A_1, C_1, B_1}, // 63, Underglow 20
+ {1, A_2, C_2, B_2}, // 64, Underglow 19
+ {1, A_3, C_3, B_3}, // 65, Underglow 18
+ {1, A_4, C_4, B_4}, // 66, Underglow 17
+ {1, A_5, C_5, B_5}, // 67, Underglow 16
+ {1, A_6, C_6, B_6}, // 68, Underglow 15
+ {1, A_7, C_7, B_7}, // 69, Underglow 14
+ {1, A_8, C_8, B_8}, // 70, Underglow 13
+ {1, A_9, C_9, B_9}, // 71, Underglow 12
+ {1, A_10, C_10, B_10}, // 72, Underglow 11
+ {1, A_11, C_11, B_11}, // 73, Underglow 10
+ {1, A_12, C_12, B_12}, // 74, Underglow 9
+ {1, A_13, C_13, B_13}, // 75, Underglow 8
+ {1, A_14, C_14, B_14}, // 76, Underglow 7
+ {1, A_15, C_15, B_15}, // 77, Underglow 6
+ {1, A_16, C_16, B_16}, // 78, Underglow 5
+
+ {1, D_1, F_1, E_1}, // 79, Esc, K00
+ {1, D_2, F_2, E_2}, // 80, F1, K01
+ {1, D_3, F_3, E_3}, // 81, F2, K02
+ {1, D_4, F_4, E_4}, // 82, F3, K03
+ {1, D_5, F_5, E_5}, // 83, F4, K04
+ {1, D_6, F_6, E_6}, // 84, F5, K05
+ {1, D_7, F_7, E_7}, // 85, F6, K06
+ {1, D_8, F_8, E_8}, // 86, F7, K07
+ {1, D_9, F_9, E_9}, // 87, F8, K08
+ {1, D_10, F_10, E_10}, // 88, F9, K09
+ {1, D_11, F_11, E_11}, // 89, F10, K0A
+ {1, D_12, F_12, E_12}, // 90, F11, K0B
+ {1, D_13, F_13, E_13}, // 91, F12, K0C
+ {1, D_14, F_14, E_14}, // 92, Delete, K0D
+ {1, D_15, F_15, E_15}, // 93, Left Ctrl, K50
+ {1, D_16, F_16, E_16}, // 94, Left Windows, K51
+
+ {1, G_1, I_1, H_1}, // 95, Underglow 21
+ {1, G_2, I_2, H_2}, // 96, Underglow 22
+ {1, G_3, I_3, H_3}, // 97, Underglow 23
+ {1, G_4, I_4, H_4}, // 98, Underglow 24
+ {1, G_5, I_5, H_5}, // 99, Knob LED 3, K53
+ {1, G_6, I_6, H_6}, // 100, Knob LED 2, K54
+ {1, G_7, I_7, H_7}, // 101, Knob LED 1, K4F
+ {1, G_8, I_8, H_8}, // 102, Insert, K1F
+ {1, G_9, I_9, H_9}, // 103, Page Up, K3E
+ {1, G_10, I_10, H_10}, // 104, Caps/Win/Scr LED
+ {1, G_11, I_11, H_11}, // 105, End, K2F
+ {1, G_12, I_12, H_12}, // 106, Page Down, K3F
+ {1, G_13, I_13, H_13}, // 107, Underglow 1
+ {1, G_14, I_14, H_14}, // 108, Underglow 2
+ {1, G_15, I_15, H_15}, // 109, Underglow 3
+ {1, G_16, I_16, H_16}, // 110, Underglow 4
+
+ {1, J_1, L_1, K_1}, // 111, Underglow 25
+ {1, J_2, L_2, K_2}, // 112, Underglow 26
+ {1, J_3, L_3, K_3}, // 113, Underglow 27
+ {1, J_4, L_4, K_4}, // 114, Underglow 28
+ {1, J_5, L_5, K_5}, // 115, Underglow 29
+ {1, J_6, L_6, K_6}, // 116, Underglow 30
+ {1, J_7, L_7, K_7}, // 117, Underglow 31
+ {1, J_8, L_8, K_8}, // 118, Underglow 32
+ {1, J_9, L_9, K_9}, // 119, Underglow 33
+ {1, J_10, L_10, K_10}, // 120, Underglow 34
+ {1, J_11, L_11, K_11}, // 121, Underglow 35
+ {1, J_12, L_12, K_12}, // 122, Underglow 36
+ {1, J_13, L_13, K_13}, // 123, Underglow 37
+ {1, J_14, L_14, K_14}, // 124, Underglow 38
+ {1, J_15, L_15, K_15}, // 125, Underglow 39
+ {1, J_16, L_16, K_16}, // 126, Underglow 40
+};
+
+led_config_t g_led_config = { {
+ { 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, NO_LED, NO_LED },
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NO_LED, 102 },
+ { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, NO_LED, 105 },
+ { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, 103, 106 },
+ { 48, NO_LED, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, NO_LED, 59, 45, 101 },
+ { 93, 94, 14, NO_LED, NO_LED, NO_LED, 15, NO_LED, NO_LED, 30, 31, NO_LED, 47, 60, 61, 62 }
+}, {
+ {0 , 15}, {14 , 15}, {29 , 15}, {43 , 15}, {58 , 15}, {72 , 15}, {87 , 15}, {101, 15}, {116, 15}, {130, 15}, {145, 15}, {159, 15}, {173, 15}, {195, 15}, {38 , 61}, {92 , 61},
+ {4 , 26}, {22 , 26}, {36 , 26}, {51 , 26}, {65 , 26}, {79 , 26}, {94 , 26}, {108, 26}, {123, 26}, {137, 26}, {152, 26}, {166, 26}, {181, 26}, {199, 26}, {173, 61}, {159, 61},
+ {5 , 38}, {25 , 38}, {40 , 38}, {54 , 38}, {69 , 38}, {83 , 38}, {98 , 38}, {112, 38}, {126, 38}, {141, 38}, {155, 38}, {170, 38}, {193, 38}, {206, 52}, {210, 12}, {145, 61},
+ {9 , 49}, {33 , 49}, {47 , 49}, {61 , 49}, {76 , 49}, {90 , 49}, {105, 49}, {119, 49}, {134, 49}, {148, 49}, {163, 49}, {182, 49}, {191, 64}, {206, 64}, {220, 64},
+ {14 , 0}, {28 , 0}, {53 , 0}, {63 , 0}, {74 , 0}, {88 , 0}, {102, 0}, {116, 0}, {130, 0}, {144, 0}, {158, 0}, {172, 0}, {189, 0}, {210, 0}, {224, 0}, {224, 11},
+ {0 , 0}, {18 , 0}, {33 , 0}, {47 , 0}, {61 , 0}, {79 , 0}, {94 , 0}, {108, 0}, {123, 0}, {141, 0}, {155, 0}, {170, 0}, {184, 0}, {202, 0}, {2 , 61}, {20 , 61},
+ {0 , 0}, {0 , 11}, {0 , 27}, {0 , 37}, {224, 5}, {210, 5}, {217, 0}, {224, 15}, {224, 38}, {210, 18}, {224, 26}, {224, 49}, {224, 56}, {224, 45}, {224, 35}, {224, 24},
+ {0 , 48}, {0 , 56}, {0 , 64}, {14 , 64}, {28 , 64}, {49 , 64}, {67 , 64}, {84 , 64}, {98 , 64}, {112, 64}, {126, 64}, {140, 64}, {158, 64}, {172, 64}, {196, 64}, {224, 64},
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 8, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 2, 2, 2, 2, 1, 1, 4, 4, 4, 8, 4, 4, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/feker/ik75/ik75.h b/keyboards/feker/ik75/ik75.h
new file mode 100644
index 0000000000..c4e5743bac
--- /dev/null
+++ b/keyboards/feker/ik75/ik75.h
@@ -0,0 +1,56 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ │4F │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1F │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2F │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3E │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │┌───â”│3F │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│4E │└───┘
+ * │50 │51 │52 │56 │5C │5A │59 │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘│5D │5E │5F │
+ * └───┴───┴───┘
+ */
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
+ 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, K4D, K4E, K3F, \
+ K50, K51, K52, K56, K5C, K5A, K59, K5D, K5E, K5F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, XXX }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, 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, K59, K5A, XXX, K5C, K5D, K5E, K5F } \
+}
diff --git a/keyboards/feker/ik75/info.json b/keyboards/feker/ik75/info.json
new file mode 100644
index 0000000000..bdba79703e
--- /dev/null
+++ b/keyboards/feker/ik75/info.json
@@ -0,0 +1,105 @@
+{
+ "keyboard_name": "IK75",
+ "manufacturer": "Feker",
+ "url": "https://epomaker.com/products/epomaker-feker-ik75-v3-qmk-via",
+ "maintainer": "Feker",
+ "usb": {
+ "vid": "0xF2E7",
+ "pid": "0x1226",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"Delete", "x":14, "y":0},
+ {"label":"Mute", "x":15.5, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.5, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"End", "x":15.5, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"PgUp", "x":15.5, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+ {"label":"PgDn", "x":15.5, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25},
+ {"label":"Fn", "x":11, "y":5.25},
+ {"label":"Ctrl", "x":12, "y":5.25},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c
new file mode 100644
index 0000000000..95d41853f9
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c
@@ -0,0 +1,224 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _FN1,
+ _FN2,
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Del│ │Mut│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ │PgU│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───â”│PgD│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │└───┘
+ │LCrl│GUI │LAlt│ Space │RAt│Fn │Rcl│┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ └───┴───┴───┘
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ │└───┘
+ │ │ │ │ │ │ │ │┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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,
+ 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(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Rst││Mcm│Hom│Cal│Sel││Prv│Nxt│Ply│Stp││Mut│VoD│VoU│Mai││Ins│ │Tog│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │Mod│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │Prt│ │ │ │ │Hui│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │Scr│ │ │ │ │ │ │ │ │ │ │ │Sai│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │Num│ │ │ │ │ │┌───â”│Sad│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│Vai│└───┘
+ │ │GTog│ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │Vad│ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, KC_INS, RGB_TOG,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI,
+ _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
+ _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD,
+ _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │└───┘
+ │ │ │ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │└───┘
+ │ │ │ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ rgb_matrix_set_color(104, 0, 0, 0);
+
+ uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0;
+ uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0;
+ uint8_t blue = keymap_config.no_gui ? 255 : 0;
+
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ } else {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ } else {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ }
+}
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/feker/ik75/keymaps/bkzshen/rules.mk b/keyboards/feker/ik75/keymaps/bkzshen/rules.mk
new file mode 100644
index 0000000000..d76c12896f
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/bkzshen/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+
+# Encoder enabled
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c
new file mode 100644
index 0000000000..582340650c
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/default/keymap.c
@@ -0,0 +1,166 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Del│ │Mut│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Ins│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ │PgU│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───â”│PgD│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │└───┘
+ │LCrl│GUI │LAlt│ Space │RAt│Fn │Rcl│┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ └───┴───┴───┘
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ │└───┘
+ │ │ │ │ │ │ │ │┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Rst││Mcm│Hom│Cal│Sel││Prv│Nxt│Ply│Stp││Mut│VoD│VoU│Mai││ │ │Tog│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │Mod│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │Prt│ │ │ │ │Hui│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │Scr│ │ │ │ │ │ │ │ │ │ │ │Sai│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │Num│ │ │ │ │ │┌───â”│Sad│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│Vai│└───┘
+ │ │GTog│ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │Vad│ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, _______, RGB_TOG,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI,
+ _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
+ _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD,
+ _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ rgb_matrix_set_color(104, 0, 0, 0);
+
+ uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0;
+ uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0;
+ uint8_t blue = keymap_config.no_gui ? 255 : 0;
+
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ } else {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ } else {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ }
+}
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/feker/ik75/keymaps/default/rules.mk b/keyboards/feker/ik75/keymaps/default/rules.mk
new file mode 100644
index 0000000000..00003ba11b
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+# Encoder enabled
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/feker/ik75/keymaps/via/keymap.c b/keyboards/feker/ik75/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6f0c6890ed
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/via/keymap.c
@@ -0,0 +1,224 @@
+/* Copyright 2022 Feker
+ * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _FN1,
+ _FN2,
+};
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Del│ │Mut│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Ins│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ │PgU│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───â”│PgD│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ ↑ │└───┘
+ │LCrl│GUI │LAlt│ Space │RAt│Fn │Rcl│┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ ↠│ ↓ │ → │
+ └───┴───┴───┘
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│ │└───┘
+ │ │ │ │ │ │ │ │┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴───┴───┴───┘│ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │Rst││Mcm│Hom│Cal│Sel││Prv│Nxt│Ply│Stp││Mut│VoD│VoU│Mai││ │ │Tog│
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │Mod│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │Prt│ │ │ │ │Hui│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │Scr│ │ │ │ │ │ │ │ │ │ │ │Sai│
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │Num│ │ │ │ │ │┌───â”│Sad│
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│Vai│└───┘
+ │ │GTog│ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │Vad│ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, _______, RGB_TOG,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI,
+ _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
+ _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD,
+ _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │└───┘
+ │ │ │ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───â”
+ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │
+ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”│ │
+ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│ │└───┘
+ │ │ │ │ │ │ │ ┌───┼───┼───â”
+ └────┴────┴────┴────────────────────────┴────┴────┘ │ │ │ │
+ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
+ [_FN2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ rgb_matrix_set_color(104, 0, 0, 0);
+
+ uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0;
+ uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0;
+ uint8_t blue = keymap_config.no_gui ? 255 : 0;
+
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ } else {
+ if (host_keyboard_led_state().num_lock) {
+ rgb_matrix_set_color(46, 255, 0, 0);
+ } else {
+ rgb_matrix_set_color(46, 0, 0, 0);
+ }
+ rgb_matrix_set_color(104, red, green, blue);
+ }
+}
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/feker/ik75/keymaps/via/rules.mk b/keyboards/feker/ik75/keymaps/via/rules.mk
new file mode 100644
index 0000000000..d76c12896f
--- /dev/null
+++ b/keyboards/feker/ik75/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+
+# Encoder enabled
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/feker/ik75/readme.md b/keyboards/feker/ik75/readme.md
new file mode 100644
index 0000000000..e533f4a200
--- /dev/null
+++ b/keyboards/feker/ik75/readme.md
@@ -0,0 +1,25 @@
+# Feker IK75
+
+A 75% exploded keyboard made by Feker, which controlled by an Atmega32u4 chipset. The keyboard features per-key RGB, RGB underglow and 1 encoder.
+
+* Keyboard Maintainer: Feker
+* Hardware Supported: Atmega32u4
+* Hardware Availability: https://epomaker.com/products/epomaker-feker-ik75-v3-qmk-via
+
+Make example for this keyboard (after setting up your build environment):
+
+ make feker/ik75:default
+
+Flashing example for this keyboard:
+
+ make feker/ik75:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/feker/ik75/rules.mk b/keyboards/feker/ik75/rules.mk
new file mode 100644
index 0000000000..97a872d23e
--- /dev/null
+++ b/keyboards/feker/ik75/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Additional thing to reduce compiled size
+LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
+
+# RGB Matrix enabled
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3733
+
+# Encoder enabled
+ENCODER_ENABLE = yes
diff --git a/keyboards/ferris/0_1/config.h b/keyboards/ferris/0_1/config.h
index 6cd5c91621..79a74ae9bb 100644
--- a/keyboards/ferris/0_1/config.h
+++ b/keyboards/ferris/0_1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pierre
-#define PRODUCT Ferris the keeb
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
diff --git a/keyboards/ferris/0_1/info.json b/keyboards/ferris/0_1/info.json
new file mode 100644
index 0000000000..354545b3bd
--- /dev/null
+++ b/keyboards/ferris/0_1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Ferris the keeb",
+ "manufacturer": "Pierre",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/ferris/0_2/base/info.json b/keyboards/ferris/0_2/base/info.json
new file mode 100644
index 0000000000..d0d22b8047
--- /dev/null
+++ b/keyboards/ferris/0_2/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2",
+ "usb": {
+ "pid": "0x0001"
+ }
+}
diff --git a/keyboards/ferris/0_2/base/rules.mk b/keyboards/ferris/0_2/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/ferris/0_2/base/rules.mk
diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h
index 4b2efd378d..ceb02e737b 100644
--- a/keyboards/ferris/0_2/bling/config.h
+++ b/keyboards/ferris/0_2/bling/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0002
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Bling
-
-
-
/* LED Drivers */
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101
diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json
new file mode 100644
index 0000000000..5473c33295
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Bling",
+ "usb": {
+ "pid": "0x0002"
+ }
+}
diff --git a/keyboards/ferris/0_2/compact/config.h b/keyboards/ferris/0_2/compact/config.h
deleted file mode 100644
index ee465b9acd..0000000000
--- a/keyboards/ferris/0_2/compact/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier <pierrechevalier83@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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0003
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Compact
diff --git a/keyboards/ferris/0_2/compact/info.json b/keyboards/ferris/0_2/compact/info.json
new file mode 100644
index 0000000000..4ca1555776
--- /dev/null
+++ b/keyboards/ferris/0_2/compact/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Compact",
+ "usb": {
+ "pid": "0x0003"
+ }
+}
diff --git a/keyboards/ferris/0_2/config.h b/keyboards/ferris/0_2/config.h
index f51e5dd8f1..5de356f3cf 100644
--- a/keyboards/ferris/0_2/config.h
+++ b/keyboards/ferris/0_2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Cuddly Keyboards Ltd.
-#define PRODUCT Ferris 0.2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
@@ -52,8 +45,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B7, B6, B5, A2, A0, A0, A0, A0 }
#define MATRIX_COL_PINS \
{ B8, B4, B3, A15, A14, A1, A1, A1, A1, A1 }
-#define UNUSED_PINS \
- { A3, A4, A5, A6, A7, A8, A9, A10, A13, B0, B1, B2, B9, B12, B13, B14, B15, C13, C14, C15, F0, F1 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ferris/0_2/high/config.h b/keyboards/ferris/0_2/high/config.h
deleted file mode 100644
index 67786241b4..0000000000
--- a/keyboards/ferris/0_2/high/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier <pierrechevalier83@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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0005
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - High
diff --git a/keyboards/ferris/0_2/high/info.json b/keyboards/ferris/0_2/high/info.json
new file mode 100644
index 0000000000..adb9d07af3
--- /dev/null
+++ b/keyboards/ferris/0_2/high/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - High",
+ "usb": {
+ "pid": "0x0005"
+ }
+}
diff --git a/keyboards/ferris/0_2/info.json b/keyboards/ferris/0_2/info.json
new file mode 100644
index 0000000000..9ab2ffbdfb
--- /dev/null
+++ b/keyboards/ferris/0_2/info.json
@@ -0,0 +1,7 @@
+{
+ "manufacturer": "Cuddly Keyboards Ltd.",
+ "usb": {
+ "vid": "0xC2AB",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/ferris/0_2/mini/config.h b/keyboards/ferris/0_2/mini/config.h
deleted file mode 100644
index e357cabe0b..0000000000
--- a/keyboards/ferris/0_2/mini/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Pierre Chevalier <pierrechevalier83@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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x0004
-#undef PRODUCT
-#define PRODUCT Ferris 0.2 - Mini
diff --git a/keyboards/ferris/0_2/mini/info.json b/keyboards/ferris/0_2/mini/info.json
new file mode 100644
index 0000000000..0ab5db559a
--- /dev/null
+++ b/keyboards/ferris/0_2/mini/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Ferris 0.2 - Mini",
+ "usb": {
+ "pid": "0x0004"
+ }
+}
diff --git a/keyboards/ferris/0_2/rules.mk b/keyboards/ferris/0_2/rules.mk
index 2d406f5c1d..c5a44ca9ef 100644
--- a/keyboards/ferris/0_2/rules.mk
+++ b/keyboards/ferris/0_2/rules.mk
@@ -25,3 +25,5 @@ SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
LAYOUTS = split_3x5_2
+
+DEFAULT_FOLDER = ferris/0_2/base
diff --git a/keyboards/ferris/info.json b/keyboards/ferris/info.json
index 93470c7253..52485bd9e9 100644
--- a/keyboards/ferris/info.json
+++ b/keyboards/ferris/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Ferris",
"url": "https://github.com/pierrechevalier83/ferris/",
"maintainer": "@pierrec83",
"layouts": {
diff --git a/keyboards/ferris/keymaps/bruun-baer/config.h b/keyboards/ferris/keymaps/bruun-baer/config.h
new file mode 100644
index 0000000000..4f63ee544f
--- /dev/null
+++ b/keyboards/ferris/keymaps/bruun-baer/config.h
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 Alexander Bruun <alex@bruun.xyz>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+// Set the mouse settings to a comfortable speed/accuracy trade-off,
+// assuming a screen refresh rate of 60 Htz or higher
+// The default is 50. This makes the mouse ~3 times faster and more accurate
+#define MOUSEKEY_INTERVAL 16
+// The default is 20. Since we made the mouse about 3 times faster with the previous setting,
+// give it more time to accelerate to max speed to retain precise control over short distances.
+#define MOUSEKEY_TIME_TO_MAX 40
+// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive
+#define MOUSEKEY_DELAY 100
+// It makes sense to use the same delay for the mouseweel
+#define MOUSEKEY_WHEEL_DELAY 100
+// The default is 100
+#define MOUSEKEY_WHEEL_INTERVAL 50
+// The default is 40
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 100
+
+// Pick good defaults for enabling homerow modifiers
+#define TAPPING_TERM 200
+#define PERMISSIVE_HOLD
+#define IGNORE_MOD_TAP_INTERRUPT
+#define TAPPING_FORCE_HOLD
diff --git a/keyboards/ferris/keymaps/bruun-baer/keymap.json b/keyboards/ferris/keymaps/bruun-baer/keymap.json
new file mode 100644
index 0000000000..ee966ab1b5
--- /dev/null
+++ b/keyboards/ferris/keymaps/bruun-baer/keymap.json
@@ -0,0 +1,71 @@
+{
+ "version": 1,
+ "notes": "Personal keymap",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "ferris/sweep",
+ "keymap": "bruun-baer",
+ "layout": "LAYOUT_split_3x5_2",
+ "layers": [
+ ["KC_Q" , "KC_D" , "KC_R" , "KC_W" , "KC_B",
+ "KC_J" , "KC_F" , "KC_U" , "KC_P" , "KC_QUOT",
+
+ "LGUI_T(KC_A)", "LALT_T(KC_S)", "LSFT_T(KC_H)", "LCTL_T(KC_T)" , "KC_G",
+ "KC_Y" , "LCTL_T(KC_N)", "LSFT_T(KC_E)", "LALT_T(KC_O)" , "LGUI_T(KC_I)",
+
+ "KC_Z" , "RALT_T(KC_X)", "KC_M" , "KC_C" , "KC_V",
+ "KC_K" , "KC_L" , "KC_COMM" , "RALT_T(KC_DOT)", "KC_SLSH",
+
+ "LT(3,KC_SPC)", "LT(4,KC_TAB)",
+ "LT(2,KC_ENT)", "LT(1,KC_BSPC)"
+ ],
+ ["KC_LBRC" , "KC_7" , "KC_8" , "KC_9" , "KC_RBRC",
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
+
+ "KC_SCLN" , "KC_4" , "KC_5" , "KC_6" , "KC_EQL",
+ "KC_NO" , "KC_LCTL" , "KC_LSFT" , "KC_LALT" , "KC_LGUI",
+
+ "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_BSLS",
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_RALT" , "KC_NO",
+
+ "KC_0" , "KC_MINS",
+ "KC_NO" , "KC_NO"
+ ],
+ ["KC_LCBR" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RCBR",
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
+
+ "KC_COLN" , "KC_DLR" , "KC_PERC" , "KC_CIRC" , "KC_PLUS",
+ "KC_NO" , "KC_LCTL" , "KC_LSFT" , "KC_LALT" , "KC_LGUI",
+
+ "KC_TILD" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_PIPE",
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_RALT" , "KC_NO",
+
+ "KC_RPRN" , "KC_UNDS",
+ "KC_NO" , "KC_NO"
+ ],
+ ["KC_F12" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_PSCR",
+ "KC_AGIN" , "KC_PSTE" , "KC_COPY" , "KC_CUT" , "KC_UNDO",
+
+ "KC_F11" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_SCRL",
+ "KC_CAPS" , "KC_LEFT" , "KC_DOWN" , "KC_UP" , "KC_RGHT",
+
+ "KC_F10" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_PAUS",
+ "KC_INS" , "KC_HOME" , "KC_PGDN" , "KC_PGUP" , "KC_END",
+
+ "KC_NO" , "KC_NO",
+ "KC_ESC" , "KC_DEL"
+ ],
+ ["KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
+ "KC_MPLY" , "KC_MPRV" , "KC_VOLD" , "KC_VOLU" , "KC_MNXT",
+
+ "KC_LGUI" , "KC_LALT" , "KC_LSFT" , "KC_LCTL" , "KC_NO",
+ "KC_MUTE" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R",
+
+ "KC_NO" , "KC_RALT" , "KC_NO" , "KC_NO" , "KC_NO",
+ "KC_BTN3" , "KC_WH_L" , "KC_WH_D" , "KC_WH_U" , "KC_WH_R",
+
+ "KC_NO" , "KC_NO",
+ "KC_BTN1" , "KC_BTN2"
+ ]
+ ],
+ "author": "@bruun-baer"
+}
diff --git a/keyboards/ferris/keymaps/bruun-baer/readme.md b/keyboards/ferris/keymaps/bruun-baer/readme.md
new file mode 100644
index 0000000000..7d1d78b5f1
--- /dev/null
+++ b/keyboards/ferris/keymaps/bruun-baer/readme.md
@@ -0,0 +1,2 @@
+Personal Ferris Sweep Keymap
+===============================================
diff --git a/keyboards/ferris/keymaps/madhatter/keymap.c b/keyboards/ferris/keymaps/madhatter/keymap.c
index 5a3f416e74..1bdc8604f2 100644
--- a/keyboards/ferris/keymaps/madhatter/keymap.c
+++ b/keyboards/ferris/keymaps/madhatter/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT( /* [> RAISE <] */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/config.h b/keyboards/ferris/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..dbbff11bb6
--- /dev/null
+++ b/keyboards/ferris/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,19 @@
+// Copyright 2021 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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 LAYOUT_miryoku( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K33, K34, K35, K36 \
+)
diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk
new file mode 100644
index 0000000000..ef40279cbc
--- /dev/null
+++ b/keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2021 Manna Harbour
+# https://github.com/manna-harbour/miryoku
+
+MIRYOKU_KLUDGE_THUMBCOMBOS=yes
diff --git a/keyboards/ferris/keymaps/pierrec83/keymap.json b/keyboards/ferris/keymaps/pierrec83/keymap.json
index f42259be90..2cbc47d912 100644
--- a/keyboards/ferris/keymaps/pierrec83/keymap.json
+++ b/keyboards/ferris/keymaps/pierrec83/keymap.json
@@ -108,7 +108,7 @@
"DF(1)" , "KC_LGUI" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
- "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)" , "RESET",
+ "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)" , "QK_BOOT",
"KC_TRNS" , "KC_TAB",
"KC_NO" , "KC_TRNS"
diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h
index 4d4d7d309f..1708ec6e2b 100644
--- a/keyboards/ferris/sweep/config.h
+++ b/keyboards/ferris/sweep/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2018-2020
+/* Copyright 2018-2020
ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
David Philip Barr <@davidphilipbarr>
Pierre Chevalier <pierrechevalier83@gmail.com>
@@ -21,28 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x3939
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DPB
-#define PRODUCT Ferris sweep
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
-/*
- * 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)
- * NO_DIODE = switches are directly connected to AVR pins
- *
-*/
#define DIRECT_PINS { \
{ E6, F7, F6, F5, F4 }, \
{ B1, B3, B2, B6, D3 }, \
@@ -57,10 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B5, B4, NO_PIN, NO_PIN, NO_PIN } \
}
-
-
-#define UNUSED_PINS
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/ferris/sweep/info.json b/keyboards/ferris/sweep/info.json
new file mode 100644
index 0000000000..fc53028c34
--- /dev/null
+++ b/keyboards/ferris/sweep/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Ferris sweep",
+ "manufacturer": "DPB",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x3939",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/ferris/sweep/readme.md b/keyboards/ferris/sweep/readme.md
index 332ab2c790..b6dd436a8b 100644
--- a/keyboards/ferris/sweep/readme.md
+++ b/keyboards/ferris/sweep/readme.md
@@ -31,13 +31,20 @@ For Elite-C or compatible controllers using `DFU` bootloader, add the line `BOOT
[QMK Toolbox](http://qmk.fm/toolbox) can also be used to set EEPROM handedness. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand
+### RP2040 Controllers
+
+Pro Micro RP2040 controllers are supported with [QMK Converters](https://docs.qmk.fm/#/feature_converters). The make command example with handedness setting for Adafruit's KB2040 are:
+
+ make CONVERT_TO=kb2040 ferris/sweep:default:uf2-split-left
+ make CONVERT_TO=kb2040 ferris/sweep:default:uf2-split-right
+
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key on the left half (or the top right key on the right half) and plug in the controller on that side.
* **Physical reset button**: Briefly press the reset button soldered on the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is configured.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
## Swapped Pins
diff --git a/keyboards/ffkeebs/puca/config.h b/keyboards/ffkeebs/puca/config.h
index e8e57c72e8..779c0fc477 100644
--- a/keyboards/ffkeebs/puca/config.h
+++ b/keyboards/ffkeebs/puca/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4646 // FF
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FootFingers
-#define PRODUCT Puca
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
// 0 , 1 , 2 , 3 , 4 , 5
diff --git a/keyboards/ffkeebs/puca/info.json b/keyboards/ffkeebs/puca/info.json
index 204f0ca497..14f71ffee7 100644
--- a/keyboards/ffkeebs/puca/info.json
+++ b/keyboards/ffkeebs/puca/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Puca",
+ "manufacturer": "FootFingers",
"url": "https://ffkeebs.com/collections/puca/",
"maintainer": "Sleepdealr",
+ "usb": {
+ "vid": "0x4646",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/ffkeebs/puca/readme.md b/keyboards/ffkeebs/puca/readme.md
index ca4e0f93f9..bfd814e2b6 100644
--- a/keyboards/ffkeebs/puca/readme.md
+++ b/keyboards/ffkeebs/puca/readme.md
@@ -10,7 +10,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the encoder)
* **Physical reset button**: Briefly press the button on the front of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/ffkeebs/siris/config.h b/keyboards/ffkeebs/siris/config.h
index 6b7733b361..f57d79b30d 100644
--- a/keyboards/ffkeebs/siris/config.h
+++ b/keyboards/ffkeebs/siris/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE96C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Siris
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/ffkeebs/siris/info.json b/keyboards/ffkeebs/siris/info.json
index fe5161779f..fc4d7f7f22 100644
--- a/keyboards/ffkeebs/siris/info.json
+++ b/keyboards/ffkeebs/siris/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Siris",
+ "manufacturer": "Swiftrax",
"url": "https: //github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE96C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/fjlabs/7vhotswap/config.h b/keyboards/fjlabs/7vhotswap/config.h
index 66ee195a58..1bb8d77a22 100644
--- a/keyboards/fjlabs/7vhotswap/config.h
+++ b/keyboards/fjlabs/7vhotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLaboratories
-#define PRODUCT_ID 0x0014 // 7V Hotswap
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLaboratories
-#define PRODUCT 7V Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B0, F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/7vhotswap/info.json b/keyboards/fjlabs/7vhotswap/info.json
index 07404031e3..b577a68bd2 100644
--- a/keyboards/fjlabs/7vhotswap/info.json
+++ b/keyboards/fjlabs/7vhotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "7V Hotswap PCBs",
+ "keyboard_name": "7V Hotswap",
+ "manufacturer": "FJLaboratories",
"url": "http://www.fjlaboratories.com/",
"maintainer": "mrnoisytiger",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0014",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_all": {
"layout": [
diff --git a/keyboards/fjlabs/ad65/config.h b/keyboards/fjlabs/ad65/config.h
index 3bbf7a01d1..de19592464 100644
--- a/keyboards/fjlabs/ad65/config.h
+++ b/keyboards/fjlabs/ad65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLaboratories
-#define PRODUCT_ID 0x0010 // AD65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Absolute Designs
-#define PRODUCT AD65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/ad65/info.json b/keyboards/fjlabs/ad65/info.json
index 36ed900b6c..81a65cc262 100644
--- a/keyboards/fjlabs/ad65/info.json
+++ b/keyboards/fjlabs/ad65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Absolute Designs 65",
+ "keyboard_name": "AD65",
+ "manufacturer": "Absolute Designs",
"url": "https://arnoldh93.wixsite.com/website",
"maintainer": "FJLaboratories",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fjlabs/avalon/avalon.c b/keyboards/fjlabs/avalon/avalon.c
new file mode 100644
index 0000000000..9f6b63e4c8
--- /dev/null
+++ b/keyboards/fjlabs/avalon/avalon.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "avalon.h"
diff --git a/keyboards/fjlabs/avalon/avalon.h b/keyboards/fjlabs/avalon/avalon.h
new file mode 100644
index 0000000000..c24b0e53ce
--- /dev/null
+++ b/keyboards/fjlabs/avalon/avalon.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2022 <hello@fjlaboratories.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"
+
+/* Phantom Keymap Definitions */
+#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, K1D, 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, \
+ K40, K41, K42, K43, K47, K4A, K4B, K4D, K4E, K4F \
+) { \
+ { 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, 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, KC_NO }, \
+ { K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F } \
+}
diff --git a/keyboards/fjlabs/avalon/config.h b/keyboards/fjlabs/avalon/config.h
new file mode 100644
index 0000000000..2d2c53c14e
--- /dev/null
+++ b/keyboards/fjlabs/avalon/config.h
@@ -0,0 +1,76 @@
+/*
+Copyright 2022 <hello@fjlaboratories.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 "config_common.h"
+
+/* 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)
+ *Ã¥
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
+#define MATRIX_COL_PINS { B0, F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
+#define UNUSED_PINS
+
+/* COL2ROW or 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
+
+/* Define Indicator LED's */
+#define LED_CAPS_LOCK_PIN C7
+
+/* Define RGB Underglow */
+#define RGB_DI_PIN D6
+#define RGBLED_NUM 6
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_LIMIT_VAL 255
+#define RGB_VAL_STEP 12
+#define RGBLIGHT_DEFAULT_SPD 144
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
+
diff --git a/keyboards/fjlabs/avalon/info.json b/keyboards/fjlabs/avalon/info.json
new file mode 100644
index 0000000000..040db5f197
--- /dev/null
+++ b/keyboards/fjlabs/avalon/info.json
@@ -0,0 +1,94 @@
+{
+ "keyboard_name": "Avalon",
+ "manufacturer": "Trailblazer Keyboards",
+ "url": "https://fjlaboratories.com/",
+ "maintainer": "FJLaboratories",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0015",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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": 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": 15.25, "y": 0},
+ {"x": 16.5, "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": 7.75, "y": 1},
+ {"x": 8.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, "w": 1.5},
+ {"x": 16.5, "y": 1},
+
+ {"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": 8, "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, "w": 2.25},
+ {"x": 16.5, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1.25, "y": 3, "w": 1.25},
+ {"x": 2.5, "y": 3},
+ {"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": 8.5, "y": 3},
+ {"x": 9.5, "y": 3},
+ {"x": 19.5, "y": 3},
+ {"x": 11.5, "y": 3},
+ {"x": 12.5, "y": 3},
+ {"x": 13.5, "y": 3, "w": 1.75},
+ {"x": 15.25, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1.25, "y": 4, "w": 1.25},
+ {"x": 2.5, "y": 4, "w": 1.25},
+ {"x": 3.75, "y": 4, "w": 1.25},
+ {"x": 5, "y": 4, "w": 6.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 14.25, "y": 4},
+ {"x": 15.25, "y": 4},
+ {"x": 16.25, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/fjlabs/avalon/keymaps/default/keymap.c b/keyboards/fjlabs/avalon/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b5e2b84480
--- /dev/null
+++ b/keyboards/fjlabs/avalon/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ KC_F1, 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_GRV,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_F3, KC_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_F4, 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_F5, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_all(
+ KC_TRNS, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ )
+};
diff --git a/keyboards/fjlabs/avalon/keymaps/via/keymap.c b/keyboards/fjlabs/avalon/keymaps/via/keymap.c
new file mode 100644
index 0000000000..61aa6f155c
--- /dev/null
+++ b/keyboards/fjlabs/avalon/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/*
+Copyright 2022 <hello@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ KC_F1, 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_GRV,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_F3, KC_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_DEL, KC_PGDN,
+ KC_F4, 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_F5, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_all(
+ KC_TRNS, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+ [_LAYER2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_LAYER3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/fjlabs/avalon/keymaps/via/rules.mk b/keyboards/fjlabs/avalon/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/fjlabs/avalon/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/avalon/readme.md b/keyboards/fjlabs/avalon/readme.md
new file mode 100644
index 0000000000..154f48ac6c
--- /dev/null
+++ b/keyboards/fjlabs/avalon/readme.md
@@ -0,0 +1,19 @@
+# Avalon PCB by FJLaboratories
+
+The following is the QMK Firmware for the Avalon PCB, both Solder and Hotswap, for Trailblazer Keyboards.
+* Keyboard Maintainer: FJLaboratories
+* Hardware Supported: Avalon
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fjlabs/avalon:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/fjlabs/avalon/rules.mk b/keyboards/fjlabs/avalon/rules.mk
new file mode 100644
index 0000000000..f54595dd64
--- /dev/null
+++ b/keyboards/fjlabs/avalon/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/fjlabs/bks65/config.h b/keyboards/fjlabs/bks65/config.h
index b1deccd4e1..d7da95f678 100644
--- a/keyboards/fjlabs/bks65/config.h
+++ b/keyboards/fjlabs/bks65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1001 // BKS65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT BKS65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/bks65/info.json b/keyboards/fjlabs/bks65/info.json
index 8ffc39896f..ba1bd5d961 100644
--- a/keyboards/fjlabs/bks65/info.json
+++ b/keyboards/fjlabs/bks65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BKS65",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/fjlabs/bks65solder/config.h b/keyboards/fjlabs/bks65solder/config.h
index 5dff84a0c1..5bb4800aa0 100644
--- a/keyboards/fjlabs/bks65solder/config.h
+++ b/keyboards/fjlabs/bks65solder/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x0099 // BKS65 Solder
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT BKS65 Solder
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/bks65solder/info.json b/keyboards/fjlabs/bks65solder/info.json
index 327c50da20..7528d94dae 100644
--- a/keyboards/fjlabs/bks65solder/info.json
+++ b/keyboards/fjlabs/bks65solder/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BKS65 Solder",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0099",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fjlabs/bolsa65/config.h b/keyboards/fjlabs/bolsa65/config.h
index bf389ee445..4c0b2bdfad 100644
--- a/keyboards/fjlabs/bolsa65/config.h
+++ b/keyboards/fjlabs/bolsa65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x0001 // Bolsa65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT bolsa65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F1, F0, F6, F5, F4 }
#define MATRIX_COL_PINS { C7, B1, B2, B3, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/bolsa65/info.json b/keyboards/fjlabs/bolsa65/info.json
index a1baffc056..b9ce0d3507 100644
--- a/keyboards/fjlabs/bolsa65/info.json
+++ b/keyboards/fjlabs/bolsa65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bolsa65",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/fjlabs/kf87/config.h b/keyboards/fjlabs/kf87/config.h
index b133e375bb..0313d0247d 100644
--- a/keyboards/fjlabs/kf87/config.h
+++ b/keyboards/fjlabs/kf87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLaboratories
-#define PRODUCT_ID 0x0006 // KF87
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLaboratories
-#define PRODUCT KF87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 }
#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/kf87/info.json b/keyboards/fjlabs/kf87/info.json
index 41542d166b..736bc2b991 100644
--- a/keyboards/fjlabs/kf87/info.json
+++ b/keyboards/fjlabs/kf87/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KF87 Replacement PCB's",
+ "keyboard_name": "KF87",
+ "manufacturer": "FJLaboratories",
"url": "http://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_all": {
"layout": [
diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h
index 75f9643a79..7d83a83dc8 100644
--- a/keyboards/fjlabs/kyuu/config.h
+++ b/keyboards/fjlabs/kyuu/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1012 // Kyuu Hotswap
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT Kyuu Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/kyuu/info.json b/keyboards/fjlabs/kyuu/info.json
index 2bb1ebe843..c158157418 100644
--- a/keyboards/fjlabs/kyuu/info.json
+++ b/keyboards/fjlabs/kyuu/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BKS65",
+ "keyboard_name": "Kyuu Hotswap",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_badge": {
"layout": [
diff --git a/keyboards/fjlabs/ldk65/config.h b/keyboards/fjlabs/ldk65/config.h
index 15626c0700..5321f569fa 100644
--- a/keyboards/fjlabs/ldk65/config.h
+++ b/keyboards/fjlabs/ldk65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x0002 // LDK65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT LDK65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/ldk65/info.json b/keyboards/fjlabs/ldk65/info.json
index ae5a0a5924..562b7c5b6b 100644
--- a/keyboards/fjlabs/ldk65/info.json
+++ b/keyboards/fjlabs/ldk65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LDK65",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/fjlabs/midway60/config.h b/keyboards/fjlabs/midway60/config.h
index f70a932a51..d218cb7022 100644
--- a/keyboards/fjlabs/midway60/config.h
+++ b/keyboards/fjlabs/midway60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1002 // Midway60
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT Midway60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/midway60/info.json b/keyboards/fjlabs/midway60/info.json
index 251c57dc8e..885b74cc5b 100644
--- a/keyboards/fjlabs/midway60/info.json
+++ b/keyboards/fjlabs/midway60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Midway60",
+ "manufacturer": "FJLabs",
"url": "https://www.bolsakeyboardsupply.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h
index fdc8571344..02b2a741d4 100644
--- a/keyboards/fjlabs/mk61rgbansi/config.h
+++ b/keyboards/fjlabs/mk61rgbansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1011 // mk61-rgb-ansi
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Mechanical Keyboards LLC
-#define PRODUCT MK61-RGB-ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json
index 84cc8a46ae..67a8ae8860 100644
--- a/keyboards/fjlabs/mk61rgbansi/info.json
+++ b/keyboards/fjlabs/mk61rgbansi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MK61-RGB-ANSI",
+ "manufacturer": "Mechanical Keyboards LLC",
"url": "https://www.fjlaboratories.com/",
"maintainer": "Mechanical Keyboards, LLC",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/fjlabs/peaker/config.h b/keyboards/fjlabs/peaker/config.h
new file mode 100644
index 0000000000..c7d19f0c6c
--- /dev/null
+++ b/keyboards/fjlabs/peaker/config.h
@@ -0,0 +1,93 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/*
+ * 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)
+ *Ã¥
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { B5, B6, C0, E1, E0 }
+#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 }
+#define UNUSED_PINS
+
+/* COL2ROW or 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
+
+/* Define less important options */
+
+/*
+ * 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
diff --git a/keyboards/fjlabs/peaker/info.json b/keyboards/fjlabs/peaker/info.json
new file mode 100644
index 0000000000..92e622725c
--- /dev/null
+++ b/keyboards/fjlabs/peaker/info.json
@@ -0,0 +1,94 @@
+{
+ "keyboard_name": "Peaker",
+ "manufacturer": "FJLaboratories",
+ "url": "http://www.lucidkb.com",
+ "maintainer": "Lucid",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0020",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_tkl_all": {
+ "layout": [
+ {"label":"~", "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":"Back Space", "x":13, "y":0},
+ {"label":"Back Space", "x":14, "y":0},
+ {"label":"Insert", "x":15.25, "y":0},
+ {"label":"Home", "x":16.25, "y":0},
+ {"label":"PgUp", "x":17.25, "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":"Delete", "x":15.25, "y":1},
+ {"label":"End", "x":16.25, "y":1},
+ {"label":"PgDn", "x":17.25, "y":1},
+
+ {"label":"Caps Lock", "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":"SQ", "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":1.75},
+ {"label":"Shift", "x":14, "y":3},
+ {"label":"\u2191", "x":16.25, "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":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":4},
+ {"label":"\u2193", "x":16.25, "y":4},
+ {"label":"\u2192", "x":17.25, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/fjlabs/peaker/keymaps/default/keymap.c b/keyboards/fjlabs/peaker/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ab46cd89db
--- /dev/null
+++ b/keyboards/fjlabs/peaker/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_tkl_all(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSPC, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_tkl_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/fjlabs/peaker/keymaps/via/keymap.c b/keyboards/fjlabs/peaker/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9e8ece8ff9
--- /dev/null
+++ b/keyboards/fjlabs/peaker/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_tkl_all(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSPC, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_tkl_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_LAYER1] = LAYOUT_tkl_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_LAYER1] = LAYOUT_tkl_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+}; \ No newline at end of file
diff --git a/keyboards/fjlabs/peaker/keymaps/via/rules.mk b/keyboards/fjlabs/peaker/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/fjlabs/peaker/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/peaker/peaker.c b/keyboards/fjlabs/peaker/peaker.c
new file mode 100644
index 0000000000..2c8830a731
--- /dev/null
+++ b/keyboards/fjlabs/peaker/peaker.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "peaker.h"
diff --git a/keyboards/fjlabs/peaker/peaker.h b/keyboards/fjlabs/peaker/peaker.h
new file mode 100644
index 0000000000..a1f53a87d6
--- /dev/null
+++ b/keyboards/fjlabs/peaker/peaker.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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"
+
+/* === All used matrix spots populated === */
+#define LAYOUT_tkl_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4D, K4E, K4F, K4G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K21, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, KC_NO, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, KC_NO, K3F, KC_NO }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, KC_NO, K4D, K4E, K4F, K4G } \
+}
diff --git a/keyboards/fjlabs/peaker/readme.md b/keyboards/fjlabs/peaker/readme.md
new file mode 100644
index 0000000000..ca85b99629
--- /dev/null
+++ b/keyboards/fjlabs/peaker/readme.md
@@ -0,0 +1,13 @@
+# Peaker Hotswap PCB by FJLaboratories
+
+The following is the QMK Firmware for the Peaker by [FJLaboratories](http://www.fjlaboratories.com).
+* Keyboard Maintainer: FJLaboratories
+* Hardware Supported: Peaker
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fjlabs/peaker: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).
+
+You can enter the bootloader by pressing the Reset button on the back of the PCB. \ No newline at end of file
diff --git a/keyboards/fjlabs/peaker/rules.mk b/keyboards/fjlabs/peaker/rules.mk
new file mode 100644
index 0000000000..aed2d80b8b
--- /dev/null
+++ b/keyboards/fjlabs/peaker/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = at90usb646
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/fjlabs/polaris/config.h b/keyboards/fjlabs/polaris/config.h
index 6efae34205..dc6fce6c84 100644
--- a/keyboards/fjlabs/polaris/config.h
+++ b/keyboards/fjlabs/polaris/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLaboratories
-#define PRODUCT_ID 0x9001 // Polaris HS and Solder
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLaboratories
-#define PRODUCT Polaris
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/polaris/info.json b/keyboards/fjlabs/polaris/info.json
index f2b1213e85..011776dc40 100644
--- a/keyboards/fjlabs/polaris/info.json
+++ b/keyboards/fjlabs/polaris/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Polaris Hotswap and Solder",
+ "keyboard_name": "Polaris",
+ "manufacturer": "FJLaboratories",
"url": "http://www.fjlaboratories.com/projects/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x9001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fjlabs/ready100/config.h b/keyboards/fjlabs/ready100/config.h
index 31adbd7f4b..9258d4ddba 100644
--- a/keyboards/fjlabs/ready100/config.h
+++ b/keyboards/fjlabs/ready100/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1003 // Ready100
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT Ready100
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/ready100/info.json b/keyboards/fjlabs/ready100/info.json
index 2bc20ad2ff..4f1762470d 100644
--- a/keyboards/fjlabs/ready100/info.json
+++ b/keyboards/fjlabs/ready100/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ready100",
+ "manufacturer": "FJLabs",
"url": "https://www.ready100.com",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1003",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_64key": "LAYOUT_64_ansi"
},
diff --git a/keyboards/fjlabs/sinanju/config.h b/keyboards/fjlabs/sinanju/config.h
new file mode 100644
index 0000000000..751dd24383
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/config.h
@@ -0,0 +1,95 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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)
+ *
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
+#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 }
+
+/* COL2ROW or 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
+
+/* Define Indicator LED's */
+#define LED_CAPS_LOCK_PIN C7
+
+/* Define less important options */
+
+/*
+ * 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
diff --git a/keyboards/fjlabs/sinanju/info.json b/keyboards/fjlabs/sinanju/info.json
new file mode 100644
index 0000000000..c458b9fd79
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/info.json
@@ -0,0 +1,147 @@
+{
+ "keyboard_name": "Sinanju",
+ "manufacturer": "FJLabs",
+ "url": "https://www.fjlaboratories.com",
+ "maintainer": "mrnoisytiger",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1022",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_60_ansi_wkl": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Delete", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/fjlabs/sinanju/keymaps/default/keymap.c b/keyboards/fjlabs/sinanju/keymaps/default/keymap.c
new file mode 100644
index 0000000000..996b5d48d5
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL
+ ),
+
+ [_LAYER1] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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
+ )
+};
diff --git a/keyboards/fjlabs/sinanju/keymaps/default_ansi_wkl/keymap.c b/keyboards/fjlabs/sinanju/keymaps/default_ansi_wkl/keymap.c
new file mode 100644
index 0000000000..192bda366f
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/keymaps/default_ansi_wkl/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_60_ansi_wkl(
+ 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, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL
+ ),
+
+ [_LAYER1] = LAYOUT_60_ansi_wkl(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/fjlabs/sinanju/keymaps/via/keymap.c b/keyboards/fjlabs/sinanju/keymaps/via/keymap.c
new file mode 100644
index 0000000000..2fcaab747e
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/keymaps/via/keymap.c
@@ -0,0 +1,58 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL
+ ),
+
+ [_LAYER1] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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
+ ),
+
+ [_LAYER2] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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
+ ),
+
+ [_LAYER3] = LAYOUT_60_ansi_wkl_split_bs_rshift(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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
+ )
+
+};
diff --git a/keyboards/fjlabs/sinanju/keymaps/via/rules.mk b/keyboards/fjlabs/sinanju/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/sinanju/readme.md b/keyboards/fjlabs/sinanju/readme.md
new file mode 100644
index 0000000000..9d3a0f4330
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/readme.md
@@ -0,0 +1,15 @@
+# Sinanju
+
+The following is the QMK Firmware for the Windz Sinanju PCB.
+
+
+* Keyboard Maintainer: FJLabs
+* Hardware Supported: Sinanju
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fjlabs/sinanju:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. \ No newline at end of file
diff --git a/keyboards/fjlabs/sinanju/rules.mk b/keyboards/fjlabs/sinanju/rules.mk
new file mode 100644
index 0000000000..67f00abb1e
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/fjlabs/sinanju/sinanju.c b/keyboards/fjlabs/sinanju/sinanju.c
new file mode 100644
index 0000000000..2c84310ea5
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/sinanju.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "sinanju.h"
diff --git a/keyboards/fjlabs/sinanju/sinanju.h b/keyboards/fjlabs/sinanju/sinanju.h
new file mode 100644
index 0000000000..0e4c85ea0a
--- /dev/null
+++ b/keyboards/fjlabs/sinanju/sinanju.h
@@ -0,0 +1,59 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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"
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───────┘
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌──────────â”
+ * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬────┴┬───┬─┴───┤ └──────────┘
+ * │40 │ │42 │47 │4B │ │4D │ WKL
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
+ */
+
+#define LAYOUT_60_ansi_wkl( \
+ 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, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K47, K4B, K4D \
+) { \
+ { 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, K2C, KC_NO }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
+ { K40, KC_NO, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, KC_NO, K4D } \
+}
+
+#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
+ 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, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K47, K4B, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, KC_NO, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, KC_NO, K4D } \
+}
diff --git a/keyboards/fjlabs/sinanjuwk/config.h b/keyboards/fjlabs/sinanjuwk/config.h
new file mode 100644
index 0000000000..01d81a2f3d
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/config.h
@@ -0,0 +1,96 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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)
+ *
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
+#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 }
+#define UNUSED_PINS
+
+/* COL2ROW or 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
+
+/* Define Indicator LED's */
+#define LED_CAPS_LOCK_PIN C7
+
+/* Define less important options */
+
+/*
+ * 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
diff --git a/keyboards/fjlabs/sinanjuwk/info.json b/keyboards/fjlabs/sinanjuwk/info.json
new file mode 100644
index 0000000000..3f1d7b4463
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/info.json
@@ -0,0 +1,84 @@
+{
+ "keyboard_name": "Sinanju WK",
+ "manufacturer": "FJLabs",
+ "url": "https://www.fjlaboratories.com",
+ "maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1023",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25}
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4, "w":1.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":12.5, "y":4, "w":1.25},
+ {"x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/fjlabs/sinanjuwk/keymaps/default/keymap.c b/keyboards/fjlabs/sinanjuwk/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1dd28d8d13
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ 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_DEL,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RWIN, KC_RCTL
+ ),
+
+ [_LAYER1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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, KC_TRNS
+ )
+};
diff --git a/keyboards/fjlabs/sinanjuwk/keymaps/via/keymap.c b/keyboards/fjlabs/sinanjuwk/keymaps/via/keymap.c
new file mode 100644
index 0000000000..dc1fd0d4f5
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/keymaps/via/keymap.c
@@ -0,0 +1,58 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_all(
+ 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_DEL,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RWIN, KC_RCTL
+ ),
+
+ [_LAYER1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_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, KC_TRNS
+ ),
+
+ [_LAYER2] = 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, NK_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, KC_TRNS
+ ),
+
+ [_LAYER3] = 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, NK_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, KC_TRNS
+ )
+
+};
diff --git a/keyboards/fjlabs/sinanjuwk/keymaps/via/rules.mk b/keyboards/fjlabs/sinanjuwk/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/sinanjuwk/readme.md b/keyboards/fjlabs/sinanjuwk/readme.md
new file mode 100644
index 0000000000..126fc73ec8
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/readme.md
@@ -0,0 +1,17 @@
+# Sinanju WK
+
+The following is the QMK Firmware for the Windz Sinanju WK PCB.
+
+
+* Keyboard Maintainer: FJLabs
+* Hardware Supported: Sinanju WK
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fjlabs/sinanjuwk:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. \ No newline at end of file
diff --git a/keyboards/fjlabs/sinanjuwk/rules.mk b/keyboards/fjlabs/sinanjuwk/rules.mk
new file mode 100644
index 0000000000..67f00abb1e
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/fjlabs/sinanjuwk/sinanjuwk.c b/keyboards/fjlabs/sinanjuwk/sinanjuwk.c
new file mode 100644
index 0000000000..e6af5203ad
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/sinanjuwk.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 "sinanjuwk.h"
diff --git a/keyboards/fjlabs/sinanjuwk/sinanjuwk.h b/keyboards/fjlabs/sinanjuwk/sinanjuwk.h
new file mode 100644
index 0000000000..045e34621d
--- /dev/null
+++ b/keyboards/fjlabs/sinanjuwk/sinanjuwk.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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"
+
+/* Midway60 Keymap Definitions */
+#define LAYOUT_all( \
+ 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, K2C, K2D, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K47, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
+}
diff --git a/keyboards/fjlabs/solanis/config.h b/keyboards/fjlabs/solanis/config.h
index 50649889fc..05c528efb6 100644
--- a/keyboards/fjlabs/solanis/config.h
+++ b/keyboards/fjlabs/solanis/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLaboratories
-#define PRODUCT_ID 0x0017 // Solanis
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLaboratories
-#define PRODUCT Solanis
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 }
#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/solanis/info.json b/keyboards/fjlabs/solanis/info.json
index d05857e0a8..6fb66c6574 100644
--- a/keyboards/fjlabs/solanis/info.json
+++ b/keyboards/fjlabs/solanis/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Solanis",
+ "manufacturer": "FJLaboratories",
"url": "http://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fjlabs/solanis/keymaps/default/keymap.c b/keyboards/fjlabs/solanis/keymaps/default/keymap.c
index 62c7d01b67..418aa87150 100644
--- a/keyboards/fjlabs/solanis/keymaps/default/keymap.c
+++ b/keyboards/fjlabs/solanis/keymaps/default/keymap.c
@@ -22,20 +22,20 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_DEL, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LAYER1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
};
diff --git a/keyboards/fjlabs/solanis/keymaps/via/keymap.c b/keyboards/fjlabs/solanis/keymaps/via/keymap.c
index 6bff23728f..4e17594aab 100644
--- a/keyboards/fjlabs/solanis/keymaps/via/keymap.c
+++ b/keyboards/fjlabs/solanis/keymaps/via/keymap.c
@@ -24,38 +24,38 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_DEL, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LAYER1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
[_LAYER2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_LAYER3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, 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/fjlabs/solanis/solanis.h b/keyboards/fjlabs/solanis/solanis.h
index 507f087001..697a91ef68 100644
--- a/keyboards/fjlabs/solanis/solanis.h
+++ b/keyboards/fjlabs/solanis/solanis.h
@@ -16,14 +16,43 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ F13 Row
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3E │ │1E │1F │1G │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └───────┘
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┠┌──────────â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4C │4D │ │4F │ │4C │ 2.75u RShift
+ * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┠└──────────┘
+ * │50 │51 │52 │54 │55 │58 │59 │5A │5B │5D │ │5E │5F │5G │
+ * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ * ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────â”
+ * │50 │51 │52 │55 │59 │5A │5B │5D │ Standard Bottom Row
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │50 │51 │52 │55 │5A │5B │5D │ Tsangan/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ * ┌─────┬───┬─────┬───────────┬───┬───────────┬─────┬───┬─────â”
+ * │50 │51 │52 │54 │55 │58 │5A │5B │5D │ Tsangan/WKL with Split Spacebar
+ * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘
+ */
+
/* === All used matrix spots populated === */
#define LAYOUT_all( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4D, K4F, \
- K50, K51, K52, K54, K55, K58, K59, K5A, K5B, K5D, K5E, K5F, K5G \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4D, K4F, \
+ K50, K51, K52, K54, K55, K58, K59, K5A, K5B, K5D, K5E, K5F, K5G \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
diff --git a/keyboards/fjlabs/swordfish/config.h b/keyboards/fjlabs/swordfish/config.h
new file mode 100644
index 0000000000..0a0f66f275
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/config.h
@@ -0,0 +1,108 @@
+/*
+Copyright 2022 <me@fjlaboratories.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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/*
+ * 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)
+ *Ã¥
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { B0, B1, C7, C6, B6 }
+#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B2, B3, B7, B5, B4, D7, D6, D4, D5 }
+
+/* COL2ROW or 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
+
+/* Define RGB */
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 1
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_LIMIT_VAL 255
+#define RGB_VAL_STEP 12
+
+/* Define less important options */
+
+/*
+ * 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
diff --git a/keyboards/fjlabs/swordfish/info.json b/keyboards/fjlabs/swordfish/info.json
new file mode 100644
index 0000000000..bdb2e3a2c3
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Swordfish",
+ "manufacturer": "FJLaboratories",
+ "url": "http://www.fjlaboratories.com/",
+ "maintainer": "mrnoisytiger",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x0024",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_alice_all": {
+ "layout": [{"x":18.33, "y":0.142}, {"x":2.37, "y":0.27}, {"x":3.37, "y":0.27}, {"x":14.13, "y":0.27}, {"x":15.13, "y":0.27}, {"x":17.13, "y":0.27}, {"x":16.13, "y":0.27}, {"x":18.45, "y":1.142}, {"x":2.24, "y":1.28, "w":1.5}, {"x":3.74, "y":1.28}, {"x":13.75, "y":1.28}, {"x":14.75, "y":1.28}, {"x":15.75, "y":1.28}, {"x":16.75, "y":1.28, "w":1.5}, {"x":18.61, "y":2.142}, {"x":2.1, "y":2.28, "w":1.75}, {"x":3.85, "y":2.28}, {"x":14.16, "y":2.28}, {"x":15.16, "y":2.28}, {"x":16.16, "y":2.28, "w":2.25}, {"x":1.95, "y":3.28, "w":2.25}, {"x":4.2, "y":3.28}, {"x":13.81, "y":3.28}, {"x":14.81, "y":3.28}, {"x":15.81, "y":3.28, "w":1.75}, {"x":17.77, "y":3.48}, {"x":1.95, "y":4.28, "w":1.25}, {"x":3.2, "y":4.28, "w":1.25}, {"x":14.06, "y":4.28, "w":1.25}, {"x":15.31, "y":4.28, "w":1.25}, {"x":16.77, "y":4.475}, {"x":17.77, "y":4.475}, {"x":18.77, "y":4.475}, {"x":0, "y":5.28}, {"x":1, "y":5.28}, {"x":2, "y":5.28}, {"x":3, "y":5.28}, {"x":4, "y":5.28}, {"x":0.5, "y":6.28}, {"x":1.5, "y":6.28}, {"x":2.5, "y":6.28}, {"x":3.5, "y":6.28}, {"x":0.75, "y":7.28}, {"x":1.75, "y":7.28}, {"x":2.75, "y":7.28}, {"x":3.75, "y":7.28}, {"x":1.25, "y":8.28}, {"x":2.25, "y":8.28}, {"x":3.25, "y":8.28}, {"x":4.25, "y":8.28}, {"x":1.25, "y":9.28, "w":1.25}, {"x":2.5, "y":9.28, "w":2.75}, {"x":-4.5, "y":10.08}, {"x":-3.5, "y":10.08}, {"x":-2.5, "y":10.08}, {"x":-1.5, "y":10.08}, {"x":-5.0, "y":11.08}, {"x":-4, "y":11.08}, {"x":-3.0, "y":11.08}, {"x":-2, "y":11.08}, {"x":-4.75, "y":12.08}, {"x":-3.75, "y":12.08}, {"x":-2.75, "y":12.08}, {"x":-1.75, "y":12.08}, {"x":-5.25, "y":13.08}, {"x":-4.25, "y":13.08}, {"x":-3.25, "y":13.08}, {"x":-2.25, "y":13.08}, {"x":-5.25, "y":14.08, "w":2.25}, {"x":-3.0, "y":14.08, "w":1.25}]
+ }
+ }
+}
diff --git a/keyboards/fjlabs/swordfish/keymaps/default/keymap.c b/keyboards/fjlabs/swordfish/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ecce4f1a7b
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2022 <me@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_alice_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_MPLY,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_G, 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_B, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_alice_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, RGB_MOD, RGB_RMOD, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+ )
+};
diff --git a/keyboards/fjlabs/swordfish/keymaps/via/keymap.c b/keyboards/fjlabs/swordfish/keymaps/via/keymap.c
new file mode 100644
index 0000000000..50ade4767e
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/*
+Copyright 2022 <felix@fjlaboratories.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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_alice_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_MPLY,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_G, 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_B, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = LAYOUT_alice_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, RGB_MOD, RGB_RMOD, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ [_LAYER2] = LAYOUT_alice_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_LAYER3] = LAYOUT_alice_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/fjlabs/swordfish/keymaps/via/rules.mk b/keyboards/fjlabs/swordfish/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/fjlabs/swordfish/readme.md b/keyboards/fjlabs/swordfish/readme.md
new file mode 100644
index 0000000000..0f6f847285
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/readme.md
@@ -0,0 +1,16 @@
+# 7V Hotswap PCB by FJLaboratories
+
+The following is the QMK Firmware for the 7V Hotswap PCB by [FJLaboratories](https://www.fjlaboratories.com/).
+
+* Keyboard Maintainer: [FJLaboratories](https://github.com/mrnoisytiger)
+* Hardware Supported: 7V Hotswap
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fjlabs/7vhotswap:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+You can enter the bootloader by shorting the RST pads on the back of the PCB while the PCB is plugged into the computer.
diff --git a/keyboards/fjlabs/swordfish/rules.mk b/keyboards/fjlabs/swordfish/rules.mk
new file mode 100644
index 0000000000..82e9a04fa5
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/fjlabs/swordfish/swordfish.c b/keyboards/fjlabs/swordfish/swordfish.c
new file mode 100644
index 0000000000..a8689fefe8
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/swordfish.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2022 <me@fjlaboratories.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 "swordfish.h"
diff --git a/keyboards/fjlabs/swordfish/swordfish.h b/keyboards/fjlabs/swordfish/swordfish.h
new file mode 100644
index 0000000000..0b2e8acc62
--- /dev/null
+++ b/keyboards/fjlabs/swordfish/swordfish.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2022 <me@fjlaboratories.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"
+
+/* === All used matrix spots populated === */
+#define LAYOUT_alice_all( \
+ 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, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K54, K55, K57, K58, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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 }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO }, \
+ { K50, K51, K52, KC_NO, K54, K55, KC_NO, K57, K58, KC_NO, K5A, K5B, K5C, K5D, K5E } \
+}
diff --git a/keyboards/fjlabs/tf60ansi/config.h b/keyboards/fjlabs/tf60ansi/config.h
index 1b19a0e2ec..02b2a741d4 100644
--- a/keyboards/fjlabs/tf60ansi/config.h
+++ b/keyboards/fjlabs/tf60ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1004 // tf60ansi
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT TF60ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/tf60ansi/info.json b/keyboards/fjlabs/tf60ansi/info.json
index 4ed7aa91dc..46c386ca5f 100644
--- a/keyboards/fjlabs/tf60ansi/info.json
+++ b/keyboards/fjlabs/tf60ansi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TF60 ANSI",
+ "manufacturer": "FJLabs",
"url": "https://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/fjlabs/tf60ansi/readme.md b/keyboards/fjlabs/tf60ansi/readme.md
index 29cbad3fca..274db0c27e 100644
--- a/keyboards/fjlabs/tf60ansi/readme.md
+++ b/keyboards/fjlabs/tf60ansi/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/fjlabs/tf60v2/config.h b/keyboards/fjlabs/tf60v2/config.h
index 0c1a069464..02b2a741d4 100644
--- a/keyboards/fjlabs/tf60v2/config.h
+++ b/keyboards/fjlabs/tf60v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1005 // tf60v2
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT TF60v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/tf60v2/info.json b/keyboards/fjlabs/tf60v2/info.json
index c2d6c02872..989f18a001 100644
--- a/keyboards/fjlabs/tf60v2/info.json
+++ b/keyboards/fjlabs/tf60v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TF60 RGB V2",
+ "keyboard_name": "TF60 V2",
+ "manufacturer": "FJLabs",
"url": "https://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_arrow": {
"layout": [
diff --git a/keyboards/fjlabs/tf60v2/readme.md b/keyboards/fjlabs/tf60v2/readme.md
index 22e624e68f..73b1473e2a 100644
--- a/keyboards/fjlabs/tf60v2/readme.md
+++ b/keyboards/fjlabs/tf60v2/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/fjlabs/tf65rgbv2/config.h b/keyboards/fjlabs/tf65rgbv2/config.h
index 111b2c8928..981eb2144e 100644
--- a/keyboards/fjlabs/tf65rgbv2/config.h
+++ b/keyboards/fjlabs/tf65rgbv2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7074 // FJLabs
-#define PRODUCT_ID 0x1007 // tf60v2
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT TF65RGBv2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fjlabs/tf65rgbv2/info.json b/keyboards/fjlabs/tf65rgbv2/info.json
index fe91dcaec5..3da715d5fa 100644
--- a/keyboards/fjlabs/tf65rgbv2/info.json
+++ b/keyboards/fjlabs/tf65rgbv2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TF65 RGB V2",
+ "manufacturer": "FJLabs",
"url": "https://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x7074",
+ "pid": "0x1007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/fjlabs/tf65rgbv2/readme.md b/keyboards/fjlabs/tf65rgbv2/readme.md
index 0aea9ef8fd..b46c40cbfe 100644
--- a/keyboards/fjlabs/tf65rgbv2/readme.md
+++ b/keyboards/fjlabs/tf65rgbv2/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h
index c0f73366a7..44229ae65c 100644
--- a/keyboards/flehrad/bigswitch/config.h
+++ b/keyboards/flehrad/bigswitch/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0xB195
-#define DEVICE_VER 0x0001
-#define MANUFACTURER flehrad
-#define PRODUCT BigSwitch PCB
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B5 }
#define MATRIX_COL_PINS { B6 }
-#define UNUSED_PINS { }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/flehrad/bigswitch/info.json b/keyboards/flehrad/bigswitch/info.json
index 8b1411775a..9e600672f8 100644
--- a/keyboards/flehrad/bigswitch/info.json
+++ b/keyboards/flehrad/bigswitch/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Bigswitch PCB",
+ "keyboard_name": "BigSwitch PCB",
+ "manufacturer": "flehrad",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xB195",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0, "w":4, "h":4}]
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
index 3273cc8db4..6e9219115c 100644
--- a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
@@ -24,3 +24,4 @@
// Long tapping term on the big switch, because it takes so long to press
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
diff --git a/keyboards/flehrad/downbubble/config.h b/keyboards/flehrad/downbubble/config.h
index fa13006a97..aa5691dc32 100644
--- a/keyboards/flehrad/downbubble/config.h
+++ b/keyboards/flehrad/downbubble/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT downbubble
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F2, F3, F4, F5, F6 }
#define MATRIX_COL_PINS { F7, C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D6, D5, D4, D3, D2, D1, D0, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flehrad/downbubble/info.json b/keyboards/flehrad/downbubble/info.json
index 6314e4f966..4e3ab26bb6 100644
--- a/keyboards/flehrad/downbubble/info.json
+++ b/keyboards/flehrad/downbubble/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "downbubble",
+ "manufacturer": "Flehrad",
"maintainer": "flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_standard": {
"layout": [
diff --git a/keyboards/flehrad/numbrero/config.h b/keyboards/flehrad/numbrero/config.h
index 8360dfb3f9..68216287d1 100644
--- a/keyboards/flehrad/numbrero/config.h
+++ b/keyboards/flehrad/numbrero/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Numbrero
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, B5, B4, E6, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flehrad/numbrero/info.json b/keyboards/flehrad/numbrero/info.json
index f0bce2bda2..30c93d035c 100644
--- a/keyboards/flehrad/numbrero/info.json
+++ b/keyboards/flehrad/numbrero/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Numbrero",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numbrero_numpad": {
"layout": [
diff --git a/keyboards/flehrad/snagpad/config.h b/keyboards/flehrad/snagpad/config.h
index 946534ebb8..0360aa7446 100644
--- a/keyboards/flehrad/snagpad/config.h
+++ b/keyboards/flehrad/snagpad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443 // "DC" = Don Chiou
-#define PRODUCT_ID 0x5350 // "SP" = Snagpad
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Snagpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flehrad/snagpad/info.json b/keyboards/flehrad/snagpad/info.json
index 785eaa6a93..c2c8bdadfc 100644
--- a/keyboards/flehrad/snagpad/info.json
+++ b/keyboards/flehrad/snagpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Snagpad",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x5350",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
diff --git a/keyboards/flehrad/tradestation/config.h b/keyboards/flehrad/tradestation/config.h
index 6b8f021ebc..0b3a3c63f2 100644
--- a/keyboards/flehrad/tradestation/config.h
+++ b/keyboards/flehrad/tradestation/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Trade Station
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, C6, D4, D0 }
#define MATRIX_COL_PINS { F7, B1, D7, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flehrad/tradestation/info.json b/keyboards/flehrad/tradestation/info.json
index cf0344c01b..f61ccb7d2f 100644
--- a/keyboards/flehrad/tradestation/info.json
+++ b/keyboards/flehrad/tradestation/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Tradestation",
+ "keyboard_name": "Trade Station",
+ "manufacturer": "Flehrad",
"url": "",
"maintainer": "Flehrad",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tradestation": {
"layout": [
diff --git a/keyboards/fleuron/config.h b/keyboards/fleuron/config.h
index 24212bfdc1..d10f94bc00 100644
--- a/keyboards/fleuron/config.h
+++ b/keyboards/fleuron/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT Fleuron v1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { C7, B6, B3, B5, B4, D7, D4, D5, D3, D2, D1, D0, B7, B0, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fleuron/info.json b/keyboards/fleuron/info.json
index 2bb31b852b..106c3eba5e 100644
--- a/keyboards/fleuron/info.json
+++ b/keyboards/fleuron/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Fleuron v1.0",
+ "keyboard_name": "Fleuron v1",
+ "manufacturer": "Fleuron",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x16": {
"layout": [
diff --git a/keyboards/fleuron/keymaps/dollartacos/keymap.c b/keyboards/fleuron/keymaps/dollartacos/keymap.c
index f8535fdc78..445204f8b9 100644
--- a/keyboards/fleuron/keymaps/dollartacos/keymap.c
+++ b/keyboards/fleuron/keymaps/dollartacos/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_fleuron_grid(
/* Lower
* ,---------------------------------------------------------------------------------------------------------------.
- * |RESET | | | | | | | | | | | | | | | |
+ * |QK_BOOT | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |RGBtog| | | | | | | | | Home | PgUp | PgDn | End | | | |
* `---------------------------------------------------------------------------------------------------------------'
*/
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/fluorite/config.h b/keyboards/fluorite/config.h
index 397fdaaebf..f4e973d5d1 100644
--- a/keyboards/fluorite/config.h
+++ b/keyboards/fluorite/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ihotsuno
-#define PRODUCT fluorite
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { D3, D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fluorite/info.json b/keyboards/fluorite/info.json
index d816a6b251..04d3fa5c53 100644
--- a/keyboards/fluorite/info.json
+++ b/keyboards/fluorite/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "fluorite",
+ "manufacturer": "ihotsuno",
"url": "",
"maintainer": "ihotsuno, qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/flx/lodestone/config.h b/keyboards/flx/lodestone/config.h
index d4238c8eb8..b232e7f06e 100644
--- a/keyboards/flx/lodestone/config.h
+++ b/keyboards/flx/lodestone/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4658 //FX
-#define PRODUCT_ID 0x4C53 //LS
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FLX
-#define PRODUCT Lodestone
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B3, B7, F0, F1, F4 }
#define MATRIX_COL_PINS { B2, F5, F6, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flx/lodestone/info.json b/keyboards/flx/lodestone/info.json
index 8053aa36d4..e68241722f 100644
--- a/keyboards/flx/lodestone/info.json
+++ b/keyboards/flx/lodestone/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "lodestone",
+ "keyboard_name": "Lodestone",
+ "manufacturer": "FLX",
"url": "https://prototypist.net/",
"maintainer": "Flexerm",
+ "usb": {
+ "vid": "0x4658",
+ "pid": "0x4C53",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/flx/virgo/config.h b/keyboards/flx/virgo/config.h
index 8ceb1e4ed1..facc392358 100644
--- a/keyboards/flx/virgo/config.h
+++ b/keyboards/flx/virgo/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4658 //FX
-#define PRODUCT_ID 0x5647 //VG
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FLX
-#define PRODUCT Virgo
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/flx/virgo/info.json b/keyboards/flx/virgo/info.json
index 5184e4fb15..6ae793eefb 100644
--- a/keyboards/flx/virgo/info.json
+++ b/keyboards/flx/virgo/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "FLX Virgo",
+ "keyboard_name": "Virgo",
+ "manufacturer": "FLX",
"url": "",
"maintainer": "mechmerlin",
+ "usb": {
+ "vid": "0x4658",
+ "pid": "0x5647",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h
index 74c7339bdc..c45931fd32 100644
--- a/keyboards/flxlb/zplit/config.h
+++ b/keyboards/flxlb/zplit/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7076
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER fluxlab
-#define PRODUCT zplit
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/flxlb/zplit/info.json b/keyboards/flxlb/zplit/info.json
index e21f740f35..4687f16513 100644
--- a/keyboards/flxlb/zplit/info.json
+++ b/keyboards/flxlb/zplit/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "zplit",
+ "manufacturer": "fluxlab",
"url": "https://github.com/cccywj/qmk_firmware",
"maintainer": "flxlb",
+ "usb": {
+ "vid": "0x7076",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/flygone60/rev3/config.h b/keyboards/flygone60/rev3/config.h
index b670def338..cb752315e0 100644
--- a/keyboards/flygone60/rev3/config.h
+++ b/keyboards/flygone60/rev3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7877
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0003
-#define MANUFACTURER ShandonCodes
-#define PRODUCT Flygone60 Rev3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, D5, B7, F1}
#define MATRIX_COL_PINS { F0, E6, B1, B2, B3, B0, D4, D6, D7, B4, B5, B6, C6, C7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/flygone60/rev3/info.json b/keyboards/flygone60/rev3/info.json
index fdae44c6b4..dc446d5efc 100644
--- a/keyboards/flygone60/rev3/info.json
+++ b/keyboards/flygone60/rev3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Flygone60 Rev3",
+ "manufacturer": "ShandonCodes",
"url": "https://qmk.fm/keyboards/",
"maintainer": "ShandonCodes",
+ "usb": {
+ "vid": "0x7877",
+ "pid": "0x0001",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_60_ansi_arrow": {
"layout": [
diff --git a/keyboards/foostan/cornelius/config.h b/keyboards/foostan/cornelius/config.h
index a3e784150f..e3b7ed4f64 100644
--- a/keyboards/foostan/cornelius/config.h
+++ b/keyboards/foostan/cornelius/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yushakobo
-#define PRODUCT Cornelius
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/foostan/cornelius/info.json b/keyboards/foostan/cornelius/info.json
index adb20ded53..fa7a40b5aa 100644
--- a/keyboards/foostan/cornelius/info.json
+++ b/keyboards/foostan/cornelius/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name":"cornelius",
+ "keyboard_name":"Cornelius",
+ "manufacturer":"Yushakobo",
"url":"",
"maintainer":"foostan",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts":{
"LAYOUT":{
"layout":[
diff --git a/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c b/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c
index 8f6adffa2e..f99bd7461b 100644
--- a/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c
+++ b/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Some macros, Keyboard-reset, mouse and audio.
*/
[3] = LAYOUT(
- _______,_______,EMAIL_W,EMAIL, _______,_______,_______,_______,_______,_______,_______,RESET,
+ _______,_______,EMAIL_W,EMAIL, _______,_______,_______,_______,_______,_______,_______,QK_BOOT,
_______,_______,_______,_______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______,
_______,_______,_______,_______,_______,_______,KC_BTN1,KC_MUTE,KC_VOLD,KC_VOLU,KC_BRID,KC_BRIU,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
diff --git a/keyboards/foostan/cornelius/keymaps/hvp/keymap.c b/keyboards/foostan/cornelius/keymaps/hvp/keymap.c
index bac74edbce..c740017540 100644
--- a/keyboards/foostan/cornelius/keymaps/hvp/keymap.c
+++ b/keyboards/foostan/cornelius/keymaps/hvp/keymap.c
@@ -54,13 +54,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_7, KC_8, KC_9, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_4, KC_5, KC_6, KC_0,
_______, _______, _______, _______, _______, _______, XXXXXXX, KC_0, KC_1, KC_2, KC_3, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[5] = LAYOUT(
_______, G(S(KC_1)), G(S(KC_2)), G(S(KC_3)), G(S(KC_4)), G(S(KC_5)), G(S(KC_6)), G(S(KC_7)), G(S(KC_8)), G(S(KC_9)), G(S(KC_0)), _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK
),
};
diff --git a/keyboards/foostan/cornelius/readme.md b/keyboards/foostan/cornelius/readme.md
index ffd6b60a16..ce0854dd75 100644
--- a/keyboards/foostan/cornelius/readme.md
+++ b/keyboards/foostan/cornelius/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make foostan/cornelius:default:flash
-The board reset into bootloader mode via either the reset button (on the back of the PCB) or a configured RESET shortcut (which may vary depending on when the PCB was flashed).
+The board reset into bootloader mode via either the reset button (on the back of the PCB) or a configured `QK_BOOT` shortcut (which may vary depending on when the PCB was flashed).
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/for_science/config.h b/keyboards/for_science/config.h
index 9c2f484dc9..f3f2d1ffc9 100644
--- a/keyboards/for_science/config.h
+++ b/keyboards/for_science/config.h
@@ -16,13 +16,6 @@ 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 0xF22C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT For Science
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 }
//#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
//#define USE_I2C
#define SOFT_SERIAL_PIN D0
diff --git a/keyboards/for_science/info.json b/keyboards/for_science/info.json
index 1dd1f6cd8f..9d2808c9c5 100644
--- a/keyboards/for_science/info.json
+++ b/keyboards/for_science/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "For Science",
+ "manufacturer": "Peej",
"url": "https://github.com/peej/for-science-keyboard",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF22C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_4x5_3": {
"layout": [
diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
index 1794ba4fd6..c05e920287 100644
--- a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/fortitude60/info.json b/keyboards/fortitude60/info.json
deleted file mode 100644
index db8959706f..0000000000
--- a/keyboards/fortitude60/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Fortitude60",
- "url": "",
- "maintainer": "qmk",
- "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":9, "y":0}, {"label":"R01", "x":10, "y":0}, {"label":"R02", "x":11, "y":0}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0}, {"label":"R05", "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":"L15", "x":5, "y":1}, {"label":"R10", "x":9, "y":1}, {"label":"R11", "x":10, "y":1}, {"label":"R12", "x":11, "y":1}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1}, {"label":"R15", "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":"L25", "x":5, "y":2}, {"label":"R20", "x":9, "y":2}, {"label":"R21", "x":10, "y":2}, {"label":"R22", "x":11, "y":2}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2}, {"label":"R25", "x":14, "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":"LT5", "x":6, "y":3}, {"label":"RT5", "x":8, "y":3}, {"label":"R30", "x":9, "y":3}, {"label":"R31", "x":10, "y":3}, {"label":"R32", "x":11, "y":3}, {"label":"R33", "x":12, "y":3}, {"label":"R34", "x":13, "y":3}, {"label":"R35", "x":14, "y":3}, {"label":"LT0", "x":2, "y":4}, {"label":"LT1", "x":3, "y":4}, {"label":"LT2", "x":4, "y":4}, {"label":"LT3", "x":5, "y":4}, {"label":"LT4", "x":6, "y":4}, {"label":"RT4", "x":8, "y":4}, {"label":"RT3", "x":9, "y":4}, {"label":"RT2", "x":10, "y":4}, {"label":"RT1", "x":11, "y":4}, {"label":"RT0", "x":12, "y":4}]
- }
- }
-}
diff --git a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..e335d5d8b8
--- /dev/null
+++ b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+#define LAYOUT_miryoku(\
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\
+ XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX\
+)
diff --git a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h
index e4366f959f..7d9cfab899 100644
--- a/keyboards/fortitude60/rev1/config.h
+++ b/keyboards/fortitude60/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1156
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Pekaso
-#define PRODUCT Fortitude60
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/fortitude60/rev1/info.json b/keyboards/fortitude60/rev1/info.json
new file mode 100644
index 0000000000..f8c7f0a995
--- /dev/null
+++ b/keyboards/fortitude60/rev1/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Fortitude60",
+ "manufacturer": "Pekaso",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1156",
+ "device_version": "1.0.0"
+ },
+ "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":9, "y":0}, {"label":"R01", "x":10, "y":0}, {"label":"R02", "x":11, "y":0}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0}, {"label":"R05", "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":"L15", "x":5, "y":1}, {"label":"R10", "x":9, "y":1}, {"label":"R11", "x":10, "y":1}, {"label":"R12", "x":11, "y":1}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1}, {"label":"R15", "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":"L25", "x":5, "y":2}, {"label":"R20", "x":9, "y":2}, {"label":"R21", "x":10, "y":2}, {"label":"R22", "x":11, "y":2}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2}, {"label":"R25", "x":14, "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":"LT5", "x":6, "y":3}, {"label":"RT5", "x":8, "y":3}, {"label":"R30", "x":9, "y":3}, {"label":"R31", "x":10, "y":3}, {"label":"R32", "x":11, "y":3}, {"label":"R33", "x":12, "y":3}, {"label":"R34", "x":13, "y":3}, {"label":"R35", "x":14, "y":3}, {"label":"LT0", "x":2, "y":4}, {"label":"LT1", "x":3, "y":4}, {"label":"LT2", "x":4, "y":4}, {"label":"LT3", "x":5, "y":4}, {"label":"LT4", "x":6, "y":4}, {"label":"RT4", "x":8, "y":4}, {"label":"RT3", "x":9, "y":4}, {"label":"RT2", "x":10, "y":4}, {"label":"RT1", "x":11, "y":4}, {"label":"RT0", "x":12, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/foxlab/key65/hotswap/config.h b/keyboards/foxlab/key65/hotswap/config.h
index 8c0e5a1b9e..6ffaa1b331 100644
--- a/keyboards/foxlab/key65/hotswap/config.h
+++ b/keyboards/foxlab/key65/hotswap/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Key 65 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/foxlab/key65/hotswap/info.json b/keyboards/foxlab/key65/hotswap/info.json
index 4c43f13c80..e6615681ef 100644
--- a/keyboards/foxlab/key65/hotswap/info.json
+++ b/keyboards/foxlab/key65/hotswap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Key 65 Hotswap",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/foxlab/key65/universal/config.h b/keyboards/foxlab/key65/universal/config.h
index 44911bed77..b02b60698d 100644
--- a/keyboards/foxlab/key65/universal/config.h
+++ b/keyboards/foxlab/key65/universal/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Key 65 Universal
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/foxlab/key65/universal/info.json b/keyboards/foxlab/key65/universal/info.json
index d1303b6a47..3aa36fcc62 100644
--- a/keyboards/foxlab/key65/universal/info.json
+++ b/keyboards/foxlab/key65/universal/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Key 65 Universal",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
diff --git a/keyboards/foxlab/leaf60/hotswap/config.h b/keyboards/foxlab/leaf60/hotswap/config.h
index f224957c59..725e3d7a79 100644
--- a/keyboards/foxlab/leaf60/hotswap/config.h
+++ b/keyboards/foxlab/leaf60/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Leaf 60 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D1, D0, D3, D5 }
#define MATRIX_COL_PINS { F5, F4, F1, F0, B0, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/foxlab/leaf60/hotswap/info.json b/keyboards/foxlab/leaf60/hotswap/info.json
index 1dd5e47b2f..b577d864dd 100644
--- a/keyboards/foxlab/leaf60/hotswap/info.json
+++ b/keyboards/foxlab/leaf60/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Fox Lab Hotswap Leaf60",
+ "keyboard_name": "Leaf 60 Hotswap",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c
index 117edf3524..4f5a60d91c 100644
--- a/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c
+++ b/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_tsangan_hhkb(
_______, 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,
- _______, _______, _______, EEP_RST, RESET, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
+ _______, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, 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_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/foxlab/leaf60/universal/config.h b/keyboards/foxlab/leaf60/universal/config.h
index d25e145361..eb702fc948 100644
--- a/keyboards/foxlab/leaf60/universal/config.h
+++ b/keyboards/foxlab/leaf60/universal/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Leaf 60 Universal
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, F0, F4, F1 }
#define MATRIX_COL_PINS { B0, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/foxlab/leaf60/universal/info.json b/keyboards/foxlab/leaf60/universal/info.json
index 25687994a9..2675639455 100644
--- a/keyboards/foxlab/leaf60/universal/info.json
+++ b/keyboards/foxlab/leaf60/universal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Fox Lab Leaf60",
+ "keyboard_name": "Leaf 60 Universal",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c
index 5590ff8416..63374f401f 100644
--- a/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c
+++ b/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_DEL , KC_BSPC, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______, _______, _______,
_______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_DEL , _______,
_______ , _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______,
- _______, _______, ALT_TAB , _______, RESET
+ _______, _______, ALT_TAB , _______, QK_BOOT
),
};
diff --git a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c
index 158bdde89c..0aa1dc6376 100644
--- a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c
+++ b/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______),
[_UTIL] = 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
TG_GAME, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/foxlab/time80/config.h b/keyboards/foxlab/time80/config.h
index 27013c5c67..e0a1cbeaf8 100644
--- a/keyboards/foxlab/time80/config.h
+++ b/keyboards/foxlab/time80/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Time80
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B1, B2, B3, B5, B6, B7, B0 }
#define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7, A0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/foxlab/time80/info.json b/keyboards/foxlab/time80/info.json
index b17866391e..5173c152b2 100644
--- a/keyboards/foxlab/time80/info.json
+++ b/keyboards/foxlab/time80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Fox Lab Time 80",
+ "keyboard_name": "Time80",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "lukelex",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/foxlab/time80/readme.md b/keyboards/foxlab/time80/readme.md
index 66fd66b4b6..58ad560400 100644
--- a/keyboards/foxlab/time80/readme.md
+++ b/keyboards/foxlab/time80/readme.md
@@ -21,7 +21,7 @@ Flashing example for this keyboard ([after setting up the bootloadHID flashing e
**Reset Key**: There are no reset switches or pads. Follow this
[guide](https://docs.qmk.fm/#/flashing_bootloadhid)
-to have it flashed for the first time. Remember to add a `RESET`
+to have it flashed for the first time. Remember to add a `QK_BOOT`
key on your keymap for future endeavors.
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/foxlab/time_re/hotswap/config.h b/keyboards/foxlab/time_re/hotswap/config.h
index 8ca58e4341..1b3d814c66 100644
--- a/keyboards/foxlab/time_re/hotswap/config.h
+++ b/keyboards/foxlab/time_re/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Time 80 Reforged
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/foxlab/time_re/hotswap/info.json b/keyboards/foxlab/time_re/hotswap/info.json
index bf4a81873d..3479c1e33e 100644
--- a/keyboards/foxlab/time_re/hotswap/info.json
+++ b/keyboards/foxlab/time_re/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Time RE Hotswap",
+ "keyboard_name": "Time 80 Reforged",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/foxlab/time_re/universal/config.h b/keyboards/foxlab/time_re/universal/config.h
index 8ca58e4341..1b3d814c66 100644
--- a/keyboards/foxlab/time_re/universal/config.h
+++ b/keyboards/foxlab/time_re/universal/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x464C // "FL"
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox Lab
-#define PRODUCT Time 80 Reforged
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/foxlab/time_re/universal/info.json b/keyboards/foxlab/time_re/universal/info.json
index 9161a345aa..3479c1e33e 100644
--- a/keyboards/foxlab/time_re/universal/info.json
+++ b/keyboards/foxlab/time_re/universal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Time RE Universal",
+ "keyboard_name": "Time 80 Reforged",
+ "manufacturer": "Fox Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x464C",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/fr4/southpaw75/config.h b/keyboards/fr4/southpaw75/config.h
index 3dd93ec540..3f613c371b 100644
--- a/keyboards/fr4/southpaw75/config.h
+++ b/keyboards/fr4/southpaw75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x350C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kelvinhall05
-#define PRODUCT Southpaw75
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 9
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { B5, F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fr4/southpaw75/info.json b/keyboards/fr4/southpaw75/info.json
index c5c6123221..11d4031769 100644
--- a/keyboards/fr4/southpaw75/info.json
+++ b/keyboards/fr4/southpaw75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Southpaw75",
+ "manufacturer": "kelvinhall05",
"url": "https://github.com/kelvinhall05/southpaw75",
"maintainer": "kelvinhall05",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x350C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Num Lock", "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":"(", "x":13, "y":0}, {"label":")", "x":14, "y":0}, {"label":"_", "x":15, "y":0}, {"label":"+", "x":16, "y":0}, {"label":"Backspace", "x":17, "y":0, "w":2}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"Tab", "x":4, "y":1, "w":1.5}, {"label":"Q", "x":5.5, "y":1}, {"label":"W", "x":6.5, "y":1}, {"label":"E", "x":7.5, "y":1}, {"label":"R", "x":8.5, "y":1}, {"label":"T", "x":9.5, "y":1}, {"label":"Y", "x":10.5, "y":1}, {"label":"U", "x":11.5, "y":1}, {"label":"I", "x":12.5, "y":1}, {"label":"O", "x":13.5, "y":1}, {"label":"P", "x":14.5, "y":1}, {"label":"{", "x":15.5, "y":1}, {"label":"}", "x":16.5, "y":1}, {"label":"|", "x":17.5, "y":1, "w":1.5}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"Caps Lock", "x":4, "y":2, "w":1.75}, {"label":"A", "x":5.75, "y":2}, {"label":"S", "x":6.75, "y":2}, {"label":"D", "x":7.75, "y":2}, {"label":"F", "x":8.75, "y":2}, {"label":"G", "x":9.75, "y":2}, {"label":"H", "x":10.75, "y":2}, {"label":"J", "x":11.75, "y":2}, {"label":"K", "x":12.75, "y":2}, {"label":"L", "x":13.75, "y":2}, {"label":":", "x":14.75, "y":2}, {"label":"\"", "x":15.75, "y":2}, {"label":"Enter", "x":16.75, "y":2, "w":2.25}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3, "h":2}, {"label":"Shift", "x":4, "y":3, "w":2.25}, {"label":"Z", "x":6.25, "y":3}, {"label":"X", "x":7.25, "y":3}, {"label":"C", "x":8.25, "y":3}, {"label":"V", "x":9.25, "y":3}, {"label":"B", "x":10.25, "y":3}, {"label":"N", "x":11.25, "y":3}, {"label":"M", "x":12.25, "y":3}, {"label":"<", "x":13.25, "y":3}, {"label":">", "x":14.25, "y":3}, {"label":"?", "x":15.25, "y":3}, {"label":"Shift", "x":16.25, "y":3, "w":2.75}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Ctrl", "x":4, "y":4, "w":1.25}, {"label":"Win", "x":5.25, "y":4, "w":1.25}, {"label":"Alt", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":6.25}, {"label":"Alt", "x":14, "y":4, "w":1.25}, {"label":"Win", "x":15.25, "y":4, "w":1.25}, {"label":"Menu", "x":16.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":17.75, "y":4, "w":1.25}]
diff --git a/keyboards/fr4/unix60/config.h b/keyboards/fr4/unix60/config.h
index 53d2104fdd..5e0b52ee80 100644
--- a/keyboards/fr4/unix60/config.h
+++ b/keyboards/fr4/unix60/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4652 // "FR"
-#define PRODUCT_ID 0x5558 // "UX"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FR4Boards
-#define PRODUCT unix60
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 9
@@ -33,7 +26,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { E6, B4, B5, F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fr4/unix60/info.json b/keyboards/fr4/unix60/info.json
index 6debabc7aa..19a04e8ced 100644
--- a/keyboards/fr4/unix60/info.json
+++ b/keyboards/fr4/unix60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "unix60",
+ "manufacturer": "FR4Boards",
"url": "https://github.com/mkdl/Unix60",
"maintainer": "mkdl",
+ "usb": {
+ "vid": "0x4652",
+ "pid": "0x5558",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":0.6}, {"x":13.6, "y":0, "w":0.8}, {"x":14.4, "y":0, "w":0.6}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}]
diff --git a/keyboards/fractal/config.h b/keyboards/fractal/config.h
index b9aeac3855..9db3d0abe5 100755
--- a/keyboards/fractal/config.h
+++ b/keyboards/fractal/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeyPCB
-#define PRODUCT Fractal
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -17,7 +10,6 @@
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { B3, B2, B6, B5, B4, E6, D7, C6, D4, D0, D1, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/fractal/info.json b/keyboards/fractal/info.json
index 7d7a2ba5a4..7d39a296d3 100644
--- a/keyboards/fractal/info.json
+++ b/keyboards/fractal/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Fractal",
+ "manufacturer": "KeyPCB",
"url": "https://keypcb.bigcartel.com/product/fractal-keyboard-group-buy",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}]
diff --git a/keyboards/fractal/keymaps/default/keymap.c b/keyboards/fractal/keymaps/default/keymap.c
index 6b0a8cc18c..ded4890d8c 100644
--- a/keyboards/fractal/keymaps/default/keymap.c
+++ b/keyboards/fractal/keymaps/default/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/free_willy/config.h b/keyboards/free_willy/config.h
index cecd2a8211..a5250a8c39 100644
--- a/keyboards/free_willy/config.h
+++ b/keyboards/free_willy/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5351 // SQ
-#define PRODUCT_ID 0x4657 // FW
-#define DEVICE_VER 0x0001
-#define MANUFACTURER squashkb
-#define PRODUCT free willy
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/free_willy/info.json b/keyboards/free_willy/info.json
index c2bb3b95d9..61a707b245 100644
--- a/keyboards/free_willy/info.json
+++ b/keyboards/free_willy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "free willy",
+ "manufacturer": "squashkb",
"url": "https://www.squashkb.com/product/free-willy",
"maintainer": "tsquash",
+ "usb": {
+ "vid": "0x5351",
+ "pid": "0x4657",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/free_willy/keymaps/colemak/keymap.c b/keyboards/free_willy/keymaps/colemak/keymap.c
index 9d666e1bf0..5be593ad50 100644
--- a/keyboards/free_willy/keymaps/colemak/keymap.c
+++ b/keyboards/free_willy/keymaps/colemak/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT(
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/friedrich/config.h b/keyboards/friedrich/config.h
index 1e4e36f2e4..531a9af4d5 100644
--- a/keyboards/friedrich/config.h
+++ b/keyboards/friedrich/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6481
-#define PRODUCT_ID 0xB4A2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT Friedrich
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F4, F1, F0, F5, D5 }
#define MATRIX_COL_PINS { F6, F7, E6, B2, B3, D4, D6, D7, B4, C6, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/friedrich/info.json b/keyboards/friedrich/info.json
index 17492e6faf..ccaaf2753e 100644
--- a/keyboards/friedrich/info.json
+++ b/keyboards/friedrich/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Friedrich",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/MarvFPV/Friedrich",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0x6481",
+ "pid": "0xB4A2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0},
diff --git a/keyboards/frooastboard/nano/config.h b/keyboards/frooastboard/nano/config.h
index 48af8e7e9c..f7a025a251 100644
--- a/keyboards/frooastboard/nano/config.h
+++ b/keyboards/frooastboard/nano/config.h
@@ -18,10 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER frooastside
-#define PRODUCT Frooastboard Nano
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
diff --git a/keyboards/frooastboard/nano/info.json b/keyboards/frooastboard/nano/info.json
index ae94705195..a524545a7c 100644
--- a/keyboards/frooastboard/nano/info.json
+++ b/keyboards/frooastboard/nano/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "Frooastboard Nano",
+ "manufacturer": "frooastside",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/frooastboard/nano",
"maintainer": "frooastside",
"debounce": 5,
diff --git a/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c b/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c
index d237438da3..83d7c07da2 100644
--- a/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c
+++ b/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c
@@ -39,5 +39,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[5] = LAYOUT(
KC_TRNS, KC_TRNS,
- RESET, TO(4))
+ QK_BOOT, TO(4))
};
diff --git a/keyboards/frooastboard/walnut/readme.md b/keyboards/frooastboard/walnut/readme.md
index c4baa40ce4..324069b4d7 100644
--- a/keyboards/frooastboard/walnut/readme.md
+++ b/keyboards/frooastboard/walnut/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/ft/mars65/config.h b/keyboards/ft/mars65/config.h
new file mode 100644
index 0000000000..69efcea1fc
--- /dev/null
+++ b/keyboards/ft/mars65/config.h
@@ -0,0 +1,53 @@
+// Copyright 2022 wonderbeel (https://github.com/wonderbeel)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* 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 { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { C6, C7, D0, D1, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6, F7 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 24
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 130 /* 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
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_TWINKLE
+#endif
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
+
diff --git a/keyboards/ft/mars65/info.json b/keyboards/ft/mars65/info.json
new file mode 100644
index 0000000000..f2307b60c1
--- /dev/null
+++ b/keyboards/ft/mars65/info.json
@@ -0,0 +1,397 @@
+{
+ "keyboard_name": "Mars 6.5",
+ "manufacturer": "FT",
+ "url": "",
+ "maintainer": "wonderbeel",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422F",
+ "device_version": "0.0.1"
+ },
+ "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs"],
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"K00 (B0,C6)", "x":0, "y":0},
+ {"label":"K01 (B0,C7)", "x":1, "y":0},
+ {"label":"K02 (B0,D0)", "x":2, "y":0},
+ {"label":"K03 (B0,D1)", "x":3, "y":0},
+ {"label":"K04 (B0,D2)", "x":4, "y":0},
+ {"label":"K05 (B0,D3)", "x":5, "y":0},
+ {"label":"K06 (B0,D4)", "x":6, "y":0},
+ {"label":"K07 (B0,D5)", "x":7, "y":0},
+ {"label":"K08 (B0,D6)", "x":8, "y":0},
+ {"label":"K09 (B0,D7)", "x":9, "y":0},
+ {"label":"K0A (B0,F0)", "x":10, "y":0},
+ {"label":"K0B (B0,F1)", "x":11, "y":0},
+ {"label":"K0C (B0,F4)", "x":12, "y":0},
+ {"label":"K0D (B0,F5)", "x":13, "y":0},
+ {"label":"K0E (B0,F6)", "x":14, "y":0},
+ {"label":"K0F (B0,F7)", "x":15, "y":0},
+
+ {"label":"K10 (B1,C6)", "x":0, "y":1, "w":1.5},
+ {"label":"K12 (B1,D0)", "x":1.5, "y":1},
+ {"label":"K13 (B1,D1)", "x":2.5, "y":1},
+ {"label":"K14 (B1,D2)", "x":3.5, "y":1},
+ {"label":"K15 (B1,D3)", "x":4.5, "y":1},
+ {"label":"K16 (B1,D4)", "x":5.5, "y":1},
+ {"label":"K17 (B1,D5)", "x":6.5, "y":1},
+ {"label":"K18 (B1,D6)", "x":7.5, "y":1},
+ {"label":"K19 (B1,D7)", "x":8.5, "y":1},
+ {"label":"K1A (B1,F0)", "x":9.5, "y":1},
+ {"label":"K1B (B1,F1)", "x":10.5, "y":1},
+ {"label":"K1C (B1,F4)", "x":11.5, "y":1},
+ {"label":"K1D (B1,F5)", "x":12.5, "y":1},
+ {"label":"K1E (B1,F6)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1F (B1,F7)", "x":15, "y":1},
+
+ {"label":"K20 (B2,C6)", "x":0, "y":2, "w":1.75},
+ {"label":"K22 (B2,D0)", "x":1.75, "y":2},
+ {"label":"K23 (B2,D1)", "x":2.75, "y":2},
+ {"label":"K24 (B2,D2)", "x":3.75, "y":2},
+ {"label":"K25 (B2,D3)", "x":4.75, "y":2},
+ {"label":"K26 (B2,D4)", "x":5.75, "y":2},
+ {"label":"K27 (B2,D5)", "x":6.75, "y":2},
+ {"label":"K28 (B2,D6)", "x":7.75, "y":2},
+ {"label":"K29 (B2,D7)", "x":8.75, "y":2},
+ {"label":"K2A (B2,F0)", "x":9.75, "y":2},
+ {"label":"K2B (B2,F1)", "x":10.75, "y":2},
+ {"label":"K2C (B2,F4)", "x":11.75, "y":2},
+ {"label":"K2E (B2,F6)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2F (B2,F7)", "x":15, "y":2},
+
+ {"label":"K30 (B3,C6)", "x":0, "y":3, "w":1.25},
+ {"label":"K31 (B3,C7)", "x":1.25, "y":3},
+ {"label":"K32 (B3,D0)", "x":2.25, "y":3},
+ {"label":"K33 (B3,D1)", "x":3.25, "y":3},
+ {"label":"K34 (B3,D2)", "x":4.25, "y":3},
+ {"label":"K35 (B3,D3)", "x":5.25, "y":3},
+ {"label":"K36 (B3,D4)", "x":6.25, "y":3},
+ {"label":"K37 (B3,D5)", "x":7.25, "y":3},
+ {"label":"K38 (B3,D6)", "x":8.25, "y":3},
+ {"label":"K39 (B3,D7)", "x":9.25, "y":3},
+ {"label":"K3A (B3,F0)", "x":10.25, "y":3},
+ {"label":"K3B (B3,F1)", "x":11.25, "y":3},
+ {"label":"K3D (B3,F5)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3E (B3,F6)", "x":14, "y":3},
+ {"label":"K3F (B3,F7)", "x":15, "y":3},
+
+ {"label":"K40 (B4,C6)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,C7)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K43 (B4,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,D4)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,F0)", "x":10, "y":4},
+ {"label":"K4B (B4,F1)", "x":11, "y":4},
+ {"label":"K4C (B4,F4)", "x":12, "y":4},
+ {"label":"K4D (B4,F5)", "x":13, "y":4},
+ {"label":"K4E (B4,F6)", "x":14, "y":4},
+ {"label":"K4F (B4,F7)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"label":"K00 (B0,C6)", "x":0, "y":0},
+ {"label":"K01 (B0,C7)", "x":1, "y":0},
+ {"label":"K02 (B0,D0)", "x":2, "y":0},
+ {"label":"K03 (B0,D1)", "x":3, "y":0},
+ {"label":"K04 (B0,D2)", "x":4, "y":0},
+ {"label":"K05 (B0,D3)", "x":5, "y":0},
+ {"label":"K06 (B0,D4)", "x":6, "y":0},
+ {"label":"K07 (B0,D5)", "x":7, "y":0},
+ {"label":"K08 (B0,D6)", "x":8, "y":0},
+ {"label":"K09 (B0,D7)", "x":9, "y":0},
+ {"label":"K0A (B0,F0)", "x":10, "y":0},
+ {"label":"K0B (B0,F1)", "x":11, "y":0},
+ {"label":"K0C (B0,F4)", "x":12, "y":0},
+ {"label":"K0D (B0,F5)", "x":13, "y":0, "w":2},
+ {"label":"K0F (B0,F7)", "x":15, "y":0},
+
+ {"label":"K10 (B1,C6)", "x":0, "y":1, "w":1.5},
+ {"label":"K12 (B1,D0)", "x":1.5, "y":1},
+ {"label":"K13 (B1,D1)", "x":2.5, "y":1},
+ {"label":"K14 (B1,D2)", "x":3.5, "y":1},
+ {"label":"K15 (B1,D3)", "x":4.5, "y":1},
+ {"label":"K16 (B1,D4)", "x":5.5, "y":1},
+ {"label":"K17 (B1,D5)", "x":6.5, "y":1},
+ {"label":"K18 (B1,D6)", "x":7.5, "y":1},
+ {"label":"K19 (B1,D7)", "x":8.5, "y":1},
+ {"label":"K1A (B1,F0)", "x":9.5, "y":1},
+ {"label":"K1B (B1,F1)", "x":10.5, "y":1},
+ {"label":"K1C (B1,F4)", "x":11.5, "y":1},
+ {"label":"K1D (B1,F5)", "x":12.5, "y":1},
+ {"label":"K1E (B1,F6)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1F (B1,F7)", "x":15, "y":1},
+
+ {"label":"K20 (B2,C6)", "x":0, "y":2, "w":1.75},
+ {"label":"K22 (B2,D0)", "x":1.75, "y":2},
+ {"label":"K23 (B2,D1)", "x":2.75, "y":2},
+ {"label":"K24 (B2,D2)", "x":3.75, "y":2},
+ {"label":"K25 (B2,D3)", "x":4.75, "y":2},
+ {"label":"K26 (B2,D4)", "x":5.75, "y":2},
+ {"label":"K27 (B2,D5)", "x":6.75, "y":2},
+ {"label":"K28 (B2,D6)", "x":7.75, "y":2},
+ {"label":"K29 (B2,D7)", "x":8.75, "y":2},
+ {"label":"K2A (B2,F0)", "x":9.75, "y":2},
+ {"label":"K2B (B2,F1)", "x":10.75, "y":2},
+ {"label":"K2C (B2,F4)", "x":11.75, "y":2},
+ {"label":"K2E (B2,F6)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2F (B2,F7)", "x":15, "y":2},
+
+ {"label":"K30 (B3,C6)", "x":0, "y":3, "w":2.25},
+ {"label":"K32 (B3,D0)", "x":2.25, "y":3},
+ {"label":"K33 (B3,D1)", "x":3.25, "y":3},
+ {"label":"K34 (B3,D2)", "x":4.25, "y":3},
+ {"label":"K35 (B3,D3)", "x":5.25, "y":3},
+ {"label":"K36 (B3,D4)", "x":6.25, "y":3},
+ {"label":"K37 (B3,D5)", "x":7.25, "y":3},
+ {"label":"K38 (B3,D6)", "x":8.25, "y":3},
+ {"label":"K39 (B3,D7)", "x":9.25, "y":3},
+ {"label":"K3A (B3,F0)", "x":10.25, "y":3},
+ {"label":"K3B (B3,F1)", "x":11.25, "y":3},
+ {"label":"K3D (B3,F5)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3E (B3,F6)", "x":14, "y":3},
+ {"label":"K3F (B3,F7)", "x":15, "y":3},
+
+ {"label":"K40 (B4,C6)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,C7)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K43 (B4,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,D4)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,F0)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,F1)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4D (B4,F5)", "x":13, "y":4},
+ {"label":"K4E (B4,F6)", "x":14, "y":4},
+ {"label":"K4F (B4,F7)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_split_bs": {
+ "layout": [
+ {"label":"K00 (B0,C6)", "x":0, "y":0},
+ {"label":"K01 (B0,C7)", "x":1, "y":0},
+ {"label":"K02 (B0,D0)", "x":2, "y":0},
+ {"label":"K03 (B0,D1)", "x":3, "y":0},
+ {"label":"K04 (B0,D2)", "x":4, "y":0},
+ {"label":"K05 (B0,D3)", "x":5, "y":0},
+ {"label":"K06 (B0,D4)", "x":6, "y":0},
+ {"label":"K07 (B0,D5)", "x":7, "y":0},
+ {"label":"K08 (B0,D6)", "x":8, "y":0},
+ {"label":"K09 (B0,D7)", "x":9, "y":0},
+ {"label":"K0A (B0,F0)", "x":10, "y":0},
+ {"label":"K0B (B0,F1)", "x":11, "y":0},
+ {"label":"K0C (B0,F4)", "x":12, "y":0},
+ {"label":"K0D (B0,F5)", "x":13, "y":0},
+ {"label":"K0E (B0,F6)", "x":14, "y":0},
+ {"label":"K0F (B0,F7)", "x":15, "y":0},
+
+ {"label":"K10 (B1,C6)", "x":0, "y":1, "w":1.5},
+ {"label":"K12 (B1,D0)", "x":1.5, "y":1},
+ {"label":"K13 (B1,D1)", "x":2.5, "y":1},
+ {"label":"K14 (B1,D2)", "x":3.5, "y":1},
+ {"label":"K15 (B1,D3)", "x":4.5, "y":1},
+ {"label":"K16 (B1,D4)", "x":5.5, "y":1},
+ {"label":"K17 (B1,D5)", "x":6.5, "y":1},
+ {"label":"K18 (B1,D6)", "x":7.5, "y":1},
+ {"label":"K19 (B1,D7)", "x":8.5, "y":1},
+ {"label":"K1A (B1,F0)", "x":9.5, "y":1},
+ {"label":"K1B (B1,F1)", "x":10.5, "y":1},
+ {"label":"K1C (B1,F4)", "x":11.5, "y":1},
+ {"label":"K1D (B1,F5)", "x":12.5, "y":1},
+ {"label":"K1E (B1,F6)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1F (B1,F7)", "x":15, "y":1},
+
+ {"label":"K20 (B2,C6)", "x":0, "y":2, "w":1.75},
+ {"label":"K22 (B2,D0)", "x":1.75, "y":2},
+ {"label":"K23 (B2,D1)", "x":2.75, "y":2},
+ {"label":"K24 (B2,D2)", "x":3.75, "y":2},
+ {"label":"K25 (B2,D3)", "x":4.75, "y":2},
+ {"label":"K26 (B2,D4)", "x":5.75, "y":2},
+ {"label":"K27 (B2,D5)", "x":6.75, "y":2},
+ {"label":"K28 (B2,D6)", "x":7.75, "y":2},
+ {"label":"K29 (B2,D7)", "x":8.75, "y":2},
+ {"label":"K2A (B2,F0)", "x":9.75, "y":2},
+ {"label":"K2B (B2,F1)", "x":10.75, "y":2},
+ {"label":"K2C (B2,F4)", "x":11.75, "y":2},
+ {"label":"K2E (B2,F6)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2F (B2,F7)", "x":15, "y":2},
+
+ {"label":"K30 (B3,C6)", "x":0, "y":3, "w":2.25},
+ {"label":"K32 (B3,D0)", "x":2.25, "y":3},
+ {"label":"K33 (B3,D1)", "x":3.25, "y":3},
+ {"label":"K34 (B3,D2)", "x":4.25, "y":3},
+ {"label":"K35 (B3,D3)", "x":5.25, "y":3},
+ {"label":"K36 (B3,D4)", "x":6.25, "y":3},
+ {"label":"K37 (B3,D5)", "x":7.25, "y":3},
+ {"label":"K38 (B3,D6)", "x":8.25, "y":3},
+ {"label":"K39 (B3,D7)", "x":9.25, "y":3},
+ {"label":"K3A (B3,F0)", "x":10.25, "y":3},
+ {"label":"K3B (B3,F1)", "x":11.25, "y":3},
+ {"label":"K3D (B3,F5)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3E (B3,F6)", "x":14, "y":3},
+ {"label":"K3F (B3,F7)", "x":15, "y":3},
+
+ {"label":"K40 (B4,C6)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,C7)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K43 (B4,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,D4)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,F0)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,F1)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4D (B4,F5)", "x":13, "y":4},
+ {"label":"K4E (B4,F6)", "x":14, "y":4},
+ {"label":"K4F (B4,F7)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker": {
+ "layout": [
+ {"label":"K00 (B0,C6)", "x":0, "y":0},
+ {"label":"K01 (B0,C7)", "x":1, "y":0},
+ {"label":"K02 (B0,D0)", "x":2, "y":0},
+ {"label":"K03 (B0,D1)", "x":3, "y":0},
+ {"label":"K04 (B0,D2)", "x":4, "y":0},
+ {"label":"K05 (B0,D3)", "x":5, "y":0},
+ {"label":"K06 (B0,D4)", "x":6, "y":0},
+ {"label":"K07 (B0,D5)", "x":7, "y":0},
+ {"label":"K08 (B0,D6)", "x":8, "y":0},
+ {"label":"K09 (B0,D7)", "x":9, "y":0},
+ {"label":"K0A (B0,F0)", "x":10, "y":0},
+ {"label":"K0B (B0,F1)", "x":11, "y":0},
+ {"label":"K0C (B0,F4)", "x":12, "y":0},
+ {"label":"K0D (B0,F5)", "x":13, "y":0, "w":2},
+ {"label":"K0F (B0,F7)", "x":15, "y":0},
+
+ {"label":"K10 (B1,C6)", "x":0, "y":1, "w":1.5},
+ {"label":"K12 (B1,D0)", "x":1.5, "y":1},
+ {"label":"K13 (B1,D1)", "x":2.5, "y":1},
+ {"label":"K14 (B1,D2)", "x":3.5, "y":1},
+ {"label":"K15 (B1,D3)", "x":4.5, "y":1},
+ {"label":"K16 (B1,D4)", "x":5.5, "y":1},
+ {"label":"K17 (B1,D5)", "x":6.5, "y":1},
+ {"label":"K18 (B1,D6)", "x":7.5, "y":1},
+ {"label":"K19 (B1,D7)", "x":8.5, "y":1},
+ {"label":"K1A (B1,F0)", "x":9.5, "y":1},
+ {"label":"K1B (B1,F1)", "x":10.5, "y":1},
+ {"label":"K1C (B1,F4)", "x":11.5, "y":1},
+ {"label":"K1D (B1,F5)", "x":12.5, "y":1},
+ {"label":"K1F (B1,F7)", "x":15, "y":1},
+
+ {"label":"K20 (B2,C6)", "x":0, "y":2, "w":1.75},
+ {"label":"K22 (B2,D0)", "x":1.75, "y":2},
+ {"label":"K23 (B2,D1)", "x":2.75, "y":2},
+ {"label":"K24 (B2,D2)", "x":3.75, "y":2},
+ {"label":"K25 (B2,D3)", "x":4.75, "y":2},
+ {"label":"K26 (B2,D4)", "x":5.75, "y":2},
+ {"label":"K27 (B2,D5)", "x":6.75, "y":2},
+ {"label":"K28 (B2,D6)", "x":7.75, "y":2},
+ {"label":"K29 (B2,D7)", "x":8.75, "y":2},
+ {"label":"K2A (B2,F0)", "x":9.75, "y":2},
+ {"label":"K2B (B2,F1)", "x":10.75, "y":2},
+ {"label":"K2C (B2,F4)", "x":11.75, "y":2},
+ {"label":"K2E (B2,F6)", "x":12.75, "y":2},
+ {"label":"K1E (B1,F6)", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"K2F (B2,F7)", "x":15, "y":2},
+
+ {"label":"K30 (B3,C6)", "x":0, "y":3, "w":1.25},
+ {"label":"K31 (B3,C7)", "x":1.25, "y":3},
+ {"label":"K32 (B3,D0)", "x":2.25, "y":3},
+ {"label":"K33 (B3,D1)", "x":3.25, "y":3},
+ {"label":"K34 (B3,D2)", "x":4.25, "y":3},
+ {"label":"K35 (B3,D3)", "x":5.25, "y":3},
+ {"label":"K36 (B3,D4)", "x":6.25, "y":3},
+ {"label":"K37 (B3,D5)", "x":7.25, "y":3},
+ {"label":"K38 (B3,D6)", "x":8.25, "y":3},
+ {"label":"K39 (B3,D7)", "x":9.25, "y":3},
+ {"label":"K3A (B3,F0)", "x":10.25, "y":3},
+ {"label":"K3B (B3,F1)", "x":11.25, "y":3},
+ {"label":"K3D (B3,F5)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3E (B3,F6)", "x":14, "y":3},
+ {"label":"K3F (B3,F7)", "x":15, "y":3},
+
+ {"label":"K40 (B4,C6)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,C7)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K43 (B4,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,D4)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,F0)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,F1)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4D (B4,F5)", "x":13, "y":4},
+ {"label":"K4E (B4,F6)", "x":14, "y":4},
+ {"label":"K4F (B4,F7)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker_split_bs": {
+ "layout": [
+ {"label":"K00 (B0,C6)", "x":0, "y":0},
+ {"label":"K01 (B0,C7)", "x":1, "y":0},
+ {"label":"K02 (B0,D0)", "x":2, "y":0},
+ {"label":"K03 (B0,D1)", "x":3, "y":0},
+ {"label":"K04 (B0,D2)", "x":4, "y":0},
+ {"label":"K05 (B0,D3)", "x":5, "y":0},
+ {"label":"K06 (B0,D4)", "x":6, "y":0},
+ {"label":"K07 (B0,D5)", "x":7, "y":0},
+ {"label":"K08 (B0,D6)", "x":8, "y":0},
+ {"label":"K09 (B0,D7)", "x":9, "y":0},
+ {"label":"K0A (B0,F0)", "x":10, "y":0},
+ {"label":"K0B (B0,F1)", "x":11, "y":0},
+ {"label":"K0C (B0,F4)", "x":12, "y":0},
+ {"label":"K0D (B0,F5)", "x":13, "y":0},
+ {"label":"K0E (B0,F6)", "x":14, "y":0},
+ {"label":"K0F (B0,F7)", "x":15, "y":0},
+
+ {"label":"K10 (B1,C6)", "x":0, "y":1, "w":1.5},
+ {"label":"K12 (B1,D0)", "x":1.5, "y":1},
+ {"label":"K13 (B1,D1)", "x":2.5, "y":1},
+ {"label":"K14 (B1,D2)", "x":3.5, "y":1},
+ {"label":"K15 (B1,D3)", "x":4.5, "y":1},
+ {"label":"K16 (B1,D4)", "x":5.5, "y":1},
+ {"label":"K17 (B1,D5)", "x":6.5, "y":1},
+ {"label":"K18 (B1,D6)", "x":7.5, "y":1},
+ {"label":"K19 (B1,D7)", "x":8.5, "y":1},
+ {"label":"K1A (B1,F0)", "x":9.5, "y":1},
+ {"label":"K1B (B1,F1)", "x":10.5, "y":1},
+ {"label":"K1C (B1,F4)", "x":11.5, "y":1},
+ {"label":"K1D (B1,F5)", "x":12.5, "y":1},
+ {"label":"K1F (B1,F7)", "x":15, "y":1},
+
+ {"label":"K20 (B2,C6)", "x":0, "y":2, "w":1.75},
+ {"label":"K22 (B2,D0)", "x":1.75, "y":2},
+ {"label":"K23 (B2,D1)", "x":2.75, "y":2},
+ {"label":"K24 (B2,D2)", "x":3.75, "y":2},
+ {"label":"K25 (B2,D3)", "x":4.75, "y":2},
+ {"label":"K26 (B2,D4)", "x":5.75, "y":2},
+ {"label":"K27 (B2,D5)", "x":6.75, "y":2},
+ {"label":"K28 (B2,D6)", "x":7.75, "y":2},
+ {"label":"K29 (B2,D7)", "x":8.75, "y":2},
+ {"label":"K2A (B2,F0)", "x":9.75, "y":2},
+ {"label":"K2B (B2,F1)", "x":10.75, "y":2},
+ {"label":"K2C (B2,F4)", "x":11.75, "y":2},
+ {"label":"K2E (B2,F6)", "x":12.75, "y":2},
+ {"label":"K1E (B1,F6)", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"K2F (B2,F7)", "x":15, "y":2},
+
+ {"label":"K30 (B3,C6)", "x":0, "y":3, "w":1.25},
+ {"label":"K31 (B3,C7)", "x":1.25, "y":3},
+ {"label":"K32 (B3,D0)", "x":2.25, "y":3},
+ {"label":"K33 (B3,D1)", "x":3.25, "y":3},
+ {"label":"K34 (B3,D2)", "x":4.25, "y":3},
+ {"label":"K35 (B3,D3)", "x":5.25, "y":3},
+ {"label":"K36 (B3,D4)", "x":6.25, "y":3},
+ {"label":"K37 (B3,D5)", "x":7.25, "y":3},
+ {"label":"K38 (B3,D6)", "x":8.25, "y":3},
+ {"label":"K39 (B3,D7)", "x":9.25, "y":3},
+ {"label":"K3A (B3,F0)", "x":10.25, "y":3},
+ {"label":"K3B (B3,F1)", "x":11.25, "y":3},
+ {"label":"K3D (B3,F5)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3E (B3,F6)", "x":14, "y":3},
+ {"label":"K3F (B3,F7)", "x":15, "y":3},
+
+ {"label":"K40 (B4,C6)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,C7)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K43 (B4,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,D4)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,F0)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,F1)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4D (B4,F5)", "x":13, "y":4},
+ {"label":"K4E (B4,F6)", "x":14, "y":4},
+ {"label":"K4F (B4,F7)", "x":15, "y":4}
+ ]
+ }
+ },
+ "meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/ft/mars65/keymaps/default/keymap.c b/keyboards/ft/mars65/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c3fbf9cc3f
--- /dev/null
+++ b/keyboards/ft/mars65/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2022 wonderbeel (https://github.com/wonderbeel)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NLCK, 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_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, QK_BOOT,
+ BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_VAD, RGB_SAD
+ ),
+
+};
+
diff --git a/keyboards/ft/mars65/keymaps/via/keymap.c b/keyboards/ft/mars65/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c3fbf9cc3f
--- /dev/null
+++ b/keyboards/ft/mars65/keymaps/via/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2022 wonderbeel (https://github.com/wonderbeel)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NLCK, 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_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, QK_BOOT,
+ BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_VAD, RGB_SAD
+ ),
+
+};
+
diff --git a/keyboards/ft/mars65/keymaps/via/rules.mk b/keyboards/ft/mars65/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/ft/mars65/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/ft/mars65/mars65.c b/keyboards/ft/mars65/mars65.c
new file mode 100644
index 0000000000..d4fbf86d5a
--- /dev/null
+++ b/keyboards/ft/mars65/mars65.c
@@ -0,0 +1,8 @@
+// Copyright 2022 wonderbeel (https://github.com/wonderbeel)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "mars65.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
+
diff --git a/keyboards/ft/mars65/mars65.h b/keyboards/ft/mars65/mars65.h
new file mode 100644
index 0000000000..8627ad09bb
--- /dev/null
+++ b/keyboards/ft/mars65/mars65.h
@@ -0,0 +1,111 @@
+// Copyright 2022 wonderbeel (https://github.com/wonderbeel)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+/* ANSI
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └───────┘
+ * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │2F │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │3F │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │40 │41 │43 │46 │4A │4B │ │4D │4E │4F │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+
+/* ISO
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └───────┘
+ * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ 1E │1F │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠├───┤
+ * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │2F │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │3F │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │40 │41 │43 │46 │4A │4B │ │4D │4E │4F │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, 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, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, XXX, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, XXX, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K1E, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, 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, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, XXX, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K1E, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, 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, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, XXX, K4D, K4E, K4F }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
+
diff --git a/keyboards/ft/mars65/readme.md b/keyboards/ft/mars65/readme.md
new file mode 100644
index 0000000000..6853994ee4
--- /dev/null
+++ b/keyboards/ft/mars65/readme.md
@@ -0,0 +1,21 @@
+# Mars 6.5
+
+65% Keyboard with in switch backlight and RGB Underglow.
+
+![Mars 6.5 image](https://i.imgur.com/cg5qADrh.jpg)
+
+* Keyboard Maintainer: [wonderbeel](https://github.com/wonderbeel)
+* Hardware Supported: Mars 6.5 PCB
+* Hardware Availability: [Group Buy now completed](https://geekhack.org/index.php?topic=98601.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make ft/mars65:default
+
+Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+
+ make ft/mars65:default:flash
+
+**Reset Key:** Hold down the key located at `K00`, commonly programmed as `Pause/Break` while plugging in the keyboard.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ft/mars65/rules.mk b/keyboards/ft/mars65/rules.mk
new file mode 100644
index 0000000000..f3e472d0cd
--- /dev/null
+++ b/keyboards/ft/mars65/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes # Reduce firmware size
+
+# generated by KBFirmware JSON to QMK Parser
+# https://noroadsleft.github.io/kbf_qmk_converter/
+
diff --git a/keyboards/ft/mars80/config.h b/keyboards/ft/mars80/config.h
index 1670044315..d922620dde 100644
--- a/keyboards/ft/mars80/config.h
+++ b/keyboards/ft/mars80/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FT
-#define PRODUCT Mars 8.0
-
#define RGBLED_NUM 20
#define MATRIX_ROWS 7
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2 }
-#define UNUSED_PINS {}
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/ft/mars80/info.json b/keyboards/ft/mars80/info.json
index 060e7eee65..091e3a94c0 100644
--- a/keyboards/ft/mars80/info.json
+++ b/keyboards/ft/mars80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mars 8.0",
+ "manufacturer": "FT",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/function96/v1/config.h b/keyboards/function96/v1/config.h
index eaa7183843..e3f603cd7c 100644
--- a/keyboards/function96/v1/config.h
+++ b/keyboards/function96/v1/config.h
@@ -19,14 +19,6 @@ 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 0x672A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JTM
-#define PRODUCT function96v1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F0, C15, C14, C13, B9 }
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B12, A13, A14, A15, B3, B4, B5, B6, B7, B8}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/function96/v1/info.json b/keyboards/function96/v1/info.json
index 45f987a355..92b016c165 100644
--- a/keyboards/function96/v1/info.json
+++ b/keyboards/function96/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "function96v1",
+ "manufacturer": "JTM",
"url": "jtmkeebdesign@gmail.com",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x672A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Print", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"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}, {"x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "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":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Caps Lock", "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":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "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":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"x":18, "y":4, "h":2}, {"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":2.25}, {"x":6, "y":5, "w":1.25}, {"x":7.25, "y":5, "w":2.75}, {"x":10, "y":5, "w":1.25}, {"x":11.25, "y":5, "w":1.25}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"x":17, "y":5}]
diff --git a/keyboards/function96/v2/config.h b/keyboards/function96/v2/config.h
index b0e986785a..5f44ea397e 100644
--- a/keyboards/function96/v2/config.h
+++ b/keyboards/function96/v2/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x2A34 // JT , JTMDesign
-#define PRODUCT_ID 0x672B
-#define DEVICE_VER 0x0002
-#define MANUFACTURER JTMDesign
-#define PRODUCT function96v2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12 }
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B11, A14, A15, B3, B4, B5, B6, B7, B8, B9}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/function96/v2/info.json b/keyboards/function96/v2/info.json
index d494f617ea..7bb6adfcad 100644
--- a/keyboards/function96/v2/info.json
+++ b/keyboards/function96/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "function96v2",
+ "manufacturer": "JTMDesign",
"url": "jtmkeebdesign@gmail.com",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x2A34",
+ "pid": "0x672B",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/fungo/fungo.c b/keyboards/fungo/fungo.c
new file mode 100644
index 0000000000..1446234b36
--- /dev/null
+++ b/keyboards/fungo/fungo.c
@@ -0,0 +1,18 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "fungo.h"
+
diff --git a/keyboards/fungo/fungo.h b/keyboards/fungo/fungo.h
new file mode 100644
index 0000000000..dd267c3463
--- /dev/null
+++ b/keyboards/fungo/fungo.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_fungo_rev1
+ #include "rev1.h"
+#endif
diff --git a/keyboards/fungo/keymaps/default/config.h b/keyboards/fungo/keymaps/default/config.h
new file mode 100644
index 0000000000..c6d778d109
--- /dev/null
+++ b/keyboards/fungo/keymaps/default/config.h
@@ -0,0 +1,24 @@
+/* This is the c configuration file for the keymap
+ * Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 IGNORE_MOD_TAP_INTERRUPT
+
diff --git a/keyboards/fungo/keymaps/default/keymap.c b/keyboards/fungo/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4c48b6467f
--- /dev/null
+++ b/keyboards/fungo/keymaps/default/keymap.c
@@ -0,0 +1,156 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 {
+ SAM1,
+ SAM2,
+ SAM3,
+ SAM4,
+ BASE,
+ F3LAY,
+ F4LAY,
+};
+
+
+
+
+
+#define SFCTLNO MT(MOD_LCTL|MOD_LSFT,KC_NO)
+
+#define SFCT_S MT(MOD_LCTL|MOD_LSFT,KC_S)
+#define CT_D MT(MOD_LCTL,KC_D)
+#define SF_F MT(MOD_LSFT,KC_F)
+
+#define SF_J MT(MOD_RSFT,KC_J)
+#define CT_K MT(MOD_RCTL,KC_K)
+
+#define MTC_F7 MT(MOD_LCTL|MOD_LSFT, KC_F7)
+#define MTC_F8 MT(MOD_LCTL, KC_F8)
+#define MTC_F9 MT(MOD_LSFT, KC_F9)
+
+#define MTC_K MT(MOD_RCTL, KC_K)
+#define MTC_J MT(MOD_RSFT, KC_J)
+
+#define MTC_8 MT(MOD_RCTL, KC_8)
+#define MTC_7 MT(MOD_RSFT, KC_7)
+
+//#define MTLC_8 MT(MOD_LCTL, KC_8)
+#define MTLC_9 MT(MOD_LSFT, KC_9)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* BASE
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | ~ | 1 | 2 | 3 | 4 | 5 | ESC | | BS | 6 | 7 | 8 | 9 | [ | \ |
+ * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | ` | | \ | Y | U | I | O | P | Tab |
+ * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
+ * | ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ctrl |
+ * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
+ * | shift| Z | X | C | V | B | 3 | - | 7 || 1 | 2 | = | 4 | N | M | , | . |shift |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | 1 | 2 | 3 | 4 | alt | spc | MO(1) |enter ||enter | MO(0) | spc | alt | 1 | 2 | 3 | 4 |
+ * `------------------------------------------------' ------------------------------------------------'
+ */
+
+ [BASE] = LAYOUT_fungo_split_num(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB,
+ KC_NO, KC_A, SFCT_S, CT_D, SF_F, KC_G, KC_LBRC, KC_RBRC, KC_H, MTC_J, MTC_K, KC_L, KC_SCLN, KC_NO,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSLS, LM(F3LAY, MOD_LSFT), KC_NO, KC_NO, LM(F3LAY, MOD_RSFT), KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
+ KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_LSHIFT, KC_SPC, MO(F3LAY), KC_ENT, KC_ENT, TT(F3LAY), KC_SPC, KC_RSHIFT, KC_RALT, KC_NO, TT(SAM1),TG(F4LAY)
+ ),
+
+ /* BASE
+ * ,------------------------------------------------. ,------------------------------------------------.
+ * | ~ | 1 | 2 | 3 | 4 | 5 | ESC | | BS | 6 | 7 | 8 | 9 | [ | \ |
+ * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | ` | | DEL | HOME | UP | END | O | P | Tab |
+ * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
+ * | ctrl | A | S | D | F | G | [ | | INS | LEFT | DOWN | RIGHT| L | ; | ctrl |
+ * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
+ * | shift| Z | X | ctr+C|ctr+V | B | 3 | - | 7 || 1 | 2 | NO | PGUP | NO | PGDN | , | . |shift |
+ * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
+ * | 1 | 2 | 3 | 4 | alt | spc | MO(1) |enter ||enter | MO(0) | spc | alt | 1 | 2 | 3 | 4 |
+ * `------------------------------------------------' ------------------------------------------------'
+ */
+
+ [F3LAY] = LAYOUT_fungo_split_num(
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_ESC, KC_BSPC, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_CAPS, KC_CAPS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TAB,
+ KC_NO, KC_NO, SFCTLNO, KC_LCTL, KC_LSFT, KC_PAUS, KC_PSCR, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO,
+ KC_LCTL, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_NO, KC_NO, LM(F3LAY, MOD_LSFT), KC_NO, KC_NO, LM(F3LAY, MOD_RSFT), KC_NO, KC_INS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_RCTL,
+ KC_NO, KC_NO, KC_NO, KC_LALT, KC_LSHIFT, KC_SPC, MO(F3LAY), KC_ENT, KC_ENT, TT(F3LAY), KC_SPC, KC_RSHIFT, KC_RALT, KC_NO, KC_NO, TG(F4LAY)
+ ),
+
+
+ [F4LAY] = LAYOUT_fungo_split_num(
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_ESC, KC_BSPC, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
+ KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_CAPS, KC_CAPS, KC_DEL, KC_HOME, KC_UP, KC_END, KC_NO, KC_TAB,
+ KC_NO, KC_NO, SFCTLNO, KC_LCTL, KC_LSFT, KC_PAUS, KC_PSCR, KC_BSPC, KC_INS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO,
+ KC_LCTL, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_NO, KC_NO, LM(F3LAY, MOD_LSFT), KC_NO, KC_NO, LM(F3LAY, MOD_RSFT), KC_NO, KC_INS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_RCTL,
+ KC_NO, KC_NO, KC_NO, KC_LALT, KC_LSHIFT, KC_SPC, MO(F3LAY), KC_ENT, KC_ENT, TT(F3LAY), KC_SPC, KC_RSHIFT, KC_RALT, KC_NO, KC_NO, TG(F4LAY)
+ ),
+
+ /*
+ [TEST] = LAYOUT_fungo_split_num(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RSFT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSLS, KC_LCTL, KC_NO, KC_NO, TG(F4LAY), KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
+ KC_NO, KC_NO, KC_NO, KC_LALT, KC_LSHIFT, KC_SPC, MO(F3LAY), KC_ENT, KC_ENT, TT(F3LAY), KC_SPC, KC_RSHIFT, KC_RALT, KC_NO, KC_NO, KC_NO
+ ),
+ */
+
+ //--------------------------------------------------------NEW-----------------------------------------------
+ //SAM1ì„ ê¸°ë°˜ìœ¼ë¡œ 새로운 모드
+ [SAM1] = LAYOUT_fungo_split_num(
+ KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
+ KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO,
+ KC_TAB, KC_A, SFCT_S, CT_D, SF_F, KC_G, KC_CAPS, KC_CAPS, KC_H, MTC_J, MTC_K, KC_L, KC_SCLN, KC_TAB,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
+ KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_SPC, TT(SAM2), KC_ENT, MO(SAM4), KC_NO, KC_ENT, TT(SAM3), KC_SPC, KC_RALT, KC_NO, TT(SAM1), KC_NO
+ ),
+
+ [SAM3] = LAYOUT_fungo_split_num(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BSPC, KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
+ KC_TAB, KC_6, KC_7, KC_8, MTLC_9, KC_0, KC_CAPS, KC_CAPS, KC_6, MTC_7, MTC_8, KC_9, KC_0, KC_TAB,
+ KC_LCTL, KC_PSLS, KC_PAST, KC_MINS, KC_PPLS, KC_EQL, KC_DOT, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_DOT, KC_EQL, KC_PPLS, KC_PMNS, KC_PAST, KC_PSLS, KC_RCTL,
+ KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_SPC, TT(SAM2), KC_ENT, MO(SAM4), KC_NO, KC_ENT, TT(SAM3), KC_SPC, KC_RALT, KC_NO, TT(SAM1), KC_NO
+ ),
+
+ [SAM2] = LAYOUT_fungo_split_num(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO,
+ KC_TAB, KC_F6, MTC_F7, MTC_F8, MTC_F9, KC_F10, KC_F12, KC_CAPS, KC_INS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TAB,
+ KC_LCTL, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_NO, KC_NO, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_NO, KC_BSLS, KC_QUOT, KC_LBRC, KC_RBRC, KC_GRV, KC_RCTL,
+ KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_SPC, TT(SAM2), KC_ENT, MO(SAM4), KC_NO, KC_ENT, TT(SAM3), KC_SPC, KC_RALT, KC_NO, TT(SAM1), KC_NO
+ ),
+ [SAM4] = LAYOUT_fungo_split_num(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_BSPC, KC_ACL0, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO, KC_NO,
+ KC_TAB, KC_F6, MTC_F7, MTC_F8, MTC_F9, KC_F10, KC_F12, KC_CAPS, KC_ACL1, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_TAB,
+ KC_NO, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_NO, KC_ACL2, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_RCTL,
+ KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_SPC, TT(SAM2), KC_ENT, MO(SAM4), KC_NO, KC_ENT, TT(SAM3), KC_SPC, KC_RALT, KC_NO, TT(SAM1), KC_NO
+ ),
+};
+
+
+
diff --git a/keyboards/fungo/readme.md b/keyboards/fungo/readme.md
new file mode 100644
index 0000000000..fffd820d60
--- /dev/null
+++ b/keyboards/fungo/readme.md
@@ -0,0 +1,28 @@
+# fungo split keyboard (fungo)
+
+
+A split keyboard for my hands.
+
+* Keyboard Maintainer: [bojiguard](https://github.com/bojiguard/)
+* Hardware Supported: Pro Micro, elite-c, nicenano
+* Hardware Availability: [fungo split keyboard](https://github.com/bojiguard/fungo-split-keyboard)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make fungo/rev1:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+
+## Bootloader
+
+* **Physical reset button**: Briefly press the button on the front of the PCB
+
+## Characteristics
+
+The circuits on the left and right keyboard are different.
+Hardware Information: [Document](https://github.com/bojiguard/fungo-split-keyboard)
+matrix: 5x7+3
+left : support oled
+right: support external spi connection
+all: battery switch, battery jack for nicenano
diff --git a/keyboards/fungo/rev1/config.h b/keyboards/fungo/rev1/config.h
new file mode 100644
index 0000000000..5026099f7d
--- /dev/null
+++ b/keyboards/fungo/rev1/config.h
@@ -0,0 +1,70 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+#define SOFT_SERIAL_PIN D3 // RX8
+
+/* select keyboard master board - I2C or Serial communication master */
+#define MASTER_RIGHT
+
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2}
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5}
+
+#define MATRIX_COL_PINS_RIGHT {F7, F6, F5, F4, B5, B4, E6}
+#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, D7, D3} // TX
+
+
+
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+
+
+/*************************************/
+/** public parameter **/
+/*************************************/
+
+#define MATRIX_IO_DELAY 15 // default 30
+#define TAP_CODE_DELAY 50 // default 0, disabled
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 3
+
+/* 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 TAPPING_TOGGLE 3
+
+
diff --git a/keyboards/fungo/rev1/info.json b/keyboards/fungo/rev1/info.json
new file mode 100644
index 0000000000..cb5b7c6991
--- /dev/null
+++ b/keyboards/fungo/rev1/info.json
@@ -0,0 +1,97 @@
+{
+ "keyboard_name": "FungoSplit",
+ "manufacturer": "Fungo",
+ "url": "https://github.com/bojiguard/",
+ "maintainer": "@bojiguard",
+ "usb": {
+ "vid": "0x5892",
+ "pid": "0x1233",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_fungo_split_num": {
+ "layout": [
+ {"x":0, "y":0.375},
+ {"x":1, "y":0.375},
+ {"x":2, "y":0.125},
+ {"x":3, "y":0},
+ {"x":4, "y":0.125},
+ {"x":5, "y":0.25},
+ {"x":6, "y":0.5},
+ {"x":12, "y":0.5},
+ {"x":13, "y":0.25},
+ {"x":14, "y":0.125},
+ {"x":15, "y":0},
+ {"x":16, "y":0.125},
+ {"x":17, "y":0.375},
+ {"x":18, "y":0.375},
+
+ {"x":0, "y":1.375},
+ {"x":1, "y":1.375},
+ {"x":2, "y":1.125},
+ {"x":3, "y":1},
+ {"x":4, "y":1.125},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.5},
+ {"x":12, "y":1.5},
+ {"x":13, "y":1.25},
+ {"x":14, "y":1.125},
+ {"x":15, "y":1},
+ {"x":16, "y":1.125},
+ {"x":17, "y":1.375},
+ {"x":18, "y":1.375},
+
+ {"x":0, "y":2.375},
+ {"x":1, "y":2.375},
+ {"x":2, "y":2.125},
+ {"x":3, "y":2},
+ {"x":4, "y":2.125},
+ {"x":5, "y":2.25},
+ {"x":6, "y":2.5},
+ {"x":12, "y":2.5},
+ {"x":13, "y":2.25},
+ {"x":14, "y":2.125},
+ {"x":15, "y":2},
+ {"x":16, "y":2.125},
+ {"x":17, "y":2.375},
+ {"x":18, "y":2.375},
+
+ {"x":0, "y":3.375},
+ {"x":1, "y":3.375},
+ {"x":2, "y":3.125},
+ {"x":3, "y":3},
+ {"x":4, "y":3.125},
+ {"x":5, "y":3.25},
+ {"x":6, "y":3.5},
+ {"x":7, "y":4.25},
+ {"x":8, "y":4.5},
+ {"x":10, "y":4.5},
+ {"x":11, "y":4.25},
+ {"x":12, "y":3.5},
+ {"x":13, "y":3.25},
+ {"x":14, "y":3.125},
+ {"x":15, "y":3},
+ {"x":16, "y":3.125},
+ {"x":17, "y":3.375},
+ {"x":18, "y":3.375},
+
+ {"x":0, "y":4.375},
+ {"x":1, "y":4.375},
+ {"x":2, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.5, "y":4.5},
+ {"x":5.75, "y":5},
+ {"x":7, "y":5.25},
+ {"x":8, "y":5.5},
+ {"x":10, "y":5.5},
+ {"x":11, "y":5.25},
+ {"x":12.25, "y":5},
+ {"x":13.5, "y":4.5},
+ {"x":14.75, "y":4.25},
+ {"x":16, "y":4.25},
+ {"x":17, "y":4.375},
+ {"x":18, "y":4.375}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/fungo/rev1/post_config.h b/keyboards/fungo/rev1/post_config.h
new file mode 100644
index 0000000000..16a06bf0c7
--- /dev/null
+++ b/keyboards/fungo/rev1/post_config.h
@@ -0,0 +1,30 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#ifndef MK_3_SPEED
+#define MK_3_SPEED
+#endif
+
+#ifndef MOUSEKEY_INTERVAL
+#define MOUSEKEY_INTERVAL 3
+#endif
+
+#ifndef MOUSEKEY_INITIAL_SPEED
+#define MOUSEKEY_INITIAL_SPEED 20
+#endif \ No newline at end of file
diff --git a/keyboards/fungo/rev1/rev1.c b/keyboards/fungo/rev1/rev1.c
new file mode 100644
index 0000000000..5fd3a11049
--- /dev/null
+++ b/keyboards/fungo/rev1/rev1.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "fungo.h"
diff --git a/keyboards/fungo/rev1/rev1.h b/keyboards/fungo/rev1/rev1.h
new file mode 100644
index 0000000000..97161482ff
--- /dev/null
+++ b/keyboards/fungo/rev1/rev1.h
@@ -0,0 +1,48 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "fungo.h"
+#include "quantum.h"
+
+
+
+#define LAYOUT_fungo_split_num( \
+ L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, L16, R16, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, L26, R26, R25, R24, R23, R22, R21, R20, \
+ L30, L31, L32, L33, L34, L35, L36, L46, L52, R52, R46, R36, R35, R34, R33, R32, R31, R30, \
+ L50, L51, L40, L41, L42, L43, L44, L45, R45, R44, R43, R42, R41, R40, R51, R50 \
+ ) \
+ { \
+ { 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}, \
+ { L50, L51, L52, KC_NO, KC_NO, KC_NO, KC_NO}, \
+ { 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}, \
+ { KC_NO, KC_NO, KC_NO, KC_NO, R52, R51, R50}, \
+ }
+
+
+
+
diff --git a/keyboards/fungo/rev1/rules.mk b/keyboards/fungo/rev1/rules.mk
new file mode 100644
index 0000000000..4cfaca9bc3
--- /dev/null
+++ b/keyboards/fungo/rev1/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina # controller pro micro
+# BOOTLOADER = atmel-dfu # controller Elite-C
+
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+KEY_LOCK_ENABLE = yes # kc_lock use
+
+
+OLED_ENABLE = no
+OLED_DRIVER = SSD1306 # OLED display
+SPLIT_KEYBOARD = yes # split type
+
diff --git a/keyboards/funky40/config.h b/keyboards/funky40/config.h
index c79a8f2da6..20e2c890a4 100644
--- a/keyboards/funky40/config.h
+++ b/keyboards/funky40/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xC4B5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheFourthCow
-#define PRODUCT Funky40
-
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, C6, B4, B5 }
#define MATRIX_COL_PINS { D3, F5, F4, F7, B1, B6, B2, B3, D2, F6, E6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/funky40/info.json b/keyboards/funky40/info.json
index ce385b76dd..9faf90c230 100644
--- a/keyboards/funky40/info.json
+++ b/keyboards/funky40/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "funky40",
+ "keyboard_name": "Funky40",
+ "manufacturer": "TheFourthCow",
"url": "",
"maintainer": "TheFourthCow",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC4B5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":":", "x":10, "y":1}, {"label":"\"", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":"<", "x":8, "y":2}, {"label":">", "x":9, "y":2}, {"label":"?", "x":10, "y":2}, {"label":"Shift", "x":11, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Super", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3, "w":2}, {"label":"Del", "x":5, "y":3}, {"x":6, "y":3, "w":2}, {"label":"Left", "x":8, "y":3}, {"label":"Up", "x":9, "y":3}, {"label":"Down", "x":10, "y":3}, {"label":"Right", "x":11, "y":3}]
diff --git a/keyboards/gami_studio/lex60/config.h b/keyboards/gami_studio/lex60/config.h
index d19ecd78a0..311f355589 100644
--- a/keyboards/gami_studio/lex60/config.h
+++ b/keyboards/gami_studio/lex60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7353
-#define PRODUCT_ID 0x0160
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT Lex60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/gami_studio/lex60/info.json b/keyboards/gami_studio/lex60/info.json
index b8535c7fd9..7422287bd6 100644
--- a/keyboards/gami_studio/lex60/info.json
+++ b/keyboards/gami_studio/lex60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Gami Studio Lex60",
+ "keyboard_name": "Lex60",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "GamiStudio",
+ "usb": {
+ "vid": "0x7353",
+ "pid": "0x0160",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gboards/butterstick/config.h b/keyboards/gboards/butterstick/config.h
index 69632cd4f7..50f23cb945 100644
--- a/keyboards/gboards/butterstick/config.h
+++ b/keyboards/gboards/butterstick/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
-#define PRODUCT Butter Stick
#define VERSION "Paula Deen"
#define DEBOUNCE 5
@@ -18,7 +12,6 @@
#define MATRIX_COLS 10
#define MATRIX_ROW_PINS { F4, F5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7, C6, C7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/gboards/butterstick/info.json b/keyboards/gboards/butterstick/info.json
index 6bfd58e594..158769dbd1 100644
--- a/keyboards/gboards/butterstick/info.json
+++ b/keyboards/gboards/butterstick/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Butter Stick",
+ "manufacturer": "g Heavy Industries",
"url": "",
"maintainer": "germ",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_butter": {
"layout": [
diff --git a/keyboards/gboards/ergotaco/config.h b/keyboards/gboards/ergotaco/config.h
index d415e77dc6..21d14144d9 100644
--- a/keyboards/gboards/ergotaco/config.h
+++ b/keyboards/gboards/ergotaco/config.h
@@ -23,13 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VERBOSE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
-#define PRODUCT ErgoTaco
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
diff --git a/keyboards/gboards/ergotaco/info.json b/keyboards/gboards/ergotaco/info.json
index e7794e6ee3..bd1863288e 100644
--- a/keyboards/gboards/ergotaco/info.json
+++ b/keyboards/gboards/ergotaco/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ErgoTaco",
+ "manufacturer": "g Heavy Industries",
"url": "http://gboards.ca",
"maintainer": "germ",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gboards/georgi/config.h b/keyboards/gboards/georgi/config.h
index f2e73da899..e3da59a781 100644
--- a/keyboards/gboards/georgi/config.h
+++ b/keyboards/gboards/georgi/config.h
@@ -30,13 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_ONESHOT
#define IGNORE_MOD_TAP_INTERRUPT
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
-#define PRODUCT Georgi
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
diff --git a/keyboards/gboards/georgi/info.json b/keyboards/gboards/georgi/info.json
index 89d2cd883f..0bfe2a52aa 100644
--- a/keyboards/gboards/georgi/info.json
+++ b/keyboards/gboards/georgi/info.json
@@ -1,130 +1,51 @@
{
"keyboard_name": "Georgi",
+ "manufacturer": "g Heavy Industries",
"url": "http://gboards.ca",
"maintainer": "germ",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_georgi": {
"layout": [
- {
- "x": 0.05,
- "y": 0.54
- },
- {
- "x": 1.06,
- "y": 0.55
- },
- {
- "x": 2.06,
- "y": 0.29
- },
- {
- "x": 3.05,
- "y": 0.16
- },
- {
- "x": 4.06,
- "y": 0.41
- },
- {
- "x": 5.06,
- "y": 0.54
- },
- {
- "x": 7.1899999999999995,
- "y": 0.41
- },
- {
- "x": 8.2,
- "y": 0.3
- },
- {
- "x": 9.2,
- "y": 0.05
- },
- {
- "x": 10.2,
- "y": 0.29
- },
- {
- "x": 11.2,
- "y": 0.43
- },
- {
- "x": 12.2,
- "y": 0.42
- },
- {
- "x": 0.05,
- "y": 1.54
- },
- {
- "x": 1.06,
- "y": 1.54
- },
- {
- "x": 2.06,
- "y": 1.28
- },
- {
- "x": 3.05,
- "y": 1.16
- },
- {
- "x": 4.06,
- "y": 1.4
- },
- {
- "x": 5.06,
- "y": 1.54
- },
- {
- "x": 7.1899999999999995,
- "y": 1.4
- },
- {
- "x": 8.2,
- "y": 1.28
- },
- {
- "x": 9.2,
- "y": 1.04
- },
- {
- "x": 10.2,
- "y": 1.28
- },
- {
- "x": 11.2,
- "y": 1.42
- },
- {
- "x": 12.2,
- "y": 1.42
- },
- {
- "x": 3.05,
- "y": 2.67
- },
- {
- "x": 4.06,
- "y": 2.68
- },
- {
- "x": 5.06,
- "y": 2.68
- },
- {
- "x": 7.19,
- "y": 2.67
- },
- {
- "x": 8.2,
- "y": 2.67
- },
- {
- "x": 9.2,
- "y": 2.66
- }
+ {"x": 0, "y": 0.5},
+ {"x": 1, "y": 0.5},
+ {"x": 2, "y": 0.3},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0.4},
+ {"x": 5, "y": 0.5},
+
+ {"x": 7, "y": 0.5},
+ {"x": 8, "y": 0.4},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0.3},
+ {"x": 11, "y": 0.5},
+ {"x": 12, "y": 0.5},
+
+ {"x": 0, "y": 1.5},
+ {"x": 1, "y": 1.5},
+ {"x": 2, "y": 1.3},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1.4},
+ {"x": 5, "y": 1.5},
+
+ {"x": 7, "y": 1.5},
+ {"x": 8, "y": 1.4},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1.3},
+ {"x": 11, "y": 1.5},
+ {"x": 12, "y": 1.5},
+
+ {"x": 3, "y": 2.75},
+ {"x": 4, "y": 2.75},
+ {"x": 5, "y": 2.75},
+
+ {"x": 7, "y": 2.75},
+ {"x": 8, "y": 2.75},
+ {"x": 9, "y": 2.75}
]
}
}
diff --git a/keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk b/keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk
index 07394aef48..ef710269a4 100644
--- a/keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/colemak-dh/rules.mk
@@ -1,12 +1,6 @@
-#----------------------------------------------------------------------------
-# make georgi:claymager:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
NO_REPEAT = yes
VERBOSE = yes
KEYBOARD_SHARED_EP = yes
-CUSTOM_MATRIX = yes
STENO_LAYERS = yes
#Firmware reduction options
@@ -24,7 +18,6 @@ ONLY_QWERTY = no
# know what you're doing.
#
# No touchy, capiche?
-SRC += matrix.c i2c_master.c
ifeq ($(strip $(DEBUG_MATRIX)), yes)
OPT_DEFS += -DDEBUG_MATRIX
endif
@@ -43,3 +36,5 @@ endif
ifeq ($(strip $(STENO_LAYERS)), yes)
OPT_DEFS += -DSTENOLAYERS
endif
+
+SRC += sten.c
diff --git a/keyboards/gboards/georgi/keymaps/default-flipped/rules.mk b/keyboards/gboards/georgi/keymaps/default-flipped/rules.mk
index 90d8057c32..8f3d0419ab 100644
--- a/keyboards/gboards/georgi/keymaps/default-flipped/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/default-flipped/rules.mk
@@ -1,12 +1,6 @@
-#----------------------------------------------------------------------------
-# make georgi:default:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
NO_REPEAT = no
VERBOSE = yes
KEYBOARD_SHARED_EP = yes
-CUSTOM_MATRIX = yes
#Firmware reduction options
MOUSEKEY_ENABLE = yes # 1500 bytes
@@ -23,7 +17,6 @@ ONLY_QWERTY = no
# know what you're doing.
#
# No touchy, capiche?
-SRC += matrix.c i2c_master.c
ifeq ($(strip $(DEBUG_MATRIX)), yes)
OPT_DEFS += -DDEBUG_MATRIX
endif
@@ -39,3 +32,5 @@ endif
ifeq ($(strip $(NO_TAPPING)), yes)
OPT_DEFS += -DNO_ACTION_TAPPING
endif
+
+SRC += sten.c
diff --git a/keyboards/gboards/georgi/keymaps/default/rules.mk b/keyboards/gboards/georgi/keymaps/default/rules.mk
index 7bd3d7aa20..242f95fa23 100644
--- a/keyboards/gboards/georgi/keymaps/default/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/default/rules.mk
@@ -1,12 +1,6 @@
-#----------------------------------------------------------------------------
-# make georgi:default:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
NO_REPEAT = no
VERBOSE = yes
KEYBOARD_SHARED_EP = yes
-CUSTOM_MATRIX = yes
STENO_LAYERS = no
#Firmware reduction options
@@ -24,7 +18,6 @@ ONLY_QWERTY = no
# know what you're doing.
#
# No touchy, capiche?
-SRC += matrix.c i2c_master.c
ifeq ($(strip $(DEBUG_MATRIX)), yes)
OPT_DEFS += -DDEBUG_MATRIX
endif
@@ -40,3 +33,5 @@ endif
ifeq ($(strip $(NO_TAPPING)), yes)
OPT_DEFS += -DNO_ACTION_TAPPING
endif
+
+SRC += sten.c
diff --git a/keyboards/gboards/georgi/keymaps/dennytom/rules.mk b/keyboards/gboards/georgi/keymaps/dennytom/rules.mk
index 1155f72c04..af3726f14a 100644
--- a/keyboards/gboards/georgi/keymaps/dennytom/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/dennytom/rules.mk
@@ -1,8 +1,2 @@
MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = no
-# COMMAND_ENABLE = no
-NKRO_ENABLE = yes
-
-TMPVAR := $(SRC)
-SRC = $(filter-out sten.c, $(TMPVAR)) \ No newline at end of file
diff --git a/keyboards/gboards/georgi/keymaps/minimal/rules.mk b/keyboards/gboards/georgi/keymaps/minimal/rules.mk
index cdbbbc280e..d95158f051 100644
--- a/keyboards/gboards/georgi/keymaps/minimal/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/minimal/rules.mk
@@ -1,12 +1,6 @@
-#----------------------------------------------------------------------------
-# make georgi:default:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
NO_REPEAT = no
VERBOSE = yes
KEYBOARD_SHARED_EP = yes
-CUSTOM_MATRIX = yes
#Firmware reduction options
MOUSEKEY_ENABLE = no # 1500 bytes
@@ -23,7 +17,6 @@ ONLY_QWERTY = no
# know what you're doing.
#
# No touchy, capiche?
-SRC += matrix.c i2c_master.c
ifeq ($(strip $(DEBUG_MATRIX)), yes)
OPT_DEFS += -DDEBUG_MATRIX
endif
@@ -39,3 +32,5 @@ endif
ifeq ($(strip $(NO_TAPPING)), yes)
OPT_DEFS += -DNO_ACTION_TAPPING
endif
+
+SRC += sten.c
diff --git a/keyboards/gboards/georgi/keymaps/norman/rules.mk b/keyboards/gboards/georgi/keymaps/norman/rules.mk
index bb97bef281..d550e882c6 100644
--- a/keyboards/gboards/georgi/keymaps/norman/rules.mk
+++ b/keyboards/gboards/georgi/keymaps/norman/rules.mk
@@ -1,12 +1,6 @@
-#----------------------------------------------------------------------------
-# make georgi:default:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-
NO_REPEAT = yes
VERBOSE = yes
KEYBOARD_SHARED_EP = yes
-CUSTOM_MATRIX = yes
MOUSEKEY_ENABLE = yes
#Debug options
@@ -20,7 +14,6 @@ ONLY_QWERTY = no
# know what you're doing.
#
# No touchy, capiche?
-SRC += matrix.c i2c_master.c
ifeq ($(strip $(DEBUG_MATRIX)), yes)
OPT_DEFS += -DDEBUG_MATRIX
endif
@@ -33,3 +26,5 @@ endif
ifeq ($(strip $(ONLY_QWERTY)), yes)
OPT_DEFS += -DONLYQWERTY
endif
+
+SRC += sten.c
diff --git a/keyboards/gboards/georgi/rules.mk b/keyboards/gboards/georgi/rules.mk
index a884d8b3b9..9f66bb0d5b 100644
--- a/keyboards/gboards/georgi/rules.mk
+++ b/keyboards/gboards/georgi/rules.mk
@@ -7,13 +7,17 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-CUSTOM_MATRIX = yes
-MOUSEKEY_ENABLE = no
-STENO_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = yes
-COMMAND_ENABLE = no
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+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 # Enable N-Key Rollover
-
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+CUSTOM_MATRIX = yes
+STENO_ENABLE = yes
LTO_ENABLE = yes
-SRC += matrix.c i2c_master.c sten.c
+
+SRC += matrix.c i2c_master.c
diff --git a/keyboards/gboards/gergo/config.h b/keyboards/gboards/gergo/config.h
index 9d56c0e24f..1308312950 100644
--- a/keyboards/gboards/gergo/config.h
+++ b/keyboards/gboards/gergo/config.h
@@ -35,13 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VERBOSE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1307
-#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
-#define PRODUCT Gergo
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
diff --git a/keyboards/gboards/gergo/info.json b/keyboards/gboards/gergo/info.json
index be52e49046..e3f8b1caff 100644
--- a/keyboards/gboards/gergo/info.json
+++ b/keyboards/gboards/gergo/info.json
@@ -1,7 +1,13 @@
{
- "maintainer": "germ",
"keyboard_name": "Gergo",
+ "manufacturer": "g Heavy Industries",
"url": "http://gboards.ca",
+ "maintainer": "germ",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1307",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_gergo": {
"layout": [
diff --git a/keyboards/gboards/gergo/keymaps/colemak/keymap.c b/keyboards/gboards/gergo/keymaps/colemak/keymap.c
index b2e79114f2..35b1e0b653 100644
--- a/keyboards/gboards/gergo/keymaps/colemak/keymap.c
+++ b/keyboards/gboards/gergo/keymaps/colemak/keymap.c
@@ -146,8 +146,8 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- //uint8_t layer = biton32(layer_state);
- biton32(layer_state);
+ //uint8_t layer = get_highest_layer(layer_state);
+ get_highest_layer(layer_state);
};
@@ -171,4 +171,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return true;
};
-
diff --git a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h
index 2bfb5befb3..e86d030fd7 100644
--- a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/gboards/gergoplex/config.h b/keyboards/gboards/gergoplex/config.h
index 6a73ccc4ea..bd8c075190 100644
--- a/keyboards/gboards/gergoplex/config.h
+++ b/keyboards/gboards/gergoplex/config.h
@@ -21,13 +21,6 @@ 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 0x6B0A
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
-#define PRODUCT GergoPlex
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, F5, F4, F1 }
#define MATRIX_COL_PINS { B1, B2, B3, D2, D3 }
-#define UNUSED_PINS
#define IGNORE_MOD_TAP_INTERRUPT
#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))
diff --git a/keyboards/gboards/gergoplex/info.json b/keyboards/gboards/gergoplex/info.json
index 5aa696d5de..462c2434a3 100644
--- a/keyboards/gboards/gergoplex/info.json
+++ b/keyboards/gboards/gergoplex/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GergoPlex",
+ "manufacturer": "g Heavy Industries",
"url": "",
"maintainer": "germ",
+ "usb": {
+ "vid": "0x6B0A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
index f66c334b85..e2c27583fa 100644
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
+++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
@@ -27,3 +27,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define COMBO_ALLOW_ACTION_KEYS
#define COMBO_VARIABLE_LEN
+
+#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
index e3b8944814..8b832cbac8 100644
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
+++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
@@ -199,5 +199,14 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
- [GAME] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275)
+ [GAME] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset)
};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
+ return 275;
+ default:
+ return TAPPING_TERM;
+ }
+}
diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h
index cb671bfab7..7ddbefea2a 100644
--- a/keyboards/geekboards/macropad_v2/config.h
+++ b/keyboards/geekboards/macropad_v2/config.h
@@ -15,19 +15,11 @@
*/
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0483
-#define PRODUCT_ID 0xA372
-#define DEVICE_VER 0x0002
-#define MANUFACTURER GeekBoards
-#define PRODUCT Macropad v2
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
#define DIRECT_PINS {{B13, B15, B3, B5}, {B12, B14, A13, B7}}
-#define UNUSED_PINS
#define RGBLED_NUM 42
#define DRIVER_LED_TOTAL 42
diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json
index 770ebbb0f4..b62620af9b 100644
--- a/keyboards/geekboards/macropad_v2/info.json
+++ b/keyboards/geekboards/macropad_v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "macropad_v2",
+ "keyboard_name": "Macropad v2",
+ "manufacturer": "GeebBoards",
"url": "https://geekboards.ru/",
"maintainer": "ruddy17",
+ "usb": {
+ "vid": "0x0483",
+ "pid": "0xA372",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h
index ac3b95c7e7..bdf2d39c98 100644
--- a/keyboards/geekboards/tester/config.h
+++ b/keyboards/geekboards/tester/config.h
@@ -2,20 +2,11 @@
#include "config_common.h"
-
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1319
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Geekboards
-#define PRODUCT Geekboards Tester
-
-
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { B0, D4}
#define MATRIX_COL_PINS { F7, F6, D2, D3}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define LOCKING_SUPPORT_ENABL
diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json
index 9882aa6850..2da610fb3f 100644
--- a/keyboards/geekboards/tester/info.json
+++ b/keyboards/geekboards/tester/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Geekboards 8-keys macropad",
+ "keyboard_name": "Tester",
+ "manufacturer": "Geekboards",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1319",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/generic_panda/panda65_01/config.h b/keyboards/generic_panda/panda65_01/config.h
index 9d4f0c19b4..e3cab53758 100644
--- a/keyboards/generic_panda/panda65_01/config.h
+++ b/keyboards/generic_panda/panda65_01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6770 // gp generic_panda
-#define PRODUCT_ID 0x6501 // 65_01
-#define DEVICE_VER 0x0001
-#define MANUFACTURER generic_panda
-#define PRODUCT panda65_01
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A9, A8, B15, A6, A4 }
#define MATRIX_COL_PINS { A3, A10, B7, B6, B5, B4, B3, A15, A14, A2, A1, A0, F1, F0, B10, B11 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/generic_panda/panda65_01/info.json b/keyboards/generic_panda/panda65_01/info.json
index a2ad377615..83daae6631 100644
--- a/keyboards/generic_panda/panda65_01/info.json
+++ b/keyboards/generic_panda/panda65_01/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Panda65_01",
+ "manufacturer": "generic_panda",
"url": "https://github.com/JesseLeung97/qmk_firmware/tree/master/keyboards/generic_panda/panda65_01",
"maintainer": "generic_panda",
+ "usb": {
+ "vid": "0x6770",
+ "pid": "0x6501",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_bs": {
"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":"|", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "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":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"PGup", "x":15, "y":1}, {"label":"Caps", "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":"PgDn", "x":15, "y":2}, {"label":"LShift", "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":"RShift", "x":12.25, "y":3, "w":1.75}, {"label":"Up", "x":14, "y":3}, {"label":"FN", "x":15, "y":3}, {"label":"LControl", "x":0, "y":4, "w":1.5}, {"label":"LAlt", "x":2.25, "y":4, "w":1.5}, {"label":"Space", "x":3.75, "y":4, "w":7}, {"label":"RWin", "x":10.75, "y":4, "w":1.5}, {"label":"Left", "x":13, "y":4}, {"label":"Down", "x":14, "y":4}, {"label":"Right", "x":15, "y":4}]
diff --git a/keyboards/genone/eclipse_65/config.h b/keyboards/genone/eclipse_65/config.h
index e9869e3694..0bc5fa68a1 100644
--- a/keyboards/genone/eclipse_65/config.h
+++ b/keyboards/genone/eclipse_65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2222
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GEN ONE LLC
-#define PRODUCT Eclipse65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B3, B7, B0, B1, B2 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/genone/eclipse_65/info.json b/keyboards/genone/eclipse_65/info.json
index df0607946f..72d721d612 100644
--- a/keyboards/genone/eclipse_65/info.json
+++ b/keyboards/genone/eclipse_65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "eclipse_65",
+ "keyboard_name": "Eclipse65",
+ "manufacturer": "GEN ONE LLC",
"url": "https://genonemerch.com",
"maintainer": "rojasa1990",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2222",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/genone/g1_65/config.h b/keyboards/genone/g1_65/config.h
index 3236160c12..de1714f7cd 100644
--- a/keyboards/genone/g1_65/config.h
+++ b/keyboards/genone/g1_65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE720 // GEN ONE
-#define PRODUCT_ID 0x0001 // G1_65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GEN ONE LLC
-#define PRODUCT G1_65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B3, B7, B0, B1, B2 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/genone/g1_65/info.json b/keyboards/genone/g1_65/info.json
index c73d2d64d0..670b219380 100644
--- a/keyboards/genone/g1_65/info.json
+++ b/keyboards/genone/g1_65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "G1_65",
+ "manufacturer": "GEN ONE LLC",
"url": "https://genonemerch.com",
"maintainer": "rojasa1990",
+ "usb": {
+ "vid": "0xE720",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/gentleman65/config.h b/keyboards/gentleman65/config.h
deleted file mode 100644
index 34cd4d4899..0000000000
--- a/keyboards/gentleman65/config.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2021 Omar Afzal
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 0x00FA
-#define PRODUCT_ID 0x2020
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JJ48_24 & Omar Afzal
-#define PRODUCT Gentleman 65
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D3, D2, D1, F7, F1 }
-#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, D5, C7, F0, B2, B1, B3, B0, B7, D0 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-#define RGB_DI_PIN F4
-#define RGBLED_NUM 14
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-
-#define ENCODERS_PAD_A { F6 }
-#define ENCODERS_PAD_B { F5 }
-#define ENCODER_RESOLUTION 3
-
-#define DRIVER_LED_TOTAL 14 \ No newline at end of file
diff --git a/keyboards/gentleman65/info.json b/keyboards/gentleman65/info.json
deleted file mode 100644
index d42b3ff6db..0000000000
--- a/keyboards/gentleman65/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "The Gentleman 65",
- "url": "https://jkeys.design/products/gentleman-65",
- "maintainer": "0marA",
- "layouts": {
- "LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/gentleman65/readme.md b/keyboards/gentleman65/readme.md
deleted file mode 100644
index b2b4e017ce..0000000000
--- a/keyboards/gentleman65/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Gentleman65
-
-![Render](https://i.imgur.com/uNdJqBuh.jpg)
-
-The Gentleman 65 combines the sleek look of natural wood, with the fun of frosted acrylic to produce a truly unique look that differs from existing boards on the market. The board consists of 2 3mm frosted acrylic layers, topped by 2 layers of 6mm of wood, a frosted acrylic wedge, and 2 feet that give the board an angle of 7°. The board is unique in its inclusion of a top mounting system, something rarely seen on the laser cut board.
-
-
-* Keyboard Maintainer: [Omar Afzal](https://github.com/0marA)
-* Hardware Supported: Gentleman 65 PCB for Gentleman65
-* Hardware Availability: [Jkeys.Design](https://jkeys.design/)
-
-Getting the board into bootloader mode:
-
-To flash firmware onto this board, you'll need to bring the PCB into bootloader mode. To enter bootloader mode, press the reset button on the back of the PCB twice. The reset button is located in the bottom center near the spacebar switch footprint.
-
-Make example for this keyboard (after setting up your build environment):
-
- make gentleman65:default
-
-Flashing example for this keyboard:
-
- make gentleman65: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). \ No newline at end of file
diff --git a/keyboards/geonworks/frogmini/fmh/config.h b/keyboards/geonworks/frogmini/fmh/config.h
new file mode 100644
index 0000000000..174fa2678b
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/config.h
@@ -0,0 +1,44 @@
+/*
+Copyright 2022 Gondolindrim
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 14
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13
+#define MATRIX_COL_PINS { C4 , C5 , B0 , C13, C14, C15, B9 , C1 , C2 , C3 , A6 , A5 , A4 , A0 }
+// R0 , R1 , R2 , R3 , R4 , R5 , R6
+#define MATRIX_ROW_PINS { A3 , A2 , A1 , B8 , A7 , C0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
+#define I2C_DRIVER I2CD1
+#define I2C_SCL_PIN B6
+#define I2C_SDA_PIN B7
+#define I2C_SCL_PAL_MODE 4
+#define I2C_SDA_PAL_MODE 4
+#define EEPROM_I2C_24LC256
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/geonworks/frogmini/fmh/fmh.c b/keyboards/geonworks/frogmini/fmh/fmh.c
new file mode 100644
index 0000000000..f642a86f44
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/fmh.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "fmh.h"
diff --git a/keyboards/geonworks/frogmini/fmh/fmh.h b/keyboards/geonworks/frogmini/fmh/fmh.h
new file mode 100644
index 0000000000..e352cdc003
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/fmh.h
@@ -0,0 +1,120 @@
+/* Copyright 2022 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │5D │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───────┘
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌──────────â”
+ * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ └──────────┘
+ * │40 │41 │42 │56 │5A │5B │5C │ Tsangan
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ * ┌───┬─────┬───────────────────────────┬─────┬───â”
+ * │41 │42 │56 │5A │5B │ HHKB
+ * └───┴─────┴───────────────────────────┴─────┴───┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │ │42 │56 │5A │ │5C │ WKL
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
+ */
+
+#define LAYOUT_60_tsangan_hhkb( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_ansi_tsangan( \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K56, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, ___ } \
+}
+
+#define LAYOUT_60_hhkb( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K41, K42, K56, K5A, K5B \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { ___, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, ___, K5D } \
+}
+
+#define LAYOUT_60_ansi_wkl( \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K56, K5A, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, ___ } \
+}
+
+#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K56, K5A, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D } \
+}
diff --git a/keyboards/geonworks/frogmini/fmh/halconf.h b/keyboards/geonworks/frogmini/fmh/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/geonworks/frogmini/fmh/info.json b/keyboards/geonworks/frogmini/fmh/info.json
new file mode 100644
index 0000000000..3961df2fc9
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/info.json
@@ -0,0 +1,357 @@
+{
+ "keyboard_name": "Frog Mini FM-H",
+ "manufacturer": "GeonWorks",
+ "url": "https://geon.works",
+ "maintainer": "gondolindrim",
+ "usb": {
+ "vid": "0x6777",
+ "pid": "0x2D28",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_60_tsangan_hhkb"
+ },
+ "community_layouts": ["60_tsangan_hhkb", "60_ansi_tsangan", "60_hhkb"],
+ "layouts": {
+ "LAYOUT_60_tsangan_hhkb": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Win", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps Lock", "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.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Win", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_hhkb": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Win", "x":12.5, "y":4}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps Lock", "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.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c b/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1c69068bd6
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_tsangan_hhkb( /* Base */
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+),
+[1] = LAYOUT_60_tsangan_hhkb(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[2] = LAYOUT_60_tsangan_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[3] = LAYOUT_60_tsangan_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/geonworks/frogmini/fmh/keymaps/via/keymap.c b/keyboards/geonworks/frogmini/fmh/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1c69068bd6
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_tsangan_hhkb( /* Base */
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+),
+[1] = LAYOUT_60_tsangan_hhkb(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[2] = LAYOUT_60_tsangan_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[3] = LAYOUT_60_tsangan_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/geonworks/frogmini/fmh/keymaps/via/rules.mk b/keyboards/geonworks/frogmini/fmh/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/geonworks/frogmini/fmh/mcuconf.h b/keyboards/geonworks/frogmini/fmh/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/geonworks/frogmini/fmh/rules.mk b/keyboards/geonworks/frogmini/fmh/rules.mk
new file mode 100644
index 0000000000..bb5f9341d2
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fmh/rules.mk
@@ -0,0 +1,26 @@
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = no
+ENCODER_ENABLE = no
+
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+
+EEPROM_DRIVER = i2c
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/geonworks/frogmini/fms/config.h b/keyboards/geonworks/frogmini/fms/config.h
new file mode 100644
index 0000000000..e73df78949
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/config.h
@@ -0,0 +1,50 @@
+/*
+Copyright 2022 Gondolindrim
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 14
+
+// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13
+#define MATRIX_COL_PINS { C4 , C5 , B0 , C13, C14, C15, B9 , C1 , C2 , C3 , A6 , A5 , A4 , A0 }
+// R0 , R1 , R2 , R3 , R4 , R5 , R6
+#define MATRIX_ROW_PINS { A3 , A2 , A1 , B8 , A7 , C0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
+#define BACKLIGHT_PIN A10
+#define BACKLIGHT_PWM_DRIVER PWMD1
+#define BACKLIGHT_PWM_CHANNEL 3
+#define BACKLIGHT_PAL_MODE 1
+#define BACKLIGHT_LEVELS 20
+
+#define I2C_DRIVER I2CD1
+#define I2C_SCL_PIN B6
+#define I2C_SDA_PIN B7
+#define I2C_SCL_PAL_MODE 4
+#define I2C_SDA_PAL_MODE 4
+#define EEPROM_I2C_24LC256
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/geonworks/frogmini/fms/fms.c b/keyboards/geonworks/frogmini/fms/fms.c
new file mode 100644
index 0000000000..551e126a78
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/fms.c
@@ -0,0 +1,23 @@
+/* Copyright 2022 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "fms.h"
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if (res) led_state.caps_lock ? backlight_enable() : backlight_disable() ;
+ return res;
+}
diff --git a/keyboards/geonworks/frogmini/fms/fms.h b/keyboards/geonworks/frogmini/fms/fms.h
new file mode 100644
index 0000000000..89880a3c64
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/fms.h
@@ -0,0 +1,324 @@
+/* Copyright 2022 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │5D │ │0E │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴â”2D │ ISO Enter
+ * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤
+ * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘
+ * │40 │41 │42 │56 │59 │5A │5B │5C │ Standard
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │41 │42 │56 │59 │5B │5C │ Tsangan/WKL/HHKB
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │ │42 │56 │59 │ │5C │ WKL
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
+ * ┌───┬─────┬───────────────────────────┬─────┬───â”
+ * │41 │42 │56 │59 │5B │ ˂──── HHKB
+ * └───┴─────┴───────────────────────────┴─────┴───┘
+ * ┌─────┬───┬───────────────────────────────────────┬───┬─────â”
+ * │40 │41 │56 │5B │5C │ Tsangan 10u Space
+ * └─────┴───┴───────────────────────────────────────┴───┴─────┘
+ * ┌─────┬───┬───────────────────────────────────────┬───┬─────â”
+ * │40 │ │56 │ │5C │ WKL 10u Space
+ * └─────┘ └───────────────────────────────────────┘ └─────┘
+ * ┌───┬───────────────────────────────────────┬───â”
+ * │41 │56 │5B │ ˂──── HHKB 10u Space
+ * └───┴───────────────────────────────────────┴───┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K59, K5A, K5B, K5C \
+)\
+{\
+ { 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, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D } \
+}
+
+#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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K56, K59, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, ___ } \
+}
+
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K59, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_ansi_tsangan( \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K56, K59, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, ___ } \
+}
+
+#define LAYOUT_60_tsangan_hhkb( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K59, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_ansi_wkl( \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K56, K59, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, ___, K5C, ___ } \
+}
+
+#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K56, K59, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, ___, K5C, K5D } \
+}
+
+#define LAYOUT_60_hhkb( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K41, K42, K56, K59, K5B \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { ___, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, K5B, ___, K5D } \
+}
+
+#define LAYOUT_60_tsangan_hhkb_10u_space( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K56, K5B, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_hhkb_10u_space( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K41, K56, K5B \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { ___, K41, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, ___, K5B, ___, K5D } \
+}
+
+#define LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K56, K5C \
+)\
+{\
+ { 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, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, ___, ___, K5C, K5D } \
+}
+
+#define LAYOUT_60_iso( \
+ 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, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K56, K59, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, ___ } \
+}
+
+#define LAYOUT_60_iso_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K59, K5A, K5B, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, K5A, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_iso_tsangan( \
+ 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, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K56, K59, K5B, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, ___ } \
+}
+
+#define LAYOUT_60_iso_tsangan_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K56, K59, K5B, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, K5B, K5C, K5D } \
+}
+
+#define LAYOUT_60_iso_wkl( \
+ 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, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K56, K59, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, ___, K5C, ___ } \
+}
+
+#define LAYOUT_60_iso_wkl_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K56, K59, K5C \
+)\
+{\
+ { 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, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, K56, ___, ___, K59, ___, ___, K5C, K5D } \
+}
diff --git a/keyboards/geonworks/frogmini/fms/halconf.h b/keyboards/geonworks/frogmini/fms/halconf.h
new file mode 100644
index 0000000000..202dd838fe
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/geonworks/frogmini/fms/info.json b/keyboards/geonworks/frogmini/fms/info.json
new file mode 100644
index 0000000000..34f7f63251
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/info.json
@@ -0,0 +1,1184 @@
+{
+ "keyboard_name": "Frog Mini FM-S",
+ "manufacturer": "GeonWorks",
+ "url": "https://geon.works/",
+ "maintainer": "gondolindrim",
+ "usb": {
+ "vid": "0x6777",
+ "pid": "0x2D33",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_tsangan_hhkb": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_hhkb": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4}
+ ]
+ },
+ "LAYOUT_60_tsangan_hhkb_10u_space": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Space", "x":2.5, "y":4, "w":10},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_hhkb_10u_space": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Space", "x":2.5, "y":4, "w":10},
+ {"label":"Menu", "x":12.5, "y":4}
+ ]
+ },
+ "LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Space", "x":2.5, "y":4, "w":10},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_iso_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_iso_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_iso_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Menu", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_iso_wkl": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ },
+ "LAYOUT_60_iso_wkl_split_bs_rshift": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "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":"Caps", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/default/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e09b7d830d
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ 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_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_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, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+),
+[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
+)
+};
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/default_60_ansi_wkl_split_bs_rshift_10u_space/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/default_60_ansi_wkl_split_bs_rshift_10u_space/keymap.c
new file mode 100644
index 0000000000..49a78a3382
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/default_60_ansi_wkl_split_bs_rshift_10u_space/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space( /* Base */
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_SPC, KC_RCTL
+),
+[1] = LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[2] = LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[3] = LAYOUT_60_ansi_wkl_split_bs_rshift_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/default_60_hhkb_10u_space/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/default_60_hhkb_10u_space/keymap.c
new file mode 100644
index 0000000000..bcb4ea1aea
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/default_60_hhkb_10u_space/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_hhkb_10u_space( /* Base */
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LGUI, KC_SPC, MO(1)
+),
+[1] = LAYOUT_60_hhkb_10u_space(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[2] = LAYOUT_60_hhkb_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[3] = LAYOUT_60_hhkb_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c
new file mode 100644
index 0000000000..384669101d
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_tsangan_hhkb_10u_space( /* Base */
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_SPC, MO(1), KC_RCTL
+),
+[1] = LAYOUT_60_tsangan_hhkb_10u_space(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[2] = LAYOUT_60_tsangan_hhkb_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+[3] = LAYOUT_60_tsangan_hhkb_10u_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/via/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e09b7d830d
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 Gondolindrim
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ 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_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_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, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
+),
+[1] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+),
+[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
+)
+};
diff --git a/keyboards/geonworks/frogmini/fms/keymaps/via/rules.mk b/keyboards/geonworks/frogmini/fms/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/geonworks/frogmini/fms/mcuconf.h b/keyboards/geonworks/frogmini/fms/mcuconf.h
new file mode 100644
index 0000000000..80ade18ca1
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <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
diff --git a/keyboards/geonworks/frogmini/fms/rules.mk b/keyboards/geonworks/frogmini/fms/rules.mk
new file mode 100644
index 0000000000..b58f583fea
--- /dev/null
+++ b/keyboards/geonworks/frogmini/fms/rules.mk
@@ -0,0 +1,27 @@
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = no
+ENCODER_ENABLE = no
+
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+BACKLIGHT_DRIVER = pwm
+
+EEPROM_DRIVER = i2c
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/geonworks/frogmini/readme.md b/keyboards/geonworks/frogmini/readme.md
new file mode 100644
index 0000000000..79ee6f2e32
--- /dev/null
+++ b/keyboards/geonworks/frogmini/readme.md
@@ -0,0 +1,49 @@
+# GeonWorks Frog Mini PCB firmware
+
+![FM_image](https://i.imgur.com/mhCsc6Mh.jpg)
+
+The Frog Mini is a 60% keyboard designed by GeonWorks, with PCB by Gondolindrim.
+
+Two PCB variants are offered: FM-S (solderable) and FM-H (hotswap with Kailh sockets).
+
+* Keyboard Maintainer: [Gondolindrim](https://github.com/gondolindrim)
+* Hardware Availability: proprietary PCB sold by [Geon.Works](https://geon.works/)
+* Website: [GeonWorks](https://geon.works/pages/frog-mini)
+
+## How to flash
+
+### Enter bootloader
+
+### Release Alpha:
+
+The DFU state in the bootloader can be accessed in 2 ways:
+
+* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: press the button on the back of the PCB
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
+
+### Release Beta:
+
+The DFU state in the bootloader can be accessed in 3 ways:
+
+* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: press the button on the back of the PCB, for at least five seconds
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
+
+## Compile firmware
+
+### FM-S (solderable)
+
+After accessing the DFU state in your PCB, build the default layout using:
+
+ make geonworks/frogmini/fms:default
+
+### FM-H (hotswap)
+
+After accessing the DFU state in your PCB, build the default layout using:
+
+ make geonworks/frogmini/fmh:default
+
+Then download the resulting binary `*bin` file using `dfu-util` or QMK Toolbox.
+
+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/ggkeyboards/genesis/hotswap/config.h b/keyboards/ggkeyboards/genesis/hotswap/config.h
index 52f6fc8524..298d6ab354 100644
--- a/keyboards/ggkeyboards/genesis/hotswap/config.h
+++ b/keyboards/ggkeyboards/genesis/hotswap/config.h
@@ -18,13 +18,6 @@
#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 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/ggkeyboards/genesis/hotswap/info.json b/keyboards/ggkeyboards/genesis/hotswap/info.json
index 8843b6a4bc..149e0e1d80 100644
--- a/keyboards/ggkeyboards/genesis/hotswap/info.json
+++ b/keyboards/ggkeyboards/genesis/hotswap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Genesis Hotswap",
+ "manufacturer": "GG Keyboards",
"url": "",
"maintainer": "Spooknik",
+ "usb": {
+ "vid": "0xBB00",
+ "pid": "0xD4D3",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_tkl_ansi"
},
diff --git a/keyboards/ggkeyboards/genesis/solder/config.h b/keyboards/ggkeyboards/genesis/solder/config.h
index 6bfeaf9a54..1d4bafdd0d 100644
--- a/keyboards/ggkeyboards/genesis/solder/config.h
+++ b/keyboards/ggkeyboards/genesis/solder/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB00
-#define PRODUCT_ID 0xD4D2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GG Keyboards
-#define PRODUCT Genesis Solder
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/ggkeyboards/genesis/solder/info.json b/keyboards/ggkeyboards/genesis/solder/info.json
index a316ad019d..9b07ecd290 100644
--- a/keyboards/ggkeyboards/genesis/solder/info.json
+++ b/keyboards/ggkeyboards/genesis/solder/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Genesis Solder",
+ "manufacturer": "GG Keyboards",
"url": "",
"maintainer": "Spooknik",
+ "usb": {
+ "vid": "0xBB00",
+ "pid": "0xD4D2",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/gh60/revc/config.h b/keyboards/gh60/revc/config.h
index 527bf4c959..286bb53cba 100644
--- a/keyboards/gh60/revc/config.h
+++ b/keyboards/gh60/revc/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4335 // GEEKhack
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER geekhack
-#define PRODUCT GH60 Rev C
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B5, B4, D7, D6, B3 }
// Rev B/C
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gh60/revc/info.json b/keyboards/gh60/revc/info.json
index 116cf233c6..1b7fb2e40b 100644
--- a/keyboards/gh60/revc/info.json
+++ b/keyboards/gh60/revc/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH60 Rev C",
+ "manufacturer": "geekhack",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4335",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/gh60/revc/keymaps/bluezio/keymap.c b/keyboards/gh60/revc/keymaps/bluezio/keymap.c
index 98ca935053..daa8a290bc 100644
--- a/keyboards/gh60/revc/keymaps/bluezio/keymap.c
+++ b/keyboards/gh60/revc/keymaps/bluezio/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
and caps lock where it used to be */
LAYOUT_BZIO(
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_TRNS, KC_TRNS, \
- KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, KC_INSERT, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \
+ KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, KC_INSERT, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELETE, KC_MS_BTN1, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_HOME, KC_SPC, KC_END, KC_PSCREEN, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/gh60/revc/keymaps/chaser/keymap.c b/keyboards/gh60/revc/keymaps/chaser/keymap.c
index 29228eec2d..5fca630a7c 100644
--- a/keyboards/gh60/revc/keymaps/chaser/keymap.c
+++ b/keyboards/gh60/revc/keymaps/chaser/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 1: Functions */
[_FL] = LAYOUT_60_ansi_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
- KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, _______, _______, _______, KC_INS, _______, RESET, _______, _______, KC_PSCR, \
+ KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, _______, _______, _______, KC_INS, _______, QK_BOOT, _______, _______, KC_PSCR, \
KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, KC_TILD, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, \
_______, _______, _______, _______, KC_RCTL, KC_HOME, KC_PGDN, KC_END \
diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
index 964f40f1c0..ffb87ef009 100644
--- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
+++ b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
void matrix_scan_user(void) {
- uint32_t layer = layer_state;
+ layer_state_t layer = layer_state;
if (layer & (1<<1)) {
gh60_fn_led_on();
@@ -120,4 +120,4 @@ void matrix_scan_user(void) {
} else {
gh60_esc_led_off();
}
-}; \ No newline at end of file
+};
diff --git a/keyboards/gh60/revc/keymaps/default/keymap.c b/keyboards/gh60/revc/keymaps/default/keymap.c
index a8fd4f3c22..4ebc71ff4b 100644
--- a/keyboards/gh60/revc/keymaps/default/keymap.c
+++ b/keyboards/gh60/revc/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_scan_user(void) {
//Layer LED indicators
- uint32_t layer = layer_state;
+ layer_state_t layer = layer_state;
if (layer & (1<<1)) {
gh60_wasd_leds_on();
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
index b84e7564fc..77bf54de63 100644
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
+++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
@@ -97,7 +97,7 @@ void matrix_scan_user(void) {
// Layer LED indicators
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
- uint32_t layer = layer_state;
+ layer_state_t layer = layer_state;
if (layer & (1<<1)) {
gh60_wasd_leds_on();
} else {
diff --git a/keyboards/gh60/satan/config.h b/keyboards/gh60/satan/config.h
index 98218d8466..3a094be74f 100644
--- a/keyboards/gh60/satan/config.h
+++ b/keyboards/gh60/satan/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4335
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0003
-#define MANUFACTURER SATAN
-#define PRODUCT GH60 Satan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/gh60/satan/info.json b/keyboards/gh60/satan/info.json
index 167025799b..8374cad110 100644
--- a/keyboards/gh60/satan/info.json
+++ b/keyboards/gh60/satan/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH60 Satan",
+ "manufacturer": "SATAN",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4335",
+ "pid": "0x0002",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}]
@@ -23,6 +29,14 @@
},
"LAYOUT_60_iso_split_rshift": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}]
+ },
+ "LAYOUT_60_hhkb": {
+ "layout": [
+ {"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0},
+ {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5},
+ {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25},
+ {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3},
+ {"label":"k41", "x":1.5, "y":4}, {"label":"k42", "x":2.5, "y":4, "w":1.5}, {"label":"k45", "x":4, "y":4, "w":7}, {"label":"k4b", "x":11, "y":4, "w":1.5}, {"label":"k4c", "x":12.5, "y":4}]
}
}
}
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
index 5012fee56b..0226624094 100644
--- a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
+++ b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c
@@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS , KC_VOLD , KC_MUTE , KC_VOLU , DYN_REC_START1 , DYN_MACRO_PLAY1 , DYN_REC_STOP , KC_PGUP , KC_HOME , ______ , KC_PSCR , KC_UP , ______ , KC_DEL , \
KC_LCTL , KC_END , ______ , KC_PGDN , ______ , ______ , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_LEFT , KC_RGHT , KC_ENT , \
KC_LSFT , KC_MPRV , KC_MPLY , KC_MNXT , BL_DEC , BL_TOGG , BL_INC , ______ , ______ , ______ , KC_DOWN , KC_RSFT , TO(_DEFAULT) , \
- ______ , ______ , KC_LALT , KC_SPC , KC_RALT , RESET , ______ , ______ \
+ ______ , ______ , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , ______ , ______ \
),
/* VIM Layer
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL , \
XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER , \
XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) , \
- XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , RESET , XXXXXX , XXXXXX \
+ XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX \
),
/* FN Layer
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL , \
XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER , \
XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) , \
- XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , RESET , XXXXXX , XXXXXX \
+ XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX \
) ,
};
@@ -177,7 +177,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (old_layer != layer) {
switch (layer) {
diff --git a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
index b1c1600e9d..5bb9bd59a8 100644
--- a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
+++ b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
@@ -36,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
diff --git a/keyboards/gh60/satan/keymaps/bri/keymap.c b/keyboards/gh60/satan/keymaps/bri/keymap.c
index 2f742411d6..fd9bb7e672 100644
--- a/keyboards/gh60/satan/keymaps/bri/keymap.c
+++ b/keyboards/gh60/satan/keymaps/bri/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------|
* | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | |
* |-----------------------------------------------------------|
- * |RESET| | | | | | | |
+ * |QK_BOOT| | | | | | | |
* `-----------------------------------------------------------'
*/
[_FL] = LAYOUT_60_ansi(
@@ -48,13 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC,BL_INC, BL_TOGG, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
_______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______, \
- RESET ,_______,_______, _______, _______,_______,_______, _______),
+ QK_BOOT,_______,_______, _______, _______,_______,_______, _______),
#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,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, BL_INC,BL_TOGG, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
- RESET ,_______,_______, _______, _______,_______,_______,_______),
+ QK_BOOT,_______,_______, _______, _______,_______,_______,_______),
#endif
[_NAV] = LAYOUT_60_ansi(
diff --git a/keyboards/gh60/satan/keymaps/chaser/keymap.c b/keyboards/gh60/satan/keymaps/chaser/keymap.c
index 4427f793e8..41bc3c8cbf 100644
--- a/keyboards/gh60/satan/keymaps/chaser/keymap.c
+++ b/keyboards/gh60/satan/keymaps/chaser/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_all(
KC_GRV , KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_DEL ,_______, \
- KC_MS_BTN3 ,KC_MS_BTN2 ,KC_MS_UP ,KC_MS_BTN1 ,KC_MS_WH_UP ,_______,_______,_______,KC_INS ,_______,RESET ,_______,_______ ,KC_PSCREEN , \
+ KC_MS_BTN3 ,KC_MS_BTN2 ,KC_MS_UP ,KC_MS_BTN1 ,KC_MS_WH_UP ,_______,_______,_______,KC_INS ,_______,QK_BOOT,_______,_______ ,KC_PSCREEN , \
_______ ,KC_MS_LEFT ,KC_MS_DOWN ,KC_MS_RIGHT,KC_MS_WH_DOWN,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ , \
_______ ,_______ ,_______ ,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,KC_PGUP ,_______ , \
KC_LCTL ,_______ ,KC_LALT , _______, KC_RCTL,KC_HOME,KC_PGDOWN ,KC_END ),
diff --git a/keyboards/gh60/satan/keymaps/colemak/keymap.c b/keyboards/gh60/satan/keymaps/colemak/keymap.c
index 08d456d6ce..d55bbb9213 100644
--- a/keyboards/gh60/satan/keymaps/colemak/keymap.c
+++ b/keyboards/gh60/satan/keymaps/colemak/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: Function Layer
* ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | | | QK_BOOT|
* |-----------------------------------------------------------|
* | | | | | | | | | | | |BL-|BL+|BL |
* |-----------------------------------------------------------|
@@ -52,13 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_60_ansi(
#ifdef RGBLIGHT_ENABLE
- KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET, \
+ KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,QK_BOOT, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC,BL_INC, BL_TOGG, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
_______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______, \
_______,_______,_______, _______, _______,_______,_______, _______),
#else
- KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET, \
+ KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,QK_BOOT, \
_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, BL_DEC, BL_INC,BL_TOGG, \
KC_DEL, KC_VOLD,KC_MUTE,KC_VOLU,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
diff --git a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
index 79fa86d18d..ca6838d2aa 100644
--- a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
+++ b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* SFX Layer
* ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |RESET|
+ * | | | | | | | | | | | | | | |QK_BOOT|
* |-----------------------------------------------------------------------------------------+
* | | BL- | BL+ | BL | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------'
*/
[_SFX] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \
______, BL_DEC, BL_INC, BL_TOGG,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \
diff --git a/keyboards/gh60/satan/keymaps/denolfe/keymap.c b/keyboards/gh60/satan/keymaps/denolfe/keymap.c
index 612c5075e6..03c5007c8c 100644
--- a/keyboards/gh60/satan/keymaps/denolfe/keymap.c
+++ b/keyboards/gh60/satan/keymaps/denolfe/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: Function Layer
* ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | | | QK_BOOT|
* |-----------------------------------------------------------|
* | | | | | | | | | | | |BL-|BL+|BL |
* |-----------------------------------------------------------|
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_60_ansi(
#ifdef RGBLIGHT_ENABLE
- 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_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, QK_BOOT, \
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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, RESET, \
+ KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, QK_BOOT, \
KC_TRNS, KC_TRNS, LM(2, MOD_LSFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
#endif
@@ -66,6 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS, \
- 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, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, QK_BOOT, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
};
diff --git a/keyboards/gh60/satan/keymaps/dkrieger/keymap.c b/keyboards/gh60/satan/keymaps/dkrieger/keymap.c
index ac688d7eaf..05df3ff194 100644
--- a/keyboards/gh60/satan/keymaps/dkrieger/keymap.c
+++ b/keyboards/gh60/satan/keymaps/dkrieger/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* MOUSE Layer
* ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |RESET|
+ * | | | | | | | | | | | | | | |QK_BOOT|
* |-----------------------------------------------------------------------------------------
* | | | | | | | | | | | |UCurs| | |
* |-----------------------------------------------------------------------------------------
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------'
*/
[_MOUSE] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_UP, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_LEFT, KC_MS_RIGHT, ______, \
MO(_MOUSESHIFT), ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_DOWN, MO(_MOUSESHIFT), ______, \
@@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* UTIL Layer
* ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |RESET|
+ * | | | | | | | | | | | | | | |QK_BOOT|
* |-----------------------------------------------------------------------------------------
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------'
*/
[_UTIL] = LAYOUT_60_ansi_split_bs_rshift(
- ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
diff --git a/keyboards/gh60/satan/keymaps/fakb/config.h b/keyboards/gh60/satan/keymaps/fakb/config.h
index fcdf1f1528..720b359c1e 100644
--- a/keyboards/gh60/satan/keymaps/fakb/config.h
+++ b/keyboards/gh60/satan/keymaps/fakb/config.h
@@ -18,7 +18,6 @@
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
diff --git a/keyboards/gh60/satan/keymaps/fakb/keymap.c b/keyboards/gh60/satan/keymaps/fakb/keymap.c
index 93e11a5de2..b6dda8e3ef 100644
--- a/keyboards/gh60/satan/keymaps/fakb/keymap.c
+++ b/keyboards/gh60/satan/keymaps/fakb/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______, _______, _______,_______,_______,_______),
[2] = LAYOUT_all(
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET ,\
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,QK_BOOT,\
KC_BTN5,KC_BTN4,KC_BTN3,KC_BTN2,KC_BTN1,KC_HOME,KC_END ,_______,_______,_______,_______,_______,_______,_______,\
_______,_______,KC_WH_L,KC_WH_U,KC_WH_D,KC_WH_R,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______,_______,_______,\
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c b/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c
index 6e0345d9a0..9f2e167399 100644
--- a/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c
+++ b/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_ansi(
- 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_HOME,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME,
RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
diff --git a/keyboards/gh60/satan/keymaps/hhkb_7u/keymap.c b/keyboards/gh60/satan/keymaps/hhkb_7u/keymap.c
index b0bc48b455..68e362b59c 100644
--- a/keyboards/gh60/satan/keymaps/hhkb_7u/keymap.c
+++ b/keyboards/gh60/satan/keymaps/hhkb_7u/keymap.c
@@ -8,9 +8,6 @@ enum planck_keycodes {
DEFAULT = SAFE_RANGE
};
-// Fillers to make layering more clear
-#define ______ KC_TRNS
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty gui/alt/space/alt/gui
* ,-----------------------------------------------------------------------------------------.
@@ -22,15 +19,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
* |-----------------------------------------------------------------------------------------+
- * |LGUI | LAlt | 7U Space | RAlt |RGUI |
- * `-----------------------------------------------------------------'
+ * | |LGUI | LAlt | 7U Space | RAlt |RGUI | |
+ * `-----------------------------------------------------------------------------------------'
*/
[_DEFAULT] = LAYOUT_60_hhkb( /* Basic QWERTY */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC, \
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
- ______, KC_LGUI,KC_LALT, KC_SPC, ______,KC_RALT, KC_RGUI, ______ \
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC,\
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, MO(_FN),\
+ KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI\
),
/* FN Layer
@@ -43,14 +40,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | BL | BL- | BL+ | | | + | - | End |PgDn| Down| | |
* |-----------------------------------------------------------------------------------------+
- * | | | | | |
- * `-----------------------------------------------------------------'
+ * | | | | | | | |
+ * `-----------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_60_hhkb( /* Layer 1 */
- ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, ______, \
- ______, BL_DEC,BL_INC,BL_TOGG,______, ______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______, ______, \
- ______, ______, ______, ______, ______, ______, ______, ______ \
+ _______,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,_______,\
+ _______, BL_DEC, BL_INC, BL_TOGG,_______, _______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN,KC_DOWN,_______,_______,\
+ _______,_______, _______, _______,_______\
)
};
diff --git a/keyboards/gh60/satan/keymaps/hhkb_7u/readme.md b/keyboards/gh60/satan/keymaps/hhkb_7u/readme.md
index 39e71beedd..3ea92f79f9 100644
--- a/keyboards/gh60/satan/keymaps/hhkb_7u/readme.md
+++ b/keyboards/gh60/satan/keymaps/hhkb_7u/readme.md
@@ -1,9 +1,14 @@
-# Dbroqua HHKB like Layout
+# HHKB like Layout with 7u Space
-Like the HHKB but with a Satan GH60 PCB :D.
+Like the HHKB but on a Satan GH60 PCB :D.
# Programming Instructions:
+Compile the firmware
+```
+$ qmk compile -kb gh60/satan -km hhkb_7u
+```
+
Enter into programming mode and run the following command.
```
-$ sudo KEYMAP=dbroqua_hhkb make dfu
-``` \ No newline at end of file
+$ qmk flash -kb gh60/satan -km hhkb_7u
+```
diff --git a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
index d6647cbb30..3db6231353 100644
--- a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
+++ b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: (Function Layer) Second Layer
* ,-----------------------------------------------------------.
- * | |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|PSR| RESET|
+ * | |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|PSR| QK_BOOT|
* |-----------------------------------------------------------|
* | | |VUP| | | | | | | | | | | |
* |-------------------------------------------------------. |
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_FL] = LAYOUT_60_iso_split_rshift(\
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSCR, RESET,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSCR, QK_BOOT,
_______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, RGB_TOG, RGB_MOD, RGB_M_B, RGB_VAI, RGB_VAD, BL_INC, BL_DEC, _______,
_______, _______, _______, _______, KC_CEDL, _______, BL_TOGG, _______, KC_MUTE, _______, _______, _______, _______, _______,
diff --git a/keyboards/gh60/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/gh60/satan/keymaps/iso_split_rshift/keymap.c
index a21f83505e..7f68901c88 100644
--- a/keyboards/gh60/satan/keymaps/iso_split_rshift/keymap.c
+++ b/keyboards/gh60/satan/keymaps/iso_split_rshift/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_SFX] = LAYOUT_60_iso_split_rshift(
- RESET, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \
_______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, \
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, XXXXXXX, KC_ENT, \
_______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_0, _______, KC_SLSH, KC_UP, _______, \
diff --git a/keyboards/gh60/satan/keymaps/jarred/keymap.c b/keyboards/gh60/satan/keymaps/jarred/keymap.c
index c6852e4eb5..767d1ff76b 100644
--- a/keyboards/gh60/satan/keymaps/jarred/keymap.c
+++ b/keyboards/gh60/satan/keymaps/jarred/keymap.c
@@ -17,6 +17,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,_______,KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP ,KC_END ,KC_INS ,_______,_______,_______, \
_______,_______,_______,KC_LSFT,KC_LCTL,KC_ENT ,_______,KC_LEFT,KC_DOWN,KC_RGHT,KC_DEL ,KC_DEL , _______, \
_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______,_______, \
- _______,_______,_______, _______, _______,_______, RESET, _______),
+ _______,_______,_______, _______, _______,_______, QK_BOOT, _______),
};
diff --git a/keyboards/gh60/satan/keymaps/lepa/keymap.c b/keyboards/gh60/satan/keymaps/lepa/keymap.c
index 85fdb743d3..249df2c371 100644
--- a/keyboards/gh60/satan/keymaps/lepa/keymap.c
+++ b/keyboards/gh60/satan/keymaps/lepa/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, 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),
diff --git a/keyboards/gh60/satan/keymaps/poker/keymap.c b/keyboards/gh60/satan/keymaps/poker/keymap.c
index 13251a5645..18207f7c36 100644
--- a/keyboards/gh60/satan/keymaps/poker/keymap.c
+++ b/keyboards/gh60/satan/keymaps/poker/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _RL: Function Layer
* ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | | | QK_BOOT|
* |-----------------------------------------------------------|
* | | | | | | | | | | | |BL-|BL+|BL |
* |-----------------------------------------------------------|
@@ -74,13 +74,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RL] = LAYOUT_60_ansi(
#ifdef RGBLIGHT_ENABLE
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______
#else
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/gh60/satan/keymaps/rask63/keymap.c b/keyboards/gh60/satan/keymaps/rask63/keymap.c
index bbe15fde88..8c9ec35114 100644
--- a/keyboards/gh60/satan/keymaps/rask63/keymap.c
+++ b/keyboards/gh60/satan/keymaps/rask63/keymap.c
@@ -78,6 +78,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MPRV, KC_MPLY, KC_MNXT, ________, ________, \
KC_CAPS, ________, ________, ________, ________, ________, ________, ________, ________, KC_VOLD, KC_VOLU, KC_MUTE, ________, \
________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MSTP, ________, ________, ________, \
- RESET, KC_MENU, ________, ________, ________, ________, ________, ________
+ QK_BOOT, KC_MENU, ________, ________, ________, ________, ________, ________
),
};
diff --git a/keyboards/gh60/satan/keymaps/sethbc/keymap.c b/keyboards/gh60/satan/keymaps/sethbc/keymap.c
index 63d65ca23c..ad0a6a9948 100644
--- a/keyboards/gh60/satan/keymaps/sethbc/keymap.c
+++ b/keyboards/gh60/satan/keymaps/sethbc/keymap.c
@@ -31,13 +31,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_60_ansi_split_bs_rshift(
#ifdef RGBLIGHT_ENABLE
- 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, _______, RESET, \
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, \
KC_CAPS, _______, RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL, \
_______, KC_VOLD, RGB_HUD, RGB_SAI, RGB_SAD, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
_______, RGB_VAI, RGB_VAD, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______
#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, _______, RESET, \
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, \
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL, \
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
diff --git a/keyboards/gh60/satan/keymaps/smt/keymap.c b/keyboards/gh60/satan/keymaps/smt/keymap.c
index 829032a829..7cbdf07766 100644
--- a/keyboards/gh60/satan/keymaps/smt/keymap.c
+++ b/keyboards/gh60/satan/keymaps/smt/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------|
* | | | |Prv|Ply|Nxt| | | |Pg-|DN | |
* |-----------------------------------------------------------|
- * |RESET| | | | | | | |
+ * |QK_BOOT| | | | | | | |
* `-----------------------------------------------------------'
*/
[_FUNC] = LAYOUT_60_ansi(
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_UP, BL_DEC, BL_INC, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_RGHT, _______, \
_______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PGDN, KC_DOWN, _______, \
- RESET, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c b/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c
index 8caa70e02a..3f92899a5f 100644
--- a/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c
+++ b/keyboards/gh60/satan/keymaps/spacemanspiff/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: Function Layer
* ,-----------------------------------------------------------.
- * | `| | | | | | | | | | | | | RESET|
+ * | `| | | | | | | | | | | | | QK_BOOT|
* |-----------------------------------------------------------|
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------|
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_FL] = LAYOUT_60_ansi(
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
index e3cbae285d..49c65ac446 100644
--- a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
+++ b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
@@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// RGB Layer
[_RGBL] = LAYOUT_60_ansi_split_bs_rshift(
#ifdef RGBLIGHT_ENABLE
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______
#else
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \
diff --git a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
index 8d9b1dc45d..9d585f4035 100644
--- a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
+++ b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL: Function Layer
* ,-----------------------------------------------------------.
- * | | | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | | | QK_BOOT|
* |-----------------------------------------------------------|
* | | | | | | | | | | | |BL-|BL+|BL |
* |-----------------------------------------------------------|
@@ -68,13 +68,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL] = LAYOUT_60_ansi(
#ifdef RGBLIGHT_ENABLE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______
#else
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/gh60/satan/rules.mk b/keyboards/gh60/satan/rules.mk
index 14a7691e0f..a7da68cf01 100644
--- a/keyboards/gh60/satan/rules.mk
+++ b/keyboards/gh60/satan/rules.mk
@@ -17,4 +17,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
-LAYOUTS = 60_ansi 60_iso 60_ansi_split_bs_rshift
+LAYOUTS = 60_ansi 60_iso 60_ansi_split_bs_rshift 60_hhkb
diff --git a/keyboards/gh60/satan/satan.h b/keyboards/gh60/satan/satan.h
index baa669fc96..9cb01a0af1 100644
--- a/keyboards/gh60/satan/satan.h
+++ b/keyboards/gh60/satan/satan.h
@@ -201,3 +201,30 @@
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
{ k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d }, \
}
+
+/* HHKB layout
+ * ,-----------------------------------------------------------.
+ * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49|
+ * |-----------------------------------------------------------|
+ * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
+ * |-----------------------------------------------------------|
+ * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d |
+ * |-----------------------------------------------------------|
+ * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c|
+ * |-----------------------------------------------------------|
+ * | 41| 42 | 45 | 4b |4c |
+ * `-------------------------------------------------'
+ */
+#define LAYOUT_60_hhkb( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
+ 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, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
+ k41, k42, k45, 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, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
+ { XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4b, k4c, XXX }, \
+}
diff --git a/keyboards/gh60/v1p3/config.h b/keyboards/gh60/v1p3/config.h
index 211dff948f..6d5d56915b 100644
--- a/keyboards/gh60/v1p3/config.h
+++ b/keyboards/gh60/v1p3/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unknown
-#define PRODUCT GH60 v1.3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/gh60/v1p3/info.json b/keyboards/gh60/v1p3/info.json
index 8e09949e0f..7b5ac465b9 100644
--- a/keyboards/gh60/v1p3/info.json
+++ b/keyboards/gh60/v1p3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH60 v1.3",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/gh60/v1p3/keymaps/factory_hhkb/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_hhkb/keymap.c
index b3908e7ef7..784a26ff93 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_hhkb/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_hhkb/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, _______, KC_BSPC,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_TILD, _______,
- _______, _______, RESET, KC_APP, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, KC_APP, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/gh60/v1p3/keymaps/factory_layout5/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_layout5/keymap.c
index 31003909a1..5a9a53e4a1 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_layout5/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_layout5/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_DEL,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, KC_HASH, _______,
- _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/gh60/v1p3/keymaps/factory_layout7/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_layout7/keymap.c
index ed08a087e2..3d80254de7 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_layout7/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_layout7/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_DEL,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, KC_HASH, _______,
- _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/gh60/v1p3/keymaps/factory_layout9/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_layout9/keymap.c
index 5a779d9baf..13e807f319 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_layout9/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_layout9/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_HASH, _______,
- _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/gh60/v1p3/keymaps/factory_minila/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_minila/keymap.c
index 166ddd7c19..9f24f9b8e5 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_minila/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_minila/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_HASH, _______,
- _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/gh60/v1p3/keymaps/factory_poker/keymap.c b/keyboards/gh60/v1p3/keymaps/factory_poker/keymap.c
index 68d0ea01b4..c5cfce195c 100644
--- a/keyboards/gh60/v1p3/keymaps/factory_poker/keymap.c
+++ b/keyboards/gh60/v1p3/keymaps/factory_poker/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_DEL,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_HASH, _______,
- _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
+ _______, _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_END, KC_PGDN, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/gh80_3000/config.h b/keyboards/gh80_3000/config.h
index 71adb3e249..b3df0ae2f6 100644
--- a/keyboards/gh80_3000/config.h
+++ b/keyboards/gh80_3000/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER farmakon
-#define PRODUCT GH80-3000
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 11
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F1, F0, F5, F6, F7, D4, D5, D3, D2, D0 }
#define MATRIX_COL_PINS { C7, C6, B4, D7, B3, B2, B0, E6, B1, D1, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gh80_3000/info.json b/keyboards/gh80_3000/info.json
index abd041df67..4d9c52fced 100644
--- a/keyboards/gh80_3000/info.json
+++ b/keyboards/gh80_3000/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GH80-3000",
+ "manufacturer": "farmakon",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":2, "y":0}, {"label":"K002", "x":3, "y":0}, {"label":"K003", "x":4, "y":0}, {"label":"K300", "x":5, "y":0}, {"label":"K301", "x":6.5, "y":0}, {"label":"K302", "x":7.5, "y":0}, {"label":"K303", "x":8.5, "y":0}, {"label":"K306", "x":9.5, "y":0}, {"label":"K307", "x":11, "y":0}, {"label":"K308", "x":12, "y":0}, {"label":"K309", "x":13, "y":0}, {"label":"K310", "x":14, "y":0}, {"label":"K004", "x":15.25, "y":0}, {"label":"K005", "x":16.25, "y":0}, {"label":"K006", "x":17.25, "y":0}, {"label":"K007", "x":18.5, "y":0}, {"label":"K008", "x":19.5, "y":0}, {"label":"K009", "x":20.5, "y":0}, {"label":"K010", "x":21.5, "y":0}, {"label":"K100", "x":0, "y":1.5}, {"label":"K101", "x":1, "y":1.5}, {"label":"K102", "x":2, "y":1.5}, {"label":"K103", "x":3, "y":1.5}, {"label":"K400", "x":4, "y":1.5}, {"label":"K401", "x":5, "y":1.5}, {"label":"K402", "x":6, "y":1.5}, {"label":"K403", "x":7, "y":1.5}, {"label":"K404", "x":8, "y":1.5}, {"label":"K405", "x":9, "y":1.5}, {"label":"K406", "x":10, "y":1.5}, {"label":"K407", "x":11, "y":1.5}, {"label":"K408", "x":12, "y":1.5}, {"label":"K409", "x":13, "y":1.5}, {"label":"K410", "x":14, "y":1.5}, {"label":"K104", "x":15.25, "y":1.5}, {"label":"K105", "x":16.25, "y":1.5}, {"label":"K106", "x":17.25, "y":1.5}, {"label":"K107", "x":18.5, "y":1.5}, {"label":"K108", "x":19.5, "y":1.5}, {"label":"K109", "x":20.5, "y":1.5}, {"label":"K110", "x":21.5, "y":1.5}, {"label":"K200", "x":0, "y":2.5, "w":1.5}, {"label":"K201", "x":1.5, "y":2.5}, {"label":"K202", "x":2.5, "y":2.5}, {"label":"K203", "x":3.5, "y":2.5}, {"label":"K500", "x":4.5, "y":2.5}, {"label":"K501", "x":5.5, "y":2.5}, {"label":"K502", "x":6.5, "y":2.5}, {"label":"K503", "x":7.5, "y":2.5}, {"label":"K505", "x":8.5, "y":2.5}, {"label":"K506", "x":9.5, "y":2.5}, {"label":"K507", "x":10.5, "y":2.5}, {"label":"K508", "x":11.5, "y":2.5}, {"label":"K509", "x":12.5, "y":2.5}, {"label":"K510", "x":13.5, "y":2.5, "w":1.5}, {"label":"K204", "x":15.25, "y":2.5}, {"label":"K205", "x":16.25, "y":2.5}, {"label":"K206", "x":17.25, "y":2.5}, {"label":"K207", "x":18.5, "y":2.5}, {"label":"K208", "x":19.5, "y":2.5}, {"label":"K209", "x":20.5, "y":2.5}, {"label":"K210", "x":21.5, "y":2.5}, {"label":"K800", "x":0, "y":3.5, "w":1.75}, {"label":"K801", "x":1.75, "y":3.5}, {"label":"K802", "x":2.75, "y":3.5}, {"label":"K803", "x":3.75, "y":3.5}, {"label":"K600", "x":4.75, "y":3.5}, {"label":"K601", "x":5.75, "y":3.5}, {"label":"K602", "x":6.75, "y":3.5}, {"label":"K603", "x":7.75, "y":3.5}, {"label":"K606", "x":8.75, "y":3.5}, {"label":"K607", "x":9.75, "y":3.5}, {"label":"K608", "x":10.75, "y":3.5}, {"label":"K609", "x":11.75, "y":3.5}, {"label":"K610", "x":12.75, "y":3.5, "w":2.25}, {"label":"K807", "x":18.5, "y":3.5}, {"label":"K808", "x":19.5, "y":3.5}, {"label":"K809", "x":20.5, "y":3.5}, {"label":"K810", "x":21.5, "y":3.5}, {"label":"K900", "x":0, "y":4.5, "w":1.25}, {"label":"K901", "x":1.25, "y":4.5}, {"label":"K902", "x":2.25, "y":4.5}, {"label":"K903", "x":3.25, "y":4.5}, {"label":"K700", "x":4.25, "y":4.5}, {"label":"K701", "x":5.25, "y":4.5}, {"label":"K702", "x":6.25, "y":4.5}, {"label":"K703", "x":7.25, "y":4.5}, {"label":"K705", "x":8.25, "y":4.5}, {"label":"K706", "x":9.25, "y":4.5}, {"label":"K707", "x":10.25, "y":4.5}, {"label":"K708", "x":11.25, "y":4.5}, {"label":"K709", "x":12.25, "y":4.5, "w":1.75}, {"label":"K710", "x":14, "y":4.5}, {"label":"K906", "x":16.25, "y":4.5}, {"label":"K907", "x":18.5, "y":4.5}, {"label":"K908", "x":19.5, "y":4.5}, {"label":"K909", "x":20.5, "y":4.5}, {"label":"K910", "x":21.5, "y":4.5}, {"label":"KA00", "x":0, "y":5.5, "w":1.5}, {"label":"KA01", "x":1.5, "y":5.5}, {"label":"KA02", "x":2.5, "y":5.5, "w":1.5}, {"label":"KA03", "x":4, "y":5.5}, {"label":"K804", "x":5, "y":5.5, "w":2}, {"label":"K805", "x":7, "y":5.5}, {"label":"K806", "x":8, "y":5.5, "w":2}, {"label":"K604", "x":10, "y":5.5}, {"label":"K605", "x":11, "y":5.5, "w":1.5}, {"label":"K904", "x":12.5, "y":5.5}, {"label":"K905", "x":13.5, "y":5.5, "w":1.5}, {"label":"KA04", "x":15.25, "y":5.5}, {"label":"KA05", "x":16.25, "y":5.5}, {"label":"KA06", "x":17.25, "y":5.5}, {"label":"KA07", "x":18.5, "y":5.5}, {"label":"KA08", "x":19.5, "y":5.5}, {"label":"KA09", "x":20.5, "y":5.5}, {"label":"KA10", "x":21.5, "y":5.5}]
diff --git a/keyboards/ghs/rar/config.h b/keyboards/ghs/rar/config.h
index d97e8841f1..7b93dc2197 100644
--- a/keyboards/ghs/rar/config.h
+++ b/keyboards/ghs/rar/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0645
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Gone Hacking Studio
-#define PRODUCT GHS.RAR
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ghs/rar/info.json b/keyboards/ghs/rar/info.json
index ed362b40f6..2f5a75a4f4 100644
--- a/keyboards/ghs/rar/info.json
+++ b/keyboards/ghs/rar/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GHS.RAR",
+ "manufacturer": "Gone Hacking Studio",
"url": "https://gonehacking.studio/",
"maintainer": "Gone Hacking Studio",
+ "usb": {
+ "vid": "0x0645",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h
new file mode 100644
index 0000000000..efad053aae
--- /dev/null
+++ b/keyboards/giabalanai/config.h
@@ -0,0 +1,294 @@
+/*
+Copyright 2020 3araht
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 10
+
+/*
+ * 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 { B5, B4, E6, D7, C6, D4 }
+#define MATRIX_COL_PINS { B1, F7, F6, F5, F4, B3, B2, B6, D0, D1 }
+#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, D7, E6 }
+#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, C7, B7, F1 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * 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 SELECT_SOFT_SERIAL_SPEED 1
+/*Sets the protocol speed when using serial communication*/
+//Speeds:
+//0: about 189kbps (Experimental only)
+//1: about 137kbps (default)
+//2: about 75kbps
+//3: about 39kbps
+//4: about 26kbps
+//5: about 20kbps
+
+// Right side has to be the master since 1, LED data is output from right side, and 2, Audio pin is prepared on right side as a reserve.
+#define MASTER_RIGHT
+
+// for "Generic" Promicro to be detected correctly as lefthand side (slave)
+#define SPLIT_USB_DETECT
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+
+#ifdef RGBLIGHT_ENABLE
+# define RGBLED_NUM 123
+
+// Do not define "RGBLED_SPLIT" since somehow it doesn't work well yet.
+// Even thhough "#define RGBLED_SPLIT { 60, 63 }" was set, LEDs on the sub keyboad side didn't turn on.
+// Not sure but rgblight_sethsv_at() might not support RGBLED_SPLIT yet.
+// Instead, LED data is tranferred from right side to the left via TRRS cable.
+
+# define RGBLIGHT_LIMIT_VAL 80
+# define RGBLIGHT_LAYERS
+
+// By default, LEDs of the buttons which are pressed turn on.
+// # define RGBLIGHT_EFFECT_TWINKLE
+// # define RGBLIGHT_EFFECT_KNIGHT
+
+
+// RGBLIGHT LED MAP
+// Right 1st row (12 LEDs)
+// ENCODER
+// Right 2nd .. 5th row(13, 12, 13, 12 LEDs)
+// Left 1st .. 5th row (12 LEDs x 5 rows)
+
+# define RGBLIGHT_LED_MAP { \
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, \
+ 97, \
+ 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, \
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, \
+ 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, \
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, \
+ \
+ 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, \
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, \
+ 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, \
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
+ 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48 \
+ }
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+/* ws2812 RGB MATRIX */
+# define DRIVER_LED_TOTAL 123
+# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+
+// for all fingers used at once.
+# define LED_HITS_TO_REMEMBER 10
+
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
+
+// the above brighness setting has no effect on rgb_matrix_set_color().
+// Use darker colors instead.
+/* RGB darker COLORS */
+# define RGB_DARKWHITE 0x66, 0x66, 0x66
+# define RGB_DARKRED 0x66, 0x0, 0x0
+# define RGB_DARKCORAL 0x66, 0x31, 0x1E
+# define RGB_DARKORANGE 0x66, 0x33, 0x0
+# define RGB_DARKGOLDENROD 0x56, 0x42, 0xD
+# define RGB_DARKGOLD 0x66, 0x56, 0x0
+# define RGB_DARKYELLOW 0x66, 0x66, 0x0
+# define RGB_DARKCHARTREUSE 0x33, 0x66, 0x0
+# define RGB_DARKGREEN 0x0, 0x66, 0x0
+# define RGB_DARKSPRINGGREEN 0x0, 0x66, 0x33
+# define RGB_DARKTURQUOISE 0x1C, 0x2C, 0x2A
+# define RGB_DARKTEAL 0x0, 0x33, 0x33
+# define RGB_DARKCYAN 0x0, 0x66, 0x66
+# define RGB_DARKAZURE 0x3D, 0x62, 0x66
+# define RGB_DARKBLUE 0x0, 0x0, 0x66
+# define RGB_DARKPURPLE 0x30, 0x0, 0x66
+# define RGB_DARKMAGENTA 0x66, 0x0, 0x66
+# define RGB_DARKPINK 0x66, 0x33, 0x4C
+
+// https://docs.qmk.fm/#/feature_rgb_matrix
+// Enable suspend mode.
+// # define RGB_DISABLE_WHEN_USB_SUSPENDED true
+
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+// #define ENABLE_RGB_MATRIX_BREATHING
+// #define ENABLE_RGB_MATRIX_BAND_SAT
+// #define ENABLE_RGB_MATRIX_BAND_VAL
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+// #define ENABLE_RGB_MATRIX_CYCLE_ALL
+// #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+// #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+// #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+// #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+// #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+// #define ENABLE_RGB_MATRIX_DUAL_BEACON
+// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// #define ENABLE_RGB_MATRIX_RAINDROPS
+// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+// #define ENABLE_RGB_MATRIX_HUE_WAVE
+// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+// #define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
+// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif // RGB_MATRIX_ENABLE
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
+
+/* Audio */
+#ifdef AUDIO_ENABLE
+# define AUDIO_PIN B5 // use EX1 = PB5 = PIN9 as Audio output
+// #define DAC_SAMPLE_MAX 32768U
+# define DAC_SAMPLE_MAX 65535U
+// #define AUDIO_CLICKY
+# define NO_MUSIC_MODE
+// #define STARTUP_SONG SONG(FANTASIE_IMPROMPTU)
+// #define STARTUP_SONG SONG(NOCTURNE_OP_9_NO_1)
+// #define STARTUP_SONG SONG(USSR_ANTHEM)
+// #define STARTUP_SONG SONG(CAMPANELLA)
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+#ifdef MIDI_ENABLE
+# define MIDI_ADVANCED
+// Initial velocity value (avoid using 127 since it is used as a special number in some sound sources.)
+# define MIDI_INITIAL_VELOCITY 117
+#endif // MIDI_ENABLE
+
+/*
+ * Encoder options
+ */
+#ifdef ENCODER_ENABLE
+# define ENCODERS_PAD_A { }
+# define ENCODERS_PAD_B { }
+# define ENCODER_RESOLUTIONS { }
+# define ENCODERS_PAD_A_RIGHT { B4 }
+# define ENCODERS_PAD_B_RIGHT { B6 }
+# define ENCODER_RESOLUTIONS_RIGHT { 4 }
+# define TAP_CODE_DELAY 10
+#endif // ENCODER_ENABLE
+
+/* 2021/01/22 added to shrink firmware size */
+// NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods...
+// #define NO_ACTION_TAPPING
+// NO_ACTION_ONESHOT -388 bytes
+#define NO_ACTION_ONESHOT
diff --git a/keyboards/giabalanai/giabalanai.c b/keyboards/giabalanai/giabalanai.c
new file mode 100644
index 0000000000..6f8e359479
--- /dev/null
+++ b/keyboards/giabalanai/giabalanai.c
@@ -0,0 +1,255 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "giabalanai.h"
+
+// the velocity difference from the velocity of the root note.
+#define UNISON_VELOCITY_OFFSET 30
+
+#ifdef RGBLIGHT_ENABLE
+# define NO_LED 255
+/* Conversion map from keylocation (MATRIX_ROWS x2(split) x MATRIX_COLS) to led IDs.
+ led IDs are the number starts "0" from upper left corner of left side,
+ enumerated from left to right, from top to bottom.
+ Then emumeration follows to the right side, starting from "60".
+
+ Note that the conversion from physical LED serial alighment to
+ the led IDs is done with RGBLIGHT_LED_MAP beforehand. */
+
+# ifdef GIABARINAIX2
+const uint8_t PROGMEM convert_key_to_led[] =
+{
+ 0, 12, 24, 36, 48, 11, 23, 35, 47, 59,
+ 1, 13, 25, 37, 49, 10, 22, 34, 46, 58,
+ 2, 14, 26, 38, 50, 9, 21, 33, 45, 57,
+ 3, 15, 27, 39, 51, 8, 20, 32, 44, 56,
+ 4, 16, 28, 40, 52, 7, 19, 31, 43, 55,
+ 5, 17, 29, 41, 53, 6, 18, 30, 42, 54,
+ 119, 107, 95, 83, 71, 108, 96, 84, 72, 60,
+ 118, 106, 94, 82, 70, 109, 97, 85, 73, 61,
+ 117, 105, 93, 81, 69, 110, 98, 86, 74, 62,
+ 116, 104, 92, 80, 68, 111, 99, 87, 75, 63,
+ 115, 103, 91, 79, 67, 112, 100, 88, 76, 64,
+ 114, 102, 90, 78, 66, 113, 101, 89, 77, 65
+};
+
+# else
+const uint8_t PROGMEM convert_key_to_led[] =
+{
+0, 12, 24, 36, 48, 11, 23, 35, 47, 59,
+1, 13, 25, 37, 49, 10, 22, 34, 46, 58,
+2, 14, 26, 38, 50, 9, 21, 33, 45, 57,
+3, 15, 27, 39, 51, 8, 20, 32, 44, 56,
+4, 16, 28, 40, 52, 7, 19, 31, 43, 55,
+5, 17, 29, 41, 53, 6, 18, 30, 42, 54,
+
+85, 86, 87, 88, 89, 90, 91, NO_LED, NO_LED, NO_LED,
+98, 99, 100, 101, 102, 103, 104, NO_LED, NO_LED, NO_LED,
+NO_LED, 111, 112, 113, 114, 115, 116, NO_LED, NO_LED, NO_LED,
+NO_LED, 97, 96, 95, 94, 93, 92, NO_LED, NO_LED, NO_LED,
+NO_LED, 110, 109, 108, 107, 106, 105, NO_LED, NO_LED, NO_LED,
+NO_LED, 122, 121, 120, 119, 118, 117, NO_LED, NO_LED, NO_LED
+};
+
+/* Top 2 rows on the right side (LED:60-84) are
+ duplicates of the bottom 2 rows (LED:85-122).
+ LED:97 = Encoder,
+ LED:110 don't have a duplicate on the top row,
+ LED:72 is used when r20 is pressed (not a duplicate) */
+const uint8_t PROGMEM convert_key_to_led2[] =
+{
+NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,
+NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,
+NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,
+NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,
+NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,
+NO_LED, NO_LED, NO_LED, NO_LED, 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,
+60, 61, 62, 63, 64, 65, 66, NO_LED, NO_LED, NO_LED,
+72, 73, 74, 75, 76, 77, 78, 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, 71, 70, 69, 68, 67, NO_LED, NO_LED, NO_LED,
+NO_LED, 84, 83, 82, 81, 80, 79, NO_LED, NO_LED, NO_LED
+};
+# endif
+#endif // RGBLIGHT_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+
+led_config_t g_led_config = {
+ {
+ { 74, 75, 98, 99, 122, 63, 86, 87, 110, 111 },
+ { 73, 76, 97, 100, 121, 64, 85, 88, 109, 112 },
+ { 72, 77, 96, 101, 120, 65, 84, 89, 108, 113 },
+ { 71, 78, 95, 102, 119, 66, 83, 90, 107, 114 },
+ { 70, 79, 94, 103, 118, 67, 82, 91, 106, 115 },
+ { 69, 80, 93, 104, 117, 68, 81, 92, 105, 116 },
+ { 26, 27, 28, 29, 30, 31, 32, NO_LED, NO_LED, NO_LED },
+ { 50, 49, 48, 47, 46, 45, 44, NO_LED, NO_LED, NO_LED },
+ { 25, 51, 52, 53, 54, 55, 56, NO_LED, NO_LED, NO_LED },
+ { NO_LED, 12, 37, 36, 35, 34, 33, NO_LED, NO_LED, NO_LED },
+ { NO_LED, 38, 39, 40, 41, 42, 43, NO_LED, NO_LED, NO_LED },
+ { NO_LED, 62, 61, 60, 59, 58, 57, NO_LED, NO_LED, NO_LED }
+ }, {
+ { 120, 0 }, { 128, 0 }, { 136, 0 }, { 144, 0 }, { 152, 0 }, { 160, 0 }, { 168, 0 }, { 176, 0 }, { 184, 0 }, { 192, 0 }, { 200, 0 }, { 208, 0 },
+ { 224, 32 },
+ { 212, 16 }, { 204, 16 }, { 196, 16 }, { 188, 16 }, { 180, 16 }, { 172, 16 }, { 164, 16 }, { 156, 16 }, { 148, 16 }, { 140, 16 }, { 132, 16 }, { 124, 16 }, { 116, 16 },
+ { 120, 32 }, { 128, 32 }, { 136, 32 }, { 144, 32 }, { 152, 32 }, { 160, 32 }, { 168, 32 }, { 176, 32 }, { 184, 32 }, { 192, 32 }, { 200, 32 }, { 208, 32 },
+ { 212, 48 }, { 204, 48 }, { 196, 48 }, { 188, 48 }, { 180, 48 }, { 172, 48 }, { 164, 48 }, { 156, 48 }, { 148, 48 }, { 140, 48 }, { 132, 48 }, { 124, 48 }, { 116, 48 },
+ { 120, 64 }, { 128, 64 }, { 136, 64 }, { 144, 64 }, { 152, 64 }, { 160, 64 }, { 168, 64 }, { 176, 64 }, { 184, 64 }, { 192, 64 }, { 200, 64 }, { 208, 64 },
+
+ { 88, 0 }, { 80, 0 }, { 72, 0 }, { 64, 0 }, { 56, 0 }, { 48, 0 }, { 40, 0 }, { 32, 0 }, { 24, 0 }, { 16, 0 }, { 8, 0 }, { 0, 0 },
+ { 4, 16 }, { 12, 16 }, { 20, 16 }, { 28, 16 }, { 36, 16 }, { 44, 16 }, { 52, 16 }, { 60, 16 }, { 68, 16 }, { 76, 16 }, { 84, 16 }, { 92, 16 },
+ { 96, 32 }, { 88, 32 }, { 80, 32 }, { 72, 32 }, { 64, 32 }, { 56, 32 }, { 48, 32 }, { 40, 32 }, { 32, 32 }, { 24, 32 }, { 16, 32 }, { 8, 32 },
+ { 12, 48 }, { 20, 48 }, { 28, 48 }, { 36, 48 }, { 44, 48 }, { 52, 48 }, { 60, 48 }, { 68, 48 }, { 76, 48 }, { 84, 48 }, { 92, 48 }, { 100, 48 },
+ { 104, 64 }, { 96, 64 }, { 88, 64 }, { 80, 64 }, { 72, 64 }, { 64, 64 }, { 56, 64 }, { 48, 64 }, { 40, 64 }, { 32, 64 }, { 24, 64 }, { 16, 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,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ }
+};
+
+// const uint8_t PROGMEM convert_led_location2number[] = {
+// 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63,
+// 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+// 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87,
+// 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+// 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111,
+//
+// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+// 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13,
+// 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 12,
+// 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38,
+// 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
+// };
+#endif
+
+void my_process_midi4Bass(uint8_t channel, keyrecord_t *record,
+ uint8_t *chord_status, uint8_t chord, uint16_t root_note, bool is_single_bass) {
+ uint8_t velocity = midi_config.velocity;
+ if (record->event.pressed) {
+ if (chord_status[chord] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(root_note);
+ if (is_single_bass) {
+ midi_send_noteon(&midi_device, channel, note, velocity);
+ } else {
+ midi_send_noteon(&midi_device, channel, note, velocity);
+ midi_send_noteon(&midi_device, channel, note + 12, velocity); // +1 Octave
+ }
+ dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ chord_status[chord] = note; // store root_note status.
+ }
+ } else {
+ uint8_t note = chord_status[chord];
+ if (note != MIDI_INVALID_NOTE) {
+ if (is_single_bass) {
+ midi_send_noteoff(&midi_device, channel, note, velocity);
+ } else {
+ midi_send_noteoff(&midi_device, channel, note, velocity);
+ midi_send_noteoff(&midi_device, channel, note + 12, velocity); // +1 Octave
+ }
+ dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ }
+ chord_status[chord] = MIDI_INVALID_NOTE;
+ }
+}
+
+void my_process_midi4TriadChords(uint8_t channel, keyrecord_t *record,
+ uint8_t *chord_status, uint8_t chord, uint16_t root_note,
+ int8_t offset1, int8_t offset2, int8_t offset3) {
+ uint8_t velocity = midi_config.velocity;
+ if (record->event.pressed) {
+ if (chord_status[chord] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(root_note);
+ midi_send_noteon(&midi_device, channel, note + offset1, velocity);
+ midi_send_noteon(&midi_device, channel, note + offset2, velocity);
+ midi_send_noteon(&midi_device, channel, note + offset3, velocity);
+ dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ chord_status[chord] = note; // store root_note status.
+ }
+ } else {
+ uint8_t note = chord_status[chord];
+ if (note != MIDI_INVALID_NOTE) {
+ midi_send_noteoff(&midi_device, channel, note + offset1, velocity);
+ midi_send_noteoff(&midi_device, channel, note + offset2, velocity);
+ midi_send_noteoff(&midi_device, channel, note + offset3, velocity);
+ dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity);
+ }
+ chord_status[chord] = MIDI_INVALID_NOTE;
+ }
+}
+
+void my_process_midi(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status, int8_t offset, bool melody_unison_suppress) {
+
+ uint8_t tone = keycode - MIDI_TONE_MIN;
+
+ uint8_t melody_unison_velocity;
+ if (melody_unison_suppress) {
+ if (midi_config.velocity > UNISON_VELOCITY_OFFSET){
+ melody_unison_velocity = midi_config.velocity - UNISON_VELOCITY_OFFSET;
+ } else {
+ melody_unison_velocity = 0;
+ }
+ } else {
+ melody_unison_velocity = midi_config.velocity;
+ }
+
+ if (record->event.pressed) {
+ if (my_tone_status[tone] == MIDI_INVALID_NOTE) {
+ uint8_t note = midi_compute_note(keycode);
+ midi_send_noteon(&midi_device, channel, note + offset, melody_unison_velocity);
+ dprintf("midi noteon channel:%d note:%d tone:%d velocity:%d\n", channel, note, tone, melody_unison_velocity);
+ my_tone_status[tone] = note; // store root_note status.
+ }
+ } else {
+ uint8_t note = my_tone_status[tone];
+ if (note != MIDI_INVALID_NOTE) {
+ midi_send_noteoff(&midi_device, channel, note + offset, melody_unison_velocity);
+ dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, melody_unison_velocity);
+ }
+ my_tone_status[tone] = MIDI_INVALID_NOTE;
+ }
+}
+
+#ifdef RGBLIGHT_ENABLE
+void keylight_manager(keyrecord_t *record, uint8_t hue, uint8_t sat, uint8_t val, uint8_t keylocation) {
+ if (keylocation == NO_LED) {
+ return; // do nothing.
+# ifdef CONSOLE_ENABLE
+ uprintf("keylight_manager, NO_LED\n");
+# endif
+ }
+
+ if (record->event.pressed) {
+ rgblight_sethsv_at(hue, sat, val, keylocation);
+ } else {
+ rgblight_sethsv_at(HSV_BLACK, keylocation);
+ }
+}
+
+#endif // RGBLIGHT_ENABLE
+
diff --git a/keyboards/giabalanai/giabalanai.h b/keyboards/giabalanai/giabalanai.h
new file mode 100644
index 0000000000..df4759f00f
--- /dev/null
+++ b/keyboards/giabalanai/giabalanai.h
@@ -0,0 +1,132 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ l00, l01, l02, l03, l04, l05, l06, l07, l08, l09, l0a, l0b, \
+ l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l1a, l1b, \
+ l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l2a, l2b, \
+ l30, l31, l32, l33, l34, l35, l36, l37, l38, l39, l3a, l3b, \
+ l40, l41, l42, l43, l44, l45, l46, l47, l48, l49, l4a, l4b, \
+ \
+ r20, \
+ r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, r0a, r0b, renc, \
+ r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r1a, r1b, r1c, \
+ r21, r22, r23, r24, r25, r26, r27, r28, r29, r2a, r2b, r2c \
+) { \
+ { l00, l10, l20, l30, l40, l0b, l1b, l2b, l3b, l4b }, \
+ { l01, l11, l21, l31, l41, l0a, l1a, l2a, l3a, l4a }, \
+ { l02, l12, l22, l32, l42, l09, l19, l29, l39, l49 }, \
+ { l03, l13, l23, l33, l43, l08, l18, l28, l38, l48 }, \
+ { l04, l14, l24, l34, l44, l07, l17, l27, l37, l47 }, \
+ { l05, l15, l25, l35, l45, l06, l16, l26, l36, l46 }, \
+ \
+ { r00, r01, r02, r03, r04, r05, r06, KC_NO, KC_NO, KC_NO }, \
+ { r10, r11, r12, r13, r14, r15, r16, KC_NO, KC_NO, KC_NO }, \
+ { r20, r21, r22, r23, r24, r25, r26, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, renc, r0b, r0a, r09, r08, r07, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, r1c, r1b, r1a, r19, r18, r17, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, r2c, r2b, r2a, r29, r28, r27, KC_NO, KC_NO, KC_NO } \
+}
+
+#define LAYOUT_giabarinaix2( \
+ l00, l01, l02, l03, l04, l05, l06, l07, l08, l09, l0a, l0b, \
+ l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l1a, l1b, \
+ l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l2a, l2b, \
+ l30, l31, l32, l33, l34, l35, l36, l37, l38, l39, l3a, l3b, \
+ l40, l41, l42, l43, l44, l45, l46, l47, l48, l49, l4a, l4b, \
+ \
+ r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, r0a, r0b, \
+ r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r1a, r1b, \
+ r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r2a, r2b, \
+ r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r3a, r3b, \
+ r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r4a, r4b \
+) { \
+ { l00, l10, l20, l30, l40, l0b, l1b, l2b, l3b, l4b }, \
+ { l01, l11, l21, l31, l41, l0a, l1a, l2a, l3a, l4a }, \
+ { l02, l12, l22, l32, l42, l09, l19, l29, l39, l49 }, \
+ { l03, l13, l23, l33, l43, l08, l18, l28, l38, l48 }, \
+ { l04, l14, l24, l34, l44, l07, l17, l27, l37, l47 }, \
+ { l05, l15, l25, l35, l45, l06, l16, l26, l36, l46 }, \
+ \
+ { r4b, r3b, r2b, r1b, r0b, r40, r30, r20, r10, r00 }, \
+ { r4a, r3a, r2a, r1a, r0a, r41, r31, r21, r11, r01 }, \
+ { r49, r39, r29, r19, r09, r42, r32, r22, r12, r02 }, \
+ { r48, r38, r28, r18, r08, r43, r33, r23, r13, r03 }, \
+ { r47, r37, r27, r17, r07, r44, r34, r24, r14, r04 }, \
+ { r46, r36, r26, r16, r06, r45, r35, r25, r15, r05 } \
+}
+
+
+#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
+#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
+#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
+
+#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
+#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
+#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
+
+#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
+#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
+#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
+
+#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
+#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
+#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
+
+#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
+#define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
+
+#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
+#define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
+
+#ifdef RGBLIGHT_ENABLE
+
+extern const uint8_t PROGMEM convert_key_to_led[];
+# ifndef GIABARINAIX2
+extern const uint8_t PROGMEM convert_key_to_led2[];
+# endif
+#endif // RGBLIGHT_ENABLE
+
+// #ifdef RGB_MATRIX_ENABLE
+// extern const uint8_t PROGMEM convert_led_location2number[];
+// #endif
+
+extern MidiDevice midi_device;
+void my_process_midi4Bass(uint8_t channel, keyrecord_t *record,
+ uint8_t *chord_status, uint8_t chord, uint16_t root_note, bool is_single_bass);
+
+void my_process_midi4TriadChords(uint8_t channel, keyrecord_t *record,
+ uint8_t *chord_status, uint8_t chord, uint16_t root_note,
+ int8_t offset1, int8_t offset2, int8_t offset3);
+
+void my_process_midi(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status, int8_t offset, bool melody_unison_suppress);
+
+
+#ifdef RGBLIGHT_ENABLE
+void keylight_manager(keyrecord_t *record, uint8_t hue, uint8_t sat, uint8_t val, uint8_t keylocation);
+#endif // RGBLIGHT_ENABLE
diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json
new file mode 100644
index 0000000000..b0b52b4ab8
--- /dev/null
+++ b/keyboards/giabalanai/info.json
@@ -0,0 +1,125 @@
+{
+ "keyboard_name": "giabalanai",
+ "manufacturer": "3araht",
+ "url": "https://github.com/3araht",
+ "maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B0",
+ "device_version": "0.0.1"
+ },
+ "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": "l07", "x": 7, "y": 0},
+ {"label": "l08", "x": 8, "y": 0},
+ {"label": "l09", "x": 9, "y": 0},
+ {"label": "l0a", "x": 10, "y": 0},
+ {"label": "l0b", "x": 11, "y": 0},
+
+ {"label": "l10", "x": 0.5, "y": 1},
+ {"label": "l11", "x": 1.5, "y": 1},
+ {"label": "l12", "x": 2.5, "y": 1},
+ {"label": "l13", "x": 3.5, "y": 1},
+ {"label": "l14", "x": 4.5, "y": 1},
+ {"label": "l15", "x": 5.5, "y": 1},
+ {"label": "l16", "x": 6.5, "y": 1},
+ {"label": "l17", "x": 7.5, "y": 1},
+ {"label": "l18", "x": 8.5, "y": 1},
+ {"label": "l19", "x": 9.5, "y": 1},
+ {"label": "l1a", "x": 10.5, "y": 1},
+ {"label": "l1b", "x": 11.5, "y": 1},
+
+ {"label": "r20", "x": 14.5, "y": 1},
+
+ {"label": "l20", "x": 1, "y": 2},
+ {"label": "l21", "x": 2, "y": 2},
+ {"label": "l22", "x": 3, "y": 2},
+ {"label": "l23", "x": 4, "y": 2},
+ {"label": "l24", "x": 5, "y": 2},
+ {"label": "l25", "x": 6, "y": 2},
+ {"label": "l26", "x": 7, "y": 2},
+ {"label": "l27", "x": 8, "y": 2},
+ {"label": "l28", "x": 9, "y": 2},
+ {"label": "l29", "x": 10, "y": 2},
+ {"label": "l2a", "x": 11, "y": 2},
+ {"label": "l2b", "x": 12, "y": 2},
+
+ {"label": "r00", "x": 15, "y": 2},
+ {"label": "r01", "x": 16, "y": 2},
+ {"label": "r02", "x": 17, "y": 2},
+ {"label": "r03", "x": 18, "y": 2},
+ {"label": "r04", "x": 19, "y": 2},
+ {"label": "r05", "x": 20, "y": 2},
+ {"label": "r06", "x": 21, "y": 2},
+ {"label": "r07", "x": 22, "y": 2},
+ {"label": "r08", "x": 23, "y": 2},
+ {"label": "r09", "x": 24, "y": 2},
+ {"label": "r0a", "x": 25, "y": 2},
+ {"label": "r0b", "x": 26, "y": 2},
+
+ {"label": "renc", "x": 27.5, "y": 2},
+
+ {"label": "l30", "x": 1.5, "y": 3},
+ {"label": "l31", "x": 2.5, "y": 3},
+ {"label": "l32", "x": 3.5, "y": 3},
+ {"label": "l33", "x": 4.5, "y": 3},
+ {"label": "l34", "x": 5.5, "y": 3},
+ {"label": "l35", "x": 6.5, "y": 3},
+ {"label": "l36", "x": 7.5, "y": 3},
+ {"label": "l37", "x": 8.5, "y": 3},
+ {"label": "l38", "x": 9.5, "y": 3},
+ {"label": "l39", "x": 10.5, "y": 3},
+ {"label": "l3a", "x": 11.5, "y": 3},
+ {"label": "l3b", "x": 12.5, "y": 3},
+
+ {"label": "r10", "x": 14.5, "y": 3},
+ {"label": "r11", "x": 15.5, "y": 3},
+ {"label": "r12", "x": 16.5, "y": 3},
+ {"label": "r13", "x": 17.5, "y": 3},
+ {"label": "r14", "x": 18.5, "y": 3},
+ {"label": "r15", "x": 19.5, "y": 3},
+ {"label": "r16", "x": 20.5, "y": 3},
+ {"label": "r17", "x": 21.5, "y": 3},
+ {"label": "r18", "x": 22.5, "y": 3},
+ {"label": "r19", "x": 23.5, "y": 3},
+ {"label": "r1a", "x": 24.5, "y": 3},
+ {"label": "r1b", "x": 25.5, "y": 3},
+ {"label": "r1c", "x": 26.5, "y": 3},
+
+ {"label": "l40", "x": 2, "y": 4},
+ {"label": "l41", "x": 3, "y": 4},
+ {"label": "l42", "x": 4, "y": 4},
+ {"label": "l43", "x": 5, "y": 4},
+ {"label": "l44", "x": 6, "y": 4},
+ {"label": "l45", "x": 7, "y": 4},
+ {"label": "l46", "x": 8, "y": 4},
+ {"label": "l47", "x": 9, "y": 4},
+ {"label": "l48", "x": 10, "y": 4},
+ {"label": "l49", "x": 11, "y": 4},
+ {"label": "l4a", "x": 12, "y": 4},
+ {"label": "l4b", "x": 13, "y": 4},
+
+ {"label": "r21", "x": 15, "y": 4},
+ {"label": "r22", "x": 16, "y": 4},
+ {"label": "r23", "x": 17, "y": 4},
+ {"label": "r24", "x": 18, "y": 4},
+ {"label": "r25", "x": 19, "y": 4},
+ {"label": "r26", "x": 20, "y": 4},
+ {"label": "r27", "x": 21, "y": 4},
+ {"label": "r28", "x": 22, "y": 4},
+ {"label": "r29", "x": 23, "y": 4},
+ {"label": "r2a", "x": 24, "y": 4},
+ {"label": "r2b", "x": 25, "y": 4},
+ {"label": "r2c", "x": 26, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/giabalanai/keymaps/2firmware/config.h b/keyboards/giabalanai/keymaps/2firmware/config.h
new file mode 100644
index 0000000000..a9c772adef
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/2firmware/config.h
@@ -0,0 +1,9 @@
+#pragma once
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
diff --git a/keyboards/giabalanai/keymaps/2firmware/keymap.c b/keyboards/giabalanai/keymaps/2firmware/keymap.c
new file mode 100644
index 0000000000..2877f8ecd8
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/2firmware/keymap.c
@@ -0,0 +1,739 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "split_util.h"
+#include "print.h"
+#include "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+#define DF_QWER DF(_QWERTY)
+#define DF_COLE DF(_COLEMAK)
+#define MO_ADJ MO(_ADJUST)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+#define SHIF_UP RSFT_T(KC_UP)
+#define ADJ_EIS LT(_ADJUST,KC_LANG2)
+#define MIS_KAN LT(_MISC,KC_LANG1)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// UNISON flags
+static bool melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+static bool melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+
+static bool melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+// To record the status of Bass Chord (single or dyad, default: dyad.)
+typedef union {
+ uint32_t raw;
+ struct {
+ bool isSingleBass:1;
+ };
+} user_config_t;
+user_config_t user_config;
+
+#define IS_SINGLE_BASS() (user_config.isSingleBass)
+
+#ifdef RGBLIGHT_ENABLE
+/* used to specify there is no LED on the keylocation. */
+# define NO_LED 255
+#endif // RGBLIGHT_ENABLE
+
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _CHROMATONE,
+ _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
+ _QWERTY,
+ _COLEMAK,
+ _ADJUST, // for Fn keys, etc.
+ _FN // for changing layers, octaves, etc.
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION,
+ CSYSTEM, // C-SYSTEM layout
+ BSYSTEM, // B-SYSTEM layout
+ CNTBASC, // CouNTer BASs C-system layout
+ CSYSALL, // C-SYStem ALL layout
+ CHRTONE, // CHRomaTONE layout
+ CFLIP2B, // C-system FLIPped 2(to) Backwards
+ TGLBASS, // ToGgLe BASS unison
+ TGLMICH, // ToGgLe MIdi CHannel separation
+ MELDYAL, // MELody DYad Low
+ MELODYS, // MELODY Single
+ MELDYAH, // MELody DYad High
+ TGLUVEL // ToGgLe Unison VELocity
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+static uint8_t my_tone_status[MIDI_TONE_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* fake B-system */
+ [_FAKE_B_SYSTEM] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ MI_Ab_2,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
+ ),
+
+ /* BASS2row */
+ [_C_SYSTEM_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* C-system entirely */
+ [_C_SYSTEM_ENTIRELY] = LAYOUT(
+ MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
+ MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
+ XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
+ XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
+ MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* Chromatone */
+ [_CHROMATONE] = LAYOUT(
+ MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
+ MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
+ MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
+ MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
+ MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
+
+ MI_C_2,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
+ MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
+ ),
+
+ [_CFLIP_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_G_5,
+ MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
+ MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
+ MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* COLEMAK */
+ [_COLEMAK] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_DEL,
+ KC_LCTL, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_ENT,
+ KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, SHIF_UP,
+ KC_CAPS, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* ADJUST */
+ [_ADJUST] = LAYOUT_wrapper(
+ _______, _________________FUNC__L___________________, _________________FUNC__R___________________, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, _______,
+ _______, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_BSLS, _______,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+ /* Fn */
+ [_FN] = LAYOUT(
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+ DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ XXXXXXX,
+ MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EEP_RST, _______,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
+ XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+
+// Light up adjust layer keys (left keyboard)
+const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 10, HSV_ORANGE},
+ {21, 2, HSV_ORANGE},
+ {25, 3, HSV_ORANGE},
+ {30, 5, HSV_ORANGE},
+ {37, 2, HSV_ORANGE},
+ {45, 2, HSV_ORANGE},
+ {57, 2, HSV_ORANGE}
+);
+
+// Light up fn layer keys
+const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
+ {0, 6, HSV_ORANGE}, // MIDI layouts
+ {11, 1, HSV_RED}, // RGB_TOG
+ {12, 1, HSV_WHITE}, // DF_QWER
+ {13, 1, HSV_CORAL}, // TGLBASS
+ {24, 1, HSV_WHITE}, // DF_COLE
+ {35, 1, HSV_TEAL}, // TGLMICH
+#if 0 // Color Test
+ {36, 1, HSV_WHITE},
+ {37, 1, HSV_RED},
+ {38, 1, HSV_CORAL},
+ {39, 1, HSV_ORANGE},
+ {40, 1, HSV_GOLDENROD},
+ {41, 1, HSV_GOLD},
+ {42, 1, HSV_YELLOW},
+ {43, 1, HSV_CHARTREUSE},
+ {44, 1, HSV_GREEN},
+ {45, 1, HSV_SPRINGGREEN},
+ {46, 1, HSV_TURQUOISE},
+ {47, 1, HSV_TEAL},
+ {48, 1, HSV_CYAN},
+ {49, 1, HSV_AZURE},
+ {50, 1, HSV_BLUE},
+ {51, 1, HSV_PURPLE},
+ {52, 1, HSV_MAGENTA},
+ {53, 1, HSV_PINK},
+#endif
+ // right keyboard
+ {60, 6, HSV_ORANGE}, // MIDI layouts
+ {74, 1, HSV_CORAL}, // TGLBASS
+ {85, 1, HSV_BLUE}, // MIDI Oct
+ {86, 1, HSV_CYAN}, // MIDI Oct
+ {87, 1, HSV_SPRINGGREEN}, // MIDI Oct
+ {88, 1, HSV_GREEN}, // MIDI Oct
+ {89, 1, HSV_CHARTREUSE}, // MIDI Oct
+ {96, 1, HSV_PINK}, // EEP_RST
+ {98, 6, HSV_ORANGE}, // MIDI layouts
+ {107, 1, HSV_YELLOW}, // MI_VELD
+ {108, 1, HSV_GREEN}, // MI_VELU
+ {110, 1, HSV_RED}, // RGB_TOG
+ {112, 1, HSV_CORAL}, // TGLBASS
+ {119, 1, HSV_CORAL}, // TGLUVEL
+ {120, 1, HSV_CYAN}, // MELDYAL
+ {121, 1, HSV_GOLD}, // MELODYS
+ {122, 1, HSV_SPRINGGREEN} // MELDYAH
+);
+
+
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_fn_layer, my_adjust_layer);
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ rgblight_set_layer_state(0, layer_state_cmp(state, _FN));
+ rgblight_set_layer_state(1, layer_state_cmp(state, _ADJUST));
+ return state;
+};
+
+#endif // RGBLIGHT_ENABLE
+
+void my_init(void){
+ // Set octave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+}
+
+void eeconfig_init_user(void) {
+ midi_init();
+ my_init();
+
+ // Used to set octave to MI_OCT_0
+ midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+ // UNISON flags
+ melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+ melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+ melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+ // Reset Bass setting
+ user_config.raw = 0; // default: dyad
+ eeconfig_update_user(user_config.raw);
+
+ // Reset the midi keyboard layout
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+}
+
+void keyboard_post_init_user(void) {
+ my_init();
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ for (uint8_t i = 0; i < MIDI_TONE_COUNT; i++) {
+ my_tone_status[i] = MIDI_INVALID_NOTE;
+ }
+ // load EEPROM data for isSingleBass
+ user_config.raw = eeconfig_read_user();
+
+ // When USB cable is connected to the left side keyboard, use QWERTY layout by default.
+ if (is_keyboard_master() && isLeftHand) {
+ default_layer_set(1UL << _QWERTY);
+ }
+
+#ifdef RGBLIGHT_ENABLE
+
+ rgblight_layers = my_rgb_layers;
+
+ // Reset LED off
+ rgblight_sethsv(HSV_BLACK);
+# if defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_sethsv(30, 50, 40);
+# ifdef RGBLIGHT_EFFECT_KNIGHT
+ rgblight_mode(RGBLIGHT_MODE_KNIGHT);
+# elif defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE+3);
+# endif
+# endif
+#endif // RGBLIGHT_ENABLE
+};
+
+void toggle_isSingleBass(void) {
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(before) %u\n", user_config.isSingleBass);
+#endif
+ user_config.isSingleBass = !user_config.isSingleBass;
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(after) %u\n", user_config.isSingleBass);
+#endif
+
+ eeconfig_update_user(user_config.raw);
+}
+
+void toggle_MIDI_channel_separation(void) {
+ if (midi_chord_ch > 0) {
+ midi_chord_ch = 0;
+ midi_bass_ch = 0;
+ } else {
+ midi_chord_ch = 1;
+ midi_bass_ch = 2;
+ }
+}
+
+#ifdef RGBLIGHT_ENABLE
+void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_GREEN, keylocation);
+ break;
+ case _FAKE_B_SYSTEM:
+ keylight_manager(record, HSV_ORANGE, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_YELLOW, keylocation);
+ break;
+ case _CFLIP_BASS2ROW:
+ keylight_manager(record, HSV_PURPLE, keylocation);
+ break;
+ }
+}
+void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_SPRINGGREEN, keylocation);
+ break;
+ case _FAKE_B_SYSTEM:
+ keylight_manager(record, HSV_YELLOW, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+ case _CFLIP_BASS2ROW:
+ keylight_manager(record, HSV_MAGENTA, keylocation);
+ break;
+ }
+}
+#endif // RGBLIGHT_ENABLE
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+#ifdef RGBLIGHT_ENABLE
+ /* prepare for turning on LEDs when keys are pressed. */
+ uint8_t r = record->event.key.row;
+ uint8_t c = record->event.key.col;
+ // uint8_t keylocation = convert_key_to_led[MATRIX_COLS * r + c];
+ // uint8_t keylocation2 = convert_key_to_led2[MATRIX_COLS * r + c];
+ uint8_t keylocation = pgm_read_byte(&convert_key_to_led[MATRIX_COLS * r + c]);
+ uint8_t keylocation2 = pgm_read_byte(&convert_key_to_led2[MATRIX_COLS * r + c]);
+#endif // RGBLIGHT_ENABLE
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // set default layer and save it to EEPROM when MIDI key layers are selected.
+ case CSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASE);
+ }
+ break;
+
+ case BSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_FAKE_B_SYSTEM);
+ }
+ break;
+
+ case CNTBASC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+ }
+ break;
+
+ case CSYSALL:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
+ }
+ break;
+
+ case CHRTONE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CHROMATONE);
+ }
+ break;
+
+ case CFLIP2B:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CFLIP_BASS2ROW);
+ }
+ break;
+
+ case TGLBASS:
+ if (record->event.pressed) {
+ toggle_isSingleBass();
+ };
+ break;
+
+ case TGLMICH:
+ if (record->event.pressed) {
+ toggle_MIDI_channel_separation();
+ };
+ break;
+
+ case MELDYAL:
+ if (record->event.pressed) {
+ melody_dyad_low = true;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELODYS:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELDYAH:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = true;
+ };
+ break;
+
+ case TGLUVEL:
+ if (record->event.pressed) {
+ melody_unison_suppress = !melody_unison_suppress;
+ };
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4bass(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ case KC_A ... KC_RGUI: // for QWERTY
+ case KC_GESC:
+ case ADJ_EIS:
+ case MO_ADJ:
+ case SHIF_UP:
+ keylight_manager(record, HSV_RED, keylocation);
+ break;
+#endif
+
+ // Keycodes on the right side.
+ case MIDI_TONE_MIN ... MIDI_TONE_MAX: // notes on the right side keyboard.
+ // root_note is played by process_midi().
+ if ( melody_dyad_high == true ) { // play 1 octave higher as well.
+ my_process_midi(0, keycode, record, my_tone_status, 12, melody_unison_suppress);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_RED, keylocation);
+ keylight_manager(record, HSV_RED, keylocation2);
+#endif
+ } else if ( melody_dyad_low == true ) { // play 1 octave lower as well.
+ my_process_midi(0, keycode, record, my_tone_status, -12, melody_unison_suppress);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_CYAN, keylocation);
+ keylight_manager(record, HSV_CYAN, keylocation2);
+#endif
+ } else {
+ uprintf("layer=%u, default_layer_state = %u\n", biton32(default_layer_state), default_layer_state);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ keylight_manager(record, HSV_GOLDENROD, keylocation2);
+#endif
+ }
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ // case KC_MUTE:
+ case FN_MUTE:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+ }
+ // If console is enabled, it will print the matrix position and status of each key pressed
+#if defined(CONSOLE_ENABLE) && defined(RGBLIGHT_ENABLE)
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+ uprintf("r=%d, c=%d, keyloc=%d, keyloc2=%d, matrix_col x r + c = %d\n", r, c, keylocation, keylocation2, MATRIX_COLS * r + c);
+#endif
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/2firmware/readme.md b/keyboards/giabalanai/keymaps/2firmware/readme.md
new file mode 100644
index 0000000000..e851c97af8
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/2firmware/readme.md
@@ -0,0 +1,12 @@
+# A personal keymap for giabalanai with RGBLIGHT_ENABLE = yes in rules.mk, which 3araht is using.
+"2firmware" requires writing the firmware separately to left and right keyboards in order to have different functionality when USB cable is connected to the left side keyboard. It can be used without the right side.
+(EE_HANDS is defined in 2firmware/config.h).
+
+When USB cable is connected to the left side keyboard, QWERTY layout is used by default.
+
+
+Use below for writing the firmware to the left side keyboard.
+> make giabalanai:2firmware:avrdude-split-left
+
+Use below for writing the firmware to the right side keyboard.
+> make giabalanai:2firmware:avrdude-split-right
diff --git a/keyboards/giabalanai/keymaps/2firmware/rules.mk b/keyboards/giabalanai/keymaps/2firmware/rules.mk
new file mode 100644
index 0000000000..2ecc5f55c1
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/2firmware/rules.mk
@@ -0,0 +1,4 @@
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+CONSOLE_ENABLE = no # Console for debug
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/3araht/keymap.c b/keyboards/giabalanai/keymaps/3araht/keymap.c
new file mode 100644
index 0000000000..418b6e0ceb
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/3araht/keymap.c
@@ -0,0 +1,754 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+#include "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+#define DF_QWER DF(_QWERTY)
+#define DF_COLE DF(_COLEMAK)
+#define MO_ADJ MO(_ADJUST)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+#define SHIF_UP RSFT_T(KC_UP)
+#define ADJ_EIS LT(_ADJUST,KC_LANG2)
+#define MIS_KAN LT(_MISC,KC_LANG1)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// UNISON flags
+static bool melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+static bool melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+
+static bool melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+// To record the status of Bass Chord (single or dyad, default: dyad.)
+typedef union {
+ uint32_t raw;
+ struct {
+ bool isSingleBass:1;
+ };
+} user_config_t;
+user_config_t user_config;
+
+#define IS_SINGLE_BASS() (user_config.isSingleBass)
+
+#ifdef RGBLIGHT_ENABLE
+/* used to specify there is no LED on the keylocation. */
+# define NO_LED 255
+#endif // RGBLIGHT_ENABLE
+
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _C_SYSTEM_FREEBASS, // C-system Free Bass
+ _CHROMATONE,
+ _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
+ _QWERTY,
+ _COLEMAK,
+ _ADJUST, // for Fn keys, etc.
+ _FN // for changing layers, octaves, etc.
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION,
+ CSYSTEM, // C-SYSTEM layout
+ BSYSTEM, // B-SYSTEM layout
+ CNTBASC, // CouNTer BASs C-system layout
+ CSYSALL, // C-SYStem ALL layout
+ CSYSFBS, // C-SYStem Free BaSs
+ CHRTONE, // CHRomaTONE layout
+ CFLIP2B, // C-system FLIPped 2(to) Backwards
+ TGLBASS, // ToGgLe BASS unison
+ TGLMICH, // ToGgLe MIdi CHannel separation
+ MELDYAL, // MELody DYad Low
+ MELODYS, // MELODY Single
+ MELDYAH, // MELody DYad High
+ TGLUVEL // ToGgLe Unison VELocity
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+static uint8_t my_tone_status[MIDI_TONE_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* fake B-system */
+ [_FAKE_B_SYSTEM] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ MI_Ab_2,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
+ ),
+
+ /* BASS2row */
+ [_C_SYSTEM_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* C-system entirely */
+ [_C_SYSTEM_ENTIRELY] = LAYOUT(
+ MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
+ MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
+ XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
+ XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
+ MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* C-system free bass */
+ [_C_SYSTEM_FREEBASS] = LAYOUT(
+ MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E,
+ MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb,
+ MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D,
+ MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db,
+ MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* Chromatone */
+ [_CHROMATONE] = LAYOUT(
+ MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
+ MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
+ MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
+ MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
+ MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
+
+ MI_C_2,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
+ MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
+ ),
+
+ [_CFLIP_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_G_5,
+ MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
+ MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
+ MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* COLEMAK */
+ [_COLEMAK] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_DEL,
+ KC_LCTL, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_ENT,
+ KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, SHIF_UP,
+ KC_CAPS, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* ADJUST */
+ [_ADJUST] = LAYOUT_wrapper(
+ _______, _________________FUNC__L___________________, _________________FUNC__R___________________, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, _______,
+ _______, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_BSLS, _______,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+ /* Fn */
+ [_FN] = LAYOUT(
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+ DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ XXXXXXX,
+ MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EEP_RST, _______,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
+ XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+
+// Light up adjust layer keys (left keyboard)
+const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 10, HSV_ORANGE},
+ {21, 2, HSV_ORANGE},
+ {25, 3, HSV_ORANGE},
+ {30, 5, HSV_ORANGE},
+ {37, 2, HSV_ORANGE},
+ {45, 2, HSV_ORANGE},
+ {57, 2, HSV_ORANGE}
+);
+
+// Light up fn layer keys
+const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
+ {0, 7, HSV_ORANGE}, // MIDI layouts
+ {11, 1, HSV_RED}, // RGB_TOG
+ {12, 1, HSV_WHITE}, // DF_QWER
+ {13, 1, HSV_CORAL}, // TGLBASS
+ {24, 1, HSV_WHITE}, // DF_COLE
+ {35, 1, HSV_TEAL}, // TGLMICH
+#if 0 // Color Test
+ {36, 1, HSV_WHITE},
+ {37, 1, HSV_RED},
+ {38, 1, HSV_CORAL},
+ {39, 1, HSV_ORANGE},
+ {40, 1, HSV_GOLDENROD},
+ {41, 1, HSV_GOLD},
+ {42, 1, HSV_YELLOW},
+ {43, 1, HSV_CHARTREUSE},
+ {44, 1, HSV_GREEN},
+ {45, 1, HSV_SPRINGGREEN},
+ {46, 1, HSV_TURQUOISE},
+ {47, 1, HSV_TEAL},
+ {48, 1, HSV_CYAN},
+ {49, 1, HSV_AZURE},
+ {50, 1, HSV_BLUE},
+ {51, 1, HSV_PURPLE},
+ {52, 1, HSV_MAGENTA},
+ {53, 1, HSV_PINK},
+#endif
+ // right keyboard
+ {60, 7, HSV_ORANGE}, // MIDI layouts
+ {74, 1, HSV_CORAL}, // TGLBASS
+ {85, 1, HSV_BLUE}, // MIDI Oct
+ {86, 1, HSV_CYAN}, // MIDI Oct
+ {87, 1, HSV_SPRINGGREEN}, // MIDI Oct
+ {88, 1, HSV_GREEN}, // MIDI Oct
+ {89, 1, HSV_CHARTREUSE}, // MIDI Oct
+ {96, 1, HSV_PINK}, // EEP_RST
+ {98, 7, HSV_ORANGE}, // MIDI layouts
+ {107, 1, HSV_YELLOW}, // MI_VELD
+ {108, 1, HSV_GREEN}, // MI_VELU
+ {110, 1, HSV_RED}, // RGB_TOG
+ {112, 1, HSV_CORAL}, // TGLBASS
+ {119, 1, HSV_CORAL}, // TGLUVEL
+ {120, 1, HSV_CYAN}, // MELDYAL
+ {121, 1, HSV_GOLD}, // MELODYS
+ {122, 1, HSV_SPRINGGREEN} // MELDYAH
+);
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_fn_layer, my_adjust_layer);
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ rgblight_set_layer_state(0, layer_state_cmp(state, _FN));
+ rgblight_set_layer_state(1, layer_state_cmp(state, _ADJUST));
+ return state;
+};
+
+#endif // RGBLIGHT_ENABLE
+
+void my_init(void){
+ // Set octave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+}
+
+void eeconfig_init_user(void) {
+ midi_init();
+ my_init();
+
+ // Used to set octave to MI_OCT_0
+ midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+ // UNISON flags
+ melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+ melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+ melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+ // Reset Bass setting
+ user_config.raw = 0; // default: dyad
+ eeconfig_update_user(user_config.raw);
+
+ // Reset the midi keyboard layout
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+}
+
+void keyboard_post_init_user(void) {
+ my_init();
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ for (uint8_t i = 0; i < MIDI_TONE_COUNT; i++) {
+ my_tone_status[i] = MIDI_INVALID_NOTE;
+ }
+ // load EEPROM data for isSingleBass
+ user_config.raw = eeconfig_read_user();
+
+#ifdef RGBLIGHT_ENABLE
+
+ rgblight_layers = my_rgb_layers;
+
+ // Reset LED off
+ rgblight_sethsv(HSV_BLACK);
+# if defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_sethsv(30, 50, 40);
+# ifdef RGBLIGHT_EFFECT_KNIGHT
+ rgblight_mode(RGBLIGHT_MODE_KNIGHT);
+# elif defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE+3);
+# endif
+# endif
+#endif // RGBLIGHT_ENABLE
+};
+
+void toggle_isSingleBass(void) {
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(before) %u\n", user_config.isSingleBass);
+#endif
+ user_config.isSingleBass = !user_config.isSingleBass;
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(after) %u\n", user_config.isSingleBass);
+#endif
+
+ eeconfig_update_user(user_config.raw);
+}
+
+void toggle_MIDI_channel_separation(void) {
+ if (midi_chord_ch > 0) {
+ midi_chord_ch = 0;
+ midi_bass_ch = 0;
+ } else {
+ midi_chord_ch = 1;
+ midi_bass_ch = 2;
+ }
+}
+
+#ifdef RGBLIGHT_ENABLE
+void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_GREEN, keylocation);
+ break;
+ case _FAKE_B_SYSTEM:
+ keylight_manager(record, HSV_ORANGE, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_YELLOW, keylocation);
+ break;
+ case _CFLIP_BASS2ROW:
+ keylight_manager(record, HSV_PURPLE, keylocation);
+ break;
+ }
+}
+void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_SPRINGGREEN, keylocation);
+ break;
+ case _FAKE_B_SYSTEM:
+ keylight_manager(record, HSV_YELLOW, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+ case _CFLIP_BASS2ROW:
+ keylight_manager(record, HSV_MAGENTA, keylocation);
+ break;
+ }
+}
+#endif // RGBLIGHT_ENABLE
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+#ifdef RGBLIGHT_ENABLE
+ /* prepare for turning on LEDs when keys are pressed. */
+ uint8_t r = record->event.key.row;
+ uint8_t c = record->event.key.col;
+ // uint8_t keylocation = convert_key_to_led[MATRIX_COLS * r + c];
+ // uint8_t keylocation2 = convert_key_to_led2[MATRIX_COLS * r + c];
+ uint8_t keylocation = pgm_read_byte(&convert_key_to_led[MATRIX_COLS * r + c]);
+ uint8_t keylocation2 = pgm_read_byte(&convert_key_to_led2[MATRIX_COLS * r + c]);
+#endif // RGBLIGHT_ENABLE
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // set default layer and save it to EEPROM when MIDI key layers are selected.
+ case CSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASE);
+ }
+ break;
+
+ case BSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_FAKE_B_SYSTEM);
+ }
+ break;
+
+ case CNTBASC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+ }
+ break;
+
+ case CSYSALL:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
+ }
+ break;
+
+ case CHRTONE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CHROMATONE);
+ }
+ break;
+
+ case CFLIP2B:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CFLIP_BASS2ROW);
+ }
+ break;
+
+ case CSYSFBS:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_FREEBASS);
+ }
+ break;
+
+ case TGLBASS:
+ if (record->event.pressed) {
+ toggle_isSingleBass();
+ };
+ break;
+
+ case TGLMICH:
+ if (record->event.pressed) {
+ toggle_MIDI_channel_separation();
+ };
+ break;
+
+ case MELDYAL:
+ if (record->event.pressed) {
+ melody_dyad_low = true;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELODYS:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELDYAH:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = true;
+ };
+ break;
+
+ case TGLUVEL:
+ if (record->event.pressed) {
+ melody_unison_suppress = !melody_unison_suppress;
+ };
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4bass(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ case KC_A ... KC_RGUI: // for QWERTY
+ case KC_GESC:
+ case ADJ_EIS:
+ case MO_ADJ:
+ case SHIF_UP:
+ keylight_manager(record, HSV_RED, keylocation);
+ break;
+#endif
+
+ // Keycodes on the right side.
+ case MIDI_TONE_MIN ... MIDI_TONE_MAX: // notes on the right side keyboard.
+ // root_note is played by process_midi().
+ if ( melody_dyad_high == true ) { // play 1 octave higher as well.
+ my_process_midi(0, keycode, record, my_tone_status, 12, melody_unison_suppress);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_RED, keylocation);
+ keylight_manager(record, HSV_RED, keylocation2);
+#endif
+ } else if ( melody_dyad_low == true ) { // play 1 octave lower as well.
+ my_process_midi(0, keycode, record, my_tone_status, -12, melody_unison_suppress);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_CYAN, keylocation);
+ keylight_manager(record, HSV_CYAN, keylocation2);
+#endif
+ } else {
+ uprintf("layer=%u, default_layer_state = %u\n", biton32(default_layer_state), default_layer_state);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ keylight_manager(record, HSV_GOLDENROD, keylocation2);
+#endif
+ }
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ // case KC_MUTE:
+ case FN_MUTE:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+ }
+ // If console is enabled, it will print the matrix position and status of each key pressed
+#if defined(CONSOLE_ENABLE) && defined(RGBLIGHT_ENABLE)
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+ uprintf("r=%d, c=%d, keyloc=%d, keyloc2=%d, matrix_col x r + c = %d\n", r, c, keylocation, keylocation2, MATRIX_COLS * r + c);
+#endif
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/3araht/readme.md b/keyboards/giabalanai/keymaps/3araht/readme.md
new file mode 100644
index 0000000000..a731456db6
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/3araht/readme.md
@@ -0,0 +1 @@
+# A personal keymap for giabalanai with RGBLIGHT_ENABLE = yes in rules.mk, which 3araht is using.
diff --git a/keyboards/giabalanai/keymaps/3araht/rules.mk b/keyboards/giabalanai/keymaps/3araht/rules.mk
new file mode 100644
index 0000000000..2ecc5f55c1
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/3araht/rules.mk
@@ -0,0 +1,4 @@
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+CONSOLE_ENABLE = no # Console for debug
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/default/keymap.c b/keyboards/giabalanai/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7b5f524a4f
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default/keymap.c
@@ -0,0 +1,259 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+#define DFCBASE DF(_C_SYSTEM_BASE)
+#define DF_QWER DF(_QWERTY)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _QWERTY, // just in case
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, KC_RCTRL,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Fn */
+ [_FN] = LAYOUT(
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+void keyboard_post_init_user(void) {
+ // Set otave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ default_layer_set(1UL << _C_SYSTEM_BASE);
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/default/readme.md b/keyboards/giabalanai/keymaps/default/readme.md
new file mode 100644
index 0000000000..d929aa1f5e
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for giabalanai
diff --git a/keyboards/giabalanai/keymaps/default/rules.mk b/keyboards/giabalanai/keymaps/default/rules.mk
new file mode 100644
index 0000000000..8006608ea9
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
new file mode 100644
index 0000000000..684287ba98
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#define GIABARINAIX2
+#ifdef GIABARINAIX2
+# undef MATRIX_ROW_PINS_RIGHT
+# undef MATRIX_COL_PINS_RIGHT
+
+# ifdef RGBLIGHT_ENABLE
+# undef RGBLED_NUM
+# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_MAP
+# define RGBLIGHT_LED_MAP { \
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
+ 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, \
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, \
+ 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, \
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, \
+ \
+ 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, \
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, \
+ 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, \
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
+ 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48 \
+ }
+# endif
+#endif
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/info.json b/keyboards/giabalanai/keymaps/default_giabarinaix2/info.json
new file mode 100644
index 0000000000..20a52326dd
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/info.json
@@ -0,0 +1,146 @@
+{
+ "keyboard_name": "giabarinaix2",
+ "manufacturer": "3araht",
+ "url": "https://github.com/3araht",
+ "maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B2",
+ "device_version": "0.0.1"
+ },
+ "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": "l07", "x": 7, "y": 0},
+ {"label": "l08", "x": 8, "y": 0},
+ {"label": "l09", "x": 9, "y": 0},
+ {"label": "l0a", "x": 10, "y": 0},
+ {"label": "l0b", "x": 11, "y": 0},
+
+ {"label": "r00", "x": 14.5, "y": 0},
+ {"label": "r01", "x": 15.5, "y": 0},
+ {"label": "r02", "x": 16.5, "y": 0},
+ {"label": "r03", "x": 17.5, "y": 0},
+ {"label": "r04", "x": 18.5, "y": 0},
+ {"label": "r05", "x": 19.5, "y": 0},
+ {"label": "r06", "x": 20.5, "y": 0},
+ {"label": "r07", "x": 21.5, "y": 0},
+ {"label": "r08", "x": 22.5, "y": 0},
+ {"label": "r09", "x": 23.5, "y": 0},
+ {"label": "r0a", "x": 24.5, "y": 0},
+ {"label": "r0b", "x": 25.5, "y": 0},
+
+ {"label": "l10", "x": 0.5, "y": 1},
+ {"label": "l11", "x": 1.5, "y": 1},
+ {"label": "l12", "x": 2.5, "y": 1},
+ {"label": "l13", "x": 3.5, "y": 1},
+ {"label": "l14", "x": 4.5, "y": 1},
+ {"label": "l15", "x": 5.5, "y": 1},
+ {"label": "l16", "x": 6.5, "y": 1},
+ {"label": "l17", "x": 7.5, "y": 1},
+ {"label": "l18", "x": 8.5, "y": 1},
+ {"label": "l19", "x": 9.5, "y": 1},
+ {"label": "l1a", "x": 10.5, "y": 1},
+ {"label": "l1b", "x": 11.5, "y": 1},
+
+ {"label": "r10", "x": 15, "y": 1},
+ {"label": "r11", "x": 16, "y": 1},
+ {"label": "r12", "x": 17, "y": 1},
+ {"label": "r13", "x": 18, "y": 1},
+ {"label": "r14", "x": 19, "y": 1},
+ {"label": "r15", "x": 20, "y": 1},
+ {"label": "r16", "x": 21, "y": 1},
+ {"label": "r17", "x": 22, "y": 1},
+ {"label": "r18", "x": 23, "y": 1},
+ {"label": "r19", "x": 24, "y": 1},
+ {"label": "r1a", "x": 25, "y": 1},
+ {"label": "r1b", "x": 26, "y": 1},
+
+ {"label": "l20", "x": 1, "y": 2},
+ {"label": "l21", "x": 2, "y": 2},
+ {"label": "l22", "x": 3, "y": 2},
+ {"label": "l23", "x": 4, "y": 2},
+ {"label": "l24", "x": 5, "y": 2},
+ {"label": "l25", "x": 6, "y": 2},
+ {"label": "l26", "x": 7, "y": 2},
+ {"label": "l27", "x": 8, "y": 2},
+ {"label": "l28", "x": 9, "y": 2},
+ {"label": "l29", "x": 10, "y": 2},
+ {"label": "l2a", "x": 11, "y": 2},
+ {"label": "l2b", "x": 12, "y": 2},
+
+ {"label": "r20", "x": 15.5, "y": 2},
+ {"label": "r21", "x": 16.5, "y": 2},
+ {"label": "r22", "x": 17.5, "y": 2},
+ {"label": "r23", "x": 18.5, "y": 2},
+ {"label": "r24", "x": 19.5, "y": 2},
+ {"label": "r25", "x": 20.5, "y": 2},
+ {"label": "r26", "x": 21.5, "y": 2},
+ {"label": "r27", "x": 22.5, "y": 2},
+ {"label": "r28", "x": 23.5, "y": 2},
+ {"label": "r29", "x": 24.5, "y": 2},
+ {"label": "r2a", "x": 25.5, "y": 2},
+ {"label": "r2b", "x": 26.5, "y": 2},
+
+ {"label": "l30", "x": 1.5, "y": 3},
+ {"label": "l31", "x": 2.5, "y": 3},
+ {"label": "l32", "x": 3.5, "y": 3},
+ {"label": "l33", "x": 4.5, "y": 3},
+ {"label": "l34", "x": 5.5, "y": 3},
+ {"label": "l35", "x": 6.5, "y": 3},
+ {"label": "l36", "x": 7.5, "y": 3},
+ {"label": "l37", "x": 8.5, "y": 3},
+ {"label": "l38", "x": 9.5, "y": 3},
+ {"label": "l39", "x": 10.5, "y": 3},
+ {"label": "l3a", "x": 11.5, "y": 3},
+ {"label": "l3b", "x": 12.5, "y": 3},
+
+ {"label": "r30", "x": 16, "y": 3},
+ {"label": "r31", "x": 17, "y": 3},
+ {"label": "r32", "x": 18, "y": 3},
+ {"label": "r33", "x": 19, "y": 3},
+ {"label": "r34", "x": 20, "y": 3},
+ {"label": "r35", "x": 21, "y": 3},
+ {"label": "r36", "x": 22, "y": 3},
+ {"label": "r37", "x": 23, "y": 3},
+ {"label": "r38", "x": 24, "y": 3},
+ {"label": "r39", "x": 25, "y": 3},
+ {"label": "r3a", "x": 26, "y": 3},
+ {"label": "r3b", "x": 27, "y": 3},
+
+ {"label": "l40", "x": 2, "y": 4},
+ {"label": "l41", "x": 3, "y": 4},
+ {"label": "l42", "x": 4, "y": 4},
+ {"label": "l43", "x": 5, "y": 4},
+ {"label": "l44", "x": 6, "y": 4},
+ {"label": "l45", "x": 7, "y": 4},
+ {"label": "l46", "x": 8, "y": 4},
+ {"label": "l47", "x": 9, "y": 4},
+ {"label": "l48", "x": 10, "y": 4},
+ {"label": "l49", "x": 11, "y": 4},
+ {"label": "l4a", "x": 12, "y": 4},
+ {"label": "l4b", "x": 13, "y": 4},
+
+ {"label": "r40", "x": 16.5, "y": 4},
+ {"label": "r41", "x": 17.5, "y": 4},
+ {"label": "r42", "x": 18.5, "y": 4},
+ {"label": "r43", "x": 19.5, "y": 4},
+ {"label": "r44", "x": 20.5, "y": 4},
+ {"label": "r45", "x": 21.5, "y": 4},
+ {"label": "r46", "x": 22.5, "y": 4},
+ {"label": "r47", "x": 23.5, "y": 4},
+ {"label": "r48", "x": 24.5, "y": 4},
+ {"label": "r49", "x": 25.5, "y": 4},
+ {"label": "r4a", "x": 26.5, "y": 4},
+ {"label": "r4b", "x": 27.5, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c b/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c
new file mode 100644
index 0000000000..82d86594df
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c
@@ -0,0 +1,262 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper_giabarinaix2(...) LAYOUT_giabarinaix2(__VA_ARGS__)
+
+#define DFCBASE DF(_C_SYSTEM_BASE)
+#define DF_QWER DF(_QWERTY)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _QWERTY, // just in case
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT_giabarinaix2(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
+ MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
+ MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper_giabarinaix2(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, KC_RCTRL,
+
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, _______
+ ),
+
+ /* Fn */
+ [_FN] = LAYOUT_giabarinaix2(
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+void keyboard_post_init_user(void) {
+ // Set otave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ default_layer_set(1UL << _C_SYSTEM_BASE);
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/readme.md b/keyboards/giabalanai/keymaps/default_giabarinaix2/readme.md
new file mode 100644
index 0000000000..ecdae4723d
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/readme.md
@@ -0,0 +1 @@
+# The default keymap for giabarinaix2
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/rules.mk b/keyboards/giabalanai/keymaps/default_giabarinaix2/rules.mk
new file mode 100644
index 0000000000..3542233884
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/rules.mk
@@ -0,0 +1,3 @@
+ENCODER_ENABLE = no # encoder on mute button
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/config.h b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
new file mode 100644
index 0000000000..684287ba98
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/config.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#define GIABARINAIX2
+#ifdef GIABARINAIX2
+# undef MATRIX_ROW_PINS_RIGHT
+# undef MATRIX_COL_PINS_RIGHT
+
+# ifdef RGBLIGHT_ENABLE
+# undef RGBLED_NUM
+# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_MAP
+# define RGBLIGHT_LED_MAP { \
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
+ 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, \
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, \
+ 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, \
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, \
+ \
+ 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, \
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, \
+ 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, \
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
+ 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48 \
+ }
+# endif
+#endif
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/info.json b/keyboards/giabalanai/keymaps/giabarinaix2led/info.json
new file mode 100644
index 0000000000..20a52326dd
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/info.json
@@ -0,0 +1,146 @@
+{
+ "keyboard_name": "giabarinaix2",
+ "manufacturer": "3araht",
+ "url": "https://github.com/3araht",
+ "maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B2",
+ "device_version": "0.0.1"
+ },
+ "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": "l07", "x": 7, "y": 0},
+ {"label": "l08", "x": 8, "y": 0},
+ {"label": "l09", "x": 9, "y": 0},
+ {"label": "l0a", "x": 10, "y": 0},
+ {"label": "l0b", "x": 11, "y": 0},
+
+ {"label": "r00", "x": 14.5, "y": 0},
+ {"label": "r01", "x": 15.5, "y": 0},
+ {"label": "r02", "x": 16.5, "y": 0},
+ {"label": "r03", "x": 17.5, "y": 0},
+ {"label": "r04", "x": 18.5, "y": 0},
+ {"label": "r05", "x": 19.5, "y": 0},
+ {"label": "r06", "x": 20.5, "y": 0},
+ {"label": "r07", "x": 21.5, "y": 0},
+ {"label": "r08", "x": 22.5, "y": 0},
+ {"label": "r09", "x": 23.5, "y": 0},
+ {"label": "r0a", "x": 24.5, "y": 0},
+ {"label": "r0b", "x": 25.5, "y": 0},
+
+ {"label": "l10", "x": 0.5, "y": 1},
+ {"label": "l11", "x": 1.5, "y": 1},
+ {"label": "l12", "x": 2.5, "y": 1},
+ {"label": "l13", "x": 3.5, "y": 1},
+ {"label": "l14", "x": 4.5, "y": 1},
+ {"label": "l15", "x": 5.5, "y": 1},
+ {"label": "l16", "x": 6.5, "y": 1},
+ {"label": "l17", "x": 7.5, "y": 1},
+ {"label": "l18", "x": 8.5, "y": 1},
+ {"label": "l19", "x": 9.5, "y": 1},
+ {"label": "l1a", "x": 10.5, "y": 1},
+ {"label": "l1b", "x": 11.5, "y": 1},
+
+ {"label": "r10", "x": 15, "y": 1},
+ {"label": "r11", "x": 16, "y": 1},
+ {"label": "r12", "x": 17, "y": 1},
+ {"label": "r13", "x": 18, "y": 1},
+ {"label": "r14", "x": 19, "y": 1},
+ {"label": "r15", "x": 20, "y": 1},
+ {"label": "r16", "x": 21, "y": 1},
+ {"label": "r17", "x": 22, "y": 1},
+ {"label": "r18", "x": 23, "y": 1},
+ {"label": "r19", "x": 24, "y": 1},
+ {"label": "r1a", "x": 25, "y": 1},
+ {"label": "r1b", "x": 26, "y": 1},
+
+ {"label": "l20", "x": 1, "y": 2},
+ {"label": "l21", "x": 2, "y": 2},
+ {"label": "l22", "x": 3, "y": 2},
+ {"label": "l23", "x": 4, "y": 2},
+ {"label": "l24", "x": 5, "y": 2},
+ {"label": "l25", "x": 6, "y": 2},
+ {"label": "l26", "x": 7, "y": 2},
+ {"label": "l27", "x": 8, "y": 2},
+ {"label": "l28", "x": 9, "y": 2},
+ {"label": "l29", "x": 10, "y": 2},
+ {"label": "l2a", "x": 11, "y": 2},
+ {"label": "l2b", "x": 12, "y": 2},
+
+ {"label": "r20", "x": 15.5, "y": 2},
+ {"label": "r21", "x": 16.5, "y": 2},
+ {"label": "r22", "x": 17.5, "y": 2},
+ {"label": "r23", "x": 18.5, "y": 2},
+ {"label": "r24", "x": 19.5, "y": 2},
+ {"label": "r25", "x": 20.5, "y": 2},
+ {"label": "r26", "x": 21.5, "y": 2},
+ {"label": "r27", "x": 22.5, "y": 2},
+ {"label": "r28", "x": 23.5, "y": 2},
+ {"label": "r29", "x": 24.5, "y": 2},
+ {"label": "r2a", "x": 25.5, "y": 2},
+ {"label": "r2b", "x": 26.5, "y": 2},
+
+ {"label": "l30", "x": 1.5, "y": 3},
+ {"label": "l31", "x": 2.5, "y": 3},
+ {"label": "l32", "x": 3.5, "y": 3},
+ {"label": "l33", "x": 4.5, "y": 3},
+ {"label": "l34", "x": 5.5, "y": 3},
+ {"label": "l35", "x": 6.5, "y": 3},
+ {"label": "l36", "x": 7.5, "y": 3},
+ {"label": "l37", "x": 8.5, "y": 3},
+ {"label": "l38", "x": 9.5, "y": 3},
+ {"label": "l39", "x": 10.5, "y": 3},
+ {"label": "l3a", "x": 11.5, "y": 3},
+ {"label": "l3b", "x": 12.5, "y": 3},
+
+ {"label": "r30", "x": 16, "y": 3},
+ {"label": "r31", "x": 17, "y": 3},
+ {"label": "r32", "x": 18, "y": 3},
+ {"label": "r33", "x": 19, "y": 3},
+ {"label": "r34", "x": 20, "y": 3},
+ {"label": "r35", "x": 21, "y": 3},
+ {"label": "r36", "x": 22, "y": 3},
+ {"label": "r37", "x": 23, "y": 3},
+ {"label": "r38", "x": 24, "y": 3},
+ {"label": "r39", "x": 25, "y": 3},
+ {"label": "r3a", "x": 26, "y": 3},
+ {"label": "r3b", "x": 27, "y": 3},
+
+ {"label": "l40", "x": 2, "y": 4},
+ {"label": "l41", "x": 3, "y": 4},
+ {"label": "l42", "x": 4, "y": 4},
+ {"label": "l43", "x": 5, "y": 4},
+ {"label": "l44", "x": 6, "y": 4},
+ {"label": "l45", "x": 7, "y": 4},
+ {"label": "l46", "x": 8, "y": 4},
+ {"label": "l47", "x": 9, "y": 4},
+ {"label": "l48", "x": 10, "y": 4},
+ {"label": "l49", "x": 11, "y": 4},
+ {"label": "l4a", "x": 12, "y": 4},
+ {"label": "l4b", "x": 13, "y": 4},
+
+ {"label": "r40", "x": 16.5, "y": 4},
+ {"label": "r41", "x": 17.5, "y": 4},
+ {"label": "r42", "x": 18.5, "y": 4},
+ {"label": "r43", "x": 19.5, "y": 4},
+ {"label": "r44", "x": 20.5, "y": 4},
+ {"label": "r45", "x": 21.5, "y": 4},
+ {"label": "r46", "x": 22.5, "y": 4},
+ {"label": "r47", "x": 23.5, "y": 4},
+ {"label": "r48", "x": 24.5, "y": 4},
+ {"label": "r49", "x": 25.5, "y": 4},
+ {"label": "r4a", "x": 26.5, "y": 4},
+ {"label": "r4b", "x": 27.5, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c b/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c
new file mode 100644
index 0000000000..1e773bd233
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c
@@ -0,0 +1,464 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper_giabarinaix2(...) LAYOUT_giabarinaix2(__VA_ARGS__)
+
+#define DFCBASE DF(_C_SYSTEM_BASE)
+#define DF_QWER DF(_QWERTY)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+#ifdef RGBLIGHT_ENABLE
+/* used to specify there is no LED on the keylocation. */
+# define NO_LED 255
+#endif // RGBLIGHT_ENABLE
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _CHROMATONE,
+ _QWERTY, // just in case
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION,
+ CSYSTEM, // C-SYSTEM layout
+ CNTBASC, // CouNTer BASs C-system layout
+ CSYSALL, // C-SYStem ALL layout
+ CHRTONE, // CHRomaTONE layout
+ TGLMICH // ToGgLe MIdi CHannel separation
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT_giabarinaix2(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
+ MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
+ MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
+ ),
+
+ /* BASS2row */
+ [_C_SYSTEM_BASS2ROW] = LAYOUT_giabarinaix2(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+
+ MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
+ MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
+ MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
+ ),
+
+ /* C-system entirely */
+ [_C_SYSTEM_ENTIRELY] = LAYOUT_giabarinaix2(
+ XXXXXXX, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
+ XXXXXXX, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
+ XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
+ XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
+ MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
+
+ MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5,
+ MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5,
+ MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5, FN_MUTE
+ ),
+
+ /* Chromatone */
+ [_CHROMATONE] = LAYOUT_giabarinaix2(
+ XXXXXXX, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1,
+ XXXXXXX, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1,
+ XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1,
+ MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1,
+ MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
+
+ MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3,
+ MI_Bb_1, MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3,
+ MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3,
+ MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, FN_MUTE
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper_giabarinaix2(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, KC_RCTRL,
+
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, _______
+ ),
+
+ /* Fn */
+ [_FN] = LAYOUT_giabarinaix2(
+ CSYSTEM, CNTBASC, CSYSALL, CHRTONE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ CSYSTEM, CNTBASC, CSYSALL, CHRTONE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, TGLMICH,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+
+// Light up fn layer keys
+const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
+ {0, 4, HSV_ORANGE}, // MIDI layouts
+ {11, 1, HSV_RED}, // RGB_TOG
+ {12, 1, HSV_WHITE}, // DF_QWER
+ {35, 1, HSV_TEAL}, // TGLMICH
+
+ // right keyboard
+ {60, 4, HSV_ORANGE}, // MIDI layouts
+ {71 , 1, HSV_RED}, // RGB_TOG
+ {72, 1, HSV_WHITE}, // DF_QWER
+ {83, 1, HSV_TEAL} // TGLMICH
+);
+
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_fn_layer);
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ rgblight_set_layer_state(0, layer_state_cmp(state, _FN));
+ return state;
+};
+
+#endif // RGBLIGHT_ENABLE
+void keyboard_post_init_user(void) {
+ // Set otave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+#ifdef RGBLIGHT_ENABLE
+
+ rgblight_layers = my_rgb_layers;
+
+ // Reset LED off
+ rgblight_sethsv(HSV_BLACK);
+# if defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_sethsv(30, 50, 40);
+# ifdef RGBLIGHT_EFFECT_KNIGHT
+ rgblight_mode(RGBLIGHT_MODE_KNIGHT);
+# elif defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE+3);
+# endif
+# endif
+#endif // RGBLIGHT_ENABLE
+};
+
+void toggle_MIDI_channel_separation(void) {
+ if (midi_chord_ch > 0) {
+ midi_chord_ch = 0;
+ midi_bass_ch = 0;
+ } else {
+ midi_chord_ch = 1;
+ midi_bass_ch = 2;
+ }
+}
+
+#ifdef RGBLIGHT_ENABLE
+void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_GREEN, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_YELLOW, keylocation);
+ break;
+ }
+}
+void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
+ switch (biton32(default_layer_state)) {
+ case _C_SYSTEM_BASE:
+ keylight_manager(record, HSV_SPRINGGREEN, keylocation);
+ break;
+ case _C_SYSTEM_BASS2ROW:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+ }
+}
+#endif // RGBLIGHT_ENABLE
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+ #ifdef RGBLIGHT_ENABLE
+ /* prepare for turning on LEDs when keys are pressed. */
+ uint8_t r = record->event.key.row;
+ uint8_t c = record->event.key.col;
+ uint8_t keylocation = pgm_read_byte(&convert_key_to_led[MATRIX_COLS * r + c]);
+ #endif // RGBLIGHT_ENABLE
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // set default layer and save it to EEPROM when MIDI key layers are selected.
+ case CSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASE);
+ }
+ break;
+
+ case CNTBASC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+ }
+ break;
+
+ case CSYSALL:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
+ }
+ break;
+
+ case CHRTONE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CHROMATONE);
+ }
+ break;
+
+ case TGLMICH:
+ if (record->event.pressed) {
+ toggle_MIDI_channel_separation();
+ };
+ break;
+
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4bass(record, keylocation);
+#endif
+ break;
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+#ifdef RGBLIGHT_ENABLE
+ switch_keylight_color4chords(record, keylocation);
+#endif
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ case KC_A ... KC_RGUI: // for QWERTY
+ case KC_GESC:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+ // Keycodes on the right side.
+#ifdef RGBLIGHT_ENABLE
+ case MIDI_TONE_MIN ... MIDI_TONE_MAX: // notes on the right side.
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+ // case KC_MUTE:
+ case FN_MUTE:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+ }
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/readme.md b/keyboards/giabalanai/keymaps/giabarinaix2led/readme.md
new file mode 100644
index 0000000000..89139ec1b3
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/readme.md
@@ -0,0 +1 @@
+# A keymap for giabarinaix2 with LEDs.
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/rules.mk b/keyboards/giabalanai/keymaps/giabarinaix2led/rules.mk
new file mode 100644
index 0000000000..d8dc6a10e7
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/rules.mk
@@ -0,0 +1,3 @@
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/party/keymap.c b/keyboards/giabalanai/keymaps/party/keymap.c
new file mode 100644
index 0000000000..5a4361e5ae
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/party/keymap.c
@@ -0,0 +1,792 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+#include "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+#define DF_QWER DF(_QWERTY)
+#define DF_COLE DF(_COLEMAK)
+#define MO_ADJ MO(_ADJUST)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+#define SHIF_UP RSFT_T(KC_UP)
+#define ADJ_EIS LT(_ADJUST,KC_LANG2)
+#define MIS_KAN LT(_MISC,KC_LANG1)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// UNISON flags
+static bool melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+static bool melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+
+static bool melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+// To record the status of Bass Chord (single or dyad, default: dyad.)
+typedef union {
+ uint32_t raw;
+ struct {
+ bool isSingleBass:1;
+ };
+} user_config_t;
+user_config_t user_config;
+
+#define IS_SINGLE_BASS() (user_config.isSingleBass)
+
+#ifdef RGBLIGHT_ENABLE
+/* used to specify there is no LED on the keylocation. */
+# define NO_LED 255
+#endif // RGBLIGHT_ENABLE
+
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
+ _C_SYSTEM_BASS2ROW, // counter bass system
+ _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
+ _C_SYSTEM_FREEBASS, // C-system Free Bass
+ _CHROMATONE,
+ _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
+ _QWERTY,
+ _COLEMAK,
+ _ADJUST, // for Fn keys, etc.
+ _FN // for changing layers, octaves, etc.
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION,
+ CSYSTEM, // C-SYSTEM layout
+ BSYSTEM, // B-SYSTEM layout
+ CNTBASC, // CouNTer BASs C-system layout
+ CSYSALL, // C-SYStem ALL layout
+ CSYSFBS, // C-SYStem Free BaSs
+ CHRTONE, // CHRomaTONE layout
+ CFLIP2B, // C-system FLIPped 2(to) Backwards
+ TGLBASS, // ToGgLe BASS unison
+ TGLMICH, // ToGgLe MIdi CHannel separation
+ MELDYAL, // MELody DYad Low
+ MELODYS, // MELODY Single
+ MELDYAH, // MELody DYad High
+ TGLUVEL // ToGgLe Unison VELocity
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+static uint8_t my_tone_status[MIDI_TONE_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* fake B-system */
+ [_FAKE_B_SYSTEM] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ MI_Ab_2,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
+ ),
+
+ /* BASS2row */
+ [_C_SYSTEM_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* C-system entirely */
+ [_C_SYSTEM_ENTIRELY] = LAYOUT(
+ MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
+ MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
+ XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
+ XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
+ MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* C-system free bass */
+ [_C_SYSTEM_FREEBASS] = LAYOUT(
+ MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E,
+ MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb,
+ MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D,
+ MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db,
+ MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* Chromatone */
+ [_CHROMATONE] = LAYOUT(
+ MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
+ MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
+ MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
+ MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
+ MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
+
+ MI_C_2,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
+ MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
+ MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
+ ),
+
+ [_CFLIP_BASS2ROW] = LAYOUT(
+ MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+
+ MI_G_5,
+ MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
+ MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
+ MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* COLEMAK */
+ [_COLEMAK] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_DEL,
+ KC_LCTL, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_ENT,
+ KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, SHIF_UP,
+ KC_CAPS, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LANG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* ADJUST */
+ [_ADJUST] = LAYOUT_wrapper(
+ _______, _________________FUNC__L___________________, _________________FUNC__R___________________, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, _______,
+ _______, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_BSLS, _______,
+
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+ /* Fn */
+ [_FN] = LAYOUT(
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
+ DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ XXXXXXX,
+ MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EEP_RST, _______,
+ CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
+ XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
+ [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
+ [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
+ [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+
+// Light up adjust layer keys (left keyboard)
+const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 10, HSV_ORANGE},
+ {21, 2, HSV_ORANGE},
+ {25, 3, HSV_ORANGE},
+ {30, 5, HSV_ORANGE},
+ {37, 2, HSV_ORANGE},
+ {45, 2, HSV_ORANGE},
+ {57, 2, HSV_ORANGE}
+);
+
+// Light up fn layer keys
+const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
+ {0, 7, HSV_ORANGE}, // MIDI layouts
+ {11, 1, HSV_RED}, // RGB_TOG
+ {12, 1, HSV_WHITE}, // DF_QWER
+ {13, 1, HSV_CORAL}, // TGLBASS
+ {24, 1, HSV_WHITE}, // DF_COLE
+ {35, 1, HSV_TEAL}, // TGLMICH
+#if 0 // Color Test
+ {36, 1, HSV_WHITE},
+ {37, 1, HSV_RED},
+ {38, 1, HSV_CORAL},
+ {39, 1, HSV_ORANGE},
+ {40, 1, HSV_GOLDENROD},
+ {41, 1, HSV_GOLD},
+ {42, 1, HSV_YELLOW},
+ {43, 1, HSV_CHARTREUSE},
+ {44, 1, HSV_GREEN},
+ {45, 1, HSV_SPRINGGREEN},
+ {46, 1, HSV_TURQUOISE},
+ {47, 1, HSV_TEAL},
+ {48, 1, HSV_CYAN},
+ {49, 1, HSV_AZURE},
+ {50, 1, HSV_BLUE},
+ {51, 1, HSV_PURPLE},
+ {52, 1, HSV_MAGENTA},
+ {53, 1, HSV_PINK},
+#endif
+ // right keyboard
+ {60, 7, HSV_ORANGE}, // MIDI layouts
+ {74, 1, HSV_CORAL}, // TGLBASS
+ {85, 1, HSV_BLUE}, // MIDI Oct
+ {86, 1, HSV_CYAN}, // MIDI Oct
+ {87, 1, HSV_SPRINGGREEN}, // MIDI Oct
+ {88, 1, HSV_GREEN}, // MIDI Oct
+ {89, 1, HSV_CHARTREUSE}, // MIDI Oct
+ {96, 1, HSV_PINK}, // EEP_RST
+ {98, 7, HSV_ORANGE}, // MIDI layouts
+ {107, 1, HSV_YELLOW}, // MI_VELD
+ {108, 1, HSV_GREEN}, // MI_VELU
+ {110, 1, HSV_RED}, // RGB_TOG
+ {112, 1, HSV_CORAL}, // TGLBASS
+ {119, 1, HSV_CORAL}, // TGLUVEL
+ {120, 1, HSV_CYAN}, // MELDYAL
+ {121, 1, HSV_GOLD}, // MELODYS
+ {122, 1, HSV_SPRINGGREEN} // MELDYAH
+);
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_fn_layer, my_adjust_layer);
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ rgblight_set_layer_state(0, layer_state_cmp(state, _FN));
+ rgblight_set_layer_state(1, layer_state_cmp(state, _ADJUST));
+ return state;
+};
+
+#endif // RGBLIGHT_ENABLE
+
+void my_init(void){
+ // Set octave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+}
+
+void eeconfig_init_user(void) {
+ midi_init();
+ my_init();
+
+ // Used to set octave to MI_OCT_0
+ midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+ // UNISON flags
+ melody_dyad_high = false; // true when +1 octave unison dyad is enabled.
+ melody_dyad_low = false; // true when -1 octave unison dyad is enabled.
+ melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO
+
+ // Reset Bass setting
+ user_config.raw = 0; // default: dyad
+ eeconfig_update_user(user_config.raw);
+
+ // Reset the midi keyboard layout
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_sethsv(HSV_BLUE);
+ // party mode (for LED soldering test.)
+ rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+#endif
+}
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void) {
+ uint8_t i;
+ // uint32_t mode = rgblight_get_mode();
+
+ if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
+
+ uint8_t layer = biton32(layer_state);
+
+ switch (layer) {
+ case _ADJUST:
+ rgb_matrix_set_color(30, RGB_DARKORANGE);
+ rgb_matrix_set_color(34, RGB_DARKORANGE);
+ // rgb_matrix_set_color(72, RGB_DARKORANGE);
+ break;
+ case _FN:
+ for (i = 0;i < 7;i++) {
+ rgb_matrix_set_color(74 - i, RGB_DARKORANGE); // MIDI layouts
+ // right keyboard
+ rgb_matrix_set_color(i, RGB_DARKORANGE); // MIDI layouts
+ rgb_matrix_set_color(50 - i, RGB_DARKORANGE); // MIDI layouts
+ }
+
+ // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
+ rgb_matrix_set_color(64, RGB_DARKBLUE); // RGB_MOD
+ rgb_matrix_set_color(63, RGB_DARKRED); // RGB_TOG
+ rgb_matrix_set_color(76, RGB_DARKCORAL); // TGLBASS
+
+ rgb_matrix_set_color(75, RGB_DARKWHITE); // DF_QWER
+ rgb_matrix_set_color(98, RGB_DARKWHITE); // DF_COLE
+ rgb_matrix_set_color(87, RGB_DARKTEAL); // TGLMICH
+
+ rgb_matrix_set_color(23, RGB_DARKCORAL); // TGLBASS
+ rgb_matrix_set_color(26, RGB_DARKBLUE); // MIDI Oct
+ rgb_matrix_set_color(27, RGB_DARKCYAN); // MIDI Oct
+ rgb_matrix_set_color(28, RGB_DARKSPRINGGREEN); // MIDI Oct
+ rgb_matrix_set_color(29, RGB_DARKGREEN); // MIDI Oct
+ rgb_matrix_set_color(30, RGB_DARKCHARTREUSE); // MIDI Oct
+ rgb_matrix_set_color(37, RGB_DARKPINK); // EEP_RST
+ rgb_matrix_set_color(41, RGB_DARKYELLOW); // MI_VELD
+ rgb_matrix_set_color(40, RGB_DARKGREEN); // MI_VELU
+ rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_MOD
+ rgb_matrix_set_color(38, RGB_DARKRED); // RGB_TOG
+ rgb_matrix_set_color(52, RGB_DARKCORAL); // TGLBASS
+ rgb_matrix_set_color(59, RGB_DARKCORAL); // TGLUVEL
+ rgb_matrix_set_color(60, RGB_DARKCYAN); // MELDYAL
+ rgb_matrix_set_color(61, RGB_DARKGOLD); // MELODYS
+ rgb_matrix_set_color(62, RGB_DARKSPRINGGREEN); // MELDYAH
+ break;
+ }
+ }
+}
+#endif
+
+void keyboard_post_init_user(void) {
+ my_init();
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ for (uint8_t i = 0; i < MIDI_TONE_COUNT; i++) {
+ my_tone_status[i] = MIDI_INVALID_NOTE;
+ }
+ // load EEPROM data for isSingleBass
+ user_config.raw = eeconfig_read_user();
+
+#ifdef RGBLIGHT_ENABLE
+
+ rgblight_layers = my_rgb_layers;
+
+ // Reset LED off
+ rgblight_sethsv(HSV_BLACK);
+# if defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_sethsv(30, 50, 40);
+# ifdef RGBLIGHT_EFFECT_KNIGHT
+ rgblight_mode(RGBLIGHT_MODE_KNIGHT);
+# elif defined(RGBLIGHT_EFFECT_TWINKLE)
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE+3);
+# endif
+# endif
+#endif // RGBLIGHT_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_sethsv(HSV_BLUE);
+ // party mode (for LED soldering test.)
+ rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+#endif
+};
+
+void toggle_isSingleBass(void) {
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(before) %u\n", user_config.isSingleBass);
+#endif
+ user_config.isSingleBass = !user_config.isSingleBass;
+#ifdef CONSOLE_ENABLE
+ uprintf("isSingleBass(after) %u\n", user_config.isSingleBass);
+#endif
+
+ eeconfig_update_user(user_config.raw);
+}
+
+void toggle_MIDI_channel_separation(void) {
+ if (midi_chord_ch > 0) {
+ midi_chord_ch = 0;
+ midi_bass_ch = 0;
+ } else {
+ midi_chord_ch = 1;
+ midi_bass_ch = 2;
+ }
+}
+
+#ifdef RGBLIGHT_ENABLE
+void keylight_manager(keyrecord_t *record, uint8_t hue, uint8_t sat, uint8_t val, uint8_t keylocation) {
+ if (keylocation == NO_LED) {
+ return; // do nothing.
+# ifdef CONSOLE_ENABLE
+ uprintf("keylight_manager, NO_LED\n");
+# endif
+ }
+
+ if (record->event.pressed) {
+ rgblight_sethsv_at(hue, sat, val, keylocation);
+ } else {
+ rgblight_sethsv_at(HSV_BLACK, keylocation);
+ }
+}
+#endif // RGBLIGHT_ENABLE
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+#ifdef RGBLIGHT_ENABLE
+ /* prepare for turning on LEDs when keys are pressed. */
+ uint8_t r = record->event.key.row;
+ uint8_t c = record->event.key.col;
+ // uint8_t keylocation = convert_key_to_led[MATRIX_COLS * r + c];
+ // uint8_t keylocation2 = convert_key_to_led2[MATRIX_COLS * r + c];
+ uint8_t keylocation = pgm_read_byte(&convert_key_to_led[MATRIX_COLS * r + c]);
+ uint8_t keylocation2 = pgm_read_byte(&convert_key_to_led2[MATRIX_COLS * r + c]);
+#endif // RGBLIGHT_ENABLE
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // set default layer and save it to EEPROM when MIDI key layers are selected.
+ case CSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASE);
+ }
+ break;
+
+ case BSYSTEM:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_FAKE_B_SYSTEM);
+ }
+ break;
+
+ case CNTBASC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW);
+ }
+ break;
+
+ case CSYSALL:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
+ }
+ break;
+
+ case CHRTONE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CHROMATONE);
+ }
+ break;
+
+ case CFLIP2B:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_CFLIP_BASS2ROW);
+ }
+ break;
+
+ case CSYSFBS:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_C_SYSTEM_FREEBASS);
+ }
+ break;
+
+ case TGLBASS:
+ if (record->event.pressed) {
+ toggle_isSingleBass();
+ };
+ break;
+
+ case TGLMICH:
+ if (record->event.pressed) {
+ toggle_MIDI_channel_separation();
+ };
+ break;
+
+ case MELDYAL:
+ if (record->event.pressed) {
+ melody_dyad_low = true;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELODYS:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = false;
+ };
+ break;
+
+ case MELDYAH:
+ if (record->event.pressed) {
+ melody_dyad_low = false;
+ melody_dyad_high = true;
+ };
+ break;
+
+ case TGLUVEL:
+ if (record->event.pressed) {
+ melody_unison_suppress = !melody_unison_suppress;
+ };
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+#endif
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+#endif
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+#endif
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+#endif
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ case KC_A ... KC_RGUI: // for QWERTY
+ case KC_GESC:
+ case ADJ_EIS:
+ case MO_ADJ:
+ case SHIF_UP:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+
+ // Keycodes on the right side.
+ case MIDI_TONE_MIN ... MIDI_TONE_MAX: // notes on the right side keyboard.
+ // root_note is played by process_midi().
+ if ( melody_dyad_high == true ) { // play 1 octave higher as well.
+ my_process_midi(0, keycode, record, my_tone_status, 12, melody_unison_suppress);
+ } else if ( melody_dyad_low == true ) { // play 1 octave lower as well.
+ my_process_midi(0, keycode, record, my_tone_status, -12, melody_unison_suppress);
+ }
+#ifdef RGBLIGHT_ENABLE
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ keylight_manager(record, HSV_GOLDENROD, keylocation2);
+#endif
+ break;
+
+#ifdef RGBLIGHT_ENABLE
+ // case KC_MUTE:
+ case FN_MUTE:
+ keylight_manager(record, HSV_GOLDENROD, keylocation);
+ break;
+#endif
+ }
+ // If console is enabled, it will print the matrix position and status of each key pressed
+#if defined(CONSOLE_ENABLE) && defined(RGBLIGHT_ENABLE)
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+ uprintf("r=%d, c=%d, keyloc=%d, keyloc2=%d, matrix_col x r + c = %d\n", r, c, keylocation, keylocation2, MATRIX_COLS * r + c);
+#endif
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/party/readme.md b/keyboards/giabalanai/keymaps/party/readme.md
new file mode 100644
index 0000000000..797fed76f8
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/party/readme.md
@@ -0,0 +1,3 @@
+# The fancy LED ver. for giabalanai
+# warning: There is little space left for the firmware. You can't do anything further with this firmware.
+# Power consumption might exceed 5 V * 500 mA = 2.5 W or so.
diff --git a/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc b/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc
new file mode 100644
index 0000000000..40ce7148d3
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc
@@ -0,0 +1,57 @@
+#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
+RGB_MATRIX_EFFECT(my_solid_reactive_with_CnoteIndicator)
+RGB_MATRIX_EFFECT(my_party_rocks)
+
+# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+bool my_solid_reactive_with_CnoteIndicator(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ uint16_t max_tick = 65535 / rgb_matrix_config.speed;
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+ HSV hsv = rgb_matrix_config.hsv;
+ switch (i) {
+ // C note indicator
+ case 15:
+ case 19:
+ case 23:
+ case 52:
+ case 56:
+ case 60:
+ case 80: // left hand side, bass C note when counter bass is chosen.
+ // HSV_GOLDENROD
+ hsv.h = 30;
+ hsv.s = 218;
+ hsv.v = 218;
+ break;
+ }
+ uint16_t tick = max_tick;
+ // Reverse search to find most recent key hit
+ for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) {
+ if (g_last_hit_tracker.x[j] == g_led_config.point[i].x && g_last_hit_tracker.y[j] == g_led_config.point[i].y && g_last_hit_tracker.tick[j] < tick) {
+ tick = g_last_hit_tracker.tick[j];
+ break;
+ }
+ }
+
+ uint16_t offset = scale16by8(tick, rgb_matrix_config.speed);
+ hsv.h += qsub8(130, offset);
+ RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ return led_max < DRIVER_LED_TOTAL;
+}
+
+bool my_party_rocks(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+ HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
+ RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
+ return led_max < DRIVER_LED_TOTAL;
+}
+
+
+# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+#endif // RGB_MATRIX_KEYREACTIVE_ENABLED
diff --git a/keyboards/giabalanai/keymaps/party/rules.mk b/keyboards/giabalanai/keymaps/party/rules.mk
new file mode 100644
index 0000000000..c05207feeb
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/party/rules.mk
@@ -0,0 +1,6 @@
+# RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+CONSOLE_ENABLE = no # Console for debug
+RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_CUSTOM_USER = yes #
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/via/config.h b/keyboards/giabalanai/keymaps/via/config.h
new file mode 100644
index 0000000000..a3b77a5b4d
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via/config.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/giabalanai/keymaps/via/keymap.c b/keyboards/giabalanai/keymaps/via/keymap.c
new file mode 100644
index 0000000000..774260d052
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via/keymap.c
@@ -0,0 +1,260 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+#define DFCBASE DF(_C_SYSTEM_BASE)
+#define DF_QWER DF(_QWERTY)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _QWERTY, // just in case
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION = USER00
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Fs_2,
+ MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, KC_RCTRL,
+
+ KC_GESC,
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_MINS, KC_BSPC, _______,
+ KC_LCTL, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, KC_ENT,
+ KC_LALT, _________________QWERTY_L3_________________, KC_N, KC_M, KC_COMM, KC_DOT, KC_SPC, KC_RSFT
+ ),
+
+ /* Fn */
+ [_FN] = LAYOUT(
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, _______,
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+void keyboard_post_init_user(void) {
+ // Set otave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ default_layer_set(1UL << _C_SYSTEM_BASE);
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/via/readme.md b/keyboards/giabalanai/keymaps/via/readme.md
new file mode 100644
index 0000000000..3c599bfe0e
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The default VIA keymap for giabalanai
diff --git a/keyboards/giabalanai/keymaps/via/rules.mk b/keyboards/giabalanai/keymaps/via/rules.mk
new file mode 100644
index 0000000000..da4a83087f
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
new file mode 100644
index 0000000000..01905b8dfe
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+#define GIABARINAIX2
+#ifdef GIABARINAIX2
+# undef MATRIX_ROW_PINS_RIGHT
+# undef MATRIX_COL_PINS_RIGHT
+
+# ifdef RGBLIGHT_ENABLE
+# undef RGBLED_NUM
+# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_MAP
+# define RGBLIGHT_LED_MAP { \
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
+ 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, \
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, \
+ 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, \
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, \
+ \
+ 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, \
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, \
+ 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, \
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \
+ 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48 \
+ }
+# endif
+#endif
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/info.json b/keyboards/giabalanai/keymaps/via_giabarinaix2/info.json
new file mode 100644
index 0000000000..20a52326dd
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/info.json
@@ -0,0 +1,146 @@
+{
+ "keyboard_name": "giabarinaix2",
+ "manufacturer": "3araht",
+ "url": "https://github.com/3araht",
+ "maintainer": "3araht",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4B2",
+ "device_version": "0.0.1"
+ },
+ "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": "l07", "x": 7, "y": 0},
+ {"label": "l08", "x": 8, "y": 0},
+ {"label": "l09", "x": 9, "y": 0},
+ {"label": "l0a", "x": 10, "y": 0},
+ {"label": "l0b", "x": 11, "y": 0},
+
+ {"label": "r00", "x": 14.5, "y": 0},
+ {"label": "r01", "x": 15.5, "y": 0},
+ {"label": "r02", "x": 16.5, "y": 0},
+ {"label": "r03", "x": 17.5, "y": 0},
+ {"label": "r04", "x": 18.5, "y": 0},
+ {"label": "r05", "x": 19.5, "y": 0},
+ {"label": "r06", "x": 20.5, "y": 0},
+ {"label": "r07", "x": 21.5, "y": 0},
+ {"label": "r08", "x": 22.5, "y": 0},
+ {"label": "r09", "x": 23.5, "y": 0},
+ {"label": "r0a", "x": 24.5, "y": 0},
+ {"label": "r0b", "x": 25.5, "y": 0},
+
+ {"label": "l10", "x": 0.5, "y": 1},
+ {"label": "l11", "x": 1.5, "y": 1},
+ {"label": "l12", "x": 2.5, "y": 1},
+ {"label": "l13", "x": 3.5, "y": 1},
+ {"label": "l14", "x": 4.5, "y": 1},
+ {"label": "l15", "x": 5.5, "y": 1},
+ {"label": "l16", "x": 6.5, "y": 1},
+ {"label": "l17", "x": 7.5, "y": 1},
+ {"label": "l18", "x": 8.5, "y": 1},
+ {"label": "l19", "x": 9.5, "y": 1},
+ {"label": "l1a", "x": 10.5, "y": 1},
+ {"label": "l1b", "x": 11.5, "y": 1},
+
+ {"label": "r10", "x": 15, "y": 1},
+ {"label": "r11", "x": 16, "y": 1},
+ {"label": "r12", "x": 17, "y": 1},
+ {"label": "r13", "x": 18, "y": 1},
+ {"label": "r14", "x": 19, "y": 1},
+ {"label": "r15", "x": 20, "y": 1},
+ {"label": "r16", "x": 21, "y": 1},
+ {"label": "r17", "x": 22, "y": 1},
+ {"label": "r18", "x": 23, "y": 1},
+ {"label": "r19", "x": 24, "y": 1},
+ {"label": "r1a", "x": 25, "y": 1},
+ {"label": "r1b", "x": 26, "y": 1},
+
+ {"label": "l20", "x": 1, "y": 2},
+ {"label": "l21", "x": 2, "y": 2},
+ {"label": "l22", "x": 3, "y": 2},
+ {"label": "l23", "x": 4, "y": 2},
+ {"label": "l24", "x": 5, "y": 2},
+ {"label": "l25", "x": 6, "y": 2},
+ {"label": "l26", "x": 7, "y": 2},
+ {"label": "l27", "x": 8, "y": 2},
+ {"label": "l28", "x": 9, "y": 2},
+ {"label": "l29", "x": 10, "y": 2},
+ {"label": "l2a", "x": 11, "y": 2},
+ {"label": "l2b", "x": 12, "y": 2},
+
+ {"label": "r20", "x": 15.5, "y": 2},
+ {"label": "r21", "x": 16.5, "y": 2},
+ {"label": "r22", "x": 17.5, "y": 2},
+ {"label": "r23", "x": 18.5, "y": 2},
+ {"label": "r24", "x": 19.5, "y": 2},
+ {"label": "r25", "x": 20.5, "y": 2},
+ {"label": "r26", "x": 21.5, "y": 2},
+ {"label": "r27", "x": 22.5, "y": 2},
+ {"label": "r28", "x": 23.5, "y": 2},
+ {"label": "r29", "x": 24.5, "y": 2},
+ {"label": "r2a", "x": 25.5, "y": 2},
+ {"label": "r2b", "x": 26.5, "y": 2},
+
+ {"label": "l30", "x": 1.5, "y": 3},
+ {"label": "l31", "x": 2.5, "y": 3},
+ {"label": "l32", "x": 3.5, "y": 3},
+ {"label": "l33", "x": 4.5, "y": 3},
+ {"label": "l34", "x": 5.5, "y": 3},
+ {"label": "l35", "x": 6.5, "y": 3},
+ {"label": "l36", "x": 7.5, "y": 3},
+ {"label": "l37", "x": 8.5, "y": 3},
+ {"label": "l38", "x": 9.5, "y": 3},
+ {"label": "l39", "x": 10.5, "y": 3},
+ {"label": "l3a", "x": 11.5, "y": 3},
+ {"label": "l3b", "x": 12.5, "y": 3},
+
+ {"label": "r30", "x": 16, "y": 3},
+ {"label": "r31", "x": 17, "y": 3},
+ {"label": "r32", "x": 18, "y": 3},
+ {"label": "r33", "x": 19, "y": 3},
+ {"label": "r34", "x": 20, "y": 3},
+ {"label": "r35", "x": 21, "y": 3},
+ {"label": "r36", "x": 22, "y": 3},
+ {"label": "r37", "x": 23, "y": 3},
+ {"label": "r38", "x": 24, "y": 3},
+ {"label": "r39", "x": 25, "y": 3},
+ {"label": "r3a", "x": 26, "y": 3},
+ {"label": "r3b", "x": 27, "y": 3},
+
+ {"label": "l40", "x": 2, "y": 4},
+ {"label": "l41", "x": 3, "y": 4},
+ {"label": "l42", "x": 4, "y": 4},
+ {"label": "l43", "x": 5, "y": 4},
+ {"label": "l44", "x": 6, "y": 4},
+ {"label": "l45", "x": 7, "y": 4},
+ {"label": "l46", "x": 8, "y": 4},
+ {"label": "l47", "x": 9, "y": 4},
+ {"label": "l48", "x": 10, "y": 4},
+ {"label": "l49", "x": 11, "y": 4},
+ {"label": "l4a", "x": 12, "y": 4},
+ {"label": "l4b", "x": 13, "y": 4},
+
+ {"label": "r40", "x": 16.5, "y": 4},
+ {"label": "r41", "x": 17.5, "y": 4},
+ {"label": "r42", "x": 18.5, "y": 4},
+ {"label": "r43", "x": 19.5, "y": 4},
+ {"label": "r44", "x": 20.5, "y": 4},
+ {"label": "r45", "x": 21.5, "y": 4},
+ {"label": "r46", "x": 22.5, "y": 4},
+ {"label": "r47", "x": 23.5, "y": 4},
+ {"label": "r48", "x": 24.5, "y": 4},
+ {"label": "r49", "x": 25.5, "y": 4},
+ {"label": "r4a", "x": 26.5, "y": 4},
+ {"label": "r4b", "x": 27.5, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c b/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c
new file mode 100644
index 0000000000..afe1faff1b
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c
@@ -0,0 +1,262 @@
+/* Copyright 2020 3araht
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "version.h"
+
+// Alias layout macros that expand groups of keys.
+#define LAYOUT_wrapper_giabarinaix2(...) LAYOUT_giabarinaix2(__VA_ARGS__)
+
+#define DFCBASE DF(_C_SYSTEM_BASE)
+#define DF_QWER DF(_QWERTY)
+// Long press: go to _FN layer, tap: MUTE
+#define FN_MUTE LT(_FN, KC_MUTE)
+
+// Used to set octave to MI_OCT_0
+extern midi_config_t midi_config;
+uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _C_SYSTEM_BASE, // MIDI C-system
+ _QWERTY, // just in case
+ _FN
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+
+ // MIDI Chord Keycodes - Root notes
+ MY_CHORD_MIN = SAFE_RANGE,
+
+ MI_CH_Cr = MY_CHORD_MIN,
+ MI_CH_Csr,
+ MI_CH_Dbr = MI_CH_Csr,
+ MI_CH_Dr,
+ MI_CH_Dsr,
+ MI_CH_Ebr = MI_CH_Dsr,
+ MI_CH_Er,
+ MI_CH_Fr,
+ MI_CH_Fsr,
+ MI_CH_Gbr = MI_CH_Fsr,
+ MI_CH_Gr,
+ MI_CH_Gsr,
+ MI_CH_Abr = MI_CH_Gsr,
+ MI_CH_Ar,
+ MI_CH_Asr,
+ MI_CH_Bbr = MI_CH_Asr,
+ MI_CH_Br,
+
+ // MIDI Chord Keycodes - Major
+
+ MI_CH_C,
+ MI_CH_Cs,
+ MI_CH_Db = MI_CH_Cs,
+ MI_CH_D,
+ MI_CH_Ds,
+ MI_CH_Eb = MI_CH_Ds,
+ MI_CH_E,
+ MI_CH_F,
+ MI_CH_Fs,
+ MI_CH_Gb = MI_CH_Fs,
+ MI_CH_G,
+ MI_CH_Gs,
+ MI_CH_Ab = MI_CH_Gs,
+ MI_CH_A,
+ MI_CH_As,
+ MI_CH_Bb = MI_CH_As,
+ MI_CH_B,
+
+ // MIDI Chord Keycodes Minor
+
+ MI_CH_Cm,
+ MI_CH_Csm,
+ MI_CH_Dbm = MI_CH_Csm,
+ MI_CH_Dm,
+ MI_CH_Dsm,
+ MI_CH_Ebm = MI_CH_Dsm,
+ MI_CH_Em,
+ MI_CH_Fm,
+ MI_CH_Fsm,
+ MI_CH_Gbm = MI_CH_Fsm,
+ MI_CH_Gm,
+ MI_CH_Gsm,
+ MI_CH_Abm = MI_CH_Gsm,
+ MI_CH_Am,
+ MI_CH_Asm,
+ MI_CH_Bbm = MI_CH_Asm,
+ MI_CH_Bm,
+
+ //MIDI Chord Keycodes Dominant Seventh
+
+ MI_CH_CDom7,
+ MI_CH_CsDom7,
+ MI_CH_DbDom7 = MI_CH_CsDom7,
+ MI_CH_DDom7,
+ MI_CH_DsDom7,
+ MI_CH_EbDom7 = MI_CH_DsDom7,
+ MI_CH_EDom7,
+ MI_CH_FDom7,
+ MI_CH_FsDom7,
+ MI_CH_GbDom7 = MI_CH_FsDom7,
+ MI_CH_GDom7,
+ MI_CH_GsDom7,
+ MI_CH_AbDom7 = MI_CH_GsDom7,
+ MI_CH_ADom7,
+ MI_CH_AsDom7,
+ MI_CH_BbDom7 = MI_CH_AsDom7,
+ MI_CH_BDom7,
+
+ // MIDI Chord Keycodes Diminished Seventh
+
+ MI_CH_CDim7,
+ MI_CH_CsDim7,
+ MI_CH_DbDim7 = MI_CH_CsDim7,
+ MI_CH_DDim7,
+ MI_CH_DsDim7,
+ MI_CH_EbDim7 = MI_CH_DsDim7,
+ MI_CH_EDim7,
+ MI_CH_FDim7,
+ MI_CH_FsDim7,
+ MI_CH_GbDim7 = MI_CH_FsDim7,
+ MI_CH_GDim7,
+ MI_CH_GsDim7,
+ MI_CH_AbDim7 = MI_CH_GsDim7,
+ MI_CH_ADim7,
+ MI_CH_AsDim7,
+ MI_CH_BbDim7 = MI_CH_AsDim7,
+ MI_CH_BDim7,
+
+ MY_CHORD_MAX = MI_CH_BDim7,
+
+ VERSION = USER00
+};
+
+#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1)
+static uint8_t chord_status[MY_CHORD_COUNT];
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* C-system Base */
+ [_C_SYSTEM_BASE] = LAYOUT_giabarinaix2(
+ MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
+ MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
+ MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
+ MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
+ MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
+
+ MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
+ MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
+ MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
+ MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
+ MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
+ ),
+
+ /* QWERTY */
+ [_QWERTY] = LAYOUT_wrapper_giabarinaix2(
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, KC_RCTRL,
+
+ KC_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC,
+ KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL,
+ KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT,
+ KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LANG2, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LANG1, KC_RALT, KC_RGUI, _______
+ ),
+
+ /* Fn */
+ [_FN] = LAYOUT_giabarinaix2(
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+
+ DFCBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
+ [_FN] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+void keyboard_post_init_user(void) {
+ // Set otave to MI_OCT_0
+ midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
+
+ // avoid using 127 since it is used as a special number in some sound sources.
+ midi_config.velocity = MIDI_INITIAL_VELOCITY;
+
+ for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) {
+ chord_status[i] = MIDI_INVALID_NOTE;
+ }
+
+ default_layer_set(1UL << _C_SYSTEM_BASE);
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord
+
+ uint8_t chord = keycode - MY_CHORD_MIN;
+
+ switch (keycode) {
+ case VERSION: // Output firmware info.
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
+ }
+ break;
+
+ // MIDI Chord Keycodes, on the left side.
+ case MI_CH_Cr ... MI_CH_Br: // Root Notes
+ root_note = keycode - MI_CH_Cr + MI_C_1;
+ my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
+ break;
+
+ case MI_CH_C ... MI_CH_B: // Major Chords
+ root_note = keycode - MI_CH_C + MI_C_2;
+ // Root, Major Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
+ break;
+
+ case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
+ root_note = keycode - MI_CH_Cm + MI_C_2;
+ // Root, Minor Third, and Fifth Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
+ break;
+
+ case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
+ root_note = keycode - MI_CH_CDom7 + MI_C_2;
+ // Major Third, Major Fifth, and Minor Seventh Notes
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
+ break;
+
+ case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
+ root_note = keycode - MI_CH_CDim7 + MI_C_2;
+ // Root, Minor Third, and Diminished 5th Note
+ my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/readme.md b/keyboards/giabalanai/keymaps/via_giabarinaix2/readme.md
new file mode 100644
index 0000000000..04c1613d53
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/readme.md
@@ -0,0 +1 @@
+# The default keymap for giabarinaix2, VIA version.
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/rules.mk b/keyboards/giabalanai/keymaps/via_giabarinaix2/rules.mk
new file mode 100644
index 0000000000..f4836fd4f2
--- /dev/null
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+ENCODER_ENABLE = no # encoder on mute button
+
+ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/giabalanai/readme.md b/keyboards/giabalanai/readme.md
new file mode 100644
index 0000000000..30b1b60cd1
--- /dev/null
+++ b/keyboards/giabalanai/readme.md
@@ -0,0 +1,24 @@
+# giabalanai
+
+<p align=center>
+<img width="700" alt="giabalanai_logo" src="https://github.com/3araht/giabalanai/blob/main/pictures/giabalanai_logo.png">
+</p>
+
+![giabalanai overview](https://github.com/3araht/giabalanai/blob/main/pictures/giabalanai_overview.jpg)
+
+giabalanai keyboard is a simple-design Chromatic Button Accordion-ish MIDI keyboard (60 bass + C-system 62 keys = 38 notes) that doesn't have bellows nor register switches.
+
+* Keyboard Maintainer: [3araht](https://github.com/3araht)
+* Hardware Supported: giabalanai keyboard, a split keyboard mainly work as MIDI keyboard.
+* Hardware Availability: [Yushakobo](https://yushakobo.jp/shop/consign_giabalanai/) or [BOOTH](https://3araht.booth.pm/). Click [here](https://www.tenso.com/en/static/lp_shop_booth) for BOOTH overseas shipping!
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make giabalanai:default
+
+Flashing example for this keyboard:
+
+ make giabalanai: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/giabalanai/rules.mk b/keyboards/giabalanai/rules.mk
new file mode 100644
index 0000000000..b642aa9aa3
--- /dev/null
+++ b/keyboards/giabalanai/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+MIDI_ENABLE = yes # MIDI support
+ENCODER_ENABLE = yes # encoder on mute button
+SPLIT_KEYBOARD = yes # Enables split keyboard support
+# RGB_MATRIX_ENABLE is not suitable for giabalanai keyboard on the right side (there are dulpicate keys).
+RGB_MATRIX_ENABLE = no # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
+RGB_MATRIX_DRIVER = WS2812 # 2021/01/23 added.
+
+LTO_ENABLE = yes
diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h
index f437840f91..1a8bf51312 100755
--- a/keyboards/gizmo_engineering/gk6/config.h
+++ b/keyboards/gizmo_engineering/gk6/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6532
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x3031
-#define MANUFACTURER Gizmo Engineering
-#define PRODUCT GK6
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B4, D7, D6, D4}
#define MATRIX_COL_PINS { B5, C6, C7, F7, F6, D5, D3, D2, F1, F4, B7, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json
index ffd59e41b1..8dfdfbf93b 100755
--- a/keyboards/gizmo_engineering/gk6/info.json
+++ b/keyboards/gizmo_engineering/gk6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Gizmo Engineering GK6",
+ "keyboard_name": "GK6",
+ "manufacturer": "Gizmo Engineering",
"url": "https://gizmo.engineering/",
"maintainer": "federicoweber",
+ "usb": {
+ "vid": "0x6532",
+ "pid": "0x0001",
+ "device_version": "30.3.1"
+ },
"layouts": {
"LAYOUT_gk6_2x2u": {
"layout": [
diff --git a/keyboards/gkeyboard/gkb_m16/config.h b/keyboards/gkeyboard/gkb_m16/config.h
index 690ecf42d1..9df13da954 100644
--- a/keyboards/gkeyboard/gkb_m16/config.h
+++ b/keyboards/gkeyboard/gkb_m16/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x474B // "GK"
-#define PRODUCT_ID 0x4201
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gkeyboard
-#define PRODUCT GKB-M16
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, D5, D6, D7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gkeyboard/gkb_m16/info.json b/keyboards/gkeyboard/gkb_m16/info.json
index 1a3817b88b..ff299c5b89 100644
--- a/keyboards/gkeyboard/gkb_m16/info.json
+++ b/keyboards/gkeyboard/gkb_m16/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "gkb_m16",
+ "keyboard_name": "GKB-M16",
+ "manufacturer": "gkeyboard",
"url": "",
"maintainer": "gkeyboard",
+ "usb": {
+ "vid": "0x474B",
+ "pid": "0x4201",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/gl516/a52gl/config.h b/keyboards/gl516/a52gl/config.h
index c9f54e0928..0841d8e26e 100644
--- a/keyboards/gl516/a52gl/config.h
+++ b/keyboards/gl516/a52gl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8D1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT a52gl
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
diff --git a/keyboards/gl516/a52gl/info.json b/keyboards/gl516/a52gl/info.json
index b2332c0eda..39f872e5cf 100644
--- a/keyboards/gl516/a52gl/info.json
+++ b/keyboards/gl516/a52gl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "a52gl",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8D1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gl516/a52gl/readme.md b/keyboards/gl516/a52gl/readme.md
index cfc7277eef..71d68942ac 100644
--- a/keyboards/gl516/a52gl/readme.md
+++ b/keyboards/gl516/a52gl/readme.md
@@ -19,7 +19,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/gl516/j73gl/config.h b/keyboards/gl516/j73gl/config.h
index 50d745ebb1..bbbb1110c6 100644
--- a/keyboards/gl516/j73gl/config.h
+++ b/keyboards/gl516/j73gl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8D0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT j73gl
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, E6 }
-#define UNUSED_PINS
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
diff --git a/keyboards/gl516/j73gl/info.json b/keyboards/gl516/j73gl/info.json
index 32b771c983..4ef656f230 100644
--- a/keyboards/gl516/j73gl/info.json
+++ b/keyboards/gl516/j73gl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "j73gl",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8D0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c
index 942775e4b0..47fe094fee 100644
--- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c
+++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/keymap.c
@@ -34,7 +34,7 @@ LT(1,JP_ZKHK), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J,
),
[1] = LAYOUT(
//,-----------------------------------------------------+--------------------------------------------------------------------------------.
- 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_DEL, KC_PSCR,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/gl516/j73gl/readme.md b/keyboards/gl516/j73gl/readme.md
index b6f1ebdc24..58842e09c1 100644
--- a/keyboards/gl516/j73gl/readme.md
+++ b/keyboards/gl516/j73gl/readme.md
@@ -19,7 +19,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/gl516/n51gl/config.h b/keyboards/gl516/n51gl/config.h
index ea50fcfa1a..44b31834c1 100644
--- a/keyboards/gl516/n51gl/config.h
+++ b/keyboards/gl516/n51gl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8CF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT n51gl
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D7 }
#define ENCODERS_PAD_B { E6 }
diff --git a/keyboards/gl516/n51gl/info.json b/keyboards/gl516/n51gl/info.json
index 6c94d32e30..99ae8d764f 100644
--- a/keyboards/gl516/n51gl/info.json
+++ b/keyboards/gl516/n51gl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "n51gl",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8CF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c
index fd0bc7f8e3..42b2204cf1 100644
--- a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c
+++ b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_rotary_layer(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
- RESET, KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LALT(KC_PSCR),KC_PSCR,
+ QK_BOOT, KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LALT(KC_PSCR),KC_PSCR,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/gl516/n51gl/readme.md b/keyboards/gl516/n51gl/readme.md
index 916b8ff671..b01ba883d7 100644
--- a/keyboards/gl516/n51gl/readme.md
+++ b/keyboards/gl516/n51gl/readme.md
@@ -19,7 +19,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/glenpickle/chimera_ergo/config.h b/keyboards/glenpickle/chimera_ergo/config.h
index 616d8af24e..e7492f7297 100644
--- a/keyboards/glenpickle/chimera_ergo/config.h
+++ b/keyboards/glenpickle/chimera_ergo/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER unknown
-#define PRODUCT Chimera Ergo
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
diff --git a/keyboards/glenpickle/chimera_ergo/info.json b/keyboards/glenpickle/chimera_ergo/info.json
index 28a9689bae..26faa0343a 100644
--- a/keyboards/glenpickle/chimera_ergo/info.json
+++ b/keyboards/glenpickle/chimera_ergo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chimera Ergo",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":1}, {"label":"k01", "x":1, "y":0.75}, {"label":"k02", "x":2, "y":0.25}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0.25}, {"label":"k05", "x":5, "y":0.5}, {"label":"k06", "x":7, "y":0.5}, {"label":"k07", "x":8, "y":0.25}, {"label":"k08", "x":9, "y":0}, {"label":"k09", "x":10, "y":0.25}, {"label":"k10", "x":11, "y":0.75}, {"label":"k11", "x":12, "y":1}, {"label":"k12", "x":0, "y":2}, {"label":"k13", "x":1, "y":1.75}, {"label":"k14", "x":2, "y":1.25}, {"label":"k15", "x":3, "y":1}, {"label":"k16", "x":4, "y":1.25}, {"label":"k17", "x":5, "y":1.5}, {"label":"k18", "x":7, "y":1.5}, {"label":"k19", "x":8, "y":1.25}, {"label":"k20", "x":9, "y":1}, {"label":"k21", "x":10, "y":1.25}, {"label":"k22", "x":11, "y":1.75}, {"label":"k23", "x":12, "y":2}, {"label":"k24", "x":0, "y":3}, {"label":"k25", "x":1, "y":2.75}, {"label":"k26", "x":2, "y":2.25}, {"label":"k27", "x":3, "y":2}, {"label":"k28", "x":4, "y":2.25}, {"label":"k29", "x":5, "y":2.5}, {"label":"k30", "x":7, "y":2.5}, {"label":"k31", "x":8, "y":2.25}, {"label":"k32", "x":9, "y":2}, {"label":"k33", "x":10, "y":2.25}, {"label":"k34", "x":11, "y":2.75}, {"label":"k35", "x":12, "y":3}, {"label":"k36", "x":0, "y":4}, {"label":"k37", "x":1, "y":3.75}, {"label":"k38", "x":2, "y":3.25}, {"label":"k39", "x":3, "y":3}, {"label":"k40", "x":4, "y":3.25}, {"label":"k41", "x":5, "y":3.5}, {"label":"k42", "x":7, "y":3.5}, {"label":"k43", "x":8, "y":3.25}, {"label":"k44", "x":9, "y":3}, {"label":"k45", "x":10, "y":3.25}, {"label":"k46", "x":11, "y":3.75}, {"label":"k47", "x":12, "y":4}, {"label":"k48", "x":4, "y":4.75}, {"label":"k49", "x":5, "y":5}, {"label":"k50", "x":7, "y":5}, {"label":"k51", "x":8, "y":4.75}]
diff --git a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
index 51ab0e92cd..dd7e32f7dc 100644
--- a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c
@@ -131,7 +131,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
diff --git a/keyboards/glenpickle/chimera_ls/config.h b/keyboards/glenpickle/chimera_ls/config.h
index f5da32e3c3..581f133571 100644
--- a/keyboards/glenpickle/chimera_ls/config.h
+++ b/keyboards/glenpickle/chimera_ls/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER unknown
-#define PRODUCT Chimera Lets Split
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/glenpickle/chimera_ls/info.json b/keyboards/glenpickle/chimera_ls/info.json
index b6585a5c28..02b9aba091 100644
--- a/keyboards/glenpickle/chimera_ls/info.json
+++ b/keyboards/glenpickle/chimera_ls/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Chimera LS",
+ "keyboard_name": "Chimera Lets Split",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
index 0affeef389..1ae70e6245 100644
--- a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c
@@ -158,7 +158,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
diff --git a/keyboards/glenpickle/chimera_ortho/config.h b/keyboards/glenpickle/chimera_ortho/config.h
index 8ae25c1eb4..1310866fbb 100644
--- a/keyboards/glenpickle/chimera_ortho/config.h
+++ b/keyboards/glenpickle/chimera_ortho/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER unknown
-#define PRODUCT Chimera Ortho
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
diff --git a/keyboards/glenpickle/chimera_ortho/info.json b/keyboards/glenpickle/chimera_ortho/info.json
index 73e15c64f3..ac4ecfb201 100644
--- a/keyboards/glenpickle/chimera_ortho/info.json
+++ b/keyboards/glenpickle/chimera_ortho/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Chimera Ortho",
+ "manufacturer": "Unknown",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
index 6a676493dd..bc783f540c 100644
--- a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
+++ b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c
@@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
diff --git a/keyboards/glenpickle/chimera_ortho_plus/config.h b/keyboards/glenpickle/chimera_ortho_plus/config.h
index 4846a1b20d..e7492f7297 100644
--- a/keyboards/glenpickle/chimera_ortho_plus/config.h
+++ b/keyboards/glenpickle/chimera_ortho_plus/config.h
@@ -19,14 +19,6 @@ 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 0xDE1D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER unknown
-#define PRODUCT Chimera Ortho Plus
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
diff --git a/keyboards/glenpickle/chimera_ortho_plus/info.json b/keyboards/glenpickle/chimera_ortho_plus/info.json
index 29a2c2a634..fb7dfbbf6c 100644
--- a/keyboards/glenpickle/chimera_ortho_plus/info.json
+++ b/keyboards/glenpickle/chimera_ortho_plus/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Chimera Ortho Plus",
+ "manufacturer": "Unknown",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDE1D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
new file mode 100644
index 0000000000..437b50648e
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
@@ -0,0 +1,236 @@
+/* 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 "ansi.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
+ {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
+ {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
+ {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
+ {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
+ {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
+ {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
+ {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
+ {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
+ {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
+ {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
+ {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
+ {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
+ {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
+ {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 Del
+
+ {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
+ {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
+ {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
+ {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
+ {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
+ {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
+ {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
+ {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
+ {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
+ {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
+ {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
+ {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
+ {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
+ {1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 28 \|
+ {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
+
+ {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
+ {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
+ {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
+ {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
+ {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
+ {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
+ {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
+ {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
+ {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
+ {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 42 Enter
+ {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
+
+ {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
+ {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 45 Z
+ {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 46 X
+ {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 47 C
+ {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 48 V
+ {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 49 B
+ {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 50 N
+ {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 51 M
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 52 ,
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 53 .
+ {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 54 /
+ {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 55 Shift_R
+ {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 56 Up
+ {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 57 END
+
+ {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 58 Ctrl_L
+ {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 59 Win_L
+ {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 60 Alt_L
+ {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 61 Space
+ {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 62 Alt_R
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 63 FN
+ {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 64 Left
+ {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 65 Down
+ {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 66 Right
+
+ {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 69 LED 1
+ {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70 LED 2
+ {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 71 LED 3
+ {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 72 LED 4
+ {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 73 LED 5
+ {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 74 LED 6
+ {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 75 LED 7
+ {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 76 LED 8
+ {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 77 LED 9
+ {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 78 LED 10
+ {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 79 LED 11
+ {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 80 LED 12
+ {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 81 LED 13
+ {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 82 LED 14
+ {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 83 LED 15
+ {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84 LED 16
+ {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 85 LED 17
+ {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 86 LED 18
+ {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 87 LED 19
+ {1, CS16_SW10, CS17_SW10, CS18_SW10} // 88 LED 20
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {{
+ { 44, 57, __, 64, __, 66, 58, 55},
+ { 16, 15, 31, 0, 45, 59, __, 1},
+ { 17, 30, 32, 60, 46, 14, 29, 2},
+ { 18, 61, 33, 63, 47, 56, 62, 3},
+ { 19, 20, 34, 35, 48, 49, 5, 4},
+ { 22, 21, 37, 36, 51, 50, 6, 7},
+ { 23, 27, 38, __, 52, 43, 12, 8},
+ { 24, 13, 39, 65, 53, __, 28, 9},
+ { 25, 26, 40, 41, 42, 54, 11, 10}
+}, {
+ {14, 0 }, // 0 Esc
+ {28, 0 }, // 1 1
+ {42, 0 }, // 2 2
+ {56, 0 }, // 3 3
+ {70, 0 }, // 4 4
+ {84, 0 }, // 5 5
+ {98, 0 }, // 6 6
+ {112, 0 }, // 7 7
+ {126, 0 }, // 8 8
+ {140, 0 }, // 9 9
+ {154, 0 }, // 10 0
+ {168, 0 }, // 11 -
+ {182, 0 }, // 12 =
+ {196, 0 }, // 13 Backspace
+ {210, 0 }, // 14 Del
+
+ {14, 16}, // 15 Tab
+ {28, 16}, // 16 Q
+ {42, 16}, // 17 W
+ {56, 16}, // 18 E
+ {70, 16}, // 19 R
+ {84, 16}, // 20 T
+ {98, 16}, // 21 Y
+ {112, 16}, // 22 U
+ {126, 16}, // 23 I
+ {140, 16}, // 24 O
+ {154, 16}, // 25 P
+ {168, 16}, // 26 [
+ {182, 16}, // 27 ]
+ {196, 16}, // 28 \|
+ {210, 16}, // 29 PgUp
+
+ {14, 32}, // 30 Caps Lock
+ {28, 32}, // 31 A
+ {42, 32}, // 32 S
+ {56, 32}, // 33 D
+ {70, 32}, // 34 F
+ {84, 32}, // 35 G
+ {98, 32}, // 36 H
+ {112, 32}, // 37 J
+ {126, 32}, // 38 K
+ {140, 32}, // 39 L
+ {154, 32}, // 40 ;
+ {168, 32}, // 41 '
+ {196, 32}, // 42 Enter
+ {210, 32}, // 43 PgDn
+
+ {14, 48}, // 44 Shift_L
+ {42, 48}, // 45 Z
+ {56, 48}, // 46 X
+ {70, 48}, // 47 C
+ {84, 48}, // 48 V
+ {98, 48}, // 49 B
+ {112, 48}, // 50 N
+ {126, 48}, // 51 M
+ {140, 48}, // 52 ,
+ {154, 48}, // 53 .
+ {168, 48}, // 54 /
+ {182, 48}, // 55 Shift_R
+ {196, 48}, // 56 Up
+ {210, 48}, // 57 END
+
+ {14, 64}, // 58 Ctrl_L
+ {28, 64}, // 59 Win_L
+ {42, 64}, // 60 Alt_L
+ {84, 64}, // 61 Space
+ {126, 64}, // 62 Alt_R
+ {140, 64}, // 63 FN
+ {182, 64}, // 64 Left
+ {196, 64}, // 65 Down
+ {210, 64}, // 66 Right
+
+ {0, 0}, // 69 LED 1
+ {0, 7}, // 70 LED 2
+ {0, 14}, // 71 LED 3
+ {0, 21}, // 72 LED 4
+ {0, 28}, // 73 LED 5
+ {0, 35}, // 74 LED 6
+ {0, 42}, // 75 LED 7
+ {0, 49}, // 76 LED 8
+ {0, 56}, // 77 LED 9
+ {0, 64}, // 78 LED 10
+ {224, 0 }, // 79 LED 11
+ {224, 7 }, // 80 LED 12
+ {224, 14}, // 81 LED 13
+ {224, 21}, // 82 LED 14
+ {224, 28}, // 83 LED 15
+ {224, 35}, // 84 LED 16
+ {224, 42}, // 85 LED 17
+ {224, 49}, // 86 LED 18
+ {224, 56}, // 87 LED 19
+ {224, 64}, // 88 LED 20
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.h b/keyboards/gmmk/gmmk2/p65/ansi/ansi.h
new file mode 100644
index 0000000000..2c25a72bef
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.h
@@ -0,0 +1,47 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// ESC 1 2 3 4 5 6 7 8 9 0 - = BS 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 Left Down Right
+
+// clang-format off
+#define LAYOUT( \
+ k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\
+ k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k76, k26,\
+ k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, k65,\
+ k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\
+ k06, k15, k23, k31, k36, k33, k03, k73, k05 \
+)\
+{\
+ { k00, k01, ___, k03, ___, k05, k06, k07},\
+ { k10, k11, k12, k13, k14, k15, ___, 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, ___, k64, k65, k66, k67},\
+ { k70, k71, k72, k73, k74, ___, k76, k77},\
+ { k80, k81, k82, k83, k84, k85, k86, k87} \
+}
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json
new file mode 100644
index 0000000000..8aedd894ae
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json
@@ -0,0 +1,90 @@
+{
+ "keyboard_name": "GMMK V2 65 ANSI",
+ "manufacturer": "Glorious",
+ "url": "http://www.pcgamingrace.com",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5045",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "`", "x": 0, "y": 0 },
+ { "label": "1", "x": 1, "y": 0 },
+ { "label": "2", "x": 2, "y": 0 },
+ { "label": "3", "x": 3, "y": 0 },
+ { "label": "4", "x": 4, "y": 0 },
+ { "label": "5", "x": 5, "y": 0 },
+ { "label": "6", "x": 6, "y": 0 },
+ { "label": "7", "x": 7, "y": 0 },
+ { "label": "8", "x": 8, "y": 0 },
+ { "label": "9", "x": 9, "y": 0 },
+ { "label": "0", "x": 10, "y": 0 },
+ { "label": "-", "x": 11, "y": 0 },
+ { "label": "=", "x": 12, "y": 0 },
+ { "label": "Backspace", "x": 13, "y": 0, "w": 2.25},
+ { "label": "PgUp", "x": 15.25, "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.75},
+ { "label": "PgDn", "x": 15.25, "y": 1 },
+
+ { "label": "Caps Lock", "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": "HOME", "x": 15.25, "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.25, "y": 3 },
+ { "label": "END", "x": 15.25, "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},
+ { "label": "Space", "x": 3.75, "y": 4, "w": 6.25},
+ { "label": "Alt", "x": 10, "y": 4, "w": 1.25},
+ { "label": "FN", "x": 11.25, "y": 4, "w": 1.25},
+ { "label": "Left", "x": 13.25, "y": 4 },
+ { "label": "Down", "x": 14.25, "y": 4 },
+ { "label": "Right", "x": 15.25, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e331d60c4e
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* 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
+
+// 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.
+enum custom_layers {
+ _BL,
+ _FL,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = 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_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = 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_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
+ _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
+};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md
new file mode 100644
index 0000000000..4f80a5b956
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/readme.md
@@ -0,0 +1 @@
+# ANSI GMMKV2 65% Layout
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..365c7578cc
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* 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] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[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_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap _FL: Function Layer
+ */
+[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_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
+ _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD),
+
+[2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______),
+[3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/readme.md
new file mode 100644
index 0000000000..b231b48883
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/readme.md
@@ -0,0 +1,23 @@
+# GMMK V2 65% (ANSI)
+
+A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
+
+* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
+* Hardware Supported: GMMK V2
+* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/gmmk2/p65/ansi:default
+
+Flashing example for this keyboard:
+
+ make gmmk/gmmk2/p65/ansi:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
+* Hold the Escape key while connecting the USB cable (also erases persistent settings)
+* Fn+Backslash 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/gmmk2/p65/ansi/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/rules.mk
new file mode 100644
index 0000000000..1cf9d7a709
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/ansi/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
+MOUSEKEY_ENABLE = yes # Mouse keys.
+EXTRAKEY_ENABLE = yes # Audio control and System control.
+CONSOLE_ENABLE = no # Console for debug.
+COMMAND_ENABLE = no # Commands for debug and configuration.
+NKRO_ENABLE = yes # Enable NKRO Rollover.
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
+AUDIO_ENABLE = no # Audio output.
+RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
+RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h
new file mode 100644
index 0000000000..6a6c22c6f0
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/config.h
@@ -0,0 +1,117 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 9
+#define MATRIX_COLS 8
+
+#define MATRIX_ROW_PINS \
+ { B0, B1, B2, B3, B4, B5, B6, B7, B8 }
+#define MATRIX_COL_PINS \
+ { A0, A1, A2, A3, A4, A8, A9, A10 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Hold ESC on start up to clear EEPROM and boot into bootloader mode */
+#define BOOTMAGIC_LITE_ROW 1
+#define BOOTMAGIC_LITE_COLUMN 3
+
+#define TAP_CODE_DELAY 10
+
+/* 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 RGB_DISABLE_WHEN_USB_SUSPENDED
+
+/* SPI Config for LED Driver */
+#define SPI_DRIVER SPIDM2
+#define SPI_SCK_PIN B13
+#define SPI_MOSI_PIN B15
+#define SPI_MISO_PIN B14
+
+#define DRIVER_1_CS A15
+#define DRIVER_2_CS B9
+#define DRIVER_1_EN C13
+#define DRIVER_2_EN C13
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 54
+#define DRIVER_2_LED_TOTAL 34
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define RGB_MATRIX_KEYPRESSES
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+/* Set debounce time to 5ms */
+#define DEBOUNCE 5
+
+/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */
+// #define FORCE_NKRO
diff --git a/keyboards/gmmk/gmmk2/p65/halconf.h b/keyboards/gmmk/gmmk2/p65/halconf.h
new file mode 100644
index 0000000000..293d182917
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/halconf.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/wb_support/gmmk2/halconf.h -r platforms/chibios/boards/common/configs/halconf.h`
+ */
+
+#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/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json
new file mode 100644
index 0000000000..9f0285abbb
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/info.json
@@ -0,0 +1,91 @@
+{
+ "keyboard_name": "GMMK V2 65 ISO",
+ "manufacturer": "Glorious",
+ "url": "http://www.pcgamingrace.com",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x504A",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "`", "x": 0, "y": 0 },
+ { "label": "1", "x": 1, "y": 0 },
+ { "label": "2", "x": 2, "y": 0 },
+ { "label": "3", "x": 3, "y": 0 },
+ { "label": "4", "x": 4, "y": 0 },
+ { "label": "5", "x": 5, "y": 0 },
+ { "label": "6", "x": 6, "y": 0 },
+ { "label": "7", "x": 7, "y": 0 },
+ { "label": "8", "x": 8, "y": 0 },
+ { "label": "9", "x": 9, "y": 0 },
+ { "label": "0", "x": 10, "y": 0 },
+ { "label": "-", "x": 11, "y": 0 },
+ { "label": "=", "x": 12, "y": 0 },
+ { "label": "Backspace", "x": 13, "y": 0, "w": 2.25},
+ { "label": "PgUp", "x": 15.25, "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": "Enter", "x": 13.5, "y": 1 ,"h":2, "w": 1.75},
+ { "label": "PgDn", "x": 15.25, "y": 1 },
+
+ { "label": "Caps Lock", "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": "#", "x": 12.75, "y": 2 },
+ { "label": "HOME", "x": 15.25, "y": 2 },
+
+
+ { "label": "Shift", "x": 0, "y": 3, "w": 1.25},
+ { "label": "\\", "x": 1.25, "y": 3 },
+ { "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.25, "y": 3 },
+ { "label": "END", "x": 15.25, "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},
+ { "label": "Space", "x": 3.75, "y": 4, "w": 6.25},
+ { "label": "Alt", "x": 10, "y": 4, "w": 1.25},
+ { "label": "FN", "x": 11.25, "y": 4, "w": 1.25},
+ { "label": "Left", "x": 13.25, "y": 4 },
+ { "label": "Down", "x": 14.25, "y": 4 },
+ { "label": "Right", "x": 15.25, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c
new file mode 100644
index 0000000000..651a612a58
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c
@@ -0,0 +1,238 @@
+/* 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 "iso.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
+ {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
+ {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
+ {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
+ {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
+ {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
+ {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
+ {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
+ {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
+ {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
+ {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
+ {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
+ {1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
+ {1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
+ {1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 HOME
+
+ {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
+ {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
+ {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
+ {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
+ {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
+ {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
+ {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
+ {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
+ {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
+ {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
+ {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
+ {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
+ {1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
+ {1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 28 ENTER
+ {1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
+
+ {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
+ {0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
+ {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
+ {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
+ {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
+ {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
+ {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
+ {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
+ {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
+ {1, CS1_SW10, CS2_SW10, CS3_SW10 }, // 42 k42
+ {1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
+
+ {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
+ {0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 45 k45
+ {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 46 Z
+ {0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 47 X
+ {0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 48 C
+ {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 49 V
+ {0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 50 B
+ {0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 51 N
+ {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 52 M
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53 ,
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54 .
+ {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 55 /
+ {1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 56 Shift_R
+ {1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 57 Up
+ {1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 58 END
+
+ {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 59 Ctrl_L
+ {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 60 Win_L
+ {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 61 Alt_L
+ {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 62 Space
+ {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 63 Alt_R
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 64 FN
+ {1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 65 Left
+ {1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 66 Down
+ {1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 67 Right
+
+ {1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 68 LED 1
+ {1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 69 LED 2
+ {1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 70 LED 3
+ {1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 71 LED 4
+ {1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 72 LED 5
+ {1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 73 LED 6
+ {1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 74 LED 7
+ {1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 75 LED 8
+ {1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 76 LED 9
+ {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 77 LED 10
+ {1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 78 LED 11
+ {1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 79 LED 12
+ {1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 80 LED 13
+ {1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 81 LED 14
+ {1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 82 LED 15
+ {1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 83 LED 16
+ {1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 84 LED 17
+ {1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 85 LED 18
+ {1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 86 LED 19
+ {1, CS16_SW10, CS17_SW10, CS18_SW10} // 87 LED 20
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {{
+ { 44, 58, 45, 65, __, 67, 59, 56},
+ { 16, 15, 31, 0, 46, 60, __, 1},
+ { 17, 30, 32, 61, 47, 14, 29, 2},
+ { 18, 62, 33, 64, 48, 57, 63, 3},
+ { 19, 20, 34, 35, 49, 50, 5, 4},
+ { 22, 21, 37, 36, 52, 51, 6, 7},
+ { 23, 27, 38, __, 53, 43, 12, 8},
+ { 24, 13, 39, 66, 54, 42, __, 9},
+ { 25, 26, 40, 41, 28, 55, 11, 10}
+}, {
+ {14, 0 }, // 0 Esc
+ {28, 0 }, // 1 1
+ {42, 0 }, // 2 2
+ {56, 0 }, // 3 3
+ {70, 0 }, // 4 4
+ {84, 0 }, // 5 5
+ {98, 0 }, // 6 6
+ {112, 0 }, // 7 7
+ {126, 0 }, // 8 8
+ {140, 0 }, // 9 9
+ {154, 0 }, // 10 0
+ {168, 0 }, // 11 -
+ {182, 0 }, // 12 =
+ {196, 0 }, // 13 Backspace
+ {210, 0 }, // 14 HOME
+
+ {14, 16}, // 15 Tab
+ {28, 16}, // 16 Q
+ {42, 16}, // 17 W
+ {56, 16}, // 18 E
+ {70, 16}, // 19 R
+ {84, 16}, // 20 T
+ {98, 16}, // 21 Y
+ {112, 16}, // 22 U
+ {126, 16}, // 23 I
+ {140, 16}, // 24 O
+ {154, 16}, // 25 P
+ {168, 16}, // 26 [
+ {182, 16}, // 27 ]
+ {196, 16}, // 28 ENTER
+ {210, 16}, // 29 PgUp
+
+ {14, 32}, // 30 Caps Lock
+ {28, 32}, // 31 A
+ {42, 32}, // 32 S
+ {56, 32}, // 33 D
+ {70, 32}, // 34 F
+ {84, 32}, // 35 G
+ {98, 32}, // 36 H
+ {112, 32}, // 37 J
+ {126, 32}, // 38 K
+ {140, 32}, // 39 L
+ {154, 32}, // 40 ;
+ {168, 32}, // 41 '
+ {182, 32}, // 42 k42
+ {210, 32}, // 43 PgDn
+
+ {14, 48}, // 44 Shift_L
+ {28, 48}, // 45 k45
+ {42, 48}, // 46 Z
+ {56, 48}, // 47 X
+ {70, 48}, // 48 C
+ {84, 48}, // 49 V
+ {98, 48}, // 50 B
+ {112, 48}, // 51 N
+ {126, 48}, // 52 M
+ {140, 48}, // 53 ,
+ {154, 48}, // 54 .
+ {168, 48}, // 55 /
+ {182, 48}, // 56 Shift_R
+ {196, 48}, // 57 Up
+ {210, 48}, // 58 END
+
+ {14, 64}, // 59 Ctrl_L
+ {28, 64}, // 60 Win_L
+ {42, 64}, // 61 Alt_L
+ {84, 64}, // 62 Space
+ {126, 64}, // 63 Alt_R
+ {140, 64}, // 64 FN
+ {182, 64}, // 65 Left
+ {196, 64}, // 66 Down
+ {210, 64}, // 67 Right
+
+ {0, 0}, // 68 LED 1
+ {0, 7}, // 69 LED 2
+ {0, 14}, // 70 LED 3
+ {0, 21}, // 71 LED 4
+ {0, 28}, // 72 LED 5
+ {0, 35}, // 73 LED 6
+ {0, 42}, // 74 LED 7
+ {0, 49}, // 75 LED 8
+ {0, 56}, // 76 LED 9
+ {0, 64}, // 77 LED 10
+ {224, 0 }, // 78 LED 11
+ {224, 7 }, // 79 LED 12
+ {224, 14}, // 80 LED 13
+ {224, 21}, // 81 LED 14
+ {224, 28}, // 82 LED 15
+ {224, 35}, // 83 LED 16
+ {224, 42}, // 84 LED 17
+ {224, 49}, // 85 LED 18
+ {224, 56}, // 86 LED 19
+ {224, 64}, // 87 LED 20
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 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, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.h b/keyboards/gmmk/gmmk2/p65/iso/iso.h
new file mode 100644
index 0000000000..206647cf79
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/iso.h
@@ -0,0 +1,47 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// ESC 1 2 3 4 5 6 7 8 9 0 - = BS PgUp
+// Tab Q W E R T Y U I O P [ ] Enter PgUp
+// Caps A S D F G H J K L ; ' \ Enter HOME
+// Sh_L \ Z X C V B N M , . / Sh_R Up END
+// Ct_L Win_L Alt_L SPACE Alt_R FN Left Down Right
+
+// clang-format off
+#define LAYOUT( \
+ k13, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, k71, k25,\
+ k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k84, k26,\
+ k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k75, k65,\
+ k00, k02, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k07, k35, k01,\
+ k06, k15, k23, k31, k36, k33, k03, k73, k05 \
+)\
+{\
+ { k00, k01, k02, k03, ___, k05, k06, k07},\
+ { k10, k11, k12, k13, k14, k15, ___, 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, ___, k64, k65, k66, k67},\
+ { k70, k71, k72, k73, k74, k75, ___, k77},\
+ { k80, k81, k82, k83, k84, k85, k86, k87} \
+}
diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..61072536d7
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* 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
+
+// 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.
+enum custom_layers {
+ _BL,
+ _FL,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = 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_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_ENT, 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_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = 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_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
+ _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
+};
diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md
new file mode 100644
index 0000000000..89d52f6afa
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/readme.md
@@ -0,0 +1 @@
+# ISO GMMKV2 65% Layout
diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..53918fc1e1
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* 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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[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_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_ENT, 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_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap _FL: Function Layer
+ */
+[1] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME,
+ _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD),
+
+[2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______),
+[3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/gmmk2/p65/iso/readme.md b/keyboards/gmmk/gmmk2/p65/iso/readme.md
new file mode 100644
index 0000000000..1775862e0f
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/readme.md
@@ -0,0 +1,23 @@
+# GMMK V2 65% (ISO)
+
+A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
+
+* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
+* Hardware Supported: GMMK V2
+* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/gmmk2/p65/iso:default
+
+Flashing example for this keyboard:
+
+ make gmmk/gmmk2/p65/iso:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
+* Hold the Escape key while connecting the USB cable (also erases persistent settings)
+* Fn+Backslash 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/gmmk2/p65/iso/rules.mk b/keyboards/gmmk/gmmk2/p65/iso/rules.mk
new file mode 100644
index 0000000000..1cf9d7a709
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/iso/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
+MOUSEKEY_ENABLE = yes # Mouse keys.
+EXTRAKEY_ENABLE = yes # Audio control and System control.
+CONSOLE_ENABLE = no # Console for debug.
+COMMAND_ENABLE = no # Commands for debug and configuration.
+NKRO_ENABLE = yes # Enable NKRO Rollover.
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
+AUDIO_ENABLE = no # Audio output.
+RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
+RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
diff --git a/keyboards/gmmk/gmmk2/p65/mcuconf.h b/keyboards/gmmk/gmmk2/p65/mcuconf.h
new file mode 100644
index 0000000000..e5b8188e9e
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/wb_support/gmmk2/mcuconf.h -r platforms/chibios/GENERIC_WB32_F3G71XX/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef WB32_SPI_USE_SPIM2
+#define WB32_SPI_USE_SPIM2 TRUE
diff --git a/keyboards/gmmk/gmmk2/p65/p65.c b/keyboards/gmmk/gmmk2/p65/p65.c
new file mode 100644
index 0000000000..d7e06f6488
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/p65.c
@@ -0,0 +1,17 @@
+/* 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 "p65.h"
diff --git a/keyboards/gmmk/gmmk2/p65/p65.h b/keyboards/gmmk/gmmk2/p65/p65.h
new file mode 100644
index 0000000000..7a6339c2e0
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p65/p65.h
@@ -0,0 +1,25 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#if defined(KEYBOARD_gmmk_gmmk2_p65_ansi)
+# include "ansi/ansi.h"
+#elif defined(KEYBOARD_gmmk_gmmk2_p65_iso)
+# include "iso/iso.h"
+#endif // GMMK V2 revisions
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c
new file mode 100644
index 0000000000..455a598982
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c
@@ -0,0 +1,332 @@
+/* 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 "ansi.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, k00, Esc
+ {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 1, k10, F1
+ {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 2, k20, F2
+ {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 3, k30, F3
+ {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 4, k40, F4
+ {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 5, k50, F5
+ {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 6, k60, F6
+ {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 7, k70, F7
+ {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 8, k80, F8
+ {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 9, k90, F9
+ {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 10, ka0, F10
+ {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 11, kb0, F11
+ {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 12, kc0, F12
+ {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 13, kd0, Printscreen
+ {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 14, k06, Delete
+ {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 15, k16, Insert
+ {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 16, k26, Page Up
+ {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 17, k36, Page Down
+
+ {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 18, k01, `
+ {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 19, k11, 1
+ {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 20, k21, 2
+ {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 21, k31, 3
+ {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 22, k41, 4
+ {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 23, k51, 5
+ {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 24, k61, 6
+ {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 25, k71, 7
+ {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 26, k81, 8
+ {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 27, k91, 9
+ {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 28, ka1, 0
+ {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 29, kb1, -
+ {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 30, kc1, =
+ {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 31, kd1, Backspace
+ {1, CS7_SW1, CS8_SW1, CS9_SW1}, // 32, k46, Num Lock
+ {1, CS7_SW2, CS8_SW2, CS9_SW2}, // 33, k56, Num /
+ {1, CS7_SW3, CS8_SW3, CS9_SW3}, // 34, k66, Num *
+ {1, CS7_SW4, CS8_SW4, CS9_SW4}, // 35, k76, Num -
+
+ {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 36, k02, Tab
+ {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 37, k12, Q
+ {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 38, k22, W
+ {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 39, k32, E
+ {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 40, k42, R
+ {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 41, k52, T
+ {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 42, k62, Y
+ {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 43, k72, U
+ {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 44, k82, I
+ {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 45, k92, O
+ {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 46, ka2, P
+ {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 47, kb2, [
+ {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 48, kc2, ]
+ {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 49, kd3, "\\"
+ {1, CS7_SW5, CS8_SW5, CS9_SW5}, // 50, k86, Num 7
+ {1, CS7_SW6, CS8_SW6, CS9_SW6}, // 51, k96, Num 8
+ {1, CS7_SW7, CS8_SW7, CS9_SW7}, // 52, ka6, Num 9
+ {1, CS7_SW8, CS8_SW8, CS9_SW8}, // 53, kb6, Num +
+
+ {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 54, k03, Caps Lock
+ {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 55, k13, A
+ {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 56, k23, S
+ {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 57, k33, D
+ {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 58, k43, F
+ {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 59, k53, G
+ {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 60, k63, H
+ {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 61, k73, J
+ {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 62, k83, K
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 63, k93, L
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 64, ka3, ;
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 65, kb3, '
+ {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 66, kc3, Enter
+ {1, CS7_SW9, CS8_SW9, CS9_SW9}, // 67, ka7, Num 4
+ {1, CS7_SW10, CS8_SW10, CS9_SW10}, // 68, kb7, Num 5
+ {1, CS7_SW11, CS8_SW11, CS9_SW11}, // 69, kc7, Num 6
+
+ {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 70, k04, Shift_L
+ {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, k24, Z
+ {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 72, k34, X
+ {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 73, k44, C
+ {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 74, k54, V
+ {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 75, k64, B
+ {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 76, k74, N
+ {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 77, k84, M
+ {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 78, k94, ,
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 79, ka4, .
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 80, kb4, /
+ {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 81, kd4, Shift_R
+ {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 82, k17, Up
+ {1, CS10_SW1, CS11_SW1, CS12_SW1}, // 83, k67, Num 1
+ {1, CS10_SW2, CS11_SW2, CS12_SW2}, // 84, k77, Num 2
+ {1, CS10_SW3, CS11_SW3, CS12_SW3}, // 85, k87, Num 3
+ {1, CS10_SW4, CS11_SW4, CS12_SW4}, // 86, k97, Enter_R
+
+ {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 87, k05, Ctrl_L
+ {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 88, k15, Win_L
+ {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 89, k25, Alt_L
+ {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 90, k65, Space
+ {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 91, k95, Alt_R
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 92, ka5, FN
+ {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 93, kc5, Ctrl_R
+ {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 94, k07, Left
+ {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 95, k27, Down
+ {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 96, k37, Right
+ {1, CS10_SW6, CS11_SW6, CS12_SW6}, // 97, k47, Num 0
+ {1, CS10_SW7, CS11_SW7, CS12_SW7}, // 98, k57, Num .
+
+ {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 101, LED 1
+ {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 102, LED 2
+ {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 103, LED 3
+ {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 104, LED 4
+ {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 105, LED 5
+ {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 106, LED 6
+ {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 107, LED 7
+ {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 108, LED 8
+ {1, CS13_SW9, CS14_SW9, CS15_SW9}, // 109, LED 9
+ {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 110, LED 10
+ {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 111, LED 11
+ {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 112, LED 12
+ {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 113, LED 13
+ {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 114, LED 14
+ {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 115, LED 15
+ {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 116, LED 16
+ {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 117, LED 17
+ {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 118, LED 18
+ {1, CS16_SW9, CS17_SW9, CS18_SW9}, // 119, LED 19
+ {1, CS16_SW10, CS17_SW10, CS18_SW10} // 120, LED 20
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {{
+ { 0, 18, 36, 54, 70, 87, 14, 94},
+ { 1, 19, 37, 55, __, 88, 15, 82},
+ { 2, 20, 38, 56, 71, 89, 16, 95},
+ { 3, 21, 39, 57, 72, __, 17, 96},
+ { 4, 22, 40, 58, 73, __, 32, 97},
+ { 5, 23, 41, 59, 74, __, 33, 98},
+ { 6, 24, 42, 60, 75, 90, 34, 83},
+ { 7, 25, 43, 61, 76, __, 35, 84},
+ { 8, 26, 44, 62, 77, __, 50, 85},
+ { 9, 27, 45, 63, 78, 91, 51, 86},
+ {10, 28, 46, 64, 79, 92, 52, 67},
+ {11, 29, 47, 65, 80, __, 53, 68},
+ {12, 30, 48, __, __, 93, __, 69},
+ {13, 31, 49, 66, 81, __, __, __}
+}, {
+ { 11, 0}, // 0, k00, Esc
+ { 22, 0}, // 1, k10, F1
+ { 33, 0}, // 2, k20, F2
+ { 44, 0}, // 3, k30, F3
+ { 55, 0}, // 4, k40, F4
+ { 66, 0}, // 5, k50, F5
+ { 77, 0}, // 6, k60, F6
+ { 88, 0}, // 7, k70, F7
+ { 99, 0}, // 8, k80, F8
+ { 110, 0}, // 9, k90, F9
+ { 121, 0}, // 10, ka0, F10
+ { 132, 0}, // 11, kb0, F11
+ { 143, 0}, // 12, kc0, F12
+ { 154, 0}, // 13, kd0, Printscreen
+ { 165, 0}, // 14, k06, Delete
+ { 176, 0}, // 15, k16, Insert
+ { 187, 0}, // 16, k26, Page Up
+ { 198, 0}, // 17, k36, Page Down
+
+ { 11, 11}, // 18, k01, `
+ { 22, 11}, // 19, k11, 1
+ { 33, 11}, // 20, k21, 2
+ { 44, 11}, // 21, k31, 3
+ { 55, 11}, // 22, k41, 4
+ { 66, 11}, // 23, k51, 5
+ { 77, 11}, // 24, k61, 6
+ { 88, 11}, // 25, k71, 7
+ { 99, 11}, // 26, k81, 8
+ { 110, 11}, // 27, k91, 9
+ { 121, 11}, // 28, ka1, 0
+ { 132, 11}, // 29, kb1, -
+ { 143, 11}, // 30, kc1, =
+ { 154, 11}, // 31, kd1, Backspace
+ { 165, 11}, // 32, k46, Num Lock
+ { 176, 11}, // 33, k56, Num /
+ { 187, 11}, // 34, k66, Num *
+ { 198, 11}, // 35, k76, Num -
+
+ { 11, 22}, // 36, k02, Tab
+ { 22, 22}, // 37, k12, Q
+ { 33, 22}, // 38, k22, W
+ { 44, 22}, // 39, k32, E
+ { 55, 22}, // 40, k42, R
+ { 66, 22}, // 41, k52, T
+ { 77, 22}, // 42, k62, Y
+ { 88, 22}, // 43, k72, U
+ { 99, 22}, // 44, k82, I
+ { 110, 22}, // 45, k92, O
+ { 121, 22}, // 46, ka2, P
+ { 132, 22}, // 47, kb2, [
+ { 143, 22}, // 48, kc2, ]
+ { 154, 22}, // 49, kd3, "\\"
+ { 165, 22}, // 50, k86, Num 7
+ { 176, 22}, // 51, k96, Num 8
+ { 187, 22}, // 52, ka6, Num 9
+ { 198, 22}, // 53, kb6, Num +
+
+ { 11, 33}, // 54, k03, Caps Lock
+ { 22, 33}, // 55, k13, A
+ { 33, 33}, // 56, k23, S
+ { 44, 33}, // 57, k33, D
+ { 55, 33}, // 58, k43, F
+ { 66, 33}, // 59, k53, G
+ { 77, 33}, // 60, k63, H
+ { 88, 33}, // 61, k73, J
+ { 99, 33}, // 62, k83, K
+ { 110, 33}, // 63, k93, L
+ { 121, 33}, // 64, ka3, ;
+ { 132, 33}, // 65, kb3, '
+ { 154, 33}, // 66, kc3, Enter
+ { 165, 33}, // 67, ka7, Num 4
+ { 176, 33}, // 68, kb7, Num 5
+ { 187, 33}, // 69, kc7, Num 6
+
+ { 11, 44}, // 70, k04, Shift_L
+ { 33, 44}, // 71, k24, Z
+ { 44, 44}, // 72, k34, X
+ { 55, 44}, // 73, k44, C
+ { 66, 44}, // 74, k54, V
+ { 77, 44}, // 75, k64, B
+ { 88, 44}, // 76, k74, N
+ { 99, 44}, // 77, k84, M
+ { 110, 44}, // 78, k94, ,
+ { 121, 44}, // 79, ka4, .
+ { 132, 44}, // 80, kb4, /
+ { 143, 44}, // 81, kd4, Shift_R
+ { 154, 44}, // 82, k17, Up
+ { 165, 44}, // 83, k67, Num 1
+ { 176, 44}, // 84, k77, Num 2
+ { 187, 44}, // 85, k87, Num 3
+ { 198, 44}, // 86, k97, Enter_R
+
+ { 11, 55}, // 87, k05, Ctrl_L
+ { 22, 55}, // 88, k15, Win_L
+ { 33, 55}, // 89, k25, Alt_L
+ { 77, 55}, // 90, k65, Space
+ { 110, 55}, // 91, k95, Alt_R
+ { 121, 55}, // 92, ka5, FN
+ { 132, 55}, // 93, kc5, Ctrl_R
+ { 143, 55}, // 94, k07, Left
+ { 154, 55}, // 95, k27, Down
+ { 165, 55}, // 96, k37, Right
+ { 176, 55}, // 97, k47, Num 0
+ { 187, 55}, // 98, k57, Num .
+
+ { 0, 0}, // 101, LED 1
+ { 0, 6}, // 102, LED 2
+ { 0, 12}, // 103, LED 3
+ { 0, 18}, // 104, LED 4
+ { 0, 24}, // 105, LED 5
+ { 0, 30}, // 106, LED 6
+ { 0, 36}, // 107, LED 7
+ { 0, 42}, // 108, LED 8
+ { 0, 48}, // 109, LED 9
+ { 0, 54}, // 110, LED 10
+ { 209, 0}, // 111, LED 11
+ { 209, 6}, // 112, LED 12
+ { 209, 12}, // 113, LED 13
+ { 209, 18}, // 114, LED 14
+ { 209, 24}, // 115, LED 15
+ { 209, 30}, // 116, LED 16
+ { 209, 36}, // 117, LED 17
+ { 209, 42}, // 118, LED 18
+ { 209, 48}, // 119, LED 19
+ { 209, 54} // 120, LED 20
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 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,
+ 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, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
+
+#ifdef EEPROM_ENABLE
+
+#include "spi_master.h"
+
+void spi_init(void) {
+ static bool is_initialised = false;
+ if (!is_initialised) {
+ is_initialised = true;
+
+ // Try releasing special pins for a short time
+ setPinInput(SPI_SCK_PIN);
+ setPinInput(SPI_MOSI_PIN);
+ setPinInput(SPI_MISO_PIN);
+
+ chThdSleepMilliseconds(10);
+
+ palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3);
+ palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ }
+}
+
+#endif
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.h b/keyboards/gmmk/gmmk2/p96/ansi/ansi.h
new file mode 100644
index 0000000000..d449a198df
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.h
@@ -0,0 +1,54 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Del Ins PgUp PgDn
+// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Num / * -
+// Tab Q W E R T Y U I O P [ ] \\ 7 8 9 +
+// Caps A S D F G H J K L ; ' Enter 4 5 6 +
+// Sh_L Z X C V B N M , . / Sh_R Up 1 2 3 Enter
+// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right 0 . Enter
+
+// clang-format off
+#define LAYOUT( \
+ k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, ka0, kb0, kc0, kd0, k06, k16, k26, k36,\
+ k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, ka1, kb1, kc1, kd1, k46, k56, k66, k76,\
+ k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, ka2, kb2, kc2, kd2, k86, k96, ka6, kb6,\
+ k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, ka3, kb3, kd3, ka7, kb7, kc7, \
+ k04, k24, k34, k44, k54, k64, k74, k84, k94, ka4, kb4, kd4, k17, k67, k77, k87, k97,\
+ k05, k15, k25, k65, k95, ka5, kc5, k07, k27, k37, k47, k57 \
+)\
+{\
+ { k00, k01, k02, k03, k04, k05, k06, k07},\
+ { k10, k11, k12, k13, ___, k15, k16, k17},\
+ { k20, k21, k22, k23, k24, k25, k26, k27},\
+ { k30, k31, k32, k33, k34, ___, k36, k37},\
+ { k40, k41, k42, k43, k44, ___, k46, k47},\
+ { k50, k51, k52, k53, k54, ___, k56, k57},\
+ { k60, k61, k62, k63, k64, k65, k66, k67},\
+ { k70, k71, k72, k73, k74, ___, k76, k77},\
+ { k80, k81, k82, k83, k84, ___, k86, k87},\
+ { k90, k91, k92, k93, k94, k95, k96, k97},\
+ { ka0, ka1, ka2, ka3, ka4, ka5, ka6, ka7},\
+ { kb0, kb1, kb2, kb3, kb4, ___, kb6, kb7},\
+ { kc0, kc1, kc2, ___, ___, kc5, ___, kc7},\
+ { kd0, kd1, kd2, kd3, kd4, ___, ___, ___} \
+}
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json
new file mode 100644
index 0000000000..a5a1d6c3d5
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json
@@ -0,0 +1,125 @@
+{
+ "keyboard_name": "GMMK V2 96 ANSI",
+ "manufacturer": "Glorious",
+ "url": "http://www.pcgamingrace.com",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x504B",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "ESC", "x": 0, "y": 0 },
+
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+
+ { "label": "Printscreen", "x": 14, "y": 0 },
+ { "label": "Delete", "x": 15.5, "y": 0 },
+ { "label": "Insert", "x": 16.5, "y": 0 },
+ { "label": "Page Up", "x": 17.5, "y": 0 },
+ { "label": "Page Down", "x": 18.5, "y": 0 },
+
+ { "label": "`", "x": 0, "y": 1 },
+ { "label": "1", "x": 1, "y": 1 },
+ { "label": "2", "x": 2, "y": 1 },
+ { "label": "3", "x": 3, "y": 1 },
+ { "label": "4", "x": 4, "y": 1 },
+ { "label": "5", "x": 5, "y": 1 },
+ { "label": "6", "x": 6, "y": 1 },
+ { "label": "7", "x": 7, "y": 1 },
+ { "label": "8", "x": 8, "y": 1 },
+ { "label": "9", "x": 9, "y": 1 },
+ { "label": "0", "x": 10, "y": 1 },
+ { "label": "-", "x": 11, "y": 1 },
+ { "label": "=", "x": 12, "y": 1 },
+ { "label": "Backspace", "x": 13, "y": 1, "w": 2},
+ { "label": "Num Lock", "x": 15.5, "y": 1 },
+ { "label": "/", "x": 16.5, "y": 1 },
+ { "label": "*", "x": 17.5, "y": 1 },
+ { "label": "-", "x": 18.5, "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.25},
+ { "label": "7", "x": 15.5, "y": 2 },
+ { "label": "8", "x": 16.5, "y": 2 },
+ { "label": "9", "x": 17.5, "y": 2, "w": 1.5},
+ { "label": "+", "x": 18.5, "y": 2 ,"h":2},
+
+ { "label": "Caps Lock", "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": "4", "x": 15.5, "y": 3 },
+ { "label": "5", "x": 16.5, "y": 3 },
+ { "label": "6", "x": 17.5, "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.25, "y": 4 },
+ { "label": "1", "x": 15.5, "y": 4 },
+ { "label": "2", "x": 16.5, "y": 4 },
+ { "label": "3", "x": 17.5, "y": 4 },
+ { "label": "Enter", "x": 18.5, "y": 4 ,"h":2},
+
+ { "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},
+ { "label": "Space", "x": 3.75, "y": 5, "w": 6.25},
+ { "label": "Alt", "x": 10, "y": 5 },
+ { "label": "FN", "x": 11, "y": 5 },
+ { "label": "Ctrl", "x": 12, "y": 5 },
+ { "label": "Left", "x": 13.25, "y": 5 },
+ { "label": "Down", "x": 14.25, "y": 5 },
+ { "label": "Right", "x": 15.25, "y": 5 },
+ { "label": "0", "x": 16.5, "y": 5 },
+ { "label": ".", "x": 17.5, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f03eda7e37
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
+/* 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
+
+// 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.
+enum custom_layers {
+ _BL,
+ _FL,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = LAYOUT(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MRWD, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/readme.md
new file mode 100644
index 0000000000..fd8536d5de
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/readme.md
@@ -0,0 +1 @@
+# ANSI GMMKV2 96% Layout
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/config.h b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/config.h
new file mode 100644
index 0000000000..b656a22f1b
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/config.h
@@ -0,0 +1,21 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..19f01f53b6
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* 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
+
+// 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.
+enum custom_layers {
+ _BL,
+ _FL,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = LAYOUT(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MRWD, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______),
+[2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/readme.md b/keyboards/gmmk/gmmk2/p96/ansi/readme.md
new file mode 100644
index 0000000000..0d01979bb3
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/readme.md
@@ -0,0 +1,23 @@
+# GMMK V2 96% (ANSI)
+
+A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
+
+* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
+* Hardware Supported: GMMK V2
+* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/gmmk2/p96/ansi:default
+
+Flashing example for this keyboard:
+
+ make gmmk/gmmk2/p96/ansi:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
+* Hold the Escape key while connecting the USB cable (also erases persistent settings)
+* Fn+Backslash 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/gmmk2/p96/ansi/rules.mk b/keyboards/gmmk/gmmk2/p96/ansi/rules.mk
new file mode 100644
index 0000000000..ba78129495
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/ansi/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
+MOUSEKEY_ENABLE = yes # Mouse keys.
+EXTRAKEY_ENABLE = yes # Audio control and System control.
+CONSOLE_ENABLE = no # Console for debug.
+COMMAND_ENABLE = no # Commands for debug and configuration.
+NKRO_ENABLE = yes # Enable NKRO Rollover.
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
+AUDIO_ENABLE = no # Audio output.
+RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
+RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h
new file mode 100644
index 0000000000..03a7f58538
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/config.h
@@ -0,0 +1,119 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 14
+#define MATRIX_COLS 8
+
+#define MATRIX_ROW_PINS \
+ { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13 }
+#define MATRIX_COL_PINS \
+ { A0, A1, A2, A3, A4, A8, A9, A10 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Hold ESC on start up to clear EEPROM and boot into bootloader mode */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+#define TAP_CODE_DELAY 10
+
+/* 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 RGB_DISABLE_WHEN_USB_SUSPENDED
+
+/* External spi flash */
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
+#define WEAR_LEVELING_BACKING_SIZE 2048
+
+/* SPI Config for LED Driver */
+#define SPI_DRIVER SPIDQ
+#define SPI_SCK_PIN A5
+#define SPI_MOSI_PIN A7
+#define SPI_MISO_PIN A6
+
+#define DRIVER_1_CS A15
+#define DRIVER_2_CS B15
+#define DRIVER_1_EN C13
+#define DRIVER_2_EN C13
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 66
+#define DRIVER_2_LED_TOTAL 54
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+/* Set debounce time to 5ms */
+#define DEBOUNCE 5
+
+/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */
+// #define FORCE_NKRO
diff --git a/keyboards/gmmk/gmmk2/p96/halconf.h b/keyboards/gmmk/gmmk2/p96/halconf.h
new file mode 100644
index 0000000000..293d182917
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/halconf.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/wb_support/gmmk2/halconf.h -r platforms/chibios/boards/common/configs/halconf.h`
+ */
+
+#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/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json
new file mode 100644
index 0000000000..df30007a01
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/info.json
@@ -0,0 +1,126 @@
+{
+ "keyboard_name": "GMMK V2 96 ISO",
+ "manufacturer": "Glorious",
+ "url": "http://www.pcgamingrace.com",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x505A",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "ESC", "x": 0, "y": 0 },
+
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+
+ { "label": "Printscreen", "x": 14, "y": 0 },
+ { "label": "Delete", "x": 15.5, "y": 0 },
+ { "label": "Insert", "x": 16.5, "y": 0 },
+ { "label": "Page Up", "x": 17.5, "y": 0 },
+ { "label": "Page Down", "x": 18.5, "y": 0 },
+
+ { "label": "`", "x": 0, "y": 1 },
+ { "label": "1", "x": 1, "y": 1 },
+ { "label": "2", "x": 2, "y": 1 },
+ { "label": "3", "x": 3, "y": 1 },
+ { "label": "4", "x": 4, "y": 1 },
+ { "label": "5", "x": 5, "y": 1 },
+ { "label": "6", "x": 6, "y": 1 },
+ { "label": "7", "x": 7, "y": 1 },
+ { "label": "8", "x": 8, "y": 1 },
+ { "label": "9", "x": 9, "y": 1 },
+ { "label": "0", "x": 10, "y": 1 },
+ { "label": "-", "x": 11, "y": 1 },
+ { "label": "=", "x": 12, "y": 1 },
+ { "label": "Backspace", "x": 13, "y": 1, "w": 2},
+ { "label": "Num Lock", "x": 15.5, "y": 1 },
+ { "label": "/", "x": 16.5, "y": 1 },
+ { "label": "*", "x": 17.5, "y": 1 },
+ { "label": "-", "x": 18.5, "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": "Enter", "x": 13.5, "y": 2 ,"h":2, "w": 1.25},
+ { "label": "7", "x": 15.5, "y": 2 },
+ { "label": "8", "x": 16.5, "y": 2 },
+ { "label": "9", "x": 17.5, "y": 2, "w": 1.5},
+ { "label": "+", "x": 18.5, "y": 2 ,"h":2},
+
+ { "label": "Caps Lock", "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": "#", "x": 12.75, "y": 3 },
+ { "label": "4", "x": 15.5, "y": 3 },
+ { "label": "5", "x": 16.5, "y": 3 },
+ { "label": "6", "x": 17.5, "y": 3 },
+
+ { "label": "Shift", "x": 0, "y": 4, "w": 1.25},
+ { "label": "\\", "x": 1.25, "y": 4 },
+ { "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.25, "y": 4 },
+ { "label": "1", "x": 15.5, "y": 4 },
+ { "label": "2", "x": 16.5, "y": 4 },
+ { "label": "3", "x": 17.5, "y": 4 },
+ { "label": "Enter", "x": 18.5, "y": 4 ,"h":2},
+
+ { "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},
+ { "label": "Space", "x": 3.75, "y": 5, "w": 6.25},
+ { "label": "Alt", "x": 10, "y": 5 },
+ { "label": "FN", "x": 11, "y": 5 },
+ { "label": "Ctrl", "x": 12, "y": 5 },
+ { "label": "Left", "x": 13.25, "y": 5 },
+ { "label": "Down", "x": 14.25, "y": 5 },
+ { "label": "Right", "x": 15.25, "y": 5 },
+ { "label": "0", "x": 16.5, "y": 5 },
+ { "label": ".", "x": 17.5, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c
new file mode 100644
index 0000000000..e1fee18079
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/iso.c
@@ -0,0 +1,328 @@
+/* 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 "iso.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, k00, Esc
+ {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 1, k10, F1
+ {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 2, k20, F2
+ {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 3, k30, F3
+ {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 4, k40, F4
+ {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 5, k50, F5
+ {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 6, k60, F6
+ {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 7, k70, F7
+ {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 8, k80, F8
+ {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 9, k90, F9
+ {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 10, ka0, F10
+ {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 11, kb0, F11
+ {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 12, kc0, F12
+ {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 13, kd0, Printscreen
+ {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 14, k06, Delete
+ {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 15, k16, Insert
+ {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 16, k26, Page Up
+ {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 17, k36, Page Down
+
+ {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 18, k01, `
+ {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 19, k11, 1
+ {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 20, k21, 2
+ {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 21, k31, 3
+ {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 22, k41, 4
+ {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 23, k51, 5
+ {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 24, k61, 6
+ {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 25, k71, 7
+ {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 26, k81, 8
+ {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 27, k91, 9
+ {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 28, ka1, 0
+ {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 29, kb1, -
+ {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 30, kc1, =
+ {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 31, kd1, Backspace
+ {1, CS7_SW1, CS8_SW1, CS9_SW1}, // 32, k46, Num Lock
+ {1, CS7_SW2, CS8_SW2, CS9_SW2}, // 33, k56, Num /
+ {1, CS7_SW3, CS8_SW3, CS9_SW3}, // 34, k66, Num *
+ {1, CS7_SW4, CS8_SW4, CS9_SW4}, // 35, k76, Num -
+
+ {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 36, k02, Tab
+ {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 37, k12, Q
+ {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 38, k22, W
+ {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 39, k32, E
+ {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 40, k42, R
+ {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 41, k52, T
+ {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 42, k62, Y
+ {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 43, k72, U
+ {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 44, k82, I
+ {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 45, k92, O
+ {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 46, ka2, P
+ {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 47, kb2, [
+ {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 48, kc2, ]
+ {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 49, kd3, Enter
+ {1, CS7_SW5, CS8_SW5, CS9_SW5}, // 50, k86, Num 7
+ {1, CS7_SW6, CS8_SW6, CS9_SW6}, // 51, k96, Num 8
+ {1, CS7_SW7, CS8_SW7, CS9_SW7}, // 52, ka6, Num 9
+ {1, CS7_SW8, CS8_SW8, CS9_SW8}, // 53, kb6, Num +
+
+ {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 54, k03, Caps Lock
+ {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 55, k13, A
+ {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 56, k23, S
+ {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 57, k33, D
+ {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 58, k43, F
+ {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 59, k53, G
+ {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 60, k63, H
+ {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 61, k73, J
+ {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 62, k83, K
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 63, k93, L
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 64, ka3, ;
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 65, kb3, '
+ {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 66, kc3, #
+ {1, CS7_SW9, CS8_SW9, CS9_SW9}, // 67, ka7, Num 4
+ {1, CS7_SW10, CS8_SW10, CS9_SW10}, // 68, kb7, Num 5
+ {1, CS7_SW11, CS8_SW11, CS9_SW11}, // 69, kc7, Num 6
+
+ {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 70, k04, Shift_L
+ {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 71, k14, "\\"
+ {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 72, k24, Z
+ {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, k34, X
+ {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 74, k44, C
+ {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 75, k54, V
+ {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 76, k64, B
+ {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 77, k74, N
+ {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 78, k84, M
+ {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 79, k94, ,
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 80, ka4, .
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 81, kb4, /
+ {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 82, kd4, Shift_R
+ {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 83, k17, Up
+ {1, CS10_SW1, CS11_SW1, CS12_SW1}, // 84, k67, Num 1
+ {1, CS10_SW2, CS11_SW2, CS12_SW2}, // 85, k77, Num 2
+ {1, CS10_SW3, CS11_SW3, CS12_SW3}, // 86, k87, Num 3
+ {1, CS10_SW4, CS11_SW4, CS12_SW4}, // 87, k97, Enter_R
+
+ {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 88, k05, Ctrl_L
+ {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 89, k15, Win_L
+ {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 90, k25, Alt_L
+ {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 91, k65, Space
+ {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 92, k95, Alt_R
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 93, ka5, FN
+ {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 94, kc5, Ctrl_R
+ {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, k07, Left
+ {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 96, k27, Down
+ {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 97, k37, Right
+ {1, CS10_SW6, CS11_SW6, CS12_SW6}, // 98, k47, Num 0
+ {1, CS10_SW7, CS11_SW7, CS12_SW7}, // 99, k57, Num .
+
+ {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 101, LED 1
+ {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 102, LED 2
+ {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 103, LED 3
+ {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 104, LED 4
+ {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 105, LED 5
+ {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 106, LED 6
+ {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 107, LED 7
+ {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 108, LED 8
+ {1, CS13_SW9, CS14_SW9, CS15_SW9}, // 109, LED 9
+ {1, CS13_SW10, CS14_SW10, CS15_SW10}, // 110, LED 10
+ {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 111, LED 11
+ {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 112, LED 12
+ {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 113, LED 13
+ {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 114, LED 14
+ {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 115, LED 15
+ {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 116, LED 16
+ {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 117, LED 17
+ {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 118, LED 18
+ {1, CS16_SW9, CS17_SW9, CS18_SW9}, // 119, LED 19
+ {1, CS16_SW10, CS17_SW10, CS18_SW10} // 120, LED 20
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {{
+ { 0, 18, 36, 54, 70, 88, 14, 95},
+ { 1, 19, 37, 55, 71, 89, 15, 83},
+ { 2, 20, 38, 56, 72, 90, 16, 96},
+ { 3, 21, 39, 57, 73, __, 17, 97},
+ { 4, 22, 40, 58, 74, __, 32, 98},
+ { 5, 23, 41, 59, 75, __, 33, 99},
+ { 6, 24, 42, 60, 76, 91, 34, 84},
+ { 7, 25, 43, 61, 77, __, 35, 85},
+ { 8, 26, 44, 62, 78, __, 50, 86},
+ { 9, 27, 45, 63, 79, 92, 51, 87},
+ {10, 28, 46, 64, 80, 93, 52, 67},
+ {11, 29, 47, 65, 81, __, 53, 68},
+ {12, 30, 48, 66, __, 94, __, 69},
+ {13, 31, __, 49, 82, __, __, __}
+}, {
+ { 11, 0}, // 0, k00, Esc
+ { 22, 0}, // 1, k10, F1
+ { 33, 0}, // 2, k20, F2
+ { 44, 0}, // 3, k30, F3
+ { 55, 0}, // 4, k40, F4
+ { 66, 0}, // 5, k50, F5
+ { 77, 0}, // 6, k60, F6
+ { 88, 0}, // 7, k70, F7
+ { 99, 0}, // 8, k80, F8
+ { 110, 0}, // 9, k90, F9
+ { 121, 0}, // 10, ka0, F10
+ { 132, 0}, // 11, kb0, F11
+ { 143, 0}, // 12, kc0, F12
+ { 154, 0}, // 13, kd0, Printscreen
+ { 165, 0}, // 14, k06, Delete
+ { 176, 0}, // 15, k16, Insert
+ { 187, 0}, // 16, k26, Page Up
+ { 198, 0}, // 17, k36, Page Down
+ { 11, 11}, // 18, k01, `
+ { 22, 11}, // 19, k11, 1
+ { 33, 11}, // 20, k21, 2
+ { 44, 11}, // 21, k31, 3
+ { 55, 11}, // 22, k41, 4
+ { 66, 11}, // 23, k51, 5
+ { 77, 11}, // 24, k61, 6
+ { 88, 11}, // 25, k71, 7
+ { 99, 11}, // 26, k81, 8
+ { 110, 11}, // 27, k91, 9
+ { 121, 11}, // 28, ka1, 0
+ { 132, 11}, // 29, kb1, -
+ { 143, 11}, // 30, kc1, =
+ { 154, 11}, // 31, kd1, Backspace
+ { 165, 11}, // 32, k46, Num Lock
+ { 176, 11}, // 33, k56, Num /
+ { 187, 11}, // 34, k66, Num *
+ { 198, 11}, // 35, k76, Num -
+ { 11, 22}, // 36, k02, Tab
+ { 22, 22}, // 37, k12, Q
+ { 33, 22}, // 38, k22, W
+ { 44, 22}, // 39, k32, E
+ { 55, 22}, // 40, k42, R
+ { 66, 22}, // 41, k52, T
+ { 77, 22}, // 42, k62, Y
+ { 88, 22}, // 43, k72, U
+ { 99, 22}, // 44, k82, I
+ { 110, 22}, // 45, k92, O
+ { 121, 22}, // 46, ka2, P
+ { 132, 22}, // 47, kb2, [
+ { 143, 22}, // 48, kc2, ]
+ { 154, 22}, // 49, kd3, Enter
+ { 165, 22}, // 50, k86, Num 7
+ { 176, 22}, // 51, k96, Num 8
+ { 187, 22}, // 52, ka6, Num 9
+ { 198, 22}, // 53, kb6, Num +
+ { 11, 33}, // 54, k03, Caps Lock
+ { 22, 33}, // 55, k13, A
+ { 33, 33}, // 56, k23, S
+ { 44, 33}, // 57, k33, D
+ { 55, 33}, // 58, k43, F
+ { 66, 33}, // 59, k53, G
+ { 77, 33}, // 60, k63, H
+ { 88, 33}, // 61, k73, J
+ { 99, 33}, // 62, k83, K
+ { 110, 33}, // 63, k93, L
+ { 121, 33}, // 64, ka3, ;
+ { 132, 33}, // 65, kb3, '
+ { 143, 33}, // 66, kc3, #
+ { 165, 33}, // 67, ka7, Num 4
+ { 176, 33}, // 68, kb7, Num 5
+ { 187, 33}, // 69, kc7, Num 6
+ { 11, 44}, // 70, k04, Shift_L
+ { 22, 44}, // 71, k14, "\\"
+ { 33, 44}, // 72, k24, Z
+ { 44, 44}, // 73, k34, X
+ { 55, 44}, // 74, k44, C
+ { 66, 44}, // 75, k54, V
+ { 77, 44}, // 76, k64, B
+ { 88, 44}, // 77, k74, N
+ { 99, 44}, // 78, k84, M
+ { 110, 44}, // 79, k94, ,
+ { 121, 44}, // 80, ka4, .
+ { 132, 44}, // 81, kb4, /
+ { 143, 44}, // 82, kd4, Shift_R
+ { 154, 44}, // 83, k17, Up
+ { 165, 44}, // 84, k67, Num 1
+ { 176, 44}, // 85, k77, Num 2
+ { 187, 44}, // 86, k87, Num 3
+ { 198, 44}, // 87, k97, Enter_R
+ { 11, 55}, // 88, k05, Ctrl_L
+ { 22, 55}, // 89, k15, Win_L
+ { 33, 55}, // 90, k25, Alt_L
+ { 77, 55}, // 91, k65, Space
+ { 110, 55}, // 92, k95, Alt_R
+ { 121, 55}, // 93, ka5, FN
+ { 132, 55}, // 94, kc5, Ctrl_R
+ { 143, 55}, // 95, k07, Left
+ { 154, 55}, // 96, k27, Down
+ { 165, 55}, // 97, k37, Right
+ { 176, 55}, // 98, k47, Num 0
+ { 187, 55}, // 99, k57, Num .
+ { 0, 0}, // 101, LED 1
+ { 0, 6}, // 102, LED 2
+ { 0, 12}, // 103, LED 3
+ { 0, 18}, // 104, LED 4
+ { 0, 24}, // 105, LED 5
+ { 0, 30}, // 106, LED 6
+ { 0, 36}, // 107, LED 7
+ { 0, 42}, // 108, LED 8
+ { 0, 48}, // 109, LED 9
+ { 0, 54}, // 110, LED 10
+ { 209, 0}, // 111, LED 11
+ { 209, 6}, // 112, LED 12
+ { 209, 12}, // 113, LED 13
+ { 209, 18}, // 114, LED 14
+ { 209, 24}, // 115, LED 15
+ { 209, 30}, // 116, LED 16
+ { 209, 36}, // 117, LED 17
+ { 209, 42}, // 118, LED 18
+ { 209, 48}, // 119, LED 19
+ { 209, 54} // 120, LED 20
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 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,
+ 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, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
+
+#ifdef EEPROM_ENABLE
+
+#include "spi_master.h"
+
+void spi_init(void) {
+ static bool is_initialised = false;
+ if (!is_initialised) {
+ is_initialised = true;
+
+ // Try releasing special pins for a short time
+ setPinInput(SPI_SCK_PIN);
+ setPinInput(SPI_MOSI_PIN);
+ setPinInput(SPI_MISO_PIN);
+
+ chThdSleepMilliseconds(10);
+
+ palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3);
+ palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
+ }
+}
+
+#endif
diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.h b/keyboards/gmmk/gmmk2/p96/iso/iso.h
new file mode 100644
index 0000000000..f575befdc1
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/iso.h
@@ -0,0 +1,54 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Del Ins PgUp PgDn
+// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Num / * -
+// Tab Q W E R T Y U I O P [ ] Enter 7 8 9 +
+// Caps A S D F G H J K L ; ' # Enter 4 5 6 +
+// Sh_L \ Z X C V B N M , . / Sh_R Up 1 2 3 Enter
+// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right 0 . Enter
+
+// clang-format off
+#define LAYOUT( \
+ k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, ka0, kb0, kc0, kd0, k06, k16, k26, k36,\
+ k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, ka1, kb1, kc1, kd1, k46, k56, k66, k76,\
+ k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, ka2, kb2, kc2, kd3, k86, k96, ka6, kb6,\
+ k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, ka3, kb3, kc3, ka7, kb7, kc7, \
+ k04, k14, k24, k34, k44, k54, k64, k74, k84, k94, ka4, kb4, kd4, k17, k67, k77, k87, k97,\
+ k05, k15, k25, k65, k95, ka5, kc5, k07, k27, k37, k47, k57 \
+)\
+{\
+ { k00, k01, k02, 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, ___, k36, k37},\
+ { k40, k41, k42, k43, k44, ___, k46, k47},\
+ { k50, k51, k52, k53, k54, ___, k56, k57},\
+ { k60, k61, k62, k63, k64, k65, k66, k67},\
+ { k70, k71, k72, k73, k74, ___, k76, k77},\
+ { k80, k81, k82, k83, k84, ___, k86, k87},\
+ { k90, k91, k92, k93, k94, k95, k96, k97},\
+ { ka0, ka1, ka2, ka3, ka4, ka5, ka6, ka7},\
+ { kb0, kb1, kb2, kb3, kb4, ___, kb6, kb7},\
+ { kc0, kc1, kc2, kc3, ___, kc5, ___, kc7},\
+ { kd0, kd1, ___, kd3, kd4, ___, ___, ___} \
+}
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d9b0dce016
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* 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
+
+// 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.
+#define _BL 0
+#define _FL 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = LAYOUT(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENT, 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_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(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MRWD, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_SAI, RGB_SAD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/readme.md b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/readme.md
new file mode 100644
index 0000000000..b83b40941d
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/readme.md
@@ -0,0 +1 @@
+# ISO GMMKV2 96% Layout
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/config.h b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/config.h
new file mode 100644
index 0000000000..b656a22f1b
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/config.h
@@ -0,0 +1,21 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6d33fdcccc
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* 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
+
+// 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.
+#define _BL 0
+#define _FL 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = LAYOUT(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENT, 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_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(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = LAYOUT(
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MRWD, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_SAI, RGB_SAD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______),
+[2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/rules.mk b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/gmmk2/p96/iso/readme.md b/keyboards/gmmk/gmmk2/p96/iso/readme.md
new file mode 100644
index 0000000000..88a9211973
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/readme.md
@@ -0,0 +1,23 @@
+# GMMK V2 96% (ISO)
+
+A keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller
+
+* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
+* Hardware Supported: GMMK V2
+* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/gmmk2/p96/iso:default
+
+Flashing example for this keyboard:
+
+ make gmmk/gmmk2/p96/iso:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Hold the Reset switch mounted on the surface of the PCB while connecting the USB cable (remove the spacebar key and press and hold the pin on the right side)
+* Hold the Escape key while connecting the USB cable (also erases persistent settings)
+* Fn+Backslash 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/gmmk2/p96/iso/rules.mk b/keyboards/gmmk/gmmk2/p96/iso/rules.mk
new file mode 100644
index 0000000000..ba78129495
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/iso/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite.
+MOUSEKEY_ENABLE = yes # Mouse keys.
+EXTRAKEY_ENABLE = yes # Audio control and System control.
+CONSOLE_ENABLE = no # Console for debug.
+COMMAND_ENABLE = no # Commands for debug and configuration.
+NKRO_ENABLE = yes # Enable NKRO Rollover.
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality.
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow.
+AUDIO_ENABLE = no # Audio output.
+RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
+RGB_MATRIX_DRIVER = AW20216 # Enable RGB matrix effects.
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
diff --git a/keyboards/gmmk/gmmk2/p96/mcuconf.h b/keyboards/gmmk/gmmk2/p96/mcuconf.h
new file mode 100644
index 0000000000..c58ff986b1
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/mcuconf.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/wb_support/gmmk2/mcuconf.h -r platforms/chibios/GENERIC_WB32_F3G71XX/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef WB32_SPI_USE_QSPI
+#define WB32_SPI_USE_QSPI TRUE
+
+#undef WB32_SPI_USE_SPIM2
+#define WB32_SPI_USE_SPIM2 TRUE
diff --git a/keyboards/gmmk/gmmk2/p96/p96.c b/keyboards/gmmk/gmmk2/p96/p96.c
new file mode 100644
index 0000000000..47edcfe1ad
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/p96.c
@@ -0,0 +1,17 @@
+/* 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 "p96.h"
diff --git a/keyboards/gmmk/gmmk2/p96/p96.h b/keyboards/gmmk/gmmk2/p96/p96.h
new file mode 100644
index 0000000000..e7b37d6816
--- /dev/null
+++ b/keyboards/gmmk/gmmk2/p96/p96.h
@@ -0,0 +1,25 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#if defined(KEYBOARD_gmmk_gmmk2_p96_ansi)
+# include "ansi/ansi.h"
+#elif defined(KEYBOARD_gmmk_gmmk2_p96_iso)
+# include "iso/iso.h"
+#endif // GMMK V2 revisions
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index aba69c8872..9582de5265 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -18,13 +18,6 @@
#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
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 8
@@ -113,9 +106,6 @@
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-/* Send up to 4 key press events per scan */
-#define QMK_KEYS_PER_SCAN 4
-
/* Set debounce time to 5ms */
#define DEBOUNCE 5
diff --git a/keyboards/gmmk/pro/pro.h b/keyboards/gmmk/pro/pro.h
index 0e53ffe225..c83d6c99c5 100644
--- a/keyboards/gmmk/pro/pro.h
+++ b/keyboards/gmmk/pro/pro.h
@@ -22,4 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include "rev1/ansi/ansi.h"
#elif defined(KEYBOARD_gmmk_pro_rev1_iso)
# include "rev1/iso/iso.h"
+#elif defined(KEYBOARD_gmmk_pro_rev2_ansi)
+# include "rev2/ansi/ansi.h"
+#elif defined(KEYBOARD_gmmk_pro_rev2_iso)
+# include "rev2/iso/iso.h"
#endif // GMMK Pro revisions
diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json
index c3e76391d1..64f63e9593 100644
--- a/keyboards/gmmk/pro/rev1/ansi/info.json
+++ b/keyboards/gmmk/pro/rev1/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GMMK Pro (ANSI)",
+ "keyboard_name": "GMMK Pro ANSI",
+ "manufacturer": "Glorious",
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
"maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c
index 99504de956..d666454a3e 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MODE_FORWARD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MODE_FORWARD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, _______, KC_MEDIA_NEXT_TRACK
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
index e521425f26..e5599a787d 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[WIN_FN] = LAYOUT(
_______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_PAUS,
+ RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_PAUS,
TO_MACB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_FN] = LAYOUT(
_______, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
- RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_BRMU,
+ RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_BRMU,
TO_WINB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMD,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c
index d044008a23..16f1acd68b 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c
@@ -25,7 +25,7 @@ enum userspace_layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FNLAYER] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET , _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c
index be88ea82f8..9d84e86889 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/batin/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F10, KC_F12, _______, KC_MUTE,
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, RGB_MOD,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c
index 5f3e3f5fd8..86743acf73 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FNLAYER] = LAYOUT(
CLOSEAPPLICATION, CLOSETAB,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, SWAP_L , MAXI , SWAP_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET , _______,
+ _______, SWAP_L , MAXI , SWAP_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, MINI , _______, POPOUT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_TRNS, _______, _______, _______
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c
index 1ad8417de2..fb60872ea8 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_BRID, KC_BRIU, KC_CALC, KC_MSEL, RGB_VAD, RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_SEC1, KC_SEC2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, _______,
- _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, RGB_HUD, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
_______, GUI_TOG, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c
index 2361ab5660..09f8aa147a 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
- EEP_RST, 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, KC_MUTE,
+ EEP_RST, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_MUTE,
KC_NLCK, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC, KC_PSCR,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PSLS, KC_PAST, KC_BSLS, KC_PGUP,
KC_CAPS, RGB_VAD, RGB_TOG, RGB_VAI, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT, KC_PGDN,
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
index 41278868db..7d2c22506a 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[4] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TD(1), _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, XXXXXXX, XXXXXXX, RESET, RGB_MODE_FORWARD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, XXXXXXX, XXXXXXX, QK_BOOT, RGB_MODE_FORWARD,
XXXXXXX, XXXXXXX, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MODE_REVERSE,
_______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.c
deleted file mode 100644
index d2f7b6ee7f..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.c
+++ /dev/null
@@ -1,150 +0,0 @@
-// Copyright 2021-2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-//
-// For full documentation, see
-// https://getreuer.info/posts/keyboards/caps-word
-
-#include "caps_word.h"
-
-static bool caps_word_active = false;
-
-#if CAPS_WORD_IDLE_TIMEOUT > 0
-#if CAPS_WORD_IDLE_TIMEOUT < 100 || CAPS_WORD_IDLE_TIMEOUT > 30000
-// Constrain timeout to a sensible range. With the 16-bit timer, the longest
-// representable timeout is 32768 ms, rounded here to 30000 ms = half a minute.
-#error "caps_word: CAPS_WORD_IDLE_TIMEOUT must be between 100 and 30000 ms"
-#endif
-
-static uint16_t idle_timer = 0;
-
-void caps_word_task(void) {
- if (caps_word_active && timer_expired(timer_read(), idle_timer)) {
- caps_word_set(false);
- }
-}
-#endif // CAPS_WORD_IDLE_TIMEOUT > 0
-
-bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
-#ifndef NO_ACTION_ONESHOT
- const uint8_t mods = get_mods() | get_oneshot_mods();
-#else
- const uint8_t mods = get_mods();
-#endif // NO_ACTION_ONESHOT
-
- if (!caps_word_active) {
- // Pressing both shift keys at the same time enables caps word.
- if ((mods & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
- caps_word_set(true); // Activate Caps Word.
- return false;
- }
- return true;
- } else {
-#if CAPS_WORD_IDLE_TIMEOUT > 0
- idle_timer = record->event.time + CAPS_WORD_IDLE_TIMEOUT;
-#endif // CAPS_WORD_IDLE_TIMEOUT > 0
- }
-
- if (!record->event.pressed) { return true; }
-
- if (!(mods & ~MOD_MASK_SHIFT)) {
- switch (keycode) {
- // Ignore MO, TO, TG, TT, and OSL layer switch keys.
- case QK_MOMENTARY ... QK_MOMENTARY_MAX:
- case QK_TO ... QK_TO_MAX:
- case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
- case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
- case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
- return true;
-
-#ifndef NO_ACTION_TAPPING
- case QK_MOD_TAP ... QK_MOD_TAP_MAX:
- if (record->tap.count == 0) {
- // Deactivate if a mod becomes active through holding a mod-tap key.
- caps_word_set(false);
- return true;
- }
- keycode &= 0xff;
- break;
-
-#ifndef NO_ACTION_LAYER
- case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
-#endif // NO_ACTION_LAYER
- if (record->tap.count == 0) { return true; }
- keycode &= 0xff;
- break;
-#endif // NO_ACTION_TAPPING
-
-#ifdef SWAP_HANDS_ENABLE
- case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX:
- if (keycode > 0x56F0 || record->tap.count == 0) { return true; }
- keycode &= 0xff;
- break;
-#endif // SWAP_HANDS_ENABLE
- }
-
- if (caps_word_press_user(keycode)) {
- return true;
- }
- }
-
- caps_word_set(false); // Deactivate Caps Word.
- return true;
-}
-
-void caps_word_set(bool active) {
- if (active != caps_word_active) {
- if (active) {
- clear_mods();
-#ifndef NO_ACTION_ONESHOT
- clear_oneshot_mods();
-#endif // NO_ACTION_ONESHOT
-#if CAPS_WORD_IDLE_TIMEOUT > 0
- idle_timer = timer_read() + CAPS_WORD_IDLE_TIMEOUT;
-#endif // CAPS_WORD_IDLE_TIMEOUT > 0
- } else if ((get_weak_mods() & MOD_BIT(KC_LSFT)) != 0) {
- // If the weak shift mod is still on, turn it off and send an update to
- // the host computer.
- del_weak_mods(MOD_BIT(KC_LSFT));
- send_keyboard_report();
- }
-
- caps_word_active = active;
- caps_word_set_user(active);
- }
-}
-
-bool caps_word_get(void) { return caps_word_active; }
-
-__attribute__((weak)) void caps_word_set_user(bool active) {}
-
-__attribute__((weak)) bool caps_word_press_user(uint16_t keycode) {
- switch (keycode) {
- // Keycodes that continue Caps Word, with shift applied.
- case KC_A ... KC_Z:
- add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
- return true;
-
- // Keycodes that continue Caps Word, without shifting.
- case KC_1 ... KC_0:
- case KC_BSPC:
- case KC_MINS:
- case KC_UNDS:
- return true;
-
- default:
- return false; // Deactivate Caps Word.
- }
-}
-
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.h
deleted file mode 100644
index 7f58dd3f17..0000000000
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/caps_word.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2021-2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-//
-// Caps Word, activated by pressing both shift keys at the same time.
-//
-// This library implements "Caps Word", which is like conventional Caps Lock,
-// but automatically disables itself at the end of the word. This is useful for
-// typing all-caps identifiers like `MOD_MASK_ALT`.
-//
-// Caps Word is activated by pressing the left and right shift keys at the same
-// time. This way you don't need a dedicated key for using Caps Word. I've
-// tested that this works as expected with one-shot mods and Space Cadet Shift.
-// If your shift keys are mod-taps, activate Caps Word by holding both shift
-// mod-tap keys until the tapping term, release them, then begin typing.
-//
-// Optionally, Caps Word may be configured to deactivate if the keyboard is idle
-// for some time. This is useful to mitigate unintended shifting when you get
-// interrupted or switch to the mouse while Caps Word is active. In your
-// config.h, define `CAPS_WORD_IDLE_TIMEOUT` with a time in milliseconds:
-//
-// #define CAPS_WORD_IDLE_TIMEOUT 5000 // Turn off Caps Word after 5 seconds.
-//
-// and in your keymap.c, define (or add to) `matrix_scan_user()` as
-//
-// void matrix_scan_user(void) {
-// caps_word_task();
-// // Other tasks...
-// }
-//
-// For full documentation, see
-// https://getreuer.info/posts/keyboards/caps-word
-
-#pragma once
-
-#include QMK_KEYBOARD_H
-
-// Call this function from `process_record_user()` to implement Caps Word.
-bool process_caps_word(uint16_t keycode, keyrecord_t* record);
-
-// If CAPS_WORD_IDLE_TIMEOUT is set, call `caps_word_task()` from
-// `matrix_scan_user()` as described above.
-//
-// If CAPS_WORD_IDLE_TIMEOUT isn't set, calling this function has no effect (but
-// will still compile).
-#if CAPS_WORD_IDLE_TIMEOUT > 0
-void caps_word_task(void);
-#else
-static inline void caps_word_task(void) {}
-#endif
-
-// Activates or deactivates Caps Word. For instance activate Caps Word with a
-// combo by defining a `COMBO_ACTION` that calls `caps_word_set(true)`:
-//
-// void process_combo_event(uint16_t combo_index, bool pressed) {
-// switch(combo_index) {
-// case CAPS_COMBO:
-// if (pressed) {
-// caps_word_set(true); // Activate Caps Word.
-// }
-// break;
-//
-// // Other combos...
-// }
-// }
-void caps_word_set(bool active);
-
-// Returns whether Caps Word is currently active.
-bool caps_word_get(void);
-
-// An optional callback that gets called when Caps Word turns on or off. This is
-// useful to represent the current Caps Word state, e.g. by setting an LED or
-// playing a sound. In your keymap, define
-//
-// void caps_word_set_user(bool active) {
-// if (active) {
-// // Do something when Caps Word activates.
-// } else {
-// // Do something when Caps Word deactivates.
-// }
-// }
-void caps_word_set_user(bool active);
-
-// An optional callback which is called on every key press while Caps Word is
-// active. When the key should be shifted (that is, a letter key), the callback
-// should call `add_weak_mods(MOD_BIT(KC_LSFT))` to shift the key. The callback
-// also determines whether the key should continue Caps Word. Returning true
-// continues the current "word", while returning false is "word breaking" and
-// deactivates Caps Word. The default callback is
-//
-// bool caps_word_press_user(uint16_t keycode) {
-// switch (keycode) {
-// // Keycodes that continue Caps Word, with shift applied.
-// case KC_A ... KC_Z:
-// add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
-// return true;
-//
-// // Keycodes that continue Caps Word, without shifting.
-// case KC_1 ... KC_0:
-// case KC_BSPC:
-// case KC_MINS:
-// case KC_UNDS:
-// return true;
-//
-// default:
-// return false; // Deactivate Caps Word.
-// }
-// }
-//
-// To customize, copy the above function into your keymap and add/remove
-// keycodes to the above cases.
-//
-// NOTE: Outside of this callback, you can use `caps_word_set(false)` to
-// deactivate Caps Word.
-bool caps_word_press_user(uint16_t keycode);
-
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h
index 582e473cb2..a37fb08d31 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h
@@ -1,5 +1,5 @@
/* Copyright 2021 Jonavin Eng @Jonavin
- Copyright 2022 gourdo1 <jcblake@outlook.com>
+ Copyright 2022 gourdo1 <gourdo1@outlook.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
@@ -17,10 +17,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
+// Force n-key rollover
+#define FORCE_NKRO
+
+// Set TT to two taps
#define TAPPING_TOGGLE 2
-// TT set to two taps
-/* Handle GRAVESC combo keys */
+#ifdef COMMAND_ENABLE
+#define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) //debug commands accessed by holding down both CTRLs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_command.md
+#endif
+
+// Caps Word configuration
+#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
+#define CAPS_WORD_IDLE_TIMEOUT 10000 // Automatically turn off after x milliseconds of idle. 0 to never timeout.
+
+// Handle GRAVESC combo keys
#define GRAVE_ESC_ALT_OVERRIDE
// Always send Escape if Alt is pressed
#define GRAVE_ESC_CTRL_OVERRIDE
@@ -31,19 +42,79 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define TAPPING_TERM_PER_KEY
#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-#endif
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED
+ #define RGB_MATRIX_KEYPRESSES // Enables REACTIVE & SPLASH modes
+ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables Heatmap, Rain
+
+ // RGB step values
+ #define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10)
+ #define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17)
+ #define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17)
+
+ // Startup values, when none have been set
+ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default effect mode, if none has been set (was RGB_MATRIX_SOLID_COLOR)
+ #define RGB_MATRIX_STARTUP_HUE 24 // Sets the default hue value, if none has been set
+ #define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
+ #define RGB_MATRIX_STARTUP_VAL 127 // Sets the default brightness value, if none has been set
+ #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
-// RGB step values
-#define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10)
-#define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17)
-#define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17)
+ // Uncomment any #undef line below to turn OFF any default enabled RGB background effect (enabled in keyboards/gmmk/pro/config.h).
+ #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Solid color (seems redundant; seems same as RGB_MATRIX_SOLID_COLOR?)
+ //#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static, horizontal rainbow
+ //#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static, vertical Rainbow
+ //#undef ENABLE_RGB_MATRIX_BREATHING // Breathing animation using selected HSV color
+ #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black)
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness (with black)
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades brightness (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow
+ //#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient moving left to right
+ //#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient chevron scrolling left to right (too similar to cycle left right)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center.
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. (seems mostly redundant with above)
+ #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Built-in cycling pinwheel (seems redundant with below)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Spinning rainbow (more distracting transitions)
+ //#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Spinning rainbow (smoother)
+ #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboard (distracting, busy)
+ #undef ENABLE_RGB_MATRIX_RAINDROPS // Sustained raindrops of blue, green, yellow (confusing to use with RGB layers)
+ //#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Sustained raindrops of blue, purple, pink, green (confusing to use with RGB layers, but slightly better than above)
+ #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back (very subtle)
+ #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left (very subtle)
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right (very subtle)
+ //#undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Non-sustained raindrops of pastel colors
+ #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // More active version of pixel rain with quick cycling (unusable, very distracting)
+ #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Same as Pixel Flow but with current HSV only (somewhat distracting)
+ //Only enabled if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+ //#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Fading heatmap that follows keystrokes (has buggy side LEDs that glow red)
+ //#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix (has buggy side LEDs that glow red)
+ //Only enabled if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Keyboard lights up in chosen hue, key hits shown in complementary hue (try this as default?)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but more intense (Multi-key)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single current color fade (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-key)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades
+ //#undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black.
+ #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. (distracting on multiple keystroke hits)
+ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (distracting on multiple key hits)
+ //#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black.
+#endif //RGB_MATRIX_ENABLE
-// add fifth layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable
+// Add a layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable
#if defined COLEMAK_LAYER_ENABLE
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-#define _COLEMAK 4
+ #ifdef GAME_ENABLE
+ #define DYNAMIC_KEYMAP_LAYER_COUNT 6
+ #define _COLEMAK 5
+ #else
+ #define DYNAMIC_KEYMAP_LAYER_COUNT 5
+ #define _COLEMAK 4
+ #endif //GAME_ENABLE
#endif // COLEMAK_LAYER_ENABLE
/*
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c
index 97db98dd12..ab98693649 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c
@@ -1,7 +1,7 @@
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
Copyright 2021 Jonavin Eng @Jonavin
- Copyright 2022 gourdo1 <jcblake@outlook.com>
-
+ Copyright 2022 gourdo1 <gourdo1@outlook.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
@@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-// Note: Several advanced functions referenced in this file (like Tap Dance functions) are defined in users/gourdo1/gourdo1.c
+// Note: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c
#include QMK_KEYBOARD_H
@@ -24,6 +24,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "gourdo1.h"
+#include "paddlegame.h"
+
+#include <math.h>
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layout
@@ -44,39 +48,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_BASE] = LAYOUT(
- KC_ESCLYR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_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_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, LEFTOFENC, ENCFUNC,
+ 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, BELOWENC,
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,
- TT(_NUMPADMOUSE), 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_LSFTCAPSWIN, 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,
+ CAPSNUM, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* FN1 Layout
*
* ,-------------------------------------------------------------------------------------------------------------.
- * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause || ____ |
+ * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause ||Sleep |
* |=============================================================================================================|
* | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |RGBTOD|RGBTOI| ________ ||RGBTOG|
* |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------|
- * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ | Reset || Home |
+ * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ |QK_BOOT|| Home |
* |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------|
* | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | __________ || End |
* |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------|
- * | __________ |RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| ____ | ______ ||RGBMOD|| ____ |
+ * | __________ |RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ |
* |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======|
* | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI|
* `------------------------------------------------------------------------------------------------------------'
*/
+ #ifdef GAME_ENABLE
+ [_FN1] = LAYOUT(
+ EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
+ PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, QK_BOOT, KC_HOME,
+ KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END,
+ _______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
+ _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+ [_GAME] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ #else
[_FN1] = LAYOUT(
- EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
- _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, RESET, KC_HOME,
- KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, _______, _______, _______, _______, KC_END,
- _______, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
- _______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
+ PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, QK_BOOT, KC_HOME,
+ KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END,
+ _______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
+ _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
),
+ #endif //GAME_ENABLE
/* _NUMPADMOUSE Layout
* Note: A symbol preceded by "P" is a Numpad-encoded version of the key -- any app that differentiates will recognize the char as coming from a physical numpad.
@@ -100,8 +125,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______,
_______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_WH_U,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, KC_PENT, KC_WH_D,
- _______, KC_NO, _______, _______, _______, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
- _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
+ _______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
+ _______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
),
[_MOUSEKEY] = LAYOUT(
@@ -115,19 +140,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef COLEMAK_LAYER_ENABLE
[_COLEMAK] = 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_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,
+ _______, 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- _______, _______, _______, KC_SPC, KC_RALT, _______,KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
+ _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN,
+ _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ _______, _______, _______, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
#endif // COLEMAK_LAYER_ENABLE
};
#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults
void encoder_action_rgbhue(bool clockwise) {
- if (clockwise)
+ if (clockwise)
rgblight_increase_hue_noeeprom();
else
rgblight_decrease_hue_noeeprom();
@@ -154,6 +179,18 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
timeout_update_threshold(clockwise);
#endif
break;
+ #ifdef GAME_ENABLE
+ case _GAME:
+ // Game: Paddle movement
+ if (damage_count == 0) {
+ if (clockwise) {
+ if (paddle_pos_full < 15) ++paddle_pos_full;
+ } else {
+ if (paddle_pos_full > 0) --paddle_pos_full;
+ }
+ }
+ break;
+ #endif //GAME_ENABLE
default:
encoder_action_volume(clockwise); // Otherwise it just changes volume
break;
@@ -165,6 +202,45 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE
#ifdef RGB_MATRIX_ENABLE
+
+// Game logic
+#ifdef GAME_ENABLE
+void init_ball(uint8_t i) {
+ i &= 1;
+ ball[i].on = true;
+ ball[i].up = false;
+ ball[i].y = 0;
+ ball[i].x = rand() % 16;
+
+ // Set initial ball state
+ if (ball[i].x < 8) {
+ ball[i].left = false;
+ } else {
+ ball[i].x -= 4;
+ ball[i].left = true;
+ }
+
+ // 1/4 chance of being an enemy ball after level 6
+ if (level_number > 3) {
+ ball[i].enemy = ((rand() % 4) == 0);
+ } else {
+ ball[i].enemy = false;
+ }
+}
+
+void hurt_paddle(void) {
+ if (paddle_lives > 0) {
+ --paddle_lives;
+ }
+ damage_timer = timer_read();
+ damage_count = 10;
+
+ // Reset board
+ init_ball(0);
+ ball[1].on = false;
+}
+#endif //GAME_ENABLE
+
// Capslock, Scroll lock and Numlock indicator on Left side lights.
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
@@ -174,8 +250,10 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(LED_L3, RGB_RED);
rgb_matrix_set_color(LED_L4, RGB_RED);
rgb_matrix_set_color(LED_TAB, RGB_RED);
+ rgb_matrix_set_color(LED_F12, RGB_RED);
}
+/*
// System NumLock warning indicator RGB setup
#ifdef INVERT_NUMLOCK_INDICATOR
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
@@ -194,15 +272,23 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(LED_FN, RGB_ORANGE2);
}
#endif // INVERT_NUMLOCK_INDICATOR
+*/
// CapsLock RGB setup
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
- for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) {
- rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE);
+ if (user_config.rgb_hilite_caps) {
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) {
+ rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE);
+ }
+ rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE);
+ }
+ else {
+ rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE);
}
- rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE);
}
// Winkey disabled (gaming) mode RGB setup
@@ -239,9 +325,9 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(LED_LALT, RGB_RED);
rgb_matrix_set_color(LED_SPC, RGB_RED);
rgb_matrix_set_color(LED_LWIN, RGB_RED);
- rgb_matrix_set_color(LED_RALT, RGB_RED);
+ //rgb_matrix_set_color(LED_RALT, RGB_RED);
rgb_matrix_set_color(LED_FN, RGB_OFFBLUE);
- rgb_matrix_set_color(LED_RCTL, RGB_RED);
+ //rgb_matrix_set_color(LED_RCTL, RGB_RED);
rgb_matrix_set_color(LED_BSLS, RGB_RED);
rgb_matrix_set_color(LED_L1, RGB_RED);
rgb_matrix_set_color(LED_L2, RGB_RED);
@@ -265,36 +351,116 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE);
rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE);
+ // Indicator for paddle game enabled in build
+ #ifdef GAME_ENABLE
+ rgb_matrix_set_color(LED_P, RGB_CHARTREUSE);
+ #else
+ rgb_matrix_set_color(LED_P, RGB_RED);
+ #endif // GAME_ENABLE
+
+ // System NumLock warning indicator RGB setup
+ #ifdef INVERT_NUMLOCK_INDICATOR
+ if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #else
+ if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #endif // INVERT_NUMLOCK_INDICATOR
+
+ //Add RGB statuses for user.config toggles
+ if (user_config.rgb_hilite_caps) {
+ rgb_matrix_set_color(LED_1, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_1, RGB_PURPLE);
+ }
+ if (user_config.rgb_hilite_numpad) {
+ rgb_matrix_set_color(LED_2, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_2, RGB_PURPLE);
+ }
+ if (user_config.esc_double_tap_to_baselyr) {
+ rgb_matrix_set_color(LED_3, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_3, RGB_PURPLE);
+ }
+ if (user_config.del_right_home_top) {
+ rgb_matrix_set_color(LED_4, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_4, RGB_PURPLE);
+ }
+ if (user_config.double_tap_shift_for_capslock) {
+ rgb_matrix_set_color(LED_5, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_5, RGB_PURPLE);
+ }
+ if (user_config.encoder_press_mute_or_media) {
+ rgb_matrix_set_color(LED_6, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_6, RGB_PURPLE);
+ }
+ if (user_config.ins_on_shft_bkspc_or_del) {
+ rgb_matrix_set_color(LED_7, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_7, RGB_PURPLE);
+ }
+ if (user_config.disable_space_mods) {
+ rgb_matrix_set_color(LED_8, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_8, RGB_PURPLE);
+ }
+ if (user_config.autocorrect) {
+ rgb_matrix_set_color(LED_9, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_9, RGB_PURPLE);
+ }
+
// Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code
uint16_t timeout_threshold = get_timeout_threshold();
- if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_CYAN);
+ if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_BLUE);
else if (timeout_threshold < 140) {
rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_CYAN);
- rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold % 10)], RGB_BLUE);
} else { // >= 140 minutes, just show these 3 lights
- rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_CYAN);
- rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_CYAN);
- rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[10], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[11], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[12], RGB_CYAN);
}
break;
// Numpad & Mouse Keys overlay RGB
case _NUMPADMOUSE:
- for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) {
- rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE);
+ #ifdef INVERT_NUMLOCK_INDICATOR
+ if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #else
+ if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #endif // INVERT_NUMLOCK_INDICATOR
+ if (user_config.rgb_hilite_numpad) {
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) {
+ rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE);
+ }
+ rgb_matrix_set_color(LED_L5, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_L6, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_END, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE);
+ } else {
+ rgb_matrix_set_color(LED_L5, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_L6, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE);
}
- rgb_matrix_set_color(LED_L5, RGB_OFFBLUE);
- rgb_matrix_set_color(LED_L6, RGB_OFFBLUE);
- rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE);
- rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_END, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE);
- rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE);
break;
// MOUSEKEYS mode RGB
@@ -308,19 +474,229 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(LED_END, RGB_CYAN);
rgb_matrix_set_color(LED_PGUP, RGB_OFFBLUE);
rgb_matrix_set_color(LED_PGDN, RGB_OFFBLUE);
-
break;
- // Colemak layer RGB
- #ifdef COLEMAK_LAYER_ENABLE
+ // Colemak layer RGB
+ #ifdef COLEMAK_LAYER_ENABLE
case _COLEMAK:
for (uint8_t i = 0; i < ARRAYSIZE(LED_SIDE_RIGHT); i++) {
rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_MAGENTA);
rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_MAGENTA);
}
break;
- #endif
+ #endif
+
+ // Paddle game logic
+ #ifdef GAME_ENABLE
+ case _GAME:
+ if (!game_start) {
+ srand((unsigned int) timer_read());
+
+ // Store user light settings
+ last_hsv = rgb_matrix_get_hsv();
+ rgb_matrix_sethsv_noeeprom(0, 0, 0);
+
+ paddle_pos_full = 8;
+ paddle_lives = 4;
+ bounce_count = 0;
+ level_number = 0;
+ damage_count = 0;
+
+ init_ball(0);
+ ball[1].on = false;
+ ball_timer = timer_read();
+
+ game_start = true;
+ }
+
+ // Set level indicator
+ if (level_number < 12) {
+ rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE);
+ }
+
+ // Set life bar
+ for (uint8_t i = 0; i < paddle_lives; i++) {
+ rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN);
+ }
+
+ uint8_t paddle_pos = paddle_pos_full >> 1;
+
+ if (damage_count > 0) {
+ // Flash paddle when receiving damage
+ if (timer_elapsed(damage_timer) > 500) {
+ --damage_count;
+ damage_timer = timer_read();
+ }
+ if ((damage_count & 1) == 0) {
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED);
+ }
+ }
+ if (damage_count == 0) {
+ ball_timer = timer_read();
+ }
+
+ } else if (paddle_lives == 0) {
+ // Game over
+ for (uint8_t i = 0; i < sizeof(LED_GAME_OVER) / sizeof(LED_GAME_OVER[0]); i++) {
+ rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED);
+ }
+
+ } else if (level_number >= 12) {
+ // You win
+ if (rgb_value.r == 0xff && rgb_value.g < 0xff) {
+ if (rgb_value.b > 0) {
+ --rgb_value.b;
+ } else {
+ ++rgb_value.g;
+ }
+ } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) {
+ if (rgb_value.r > 0) {
+ --rgb_value.r;
+ } else {
+ ++rgb_value.b;
+ }
+ } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) {
+ if (rgb_value.g > 0) {
+ --rgb_value.g;
+ } else {
+ ++rgb_value.r;
+ }
+ }
+
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b);
+ }
+ rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
+
+ } else {
+ // normal game loop
+
+ // Set paddle position
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN);
+ }
+
+ // Ball movement logic happens at intervals
+ if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) {
+ for (int i = 0; i < 2; ++i) {
+ if (ball[i].on) {
+ // Ball movement
+ if (ball[i].up) {
+ if (ball[i].y > 0) {
+ --ball[i].y;
+ if (!ball[i].left) ++ball[i].x;
+ } else {
+ // Count reflections. If > 10, increase level
+ ++bounce_count;
+ if (bounce_count >= 10) {
+ bounce_count = 0;
+ ++level_number;
+ }
+ ball[i].on = false;
+ }
+ } else {
+ ++ball[i].y;
+ if (ball[i].left) --ball[i].x;
+ if (ball[i].y > 4) {
+ // Remove a life if ball isn't returned and isn't enemy
+ if (!ball[i].enemy) {
+ hurt_paddle();
+ i = 2;
+ } else {
+ ball[i].on = false;
+ }
+ }
+ }
+ }
+ }
+ if (ball[0].y == 4 && !ball[1].on) {
+ init_ball(1);
+ }
+ if (ball[1].y == 4 && !ball[0].on) {
+ init_ball(0);
+ }
+ if (!ball[0].on && !ball[1].on) {
+ init_ball(0);
+ }
+ ball_timer = timer_read();
+ }
+
+ // Other ball stuff
+ for (int i = 0; i < 2; ++i) {
+ if (ball[i].on) {
+ // Ball deflection logic
+ if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) {
+ if (!ball[i].enemy) {
+ --ball[i].y;
+ if (!ball[i].left) {
+ ++ball[i].x;
+ }
+ ball[i].up = true;
+ } else {
+ hurt_paddle();
+ i = 2;
+ }
+ }
+
+ // Ball display
+ switch (ball[i].y) {
+ case 0:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 1:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 2:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 3:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 4:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE);
+ }
+ break;
+ }
+ }
+ }
+ }
+ break;
+ #endif //GAME_ENABLE
default:
+ #ifdef GAME_ENABLE
+ if (game_start) {
+ // Reset lighting settings
+ game_start = false;
+ rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v);
+ }
+ #endif //GAME_ENABLE
break;
}
}
@@ -329,8 +705,6 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
void keyboard_post_init_keymap(void) {
// keyboard_post_init_user() moved to userspace
#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
- rgb_matrix_sethsv_noeeprom(20, 255, 127); // Default startup color (Hue:amber Saturation:full Value(brightness):mid)
activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle
#endif
} \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h
new file mode 100644
index 0000000000..3d33975cfe
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h
@@ -0,0 +1,48 @@
+/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
+ Copyright 2021 Tomas Guinan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 GAME_ENABLE
+const uint16_t GAME_TIMER[] = {
+ 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150
+};
+
+bool game_start = false;
+HSV last_hsv;
+static uint8_t paddle_pos_full;
+static uint8_t paddle_lives;
+static uint8_t level_number;
+static uint8_t bounce_count;
+static uint8_t damage_count;
+static uint16_t damage_timer;
+static uint16_t ball_timer;
+
+struct BallStruct
+{
+ uint8_t x;
+ uint8_t y;
+ bool on;
+ bool up;
+ bool left;
+ bool enemy;
+};
+
+struct BallStruct ball[2];
+
+void init_ball(uint8_t i);
+void hurt_paddle(void);
+
+#endif //GAME_ENABLE \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md
index 3db6923d76..aebccf6d14 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md
@@ -1,97 +1,124 @@
-# gourdo1's GMMK Pro ANSI layout
+# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts
-This Windows-centric layout is based on [Jonavin's](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin) GMMK Pro layout with several additions, modifications, a tweaked keymap, updated layers and expanded RGB controls.
+These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects.
![image](https://raw.githubusercontent.com/gourdo1/media/main/susuwatari.jpg)
-## Features:
+* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md)
+* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
+* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
+* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf)
+
+## Features
### Core Functionality
-* [VIA](https://www.caniusevia.com/) support enabled (added Mar 16, 2022)
+* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts.
+* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings.
+* [VIA](https://www.caniusevia.com/) support enabled.
+* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters.
* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled
-* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with FN+R
-* Gaming mode (FN + Win-key) locks out Win-key as well as double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming related keys
-* [Caps Word](https://getreuer.info/posts/keyboards/caps-word/index.html) enabled: To capitalize the next word only, press and release both left and right shift keys at the same time. (added Feb 25, 2022)
-* Multi-monitor app moving shortcuts: FN + [,] (square brackets) to move current app window to next monitor (added Apr 11, 2022)
-* Domain shortcuts: FN+.=".com", FN+O="outlook.com", FN+Y="yahoo.com", FN+H="hotmail.com", FN+G="gmail.com". (added Apr 7, 2022)
-* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted)
-* Fn-Backslash for [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md)
-* Home key on F13, Del key right of Backspace
-* Insert accessible via Shift-Backspace (so shift delete still works in Windows Explorer)
-* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: Fn+F11, Fn+F12, Fn+F13
-* [Colemak](https://colemak.com/) key layout support (Layer accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
-* Double tap ESC any time to revert to base layer (added Feb 26, 2022)
+* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R
+* 1000Hz polling rate with 5ms debounce time for quick response in games.
+* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse.
+* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry.
+* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys.
+* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time.
+* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor.
+* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted).
+* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit.
+* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/
+* Single-handed shortcut for WinKey-L (lock Windows): [FN]L
+* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com.
+* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO
+* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13
+* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
+* Double tap ESC any time to revert to base layer.
+* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes.
+* RGB backlight now remembers last color & effect settings after power down.
+
+### Quick & Easy Customization
+* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence.
+* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards)
+* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF)
+
+#### Toggle-able Settings:
+ 1. CapsLock RGB - Highlight under alpha keys
+ 2. Numpad RGB - Highlight under numpad layer keys
+ 3. ESC key - Double tap ESC key to go to base layer
+ 4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC
+ 5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock
+ 6. Encoder button - Default mutes volume; alternate plays/pauses media
+ 7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL
+ 8. Modded-Space override - Use standard Space in place of modded-Space functions
+ 9. AutoCorrect - Internal (English) AutoCorrect; default is enabled
+ 0. (ISO layouts only) CapsLock highlights extended alpha keys
### Numpad + Mouse Keys (Capslock key)
* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting
+* Numpad uses Space-bar as Enter for rapid number entry.
* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use)
-* Fn & N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output (FN + N to toggle)
+* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle)
* Double zero on comma key.
-* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. (added Mar 15, 2022)
+* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard.
* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel
* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green
### Encoder Functionality
* Default knob turn changes volume; button press toggles mute
-* Exponential encoder - quick repeated volume up doubles increase; quick repeated volume down triples decrease (added Feb 17, 2022)
-* FN knob turn changes RGB idle timeout
+* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease.
+* FN + knob turn changes RGB idle timeout
+* FN + knob push puts PC to Sleep
* holding Left Shift changes layers
* holding Right Shift navigates page up/down
* holding Left Ctrl navigates prev/next word
* holding Right Ctrl changes RGB hue/color
* holding Left Alt changes media prev/next track
-### Global RGB Controls
-
-* RGB backlight lighting effect: FN + up/down
-* RGB backlight effect speed: FN + left/right
-* RGB backlight hue cycle: FN + A/D
-* RGB backlight brightness: FN + W/S
-* RGB backlight saturation: FN + Q/E (added Feb 4, 2022)
-* RGB backlight night mode toggle: FN + Z (indicators still work)
-* RGB backlight timeout: FN + Encoder or "-" and "=" (default 15 minutes) (updated Apr 7, 2022)
- * indicators in FN layer using RGB in F-key and number rows to show the current timeout in minutes
-* RGB indicators on left side LEDs: Capslock (green), Scroll Lock (red), and Num Lock not set (orange)
-* FN + Z to turn off RGB backlighting; press again to toggle
-
-### Advanced Controls
-
-* FN + \ to get to bootloader mode
-* FN + [ESC] to clear EEPROM (then unplug and re-plug) (added Apr 11, 2022)
-* FN + R to toggle N-key Rollover (added Apr 11, 2022)
-
-Link to latest firmware binary: https://github.com/gourdo1/media/raw/main/gmmk_pro_ansi_gourdo1.bin
+### Paddle Game
-Link to cheatsheet: https://github.com/gourdo1/media/raw/main/GMMK_Pro_Cheatsheet.pdf
+* Based on [Tomas Guinan's excellent GMMK Pro paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame)
+* Paddle Game playable by pressing [FN]P (P lights up green in FN layer if game is enabled in firmware, otherwise it lights up red)
+* Use rotary encoder to control paddle
+* Contains 12 levels, indicated by blue LED on F-key row
+* Player has 4 lives, indicated by nav cluster
+* Deflect white balls while avoiding red ones
+* Use [FN]P, double tap ESC or otherwise change layer to quit game
+### Global RGB Controls
-## rules.mk Options
-
-STARTUP_NUMLOCK_ON = yes - turns on NUMLOCK by default
-
-ENCODER_DEFAULTACTIONS_ENABLE = yes - Enabled default encoder functions
-
-TD_LSFT_CAPSLOCK_ENABLE = yes - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS
-
-IDLE_TIMEOUT_ENABLE = yes - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically
-
-INVERT_NUMLOCK_INDICATOR - inverts the Numlock indicator, LED is on when numlock is off -- numlock interferes with numpad keys, so should generally be off when numpad layer is active.
+* RGB backlight lighting effect: [FN]up/down
+* RGB backlight effect speed: [FN]left/right
+* RGB backlight hue cycle: [FN]A/D
+* RGB backlight brightness: [FN]W/S
+* RGB backlight saturation: [FN]Q/E
+* RGB backlight night mode toggle: [FN]Z (indicators still work)
+* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes)
+ * F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes
+* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle
+* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green).
-COLEMAK_LAYER_ENABLE = yes - Enable optional 5th layer for COLEMAK layout. Use Shift + encoder to enter 5th layer.
+### Advanced Controls
+* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO)
+* [FN][ESC] to clear EEPROM
+* [FN]R to toggle N-key Rollover
+* [FN]N to toggle system numlock
+* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete
+* [FN]L is single-handed shortcut to Win-L (lock Windows)
+* [FN][Encoder press] to sleep Windows PC
-## Layer Diagrams
+## Layer Diagrams (ANSI)
### Base layer
-![image](https://raw.githubusercontent.com/gourdo1/media/main/base.png)
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/base.png)
-### Fn Layer
-![image](https://raw.githubusercontent.com/gourdo1/media/main/fn1.png)
+### FN Layer
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/fn1.png)
### Layer 2 (Numpad)
-![image](https://raw.githubusercontent.com/gourdo1/media/main/numpad.png)
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/numpad.png)
### COLEMAK layer
![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png)
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h
index 38da50754b..f1609a4bb3 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h
@@ -1,5 +1,5 @@
/* Copyright 2021 Jonavin Eng @Jonavin
- Copyright 2022 gourdo1 <jcblake@outlook.com>
+ Copyright 2022 gourdo1 <gourdo1@outlook.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
@@ -16,6 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef RGB_MATRIX_ENABLE
+
+//Define variables for Game
+bool fn_active = false;
+RGB rgb_value;
+
// Custom GMMK Pro-specific RGB color customizations (defaults found in quantum/color.h)
#define RGB_GODSPEED 0x00, 0xE4, 0xFF // color for matching keycaps
#define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Nautilus Font colors
@@ -194,7 +199,7 @@ const uint8_t LED_LIST_NUMROW[] = {
};
const uint8_t LED_LIST_LETTERS[] = {
- LED_1,
+/* LED_1,
LED_2,
LED_3,
LED_4,
@@ -203,7 +208,7 @@ const uint8_t LED_LIST_LETTERS[] = {
LED_7,
LED_8,
LED_9,
- LED_0,
+ LED_0, */
LED_Q,
LED_W,
LED_E,
@@ -284,4 +289,122 @@ const uint8_t LED_SIDE_RIGHT[] = {
LED_R8
};
+#ifdef GAME_ENABLE
+// Game LED rules
+const uint8_t GAME_LIVES[] = {
+ LED_DEL,
+ LED_PGUP,
+ LED_PGDN,
+ LED_END
+};
+const uint8_t GAME_PADDLE[] = {
+ LED_Z,
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M,
+ LED_COMM,
+ LED_DOT,
+ LED_SLSH
+};
+const uint8_t GAME_SMILE1[] = {
+ LED_A,
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_SCLN,
+ LED_QUOT
+};
+const uint8_t GAME_SMILE2[] = {
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL
+};
+const uint8_t GAME_R4[] = {
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M,
+ LED_COMM,
+ LED_DOT
+};
+const uint8_t GAME_R3[] = {
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_SCLN
+};
+const uint8_t GAME_R2[] = {
+ LED_W,
+ LED_E,
+ LED_R,
+ LED_T,
+ LED_Y,
+ LED_U,
+ LED_I,
+ LED_O,
+ LED_P,
+ LED_LBRC
+};
+const uint8_t GAME_R1[] = {
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL
+};
+const uint8_t GAME_R0[] = {
+ LED_F1,
+ LED_F2,
+ LED_F3,
+ LED_F4,
+ LED_F5,
+ LED_F6,
+ LED_F7,
+ LED_F8,
+ LED_F9,
+ LED_F10,
+ LED_F11,
+ LED_F12
+};
+const uint8_t LED_GAME_OVER[] = {
+ LED_5,
+ LED_8,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_C,
+ LED_M
+};
+#endif //GAME_ENABLE
+
#endif \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk
index b236d9132c..3a6786af68 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk
@@ -1,18 +1,18 @@
-SRC += caps_word.c
-
LTO_ENABLE = yes # link time optimization -- achieves a smaller compiled size
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
-MOUSEKEY_ENABLE = yes
-
-VIA_ENABLE = yes
-TAP_DANCE_ENABLE = yes
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+VIA_ENABLE = yes
-TD_LSFT_CAPSLOCK_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+TAP_DANCE_ENABLE = no
+CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality
IDLE_TIMEOUT_ENABLE = yes
STARTUP_NUMLOCK_ON = yes
ENCODER_DEFAULTACTIONS_ENABLE = no
-
COLEMAK_LAYER_ENABLE = yes # Enable Colemak layer / set to no to disable
INVERT_NUMLOCK_INDICATOR = yes
+GAME_ENABLE ?= yes # Enable Paddle Game / set to no to disable
+ifeq ($(strip $(GAME_ENABLE)), yes)
+ OPT_DEFS += -DGAME_ENABLE
+endif
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c
index 19694d54c1..3be0e5e31b 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_INS, _______,
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c
index cfca7960ca..98354b4654 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -45,10 +45,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RESET, KC_RGUI, _______, _______, _______, _______, _______
+ _______, _______, _______, QK_BOOT, KC_RGUI, _______, _______, _______, _______, _______
),
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c
index 0d318885f4..47490a0617 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT(
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_CALC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
- _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RESET, KC_HOME,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, QK_BOOT, KC_HOME,
KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
_______, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______,
_______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c
index 7bedf05987..c87532990f 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = 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, RGB_TOG, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
index 1f8c47306a..8175cf68c8 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Ct_L Opt_L Cmd_L SPACE Cmd_R Opt_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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG,
LED_TLDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, _______, KC_PSCR,
- _______, RGB_HUI, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, RGB_HUI, RGB_VAI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_HUD, RGB_VAD, RGB_SAD, TG(2), _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c
index f96be6ffe9..020322085b 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
- [_DFUMODE] = LAYOUT(RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MG_F19, DEBUG,
+ [_DFUMODE] = LAYOUT(QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MG_F19, DEBUG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h
index bc010108fb..30b1b389bc 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.h
@@ -55,7 +55,7 @@ enum git_macros {
G_CONF, // git config --global
G_ADD, // git add
G_DIFF, // git diff
- G_RESET, // git reset
+ G_QK_BOOT, // git reset
G_REBAS, // git rebase
G_BRANH, // git branch
G_CHECK, // git checkout
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c
index 90ac428c74..759c4034c0 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c
index 5c702b1686..e59db7b984 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT(
KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, RESET, RGB_M_B,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW,
_______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c
index 762fe00df2..e4569ac3ad 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, KC_WHOM, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______,
LED_TILDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, KC_INS, KC_SLCK,
- _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_BRIU,
+ _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BRIU,
_______, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_SPI, _______, _______, _______, _______, QMKBEST, _______, _______, _______, KC_BRID,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_MPLY, KC_PWR,
_______, _______, _______, _______, KC_RALT, _______, KC_APP, KC_MPRV, KC_MSTP, KC_MNXT
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c
index fded532562..fd64902108 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
KC_TRNS, 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_HOME,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_END,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, RESET, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_END
),
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c
index a32fef1041..2ee79eae79 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json
index d2325d2c13..bdb9e95264 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.json
@@ -135,7 +135,7 @@
"KC_NO",
"KC_NO",
"KC_NO",
- "RESET",
+ "QK_BOOT",
"KC_NO",
"KC_TRNS",
"KC_NO",
diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json
index 32fac89336..3638e9d684 100644
--- a/keyboards/gmmk/pro/rev1/iso/info.json
+++ b/keyboards/gmmk/pro/rev1/iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GMMK Pro (ISO)",
+ "keyboard_name": "GMMK Pro ISO",
+ "manufacturer": "Glorious",
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
"maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
index 84fbcf37ff..b28809fdf6 100644
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 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
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT 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.
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_PSCR, _______,
- _______, RGB_TOG, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, RGB_TOG, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______,
_______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
new file mode 100644
index 0000000000..694fd80e19
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
@@ -0,0 +1,72 @@
+/* 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 QK_BOOT 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.
+ //
+ // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
+ // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
+ // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
+ [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_MPLY,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_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,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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(
+ _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, KC_MNXT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_VAD, RGB_TOG, RGB_VAI, RGB_HUI, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+
+};
+// clang-format on
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
new file mode 100644
index 0000000000..4239e0dcb8
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
@@ -0,0 +1,8 @@
+# Falke Carlsen keymap for GMMK PRO ISO
+Based on the default keymap, inheriting rotary encoder and LED configs without modification.
+
+## Changes:
+- Fixes layer 1 of top-row to correspond to 'Keychron ISO Q1 & K2 Dye-Sub PBT Nordic' printed legend multimedia keys.
+- Adds early 2010s Ducky layer 1 mouse-emulation to WASD with left+right click and scroll in the 2x4 cluster.
+- Remaps default keymaps LED-handling to 2nd-row due to addition of mouse-emulation.
+- Swap layer 0 rotary encoder click to play/pause, and layer 1 click to next.
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h
new file mode 100644
index 0000000000..a37fb08d31
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h
@@ -0,0 +1,146 @@
+/* Copyright 2021 Jonavin Eng @Jonavin
+ Copyright 2022 gourdo1 <gourdo1@outlook.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
+
+// Force n-key rollover
+#define FORCE_NKRO
+
+// Set TT to two taps
+#define TAPPING_TOGGLE 2
+
+#ifdef COMMAND_ENABLE
+#define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) //debug commands accessed by holding down both CTRLs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_command.md
+#endif
+
+// Caps Word configuration
+#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
+#define CAPS_WORD_IDLE_TIMEOUT 10000 // Automatically turn off after x milliseconds of idle. 0 to never timeout.
+
+// Handle GRAVESC combo keys
+#define GRAVE_ESC_ALT_OVERRIDE
+// Always send Escape if Alt is pressed
+#define GRAVE_ESC_CTRL_OVERRIDE
+// Always send Escape if Control is pressed
+
+// #define TAPPING_TERM 180
+#define TAPPING_TERM 300
+#define TAPPING_TERM_PER_KEY
+
+#ifdef RGB_MATRIX_ENABLE
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED
+ #define RGB_MATRIX_KEYPRESSES // Enables REACTIVE & SPLASH modes
+ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables Heatmap, Rain
+
+ // RGB step values
+ #define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10)
+ #define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17)
+ #define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17)
+
+ // Startup values, when none have been set
+ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default effect mode, if none has been set (was RGB_MATRIX_SOLID_COLOR)
+ #define RGB_MATRIX_STARTUP_HUE 24 // Sets the default hue value, if none has been set
+ #define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
+ #define RGB_MATRIX_STARTUP_VAL 127 // Sets the default brightness value, if none has been set
+ #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
+
+ // Uncomment any #undef line below to turn OFF any default enabled RGB background effect (enabled in keyboards/gmmk/pro/config.h).
+ #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Solid color (seems redundant; seems same as RGB_MATRIX_SOLID_COLOR?)
+ //#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static, horizontal rainbow
+ //#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static, vertical Rainbow
+ //#undef ENABLE_RGB_MATRIX_BREATHING // Breathing animation using selected HSV color
+ #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black)
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness (with black)
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades brightness (with white)
+ //#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow
+ //#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient moving left to right
+ //#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient chevron scrolling left to right (too similar to cycle left right)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center.
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. (seems mostly redundant with above)
+ #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Built-in cycling pinwheel (seems redundant with below)
+ //#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Spinning rainbow (more distracting transitions)
+ //#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Spinning rainbow (smoother)
+ #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboard (distracting, busy)
+ #undef ENABLE_RGB_MATRIX_RAINDROPS // Sustained raindrops of blue, green, yellow (confusing to use with RGB layers)
+ //#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Sustained raindrops of blue, purple, pink, green (confusing to use with RGB layers, but slightly better than above)
+ #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back (very subtle)
+ #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left (very subtle)
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right (very subtle)
+ //#undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Non-sustained raindrops of pastel colors
+ #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // More active version of pixel rain with quick cycling (unusable, very distracting)
+ #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Same as Pixel Flow but with current HSV only (somewhat distracting)
+ //Only enabled if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+ //#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Fading heatmap that follows keystrokes (has buggy side LEDs that glow red)
+ //#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix (has buggy side LEDs that glow red)
+ //Only enabled if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Keyboard lights up in chosen hue, key hits shown in complementary hue (try this as default?)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but more intense (Multi-key)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single current color fade (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-key)
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades (Single key)
+ //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades
+ //#undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black.
+ #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. (distracting on multiple keystroke hits)
+ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (distracting on multiple key hits)
+ //#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black.
+#endif //RGB_MATRIX_ENABLE
+
+// Add a layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable
+#if defined COLEMAK_LAYER_ENABLE
+ #ifdef GAME_ENABLE
+ #define DYNAMIC_KEYMAP_LAYER_COUNT 6
+ #define _COLEMAK 5
+ #else
+ #define DYNAMIC_KEYMAP_LAYER_COUNT 5
+ #define _COLEMAK 4
+ #endif //GAME_ENABLE
+#endif // COLEMAK_LAYER_ENABLE
+
+/*
+// Mouse Keys Accelerated Mode Definitions
+#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10)
+#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement.
+#define MOUSEKEY_MOVE_DELTA 8 // Step size (default: 8)
+#define MOUSEKEY_MAX_SPEED 9 // Maximum cursor speed at which acceleration stops (default: 10)
+#define MOUSEKEY_TIME_TO_MAX 150 // Time until maximum cursor speed is reached (default: 30)
+#define MOUSEKEY_WHEEL_DELAY 0 // Delay between pressing a wheel key and wheel movement (default: 10)
+#define MOUSEKEY_WHEEL_INTERVAL 80 // Time between wheel movements (default: 80)
+#define MOUSEKEY_WHEEL_MAX_SPEED 8 // Maximum number of scroll steps per scroll action (default: 8)
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Time until maximum scroll speed is reached (default: 40)
+*/
+
+// Mouse Keys Kinetic Mode Definitions
+#define MK_KINETIC_SPEED // Enable Kinetic mode: Uses a quadratic curve on cursor speed to allow precise movements at the beginning and increases speed thereafter.
+#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10)
+#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement.
+#define MOUSEKEY_MOVE_DELTA 5 // Step size for accelerating from initial to base speed (default: 8)
+#define MOUSEKEY_MOVE_MAX 50 // use instead of BASE SPEED to limit speed in Kinetic mode
+#define MOUSEKEY_INITIAL_SPEED 100 // Initial speed of the cursor in pixels per second (default: 100)
+//#define MOUSEKEY_BASE_SPEED 800 // (broken in QMK 0.16.0) Maximum cursor speed at which acceleration stops (default: 1000)
+#define MOUSEKEY_DECELERATED_SPEED 400 // Decelerated cursor speed (default: 400)
+#define MOUSEKEY_ACCELERATED_SPEED 2000 // Accelerated cursor speed (default: 3000)
+#define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 // Initial number of movements of the mouse wheel (default: 16)
+#define MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 // Maximum number of movements at which acceleration stops (default: 32)
+#define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 // Accelerated wheel movements (default: 48)
+#define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 // Decelerated wheel movements (default: 8)
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c
new file mode 100644
index 0000000000..30e8fc5f44
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c
@@ -0,0 +1,723 @@
+/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
+ Copyright 2021 Jonavin Eng @Jonavin
+ Copyright 2022 RustyBrakes (ISO conversion)
+ Copyright 2022 gourdo1 <gourdo1@outlook.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/>.
+*/
+
+// Note: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c
+
+#include QMK_KEYBOARD_H
+
+#include "rgb_matrix_map.h"
+
+#include "gourdo1.h"
+
+#include "paddlegame.h"
+
+#include <math.h>
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Base Layout
+ *
+ * ,-------------------------------------------------------------------------------------------------------------.
+ * | Esc || F1 | F2 | F3 | F4 || F5 | F6 | F7 | F8 || F9 | F10 | F11 | F12 || Home || Mute |
+ * |=============================================================================================================|
+ * | ISO | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | Backspc || Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ } | ] } | || PgUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; : | ' " | ISO| Enter || PgDn |
+ * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------|
+ * | LShift | ISO | Z | X | C | V | B | N | M | , < | . > | / ? | RShift || Up || End |
+ * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======|
+ * | Ctrl | Win | LAlt | Space | RAlt | Fn | Ctrl || Left | Down | Rght |
+ * `------------------------------------------------------------------------------------------------------------'
+ */
+
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LEFTOFENC, ENCFUNC,
+ 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, BELOWENC,
+ 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,
+ CAPSNUM, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* FN1 Layout
+ *
+ * ,-------------------------------------------------------------------------------------------------------------.
+ * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause ||Sleep |
+ * |=============================================================================================================|
+ * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |RGBTOD|RGBTOI| ________ ||RGBTOG|
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------|
+ * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ | || Home |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------|
+ * | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | ___ | ____ || End |
+ * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------|
+ * | ____ |QK_BOOT|RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ |
+ * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======|
+ * | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI|
+ * `------------------------------------------------------------------------------------------------------------'
+ */
+
+ #ifdef GAME_ENABLE
+ [_FN1] = LAYOUT(
+ EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
+ PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, KC_HOME,
+ KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END,
+ _______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
+ _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+ [_GAME] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ #else
+ [_FN1] = LAYOUT(
+ EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
+ PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, KC_HOME,
+ KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END,
+ _______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
+ _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+ #endif //GAME_ENABLE
+
+ /* _NUMPADMOUSE Layout
+ * Note: A symbol preceded by "P" is a Numpad-encoded version of the key -- any app that differentiates will recognize the char as coming from a physical numpad.
+ * ,-------------------------------------------------------------------------------------------------------------.
+ * | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ || ____ |
+ * |=============================================================================================================|
+ * | ____ | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P0 | P- | P+ | ________ || ____ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------|
+ * | ______ | PGUP | Up | PGDN | None | None | None | P4 | P5 | P6 | P+ | ____ | ____ | || WhUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------|
+ * | ________ | Left | Down | Rght | None| None | None | P1 | P2 | P3 | P* | ___ | ___ |P-Enter|| WhDn |
+ * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------|
+ * | __________ | None | ____ | ____ | ____ | None | None | 0 | 00 | P. | P/ | MBt1 ||MS_UP || MBt2 |
+ * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======|
+ * | ____ | ____ | ____ | _____ | ____ | ____ | MBt3 ||MS_LT |MS_DN |MS_RT |
+ * `------------------------------------------------------------------------------------------------------------'
+ */
+
+ [_NUMPADMOUSE] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______,
+ _______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, KC_WH_U,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, _______, KC_PENT, KC_WH_D,
+ _______, _______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
+ _______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
+ ),
+
+ [_MOUSEKEY] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_D,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
+ _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
+ ),
+
+ #ifdef COLEMAK_LAYER_ENABLE
+ [_COLEMAK] = 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP,
+ _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ _______, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ _______, _______, _______, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ #endif // COLEMAK_LAYER_ENABLE
+};
+
+#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults
+void encoder_action_rgbhue(bool clockwise) {
+ if (clockwise)
+ rgblight_increase_hue_noeeprom();
+ else
+ rgblight_decrease_hue_noeeprom();
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ uint8_t mods_state = get_mods();
+ if (mods_state & MOD_BIT(KC_LSFT)) { // If you are holding L shift, encoder changes layers
+ encoder_action_layerchange(clockwise);
+ } else if (mods_state & MOD_BIT(KC_RSFT)) { // If you are holding R shift, Page up/dn
+ unregister_mods(MOD_BIT(KC_RSFT));
+ encoder_action_navpage(clockwise);
+ register_mods(MOD_BIT(KC_RSFT));
+ } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word
+ encoder_action_navword(clockwise);
+ } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour
+ encoder_action_rgbhue(clockwise);
+ } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track
+ encoder_action_mediatrack(clockwise);
+ } else {
+ switch (get_highest_layer(layer_state)) {
+ case _FN1:
+ #ifdef IDLE_TIMEOUT_ENABLE
+ timeout_update_threshold(clockwise);
+ #endif
+ break;
+ #ifdef GAME_ENABLE
+ case _GAME:
+ // Game: Paddle movement
+ if (damage_count == 0) {
+ if (clockwise) {
+ if (paddle_pos_full < 15) ++paddle_pos_full;
+ } else {
+ if (paddle_pos_full > 0) --paddle_pos_full;
+ }
+ }
+ break;
+ #endif //GAME_ENABLE
+ default:
+ encoder_action_volume(clockwise); // Otherwise it just changes volume
+ break;
+ }
+ }
+ //return true; //set to return false to counteract enabled encoder in pro.c
+ return false;
+}
+#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+
+// Game logic
+#ifdef GAME_ENABLE
+void init_ball(uint8_t i) {
+ i &= 1;
+ ball[i].on = true;
+ ball[i].up = false;
+ ball[i].y = 0;
+ ball[i].x = rand() % 16;
+
+ // Set initial ball state
+ if (ball[i].x < 8) {
+ ball[i].left = false;
+ } else {
+ ball[i].x -= 4;
+ ball[i].left = true;
+ }
+
+ // 1/4 chance of being an enemy ball after level 6
+ if (level_number > 3) {
+ ball[i].enemy = ((rand() % 4) == 0);
+ } else {
+ ball[i].enemy = false;
+ }
+}
+
+void hurt_paddle(void) {
+ if (paddle_lives > 0) {
+ --paddle_lives;
+ }
+ damage_timer = timer_read();
+ damage_count = 10;
+
+ // Reset board
+ init_ball(0);
+ ball[1].on = false;
+}
+#endif //GAME_ENABLE
+
+// Capslock, Scroll lock and Numlock indicator on Left side lights.
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
+
+ // Scroll Lock RGB setup
+ if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) {
+ rgb_matrix_set_color(LED_L3, RGB_RED);
+ rgb_matrix_set_color(LED_L4, RGB_RED);
+ rgb_matrix_set_color(LED_TAB, RGB_RED);
+ rgb_matrix_set_color(LED_F12, RGB_RED);
+ }
+
+/*
+ // System NumLock warning indicator RGB setup
+ #ifdef INVERT_NUMLOCK_INDICATOR
+ if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
+ rgb_matrix_set_color(LED_GRV, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_L1, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_L2, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_FN, RGB_ORANGE2);
+ }
+ #else
+ if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
+ rgb_matrix_set_color(LED_GRV, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_L1, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_L2, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_FN, RGB_ORANGE2);
+ }
+ #endif // INVERT_NUMLOCK_INDICATOR
+*/
+
+ // CapsLock RGB setup
+ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
+ if (user_config.rgb_hilite_caps) {
+ if (user_config.rgb_english_caps) {
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) {
+ rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE);
+ }
+ }
+ else {
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS_DE); i++) {
+ rgb_matrix_set_color(LED_LIST_LETTERS_DE[i], RGB_CHARTREUSE);
+ }
+ }
+ rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE);
+ }
+ else {
+ rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE);
+ }
+ }
+
+ // Winkey disabled (gaming) mode RGB setup
+ if (keymap_config.no_gui) {
+ rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Winkey red when disabled
+ rgb_matrix_set_color(LED_W, RGB_CHARTREUSE); //light up gaming keys with WSAD higlighted
+ rgb_matrix_set_color(LED_S, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_A, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_D, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_Q, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_E, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_R, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_TAB, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_F, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_Z, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_X, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_C, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_V, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_SPC, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_LCTL, RGB_ORANGE2);
+ rgb_matrix_set_color(LED_LSFT, RGB_ORANGE2);
+ }
+
+ // Fn selector mode RGB setup
+ switch (get_highest_layer(layer_state)) { // special handling per layer
+ case _FN1: // on Fn layer select what the encoder does when pressed
+ rgb_matrix_set_color(LED_FN, RGB_RED); //FN key
+
+ //NEW RGB LIGHTING TO RING KEYBOARD ON FN LAYER ACTIVATION:
+ for (uint8_t j = 0; j < ARRAYSIZE(LED_LIST_FUNCROW); j++) {
+ rgb_matrix_set_color(LED_LIST_FUNCROW[j], RGB_RED);
+ }
+ rgb_matrix_set_color(LED_LCTL, RGB_RED);
+ rgb_matrix_set_color(LED_LALT, RGB_RED);
+ rgb_matrix_set_color(LED_SPC, RGB_RED);
+ rgb_matrix_set_color(LED_LWIN, RGB_RED);
+ //rgb_matrix_set_color(LED_RALT, RGB_RED);
+ rgb_matrix_set_color(LED_FN, RGB_OFFBLUE);
+ //rgb_matrix_set_color(LED_RCTL, RGB_RED);
+ rgb_matrix_set_color(LED_BSLS, RGB_RED);
+ rgb_matrix_set_color(LED_L1, RGB_RED);
+ rgb_matrix_set_color(LED_L2, RGB_RED);
+ rgb_matrix_set_color(LED_L3, RGB_RED);
+ rgb_matrix_set_color(LED_L4, RGB_RED);
+ rgb_matrix_set_color(LED_L5, RGB_RED);
+ rgb_matrix_set_color(LED_L6, RGB_RED);
+ rgb_matrix_set_color(LED_L7, RGB_RED);
+ rgb_matrix_set_color(LED_L8, RGB_RED);
+ rgb_matrix_set_color(LED_DOWN, RGB_RED);
+ rgb_matrix_set_color(LED_LEFT, RGB_RED);
+ rgb_matrix_set_color(LED_RIGHT, RGB_RED);
+ rgb_matrix_set_color(LED_R1, RGB_RED);
+ rgb_matrix_set_color(LED_R2, RGB_RED);
+ rgb_matrix_set_color(LED_R3, RGB_RED);
+ rgb_matrix_set_color(LED_R4, RGB_RED);
+ rgb_matrix_set_color(LED_R5, RGB_RED);
+ rgb_matrix_set_color(LED_R6, RGB_RED);
+ rgb_matrix_set_color(LED_R7, RGB_RED);
+ rgb_matrix_set_color(LED_R8, RGB_RED);
+ rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE);
+
+ // Indicator for paddle game enabled in build
+ #ifdef GAME_ENABLE
+ rgb_matrix_set_color(LED_P, RGB_CHARTREUSE);
+ #else
+ rgb_matrix_set_color(LED_P, RGB_RED);
+ #endif // GAME_ENABLE
+
+ // System NumLock warning indicator RGB setup
+ #ifdef INVERT_NUMLOCK_INDICATOR
+ if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #else
+ if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #endif // INVERT_NUMLOCK_INDICATOR
+
+ //Add RGB statuses for user.config toggles
+ if (user_config.rgb_hilite_caps) {
+ rgb_matrix_set_color(LED_1, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_1, RGB_PURPLE);
+ }
+ if (user_config.rgb_hilite_numpad) {
+ rgb_matrix_set_color(LED_2, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_2, RGB_PURPLE);
+ }
+ if (user_config.esc_double_tap_to_baselyr) {
+ rgb_matrix_set_color(LED_3, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_3, RGB_PURPLE);
+ }
+ if (user_config.del_right_home_top) {
+ rgb_matrix_set_color(LED_4, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_4, RGB_PURPLE);
+ }
+ if (user_config.double_tap_shift_for_capslock) {
+ rgb_matrix_set_color(LED_5, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_5, RGB_PURPLE);
+ }
+ if (user_config.encoder_press_mute_or_media) {
+ rgb_matrix_set_color(LED_6, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_6, RGB_PURPLE);
+ }
+ if (user_config.ins_on_shft_bkspc_or_del) {
+ rgb_matrix_set_color(LED_7, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_7, RGB_PURPLE);
+ }
+ if (user_config.disable_space_mods) {
+ rgb_matrix_set_color(LED_8, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_8, RGB_PURPLE);
+ }
+ if (user_config.autocorrect) {
+ rgb_matrix_set_color(LED_9, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_9, RGB_PURPLE);
+ }
+ if (user_config.rgb_english_caps) {
+ rgb_matrix_set_color(LED_0, RGB_GREEN);
+ } else {
+ rgb_matrix_set_color(LED_0, RGB_PURPLE);
+ }
+
+ // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code
+ uint16_t timeout_threshold = get_timeout_threshold();
+ if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_BLUE);
+ else if (timeout_threshold < 140) {
+ rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold % 10)], RGB_BLUE);
+ } else { // >= 140 minutes, just show these 3 lights
+ rgb_matrix_set_color(LED_LIST_FUNCROW[10], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[11], RGB_CYAN);
+ rgb_matrix_set_color(LED_LIST_FUNCROW[12], RGB_CYAN);
+ }
+ break;
+
+ // Numpad & Mouse Keys overlay RGB
+ case _NUMPADMOUSE:
+ #ifdef INVERT_NUMLOCK_INDICATOR
+ if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #else
+ if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
+ rgb_matrix_set_color(LED_N, RGB_ORANGE2);
+ }
+ #endif // INVERT_NUMLOCK_INDICATOR
+ if (user_config.rgb_hilite_numpad) {
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) {
+ rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE);
+ }
+ rgb_matrix_set_color(LED_L5, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_L6, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_END, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE);
+ } else {
+ rgb_matrix_set_color(LED_L5, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_L6, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE);
+ }
+ break;
+
+ // MOUSEKEYS mode RGB
+ case _MOUSEKEY:
+ rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE);
+ rgb_matrix_set_color(LED_RCTL, RGB_CYAN);
+ rgb_matrix_set_color(LED_RSFT, RGB_CYAN);
+ rgb_matrix_set_color(LED_END, RGB_CYAN);
+ rgb_matrix_set_color(LED_PGUP, RGB_OFFBLUE);
+ rgb_matrix_set_color(LED_PGDN, RGB_OFFBLUE);
+ break;
+
+ // Colemak layer RGB
+ #ifdef COLEMAK_LAYER_ENABLE
+ case _COLEMAK:
+ for (uint8_t i = 0; i < ARRAYSIZE(LED_SIDE_RIGHT); i++) {
+ rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_MAGENTA);
+ rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_MAGENTA);
+ }
+ break;
+ #endif
+
+ // Paddle game logic
+ #ifdef GAME_ENABLE
+ case _GAME:
+ if (!game_start) {
+ srand((unsigned int) timer_read());
+
+ // Store user light settings
+ last_hsv = rgb_matrix_get_hsv();
+ rgb_matrix_sethsv_noeeprom(0, 0, 0);
+
+ paddle_pos_full = 8;
+ paddle_lives = 4;
+ bounce_count = 0;
+ level_number = 0;
+ damage_count = 0;
+
+ init_ball(0);
+ ball[1].on = false;
+ ball_timer = timer_read();
+
+ game_start = true;
+ }
+
+ // Set level indicator
+ if (level_number < 12) {
+ rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE);
+ }
+
+ // Set life bar
+ for (uint8_t i = 0; i < paddle_lives; i++) {
+ rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN);
+ }
+
+ uint8_t paddle_pos = paddle_pos_full >> 1;
+
+ if (damage_count > 0) {
+ // Flash paddle when receiving damage
+ if (timer_elapsed(damage_timer) > 500) {
+ --damage_count;
+ damage_timer = timer_read();
+ }
+ if ((damage_count & 1) == 0) {
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED);
+ }
+ }
+ if (damage_count == 0) {
+ ball_timer = timer_read();
+ }
+
+ } else if (paddle_lives == 0) {
+ // Game over
+ for (uint8_t i = 0; i < sizeof(LED_GAME_OVER) / sizeof(LED_GAME_OVER[0]); i++) {
+ rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED);
+ }
+
+ } else if (level_number >= 12) {
+ // You win
+ if (rgb_value.r == 0xff && rgb_value.g < 0xff) {
+ if (rgb_value.b > 0) {
+ --rgb_value.b;
+ } else {
+ ++rgb_value.g;
+ }
+ } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) {
+ if (rgb_value.r > 0) {
+ --rgb_value.r;
+ } else {
+ ++rgb_value.b;
+ }
+ } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) {
+ if (rgb_value.g > 0) {
+ --rgb_value.g;
+ } else {
+ ++rgb_value.r;
+ }
+ }
+
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b);
+ }
+ rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b);
+ rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b);
+
+ } else {
+ // normal game loop
+
+ // Set paddle position
+ for (uint8_t i = 0; i < 3; i++) {
+ rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN);
+ }
+
+ // Ball movement logic happens at intervals
+ if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) {
+ for (int i = 0; i < 2; ++i) {
+ if (ball[i].on) {
+ // Ball movement
+ if (ball[i].up) {
+ if (ball[i].y > 0) {
+ --ball[i].y;
+ if (!ball[i].left) ++ball[i].x;
+ } else {
+ // Count reflections. If > 10, increase level
+ ++bounce_count;
+ if (bounce_count >= 10) {
+ bounce_count = 0;
+ ++level_number;
+ }
+ ball[i].on = false;
+ }
+ } else {
+ ++ball[i].y;
+ if (ball[i].left) --ball[i].x;
+ if (ball[i].y > 4) {
+ // Remove a life if ball isn't returned and isn't enemy
+ if (!ball[i].enemy) {
+ hurt_paddle();
+ i = 2;
+ } else {
+ ball[i].on = false;
+ }
+ }
+ }
+ }
+ }
+ if (ball[0].y == 4 && !ball[1].on) {
+ init_ball(1);
+ }
+ if (ball[1].y == 4 && !ball[0].on) {
+ init_ball(0);
+ }
+ if (!ball[0].on && !ball[1].on) {
+ init_ball(0);
+ }
+ ball_timer = timer_read();
+ }
+
+ // Other ball stuff
+ for (int i = 0; i < 2; ++i) {
+ if (ball[i].on) {
+ // Ball deflection logic
+ if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) {
+ if (!ball[i].enemy) {
+ --ball[i].y;
+ if (!ball[i].left) {
+ ++ball[i].x;
+ }
+ ball[i].up = true;
+ } else {
+ hurt_paddle();
+ i = 2;
+ }
+ }
+
+ // Ball display
+ switch (ball[i].y) {
+ case 0:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 1:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 2:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 3:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE);
+ }
+ break;
+
+ case 4:
+ if (ball[i].enemy) {
+ rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED);
+ } else {
+ rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE);
+ }
+ break;
+ }
+ }
+ }
+ }
+ break;
+ #endif //GAME_ENABLE
+ default:
+ #ifdef GAME_ENABLE
+ if (game_start) {
+ // Reset lighting settings
+ game_start = false;
+ rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v);
+ }
+ #endif //GAME_ENABLE
+ break;
+ }
+}
+#endif
+
+void keyboard_post_init_keymap(void) {
+ // keyboard_post_init_user() moved to userspace
+ #ifdef RGB_MATRIX_ENABLE
+ activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle
+ #endif
+} \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h
new file mode 100644
index 0000000000..3d33975cfe
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h
@@ -0,0 +1,48 @@
+/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
+ Copyright 2021 Tomas Guinan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 GAME_ENABLE
+const uint16_t GAME_TIMER[] = {
+ 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150
+};
+
+bool game_start = false;
+HSV last_hsv;
+static uint8_t paddle_pos_full;
+static uint8_t paddle_lives;
+static uint8_t level_number;
+static uint8_t bounce_count;
+static uint8_t damage_count;
+static uint16_t damage_timer;
+static uint16_t ball_timer;
+
+struct BallStruct
+{
+ uint8_t x;
+ uint8_t y;
+ bool on;
+ bool up;
+ bool left;
+ bool enemy;
+};
+
+struct BallStruct ball[2];
+
+void init_ball(uint8_t i);
+void hurt_paddle(void);
+
+#endif //GAME_ENABLE \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md
new file mode 100644
index 0000000000..aebccf6d14
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md
@@ -0,0 +1,124 @@
+# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts
+
+These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects.
+
+![image](https://raw.githubusercontent.com/gourdo1/media/main/susuwatari.jpg)
+
+* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md)
+* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
+* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
+* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf)
+
+## Features
+
+### Core Functionality
+
+* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts.
+* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings.
+* [VIA](https://www.caniusevia.com/) support enabled.
+* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters.
+* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled
+* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R
+* 1000Hz polling rate with 5ms debounce time for quick response in games.
+* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse.
+* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry.
+* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys.
+* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time.
+* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor.
+* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted).
+* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit.
+* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/
+* Single-handed shortcut for WinKey-L (lock Windows): [FN]L
+* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com.
+* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO
+* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13
+* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
+* Double tap ESC any time to revert to base layer.
+* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes.
+* RGB backlight now remembers last color & effect settings after power down.
+
+### Quick & Easy Customization
+* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence.
+* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards)
+* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF)
+
+#### Toggle-able Settings:
+ 1. CapsLock RGB - Highlight under alpha keys
+ 2. Numpad RGB - Highlight under numpad layer keys
+ 3. ESC key - Double tap ESC key to go to base layer
+ 4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC
+ 5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock
+ 6. Encoder button - Default mutes volume; alternate plays/pauses media
+ 7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL
+ 8. Modded-Space override - Use standard Space in place of modded-Space functions
+ 9. AutoCorrect - Internal (English) AutoCorrect; default is enabled
+ 0. (ISO layouts only) CapsLock highlights extended alpha keys
+
+### Numpad + Mouse Keys (Capslock key)
+
+* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting
+* Numpad uses Space-bar as Enter for rapid number entry.
+* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use)
+* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle)
+* Double zero on comma key.
+* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard.
+* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel
+* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green
+
+### Encoder Functionality
+
+* Default knob turn changes volume; button press toggles mute
+* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease.
+* FN + knob turn changes RGB idle timeout
+* FN + knob push puts PC to Sleep
+* holding Left Shift changes layers
+* holding Right Shift navigates page up/down
+* holding Left Ctrl navigates prev/next word
+* holding Right Ctrl changes RGB hue/color
+* holding Left Alt changes media prev/next track
+
+### Paddle Game
+
+* Based on [Tomas Guinan's excellent GMMK Pro paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame)
+* Paddle Game playable by pressing [FN]P (P lights up green in FN layer if game is enabled in firmware, otherwise it lights up red)
+* Use rotary encoder to control paddle
+* Contains 12 levels, indicated by blue LED on F-key row
+* Player has 4 lives, indicated by nav cluster
+* Deflect white balls while avoiding red ones
+* Use [FN]P, double tap ESC or otherwise change layer to quit game
+
+### Global RGB Controls
+
+* RGB backlight lighting effect: [FN]up/down
+* RGB backlight effect speed: [FN]left/right
+* RGB backlight hue cycle: [FN]A/D
+* RGB backlight brightness: [FN]W/S
+* RGB backlight saturation: [FN]Q/E
+* RGB backlight night mode toggle: [FN]Z (indicators still work)
+* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes)
+ * F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes
+* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle
+* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green).
+
+### Advanced Controls
+
+* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO)
+* [FN][ESC] to clear EEPROM
+* [FN]R to toggle N-key Rollover
+* [FN]N to toggle system numlock
+* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete
+* [FN]L is single-handed shortcut to Win-L (lock Windows)
+* [FN][Encoder press] to sleep Windows PC
+
+## Layer Diagrams (ANSI)
+### Base layer
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/base.png)
+
+### FN Layer
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/fn1.png)
+
+### Layer 2 (Numpad)
+![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/numpad.png)
+
+### COLEMAK layer
+![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png)
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h
new file mode 100644
index 0000000000..abcdb82aeb
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h
@@ -0,0 +1,433 @@
+/* Copyright 2021 Jonavin Eng @Jonavin
+ Copyright 2022 gourdo1 <gourdo1@outlook.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 RGB_MATRIX_ENABLE
+
+//Define variables for Game
+bool fn_active = false;
+RGB rgb_value;
+
+// Custom GMMK Pro-specific RGB color customizations (defaults found in quantum/color.h)
+#define RGB_GODSPEED 0x00, 0xE4, 0xFF // color for matching keycaps
+#define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Nautilus Font colors
+#define RGB_OFFBLUE 0x00, 0x80, 0xFF // new color: blue with a hint of green
+#define RGB_DKRED 0x28, 0x00, 0x00 // new color: dark red
+#define RGB_ORANGE2 0xFF, 0x28, 0x00 // fix: reduced green from 80 to 28
+#define RGB_PURPLE2 0x80, 0x00, 0xFF // fix: increased red from 7A to 80
+#define RGB_SPRINGGREEN2 0x00, 0xFF, 0x10 // fix: blue was 80, now 10
+#define RGB_YELLOW2 0xFF, 0xB0, 0x00 // fix: green was FF, now B0
+#define RGB_OFF RGB_BLACK
+
+// Added by gourdo1 for RGB testing
+// Red Green Blue Expected GMMK Pro result
+#define RGB_TEST1 0xFF, 0x00, 0x00 // Q - red good!
+#define RGB_TEST2 0x0F, 0xFF, 0x00 // W - green good!
+#define RGB_TEST3 0x00, 0x00, 0xFF // E - blue good!
+#define RGB_TEST4 0xFF, 0xB0, 0x00 // R - yellow slightly green heavy - reduced green LED by quite a bit
+#define RGB_TEST5 0x00, 0xFF, 0xFF // T - cyan good!
+#define RGB_TEST6 0xFF, 0x00, 0xFF // Y - magenta very slightly blue heavy?
+#define RGB_TEST7 0xFF, 0x28, 0x00 // U - orange very green heavy at default
+#define RGB_TEST8 0xFF, 0x00, 0x80 // I - pink good!
+#define RGB_TEST9 0x80, 0xFF, 0x00 // O - chartreus good!
+#define RGB_TEST10 0x00, 0xFF, 0x10 // P - springgrn fixed: was too blue because green LED has blue in it already
+#define RGB_TEST11 0x00, 0x80, 0xFF // A - grn blue good!
+#define RGB_TEST12 0x80, 0x00, 0xFF // S - purple good!
+
+// RGB LED locations
+enum led_location_map {
+ LED_ESC, // 0, ESC, k13
+ LED_GRV, // 1, `, k16
+ LED_TAB, // 2, Tab, k11
+ LED_CAPS, // 3, Caps, k21
+ LED_LSFT, // 4, Sh_L, k00
+ LED_LCTL, // 5, Ct_L, k06
+ LED_F1, // 6, F1, k26
+ LED_1, // 7, 1, k17
+ LED_Q, // 8, Q, k10
+ LED_A, // 9, A, k12
+ LED_Z, // 10, Z, k14
+ LED_LWIN, // 11, Win_L, k90
+ LED_F2, // 12, F2, k36
+ LED_2, // 13, 2, k27
+ LED_W, // 14, W, k20
+ LED_S, // 15, S, k22
+ LED_X, // 16, X, k24
+ LED_LALT, // 17, Alt_L, k93
+ LED_F3, // 18, F3, k31
+ LED_3, // 19, 3, k37
+ LED_E, // 20, E, k30
+ LED_D, // 21, D, k32
+ LED_C, // 22, C, k34
+ LED_F4, // 23, F4, k33
+ LED_4, // 24, 4, k47
+ LED_R, // 25, R, k40
+ LED_F, // 26, F, k42
+ LED_V, // 27, V, k44
+ LED_F5, // 28, F5, k07
+ LED_5, // 29, 5, k46
+ LED_T, // 30, T, k41
+ LED_G, // 31, G, k43
+ LED_B, // 32, B, k45
+ LED_SPC, // 33, SPACE, k94
+ LED_F6, // 34, F6, k63
+ LED_6, // 35, 6, k56
+ LED_Y, // 36, Y, k51
+ LED_H, // 37, H, k53
+ LED_N, // 38, N, k55
+ LED_F7, // 39, F7, k71
+ LED_7, // 40, 7, k57
+ LED_U, // 41, U, k50
+ LED_J, // 42, J, k52
+ LED_M, // 43, M, k54
+ LED_F8, // 44, F8, k76
+ LED_8, // 45, 8, k67
+ LED_I, // 46, I, k60
+ LED_K, // 47, K, k62
+ LED_COMM, // 48, ,, k64
+ LED_RALT, // 49, Alt_R, k95
+ LED_F9, // 50, F9, ka6
+ LED_9, // 51, 9, k77
+ LED_O, // 52, O, k70
+ LED_L, // 53, L, k72
+ LED_DOT, // 54, ., k74
+ LED_FN, // 55, FN, k92
+ LED_F10, // 56, F10, ka7
+ LED_0, // 57, 0, k87
+ LED_P, // 58, P, k80
+ LED_SCLN, // 59, ;, k82
+ LED_SLSH, // 60, ?, k85
+ LED_F11, // 61, F11, ka3
+ LED_MINS, // 62, -, k86
+ LED_LBRC, // 63, [, k81
+ LED_QUOT, // 64, ", k83
+ LED_RCTL, // 65, Ct_R, k04
+ LED_F12, // 66, F12, ka5
+ LED_BSLS, // 67, \, k23
+ LED_L1, // 68, LED, l01
+ LED_R1, // 69, LED, l11
+ LED_PRT, // 70, Prt, k97
+ LED_L2, // 71, LED, l02
+ LED_R2, // 72, LED, l12
+ LED_DEL, // 73, Del, k65
+ LED_L3, // 74, LED, l03
+ LED_R3, // 75, LED, l13
+ LED_PGUP, // 76, PgUp, k15
+ LED_L4, // 77, LED, l04
+ LED_R4, // 78, LED, l14
+ LED_EQL, // 79, =, k66
+ LED_RIGHT, // 80, Right, k05
+ LED_L5, // 81, LED, l05
+ LED_R5, // 82, LED, l15
+ LED_END, // 83, End, k75
+ LED_L6, // 84, LED, l06
+ LED_R6, // 85, LED, l16
+ LED_BSPC, // 86, BSpc, ka1
+ LED_PGDN, // 87, PgDn, k25
+ LED_L7, // 88, LED, l07
+ LED_R7, // 89, LED, l17
+ LED_RBRC, // 90, ], k61
+ LED_RSFT, // 91, Sh_R, k91
+ LED_L8, // 92, LED, l08
+ LED_R8, // 93, LED, l18
+ LED_UP, // 94, Up, k35
+ LED_HASH, // 95, #, k84
+ LED_LEFT, // 96, Left, k03
+ LED_ENT, // 97, Enter, ka4
+ LED_DOWN // 98, Down, k73
+};
+
+const uint8_t LED_LIST_WASD[] = {
+ LED_W,
+ LED_A,
+ LED_S,
+ LED_D
+};
+
+const uint8_t LED_LIST_ARROWS[] = {
+ LED_LEFT,
+ LED_RIGHT,
+ LED_UP,
+ LED_DOWN
+};
+
+const uint8_t LED_LIST_FUNCROW[] = {
+ LED_ESC,
+ LED_F1,
+ LED_F2,
+ LED_F3,
+ LED_F4,
+ LED_F5,
+ LED_F6,
+ LED_F7,
+ LED_F8,
+ LED_F9,
+ LED_F10,
+ LED_F11,
+ LED_F12,
+ LED_PRT
+};
+
+const uint8_t LED_LIST_NUMROW[] = {
+ LED_GRV,
+ LED_1,
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL,
+ LED_BSPC,
+ LED_DEL
+};
+
+const uint8_t LED_LIST_LETTERS[] = {
+ LED_Q,
+ LED_W,
+ LED_E,
+ LED_R,
+ LED_T,
+ LED_Y,
+ LED_U,
+ LED_I,
+ LED_O,
+ LED_P,
+ LED_A,
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_Z,
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M
+};
+
+const uint8_t LED_LIST_LETTERS_DE[] = {
+ LED_Q,
+ LED_W,
+ LED_E,
+ LED_R,
+ LED_T,
+ LED_Y,
+ LED_U,
+ LED_I,
+ LED_O,
+ LED_P,
+ LED_A,
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_Z,
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M,
+ LED_SCLN,
+ LED_LBRC,
+ LED_QUOT
+};
+
+const uint8_t LED_LIST_NUMPAD[] = {
+ LED_1,
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL,
+ LED_U,
+ LED_I,
+ LED_O,
+ LED_P,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_SCLN,
+ LED_ENT,
+ LED_M,
+ LED_COMM,
+ LED_DOT,
+ LED_SLSH,
+ LED_END,
+ LED_RIGHT
+};
+
+const uint8_t LED_SIDE_LEFT[] = {
+ LED_L1,
+ LED_L2,
+ LED_L3,
+ LED_L4,
+ LED_L5,
+ LED_L6,
+ LED_L7,
+ LED_L8
+};
+
+const uint8_t LED_SIDE_RIGHT[] = {
+ LED_R1,
+ LED_R2,
+ LED_R3,
+ LED_R4,
+ LED_R5,
+ LED_R6,
+ LED_R7,
+ LED_R8
+};
+
+#ifdef GAME_ENABLE
+// Game LED rules
+const uint8_t GAME_LIVES[] = {
+ LED_DEL,
+ LED_PGUP,
+ LED_PGDN,
+ LED_END
+};
+const uint8_t GAME_PADDLE[] = {
+ LED_Z,
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M,
+ LED_COMM,
+ LED_DOT,
+ LED_SLSH
+};
+const uint8_t GAME_SMILE1[] = {
+ LED_A,
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_SCLN,
+ LED_QUOT
+};
+const uint8_t GAME_SMILE2[] = {
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL
+};
+const uint8_t GAME_R4[] = {
+ LED_X,
+ LED_C,
+ LED_V,
+ LED_B,
+ LED_N,
+ LED_M,
+ LED_COMM,
+ LED_DOT
+};
+const uint8_t GAME_R3[] = {
+ LED_S,
+ LED_D,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_K,
+ LED_L,
+ LED_SCLN
+};
+const uint8_t GAME_R2[] = {
+ LED_W,
+ LED_E,
+ LED_R,
+ LED_T,
+ LED_Y,
+ LED_U,
+ LED_I,
+ LED_O,
+ LED_P,
+ LED_LBRC
+};
+const uint8_t GAME_R1[] = {
+ LED_2,
+ LED_3,
+ LED_4,
+ LED_5,
+ LED_6,
+ LED_7,
+ LED_8,
+ LED_9,
+ LED_0,
+ LED_MINS,
+ LED_EQL
+};
+const uint8_t GAME_R0[] = {
+ LED_F1,
+ LED_F2,
+ LED_F3,
+ LED_F4,
+ LED_F5,
+ LED_F6,
+ LED_F7,
+ LED_F8,
+ LED_F9,
+ LED_F10,
+ LED_F11,
+ LED_F12
+};
+const uint8_t LED_GAME_OVER[] = {
+ LED_5,
+ LED_8,
+ LED_F,
+ LED_G,
+ LED_H,
+ LED_J,
+ LED_C,
+ LED_M
+};
+#endif //GAME_ENABLE
+
+#endif \ No newline at end of file
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk
new file mode 100644
index 0000000000..1eb14ebbef
--- /dev/null
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk
@@ -0,0 +1,22 @@
+LTO_ENABLE = yes # link time optimization -- achieves a smaller compiled size
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+MOUSEKEY_ENABLE = yes
+
+VIA_ENABLE = yes
+TAP_DANCE_ENABLE = no
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality
+
+TD_LSFT_CAPSLOCK_ENABLE = yes
+IDLE_TIMEOUT_ENABLE = yes
+STARTUP_NUMLOCK_ON = yes
+ENCODER_DEFAULTACTIONS_ENABLE = no
+
+COLEMAK_LAYER_ENABLE = yes # Enable Colemak layer / set to no to disable
+INVERT_NUMLOCK_INDICATOR = yes
+
+GAME_ENABLE ?= yes # Enable Paddle Game / set to no to disable
+ifeq ($(strip $(GAME_ENABLE)), yes)
+ OPT_DEFS += -DGAME_ENABLE
+endif
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c
index 3164ecbf68..e4b5711e8b 100644
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
_______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, KC_HOME,
KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
- _______, RESET, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______,
+ _______, QK_BOOT, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______,
_______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
),
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c
index d5b64c153a..1e32e7e9c0 100644
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_MOV] = LAYOUT(
- RESET, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RGB] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SPD,
@@ -136,7 +136,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
switch (keycode) {
- case RESET: // when activating RESET mode for flashing
+ case QK_BOOT: // when activating QK_BOOT mode for flashing
if (record->event.pressed) {
rgb_matrix_set_color_all(63, 0, 0);
rgb_matrix_driver.flush();
diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c
new file mode 100644
index 0000000000..9cf28e4648
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/ansi.c
@@ -0,0 +1,241 @@
+/* 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 "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/rev2/ansi/ansi.h b/keyboards/gmmk/pro/rev2/ansi/ansi.h
new file mode 100644
index 0000000000..2f8a28b940
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/ansi.h
@@ -0,0 +1,52 @@
+/* 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/>.
+ */
+
+#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/rev2/ansi/config.h b/keyboards/gmmk/pro/rev2/ansi/config.h
new file mode 100644
index 0000000000..996ee21afc
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/config.h
@@ -0,0 +1,23 @@
+/* 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/>.
+ */
+
+#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/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json
new file mode 100644
index 0000000000..a78e608f2f
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/info.json
@@ -0,0 +1,115 @@
+{
+ "keyboard_name": "GMMK Pro ANSI",
+ "manufacturer": "Glorious",
+ "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.2"
+ },
+ "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/rev2/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..dc56a9ff8f
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
+/* 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 QK_BOOT 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.
+ //
+ // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
+ // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
+ // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
+ [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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT(
+ _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+
+};
+// clang-format on
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif // ENCODER_ENABLE
diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d1c42ca26f
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
@@ -0,0 +1,88 @@
+/* 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 QK_BOOT 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.
+ //
+ // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
+ // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
+ // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
+ [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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT(
+ _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
+// clang-format on
+
+/* encoder; start */
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev2/ansi/readme.md b/keyboards/gmmk/pro/rev2/ansi/readme.md
new file mode 100644
index 0000000000..dd60a0f138
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/readme.md
@@ -0,0 +1,37 @@
+# GMMK PRO (ANSI)
+
+A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 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)
+
+* 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)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/pro/rev2/ansi:default
+
+Flashing example for this keyboard:
+
+ make gmmk/pro/rev2/ansi: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+Backslash 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).
+
+## Case Screw Replacements
+
+Many users report stripped case screws when disassembling the board.
+
+The stock case screws are:
+* Thread: M2
+* Thread length: ~5 mm
+* Head diameter: ~3.8 mm
+* Head counterbore diameter: ~4.0 mm
+* Head counterbore depth: ~1.9 mm
+
+Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore.
+For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm).
diff --git a/keyboards/gmmk/pro/rev2/ansi/rules.mk b/keyboards/gmmk/pro/rev2/ansi/rules.mk
new file mode 100644
index 0000000000..8d81af0fdf
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/ansi/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = AW20216
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
diff --git a/keyboards/gmmk/pro/rev2/config.h b/keyboards/gmmk/pro/rev2/config.h
new file mode 100644
index 0000000000..c2b3755d77
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/config.h
@@ -0,0 +1,26 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* External spi flash */
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12
+#define WEAR_LEVELING_BACKING_SIZE 2048
+
+/* SPI Config for LED Driver */
+#define SPI_DRIVER SPIDQ
diff --git a/keyboards/gmmk/pro/rev2/halconf.h b/keyboards/gmmk/pro/rev2/halconf.h
new file mode 100644
index 0000000000..8d9b60c234
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/halconf.h
@@ -0,0 +1,23 @@
+/* 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/>.
+ */
+
+#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/rev2/iso/config.h b/keyboards/gmmk/pro/rev2/iso/config.h
new file mode 100644
index 0000000000..82390fc147
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/config.h
@@ -0,0 +1,23 @@
+/* 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/>.
+ */
+
+#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/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json
new file mode 100644
index 0000000000..afec8e275b
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/info.json
@@ -0,0 +1,116 @@
+{
+ "keyboard_name": "GMMK Pro ISO",
+ "manufacturer": "Glorious",
+ "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
+ "maintainer": "GloriousThrall",
+ "usb": {
+ "vid": "0x320F",
+ "pid": "0x5044",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+
+ {"label":"Printscreen", "x":14, "y":0},
+ {"label":"Rotary", "x":15.5, "y":0},
+
+ {"label":"`", "x":0, "y":1.25},
+ {"label":"1", "x":1, "y":1.25},
+ {"label":"2", "x":2, "y":1.25},
+ {"label":"3", "x":3, "y":1.25},
+ {"label":"4", "x":4, "y":1.25},
+ {"label":"5", "x":5, "y":1.25},
+ {"label":"6", "x":6, "y":1.25},
+ {"label":"7", "x":7, "y":1.25},
+ {"label":"8", "x":8, "y":1.25},
+ {"label":"9", "x":9, "y":1.25},
+ {"label":"0", "x":10, "y":1.25},
+ {"label":"-", "x":11, "y":1.25},
+ {"label":"=", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+
+ {"label":"Delete", "x":15.5, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[", "x":11.5, "y":2.25},
+ {"label":"]", "x":12.5, "y":2.25},
+
+ {"label":"Page Up", "x":15.5, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";", "x":10.75, "y":3.25},
+ {"label":"'", "x":11.75, "y":3.25},
+ {"label":"Iso #", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Page Down", "x":15.5, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"Iso \\", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",", "x":9.25, "y":4.25},
+ {"label":".", "x":10.25, "y":4.25},
+ {"label":"/", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+
+ {"label":"Up", "x":14.25, "y":4.5},
+
+ {"label":"End", "x":15.5, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25},
+ {"label":"Fn", "x":11, "y":5.25},
+ {"label":"Ctrl", "x":12, "y":5.25},
+
+ {"label":"Left", "x":13.25, "y":5.5},
+ {"label":"Down", "x":14.25, "y":5.5},
+ {"label":"Right", "x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c
new file mode 100644
index 0000000000..3567a52d0d
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/iso.c
@@ -0,0 +1,243 @@
+/* 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 "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/rev2/iso/iso.h b/keyboards/gmmk/pro/rev2/iso/iso.h
new file mode 100644
index 0000000000..a5844e10eb
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/iso.h
@@ -0,0 +1,52 @@
+/* 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/>.
+ */
+
+#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/rev2/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c44e4905d0
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
+/* 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 QK_BOOT 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.
+ //
+ // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
+ // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
+ // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
+ [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(
+ _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+
+};
+// clang-format on
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..acd41ebec1
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
@@ -0,0 +1,90 @@
+/* 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 QK_BOOT 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.
+ //
+ // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
+ // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
+ // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
+ [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(
+ _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
+ ),
+
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+};
+// clang-format on
+
+/* encoder; start */
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk b/keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/gmmk/pro/rev2/iso/readme.md b/keyboards/gmmk/pro/rev2/iso/readme.md
new file mode 100644
index 0000000000..7d46370e3a
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/readme.md
@@ -0,0 +1,37 @@
+# GMMK PRO (ISO)
+
+A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 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-iso-black-slate)
+
+* 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-iso-black-slate)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/pro/rev2/iso:default
+
+Flashing example for this keyboard:
+
+ make gmmk/pro/rev2/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).
+
+## Case Screw Replacements
+
+Many users report stripped case screws when disassembling the board.
+
+The stock case screws are:
+* Thread: M2
+* Thread length: ~5 mm
+* Head diameter: ~3.8 mm
+* Head counterbore diameter: ~4.0 mm
+* Head counterbore depth: ~1.9 mm
+
+Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore.
+For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm).
diff --git a/keyboards/gmmk/pro/rev2/iso/rules.mk b/keyboards/gmmk/pro/rev2/iso/rules.mk
new file mode 100644
index 0000000000..cf6373ae46
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/iso/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = WB32F3G71
+
+# Bootloader selection
+BOOTLOADER = wb32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# 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
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = AW20216
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = spi_flash
diff --git a/keyboards/gmmk/pro/rev2/mcuconf.h b/keyboards/gmmk/pro/rev2/mcuconf.h
new file mode 100644
index 0000000000..4fa7c1e256
--- /dev/null
+++ b/keyboards/gmmk/pro/rev2/mcuconf.h
@@ -0,0 +1,22 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef WB32_SPI_USE_QSPI
+#define WB32_SPI_USE_QSPI TRUE
diff --git a/keyboards/gon/nerd60/config.h b/keyboards/gon/nerd60/config.h
index 5e2fe57327..90b4b18494 100644
--- a/keyboards/gon/nerd60/config.h
+++ b/keyboards/gon/nerd60/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E45 // NE
-#define PRODUCT_ID 0x3630 // 60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GON
-#define PRODUCT NerD 60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -20,7 +13,6 @@
/* matrix pins */
#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json
index 66db3f1185..baf67fe528 100644
--- a/keyboards/gon/nerd60/info.json
+++ b/keyboards/gon/nerd60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GON NerD 60",
+ "keyboard_name": "NerD 60",
+ "manufacturer": "GON",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E45",
+ "pid": "0x3630",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
index 78a2eb353c..314b55199a 100644
--- a/keyboards/gon/nerd60/keymaps/mauin/keymap.c
+++ b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_SY] = LAYOUT_all(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/gon/nerd60/readme.md b/keyboards/gon/nerd60/readme.md
index 1b4689ea03..fe7b01bf7e 100644
--- a/keyboards/gon/nerd60/readme.md
+++ b/keyboards/gon/nerd60/readme.md
@@ -24,4 +24,4 @@ not work anymore. You will lose your warranty and official support from GON!_
## Reset button
-To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `RESET` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
+To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `QK_BOOT` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
diff --git a/keyboards/gon/nerdtkl/config.h b/keyboards/gon/nerdtkl/config.h
index 74d67f30d4..66b132e052 100644
--- a/keyboards/gon/nerdtkl/config.h
+++ b/keyboards/gon/nerdtkl/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E45 // NE
-#define PRODUCT_ID 0x5244 // RD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GON
-#define PRODUCT NerD TKL
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
@@ -20,7 +13,6 @@
/* matrix pins */
#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5, D1 }
-#define UNUSED_PINS
#define BOOTMAGIC_LITE_ROW 8
#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/gon/nerdtkl/info.json b/keyboards/gon/nerdtkl/info.json
index 45155fd737..1af13bf237 100644
--- a/keyboards/gon/nerdtkl/info.json
+++ b/keyboards/gon/nerdtkl/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "GON NerD TKL",
+ "keyboard_name": "NerD TKL",
+ "manufacturer": "GON",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E45",
+ "pid": "0x5244",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl": {
"layout": [
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
index c4294c812e..39dcb175ab 100644
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
@@ -183,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* *-----------------------------------------------------------------------*
*/
[_AL] = LAYOUT_tkl( \
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \
_______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
@@ -241,7 +241,7 @@ void matrix_scan_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _BL:
custom_backlight_level(0);
break;
diff --git a/keyboards/gon/nerdtkl/readme.md b/keyboards/gon/nerdtkl/readme.md
index f8e982e770..db7025f10b 100644
--- a/keyboards/gon/nerdtkl/readme.md
+++ b/keyboards/gon/nerdtkl/readme.md
@@ -24,4 +24,4 @@ not work anymore. You will lose your warranty and official support from GON!_
## Reset button
-To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `RESET` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
+To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `QK_BOOT` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
diff --git a/keyboards/gopolar/gg86/config.h b/keyboards/gopolar/gg86/config.h
new file mode 100644
index 0000000000..7964834623
--- /dev/null
+++ b/keyboards/gopolar/gg86/config.h
@@ -0,0 +1,90 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D5 }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C6, B6, B5, B4, D7, D6, D4, C7, E6, D2, D3 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Forcing to use NKRO instead 6KRO */
+#define FORCE_NKRO
+
+/* Use the custom font */
+#define OLED_FONT_H "lib/glcdfont.c"
+
+#ifdef RGB_MATRIX_ENABLE
+ /* RGB Matrix config */
+ #define RGB_DI_PIN E2
+ #define DRIVER_LED_TOTAL 100
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+ #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #define RGB_MATRIX_KEYPRESSES
+
+ /* RGB Matrix effect */
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_BREATHING
+ #define ENABLE_RGB_MATRIX_BAND_SAT
+ #define ENABLE_RGB_MATRIX_BAND_VAL
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #define ENABLE_RGB_MATRIX_RAINDROPS
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #define ENABLE_RGB_MATRIX_HUE_WAVE
+ #define ENABLE_RGB_MATRIX_PIXEL_RAIN
+
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #define ENABLE_RGB_MATRIX_SPLASH
+ #define ENABLE_RGB_MATRIX_MULTISPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/gopolar/gg86/gg86.c b/keyboards/gopolar/gg86/gg86.c
new file mode 100644
index 0000000000..3e790cd61e
--- /dev/null
+++ b/keyboards/gopolar/gg86/gg86.c
@@ -0,0 +1,79 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "gg86.h"
+
+// OLED animation
+#include "lib/logo.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ { 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, NO_LED, 74, 73, 72 },
+ { 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71 },
+ { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38 },
+ { 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, NO_LED, NO_LED, NO_LED },
+ { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, NO_LED, 10, NO_LED },
+ { 0, 1, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, NO_LED, 4, 5, 6, NO_LED, 7, 8, 9 }
+}, {
+ // Key matrix (0 -> 87)
+ {3 , 64}, {19 , 64}, {36 , 64}, {91 , 64}, {146, 64}, {162, 64}, {179, 64}, {198, 64}, {211, 64}, {224, 64},
+ {211, 52}, {182, 52}, {170, 52}, {146, 52}, {133, 52}, {120, 52}, {107, 52}, {94 , 52}, {81 , 52}, {68 , 52}, {55 , 52}, {42 , 52}, {29 , 52}, {16 , 52}, {2 , 52},
+ {2 , 41}, {23 , 41}, {36 , 41}, {49 , 41}, {62 , 41}, {75 , 41}, {88 , 41}, {101, 41}, {114, 41}, {127, 41}, {140, 41}, {153, 41}, {174, 41},
+ {224, 29}, {211, 29}, {198, 29}, {179, 29}, {162, 29}, {149, 29}, {136, 29}, {123, 29}, {110, 29}, {97 , 29}, {84 , 29}, {71 , 29}, {58 , 29}, {45 , 29}, {32 , 29}, {19 , 29}, {3 , 29},
+ {0 , 17}, {13 , 17}, {26 , 17}, {39 , 17}, {52 , 17}, {65 , 17}, {78 , 17}, {91 , 17}, {104, 17}, {117, 17}, {130, 17}, {143, 17}, {156, 17}, {175, 17}, {198, 17}, {211, 17}, {224, 17},
+ {224, 0}, {211, 0}, {198, 0}, {182, 0}, {169, 0}, {156, 0}, {143, 0}, {123, 0}, {110, 0}, {97 , 0}, {84 , 0}, {65 , 0}, {52 , 0}, {39 , 0}, {26 , 0}, {0 , 0},
+
+ // Underglow (88 -> 99)
+ {1 , 6}, {50 , 6}, {89 , 6}, {135, 6}, {176, 6}, {198, 6}, {221, 55}, {192, 58}, {138, 59}, {96 , 61}, {42 , 59}, {7 , 60},
+}, {
+ // Key matrix (0 -> 87)
+ 1, 1, 1, 4, 1, 1, 1, 4, 4, 4,
+ 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 8, 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, 1,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4,
+ 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+
+ // Underglow (88 -> 99)
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
+
+#ifdef OLED_ENABLE
+ uint16_t startup_timer;
+
+ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ startup_timer = timer_read();
+
+ return rotation;
+ }
+
+ bool oled_task_kb(void) {
+ static bool finished_logo = false;
+
+ if ((timer_elapsed(startup_timer) < 5000) && !finished_logo) {
+ render_logo();
+ } else {
+ finished_logo = true;
+
+ if (!oled_task_user()) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+#endif
diff --git a/keyboards/gopolar/gg86/gg86.h b/keyboards/gopolar/gg86/gg86.h
new file mode 100644
index 0000000000..6922f8dab5
--- /dev/null
+++ b/keyboards/gopolar/gg86/gg86.h
@@ -0,0 +1,116 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/* ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │1F │1G │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │
+ * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ * │50 │51 │52 │55 │5A │5B │5C │ │5E │5F │5G │
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K55, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, XXX, XXX, XXX }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, XXX, K4F, XXX }, \
+ { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, XXX, K5A, K5B, K5C, XXX, K5E, K5F, K5G }, \
+}
+
+/* ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │1F │1G │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │ │4F │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───â”
+ * │50 │51 │52 │55 │5A │5B │5C │ │5E │5F │5G │
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ */
+
+#define LAYOUT_tkl_ansi_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K55, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, XXX, XXX, XXX }, \
+ { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, XXX, K4F, XXX }, \
+ { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, XXX, K5A, K5B, K5C, XXX, K5E, K5F, K5G }, \
+}
+
+/* ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C │ │0E │0F │0G │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │1F │1G │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │ │2E │2F │2G │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴â”3D │ └───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │2D │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │ │4F │
+ * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───â”
+ * │50 │51 │52 │55 │5A │5B │5C │ │5E │5F │5G │
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ */
+
+#define LAYOUT_tkl_iso_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K55, K5A, K5B, K5C, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, XXX, XXX, XXX }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, XXX, K4F, XXX }, \
+ { K50, K51, K52, XXX, XXX, K55, XXX, XXX, XXX, XXX, K5A, K5B, K5C, XXX, K5E, K5F, K5G }, \
+}
diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json
new file mode 100644
index 0000000000..9fbca5b36d
--- /dev/null
+++ b/keyboards/gopolar/gg86/info.json
@@ -0,0 +1,301 @@
+{
+ "keyboard_name": "GG86 Tai-Chi",
+ "manufacturer": "Gopolar",
+ "url": "",
+ "maintainer": "Gopolar",
+ "usb": {
+ "vid": "0x0007",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "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":"Print Screen", "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":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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":"\\| / ISO Hash", "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":1.25},
+ {"label":"ISO \\", "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":1.75},
+ {"label":"Shift", "x":14, "y":4.5},
+ {"label":"\u2191", "x":16.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.5},
+ {"label":"Win", "x":1.5, "y":5.5},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.5},
+ {"label":"Space", "x":4, "y":5.5, "w":7},
+ {"label":"Alt", "x":11, "y":5.5, "w":1.5},
+ {"label":"Fn", "x":12.5, "y":5.5},
+ {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5},
+ {"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_ansi_tsangan": {
+ "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":"Print Screen", "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":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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.5},
+ {"label":"Win", "x":1.5, "y":5.5},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.5},
+ {"label":"Space", "x":4, "y":5.5, "w":7},
+ {"label":"Alt", "x":11, "y":5.5, "w":1.5},
+ {"label":"Fn", "x":12.5, "y":5.5},
+ {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5},
+ {"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_tsangan": {
+ "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":"Print Screen", "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":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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":"ISO Hash", "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":"ISO \\", "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.5},
+ {"label":"Win", "x":1.5, "y":5.5},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.5},
+ {"label":"Space", "x":4, "y":5.5, "w":7},
+ {"label":"Alt", "x":11, "y":5.5, "w":1.5},
+ {"label":"Fn", "x":12.5, "y":5.5},
+ {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5},
+ {"label":"\u2190", "x":15.25, "y":5.5},
+ {"label":"\u2193", "x":16.25, "y":5.5},
+ {"label":"\u2192", "x":17.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/config.h b/keyboards/gopolar/gg86/keymaps/bongocat/config.h
new file mode 100644
index 0000000000..7255016531
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/config.h
@@ -0,0 +1,48 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/* Additional thing to reduce compiled size */
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+#define NO_ACTION_ONESHOT
+
+#ifdef RGB_MATRIX_ENABLE
+ /* RGB Matrix config */
+ #undef RGB_MATRIX_KEYPRESSES
+
+ /* RGB Matrix effect */
+ #undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #undef ENABLE_RGB_MATRIX_BREATHING
+ #undef ENABLE_RGB_MATRIX_BAND_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #undef ENABLE_RGB_MATRIX_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE
+ #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c b/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c
new file mode 100644
index 0000000000..de1046c5d3
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c
@@ -0,0 +1,226 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "oled/bongocat.h"
+
+#include <string.h>
+#include <math.h>
+
+#include <lib/lib8tion/lib8tion.h>
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+};
+
+enum user_rgb_mode {
+ RGB_MODE_ALL,
+ RGB_MODE_KEYLIGHT,
+ RGB_MODE_UNDERGLOW,
+ RGB_MODE_NONE,
+};
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t rgb_mode :8;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│Scr│Pse│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ↠│ ↓ │ → │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │ │ │ │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [_BASE] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUSE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │M_T│F13│F14│F15│ │F16│Rfh│Stp│ │ │ │ │ │Est│ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [_FN] = LAYOUT_all(
+ KC_SLEP, RGB_M_T, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, EEP_RST, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+};
+
+void keyboard_post_init_user(void) {
+ user_config.raw = eeconfig_read_user();
+ switch (user_config.rgb_mode) {
+ case RGB_MODE_ALL:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ break;
+ case RGB_MODE_KEYLIGHT:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_NONE:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_KEYLIGHT;
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_UNDERGLOW;
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_NONE;
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ user_config.rgb_mode = RGB_MODE_ALL;
+ }
+ break;
+ }
+ eeconfig_update_user(user_config.raw);
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ HSV hsv = rgb_matrix_config.hsv;
+ uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
+ hsv.h = time;
+ RGB rgb = hsv_to_rgb(hsv);
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ }
+ } else {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(25, 0, 0, 0);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(73, 0, 0, 0);
+ }
+ }
+}
+
+#ifdef OLED_ENABLE
+ bool oled_task_user(void) {
+ led_t led_usb_state = host_keyboard_led_state();
+
+ render_bongocat();
+ oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_write_P(PSTR("WPM:"), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
+ oled_set_cursor(17, 2);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_set_cursor(17, 3);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
+
+ return true;
+ }
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.c b/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.c
new file mode 100644
index 0000000000..e328efd24a
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.c
@@ -0,0 +1,378 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+// WPM-responsive animation stuff here
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 10 // below this wpm value your animation will idle
+// #define PREP_FRAMES 1 // uncomment if >1
+#define TAP_FRAMES 2
+#define ANIM_WPM_LOWER 20 // above this wpm value typing animation to trigger
+#define ANIM_FRAME_DURATION_MAX 450 // longest animation duration in ms
+#define ANIM_FRAME_DURATION_MIN 100 // shortest animation duration in ms
+#define IDLE_FRAME_DURATION 300 // how long each frame lasts in ms
+#define ANIM_FRAME_RATIO 2.5 // how aggressively animation speeds up with wpm
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
+#define MAX(x, y) (((x) > (y)) ? (x) : (y)) // Math.max macro
+
+uint32_t curr_anim_duration = 0; // variable animation duration
+uint32_t bongo_timer = 0;
+uint32_t bongo_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+// Code containing pixel art, contains:
+// 5 idle frames, 1 prep frame, and 2 tap frames
+
+// To make your own pixel art:
+// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
+// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
+// replace numbers in brackets with your own
+// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
+void render_bongocat(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
+ {
+ //Idle 1 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 2 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
+ 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 3 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
+ 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 4 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Idle 5 - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ static const char PROGMEM prep[][ANIM_SIZE] = {
+ {
+ //Prepare - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
+ 0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
+ 0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
+ 0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
+ 0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
+ 0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {
+ //Tap left - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
+ 0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
+ 0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x3f, 0x1f, 0x07, 0x83, 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
+ 0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
+ 0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x11, 0x11, 0x21, 0x23, 0x23, 0x21, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ {
+ //Tap right - 128x32
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
+ 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0xa0, 0xa0, 0x20, 0x20, 0x40, 0x46, 0x4f, 0x5f, 0x9f, 0x9c, 0x90, 0x80,
+ 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
+ 0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x0f, 0x8f, 0xc7, 0xe3, 0x31, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
+ 0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
+ 0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
+ 0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
+ 0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
+ 0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
+ 0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ },
+ };
+
+ // assumes 1 frame prep stage
+ void animation_phase(void) {
+ if (get_current_wpm() <= IDLE_SPEED) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < ANIM_WPM_LOWER) {
+ // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
+ oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
+ }
+
+ if (get_current_wpm() >= ANIM_WPM_LOWER) {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+ }
+
+ // variable animation duration. Don't want this value to get near zero as it'll bug out.
+ curr_anim_duration = MAX(ANIM_FRAME_DURATION_MIN, ANIM_FRAME_DURATION_MAX - ANIM_FRAME_RATIO * get_current_wpm());
+
+ if (get_current_wpm() > ANIM_WPM_LOWER) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+
+ if (timer_elapsed32(bongo_timer) > curr_anim_duration) {
+ bongo_timer = timer_read32();
+ animation_phase();
+ }
+
+ bongo_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(bongo_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(bongo_timer) > IDLE_FRAME_DURATION) {
+ bongo_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.h b/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.h
new file mode 100644
index 0000000000..a7ec3c5028
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/oled/bongocat.h
@@ -0,0 +1,17 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+void render_bongocat(void);
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/readme.md b/keyboards/gopolar/gg86/keymaps/bongocat/readme.md
new file mode 100644
index 0000000000..632f9c67e2
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/readme.md
@@ -0,0 +1,3 @@
+# Keymap with VIA and Bongo Cat on OLED
+
+Keymap is default 87 qwerty, with TKL 7u-spacebar layout
diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk b/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk
new file mode 100644
index 0000000000..05f6cfd501
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk
@@ -0,0 +1,4 @@
+SRC += oled/bongocat.c
+
+VIA_ENABLE = yes
+WPM_ENABLE = yes
diff --git a/keyboards/gopolar/gg86/keymaps/default/keymap.c b/keyboards/gopolar/gg86/keymaps/default/keymap.c
new file mode 100644
index 0000000000..070858c958
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/default/keymap.c
@@ -0,0 +1,325 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "lib/wave.h"
+
+#include <string.h>
+#include <math.h>
+
+#include <lib/lib8tion/lib8tion.h>
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+// enum layer_names { };
+
+enum user_rgb_mode {
+ RGB_MODE_ALL,
+ RGB_MODE_KEYLIGHT,
+ RGB_MODE_UNDERGLOW,
+ RGB_MODE_NONE,
+};
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t rgb_mode :8;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│Scr│Pse│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ↠│ ↓ │ → │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │ │ │ │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUSE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │M_T│F13│F14│F15│ │F16│Rfh│Stp│ │ │ │ │ │Est│ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [1] = LAYOUT_all(
+ KC_SLEP, RGB_M_T, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, EEP_RST, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │F13│F14│F15│F16│ │Rfh│Stp│ │ │ │ │ │ │ │ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [2] = LAYOUT_all(
+ KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │F13│F14│F15│F16│ │Rfh│Stp│ │ │ │ │ │ │ │ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [3] = LAYOUT_all(
+ KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+};
+
+void keyboard_post_init_user(void) {
+ user_config.raw = eeconfig_read_user();
+ switch (user_config.rgb_mode) {
+ case RGB_MODE_ALL:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ break;
+ case RGB_MODE_KEYLIGHT:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_NONE:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_KEYLIGHT;
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_UNDERGLOW;
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_NONE;
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ user_config.rgb_mode = RGB_MODE_ALL;
+ }
+ break;
+ }
+ eeconfig_update_user(user_config.raw);
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ HSV hsv = rgb_matrix_config.hsv;
+ uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
+ hsv.h = time;
+ RGB rgb = hsv_to_rgb(hsv);
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ }
+ } else {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(25, 0, 0, 0);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(73, 0, 0, 0);
+ }
+ }
+}
+
+#ifdef OLED_ENABLE
+ static void render_layer_info(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("QWERTY "), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undefined "), false);
+ }
+ }
+
+ static void render_layer_number(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("0"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("1"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("2"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("3"), false);
+ break;
+ default:
+ oled_write_P(PSTR("X"), false);
+ }
+ }
+
+ bool oled_task_user(void) {
+ led_t led_usb_state = host_keyboard_led_state();
+
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLK ") : PSTR("----- "), false);
+ oled_write_P(PSTR(" GOPOLAR "), false);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR(" SCRLK") : PSTR(" -----"), false);
+
+ // sleep if it has been long enough since we last got a char
+ if (timer_elapsed32(wave_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ oled_on();
+ }
+ // time for the next frame?
+ if (timer_elapsed(wave_timer) > FRAME_TIMEOUT) {
+ wave_timer = timer_read();
+ render_frame();
+ }
+
+ oled_set_cursor(0, 3);
+ render_layer_info();
+ oled_write_P(PSTR("Layer: "), false);
+ render_layer_number();
+
+ return true;
+ }
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/config.h b/keyboards/gopolar/gg86/keymaps/horrortroll/config.h
new file mode 100644
index 0000000000..246f36bb94
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/config.h
@@ -0,0 +1,52 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+#define NO_ACTION_ONESHOT
+
+#ifdef RGB_MATRIX_ENABLE
+ /* RGB Matrix effect */
+ #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #undef ENABLE_RGB_MATRIX_BAND_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #undef ENABLE_RGB_MATRIX_DUAL_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #undef ENABLE_RGB_MATRIX_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE
+ #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+ #undef ENABLE_RGB_MATRIX_SPLASH
+ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+ #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c
new file mode 100644
index 0000000000..f5e398ecbe
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c
@@ -0,0 +1,88 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_stuff.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│Scr│Pse│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ↠│ ↓ │ → │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │ │ │ │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [_BASE] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUSE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Rst│ │MeP│VoD│VoU│Mut│ │Stp│Prv│Ply│Nxt│ │Mai│Hom│Cal│Sch│ │Rod│Mod│Tog│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │C_E│ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │1Hd│1Hi│1Sd│1Si│1Vd│1Vi│ │ │ │ │ │ │ │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │2Hd│2Hi│2Sd│2Si│2Vd│2Vi│ │ │ │ │ │ │
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │Pre│Ref│Flp│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ Fn│ │ │Hud│Vad│Hui│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [_FN] = LAYOUT_all(
+ QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______,
+ _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______,
+ _______, _______, G_PRE, REF_G, G_FLIP, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI
+ ),
+};
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h
new file mode 100644
index 0000000000..ad7a3238ce
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h
@@ -0,0 +1,304 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "oled/oled_stuff.h"
+#include <string.h>
+#include <math.h>
+
+#include <lib/lib8tion/lib8tion.h>
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+ _FN,
+};
+
+// For CUSTOM_GRADIENT
+HSV gradient_0 = {205, 250, 255};
+HSV gradient_100 = {140, 215, 125};
+bool reflected_gradient = false;
+uint8_t gp_i = 0;
+
+typedef struct {
+ HSV gradient_0;
+ HSV gradient_1;
+ bool reflected;
+} CUSTOM_PRESETS;
+
+enum user_rgb_mode {
+ RGB_MODE_ALL,
+ RGB_MODE_KEYLIGHT,
+ RGB_MODE_UNDERGLOW,
+ RGB_MODE_NONE,
+};
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t rgb_mode :8;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+enum layer_keycodes {
+ //Custom Gradient control keycode
+ G1_HUI = SAFE_RANGE, //Custom gradient color 1 hue increase
+ G1_HUD, //Custom gradient color 1 hue decrease
+ G1_SAI, //Custom gradient color 1 saturation increase
+ G1_SAD, //Custom gradient color 1 saturation decrease
+ G1_VAI, //Custom gradient color 1 value increase
+ G1_VAD, //Custom gradient color 1 value decrease
+ G2_HUI, //Custom gradient color 2 hue increase
+ G2_HUD, //Custom gradient color 2 hue decrease
+ G2_SAI, //Custom gradient color 2 saturation increase
+ G2_SAD, //Custom gradient color 2 saturation decrease
+ G2_VAI, //Custom gradient color 2 value increase
+ G2_VAD, //Custom gradient color 2 value decrease
+ G_PRE, //Gradient presets
+ REF_G, //Toggle between linear and reflected gradient
+ G_FLIP, //Flip the gradient colors
+
+ //Custom led effect keycode
+ RGB_C_E, //Cycle user effect
+};
+
+void keyboard_post_init_user(void) {
+ user_config.raw = eeconfig_read_user();
+ switch (user_config.rgb_mode) {
+ case RGB_MODE_ALL:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ break;
+ case RGB_MODE_KEYLIGHT:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_NONE:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ process_record_user_oled(keycode, record);
+
+ uint8_t color_adj_step = 5;
+
+ CUSTOM_PRESETS gradient_presets[] = {
+ {{41 , 255, 255}, {233, 245, 255}, false },
+ {{45 , 245, 155}, {160, 255, 80}, false },
+ {{173, 245, 40}, {41 , 255, 205}, true },
+ {{32 , 255, 165}, {217, 185, 70}, false },
+ {{240, 255, 145}, {115, 255, 245}, true },
+ {{118, 255, 255}, {242, 255, 255}, false },
+ {{212, 0 , 0}, {223, 235, 165}, true },
+ {{205, 250, 255}, {140, 215, 125}, false },
+ };
+
+ uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]);
+
+ switch (keycode) {
+ case G1_HUI:
+ if (record->event.pressed) {
+ gradient_0.h += color_adj_step;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G1_HUD:
+ if (record->event.pressed) {
+ gradient_0.h -= color_adj_step;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G1_SAI:
+ if (record->event.pressed) {
+ gradient_0.s = (gradient_0.s + color_adj_step * 2 <= 255) ? gradient_0.s + color_adj_step * 2 : 255;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G1_SAD:
+ if (record->event.pressed) {
+ gradient_0.s = (gradient_0.s - color_adj_step * 2 >= 0) ? gradient_0.s - color_adj_step * 2 : 0;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G1_VAI:
+ if (record->event.pressed) {
+ gradient_0.v = (gradient_0.v + color_adj_step * 2 <= 255) ? gradient_0.v + color_adj_step * 2 : 255;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G1_VAD:
+ if (record->event.pressed) {
+ gradient_0.v = (gradient_0.v - color_adj_step * 2 >= 0) ? gradient_0.v - color_adj_step * 2 : 0;
+ dprintf("Gradient 0 HSV: %d, %d, %d\n", gradient_0.h, gradient_0.s, gradient_0.v);
+ }
+ return false;
+ case G2_HUI:
+ if (record->event.pressed) {
+ gradient_100.h += color_adj_step;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G2_HUD:
+ if (record->event.pressed) {
+ gradient_100.h -= color_adj_step;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G2_SAI:
+ if (record->event.pressed) {
+ gradient_100.s = (gradient_100.s + color_adj_step * 2 <= 255) ? gradient_100.s + color_adj_step * 2 : 255;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G2_SAD:
+ if (record->event.pressed) {
+ gradient_100.s = (gradient_100.s - color_adj_step * 2 >= 0) ? gradient_100.s - color_adj_step * 2 : 0;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G2_VAI:
+ if (record->event.pressed) {
+ gradient_100.v = (gradient_100.v + color_adj_step * 2 <= 255) ? gradient_100.v + color_adj_step * 2 : 255;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G2_VAD:
+ if (record->event.pressed) {
+ gradient_100.v = (gradient_100.v - color_adj_step * 2 >= 0) ? gradient_100.v - color_adj_step * 2 : 0;
+ dprintf("Gradient 100 HSV: %d, %d, %d\n", gradient_100.h, gradient_100.s, gradient_100.v);
+ }
+ return false;
+ case G_PRE:
+ if (record->event.pressed) {
+ gp_i = (gp_i + gp_length ) % gp_length;
+
+ gradient_0 = gradient_presets[gp_i].gradient_0;
+ gradient_100 = gradient_presets[gp_i].gradient_1;
+ reflected_gradient = gradient_presets[gp_i].reflected;
+
+ gp_i += 1;
+ }
+ return false;
+ case REF_G:
+ if (record->event.pressed) {
+ reflected_gradient = !reflected_gradient;
+ }
+ return false;
+ case G_FLIP:
+ if (record->event.pressed) {
+ HSV temp_color = gradient_0;
+ gradient_0 = gradient_100;
+ gradient_100 = temp_color;
+ }
+ return false;
+ case RGB_C_E:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_mode()) {
+ case RGB_MATRIX_CUSTOM_CUSTOM_GRADIENT:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_COOL_DIAGONAL);
+ return false;
+ case RGB_MATRIX_CUSTOM_COOL_DIAGONAL:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_FLOWER_BLOOMING);
+ return false;
+ case RGB_MATRIX_CUSTOM_FLOWER_BLOOMING:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_RAINBOW_REACTIVE_SIMPLE);
+ return false;
+ case RGB_MATRIX_CUSTOM_RAINBOW_REACTIVE_SIMPLE:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_KITT);
+ return false;
+ case RGB_MATRIX_CUSTOM_KITT:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_RANDOM_BREATH_RAINBOW);
+ return false;
+ default:
+ rgb_matrix_mode(RGB_MATRIX_CUSTOM_CUSTOM_GRADIENT);
+ return false;
+ }
+ }
+ return false;
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_KEYLIGHT;
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_UNDERGLOW;
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_NONE;
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ user_config.rgb_mode = RGB_MODE_ALL;
+ }
+ break;
+ }
+ eeconfig_update_user(user_config.raw);
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ HSV hsv = rgb_matrix_config.hsv;
+ uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
+ hsv.h = time;
+ RGB rgb = hsv_to_rgb(hsv);
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ }
+ } else {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(25, 0, 0, 0);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(73, 0, 0, 0);
+ }
+ }
+}
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/cool_diagonal.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/cool_diagonal.c
new file mode 100644
index 0000000000..2c518a5431
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/cool_diagonal.c
@@ -0,0 +1,22 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+static HSV COOL_DIAGONAL_math(HSV hsv, uint8_t i, uint8_t time) {
+ hsv.h = (g_led_config.point[i].x / 4) - g_led_config.point[i].y - time;
+ return hsv;
+}
+
+bool COOL_DIAGONAL(effect_params_t* params) { return effect_runner_i(params, &COOL_DIAGONAL_math); } \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c
new file mode 100644
index 0000000000..fcedf777eb
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c
@@ -0,0 +1,74 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+extern HSV gradient_0;
+extern HSV gradient_100;
+extern bool reflected_gradient;
+
+static HSV INTERPOLATE_HSV(float step, HSV gradient_0, HSV gradient_100) {
+ uint8_t cw, ccw;
+ HSV color;
+
+ cw = (gradient_0.h >= gradient_100.h) ? 255 + gradient_100.h - gradient_0.h : gradient_100.h - gradient_0.h; // Hue range is 0 to 255.
+ ccw = (gradient_0.h >= gradient_100.h) ? gradient_0.h - gradient_100.h : 255 + gradient_0.h - gradient_100.h;
+
+ if( cw < ccw ) { // going clockwise
+ color.h = gradient_0.h + (uint8_t)(step * cw);
+ } else { // Going counter clockwise
+ color.h = gradient_0.h - (uint8_t)(step * ccw);
+ }
+
+ color.s = gradient_0.s + step * (gradient_100.s - gradient_0.s);
+
+ // Scale V with global RGB Matrix's V, so users can still control overall brightness with RGB_VAI & RGB_VAD0
+ color.v = round((gradient_0.v + step * (gradient_100.v - gradient_0.v)) * ((float)rgb_matrix_config.hsv.v / 255));
+
+ return color;
+}
+
+static HSV CUSTOM_GRADIENT_math(uint8_t led_x, uint8_t min_x, uint8_t max_x) {
+ float step = (float)led_x / (max_x - min_x);
+ float mid_gradient_pos = 0.5;
+
+ if( reflected_gradient ) {
+ if( step <= mid_gradient_pos ) {
+ return INTERPOLATE_HSV(step * (1/mid_gradient_pos), gradient_0, gradient_100);
+ } else {
+ return INTERPOLATE_HSV((step - mid_gradient_pos) * (1/(1-mid_gradient_pos)), gradient_100, gradient_0);
+ }
+
+ } else {
+ return INTERPOLATE_HSV(step, gradient_0, gradient_100);
+ }
+}
+
+static bool CUSTOM_GRADIENT(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ uint8_t min_x = 0; // X coordinate of the left-most LED
+ uint8_t max_x = 224; // X coordinate of the right-most LED
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+
+ HSV hsv_orig = CUSTOM_GRADIENT_math(g_led_config.point[i].x, min_x, max_x);
+ RGB rgb = hsv_to_rgb(hsv_orig);
+
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+
+ return led_max < DRIVER_LED_TOTAL;
+} \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.c
new file mode 100644
index 0000000000..add83149cc
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.c
@@ -0,0 +1,27 @@
+/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "led/flower_blooming/flower_blooming.h"
+
+static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) {
+ if (g_led_config.point[i].y > k_rgb_matrix_center.y)
+ hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time;
+ else
+ hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 - time;
+ return hsv;
+}
+
+bool FLOWER_BLOOMING(effect_params_t* params) { return effect_runner_bloom(params, &FLOWER_BLOOMING_math); }
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.h b/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.h
new file mode 100644
index 0000000000..941dab975a
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/flower_blooming/flower_blooming.h
@@ -0,0 +1,20 @@
+#pragma once
+
+typedef HSV (*flower_blooming_f)(HSV hsv, uint8_t i, uint8_t time);
+
+bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 10, 1));
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+ if (g_led_config.point[i].y > k_rgb_matrix_center.y) {
+ RGB bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time));
+ rgb_matrix_set_color(i, bgr.b, bgr.g, bgr.r);
+ } else {
+ RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time));
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ }
+ return rgb_matrix_check_finished_leds(led_max);
+}
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/kitt.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/kitt.c
new file mode 100644
index 0000000000..bfc32ce040
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/kitt.c
@@ -0,0 +1,68 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// variable for startup animation
+bool BASE_EFFECT_NOT_STARTED_YET = true;
+uint8_t base_effect_startup_counter = 255;
+
+uint8_t led_count = 11;
+uint8_t led_first = 41;
+
+static uint8_t time_to_led(uint8_t time, uint8_t led_behind) {
+ uint16_t led_time = led_count * time;
+ uint16_t step = ((2 * led_count + (led_time / 128)) - led_behind) % (2 * led_count);
+ uint8_t led;
+
+ if (step < led_count) {
+ led = step;
+ } else {
+ led = led_count - 1 - (step - led_count);
+ }
+
+ return led;
+}
+
+static HSV KITT_math(HSV hsv, uint8_t i, uint8_t time) {
+
+ // reset base effect startup
+ if (i == 0) {
+ BASE_EFFECT_NOT_STARTED_YET = true;
+ }
+
+ hsv.h = 0;
+ hsv.s = 255;
+
+ if (i >= led_first && i < led_first + led_count) {
+ uint8_t j = i - led_first;
+ if (j == time_to_led(time, 0)) {
+ hsv.v = hsv.v;
+ } else if (j == time_to_led(time, 1)) {
+ hsv.v = hsv.v/2;
+ } else if (j == time_to_led(time, 2)) {
+ hsv.v = hsv.v/4;
+ } else if (j == time_to_led(time, 3)) {
+ hsv.v = hsv.v/8;
+ } else {
+ hsv.v = 0;
+ }
+ } else {
+ hsv.v = 0;
+ }
+
+ return hsv;
+}
+
+bool KITT(effect_params_t* params) { return effect_runner_i(params, &KITT_math); } \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.c
new file mode 100644
index 0000000000..ce3fff8ec5
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.c
@@ -0,0 +1,25 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "led/rainbow_reactive_simple/rainbow_reactive_simple.h"
+
+static HSV RAINBOW_REACTIVE_SIMPLE_math(HSV hsv, uint8_t i, uint8_t time, uint16_t offset) {
+ hsv.h = g_led_config.point[i].x - time;
+ hsv.v = scale8(255 - offset, hsv.v);
+ return hsv;
+}
+
+bool RAINBOW_REACTIVE_SIMPLE(effect_params_t* params) { return effect_rainbow_reactive(params, &RAINBOW_REACTIVE_SIMPLE_math); } \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h
new file mode 100644
index 0000000000..5b610716e0
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h
@@ -0,0 +1,45 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+typedef HSV (*rainbow_reactive_f)(HSV hsv, uint8_t i, uint8_t time, uint16_t offset);
+
+bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_func) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 4);
+ uint16_t max_tick = 65535 / rgb_matrix_config.speed;
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+ uint16_t tick = max_tick;
+
+ // Reverse search to find most recent key hit
+ for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) {
+ if (g_last_hit_tracker.index[j] == i && g_last_hit_tracker.tick[j] < tick) {
+ tick = g_last_hit_tracker.tick[j];
+ break;
+ }
+ }
+
+ uint16_t offset = scale16by8(tick, rgb_matrix_config.speed);
+ RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time, offset));
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+
+ return led_max < DRIVER_LED_TOTAL;
+} \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c
new file mode 100644
index 0000000000..e5f399cdd3
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c
@@ -0,0 +1,55 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+static uint8_t offset[DRIVER_LED_TOTAL];
+
+static void doRandom_breath_rainbow(int i, effect_params_t* params) {
+ if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;
+ uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 6);
+
+ if (rand() * 50 == 1) {
+ if (rand() * 2 == 1) {
+ offset[i]++;
+ }
+ else {
+ offset[i]--;
+ }
+ }
+
+ //float val = (((float)sin8(time + offset[i]) / 256)/2.1) + .05;
+ HSV hsv = {0, 255, 255};
+ hsv.h = scale16by8(g_rgb_timer + offset[i], rgb_matrix_config.speed / 4) + (offset[i]*2);
+ hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
+ RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+}
+
+bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
+
+ if (!params->init) {
+ // Change one LED every tick, make sure speed is not 0
+ doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params);
+ return false;
+ }
+
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ doRandom_breath_rainbow(i, params);
+ }
+
+ return led_max < DRIVER_LED_TOTAL;
+} \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h b/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h
new file mode 100644
index 0000000000..d67e5a18c5
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h
@@ -0,0 +1,68 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// OLED animation
+#include "lib/wave.h"
+
+#ifdef OLED_ENABLE
+ static void render_layer_info(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR(" QWERTY "), false);
+ break;
+ case 1:
+ oled_write_P(PSTR(" Function "), false);
+ break;
+ default:
+ oled_write_P(PSTR(" Undefined "), false);
+ }
+ }
+
+ static void render_layer_number(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("0"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("1"), false);
+ break;
+ default:
+ oled_write_P(PSTR("X"), false);
+ }
+ }
+
+ bool oled_task_user(void) {
+ render_layer_info();
+
+ // sleep if it has been long enough since we last got a char
+ if (timer_elapsed32(wave_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ oled_on();
+ }
+ // time for the next frame?
+ if (timer_elapsed(wave_timer) > FRAME_TIMEOUT) {
+ wave_timer = timer_read();
+ render_frame();
+ }
+
+ oled_set_cursor(0, 3);
+ oled_write_P(PSTR(" Layer: "), false);
+ render_layer_number();
+
+ return true;
+ }
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/readme.md b/keyboards/gopolar/gg86/keymaps/horrortroll/readme.md
new file mode 100644
index 0000000000..363330e98f
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/readme.md
@@ -0,0 +1,12 @@
+# My personal keymap with VIA and custom LED / OLED
+
+Keymap is default 87 qwerty, with TKL 7u-spacebar layout
+
+It have new LED effect:
+
+- Custom gradient (ported from SirTimmyTimbit code [https://github.com/SirTimmyTimbit/customizable-gradient-effect-for-drop-alt])
+- Cool diagonal (ported from pleasuretek code [https://github.com/pleasuretek/qmk_firmware])
+- Flower Blooming
+- Rainbow reactive simple
+- Knight Rider (ported from jumper149 code [https://github.com/jumper149/qmk_firmware/blob/jumper149/keyboards/dztech/dz65rgb/keymaps/jumper149/])
+- Random breath rainbow (based from daed code [https://github.com/daed/qmk_firmware/blob/master/keyboards/massdrop/alt/keymaps/daed] and modify by me)
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/rgb_matrix_user.inc b/keyboards/gopolar/gg86/keymaps/horrortroll/rgb_matrix_user.inc
new file mode 100644
index 0000000000..7a31991027
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/rgb_matrix_user.inc
@@ -0,0 +1,17 @@
+RGB_MATRIX_EFFECT(CUSTOM_GRADIENT)
+RGB_MATRIX_EFFECT(COOL_DIAGONAL)
+RGB_MATRIX_EFFECT(FLOWER_BLOOMING)
+RGB_MATRIX_EFFECT(RAINBOW_REACTIVE_SIMPLE)
+RGB_MATRIX_EFFECT(KITT)
+RGB_MATRIX_EFFECT(RANDOM_BREATH_RAINBOW)
+
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+#include "led/custom_gradient.c"
+#include "led/cool_diagonal.c"
+#include "led/flower_blooming/flower_blooming.c"
+#include "led/rainbow_reactive_simple/rainbow_reactive_simple.c"
+#include "led/kitt.c"
+#include "led/random_breath_rainbow.c"
+
+#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/rules.mk b/keyboards/gopolar/gg86/keymaps/horrortroll/rules.mk
new file mode 100644
index 0000000000..d475530c87
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/horrortroll/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+
+RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/gopolar/gg86/keymaps/via/keymap.c b/keyboards/gopolar/gg86/keymaps/via/keymap.c
new file mode 100644
index 0000000000..070858c958
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/via/keymap.c
@@ -0,0 +1,325 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// OLED animation
+#include "lib/wave.h"
+
+#include <string.h>
+#include <math.h>
+
+#include <lib/lib8tion/lib8tion.h>
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+// enum layer_names { };
+
+enum user_rgb_mode {
+ RGB_MODE_ALL,
+ RGB_MODE_KEYLIGHT,
+ RGB_MODE_UNDERGLOW,
+ RGB_MODE_NONE,
+};
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t rgb_mode :8;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+// enum layer_keycodes { };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│Scr│Pse│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ↠│ ↓ │ → │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │ │ │ │
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUSE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │M_T│F13│F14│F15│ │F16│Rfh│Stp│ │ │ │ │ │Est│ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [1] = LAYOUT_all(
+ KC_SLEP, RGB_M_T, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, EEP_RST, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │F13│F14│F15│F16│ │Rfh│Stp│ │ │ │ │ │ │ │ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [2] = LAYOUT_all(
+ KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+/*
+ ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ │Slp│ │F13│F14│F15│F16│ │Rfh│Stp│ │ │ │ │ │ │ │ │ │VoD│VoU│
+ └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│
+ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│
+ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│
+ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│
+ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───â”
+ │ │ │ │ │ │ │ │ │Rod│Vad│Mod│
+ └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+*/
+ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ [3] = LAYOUT_all(
+ KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+};
+
+void keyboard_post_init_user(void) {
+ user_config.raw = eeconfig_read_user();
+ switch (user_config.rgb_mode) {
+ case RGB_MODE_ALL:
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ break;
+ case RGB_MODE_KEYLIGHT:
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_UNDERGLOW:
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ case RGB_MODE_NONE:
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_KEYLIGHT;
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_UNDERGLOW;
+ }
+ break;
+ case (LED_FLAG_UNDERGLOW): {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ user_config.rgb_mode = RGB_MODE_NONE;
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ user_config.rgb_mode = RGB_MODE_ALL;
+ }
+ break;
+ }
+ eeconfig_update_user(user_config.raw);
+ }
+ return false;
+ }
+
+ return true;
+}
+
+void rgb_matrix_indicators_user(void) {
+ HSV hsv = rgb_matrix_config.hsv;
+ uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
+ hsv.h = time;
+ RGB rgb = hsv_to_rgb(hsv);
+
+ if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ }
+ } else {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(25, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(25, 0, 0, 0);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(73, rgb.r, rgb.g, rgb.b);
+ } else {
+ rgb_matrix_set_color(73, 0, 0, 0);
+ }
+ }
+}
+
+#ifdef OLED_ENABLE
+ static void render_layer_info(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("QWERTY "), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Function "), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undefined "), false);
+ }
+ }
+
+ static void render_layer_number(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("0"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("1"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("2"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("3"), false);
+ break;
+ default:
+ oled_write_P(PSTR("X"), false);
+ }
+ }
+
+ bool oled_task_user(void) {
+ led_t led_usb_state = host_keyboard_led_state();
+
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLK ") : PSTR("----- "), false);
+ oled_write_P(PSTR(" GOPOLAR "), false);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR(" SCRLK") : PSTR(" -----"), false);
+
+ // sleep if it has been long enough since we last got a char
+ if (timer_elapsed32(wave_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ oled_on();
+ }
+ // time for the next frame?
+ if (timer_elapsed(wave_timer) > FRAME_TIMEOUT) {
+ wave_timer = timer_read();
+ render_frame();
+ }
+
+ oled_set_cursor(0, 3);
+ render_layer_info();
+ oled_write_P(PSTR("Layer: "), false);
+ render_layer_number();
+
+ return true;
+ }
+#endif
diff --git a/keyboards/gopolar/gg86/keymaps/via/rules.mk b/keyboards/gopolar/gg86/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gopolar/gg86/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gopolar/gg86/lib/glcdfont.c b/keyboards/gopolar/gg86/lib/glcdfont.c
new file mode 100644
index 0000000000..6b2294ea58
--- /dev/null
+++ b/keyboards/gopolar/gg86/lib/glcdfont.c
@@ -0,0 +1,249 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
+// See gfxfont.h for newer custom bitmap font info.
+
+#include "progmem.h"
+
+// Standard ASCII 5x7 font
+const unsigned char font[] PROGMEM = {
+ 0x07, 0x08, 0x7F, 0x08, 0x07, 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,
+ 0x2A, 0x1C, 0x77, 0x1C, 0x2A, 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, 0x3E, 0x04, 0x08, 0x00,
+ 0x08, 0x10, 0x3E, 0x10, 0x08, 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,
+ 0x41, 0x22, 0x14, 0x08, 0x00, 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, 0x38, 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,
+ 0x10, 0x38, 0x10, 0x10, 0x1C, 0x00,
+ 0x0C, 0x7A, 0x41, 0x7A, 0x0C, 0x00,
+ 0x18, 0x2F, 0x41, 0x2F, 0x18, 0x00,
+ 0x22, 0x72, 0x22, 0x27, 0x22, 0x00,
+ 0x08, 0x1C, 0x08, 0x08, 0x08, 0x00,
+ 0x08, 0x08, 0x38, 0x20, 0x28, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2A, 0x2A, 0x2A, 0x00, 0x00,
+ 0x4E, 0x46, 0x4A, 0x50, 0x2F, 0x00,
+ 0x3E, 0x45, 0x55, 0x51, 0x3E, 0x00,
+ 0x48, 0x50, 0x7E, 0x50, 0x48, 0x00,
+ 0x3E, 0x49, 0x71, 0x49, 0x3E, 0x00,
+ 0x10, 0x22, 0x4F, 0x20, 0x10, 0x00,
+ 0x0E, 0x06, 0x0A, 0x10, 0x20, 0x00,
+ 0x20, 0x10, 0x0A, 0x06, 0x0E, 0x00,
+ 0x08, 0x08, 0x08, 0x1C, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 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,
+ 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
+ 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 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,
+ 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
+ 0x0F, 0x7F, 0x0F, 0x00, 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, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+}; \ No newline at end of file
diff --git a/keyboards/gopolar/gg86/lib/logo.c b/keyboards/gopolar/gg86/lib/logo.c
new file mode 100644
index 0000000000..3db3acdac1
--- /dev/null
+++ b/keyboards/gopolar/gg86/lib/logo.c
@@ -0,0 +1,60 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+void render_logo(void) {
+ static const char PROGMEM gopolar[][ANIM_SIZE] = {
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x78, 0x78,
+ 0x38, 0x3c, 0x3c, 0x3c, 0x3c, 0x38, 0xf8, 0xf8, 0xf8, 0xf0, 0x78, 0x3c, 0x1e, 0x0f, 0x07, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0,
+ 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfe, 0xff, 0xff, 0x0f, 0x07, 0x01, 0x00, 0xe0, 0xf0, 0xf8,
+ 0xf8, 0xfc, 0xfc, 0x3c, 0x1e, 0x8f, 0xc7, 0xe3, 0xe1, 0x00, 0x00, 0x07, 0x1f, 0xff, 0xff, 0xfc,
+ 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x0f, 0x03, 0x01, 0x01, 0x00, 0xe0, 0xe0,
+ 0xe0, 0xe0, 0xe1, 0xe1, 0xe3, 0xe7, 0xe7, 0xe6, 0x00, 0x80, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38,
+ 0x38, 0x70, 0xf0, 0xe0, 0x80, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70,
+ 0xf0, 0xe0, 0xc0, 0x00, 0x80, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x70, 0xf0, 0xe0, 0x80,
+ 0x00, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0xf0,
+ 0xe0, 0xc0, 0x00, 0xf8, 0xf8, 0xf8, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x7f, 0xff, 0xf8, 0x60, 0x00, 0x00, 0x07, 0x0f, 0x1f,
+ 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x80, 0xc0, 0xe0, 0xf8, 0xff, 0x7f, 0x3f,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x3c, 0x38, 0x38, 0x70, 0x70, 0x70,
+ 0x70, 0x70, 0x38, 0x38, 0x3c, 0x1f, 0x0f, 0x07, 0x00, 0x07, 0x1f, 0x3f, 0x38, 0x70, 0x70, 0x70,
+ 0x70, 0x38, 0x3f, 0x1f, 0x07, 0x00, 0xff, 0xff, 0xff, 0x00, 0x60, 0x60, 0x60, 0x60, 0x70, 0x78,
+ 0x3f, 0x1f, 0x0f, 0x00, 0x07, 0x1f, 0x3f, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0x3f, 0x1f, 0x07,
+ 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x0f, 0x3f, 0x7f, 0x78, 0x70, 0x60, 0x60, 0x60, 0x60, 0x00, 0x7f,
+ 0x7f, 0x7f, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x78, 0x3c, 0x1e, 0x0f, 0x0f, 0x1e, 0x1e,
+ 0x1e, 0x1e, 0x1c, 0x1c, 0x1e, 0x1e, 0x1e, 0x1e, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
+ };
+
+ oled_write_raw_P(gopolar[0], ANIM_SIZE);
+}
diff --git a/keyboards/gopolar/gg86/lib/logo.h b/keyboards/gopolar/gg86/lib/logo.h
new file mode 100644
index 0000000000..08ab8ea529
--- /dev/null
+++ b/keyboards/gopolar/gg86/lib/logo.h
@@ -0,0 +1,17 @@
+/* Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+void render_logo(void);
diff --git a/keyboards/gopolar/gg86/lib/wave.h b/keyboards/gopolar/gg86/lib/wave.h
new file mode 100644
index 0000000000..11a3198ab1
--- /dev/null
+++ b/keyboards/gopolar/gg86/lib/wave.h
@@ -0,0 +1,130 @@
+/* Copyright 2021 HorrorTroll <https://github.com/HorrorTroll>
+ * Copyright 2021 Gopolar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+extern const unsigned char font[] PROGMEM;
+
+#define ROW_1 OLED_DISPLAY_WIDTH
+#define ROW_2 (OLED_DISPLAY_WIDTH * 2)
+
+static uint32_t wave_sleep = 0;
+
+#define FRAME_TIMEOUT (1000/28)
+
+static uint16_t wave_timer = 0;
+
+static uint8_t next_bar_val = 0;
+static uint8_t next_log_byte[OLED_FONT_WIDTH] = {0};
+static uint8_t line1[OLED_DISPLAY_WIDTH] = {0};
+static uint8_t line2[OLED_DISPLAY_WIDTH] = {0};
+
+static const uint8_t PROGMEM bar_lut[8] = {0, 16, 24, 56, 60, 124, 126, 255};
+
+#define BAR_KEY_WEIGHT 128
+#define BAR_KEY_DECAY_MAX 18
+
+static uint8_t bar_key_decay = BAR_KEY_DECAY_MAX;
+
+// clang-format off
+static const char PROGMEM code_to_name[0xFF] = {
+// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
+ 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x
+ '3', '4', '5', '6', '7', '8', '9', '0', 128, 136, 132, 131, 22, '-', '=', '[', // 2x
+ ']','\\', '#', ';','\'', '`', ',', '.', '/', 130, 7, 7, 7, 7, 7, 7, // 3x
+ 7, 7, 7, 7, 7, 7, 137, 138, 139, 140, 141, 30, 143, 142, 31, 26, // 4x
+ 27, 25, 24, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x
+ ' ', ' ', ' ', ' ','\\', 135, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx
+ 15, 129, 133, 4, 15, 129, 133, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx
+};
+// clang-format on
+
+void add_keylog(uint16_t keycode) {
+ if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
+ (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) ||
+ (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) {
+ keycode = keycode & 0xFF;
+ } else if (keycode > 0xFF) {
+ keycode = 0;
+ }
+
+ if (keycode < (sizeof(code_to_name) / sizeof(char))) {
+ char log_char = pgm_read_byte(&code_to_name[keycode]);
+
+ for (uint8_t j = 0; j < OLED_FONT_WIDTH; j++) {
+ const uint8_t glyph_line = pgm_read_byte(&font[log_char * OLED_FONT_WIDTH + j]);
+ next_log_byte[j] = glyph_line;
+ }
+ }
+}
+
+bool process_record_user_oled(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ wave_sleep = timer_read32();
+ add_keylog(keycode);
+
+ uint8_t t = next_bar_val + BAR_KEY_WEIGHT;
+
+ if (t < next_bar_val) {
+ next_bar_val = 255;
+ } else {
+ next_bar_val = t;
+ }
+
+ bar_key_decay = BAR_KEY_DECAY_MAX;
+ }
+
+ return true;
+}
+
+void render_frame(void) {
+ // rotate line 1, and stick in the next byte of the next char,
+ // then rotate the next char buffer
+ memmove(line1+1, line1, OLED_DISPLAY_WIDTH - 1);
+ line1[0] = next_log_byte[OLED_FONT_WIDTH - 1];
+ memmove(next_log_byte+1, next_log_byte, OLED_FONT_WIDTH - 1);
+ next_log_byte[0] = 0;
+
+ // rotate line 2, sticking in the next display value
+ uint8_t disp_val = pgm_read_byte(&bar_lut[next_bar_val / 32]);
+ memmove(line2+1, line2, OLED_DISPLAY_WIDTH - 1);
+ line2[0] = disp_val;
+
+ // draw both bars
+ for (uint8_t i = 0; i < OLED_DISPLAY_WIDTH; i++) {
+ oled_write_raw_byte(line1[i], ROW_1 + i);
+ oled_write_raw_byte(line2[i], ROW_2 + i);
+ }
+
+ // decay the next bar value
+ if (next_bar_val > bar_key_decay) {
+ next_bar_val -= bar_key_decay;
+ } else {
+ next_bar_val = 0;
+ }
+
+ if (bar_key_decay > 1) {
+ bar_key_decay -= 1;
+ }
+}
diff --git a/keyboards/gopolar/gg86/readme.md b/keyboards/gopolar/gg86/readme.md
new file mode 100644
index 0000000000..169d7e1904
--- /dev/null
+++ b/keyboards/gopolar/gg86/readme.md
@@ -0,0 +1,24 @@
+# Gopolar GG86 Tai-Chi
+
+![GG86 Tai-Chi](https://i.imgur.com/SgXOZjt.png?2)
+
+A tenkeyless 86-key keyboard made by Gopolar, which controlled by an Atmega32u4 chipset. The keyboard features per-key RGB as well as underglow RGB, and an OLED screen for displaying useful information.
+
+* Keyboard Maintainer: Gopolar
+* Hardware Supported: Atmega32u4
+* Hardware Availability: [mecha.store](https://mecha.store/collections/gopolar/products/gopolar-gg86-tenkeyless-hotswappable-barebones-keyboard) / [AliExpress](https://www.aliexpress.com/item/1005003605711613.html)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gopolar/gg86:default
+
+Flashing example for this keyboard:
+
+ make gopolar/gg86:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
+* **Physical reset button**: Short press the button under Spacebar keycap to enter the Bootloader and flash the firmware
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/gopolar/gg86/rules.mk b/keyboards/gopolar/gg86/rules.mk
new file mode 100644
index 0000000000..0f0bdec2b6
--- /dev/null
+++ b/keyboards/gopolar/gg86/rules.mk
@@ -0,0 +1,32 @@
+SRC += lib/logo.c
+
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Additional thing to reduce compiled size
+LTO_ENABLE = yes
+NO_USB_STARTUP_CHECK = yes
+
+# RGB Matrix enabled
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+# OLED enabled
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 # OLED display
diff --git a/keyboards/gorthage_truck/config.h b/keyboards/gorthage_truck/config.h
index 46a928b9d6..2e1c9ea0a6 100644
--- a/keyboards/gorthage_truck/config.h
+++ b/keyboards/gorthage_truck/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB33F
-#define PRODUCT_ID 0x58E4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER s8erdude
-#define PRODUCT gorthage_truck
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B4, C7, B3, B7, D7}
#define MATRIX_COL_PINS { F0, F1, F4, F7, D6, E6, B0, B1, B2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gorthage_truck/info.json b/keyboards/gorthage_truck/info.json
index 8f344ee860..8b083b3229 100644
--- a/keyboards/gorthage_truck/info.json
+++ b/keyboards/gorthage_truck/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "gorthage_truck",
+ "manufacturer": "s8erdude",
"url": "https://github.com/jpuerto96",
"maintainer": "jpuerto96 (s8erdude)",
+ "usb": {
+ "vid": "0xB33F",
+ "pid": "0x58E4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_3u": {
"layout": [
diff --git a/keyboards/gowla/config.h b/keyboards/gowla/config.h
index fed13df57d..c0eef6ba5b 100644
--- a/keyboards/gowla/config.h
+++ b/keyboards/gowla/config.h
@@ -17,13 +17,6 @@ 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 0xE9B6
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Gowla
-#define PRODUCT Gowla Macro Board
-
/* Matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -31,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Pin-out */
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { B5, B4, E6 }
-#define UNUSED_PINS
/* ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/gowla/info.json b/keyboards/gowla/info.json
index c4926000bb..bf9f17e4ad 100644
--- a/keyboards/gowla/info.json
+++ b/keyboards/gowla/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Gowla Macro Pad",
+ "keyboard_name": "Gowla Macro Board",
+ "manufacturer": "Gowla",
"url": "https://github.com/SamGowland/Gowla-Macro-Board",
"maintainer": "Gowla",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xE9B6",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/gray_studio/apollo80/config.h b/keyboards/gray_studio/apollo80/config.h
index f00550fb65..89fc00653a 100644
--- a/keyboards/gray_studio/apollo80/config.h
+++ b/keyboards/gray_studio/apollo80/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x3001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Graystudio
-#define PRODUCT apollo80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/gray_studio/apollo80/info.json b/keyboards/gray_studio/apollo80/info.json
index c0e3efdb88..32d36d766d 100644
--- a/keyboards/gray_studio/apollo80/info.json
+++ b/keyboards/gray_studio/apollo80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "apollo 80",
+ "keyboard_name": "apollo80",
+ "manufacturer": "Graystudio",
"url": "https://graystudio.club/products/gb-space80-apollo",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x3001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gray_studio/cod67/config.h b/keyboards/gray_studio/cod67/config.h
index 466ddcebc0..178cc3dc13 100644
--- a/keyboards/gray_studio/cod67/config.h
+++ b/keyboards/gray_studio/cod67/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Graystudio
-#define PRODUCT COD67
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS { D7, F7, F6, F5, F4, F1, F0, E6, B0, B7, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gray_studio/cod67/info.json b/keyboards/gray_studio/cod67/info.json
index b95f5eb8e4..c75d4786a5 100644
--- a/keyboards/gray_studio/cod67/info.json
+++ b/keyboards/gray_studio/cod67/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "COD67",
+ "manufacturer": "Graystudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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":"Shift", "x":11.25, "y":3, "w":1.75}, {"x":13, "y":3}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4}, {"label":"Win", "x":1, "y":4}, {"label":"Alt", "x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4, "w":2}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
diff --git a/keyboards/gray_studio/cod67/keymaps/rys/keymap.c b/keyboards/gray_studio/cod67/keymaps/rys/keymap.c
index 9f1d069b73..06532a8460 100644
--- a/keyboards/gray_studio/cod67/keymaps/rys/keymap.c
+++ b/keyboards/gray_studio/cod67/keymaps/rys/keymap.c
@@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD,RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
_______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/gray_studio/cod67/keymaps/via/keymap.c b/keyboards/gray_studio/cod67/keymaps/via/keymap.c
index 12ffe56244..caca2febfa 100644
--- a/keyboards/gray_studio/cod67/keymaps/via/keymap.c
+++ b/keyboards/gray_studio/cod67/keymaps/via/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD,RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
_______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/gray_studio/hb85/config.h b/keyboards/gray_studio/hb85/config.h
index 0e1f0aff42..d1240e6b9c 100644
--- a/keyboards/gray_studio/hb85/config.h
+++ b/keyboards/gray_studio/hb85/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x2000
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Gray Studio
-#define PRODUCT HB85
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
diff --git a/keyboards/gray_studio/hb85/info.json b/keyboards/gray_studio/hb85/info.json
index a60047df9a..a2895c1ee6 100644
--- a/keyboards/gray_studio/hb85/info.json
+++ b/keyboards/gray_studio/hb85/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Gray Studio HB85",
+ "keyboard_name": "HB85",
+ "manufacturer": "Gray Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x2000",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":1.5, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "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}, {"x":14, "y":1.25}, {"x":15, "y":1.25}, {"x":16, "y":1.25}, {"x":17, "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, "y":2.25}, {"x":16, "y":2.25}, {"x":17, "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, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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, "y":4.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.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, "y":5.25}, {"x":14, "y":5.25}, {"x":15, "y":5.25}, {"x":16, "y":5.25}]
diff --git a/keyboards/gray_studio/hb85/keymaps/stt/keymap.c b/keyboards/gray_studio/hb85/keymaps/stt/keymap.c
index 5665e2f0e1..9a173d7885 100644
--- a/keyboards/gray_studio/hb85/keymaps/stt/keymap.c
+++ b/keyboards/gray_studio/hb85/keymaps/stt/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_stt(
- RESET, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ QK_BOOT, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
BL_TOGG, BL_STEP, BL_INC, BL_DEC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h
index 23bf1e7f94..d8b67b3c50 100644
--- a/keyboards/gray_studio/space65/config.h
+++ b/keyboards/gray_studio/space65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x3000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Graystudio
-#define PRODUCT Space65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, F0, F4, F1 }
#define MATRIX_COL_PINS { B0, B3, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/gray_studio/space65/info.json b/keyboards/gray_studio/space65/info.json
index a14df5ca8f..9d3e600307 100644
--- a/keyboards/gray_studio/space65/info.json
+++ b/keyboards/gray_studio/space65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Gray Studio Space65",
+ "keyboard_name": "Space65",
+ "manufacturer": "Graystudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x3000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gray_studio/space65/keymaps/billiams/keymap.c b/keyboards/gray_studio/space65/keymaps/billiams/keymap.c
index 9a0a004033..d83be466ed 100644
--- a/keyboards/gray_studio/space65/keymaps/billiams/keymap.c
+++ b/keyboards/gray_studio/space65/keymaps/billiams/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |------------------------------------------------------------------------------------------------+
- * | | | | | | | | | | | | | | | RESET |
+ * | | | | | | | | | | | | | | | QK_BOOT |
* |------------------------------------------------------------------------------------------------+
* | | | | | | | | | |
* `------------------------------------------------------------------------------------------------'
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, 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, QK_BOOT, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
),
};
diff --git a/keyboards/gray_studio/space65/keymaps/conor/keymap.c b/keyboards/gray_studio/space65/keymaps/conor/keymap.c
index 39bec338c5..1ae64e1114 100644
--- a/keyboards/gray_studio/space65/keymaps/conor/keymap.c
+++ b/keyboards/gray_studio/space65/keymaps/conor/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______
),
[_FN4] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c b/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c
index 2fa47f427b..943d5eae4c 100644
--- a/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c
+++ b/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNM] = LAYOUT(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_VOLU, KC_MFFD,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, RESET, KC_MRWD,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, QK_BOOT, KC_MRWD,
KC_TRNS, RGB_M_P, RGB_M_G, RGB_M_K, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS,
AG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/gray_studio/think65/hotswap/config.h b/keyboards/gray_studio/think65/hotswap/config.h
index b42e3cebdf..c9a8937436 100644
--- a/keyboards/gray_studio/think65/hotswap/config.h
+++ b/keyboards/gray_studio/think65/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x4001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Graystudio
-#define PRODUCT Think6.5° Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/gray_studio/think65/hotswap/info.json b/keyboards/gray_studio/think65/hotswap/info.json
index 4cbd8744b7..6de7e15c73 100644
--- a/keyboards/gray_studio/think65/hotswap/info.json
+++ b/keyboards/gray_studio/think65/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "THINK6.5",
+ "keyboard_name": "Think6.5° Hotswap",
+ "manufacturer": "Graystudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x4001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/gray_studio/think65/solder/config.h b/keyboards/gray_studio/think65/solder/config.h
index 32a1769a6b..e2fb811cf9 100644
--- a/keyboards/gray_studio/think65/solder/config.h
+++ b/keyboards/gray_studio/think65/solder/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x4000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Graystudio
-#define PRODUCT Think6.5°
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/gray_studio/think65/solder/info.json b/keyboards/gray_studio/think65/solder/info.json
index 5a7b7bea00..54c2cd2cc4 100644
--- a/keyboards/gray_studio/think65/solder/info.json
+++ b/keyboards/gray_studio/think65/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "THINK6.5",
+ "keyboard_name": "Think6.5°",
+ "manufacturer": "Graystudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x4000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c
index 5955401998..0286444fe1 100644
--- a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c
+++ b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_DELT, KC_VOLU, \
RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_SLPD, KC_VOLD, \
RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, MC_MSSN, MC_LHPD, _______, XXXXXXX, \
- _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, MUT_SFT, KC_PGUP, XXXXXXX, \
+ _______, RGB_LYR, RGB_THM, _______, _______, QK_BOOT, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, MUT_SFT, KC_PGUP, XXXXXXX, \
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
),
/* Blank Layout
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
index 4994fb3fa0..f9c171f1ae 100644
--- a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
+++ b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
@@ -221,7 +221,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
*/
[1] = LAYOUT_65_ansi_blocker(
- 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, _______, KVM_SW1,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KVM_SW1,
TOG_BDG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_HOME, KC_END, _______, KVM_SW2,
_______, CYC_LED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
diff --git a/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c
index 658798ed67..e0d9e00448 100644
--- a/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c
+++ b/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c
@@ -261,7 +261,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │    │    │    │                        │    │    │ │ESC│BDG│UGL│
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
- 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CYC_LED,
diff --git a/keyboards/grid600/press/config.h b/keyboards/grid600/press/config.h
index 0f6fe305cb..9800c38402 100644
--- a/keyboards/grid600/press/config.h
+++ b/keyboards/grid600/press/config.h
@@ -19,13 +19,6 @@ 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 0x7539
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Grid
-#define PRODUCT PRESS
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0 }
#define MATRIX_COL_PINS { F1, F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/grid600/press/info.json b/keyboards/grid600/press/info.json
index 7ee2a93d0a..e1ed976dc0 100644
--- a/keyboards/grid600/press/info.json
+++ b/keyboards/grid600/press/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Grid 600 Type 05 PRESS Cover Module",
+ "keyboard_name": "PRESS",
+ "manufacturer": "Grid",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7539",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}]
diff --git a/keyboards/gvalchca/ga150/config.h b/keyboards/gvalchca/ga150/config.h
index c815217702..0e54d66141 100644
--- a/keyboards/gvalchca/ga150/config.h
+++ b/keyboards/gvalchca/ga150/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6776
-#define PRODUCT_ID 0x6135
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Gvalchca
-#define PRODUCT GA15.0
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/gvalchca/ga150/info.json b/keyboards/gvalchca/ga150/info.json
index b81082d32f..b2c5208558 100644
--- a/keyboards/gvalchca/ga150/info.json
+++ b/keyboards/gvalchca/ga150/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GA15.0",
+ "manufacturer": "Gvalchca",
"url": "",
"maintainer": "Gvalchca",
+ "usb": {
+ "vid": "0x6776",
+ "pid": "0x6135",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/gvalchca/spaccboard/config.h b/keyboards/gvalchca/spaccboard/config.h
index 64b13bd9bc..518337ca94 100644
--- a/keyboards/gvalchca/spaccboard/config.h
+++ b/keyboards/gvalchca/spaccboard/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6776
-#define PRODUCT_ID 0x5342
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Gvalchca
-#define PRODUCT SpaccBoard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/gvalchca/spaccboard/info.json b/keyboards/gvalchca/spaccboard/info.json
index 654c3eb4ad..468dd972ab 100644
--- a/keyboards/gvalchca/spaccboard/info.json
+++ b/keyboards/gvalchca/spaccboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SpaccBoard",
+ "manufacturer": "Gvalchca",
"url": "https://keebmeup.com",
"maintainer": "Gvalchca",
+ "usb": {
+ "vid": "0x6776",
+ "pid": "0x5342",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/h0oni/deskpad/config.h b/keyboards/h0oni/deskpad/config.h
index c5c8054ca1..7d6e4605ad 100644
--- a/keyboards/h0oni/deskpad/config.h
+++ b/keyboards/h0oni/deskpad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D53
-#define PRODUCT_ID 0x4450 //hD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hydrogen
-#define PRODUCT Deskpad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D7, C6 }
#define MATRIX_COL_PINS { D0, D4, D1}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/h0oni/deskpad/info.json b/keyboards/h0oni/deskpad/info.json
index b5622d578f..d02a5b0012 100644
--- a/keyboards/h0oni/deskpad/info.json
+++ b/keyboards/h0oni/deskpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Deskpad",
+ "manufacturer": "Hydrogen",
"url": "",
"maintainer": "Hydrogen BD",
+ "usb": {
+ "vid": "0x4D53",
+ "pid": "0x4450",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"k1", "x":0, "y":0},
diff --git a/keyboards/h0oni/hotduck/config.h b/keyboards/h0oni/hotduck/config.h
index 9865f5d303..67cb2fdced 100644
--- a/keyboards/h0oni/hotduck/config.h
+++ b/keyboards/h0oni/hotduck/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D53
-#define PRODUCT_ID 0x6844 //hD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER h0oni
-#define PRODUCT hotDuck
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 10
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4, D0, D1, D2, D3}
-#define UNUSED_PINS
// #define LED_CAPS_LOCK_PIN B2
// #define LED_PIN_ON_STATE 0
diff --git a/keyboards/h0oni/hotduck/info.json b/keyboards/h0oni/hotduck/info.json
index 32e4ae7c2f..29f6471600 100644
--- a/keyboards/h0oni/hotduck/info.json
+++ b/keyboards/h0oni/hotduck/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hotDuck",
+ "manufacturer": "h0oni",
"url": "",
"maintainer": "h0oni",
+ "usb": {
+ "vid": "0x4D53",
+ "pid": "0x6844",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0},
diff --git a/keyboards/hadron/config.h b/keyboards/hadron/config.h
index 3281984d19..5fd8c70482 100644
--- a/keyboards/hadron/config.h
+++ b/keyboards/hadron/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFB30
-#define PRODUCT_ID 0x5F37
-#define MANUFACTURER ishtob
-#define PRODUCT Hadron Keyboard
-
//#define AUDIO_VOICES
//#define BACKLIGHT_PIN B7
diff --git a/keyboards/hadron/info.json b/keyboards/hadron/info.json
index 7fb7d41cf2..c5a19a2e14 100644
--- a/keyboards/hadron/info.json
+++ b/keyboards/hadron/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Hadron",
+ "manufacturer": "ishtob",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFB30",
+ "pid": "0x5F37"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K14", "x":4, "y":1}, {"label":"K15", "x":5, "y":1}, {"label":"K16", "x":6, "y":1}, {"label":"K17", "x":7, "y":1}, {"label":"K18", "x":8, "y":1}, {"label":"K19", "x":9, "y":1}, {"label":"K1A", "x":10, "y":1}, {"label":"K1B", "x":11, "y":1}, {"label":"K1C", "x":12, "y":1}, {"label":"K1D", "x":13, "y":1}, {"label":"K1E", "x":14, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K24", "x":4, "y":2}, {"label":"K25", "x":5, "y":2}, {"label":"K26", "x":6, "y":2}, {"label":"K27", "x":7, "y":2}, {"label":"K28", "x":8, "y":2}, {"label":"K29", "x":9, "y":2}, {"label":"K2A", "x":10, "y":2}, {"label":"K2B", "x":11, "y":2}, {"label":"K2C", "x":12, "y":2}, {"label":"K2D", "x":13, "y":2}, {"label":"K2E", "x":14, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}, {"label":"K34", "x":4, "y":3}, {"label":"K35", "x":5, "y":3}, {"label":"K36", "x":6, "y":3}, {"label":"K37", "x":7, "y":3}, {"label":"K38", "x":8, "y":3}, {"label":"K39", "x":9, "y":3}, {"label":"K3A", "x":10, "y":3}, {"label":"K3B", "x":11, "y":3}, {"label":"K3C", "x":12, "y":3}, {"label":"K3D", "x":13, "y":3}, {"label":"K3E", "x":14, "y":3}, {"label":"K40", "x":0, "y":4}, {"label":"K41", "x":1, "y":4}, {"label":"K42", "x":2, "y":4}, {"label":"K43", "x":3, "y":4}, {"label":"K44", "x":4, "y":4}, {"label":"K45", "x":5, "y":4}, {"label":"K46", "x":6, "y":4}, {"label":"K47", "x":7, "y":4}, {"label":"K48", "x":8, "y":4}, {"label":"K49", "x":9, "y":4}, {"label":"K4A", "x":10, "y":4}, {"label":"K4B", "x":11, "y":4}, {"label":"K4C", "x":12, "y":4}, {"label":"K4D", "x":13, "y":4}, {"label":"K4E", "x":14, "y":4}]
diff --git a/keyboards/hadron/ver2/config.h b/keyboards/hadron/ver2/config.h
index c992f7fe33..a19ae41ffc 100644
--- a/keyboards/hadron/ver2/config.h
+++ b/keyboards/hadron/ver2/config.h
@@ -16,9 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0002
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -26,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Hadron Ver0 PCB default pin-out */
#define MATRIX_ROW_PINS { D7, E6, B4, B5, B6 }
#define MATRIX_COL_PINS { F6, F7, D6, C7, F5, F4, F1, F0, D2, D3, D5, B3, B2, B1, B0 }
-#define UNUSED_PINS
// configure oled driver for the 128x32 oled
#define OLED_UPDATE_INTERVAL 33 // ~30fps
diff --git a/keyboards/hadron/ver2/info.json b/keyboards/hadron/ver2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/hadron/ver2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
index 74f95b4b75..64e7841d8e 100644
--- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
+++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
@@ -189,7 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, \
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, \
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_DEL, _______, _______, _______, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_DEC, BL_INC, BL_STEP, BL_TOGG, _______, _______, _______, \
diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h
index c61cc9a1e0..f130189b58 100644
--- a/keyboards/hadron/ver3/config.h
+++ b/keyboards/hadron/ver3/config.h
@@ -17,9 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
@@ -41,7 +38,6 @@
#define MATRIX_ROW_PINS { C15, C14, A10, A9, A8 }
#define MATRIX_COL_PINS { B8, B2, B10, A0, A1, A2, B0, A3, B1, A6, A7, B12, C13, B11, B9 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B13 }
#define ENCODERS_PAD_B { B14 }
diff --git a/keyboards/hadron/ver3/info.json b/keyboards/hadron/ver3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/hadron/ver3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
index c1bfe1f1c1..569921c773 100644
--- a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
+++ b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_wrapper(
_______, HPT_TOG, HPT_FBK, HPT_MODI, HPT_MODD, HPT_RST, _______, _______, _______, _______, _______, EEP_RST, \
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, \
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, \
_______, MAGIC_TOGGLE_NKRO, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, BL_DEC, BL_INC, BL_STEP, BL_TOGG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CK_RST, CK_DOWN, CK_UP, CK_TOGG\
diff --git a/keyboards/halfcliff/config.h b/keyboards/halfcliff/config.h
index 9cd03089ba..23b40935ee 100644
--- a/keyboards/halfcliff/config.h
+++ b/keyboards/halfcliff/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0335
-#define PRODUCT_ID 0x0021
-#define DEVICE_VER 0x0001
-#define MANUFACTURER n2
-#define PRODUCT halfcliff
-
/* key matrix size */
#define MATRIX_ROWS 20
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { F5, F6, F7, D7, B5, F5, F6, F7, D7, B5 }
#define MATRIX_COL_PINS { B4, E6, C6, B6, B2 }
-#define UNUSED_PINS
//#define NUMBER_OF_ENCODERS 1
#define ENCODERS_PAD_A { D4 }
diff --git a/keyboards/halfcliff/info.json b/keyboards/halfcliff/info.json
index d5b5d4e53f..fa189c1056 100644
--- a/keyboards/halfcliff/info.json
+++ b/keyboards/halfcliff/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "halfcliff",
+ "manufacturer": "n2",
"url": "https://github.com/N2-Sumikko",
"maintainer": "n2",
+ "usb": {
+ "vid": "0x0335",
+ "pid": "0x0021",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/halokeys/elemental75/chconf.h b/keyboards/halokeys/elemental75/chconf.h
new file mode 100644
index 0000000000..b780a0e77b
--- /dev/null
+++ b/keyboards/halokeys/elemental75/chconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Halokeys
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+// Need to override the SysTick timer to use TIM3 -- this is a 16-bit timer on F303
+// so we need to change resolution and frequency to match.
+#define CH_CFG_ST_RESOLUTION 16
+#define CH_CFG_ST_FREQUENCY 10000
+#include_next "chconf.h"
diff --git a/keyboards/halokeys/elemental75/config.h b/keyboards/halokeys/elemental75/config.h
new file mode 100644
index 0000000000..bdc70b7a42
--- /dev/null
+++ b/keyboards/halokeys/elemental75/config.h
@@ -0,0 +1,58 @@
+ /* Copyright 2022 Halokeys
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS { A2, A3, A4, A5, A6, A7 }
+#define MATRIX_COL_PINS { B2, B1, B0, B10, B11, B13, B14, B15, A8, A9, A14, A15, B3, B4, B7 }
+#define DIODE_DIRECTION COL2ROW
+#define DEBOUNCE 5
+
+#define ENCODERS_PAD_A { B6 }
+#define ENCODERS_PAD_B { B5 }
+#define TAP_CODE_DELAY 10 // tap_code function delay for register and unregister
+
+#define RGB_DI_PIN A10
+#define RGBLED_NUM 22
+#define RGBLIGHT_LIMIT_VAL 225 // value set lower than 255 since current draw is too high
+#define RGBLIGHT_SLEEP
+
+/* animations enabled */
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+//#define RGBLIGHT_DISABLE_KEYCODES
+
+// Tap dance term declaration
+#define TAPPING_TERM 300
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/halokeys/elemental75/elemental75.c b/keyboards/halokeys/elemental75/elemental75.c
new file mode 100644
index 0000000000..2b5dc1ca2e
--- /dev/null
+++ b/keyboards/halokeys/elemental75/elemental75.c
@@ -0,0 +1,35 @@
+ /* Copyright 2022 Halokeys
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "elemental75.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ uprintf("Encoder Hit: clockwise: %d, index: %u\n", clockwise, index);
+ if (index == 0) {
+ if (clockwise) {
+ print("Tapped code: KC_VOLU\n");
+ tap_code(KC_VOLU);
+ } else {
+ print("Tapped code: KC_VOLD\n");
+ tap_code(KC_VOLD);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/halokeys/elemental75/elemental75.h b/keyboards/halokeys/elemental75/elemental75.h
new file mode 100644
index 0000000000..265d1c9437
--- /dev/null
+++ b/keyboards/halokeys/elemental75/elemental75.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Halokeys
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* 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, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K59, 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, K3C, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
+ K50, K51, K52, K54, K56, K58, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
+ { K50, K51, K52, KC_NO, K54, KC_NO, K56, KC_NO, K58, K59, K5A, K5B, K5C, K5D, K5E }, \
+}
diff --git a/keyboards/halokeys/elemental75/info.json b/keyboards/halokeys/elemental75/info.json
new file mode 100644
index 0000000000..84febe2cab
--- /dev/null
+++ b/keyboards/halokeys/elemental75/info.json
@@ -0,0 +1,103 @@
+{
+ "keyboard_name": "Elemental75",
+ "manufacturer": "Halokeys",
+ "url": "",
+ "maintainer": "shamit05",
+ "usb": {
+ "vid": "0xEA0B",
+ "pid": "0xEA75",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00 (A2,B2)", "x":0, "y":0},
+ {"label":"K01 (A2,B1)", "x":1.25, "y":0},
+ {"label":"K02 (A2,B0)", "x":2.25, "y":0},
+ {"label":"K03 (A2,B10)", "x":3.25, "y":0},
+ {"label":"K04 (A2,B11)", "x":4.25, "y":0},
+ {"label":"K05 (A2,B13)", "x":5.5, "y":0},
+ {"label":"K06 (A2,B14)", "x":6.5, "y":0},
+ {"label":"K07 (A2,B15)", "x":7.5, "y":0},
+ {"label":"K08 (A2,A8)", "x":8.5, "y":0},
+ {"label":"K09 (A2,A9)", "x":9.75, "y":0},
+ {"label":"K0A (A2,A14)", "x":10.75, "y":0},
+ {"label":"K0B (A2,A15)", "x":11.75, "y":0},
+ {"label":"K0C (A2,B3)", "x":12.75, "y":0},
+ {"label":"K0D (A2,B4)", "x":14, "y":0},
+ {"label":"K0E (A2,B7)", "x":15.25, "y":0},
+ {"label":"K10 (A3,B2)", "x":0, "y":1.25},
+ {"label":"K11 (A3,B1)", "x":1, "y":1.25},
+ {"label":"K12 (A3,B0)", "x":2, "y":1.25},
+ {"label":"K13 (A3,B10)", "x":3, "y":1.25},
+ {"label":"K14 (A3,B11)", "x":4, "y":1.25},
+ {"label":"K15 (A3,B13)", "x":5, "y":1.25},
+ {"label":"K16 (A3,B14)", "x":6, "y":1.25},
+ {"label":"K17 (A3,B15)", "x":7, "y":1.25},
+ {"label":"K18 (A3,A8)", "x":8, "y":1.25},
+ {"label":"K19 (A3,A9)", "x":9, "y":1.25},
+ {"label":"K1A (A3,A14)", "x":10, "y":1.25},
+ {"label":"K1B (A3,A15)", "x":11, "y":1.25},
+ {"label":"K1C (A3,B3)", "x":12, "y":1.25},
+ {"label":"K1D (A3,B4)", "x":13, "y":1.25},
+ {"label":"K59 (A7,A9)", "x":14, "y":1.25},
+ {"label":"K1E (A3,B7)", "x":15.25, "y":1.25},
+ {"label":"K20 (A4,B2)", "x":0, "y":2.25, "w":1.5},
+ {"label":"K21 (A4,B1)", "x":1.5, "y":2.25},
+ {"label":"K22 (A4,B0)", "x":2.5, "y":2.25},
+ {"label":"K23 (A4,B10)", "x":3.5, "y":2.25},
+ {"label":"K24 (A4,B11)", "x":4.5, "y":2.25},
+ {"label":"K25 (A4,B13)", "x":5.5, "y":2.25},
+ {"label":"K26 (A4,B14)", "x":6.5, "y":2.25},
+ {"label":"K27 (A4,B15)", "x":7.5, "y":2.25},
+ {"label":"K28 (A4,A8)", "x":8.5, "y":2.25},
+ {"label":"K29 (A4,A9)", "x":9.5, "y":2.25},
+ {"label":"K2A (A4,A14)", "x":10.5, "y":2.25},
+ {"label":"K2B (A4,A15)", "x":11.5, "y":2.25},
+ {"label":"K2C (A4,B3)", "x":12.5, "y":2.25},
+ {"label":"K2D (A4,B4)", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"K2E (A4,B7)", "x":15.25, "y":2.25},
+ {"label":"K30 (A5,B2)", "x":0, "y":3.25, "w":1.75},
+ {"label":"K31 (A5,B1)", "x":1.75, "y":3.25},
+ {"label":"K32 (A5,B0)", "x":2.75, "y":3.25},
+ {"label":"K33 (A5,B10)", "x":3.75, "y":3.25},
+ {"label":"K34 (A5,B11)", "x":4.75, "y":3.25},
+ {"label":"K35 (A5,B13)", "x":5.75, "y":3.25},
+ {"label":"K36 (A5,B14)", "x":6.75, "y":3.25},
+ {"label":"K37 (A5,B15)", "x":7.75, "y":3.25},
+ {"label":"K38 (A5,A8)", "x":8.75, "y":3.25},
+ {"label":"K39 (A5,A9)", "x":9.75, "y":3.25},
+ {"label":"K3A (A5,A14)", "x":10.75, "y":3.25},
+ {"label":"K3B (A5,A15)", "x":11.75, "y":3.25},
+ {"label":"K3C (A5,B3)", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"K3E (A5,B7)", "x":15.25, "y":3.25},
+ {"label":"K40 (A6,B2)", "x":0, "y":4.25, "w":1.25},
+ {"label":"K41 (A6,B1)", "x":1.25, "y":4.25},
+ {"label":"K42 (A6,B0)", "x":2.25, "y":4.25},
+ {"label":"K43 (A6,B10)", "x":3.25, "y":4.25},
+ {"label":"K44 (A6,B11)", "x":4.25, "y":4.25},
+ {"label":"K45 (A6,B13)", "x":5.25, "y":4.25},
+ {"label":"K46 (A6,B14)", "x":6.25, "y":4.25},
+ {"label":"K47 (A6,B15)", "x":7.25, "y":4.25},
+ {"label":"K48 (A6,A8)", "x":8.25, "y":4.25},
+ {"label":"K49 (A6,A9)", "x":9.25, "y":4.25},
+ {"label":"K4A (A6,A14)", "x":10.25, "y":4.25},
+ {"label":"K4B (A6,A15)", "x":11.25, "y":4.25},
+ {"label":"K4C (A6,B3)", "x":12.25, "y":4.25, "w":1.5},
+ {"label":"K4D (A6,B4)", "x":14, "y":4.5},
+ {"label":"K4E (A6,B7)", "x":15.25, "y":4.25},
+ {"label":"K50 (A7,B2)", "x":0, "y":5.25, "w":1.5},
+ {"label":"K51 (A7,B1)", "x":1.5, "y":5.25},
+ {"label":"K52 (A7,B0)", "x":2.5, "y":5.25, "w":1.5},
+ {"label":"K54 (A7,B11)", "x":4, "y":5.25, "w":2.25},
+ {"label":"K56 (A7,B14)", "x":6.25, "y":5.25, "w":1.25},
+ {"label":"K58 (A7,A8)", "x":7.5, "y":5.25, "w":2.75},
+ {"label":"K5A (A7,A14)", "x":10.25, "y":5.25, "w":1.25},
+ {"label":"K5B (A7,A15)", "x":11.5, "y":5.25, "w":1.25},
+ {"label":"K5C (A7,B3)", "x":13, "y":5.5},
+ {"label":"K5D (A7,B4)", "x":14, "y":5.5},
+ {"label":"K5E (A7,B7)", "x":15, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/halokeys/elemental75/keymaps/default/keymap.c b/keyboards/halokeys/elemental75/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f34220b6f9
--- /dev/null
+++ b/keyboards/halokeys/elemental75/keymaps/default/keymap.c
@@ -0,0 +1,82 @@
+ /* Copyright 2022 Halokeys
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+
+/* [Keymaps] ----------------------------------------------------------------- */
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+/* Tap Dance declarations */
+enum {
+ TD_PLAY_FORWARD_BACK,
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ /* If console is enabled, it will print the matrix position and status of each key pressed */
+ #ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+ #endif
+ return true;
+}
+
+void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
+ uprintf("Tap Dance count: %u", state->count);
+ if (state->count == 1) {
+ tap_code(KC_MPLY);
+ } else if (state->count == 2) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+}
+
+/* All tap dance functions would go here. Only showing this one. */
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_PLAY_FORWARD_BACK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, NULL),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), TD(TD_PLAY_FORWARD_BACK),
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
+
+void keyboard_post_init_user(void) {
+ /* Customise these values to desired behaviour */
+ debug_enable=true;
+ debug_matrix=true;
+ /* debug_keyboard=true; */
+ /* debug_mouse=true; */
+}
diff --git a/keyboards/halokeys/elemental75/keymaps/default/rules.mk b/keyboards/halokeys/elemental75/keymaps/default/rules.mk
new file mode 100644
index 0000000000..e5ddcae8d9
--- /dev/null
+++ b/keyboards/halokeys/elemental75/keymaps/default/rules.mk
@@ -0,0 +1 @@
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/halokeys/elemental75/keymaps/via/keymap.c b/keyboards/halokeys/elemental75/keymaps/via/keymap.c
new file mode 100644
index 0000000000..59b9211d83
--- /dev/null
+++ b/keyboards/halokeys/elemental75/keymaps/via/keymap.c
@@ -0,0 +1,97 @@
+ /* Copyright 2022 Halokeys
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+
+/* [Keymaps] ----------------------------------------------------------------- */
+enum layer_names { _BASE, _FN ,_FN1 ,_FN2 };
+
+/* Tap Dance declarations */
+enum {
+ TD_PLAY_FORWARD_BACK,
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ /* If console is enabled, it will print the matrix position and status of each key pressed */
+ #ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+ #endif
+ return true;
+}
+
+void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
+ uprintf("Tap Dance count: %u", state->count);
+ if (state->count == 1) {
+ tap_code(KC_MPLY);
+ } else if (state->count == 2) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+}
+
+/* All tap dance functions would go here. Only showing this one. */
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_PLAY_FORWARD_BACK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, NULL),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), TD(TD_PLAY_FORWARD_BACK),
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
+
+void keyboard_post_init_user(void) {
+ /* Customise these values to desired behaviour */
+ debug_enable=true;
+ debug_matrix=true;
+ /* debug_keyboard=true; */
+ /* debug_mouse=true; */
+}
diff --git a/keyboards/halokeys/elemental75/keymaps/via/rules.mk b/keyboards/halokeys/elemental75/keymaps/via/rules.mk
new file mode 100644
index 0000000000..791d5ab502
--- /dev/null
+++ b/keyboards/halokeys/elemental75/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/halokeys/elemental75/readme.md b/keyboards/halokeys/elemental75/readme.md
new file mode 100644
index 0000000000..405bfb67b1
--- /dev/null
+++ b/keyboards/halokeys/elemental75/readme.md
@@ -0,0 +1,21 @@
+# Elemental75
+
+A compact 75% keyboard made and sold by Halokeys.
+
+* Keyboard Maintainer: [Shamit Surana](https://github.com/shamit05)
+* Hardware Supported: Elemental75
+* Hardware Availability: Not Available Yet
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the Escape key down (top left key) and plug in the keyboard
+* **Physical reset button**: Hold the reset button on the back of the PCB for at least 5 seconds.
+* **Keycode in layout**: Hold the key mapped to `QK_BOOT` if it is available
+
+Make example for this keyboard (after setting up your build environment):
+
+ make halokeys/elemental75: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/halokeys/elemental75/rules.mk b/keyboards/halokeys/elemental75/rules.mk
new file mode 100644
index 0000000000..226c430d25
--- /dev/null
+++ b/keyboards/halokeys/elemental75/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = STM32F303
+BOARD = QMK_PROTON_C
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
diff --git a/keyboards/han60/config.h b/keyboards/han60/config.h
index c96cb6782f..1c65f6ba90 100644
--- a/keyboards/han60/config.h
+++ b/keyboards/han60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4842
-#define PRODUCT_ID 0xFB60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HanBoards
-#define PRODUCT han60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0}
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/han60/info.json b/keyboards/han60/info.json
index 474b20de04..1722996c85 100644
--- a/keyboards/han60/info.json
+++ b/keyboards/han60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "han60",
+ "manufacturer": "HanBoards",
"maintainer": "qmk",
"url": "hanboards.com",
+ "usb": {
+ "vid": "0x4842",
+ "pid": "0xFB60",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/han60/readme.md b/keyboards/han60/readme.md
index d2f0fb9811..94dd28c1ec 100644
--- a/keyboards/han60/readme.md
+++ b/keyboards/han60/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/hand88/config.h b/keyboards/hand88/config.h
index 7e013224dd..cb2c25cb8f 100755
--- a/keyboards/hand88/config.h
+++ b/keyboards/hand88/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x3838
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Hand 88
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/hand88/info.json b/keyboards/hand88/info.json
index 1afb77570c..05cef0d06c 100755
--- a/keyboards/hand88/info.json
+++ b/keyboards/hand88/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hand 88",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x3838",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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, "y":4.25}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h
index b5bf98271a..703cd93e64 100644
--- a/keyboards/handwired/108key_trackpoint/config.h
+++ b/keyboards/handwired/108key_trackpoint/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT 108Key-Trackpoint
-
#define MATRIX_ROWS 8
#define MATRIX_COLS 23
@@ -49,7 +43,6 @@
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, F0, D3, D4, F1, D6, D7, E0, E1, E2, E3, E4, E5, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/108key_trackpoint/info.json b/keyboards/handwired/108key_trackpoint/info.json
index d3cf5ad26a..a652ee74a9 100644
--- a/keyboards/handwired/108key_trackpoint/info.json
+++ b/keyboards/handwired/108key_trackpoint/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "108 Key with TrackPoint",
+ "keyboard_name": "108Key-TrackPoint",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "mkem114",
+ "usb": {
+ "vid": "0x1234",
+ "pid": "0x5678",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/10k/readme.md b/keyboards/handwired/10k/readme.md
index 270297e927..e681a274d3 100644
--- a/keyboards/handwired/10k/readme.md
+++ b/keyboards/handwired/10k/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/2x5keypad/config.h b/keyboards/handwired/2x5keypad/config.h
index 174fb736a2..00c4ac1ab4 100644
--- a/keyboards/handwired/2x5keypad/config.h
+++ b/keyboards/handwired/2x5keypad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2020
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jonathan Cameron
-#define PRODUCT 2x5keypad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 5
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B2 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/2x5keypad/info.json b/keyboards/handwired/2x5keypad/info.json
index 77ce9a8b50..72b5e185b7 100644
--- a/keyboards/handwired/2x5keypad/info.json
+++ b/keyboards/handwired/2x5keypad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "2x5keypad",
+ "manufacturer": "Jonathan Cameron",
"url": "",
"maintainer": "jmcameron",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2020",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/3dfoxc/config.h b/keyboards/handwired/3dfoxc/config.h
index ea73f91ba0..a0fd24c136 100644
--- a/keyboards/handwired/3dfoxc/config.h
+++ b/keyboards/handwired/3dfoxc/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dlgoodr
-#define PRODUCT 3dfoxc
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/handwired/3dfoxc/info.json b/keyboards/handwired/3dfoxc/info.json
index 06e849bb11..aa8875e0dd 100644
--- a/keyboards/handwired/3dfoxc/info.json
+++ b/keyboards/handwired/3dfoxc/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "3dfoxc",
+ "manufacturer": "dlgoodr",
"url": "",
"maintainer": "dlgoodr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c b/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c
index c4431acecc..2af9802049 100644
--- a/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c
+++ b/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------''-----------'
*/
[_FL] = 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_DEL, 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_DEL, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC),_______, KC_PSCR, KC_BRID, KC_BRIU, _______, KC_INS,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, KC_END,
diff --git a/keyboards/handwired/3dfoxc/readme.md b/keyboards/handwired/3dfoxc/readme.md
index 3d6e33a5c1..9f4dff57d6 100644
--- a/keyboards/handwired/3dfoxc/readme.md
+++ b/keyboards/handwired/3dfoxc/readme.md
@@ -37,6 +37,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/3dortho14u/readme.md b/keyboards/handwired/3dortho14u/readme.md
index 3163891d48..926721fc72 100644
--- a/keyboards/handwired/3dortho14u/readme.md
+++ b/keyboards/handwired/3dortho14u/readme.md
@@ -37,4 +37,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/3dortho14u/rev1/readme.md b/keyboards/handwired/3dortho14u/rev1/readme.md
index e785369b23..7a30179797 100644
--- a/keyboards/handwired/3dortho14u/rev1/readme.md
+++ b/keyboards/handwired/3dortho14u/rev1/readme.md
@@ -36,4 +36,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/3dortho14u/rev2/readme.md b/keyboards/handwired/3dortho14u/rev2/readme.md
index bb2e982130..0b2f1c09df 100644
--- a/keyboards/handwired/3dortho14u/rev2/readme.md
+++ b/keyboards/handwired/3dortho14u/rev2/readme.md
@@ -36,4 +36,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/3dp660/config.h b/keyboards/handwired/3dp660/config.h
index 60ab13deaa..eaae958e4d 100644
--- a/keyboards/handwired/3dp660/config.h
+++ b/keyboards/handwired/3dp660/config.h
@@ -18,12 +18,6 @@ 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 0x676F // "go" - gooberpsycho
-#define PRODUCT_ID 0x3660 // "3" "660"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gooberpsycho
-#define PRODUCT 3dp660 Handwired
#define TAPPING_TERM 400
@@ -35,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D2, D3, C6, C7, D5, D4, D7, B4, B5, B6, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/3dp660/info.json b/keyboards/handwired/3dp660/info.json
index db3d47b068..d3bfd24550 100644
--- a/keyboards/handwired/3dp660/info.json
+++ b/keyboards/handwired/3dp660/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "3dp660",
+ "manufacturer": "gooberpsycho",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x676F",
+ "pid": "0x3660",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_66_ansi": {
diff --git a/keyboards/handwired/412_64/config.h b/keyboards/handwired/412_64/config.h
index df8961dc04..b32afc2033 100644
--- a/keyboards/handwired/412_64/config.h
+++ b/keyboards/handwired/412_64/config.h
@@ -4,13 +4,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x0412
-#define DEVICE_VER 0x0000
-#define MANUFACTURER EDI/SCI
-#define PRODUCT 412 64 Model 00
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -27,7 +20,6 @@
*/
#define MATRIX_ROW_PINS { D3, F4, F5, F6, F7, B1, B3, B2 }
#define MATRIX_COL_PINS { B0, D2, D0, D1, D4, C6, D7, E6 }
-#define UNUSED_PINS { B4, B5, B6, B7, C7, F0, F1 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/412_64/info.json b/keyboards/handwired/412_64/info.json
index dad67a3f2a..cbf068c36a 100644
--- a/keyboards/handwired/412_64/info.json
+++ b/keyboards/handwired/412_64/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "412-64",
+ "keyboard_name": "412-64 Model 00",
+ "manufacturer": "EDI/SCI",
"url": "",
"maintainer": "fateeverywhere",
+ "usb": {
+ "vid": "0xF7E0",
+ "pid": "0x0412",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x16": {
"layout": [
diff --git a/keyboards/handwired/42/config.h b/keyboards/handwired/42/config.h
index 9381b7e94f..5ec89cce84 100644
--- a/keyboards/handwired/42/config.h
+++ b/keyboards/handwired/42/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0003
-#define MANUFACTURER nglgzz
-#define PRODUCT 42
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -25,7 +18,6 @@
*/
#define MATRIX_COL_PINS { F5, F6, F7, F0, F1, F4, B6, B5, D7, C7, D6, B7 }
#define MATRIX_ROW_PINS { D2, D3, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/42/info.json b/keyboards/handwired/42/info.json
index 33d8e8ff91..8174c0d230 100644
--- a/keyboards/handwired/42/info.json
+++ b/keyboards/handwired/42/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "42",
+ "manufacturer": "nglgzz",
"url": "",
"maintainer": "nglgzz",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/6key/6key.c b/keyboards/handwired/6key/6key.c
index ab4263bde4..22c766a30f 100644
--- a/keyboards/handwired/6key/6key.c
+++ b/keyboards/handwired/6key/6key.c
@@ -1,16 +1,24 @@
- /* 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 "6key.h"
+
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) { return false; }
+ if (index == 0) {
+ default_layer_set(1UL << (active ? 1 : 0));
+ }
+ return true;
+}
diff --git a/keyboards/handwired/6key/6key.h b/keyboards/handwired/6key/6key.h
index fe02df44e9..f63abc35d2 100644
--- a/keyboards/handwired/6key/6key.h
+++ b/keyboards/handwired/6key/6key.h
@@ -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/>.
*/
#pragma once
@@ -24,4 +24,4 @@
{ \
{ k00, k01, k02 }, \
{ k03, k04, k05 } \
-}
+}
diff --git a/keyboards/handwired/6key/config.h b/keyboards/handwired/6key/config.h
index 40eb478b0a..42d7a5cb32 100644
--- a/keyboards/handwired/6key/config.h
+++ b/keyboards/handwired/6key/config.h
@@ -1,30 +1,23 @@
- /* 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/>.
*/
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bratzworth
-#define PRODUCT 6key
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -32,7 +25,6 @@
/* pin-out */
#define MATRIX_ROW_PINS { B4, D0 }
#define MATRIX_COL_PINS { D3, D2, D1 }
-#define UNUSED_PINS
/* dip switch */
#define DIP_SWITCH_PINS { C6 }
diff --git a/keyboards/handwired/6key/info.json b/keyboards/handwired/6key/info.json
index 8d165a59ae..b069f067c5 100644
--- a/keyboards/handwired/6key/info.json
+++ b/keyboards/handwired/6key/info.json
@@ -1,10 +1,19 @@
{
"keyboard_name": "6key",
+ "manufacturer": "bratzworth",
"url": "https://github.com/Bratzworth/6key",
"maintainer": "bratzworth",
+ "usb": {
+ "vid": "0xD143",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
- "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
+ "layout": [
+ {"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0},
+ {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}
+ ]
}
}
}
diff --git a/keyboards/handwired/6key/keymaps/default/keymap.c b/keyboards/handwired/6key/keymaps/default/keymap.c
index ad73597bab..ab93024064 100644
--- a/keyboards/handwired/6key/keymaps/default/keymap.c
+++ b/keyboards/handwired/6key/keymaps/default/keymap.c
@@ -15,33 +15,18 @@
*/
#include QMK_KEYBOARD_H
-#define _MAIN 0
-#define _FN 1
-
-#define KC_UNDO LCTL(KC_Z)
-#define KC_REDO LCTL(KC_Y)
+enum layers{
+ _MAIN,
+ _FN
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT(
- KC_UNDO, KC_REDO, KC_A,
- KC_C, KC_D, KC_S
+ KC_Z, KC_Y, KC_A,
+ KC_C, KC_D, KC_S
),
-
[_FN] = LAYOUT(
KC_F13, KC_F14, KC_F15,
KC_F16, KC_F17, KC_F18
)
};
-
-bool dip_switch_update_user(uint8_t index, bool active) {
- switch (index) {
- case 0: {
- if (active) {
- set_single_persistent_default_layer(_FN);
- } else {
- set_single_persistent_default_layer(_MAIN);
- }
- }
- }
- return true;
-}
diff --git a/keyboards/handwired/6key/keymaps/via/keymap.c b/keyboards/handwired/6key/keymaps/via/keymap.c
new file mode 100644
index 0000000000..4e1922da56
--- /dev/null
+++ b/keyboards/handwired/6key/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+ /* Copyright 2022 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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ LCTL(KC_Z), LCTL(KC_Y), KC_A,
+ KC_C, KC_D, KC_S
+ ),
+ [1] = LAYOUT(
+ KC_F13, KC_F14, KC_F15,
+ KC_F16, KC_F17, KC_F18
+ ),
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/handwired/6key/keymaps/via/rules.mk b/keyboards/handwired/6key/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/handwired/6key/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/handwired/6key/rules.mk b/keyboards/handwired/6key/rules.mk
index 5be28d8a57..3cb12386cc 100644
--- a/keyboards/handwired/6key/rules.mk
+++ b/keyboards/handwired/6key/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/handwired/6macro/config.h b/keyboards/handwired/6macro/config.h
index cfa15ee15b..1e8c296855 100644
--- a/keyboards/handwired/6macro/config.h
+++ b/keyboards/handwired/6macro/config.h
@@ -19,13 +19,6 @@ 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 0x0037
-#define DEVICE_VER 0x0001
-#define MANUFACTURER joaofbmaia
-#define PRODUCT 6macro
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pinout - DON'T CHANGE */
#define MATRIX_ROW_PINS { B3, B4 }
#define MATRIX_COL_PINS { B0, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/6macro/info.json b/keyboards/handwired/6macro/info.json
index eac751e3a8..2fd8e24a5b 100644
--- a/keyboards/handwired/6macro/info.json
+++ b/keyboards/handwired/6macro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "6macro",
+ "manufacturer": "joaofbmaia",
"url": "",
"maintainer": "joaofbmaia",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0037",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
diff --git a/keyboards/handwired/6macro/keymaps/osu/keymap.c b/keyboards/handwired/6macro/keymaps/osu/keymap.c
index ffed7d909f..c3ee0f2ccf 100644
--- a/keyboards/handwired/6macro/keymaps/osu/keymap.c
+++ b/keyboards/handwired/6macro/keymaps/osu/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------.
* |RGB_TOG|RGBMOD+| |
* |-------+-------+-------|
- * |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (RESET)
+ * |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (QK_BOOT)
* `-------+-------+-------'
*/
[1] = LAYOUT(
@@ -43,13 +43,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* LAYER 2
* ,-----------------------.
- * | RESET |RGBMOD-| |
+ * | QK_BOOT |RGBMOD-| |
* |-------+-------+-------|
* |RGBHUE-|RGBBRI-| |
* `-------+-------+-------'
*/
[2] = LAYOUT(
- RESET, RGB_RMOD, KC_NO, \
+ QK_BOOT, RGB_RMOD, KC_NO, \
RGB_HUD, RGB_VAD, KC_TRNS \
)
diff --git a/keyboards/handwired/aball/config.h b/keyboards/handwired/aball/config.h
index 33a6cd2a97..6de7b03f43 100644
--- a/keyboards/handwired/aball/config.h
+++ b/keyboards/handwired/aball/config.h
@@ -19,13 +19,6 @@ 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 0xC2F0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Richard Sutherland
-#define PRODUCT ABall
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/keyboards/handwired/aball/info.json b/keyboards/handwired/aball/info.json
index c8afff6a2b..60f40d1935 100644
--- a/keyboards/handwired/aball/info.json
+++ b/keyboards/handwired/aball/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "aball",
+ "keyboard_name": "ABall",
+ "manufacturer": "Richard Sutherland",
"url": "https://github.com/brickbots/aball/",
"maintainer": "@brickbots",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC2F0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h
index cc90dba00f..784eeb1298 100644
--- a/keyboards/handwired/aek64/config.h
+++ b/keyboards/handwired/aek64/config.h
@@ -19,13 +19,6 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4sStylZ and others makers
-#define PRODUCT AEK64
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Originally made for a Teensy 2++
#define MATRIX_COL_PINS { F0, E6, E7, B0, B1, B2, B3, B4, B5, B6, D3, D0, D1, D2 }
#define MATRIX_ROW_PINS { E0, E1, C0, C1, C2 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/aek64/info.json b/keyboards/handwired/aek64/info.json
index 75cb254024..d0e2474d1d 100644
--- a/keyboards/handwired/aek64/info.json
+++ b/keyboards/handwired/aek64/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "aek64",
+ "keyboard_name": "AEK64",
+ "manufacturer": "4sStylZ and others makers",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0, "w":1.25}, {"label":"1", "x":1.25, "y":0}, {"label":"2", "x":2.25, "y":0}, {"label":"3", "x":3.25, "y":0}, {"label":"4", "x":4.25, "y":0}, {"label":"5", "x":5.25, "y":0}, {"label":"6", "x":6.25, "y":0}, {"label":"7", "x":7.25, "y":0}, {"label":"8", "x":8.25, "y":0}, {"label":"9", "x":9.25, "y":0}, {"label":"0", "x":10.25, "y":0}, {"label":"\u00b0", "x":11.25, "y":0}, {"label":"+", "x":12.25, "y":0}, {"label":"Backspace", "x":13.25, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.75}, {"label":"A", "x":1.75, "y":1}, {"label":"Z", "x":2.75, "y":1}, {"label":"E", "x":3.75, "y":1}, {"label":"R", "x":4.75, "y":1}, {"label":"T", "x":5.75, "y":1}, {"label":"Y", "x":6.75, "y":1}, {"label":"U", "x":7.75, "y":1}, {"label":"I", "x":8.75, "y":1}, {"label":"O", "x":9.75, "y":1}, {"label":"P", "x":10.75, "y":1}, {"label":"{", "x":11.75, "y":1}, {"label":"}", "x":12.75, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":2}, {"label":"Q", "x":2, "y":2}, {"label":"S", "x":3, "y":2}, {"label":"D", "x":4, "y":2}, {"label":"F", "x":5, "y":2}, {"label":"G", "x":6, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":"M", "x":11, "y":2}, {"label":"%", "x":12, "y":2}, {"label":"&micro;", "x":13, "y":2}, {"label":"Enter", "x":14, "y":1, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.5}, {"label":">", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"?", "x":8.5, "y":3}, {"label":".", "x":9.5, "y":3}, {"label":"/", "x":10.5, "y":3}, {"label":"&sect;", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Opt", "x":1.5, "y":4, "w":1.25}, {"label":"Cmd", "x":2.75, "y":4, "w":1.5}, {"label":"Space", "x":4.25, "y":4, "w":6.5}, {"label":"Cmd", "x":10.75, "y":4, "w":1.5}, {"label":"Opt", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
index cb62fb001c..f063329104 100644
--- a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
+++ b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LALT(KC_F4), 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 ,
_______ , _______ , SLC_ALL , SLC_ROW , SLC_WRD , _______, KC_BSPC, KC_HOME, KC_UP , KC_END , KC_BRIU, KC_BRID , KC_PSCR,
_______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_ENT , KC_LEFT, KC_DOWN, KC_RIGHT, BL_TOGG, BL_STEP , BL_BRTG, _______,
- _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , ALT_TAB, _______, _______, _______, _______ , _______, RESET , _______ ,
+ _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , ALT_TAB, _______, _______, _______, _______ , _______, QK_BOOT , _______ ,
_______ , _______ , _______ , _______, _______ , _______, _______
)
};
diff --git a/keyboards/handwired/aim65/config.h b/keyboards/handwired/aim65/config.h
index 1c0468c7b0..ae03460cc3 100644
--- a/keyboards/handwired/aim65/config.h
+++ b/keyboards/handwired/aim65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0F34
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hi-Tek
-#define PRODUCT AIM-65
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/aim65/info.json b/keyboards/handwired/aim65/info.json
index 1559c19f88..adb446d3cb 100644
--- a/keyboards/handwired/aim65/info.json
+++ b/keyboards/handwired/aim65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Hi-Tek AIM-65",
+ "keyboard_name": "AIM-65",
+ "manufacturer": "Hi-Tek",
"url": "https://github.com/Bonnee/aim-65_keyboard",
"maintainer": "bonnee",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0F34",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c b/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
index 62f2d21e95..7884841b21 100644
--- a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
+++ b/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FL] = 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_DEL,
- KC_TAB, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_TAB, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______
diff --git a/keyboards/handwired/amigopunk/config.h b/keyboards/handwired/amigopunk/config.h
index 473f33aa9d..c6f1a99537 100644
--- a/keyboards/handwired/amigopunk/config.h
+++ b/keyboards/handwired/amigopunk/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1805
-#define DEVICE_VER 0x0001
-#define MANUFACTURER haesbaert
-#define PRODUCT amigopunk
-
/* Key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -32,7 +25,6 @@
/* Key matrix pins */
#define MATRIX_ROW_PINS { C0, C1, C2, C3, C4, C5 }
#define MATRIX_COL_PINS { B6, B5, B4, B3, B2, B1, B0, E7, E6, F0, F1, F2, F3, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/amigopunk/info.json b/keyboards/handwired/amigopunk/info.json
index f3cf31a843..c5ff09f831 100644
--- a/keyboards/handwired/amigopunk/info.json
+++ b/keyboards/handwired/amigopunk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "amigopunk",
+ "manufacturer": "haesbaert",
"url": "www.haesbaert.org",
"maintainer": "haesbaert",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1805",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/angel/config.h b/keyboards/handwired/angel/config.h
index e2472a1a27..ce1bf11ed6 100644
--- a/keyboards/handwired/angel/config.h
+++ b/keyboards/handwired/angel/config.h
@@ -17,17 +17,6 @@ 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 0x0805
-
-#define MANUFACTURER JSA
-#define PRODUCT Angel
-/* USB Version in Binary-coded decimal: 0xJJMN where
- * JJ is the major number, M is minor, N is sub minor. */
-#define DEVICE_VER 0x0100 // Version 1.00: hand-wire
-
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -41,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, B5, B4 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
// https://docs.qmk.fm/using-qmk/software-features/tap_hold
diff --git a/keyboards/handwired/angel/info.json b/keyboards/handwired/angel/info.json
index 12ac29ffa7..8e932c9a47 100644
--- a/keyboards/handwired/angel/info.json
+++ b/keyboards/handwired/angel/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Angel",
+ "manufacturer": "JSA",
"url": "https://github.com/jamessa/Angel",
"maintainer": "jamessa",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0805",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0.5, "y":1}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0.5, "y":3}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3, "w":1.25}, {"x":5.75, "y":3, "w":1.5}, {"x":7.25, "y":3, "w":1.25}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}]
diff --git a/keyboards/handwired/aplx2/config.h b/keyboards/handwired/aplx2/config.h
index a02b5954ae..cbe0ef91ba 100644
--- a/keyboards/handwired/aplx2/config.h
+++ b/keyboards/handwired/aplx2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE0E0
-#define PRODUCT_ID 0x0030
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Aplyard
-#define PRODUCT Aplx2
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 2
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { D1 }
#define MATRIX_COL_PINS { B5, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/aplx2/info.json b/keyboards/handwired/aplx2/info.json
index e514ed07d8..d1a6a32c26 100644
--- a/keyboards/handwired/aplx2/info.json
+++ b/keyboards/handwired/aplx2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aplx2",
+ "manufacturer": "Aplyard",
"url": "",
"maintainer": "Aplyard",
+ "usb": {
+ "vid": "0xE0E0",
+ "pid": "0x0030",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/aranck/config.h b/keyboards/handwired/aranck/config.h
index 88b394a29e..1b9a0b2419 100644
--- a/keyboards/handwired/aranck/config.h
+++ b/keyboards/handwired/aranck/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ardakilic
-#define PRODUCT Aranck
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D3, D2, D1, D0 }
#define MATRIX_COL_PINS \
{ C6, D7, E6, B4, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/aranck/info.json b/keyboards/handwired/aranck/info.json
index f3b48378fa..4bf69e192a 100644
--- a/keyboards/handwired/aranck/info.json
+++ b/keyboards/handwired/aranck/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Aranck",
+ "manufacturer": "Ardakilic",
"url": "https://github.com/Ardakilic",
"maintainer": "Arda Kilicdagi",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/handwired/aranck/keymaps/turkishish/keymap.c b/keyboards/handwired/aranck/keymaps/turkishish/keymap.c
index 4e7ef57b71..d69c705a42 100644
--- a/keyboards/handwired/aranck/keymaps/turkishish/keymap.c
+++ b/keyboards/handwired/aranck/keymaps/turkishish/keymap.c
@@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/arrow_pad/config.h b/keyboards/handwired/arrow_pad/config.h
index c8b19524bb..9615075121 100644
--- a/keyboards/handwired/arrow_pad/config.h
+++ b/keyboards/handwired/arrow_pad/config.h
@@ -19,13 +19,6 @@ 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 0x4096
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT GoldPad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/handwired/arrow_pad/info.json b/keyboards/handwired/arrow_pad/info.json
index fc24898f06..d4c3137735 100644
--- a/keyboards/handwired/arrow_pad/info.json
+++ b/keyboards/handwired/arrow_pad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "arrow_pad",
+ "keyboard_name": "GoldPad",
+ "manufacturer": "Nobody",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4096",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
index 550bfd183f..1f07965555 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
@@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
index 8bb833b21d..e2ec848b59 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______,
- RESET, _______, _______ ),
+ QK_BOOT, _______, _______ ),
};
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
index 51d3b9080b..4bc89f5ce7 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
@@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
index caee60d6ae..0126aa49fb 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, XXXXXXX,
- RESET, _______, _______, _______ ),
+ QK_BOOT, _______, _______, _______ ),
};
diff --git a/keyboards/handwired/atreus50/config.h b/keyboards/handwired/atreus50/config.h
index 0356bf3d7d..f433427ab0 100644
--- a/keyboards/handwired/atreus50/config.h
+++ b/keyboards/handwired/atreus50/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x040D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Atreus 50 Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
#define MATRIX_COL_PINS { D4, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/atreus50/info.json b/keyboards/handwired/atreus50/info.json
index 5007c3135e..640c633157 100644
--- a/keyboards/handwired/atreus50/info.json
+++ b/keyboards/handwired/atreus50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atreus50",
+ "manufacturer": "Hexwire",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBB80",
+ "pid": "0x040D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
index 49a53cfe21..5ac74e6f8a 100644
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
+++ b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
- M_CUSTOM, RESET, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
+ M_CUSTOM, QK_BOOT, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,
KC_CAPS, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, QWERTY ,
TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, COLEMAK ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c
index 68724c0506..52a450c3a0 100644
--- a/keyboards/handwired/atreus50/keymaps/default/keymap.c
+++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c
@@ -4,13 +4,15 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _MOVEMENT 5
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _MOVEMENT,
+ _ADJUST,
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/handwired/axon/config.h b/keyboards/handwired/axon/config.h
index ef015194e8..50be74b882 100644
--- a/keyboards/handwired/axon/config.h
+++ b/keyboards/handwired/axon/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RobinL
-#define PRODUCT Axon
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D5, D6, D4, D0 }
#define MATRIX_COL_PINS { B0, D7, B1, B2, C0, C1, C2, C3, C4, C5, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/axon/info.json b/keyboards/handwired/axon/info.json
index 5eabffadb4..e74f63e74f 100644
--- a/keyboards/handwired/axon/info.json
+++ b/keyboards/handwired/axon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Axon",
+ "manufacturer": "RobinL",
"url": "https://github.com/thatfellarobin/axon",
"maintainer": "Robin L.",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/handwired/axon/readme.md b/keyboards/handwired/axon/readme.md
index ca422130ef..d48297b4f7 100644
--- a/keyboards/handwired/axon/readme.md
+++ b/keyboards/handwired/axon/readme.md
@@ -15,8 +15,8 @@ Make example for this keyboard (after setting up your build environment):
## To reset into bootloader mode:
1. While plugged in, press and hold `BOOT` switch
-2. While holding `BOOT`, press `RESET` and hold it for a second or two
-3. Release `RESET`
+2. While holding `BOOT`, press `QK_BOOT` and hold it for a second or two
+3. Release `QK_BOOT`
4. Release `BOOT`
5. The keyboard should now be recognized as a USBasp programmer device.
diff --git a/keyboards/handwired/baredev/rev1/info.json b/keyboards/handwired/baredev/rev1/info.json
index 6292817538..d35e3644ba 100644
--- a/keyboards/handwired/baredev/rev1/info.json
+++ b/keyboards/handwired/baredev/rev1/info.json
@@ -9,13 +9,6 @@
"term": 175
},
"matrix_pins": {
- "unused": [
- "F1",
- "F4",
- "F5",
- "F6",
- "F7"
- ],
"cols": [
"B6",
"B7",
@@ -703,4 +696,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
index 73113385d3..82277e2158 100644
--- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
+++ b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[LAYER_FUNCTIONS] = LAYOUT(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┠*/
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WMGM, KC_WMGP, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
diff --git a/keyboards/handwired/baredev/rev1/readme.md b/keyboards/handwired/baredev/rev1/readme.md
index 3f852f2bc6..1dac2fb6ad 100644
--- a/keyboards/handwired/baredev/rev1/readme.md
+++ b/keyboards/handwired/baredev/rev1/readme.md
@@ -26,4 +26,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/handwired/battleship_gamepad/config.h b/keyboards/handwired/battleship_gamepad/config.h
index 1cbfbf87e9..25389c0245 100644
--- a/keyboards/handwired/battleship_gamepad/config.h
+++ b/keyboards/handwired/battleship_gamepad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4142
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER arbraini
-#define PRODUCT Battleship Gamepad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 8
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* joystick configuration */
#define JOYSTICK_BUTTON_COUNT 25
diff --git a/keyboards/handwired/battleship_gamepad/info.json b/keyboards/handwired/battleship_gamepad/info.json
index 581f290aa2..b2278a79ac 100644
--- a/keyboards/handwired/battleship_gamepad/info.json
+++ b/keyboards/handwired/battleship_gamepad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Battleship Gamepad",
+ "manufacturer": "arbraini",
"url": "https://github.com/abraini-Nascent/battleship_gamepad",
"maintainer": "arbraini",
+ "usb": {
+ "vid": "0x4142",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/battleship_gamepad/readme.md b/keyboards/handwired/battleship_gamepad/readme.md
index c566753161..58eb72bd28 100644
--- a/keyboards/handwired/battleship_gamepad/readme.md
+++ b/keyboards/handwired/battleship_gamepad/readme.md
@@ -24,6 +24,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key in the 2x5 bank) and plug in the keyboard.
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead.
-* **Keycode in layout**: Press the key mapped to `RESET`. In the default layout this is the key at (0,0) on layer 1.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the default layout this is the key at (0,0) on layer 1.
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/bdn9_ble/config.h b/keyboards/handwired/bdn9_ble/config.h
index 1d9ad6ecdd..b23a9bfba8 100644
--- a/keyboards/handwired/bdn9_ble/config.h
+++ b/keyboards/handwired/bdn9_ble/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1134
-#define DEVICE_VER 0x0100
-#define MANUFACTURER KeyPCB/Keebio
-#define PRODUCT BDN9-BLE
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/handwired/bdn9_ble/info.json b/keyboards/handwired/bdn9_ble/info.json
index 6b2faf14d2..8d3bdf9d98 100644
--- a/keyboards/handwired/bdn9_ble/info.json
+++ b/keyboards/handwired/bdn9_ble/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KeyPCB/Keeb.io BDN9-BLE",
+ "keyboard_name": "BDN9-BLE",
+ "manufacturer": "KeyPCB/Keebio",
"url": "",
"maintainer": "merlin04",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1134",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/bento/info.json b/keyboards/handwired/bento/info.json
deleted file mode 100644
index cae2773de2..0000000000
--- a/keyboards/handwired/bento/info.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "keyboard_name": "Bento Macropad",
- "url": "https://www.thingiverse.com/thing:4416966",
- "maintainer": "Ghostseven",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/bento/keymaps/mac/keymap.c b/keyboards/handwired/bento/keymaps/mac/keymap.c
index bb584c9a5b..b90c086977 100644
--- a/keyboards/handwired/bento/keymaps/mac/keymap.c
+++ b/keyboards/handwired/bento/keymaps/mac/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ---- | Shift+CMD+B (Build VS Code) | DFU Mode
* Shift+CMD+C (FF Console) | Ctrl+Alt+U (Upload PIO) | Ctrl+Alt+S (Serial PIO) */
[_CODE] = LAYOUT(
- _______, S(G(KC_B)), RESET,
+ _______, S(G(KC_B)), QK_BOOT,
G(A(KC_C)), C(A(KC_U)), C(A(KC_S))
),
};
diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h
index 9bb7ef666d..0eb7664878 100644
--- a/keyboards/handwired/bento/rev1/config.h
+++ b/keyboards/handwired/bento/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xDAD3
-#define DEVICE_VER 0x0100
-#define MANUFACTURER GhostSeven
-#define PRODUCT Bento Macropad Rev. 1
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/handwired/bento/rev1/info.json b/keyboards/handwired/bento/rev1/info.json
new file mode 100644
index 0000000000..26aab3813a
--- /dev/null
+++ b/keyboards/handwired/bento/rev1/info.json
@@ -0,0 +1,23 @@
+{
+ "keyboard_name": "Bento Macropad Rev. 1",
+ "manufacturer": "GhostSeven",
+ "url": "https://www.thingiverse.com/thing:4416966",
+ "maintainer": "Ghostseven",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDAD3",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/bigmac/config.h b/keyboards/handwired/bigmac/config.h
index b036accaa2..d953dea55e 100644
--- a/keyboards/handwired/bigmac/config.h
+++ b/keyboards/handwired/bigmac/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Taylore101
-#define PRODUCT BigMac
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/handwired/bigmac/info.json b/keyboards/handwired/bigmac/info.json
index 3774530912..d8ee9837f2 100644
--- a/keyboards/handwired/bigmac/info.json
+++ b/keyboards/handwired/bigmac/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BigMac",
+ "manufacturer": "Taylore101",
"url": "",
"maintainer": "Taylore101",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/bolek/config.h b/keyboards/handwired/bolek/config.h
index aafaa62174..b6cbea8f39 100644
--- a/keyboards/handwired/bolek/config.h
+++ b/keyboards/handwired/bolek/config.h
@@ -19,13 +19,6 @@ 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 0x3708
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mikołaj Biel
-#define PRODUCT bolek
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, B5, D3, D2, D1, B4 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, E6, D7, C6, D0, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/bolek/info.json b/keyboards/handwired/bolek/info.json
index 2fc0b5614d..dcbfdb236e 100644
--- a/keyboards/handwired/bolek/info.json
+++ b/keyboards/handwired/bolek/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bolek",
+ "manufacturer": "Mikołaj Biel",
"url": "https://github.com/klausweiss/bolek",
"maintainer": "klausweiss",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3708",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/boss566y/redragon_vara/config.h b/keyboards/handwired/boss566y/redragon_vara/config.h
index 8d731763b9..bbb1a78dbe 100644
--- a/keyboards/handwired/boss566y/redragon_vara/config.h
+++ b/keyboards/handwired/boss566y/redragon_vara/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5048 //PH
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PH
-#define PRODUCT Redragon Vara
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 11
diff --git a/keyboards/handwired/boss566y/redragon_vara/info.json b/keyboards/handwired/boss566y/redragon_vara/info.json
index 235999bc32..7521d3daff 100644
--- a/keyboards/handwired/boss566y/redragon_vara/info.json
+++ b/keyboards/handwired/boss566y/redragon_vara/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Handwired Redragon Vara",
+ "keyboard_name": "Redragon Vara",
+ "manufacturer": "PH",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5048",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fullsize_ansi": {
"layout": [
diff --git a/keyboards/handwired/brain/config.h b/keyboards/handwired/brain/config.h
index 6b9e650bcf..317d25f5f5 100644
--- a/keyboards/handwired/brain/config.h
+++ b/keyboards/handwired/brain/config.h
@@ -21,12 +21,6 @@ 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 0x4A53
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER klackygears
-#define PRODUCT Brain
#define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/brain/info.json b/keyboards/handwired/brain/info.json
index c10a33db99..89af811654 100644
--- a/keyboards/handwired/brain/info.json
+++ b/keyboards/handwired/brain/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Brain",
+ "manufacturer": "Klackygears",
"url": "",
"maintainer": "Klackygears",
+ "usb": {
+ "vid": "0x4A53",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/bstk100/config.h b/keyboards/handwired/bstk100/config.h
index 29a5afa35e..c51031b2b5 100644
--- a/keyboards/handwired/bstk100/config.h
+++ b/keyboards/handwired/bstk100/config.h
@@ -20,13 +20,6 @@ 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 0xB100
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FREE WING
-#define PRODUCT bstk100
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/bstk100/info.json b/keyboards/handwired/bstk100/info.json
index aec01fccc9..05d1ad212f 100644
--- a/keyboards/handwired/bstk100/info.json
+++ b/keyboards/handwired/bstk100/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bstk100",
+ "manufacturer": "FREE WING",
"url": "http://www.neko.ne.jp/~freewing/",
"maintainer": "FREE WING",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB100",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/cans12er/config.h b/keyboards/handwired/cans12er/config.h
index 269471ac0b..240a2a5da9 100644
--- a/keyboards/handwired/cans12er/config.h
+++ b/keyboards/handwired/cans12er/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Can
-#define PRODUCT cans12er
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B3 }
#define MATRIX_COL_PINS { D0, D4, C6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/cans12er/info.json b/keyboards/handwired/cans12er/info.json
index 15c01dd6de..28d6d2c83e 100644
--- a/keyboards/handwired/cans12er/info.json
+++ b/keyboards/handwired/cans12er/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cans12er",
+ "manufacturer": "Can",
"url": "",
"maintainer": "canbaytok",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x4": {
"layout": [
diff --git a/keyboards/handwired/carpolly/config.h b/keyboards/handwired/carpolly/config.h
index e0890cf7ac..8830ebff52 100644
--- a/keyboards/handwired/carpolly/config.h
+++ b/keyboards/handwired/carpolly/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6532
-#define PRODUCT_ID 0x0017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER paul
-#define PRODUCT Carpolly
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/handwired/carpolly/info.json b/keyboards/handwired/carpolly/info.json
index 7a7395e914..5648033aca 100644
--- a/keyboards/handwired/carpolly/info.json
+++ b/keyboards/handwired/carpolly/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Carpolly",
+ "manufacturer": "paul",
"url": "https://github.com/PollyV1",
"maintainer": "Paul Enrico N. Viola",
+ "usb": {
+ "vid": "0x6532",
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h
index 0e8d697025..52bb89519b 100644
--- a/keyboards/handwired/chiron/config.h
+++ b/keyboards/handwired/chiron/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mike Hix
-#define PRODUCT chiron
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -33,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Pro Micro Pins A3, A2, A1, A0, 15, 14, 16
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
// Pro Micro Pins RX1
#define SPLIT_HAND_PIN D2
diff --git a/keyboards/handwired/chiron/info.json b/keyboards/handwired/chiron/info.json
index 46cf5a1d47..92f650c6f8 100644
--- a/keyboards/handwired/chiron/info.json
+++ b/keyboards/handwired/chiron/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Chiron Keyboard",
+ "keyboard_name": "Chiron",
+ "manufacturer": "Mike Hix",
"url": "",
"maintainer": "musl",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ck4x4/config.h b/keyboards/handwired/ck4x4/config.h
index 428a163170..1d7a351568 100644
--- a/keyboards/handwired/ck4x4/config.h
+++ b/keyboards/handwired/ck4x4/config.h
@@ -17,13 +17,6 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT CK4x4
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/handwired/ck4x4/info.json b/keyboards/handwired/ck4x4/info.json
index 11f5c31054..ff165e75f7 100644
--- a/keyboards/handwired/ck4x4/info.json
+++ b/keyboards/handwired/ck4x4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CK4x4",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "awkannan",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/cmd60/config.h b/keyboards/handwired/cmd60/config.h
index 14bcdec530..433aabc5b7 100644
--- a/keyboards/handwired/cmd60/config.h
+++ b/keyboards/handwired/cmd60/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cmd
-#define PRODUCT CMD60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3, C6, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/cmd60/info.json b/keyboards/handwired/cmd60/info.json
index 41d73348c4..077fdbce67 100644
--- a/keyboards/handwired/cmd60/info.json
+++ b/keyboards/handwired/cmd60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CMD60",
+ "manufacturer": "cmd",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/co60/info.json b/keyboards/handwired/co60/info.json
index 95fb155836..a6b2ae15dd 100644
--- a/keyboards/handwired/co60/info.json
+++ b/keyboards/handwired/co60/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "CO60",
+ "manufacturer": "John M Daly",
"url": "https://github.com/jmdaly/CO60",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000"
+ },
"layouts": {
"LAYOUT_all": {
"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":"~", "x":13, "y":0}, {"label":"Del", "x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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":"Fn", "x":14, "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}, {"label":"LSpace", "x":3.75, "y":4, "w":2.25}, {"label":"Fn", "x":6, "y":4, "w":1.25}, {"label":"RSpace", "x":7.25, "y":4, "w":2.75}, {"label":"Alt", "x":10, "y":4, "w":1}, {"label":"Win", "x":11, "y":4, "w":1}, {"label":"Menu", "x":12, "y":4, "w":1}, {"label":"Ctrl", "x":13, "y":4, "w":1}, {"label":"Fn", "x":14, "y":4, "w":1}]
diff --git a/keyboards/handwired/co60/keymaps/jmdaly_hhkb_split_space/keymap.c b/keyboards/handwired/co60/keymaps/jmdaly_hhkb_split_space/keymap.c
index 0f19f9fbe3..f16f39e68e 100644
--- a/keyboards/handwired/co60/keymaps/jmdaly_hhkb_split_space/keymap.c
+++ b/keyboards/handwired/co60/keymaps/jmdaly_hhkb_split_space/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LALT, KC_LGUI, KC_ENT, MO(_L3), KC_SPC, KC_LEAD, KC_RGUI, KC_RALT
),
[_L3] = LAYOUT_60_hhkb_split_625u_space( /* Function */
- 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
BL_BRTG, BL_TOGG, BL_INC, BL_DEC, BL_ON, BL_OFF, _______, _______, _______, _______, _______, KC_PGUP, KC_INSERT, KC_DEL,
_______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_HOME, KC_END, _______,
_______, BL_DEC, _______, _______, _______, _______, _______, DF(_L1), DF(_L2), _______, KC_PGDOWN, _______, _______,
diff --git a/keyboards/handwired/co60/rev1/config.h b/keyboards/handwired/co60/rev1/config.h
index a41bde6fa2..e018e0cd8d 100644
--- a/keyboards/handwired/co60/rev1/config.h
+++ b/keyboards/handwired/co60/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER John M Daly
-#define PRODUCT CO60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B2, B5, B4, D7, D6, B3, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/co60/rev1/info.json b/keyboards/handwired/co60/rev1/info.json
new file mode 100644
index 0000000000..0b24f1e805
--- /dev/null
+++ b/keyboards/handwired/co60/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "CO60 rev 1",
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/handwired/co60/rev6/config.h b/keyboards/handwired/co60/rev6/config.h
index c142d10f29..3ab4305841 100644
--- a/keyboards/handwired/co60/rev6/config.h
+++ b/keyboards/handwired/co60/rev6/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER John M Daly
-#define PRODUCT CO60 rev6
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/handwired/co60/rev6/info.json b/keyboards/handwired/co60/rev6/info.json
new file mode 100644
index 0000000000..f24eaa40e2
--- /dev/null
+++ b/keyboards/handwired/co60/rev6/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "CO60 rev 6",
+ "usb": {
+ "device_version": "6.0.0"
+ }
+}
diff --git a/keyboards/handwired/co60/rev7/config.h b/keyboards/handwired/co60/rev7/config.h
index 16fa7cb4c5..150da56dc6 100644
--- a/keyboards/handwired/co60/rev7/config.h
+++ b/keyboards/handwired/co60/rev7/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER John M Daly
-#define PRODUCT CO60 rev7
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A8, A2, B13, B2, B10 }
#define MATRIX_COL_PINS { A10, A9, A3, A4, A5, A6, B0, B1, A15, B3, B4, B5, C13, C14, C15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/co60/rev7/info.json b/keyboards/handwired/co60/rev7/info.json
new file mode 100644
index 0000000000..8befb8663c
--- /dev/null
+++ b/keyboards/handwired/co60/rev7/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "CO60 rev 7",
+ "usb": {
+ "device_version": "7.0.0"
+ }
+}
diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h
index 6fdd87ccf5..a941ea493d 100644
--- a/keyboards/handwired/colorlice/config.h
+++ b/keyboards/handwired/colorlice/config.h
@@ -19,13 +19,6 @@ 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 0x0302
-#define DEVICE_VER 0x0001
-#define MANUFACTURER marhalloweenvt
-#define PRODUCT Colorlice
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B6, B5, B4, D7, D6, D4, E6, B0, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/colorlice/info.json b/keyboards/handwired/colorlice/info.json
index 582013c506..4e13a7c2c6 100644
--- a/keyboards/handwired/colorlice/info.json
+++ b/keyboards/handwired/colorlice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ColorLice",
+ "manufacturer": "marhalloweenvt",
"url": "",
"maintainer": "marhalloweenvt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0302",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/handwired/concertina/64key/config.h b/keyboards/handwired/concertina/64key/config.h
index 45b5a05ca4..cb897ba109 100644
--- a/keyboards/handwired/concertina/64key/config.h
+++ b/keyboards/handwired/concertina/64key/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB device descriptors */
-#define VENDOR_ID 0x444D
-#define PRODUCT_ID 0x3632
-#define DEVICE_VER 0x0001
-#define PRODUCT Concertina
-#define MANUFACTURER Viktor Eikman
-
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS { D3, D2 }
/* LEDs are not used in the standard 64key configuration. */
#define RGB_DI_PIN D3
diff --git a/keyboards/handwired/concertina/64key/info.json b/keyboards/handwired/concertina/64key/info.json
index 3b0a01346d..d826f46031 100644
--- a/keyboards/handwired/concertina/64key/info.json
+++ b/keyboards/handwired/concertina/64key/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Concertina",
+ "manufacturer": "Viktor Eikman",
"url": "https://viktor.eikman.se/article/the-concertina/",
"maintainer": "veikman",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3632",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64key": {
"layout": [
diff --git a/keyboards/handwired/consolekeyboard/18key/config.h b/keyboards/handwired/consolekeyboard/18key/config.h
index 00e99da9fd..98aa5895e4 100644
--- a/keyboards/handwired/consolekeyboard/18key/config.h
+++ b/keyboards/handwired/consolekeyboard/18key/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6761
-#define PRODUCT_ID 0x3332
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT Console Keyboard 18
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 11
diff --git a/keyboards/handwired/consolekeyboard/18key/info.json b/keyboards/handwired/consolekeyboard/18key/info.json
index a635818f64..8ab498b4e3 100644
--- a/keyboards/handwired/consolekeyboard/18key/info.json
+++ b/keyboards/handwired/consolekeyboard/18key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Console Keyboard",
+ "keyboard_name": "Console Keyboard 18",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:3167050",
"maintainer": "Gareth Edwards",
+ "usb": {
+ "vid": "0x6761",
+ "pid": "0x3332",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/consolekeyboard/20key/config.h b/keyboards/handwired/consolekeyboard/20key/config.h
index 077e73321f..1ed0e5743f 100644
--- a/keyboards/handwired/consolekeyboard/20key/config.h
+++ b/keyboards/handwired/consolekeyboard/20key/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6761
-#define PRODUCT_ID 0x3432
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT Console Keyboard 20
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/consolekeyboard/20key/info.json b/keyboards/handwired/consolekeyboard/20key/info.json
index 32c9521e68..6ac860de2a 100644
--- a/keyboards/handwired/consolekeyboard/20key/info.json
+++ b/keyboards/handwired/consolekeyboard/20key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Console Keyboard",
+ "keyboard_name": "Console Keyboard 20",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:3167050",
"maintainer": "Gareth Edwards",
+ "usb": {
+ "vid": "0x6761",
+ "pid": "0x3432",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/consolekeyboard/27key/config.h b/keyboards/handwired/consolekeyboard/27key/config.h
index daddbd6fcb..f2f97c5ddd 100644
--- a/keyboards/handwired/consolekeyboard/27key/config.h
+++ b/keyboards/handwired/consolekeyboard/27key/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6761
-#define PRODUCT_ID 0x3433
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT Console Keyboard 30
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 11
diff --git a/keyboards/handwired/consolekeyboard/27key/info.json b/keyboards/handwired/consolekeyboard/27key/info.json
index 4d6145c5d5..48c0ef5cff 100644
--- a/keyboards/handwired/consolekeyboard/27key/info.json
+++ b/keyboards/handwired/consolekeyboard/27key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Console Keyboard",
+ "keyboard_name": "Console Keyboard 27",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:3167050",
"maintainer": "Gareth Edwards",
+ "usb": {
+ "vid": "0x6761",
+ "pid": "0x3433",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/consolekeyboard/30key/config.h b/keyboards/handwired/consolekeyboard/30key/config.h
index 447f4e2a9c..6839a40dc3 100644
--- a/keyboards/handwired/consolekeyboard/30key/config.h
+++ b/keyboards/handwired/consolekeyboard/30key/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6761
-#define PRODUCT_ID 0x3433
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT Console Keyboard 30
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/consolekeyboard/30key/info.json b/keyboards/handwired/consolekeyboard/30key/info.json
index aa3c67d1d5..604093b143 100644
--- a/keyboards/handwired/consolekeyboard/30key/info.json
+++ b/keyboards/handwired/consolekeyboard/30key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Console Keyboard",
+ "keyboard_name": "Console Keyboard 30",
+ "manufacturer": "Streap Cheap",
"url": "https://www.thingiverse.com/thing:3167050",
"maintainer": "Gareth Edwards",
+ "usb": {
+ "vid": "0x6761",
+ "pid": "0x3433",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/croxsplit44/config.h b/keyboards/handwired/croxsplit44/config.h
index 009da2785e..d215b763af 100644
--- a/keyboards/handwired/croxsplit44/config.h
+++ b/keyboards/handwired/croxsplit44/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xB62C
-#define PRODUCT_ID 0x6146
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Samux6146
-#define PRODUCT splitcustom44
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { D4, D5, D6, D7 }
diff --git a/keyboards/handwired/croxsplit44/info.json b/keyboards/handwired/croxsplit44/info.json
index e10a390bbd..032da273d2 100644
--- a/keyboards/handwired/croxsplit44/info.json
+++ b/keyboards/handwired/croxsplit44/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "croxsplit44",
+ "keyboard_name": "splitcustom44",
+ "manufacturer": "Samux6146",
"url": "",
"maintainer": "Samux6146",
+ "usb": {
+ "vid": "0xB62C",
+ "pid": "0x6146",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/croxsplit44/readme.md b/keyboards/handwired/croxsplit44/readme.md
index b9eeb305b2..64a5e2593e 100644
--- a/keyboards/handwired/croxsplit44/readme.md
+++ b/keyboards/handwired/croxsplit44/readme.md
@@ -20,4 +20,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/curiosity/config.h b/keyboards/handwired/curiosity/config.h
index 8b632a5ec4..4cd00d8b2d 100644
--- a/keyboards/handwired/curiosity/config.h
+++ b/keyboards/handwired/curiosity/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342 // "SB"
-#define PRODUCT_ID 0x4355 // "CU"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Spaceman
-#define PRODUCT Curiosity
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, F7, F6, F5 }
#define MATRIX_COL_PINS { D3, D4, F4, C6, D7, E6, B5, B4, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/curiosity/info.json b/keyboards/handwired/curiosity/info.json
index 5218abc46d..738056625c 100644
--- a/keyboards/handwired/curiosity/info.json
+++ b/keyboards/handwired/curiosity/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Curiosity",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x4355",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_small_mods": {
"layout": [
diff --git a/keyboards/handwired/cyberstar/config.h b/keyboards/handwired/cyberstar/config.h
new file mode 100644
index 0000000000..bedeb157be
--- /dev/null
+++ b/keyboards/handwired/cyberstar/config.h
@@ -0,0 +1,94 @@
+/*
+Copyright 2022 Yiancar-Designs
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published byß
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 18
+
+#define MATRIX_ROW_PINS { A15, B3, A9, B5, A3 }
+#define MATRIX_COL_PINS { A4, A5, A6, A7, B0, B1, B2, B10, B11, B12, B13, B14, B15, A8, A10, A14, B8, B9 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+/* RGB Light */
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 1
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
+
+#define RGB_DI_PIN B4
+#define RGBLED_NUM 12
+#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_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/cyberstar/cyberstar.c b/keyboards/handwired/cyberstar/cyberstar.c
new file mode 100644
index 0000000000..1ddabcab0f
--- /dev/null
+++ b/keyboards/handwired/cyberstar/cyberstar.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "cyberstar.h"
diff --git a/keyboards/handwired/cyberstar/cyberstar.h b/keyboards/handwired/cyberstar/cyberstar.h
new file mode 100644
index 0000000000..13b3117c97
--- /dev/null
+++ b/keyboards/handwired/cyberstar/cyberstar.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K1E, K0F, K0G, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F, K1G, K1H, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3G, \
+ K43, K44, K46, K48, K4B, K4C, K4F, K4G, K4H \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX, XXX, XXX }, \
+ { K30, K31, XXX, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, XXX, K3G, XXX }, \
+ { XXX, XXX, XXX, K43, K44, XXX, K46, XXX, K48, XXX, XXX, K4B, K4C, XXX, XXX, K4F, K4G, K4H } \
+}
diff --git a/keyboards/handwired/cyberstar/halconf.h b/keyboards/handwired/cyberstar/halconf.h
new file mode 100644
index 0000000000..4abd83bd3b
--- /dev/null
+++ b/keyboards/handwired/cyberstar/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/cyberstar/info.json b/keyboards/handwired/cyberstar/info.json
new file mode 100644
index 0000000000..c680e6b418
--- /dev/null
+++ b/keyboards/handwired/cyberstar/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Cyberstar",
+ "manufacturer": "Yiancar-Designs",
+ "url": "https://yiancar-designs.com",
+ "maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x432A",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":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":15.25, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"x":18.5, "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":7.75, "y":1}, {"x":8.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, "w":1.5}, {"x":16.5, "y":1}, {"x":17.5, "y":1}, {"x":18.5, "y":1}, {"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":8, "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, "w":2.25}, {"x":0, "y":3}, {"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":8.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, "w":1.75}, {"x":15.25, "y":3}, {"x":17.5, "y":3}, {"x":3.25, "y":4}, {"x":4.25, "y":4, "w":1.5}, {"x":5.75, "y":4, "w":2.25}, {"x":8, "y":4, "w":2.75}, {"x":10.75, "y":4, "w":1.5}, {"x":12.25, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}, {"x":18.5, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/handwired/cyberstar/keymaps/default/keymap.c b/keyboards/handwired/cyberstar/keymaps/default/keymap.c
new file mode 100644
index 0000000000..04ce749c44
--- /dev/null
+++ b/keyboards/handwired/cyberstar/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_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_INS, KC_HOME, KC_PGUP,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_F3, 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_F4, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_VOLU, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/handwired/cyberstar/keymaps/default/readme.md b/keyboards/handwired/cyberstar/keymaps/default/readme.md
new file mode 100644
index 0000000000..3a430bff3c
--- /dev/null
+++ b/keyboards/handwired/cyberstar/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Cyberstar. VIA support disabled.
diff --git a/keyboards/handwired/cyberstar/keymaps/via/keymap.c b/keyboards/handwired/cyberstar/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1c2e1bf256
--- /dev/null
+++ b/keyboards/handwired/cyberstar/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_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_INS, KC_HOME, KC_PGUP,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_F3, 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_F4, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_VOLU, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/handwired/cyberstar/keymaps/via/readme.md b/keyboards/handwired/cyberstar/keymaps/via/readme.md
new file mode 100644
index 0000000000..fce02861d6
--- /dev/null
+++ b/keyboards/handwired/cyberstar/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The default keymap for Cyberstar. VIA support enabled.
diff --git a/keyboards/handwired/cyberstar/keymaps/via/rules.mk b/keyboards/handwired/cyberstar/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/handwired/cyberstar/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/handwired/cyberstar/mcuconf.h b/keyboards/handwired/cyberstar/mcuconf.h
new file mode 100644
index 0000000000..6b3ae79e8b
--- /dev/null
+++ b/keyboards/handwired/cyberstar/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/handwired/cyberstar/readme.md b/keyboards/handwired/cyberstar/readme.md
new file mode 100644
index 0000000000..affe90201a
--- /dev/null
+++ b/keyboards/handwired/cyberstar/readme.md
@@ -0,0 +1,32 @@
+# Cyberstar
+
+This is a 60% with nav claster layout custom PCB. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A custom keyboard with STM32F072CB
+* Hardware Availability: COntact YungBirk#1714 on discord
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/cyberstar:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make handwired/cyberstar:<keymap>:flash`)
diff --git a/keyboards/handwired/cyberstar/rules.mk b/keyboards/handwired/cyberstar/rules.mk
new file mode 100644
index 0000000000..a53d7daeb0
--- /dev/null
+++ b/keyboards/handwired/cyberstar/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+WS2812_DRIVER = pwm # Driver for RGB uderglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/d48/config.h b/keyboards/handwired/d48/config.h
index 83ca9b2247..47ae30a98f 100644
--- a/keyboards/handwired/d48/config.h
+++ b/keyboards/handwired/d48/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Andrew Dunai
-#define PRODUCT D48
-
/* Key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -17,7 +10,6 @@
#define MATRIX_ROW_PINS { B8, B9, B1, B2, B4 }
#define MATRIX_COL_PINS { A2, B0, A7, A8, A13, A14, B12, B11, B10, B15, B14, B13 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/d48/info.json b/keyboards/handwired/d48/info.json
index 03cbd0edb4..3329c4c599 100644
--- a/keyboards/handwired/d48/info.json
+++ b/keyboards/handwired/d48/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "D48",
+ "manufacturer": "Andrew Dunai",
"url": "",
"maintainer": "and3rson",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/d48/keymaps/anderson/keymap.c b/keyboards/handwired/d48/keymaps/anderson/keymap.c
index 11bc62e537..003c757ff8 100644
--- a/keyboards/handwired/d48/keymaps/anderson/keymap.c
+++ b/keyboards/handwired/d48/keymaps/anderson/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
┣â”â”â”â”â”╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊â”â”â”â”â”┫
┃L_MOD┃ F1 │ F2 │ F3 │ F4 │ F5 ┃ F6 │ F7 │ F8 │ F9 │ F10 ┃ F11 ┃
┣â”â”â”â”â”╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊â”â”â”â”â”┫
- ┃ ┃RESET│DEBUG│ │ │TIME ┃SLEEP│ SEQ │ { │ } │PTSCR┃ ┃
+ ┃ ┃QK_BOOT│DEBUG│ │ │TIME ┃SLEEP│ SEQ │ { │ } │PTSCR┃ ┃
┣â”â”â”â”â”╉─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╊â”â”â”â”â”┫
┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃
â”—â”â”â”â”â”â”»â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”»â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”·â”â”â”â”â”â”»â”â”â”â”â”â”›
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,
#endif
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
- _______, RESET, DEBUG, _______, _______, KC_SET_TIME,KC_SLEP,KC_SEQ,KC_LCBR, KC_RCBR, KC_PSCR, _______, \
+ _______, QK_BOOT, DEBUG, _______, _______, KC_SET_TIME,KC_SLEP,KC_SEQ,KC_LCBR, KC_RCBR, KC_PSCR, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
)
};
@@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
beta_pressed = record->event.pressed;
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
rgblight_setrgb(255, 255, 0);
}
#ifdef LIGHTMODE_ENABLE
diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h
index 29a008f0c6..be4891c65c 100644
--- a/keyboards/handwired/dactyl/config.h
+++ b/keyboards/handwired/dactyl/config.h
@@ -21,13 +21,6 @@ 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 0x1308
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Adereth
-#define PRODUCT Dactyl
-
#define DIODE_DIRECTION ROW2COL
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/dactyl/info.json b/keyboards/handwired/dactyl/info.json
index d48ceeb9ad..ec0fe2b7b6 100644
--- a/keyboards/handwired/dactyl/info.json
+++ b/keyboards/handwired/dactyl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dactyl",
+ "manufacturer": "Adereth",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1308",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_dactyl": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k14", "x":4, "y":1}, {"label":"k15", "x":5, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k24", "x":4, "y":2}, {"label":"k25", "x":5, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}, {"label":"k34", "x":4, "y":3}, {"label":"k35", "x":5, "y":3}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k43", "x":3, "y":4}, {"label":"k44", "x":4, "y":4}, {"label":"k55", "x":6, "y":5}, {"label":"k50", "x":7, "y":5}, {"label":"k54", "x":7, "y":6}, {"label":"k53", "x":5, "y":6, "h":2}, {"label":"k52", "x":6, "y":6, "h":2}, {"label":"k51", "x":7, "y":7}, {"label":"k06", "x":11, "y":0}, {"label":"k07", "x":12, "y":0}, {"label":"k08", "x":13, "y":0}, {"label":"k09", "x":14, "y":0}, {"label":"k0A", "x":15, "y":0}, {"label":"k0B", "x":16, "y":0}, {"label":"k16", "x":11, "y":1}, {"label":"k17", "x":12, "y":1}, {"label":"k18", "x":13, "y":1}, {"label":"k19", "x":14, "y":1}, {"label":"k1A", "x":15, "y":1}, {"label":"k1B", "x":16, "y":1}, {"label":"k26", "x":11, "y":2}, {"label":"k27", "x":12, "y":2}, {"label":"k28", "x":13, "y":2}, {"label":"k29", "x":14, "y":2}, {"label":"k2A", "x":15, "y":2}, {"label":"k2B", "x":16, "y":2}, {"label":"k36", "x":11, "y":3}, {"label":"k37", "x":12, "y":3}, {"label":"k38", "x":13, "y":3}, {"label":"k39", "x":14, "y":3}, {"label":"k3A", "x":15, "y":3}, {"label":"k3B", "x":16, "y":3}, {"label":"k47", "x":12, "y":4}, {"label":"k48", "x":13, "y":4}, {"label":"k49", "x":14, "y":4}, {"label":"k4A", "x":15, "y":4}, {"label":"k4B", "x":16, "y":4}, {"label":"k5B", "x":9, "y":5}, {"label":"k56", "x":10, "y":5}, {"label":"k57", "x":9, "y":6}, {"label":"k5A", "x":9, "y":7}, {"label":"k59", "x":10, "y":6, "h":2}, {"label":"k58", "x":11, "y":6, "h":2}]
diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c
index 40ef3b019c..8d980f7818 100644
--- a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c
+++ b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | |
* |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |RESET | | | | | | | . | 0 | = | |
+ * |QK_BOOT | | | | | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c b/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c
index e439af3e54..e54d31c184 100644
--- a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c
+++ b/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 1: Control layer (media keys, Fkeys, numpad)
*
* ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | RESET|
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | QK_BOOT|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | Mute | VolD | VolU | | | | 7 | 8 | 9 | + | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
KC_TRNS, KC_7, KC_8, KC_9, KC_KP_PLUS, KC_TRNS,
KC_TRNS, KC_4, KC_5, KC_6, KC_EQL, KC_TRNS,
KC_TRNS, KC_1, KC_2, KC_3, KC_COMM, KC_TRNS,
diff --git a/keyboards/handwired/dactyl/readme.md b/keyboards/handwired/dactyl/readme.md
index 698ef29e01..e99df7f5a2 100644
--- a/keyboards/handwired/dactyl/readme.md
+++ b/keyboards/handwired/dactyl/readme.md
@@ -21,7 +21,7 @@ To flash the firmware:
- Load the .hex file into it.
- Put the Teensy in firmware-loading mode:
- * If your current layout has a RESET key, press it.
+ * If your current layout has a `QK_BOOT` key, press it.
* If you lack a RESET key, press the reset button on the Teensy board itself.
- Click the button in the Teensy app to download the firmware.
@@ -35,5 +35,5 @@ To flash with ´teensy-loader-cli´:
- If you like, you can do both at once: `make handwired/dactyl:<keymapname>:teensy`
- Put the Teensy in firmware-loading mode:
- * If your current layout has a RESET key, press it.
+ * If your current layout has a `QK_BOOT` key, press it.
* If you lack a RESET key, press the reset button on the Teensy board itself.
diff --git a/keyboards/handwired/dactyl_left/config.h b/keyboards/handwired/dactyl_left/config.h
index c962f6e176..c10096e590 100644
--- a/keyboards/handwired/dactyl_left/config.h
+++ b/keyboards/handwired/dactyl_left/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RedForty
-#define PRODUCT dactyl_left
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS \
{ D0, B7, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/dactyl_left/info.json b/keyboards/handwired/dactyl_left/info.json
index 980601758f..e8ab5e04c6 100644
--- a/keyboards/handwired/dactyl_left/info.json
+++ b/keyboards/handwired/dactyl_left/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "dactyl_left",
+ "manufacturer": "RedForty",
"url": "",
"maintainer": "RedForty",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, {"x":6, "y":4.75}, {"x":7, "y":4.75}, {"x":5, "y":5.75, "h":2}, {"x":6, "y":5.75, "h":2}, {"x":7, "y":5.75}, {"x":7, "y":6.75}]
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h
index 7db11618cf..0a03dd9b1f 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.h
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/config.h
index e417599a40..804db6c7e3 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/config.h
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/config.h
@@ -18,14 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0003
-#ifdef MANUFACTURER
- #undef MANUFACTURER
-#endif
-#define MANUFACTURER DLFord
-#define PRODUCT Dactyl Minidox (3x5+3)
-
// Communication
// #define USE_I2C
#define USE_SERIAL
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json
index abf23aa45d..b7c2c99f09 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/info.json
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 3x5_3",
+ "keyboard_name": "Dactyl Minidox (3x5+3)",
+ "manufacturer": "DLFord",
"url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/",
"maintainer": "dlford",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3536",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
index b403c2ce3b..cbb1b42fca 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
@@ -355,7 +355,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
LGUI_FIND,LALT_HOME,LCTL_PGUP,LSFT_PGDN,KC_END, KC_LEFT,RSFT_DOWN,RCTL_UP,RALT_RGHT,RGUI_F11,
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- DF_QWERTY,DF_COLEMAK,KC_VOLD, KC_VOLU, RESET, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, KC_F12,
+ DF_QWERTY,DF_COLEMAK,KC_VOLD, KC_VOLU, QK_BOOT, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, KC_F12,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
VVV, TG(4), VVV, VVV, VVV, VVV
// |--------+--------+--------| |--------+--------+--------|
diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.h b/keyboards/handwired/dactyl_manuform/4x5/4x5.h
index 73f6be64c2..e410c22466 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/4x5.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h
index 8a06aeab8e..d6d568bf4e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/config.h
@@ -20,11 +20,6 @@ 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
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json
index beeafd06e0..7dfe18c06e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x5/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dactyl Manuform 4x5",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3435",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h
index 682c7a868b..6b0ddbfe8e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#include "../../config.h"
-
/* Use I2C or Serial, not both */
#define USE_SERIAL
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c
index 0a1c90b6bf..009d88fd0e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c
@@ -1,6 +1,4 @@
-#include "dactyl_manuform.h"
-#include "action_layer.h"
-#include "eeconfig.h"
+#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c
index bf2c08e805..092bd3e430 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_dm_base_wrapper(
_______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
- _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______,
+ _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______,
_______,_______,_______, _______,_______,_______
),};
// clang-format on
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
index 27526140c9..3860a696c8 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/4x5_5.h b/keyboards/handwired/dactyl_manuform/4x5_5/4x5_5.h
new file mode 100644
index 0000000000..d2790473b5
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/4x5_5.h
@@ -0,0 +1,29 @@
+// Copyright 2022 Shem Sedrick (@ssedrick)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+#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, R31, \
+ L34, L44, R40, R30, \
+ L42, L43, R41, R42 \
+) { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { XXX, L31, L32, L33, L34 }, \
+ { XXX, XXX, L42, L43, L44 }, \
+\
+ { R00, R01, R02, R03, R04 }, \
+ { R10, R11, R12, R13, R14 }, \
+ { R20, R21, R22, R23, R24 }, \
+ { R30, R31, R32, R33, XXX }, \
+ { R40, R41, R42, XXX, XXX }, \
+}
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/config.h b/keyboards/handwired/dactyl_manuform/4x5_5/config.h
new file mode 100644
index 0000000000..baaab51614
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/config.h
@@ -0,0 +1,18 @@
+// Copyright 2022 Shem Sedrick (@ssedrick)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 10
+#define MATRIX_COLUMNS 5
+
+// Wiring pins
+#define MATRIX_ROW_PINS { F7, B1, B3, B2, B4 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, F6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define EE_HANDS
+#define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/info.json b/keyboards/handwired/dactyl_manuform/4x5_5/info.json
new file mode 100644
index 0000000000..10b938a5c9
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/info.json
@@ -0,0 +1,70 @@
+{
+ "keyboard_name": "Dactyl Manuform 4x5 5 thumb keys",
+ "manufacturer": "ssedrick",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/4x5_5",
+ "maintainer": "ssedrick",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3435",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"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": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7362505f0f
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c
@@ -0,0 +1,155 @@
+// Copyright 2022 Shem Sedrick (@ssedrick)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "print.h"
+
+enum key_layers {
+ _BASE,
+ _COLEMAK,
+ _RAISE,
+ _LOWER
+};
+
+enum layer_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+#define SH_ESC SFT_T(KC_ESC)
+#define ____ KC_TRANSPARENT
+
+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 | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_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_SLSH,
+ KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV,
+ SH_ESC, KC_BSPC,
+ KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
+ RAISE, KC_LCTRL, LOWER, KC_ENT
+ ),
+
+ /* Colemak
+ * ,----------------------------------, ,----------------------------------,
+ * | q | w | f | p | g | | j | l | u | y | ; |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | a | r | s | t | d | | h | n | e | i | o |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | z | x | c | v | b | | k | m | , | . | / |
+ * '------+------+------+-------------' '------+------+------+------+------'
+ * | [ | ] | | ' | `~ |
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_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,
+ KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV,
+ KC_ESC, KC_BSPC,
+ KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
+ RAISE, KC_LCTRL, LOWER, KC_ENT
+ ),
+ /* RAISE
+ * ,----------------------------------, ,----------------------------------,
+ * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | ( | ) | { | } | = | | - | 4 | 5 | 6 | ; |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | QK_BOOT| BOOT | [ | ] | | | | 1 | 2 | 3 | |
+ * |------+------+------+-------------| |------+------+------+------+------,
+ * | | | | 0 | . |
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_RAISE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ S(KC_9), S(KC_0), KC_LCBR, KC_RCBR, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
+ QK_RBT, QK_BOOT, KC_LBRC, KC_RBRC, ____, ____, KC_1, KC_2, KC_3, ____,
+ ____, ____, KC_0, KC_DOT,
+ ____, ____,
+ ____, ____, ____, ____,
+ ____, ____, ____, ____
+ ),
+
+ /* LOWER
+ * ,----------------------------------, ,----------------------------------,
+ * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | ( | ) | { | } | = | | | - | + | | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | | | | | | | | LEFT | DOWN | UP | RIGHT|
+ * |------+------+------+-------------| |------+------+------+------+------,
+ * | | | |QWERTY|COLEMA|
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_LOWER] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, ____, KC_MINS, KC_EQL, KC_PIPE, ____,
+ ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ ____, ____, QWERTY, COLEMAK,
+ ____, ____,
+ ____, ____, ____, ____,
+ ____, ____, ____, ____
+ )
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // If console is enabled, it will print the matrix position and status of each key pressed
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+#endif
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_BASE);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
new file mode 100644
index 0000000000..cf6d7d7120
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
@@ -0,0 +1,161 @@
+// Copyright 2022 Shem Sedrick (@ssedrick)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "print.h"
+
+enum key_layers {
+ _BASE,
+ _COLEMAK,
+ _RAISE,
+ _LOWER
+};
+
+enum layer_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+};
+
+
+#define RAISE TT(_RAISE)
+#define LOWER MO(_LOWER)
+#define SH_ESC SFT_T(KC_ESC)
+#define UNDSC RSFT(KC_MINS)
+#define MAC_LOCK C(G(KC_D))
+#define ____ KC_TRANSPARENT
+
+#undef TAPPING_TOGGLE
+#define TAPPING_TOGGLE 2
+
+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 | | ENTER|
+ * |-------------, ,------+------|
+ * | GUI | TAB | | BCKSP| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | SHIFT| 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_SLSH,
+ KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
+ SH_ESC, KC_ENT,
+ KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
+ RAISE, KC_LCTRL, KC_BSPC, LOWER
+ ),
+
+ /* Colemak
+ * ,----------------------------------, ,----------------------------------,
+ * | q | w | f | p | g | | j | l | u | y | ; |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | a | r | s | t | d | | h | n | e | i | o |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | z | x | c | v | b | | k | m | , | . | / |
+ * '------+------+------+-------------' '------+------+------+------+------'
+ * | [ | ] | | ' | `~ |
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_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,
+ KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
+ SH_ESC, KC_ENT,
+ KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
+ RAISE, KC_LCTRL, KC_BSPC, LOWER
+ ),
+ /* RAISE
+ * ,----------------------------------, ,----------------------------------,
+ * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | ( | ) | [ | ] | = | | _ | 4 | 5 | 6 | ; |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | QK_BOOT| BOOT | | | | | | 1 | 2 | 3 | |
+ * |------+------+------+-------------| |------+------+------+------+------,
+ * |MAC_LC| | | 0 | . |
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_RAISE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
+ QK_RBT, QK_BOOT, ____, ____, ____, ____, KC_1, KC_2, KC_3, ____,
+ MAC_LOCK, ____, KC_0, KC_DOT,
+ ____, ____,
+ ____, ____, ____, ____,
+ ____, ____, ____, ____
+ ),
+
+ /* LOWER
+ * ,----------------------------------, ,----------------------------------,
+ * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | ( | ) | { | } | = | | _ | - | + | \ | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | NEXT | PLAY | VOLU | VOLD | | | | LEFT | DOWN | UP | RIGHT|
+ * |------+------+------+-------------| |------+------+------+------+------,
+ * | | | |QWERTY|COLEMA|
+ * '-------------+------, ,------|-------------'
+ * | ESC | | BSPC |
+ * |-------------, ,------+------|
+ * | GUI | TAB | | SHIFT| SPACE|
+ * |------+------| |------+------|
+ * | RAISE| CTRL | | LOWER| ENTER|
+ * '-------------' '-------------'
+ */
+ [_LOWER] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, UNDSC, KC_MINS, KC_EQL, KC_BSLS, KC_PIPE,
+ KC_MNXT, KC_MPLY, KC_VOLU, KC_VOLD, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ ____, ____, QWERTY, COLEMAK,
+ ____, ____,
+ ____, ____, ____, ____,
+ ____, ____, ____, ____
+ )
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // If console is enabled, it will print the matrix position and status of each key pressed
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+#endif
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_BASE);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk
new file mode 100644
index 0000000000..fec29f5419
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk
@@ -0,0 +1,21 @@
+
+# MCU for Elite-C/Pro Micro
+MCU = atmega32u4
+
+# BOOTLOADER for Elite-C
+# BOOTLOADER = atmel-dfu
+# BOOTLOADER for Pro Micro
+# BOOTLOADER = caterina
+
+# Build Options
+
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.h b/keyboards/handwired/dactyl_manuform/4x6/4x6.h
index dcdb1a39ec..99b11a712a 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/4x6.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/4x6.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h
index 2e79517b25..9d2e3880ed 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/config.h
@@ -20,10 +20,6 @@ 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
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json
index 4a5c8d5eeb..f2c26516eb 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x6/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dactyl Manuform 4x6",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3436",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c
index 7f3fc2585f..2e92d4b86b 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_7] = LAYOUT(
- KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , RGB_HUI , RESET ,
+ KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , RGB_HUI , QK_BOOT ,
KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , RGB_SAI , RGB_TOG ,
KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , RGB_VAI , RGB_MODE_FORWARD ,
KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS ,
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h
index f34d8be4df..df639cbf22 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
index 2e79517b25..9d2e3880ed 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
@@ -20,10 +20,6 @@ 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
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/info.json b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
index 3534cc01a6..e62f9f5b07 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dactyl Manuform 4x6 5 thumb keys",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3436",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.h b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
index 606a213492..ebc959ddf1 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h
index 6b93da9588..fc3f00bbc4 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/config.h
@@ -20,10 +20,6 @@ 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)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json
index d5778f0455..81bf8b19e8 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 5x6",
+ "keyboard_name": "Dactyl-Manuform (5x6)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3536",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_5x6": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
index 78c16fb554..326eded640 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[VIM] = LAYOUT_5x6(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______,
_______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
index 5a848d26e5..a213d43d39 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c
index 71a91cfd2a..54ecf8101d 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _________________SYMBOL_L3_________________, _________________SYMBOL_R3_________________, _______,
_______, _______, KC_P0 , KC_PDOT,
_______, _______, _______, _______,
- RESET , _______, _______, _______,
+ QK_BOOT, _______, _______, _______,
RGB_TOG, _______, _______, _______
),
[MDIA] = LAYOUT_5x6_wrapper(
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c
index 001687b57d..1f9102e829 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_7] = LAYOUT_5x6(
- KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
index 41d8ee94fa..a4bd37c27b 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,KC_WH_U,_______,_______, _______, _______ , KC_MS_U , _______ ,_______,_______,
_______,_______,KC_WH_L,KC_WH_D,KC_WH_R ,_______, KC_BTN1, KC_MS_L , KC_MS_D , KC_MS_R ,_______,_______,
_______,_______,KC_ACL0,KC_ACL1,KC_ACL2,_______, _______, KC_BTN2 , _______ , _______ ,_______ ,_______,
- _______,_______, _______, RESET,
+ _______,_______, _______, QK_BOOT,
KC_BTN1,KC_BTN2, _______,_______,
_______,KC_BTN2, _______,_______,
_______,_______, _______,_______
@@ -55,11 +55,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ARROWS] = LAYOUT_5x6(
- RESET,_______, _______ ,_______,_______ ,TG(_WINDOWS), _______,_______,_______,_______,_______,_______,
+ QK_BOOT,_______, _______ ,_______,_______ ,TG(_WINDOWS), _______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______, _______, KC_HOME , KC_UP , KC_END ,_______,_______,
_______,_______,_______,_______,_______ ,_______, KC_HOME, KC_LEFT , KC_DOWN , KC_RIGHT ,KC_END,_______,
_______,_______,_______,_______,_______,_______, _______, KC_PGDOWN , _______ , KC_PGUP ,_______ ,_______,
- RESET,_______, _______, _______,
+ QK_BOOT,_______, _______, _______,
_______,_______, _______,_______,
_______,_______, _______,_______,
_______,_______, _______,_______
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NUMBERS] = LAYOUT_5x6(
- RESET,_______, _______ ,_______,_______ ,_______, KC_PSLS,KC_PAST,KC_PPLS,KC_PMNS,_______,_______,
+ QK_BOOT,_______, _______ ,_______,_______ ,_______, KC_PSLS,KC_PAST,KC_PPLS,KC_PMNS,_______,_______,
_______,_______,_______,KC_PSLS,KC_PAST,_______, _______, KC_7 , KC_8 , KC_9 ,_______,_______,
_______,_______,_______,KC_PMNS,KC_PPLS ,_______, _______, KC_4 , KC_5 , KC_6 ,_______,_______,
_______,_______,_______,_______,_______,_______, _______, KC_1 , KC_2 , KC_3 ,_______ ,_______,
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
index de931feabd..d3ce17882f 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_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 ,
- _______, _______, _______, _______, _______, _______, RESET , _______, _______, _______, KC_MUTE, SE_PIPE,
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MUTE, SE_PIPE,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , KC_VOLU, SE_BSLS,
_______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, _______,
_______, _______, _______, _______,
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c
index b89b798fd6..055df1b87d 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├────────┼────────┤ ├────────┼────────┤
_______, _______, _______, _______,
// ├────────┼────────┤ ├────────┼────────┤
- _______, RESET, _______, _______
+ _______, QK_BOOT, _______, _______
// └────────┴────────┘ └────────┴────────┘
),
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├────────┼────────┤ ├────────┼────────┤
KC_LGUI, KC_GRV, KC_DEL, KC_RALT,
// ├────────┼────────┤ ├────────┼────────┤
- XXXXXXX, XXXXXXX, RESET, XXXXXXX
+ XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX
// └────────┴────────┘ └────────┴────────┘
),
};
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 790fdb0695..7191119fd9 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
@@ -16,7 +16,7 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
index cb147654ba..031400fe0c 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
@@ -19,10 +19,6 @@ 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)
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
index 6c4f6b2fca..efb791d63a 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 5x6 2 extra keys and 5 thumb keys",
+ "keyboard_name": "Dactyl-Manuform (5x6+2)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "jceb",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3536",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_5x6_2_5": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
index 794b0be9fe..3179426585 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
index 031ccf88d7..273f90c600 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
@@ -20,10 +20,6 @@ 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)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
index 7bcbf65812..82885646eb 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 5x6 5 thumb keys",
+ "keyboard_name": "Dactyl-Manuform (5x6)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "jceb",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3536",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_5x6_5": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c
index 1e164081f2..c341bdf0b6 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[VIM] = LAYOUT_5x6_5(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______,
_______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c
index 3503bfd368..413fa70492 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, REDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PERC, KC_DLR , KC_HASH, KC_GRV , XXXXXXX, KC_F12 ,
XXXXXXX, ALL , CUT , COPY , PASTE , XXXXXXX, KC_CIRC, KC_SLSH, KC_ASTR, KC_TILD, KC_QUES, XXXXXXX,
_______, UNDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, _______,
- RESET , XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX,
_______, KC_PGUP, KC_PGDN, _______
),
[_LOWER] = LAYOUT_5x6_5(
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 ,
KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX,
_______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RESET ,
+ XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, QK_BOOT,
_______, KC_PGUP, KC_PGDN, _______
),
[_ADJUST] = LAYOUT_5x6_5(
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
index 0c0c781be7..7cd2597a1f 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h
index 6b915d6118..b24d002006 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/config.h
@@ -20,10 +20,6 @@ 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)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json
index 7280e90ca0..6a0b8f21ae 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x7/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 5x7",
+ "keyboard_name": "Dactyl-Manuform (5x7)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3537",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_5x7": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
index 7bff55701a..657d057787 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
index af3cc49296..d929a3516d 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
@@ -3,6 +3,7 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h
index 15682fcadf..3568b56143 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/config.h
@@ -20,10 +20,6 @@ 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)"
-
/* USB Device descriptor parameter */
/* key matrix size */
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index 1f4e7dc3a4..bfc65baf18 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 6x6",
+ "keyboard_name": "Dactyl-Manuform (6x6)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3636",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x6": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
index 2fb783e0b8..ab258a0c5e 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
@@ -14,7 +14,7 @@ enum custom_layers {
#define KC_SPEC KC_SFTENT //KC_SFTENT - Right Shift when held, Enter when tapped
#define KC_INS_ KC_INS
#define KC_TAB_ KC_TAB
-#define RESET__ RESET
+#define RESET__ QK_BOOT
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/handwired/dactyl_manuform/6x6/readme.md b/keyboards/handwired/dactyl_manuform/6x6/readme.md
index 9b079be466..c7500448da 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/readme.md
+++ b/keyboards/handwired/dactyl_manuform/6x6/readme.md
@@ -60,4 +60,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at F1 for left side, and F7 for right side.
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET`, in dumam keymap it's assigned to F1 and F12 keys on mod layers.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`, in dumam keymap it's assigned to F1 and F12 keys on mod layers.
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
index 7c767cae7e..74cb474a5b 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
@@ -4,7 +4,7 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/config.h b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
index 8f965f6957..b7aeb2cc0d 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
@@ -20,10 +20,6 @@ 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+4)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/info.json b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
index 470e775c0e..1ee5e566be 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 6x6 4 extra keys",
+ "keyboard_name": "Dactyl-Manuform (6x6+4)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "dmik",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3636",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x6_4": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h
index 00f931281b..1adb7d4696 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h
@@ -4,7 +4,7 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
index 8f965f6957..b7aeb2cc0d 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
@@ -20,10 +20,6 @@ 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+4)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
index e106a04c69..a78fe14fcd 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 6x6 Kinesis Advantage edition",
+ "keyboard_name": "Dactyl-Manuform (6x6+4)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "dmik",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3636",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x6_kinesis": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/6x7/6x7.h b/keyboards/handwired/dactyl_manuform/6x7/6x7.h
index 8d69ddd097..bd66c309fc 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/6x7.h
+++ b/keyboards/handwired/dactyl_manuform/6x7/6x7.h
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
#define XXX KC_NO
diff --git a/keyboards/handwired/dactyl_manuform/6x7/config.h b/keyboards/handwired/dactyl_manuform/6x7/config.h
index f66f4b036f..5805496e2b 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x7/config.h
@@ -20,10 +20,6 @@ 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 (6x7)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
diff --git a/keyboards/handwired/dactyl_manuform/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json
index 7b08dd8881..89548923b6 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x7/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl Manuform 6x7",
+ "keyboard_name": "Dactyl-Manuform (6x7)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3636",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x7": {
"layout": [
diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h
index 18942f9e5f..b0745f8573 100644
--- a/keyboards/handwired/dactyl_manuform/config.h
+++ b/keyboards/handwired/dactyl_manuform/config.h
@@ -20,10 +20,6 @@ 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
-
/* mouse config */
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.c b/keyboards/handwired/dactyl_manuform/dactyl_manuform.c
deleted file mode 100644
index 043bbd5672..0000000000
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "dactyl_manuform.h"
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
deleted file mode 100644
index c339370f8b..0000000000
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#pragma once
-
-#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_4x6_5)
-# include "4x6_5.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_6x6_4)
-# include "6x6_4.h"
-#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6_kinesis)
-# include "6x6_kinesis.h"
-#elif defined(KEYBOARD_handwired_dactyl_manuform_6x7)
-# include "6x7.h"
-#elif defined(KEYBOARD_handwired_dactyl_manuform_3x5_3)
-# include "3x5_3.h"
-#elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key)
-# include "62key.h"
-#endif
-
-#include "quantum.h"
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
index 2d52e7e5fb..673164b424 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
@@ -1,6 +1,6 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "quantum.h"
// This uses the same coordinate system as the program that defines
// the case model, but not the same coordinates.
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
index cb65d8c19c..8b256a86f1 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
@@ -2,9 +2,6 @@
#include "config_common.h"
-#define PRODUCT_ID 0x3632
-#define DEVICE_VER 0x0001
-#define PRODUCT DMOTE (62-key)
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
index 82b9738cd5..7860fe6c6a 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "DMOTE 62-key",
+ "keyboard_name": "DMOTE (62-key)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "veikman",
+ "usb": {
+ "vid": "0x444D",
+ "pid": "0x3632",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_62key": {
"layout": [
diff --git a/keyboards/handwired/dactyl_promicro/config.h b/keyboards/handwired/dactyl_promicro/config.h
index 19874be799..a110a81c81 100644
--- a/keyboards/handwired/dactyl_promicro/config.h
+++ b/keyboards/handwired/dactyl_promicro/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include "config_common.h"
-#define PRODUCT Dactyl Ergo(6x6)
/* key matrix size */
// Rows are doubled-up
@@ -32,12 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-//#define MANUFACTURER tshort
-
/* mouse config */
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
diff --git a/keyboards/handwired/dactyl_promicro/info.json b/keyboards/handwired/dactyl_promicro/info.json
index 0f0ac0b357..c923591309 100644
--- a/keyboards/handwired/dactyl_promicro/info.json
+++ b/keyboards/handwired/dactyl_promicro/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Dactyl ProMicro",
+ "keyboard_name": "Dactyl Ergo(6x6)",
+ "manufacturer": "tshort",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x6": {
"layout": [
diff --git a/keyboards/handwired/dactyl_rah/config.h b/keyboards/handwired/dactyl_rah/config.h
index b5f272ba70..08f53541a3 100644
--- a/keyboards/handwired/dactyl_rah/config.h
+++ b/keyboards/handwired/dactyl_rah/config.h
@@ -19,13 +19,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ralphie02
-#define PRODUCT DACTYL_RAH
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/handwired/dactyl_rah/info.json b/keyboards/handwired/dactyl_rah/info.json
index 55e0c6c521..4612b3a9b1 100644
--- a/keyboards/handwired/dactyl_rah/info.json
+++ b/keyboards/handwired/dactyl_rah/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dactyl RAH",
+ "manufacturer": "ralphie02",
"url": "https://qmk.fm/keyboards/",
"maintainer": "ralphie02",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_6x6": {
"layout": [
diff --git a/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c b/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c
index 6b07051c4b..6f0c25a4dd 100644
--- a/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c
+++ b/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC,CTL_ESC,KC_LALT, KC_RALT,KC_ENT ,KC_SPC
),
[NAV] = LAYOUT_6x6(
- RESET , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , RESET ,
+ QK_BOOT , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , QK_BOOT ,
_______,KC_VOLU,KC_WBAK,KC_MS_U,KC_WFWD,KC_WH_U, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 ,
_______,KC_VOLD,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10,
KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NO , KC_PAST, KC_0 , KC_NO ,_______,KC_PSLS, KC_F11,
diff --git a/keyboards/handwired/daishi/config.h b/keyboards/handwired/daishi/config.h
index e4a45972c8..e02c7c889c 100644
--- a/keyboards/handwired/daishi/config.h
+++ b/keyboards/handwired/daishi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D6D
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MetaMechs
-#define PRODUCT Daishi
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D6, D7, E0, E1, C0, C1, C2 }
#define MATRIX_COL_PINS { E6, E7, E3, B0, B1, B2, A6, A5, A4, A3, A2, A1, A0, F7, F6, F5, F4, F3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json
index f0b18bebbc..96afaa6a5b 100644
--- a/keyboards/handwired/daishi/info.json
+++ b/keyboards/handwired/daishi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Daishi",
+ "manufacturer": "MetaMechs",
"url": "",
"maintainer": "Croktopus",
+ "usb": {
+ "vid": "0x6D6D",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/datahand/config.h b/keyboards/handwired/datahand/config.h
index c9726f6ddb..f12b446e51 100644
--- a/keyboards/handwired/datahand/config.h
+++ b/keyboards/handwired/datahand/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-/* Taken from the DataHand PS/2-USB adaptor. */
-#define VENDOR_ID 0x13BA
-#define PRODUCT_ID 0x0017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DataHand
-#define PRODUCT DataHand
-
/* key matrix size */
#define MATRIX_ROWS 13
#define MATRIX_COLS 4
diff --git a/keyboards/handwired/datahand/info.json b/keyboards/handwired/datahand/info.json
index 21ec229a98..a0779c11ed 100644
--- a/keyboards/handwired/datahand/info.json
+++ b/keyboards/handwired/datahand/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Handwired DataHand",
+ "keyboard_name": "DataHand",
+ "manufacturer": "DataHand",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x13BA",
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dc/mc/001/config.h b/keyboards/handwired/dc/mc/001/config.h
index 5cba80831f..b6d6f60dfc 100644
--- a/keyboards/handwired/dc/mc/001/config.h
+++ b/keyboards/handwired/dc/mc/001/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443 // 'D' 'C'
-#define PRODUCT_ID 0x4D43 // 'M' 'C'
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Daniel Cormier
-#define PRODUCT DC MC 001
-
/*
BUTTON_MUTE = _BV(4),
BUTTON_STOP = _BV(0),
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ \
{ B4, B0, B1, B2, B3 } \
}
-#define UNUSED_PINS
/*
RE_CHANNEL_A = _BV(6),
diff --git a/keyboards/handwired/dc/mc/001/info.json b/keyboards/handwired/dc/mc/001/info.json
index d9562f660e..9162b6e77e 100644
--- a/keyboards/handwired/dc/mc/001/info.json
+++ b/keyboards/handwired/dc/mc/001/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Daniel Cormier's Media Controller (v1)",
+ "keyboard_name": "DC MC 001",
+ "manufacturer": "Daniel Cormier",
"url": "https://imgur.com/a/PM9lQ",
"maintainer": "Daniel Cormier (Twitter: @danielcormier)",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x4D43",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ddg_56/config.h b/keyboards/handwired/ddg_56/config.h
index 6d880d1fd5..ab3c0738a0 100644
--- a/keyboards/handwired/ddg_56/config.h
+++ b/keyboards/handwired/ddg_56/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB195
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Spaceman
-#define PRODUCT DDG_56
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/handwired/ddg_56/info.json b/keyboards/handwired/ddg_56/info.json
index 300de84132..697f6c7762 100644
--- a/keyboards/handwired/ddg_56/info.json
+++ b/keyboards/handwired/ddg_56/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ddg_56",
+ "keyboard_name": "DDG_56",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "spaceman",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB195",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/dqz11n1g/config.h b/keyboards/handwired/dqz11n1g/config.h
new file mode 100644
index 0000000000..3bd8123426
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/config.h
@@ -0,0 +1,51 @@
+/*
+Copyright (c) 2022 David Kuehling <dvdkhlng TA posteo TOD de>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* Matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 19
+
+/* Pin-out */
+#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4 }
+
+/* The pin connecting to the SN74HC165 SH/~LD in */
+#define ROW_SHIFT_PIN B6
+
+/* Column read via SPI (shift register) */
+/* #define MATRIX_COL_PINS { } */
+
+#define LED_CAPS_LOCK_PIN F7 /* A0 */
+#define LED_NUM_LOCK_PIN F5 /*A2 */
+#define LED_SCROLL_LOCK_PIN F4 /*A3 */
+
+#define LED_FUN_LOCK_PIN F6 /* A1 (handled in layer_state_set_user()) */
+
+/* audio config */
+#define AUDIO_PIN B5
+#define AUDIO_CLICKY
+#define AUDIO_INIT_DELAY
+#define AUDIO_CLICKY_FREQ_RANDOMNESS 0.0f
+#define NO_MUSIC_MODE
+
+/* diodes go row->col, though this is hard-coded in matrix.c and we drive the
+ * matrix differently: we have pull-down on the columns and drive the selected
+ * row high */
+/* #define DIODE_DIRECTION ROW2COL */
diff --git a/keyboards/handwired/dqz11n1g/dqz11n1g.h b/keyboards/handwired/dqz11n1g/dqz11n1g.h
new file mode 100644
index 0000000000..f5c55bd6d5
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/dqz11n1g.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2022 David Kuehling <dvdkhlng TA posteo TOD de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/* Fill actually existing keys into the 7x19 keyboard matrix */
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0J, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1J, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2J, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3J, \
+ k40, k41, k42, k43, k44, k45, k4D, k4E, k4F, k4G, k4H, k4J, \
+ k51, k52, k53, k54, k5E, k5F, k5G, k5H, \
+ k46, k47, k48, k4A, k4B, k4C, \
+ k56, k57, k58, k5A, k5B, k5C, \
+ k68, k6A \
+) { \
+ /* left hand */ /* middle/thumb block */ /* right hand */ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0J }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1J }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2J }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3J }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4J }, \
+ { XXX, k51, k52, k53, k54, XXX, k56, k57, k58, XXX, k5A, k5B, k5C, XXX, k5E, k5F, k5G, k5H, XXX }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k68, XXX, k6A, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
+}
+
+/*
+ * Local Variables:
+ * c-basic-offset:4
+ * fill-column: 76
+ * End:
+ */
diff --git a/keyboards/handwired/dqz11n1g/info.json b/keyboards/handwired/dqz11n1g/info.json
new file mode 100644
index 0000000000..24605b34d2
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/info.json
@@ -0,0 +1,147 @@
+{
+ "keyboard_name": "DQz11N1G",
+ "manufacturer": "Unknown",
+ "url": "https://github.com/dvdkhlng/qmk_firmware_dqz11n1g",
+ "maintainer": "dvdkhlng",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4451",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0, "matrix": [0, 0] },
+ {"x": 1, "y": 0, "matrix": [0, 1] },
+ {"x": 2, "y": 0, "matrix": [0, 2] },
+ {"x": 3, "y": 0, "matrix": [0, 3] },
+ {"x": 4, "y": 0, "matrix": [0, 4] },
+ {"x": 5, "y": 0, "matrix": [0, 5] },
+
+ {"x": 7, "y": 0, "matrix": [0, 6] },
+ {"x": 8, "y": 0, "matrix": [0, 7] },
+ {"x": 9, "y": 0, "matrix": [0, 8] },
+ {"x": 10, "y": 0, "matrix": [0, 9] },
+ {"x": 11, "y": 0, "matrix": [0, 10] },
+ {"x": 12, "y": 0, "matrix": [0, 11] },
+ {"x": 13, "y": 0, "matrix": [0, 12] },
+
+ {"x": 15, "y": 0, "matrix": [0, 13] },
+ {"x": 16, "y": 0, "matrix": [0, 14] },
+ {"x": 17, "y": 0, "matrix": [0, 15] },
+ {"x": 18, "y": 0, "matrix": [0, 16] },
+ {"x": 19, "y": 0, "matrix": [0, 17] },
+ {"x": 20, "y": 0, "matrix": [0, 18] },
+
+ {"x": 0, "y": 1, "matrix": [1, 0] },
+ {"x": 1, "y": 1, "matrix": [1, 1] },
+ {"x": 2, "y": 1, "matrix": [1, 2] },
+ {"x": 3, "y": 1, "matrix": [1, 3] },
+ {"x": 4, "y": 1, "matrix": [1, 4] },
+ {"x": 5, "y": 1, "matrix": [1, 5] },
+
+ {"x": 7, "y": 1, "matrix": [1, 6] },
+ {"x": 8, "y": 1, "matrix": [1, 7] },
+ {"x": 9, "y": 1, "matrix": [1, 8] },
+ {"x": 10, "y": 1, "matrix": [1, 9] },
+ {"x": 11, "y": 1, "matrix": [1, 10] },
+ {"x": 12, "y": 1, "matrix": [1, 11] },
+ {"x": 13, "y": 1, "matrix": [1, 12] },
+
+ {"x": 15, "y": 1, "matrix": [1, 13] },
+ {"x": 16, "y": 1, "matrix": [1, 14] },
+ {"x": 17, "y": 1, "matrix": [1, 15] },
+ {"x": 18, "y": 1, "matrix": [1, 16] },
+ {"x": 19, "y": 1, "matrix": [1, 17] },
+ {"x": 20, "y": 1, "matrix": [1, 18] },
+
+ {"x": 0, "y": 2, "matrix": [2, 0] },
+ {"x": 1, "y": 2, "matrix": [2, 1] },
+ {"x": 2, "y": 2, "matrix": [2, 2] },
+ {"x": 3, "y": 2, "matrix": [2, 3] },
+ {"x": 4, "y": 2, "matrix": [2, 4] },
+ {"x": 5, "y": 2, "matrix": [2, 5] },
+
+ {"x": 7, "y": 2, "matrix": [2, 6] },
+ {"x": 8, "y": 2, "matrix": [2, 7] },
+ {"x": 9, "y": 2, "matrix": [2, 8] },
+ {"x": 10, "y": 2, "matrix": [2, 9] },
+ {"x": 11, "y": 2, "matrix": [2, 10] },
+ {"x": 12, "y": 2, "matrix": [2, 11] },
+ {"x": 13, "y": 2, "matrix": [2, 12] },
+
+ {"x": 15, "y": 2, "matrix": [2, 13] },
+ {"x": 16, "y": 2, "matrix": [2, 14] },
+ {"x": 17, "y": 2, "matrix": [2, 15] },
+ {"x": 18, "y": 2, "matrix": [2, 16] },
+ {"x": 19, "y": 2, "matrix": [2, 17] },
+ {"x": 20, "y": 2, "matrix": [2, 18] },
+
+ {"x": 0, "y": 3, "matrix": [3, 0] },
+ {"x": 1, "y": 3, "matrix": [3, 1] },
+ {"x": 2, "y": 3, "matrix": [3, 2] },
+ {"x": 3, "y": 3, "matrix": [3, 3] },
+ {"x": 4, "y": 3, "matrix": [3, 4] },
+ {"x": 5, "y": 3, "matrix": [3, 5] },
+
+ {"x": 7, "y": 3, "matrix": [3, 6] },
+ {"x": 8, "y": 3, "matrix": [3, 7] },
+ {"x": 9, "y": 3, "matrix": [3, 8] },
+ {"x": 10, "y": 3, "matrix": [3, 9] },
+ {"x": 11, "y": 3, "matrix": [3, 10] },
+ {"x": 12, "y": 3, "matrix": [3, 11] },
+ {"x": 13, "y": 3, "matrix": [3, 12] },
+
+ {"x": 15, "y": 3, "matrix": [3, 13] },
+ {"x": 16, "y": 3, "matrix": [3, 14] },
+ {"x": 17, "y": 3, "matrix": [3, 15] },
+ {"x": 18, "y": 3, "matrix": [3, 16] },
+ {"x": 19, "y": 3, "matrix": [3, 17] },
+ {"x": 20, "y": 3, "matrix": [3, 18] },
+
+ {"x": 0, "y": 4, "h": 2, "matrix": [4, 0] },
+ {"x": 1, "y": 4, "matrix": [4, 1] },
+ {"x": 2, "y": 4, "matrix": [4, 2] },
+ {"x": 3, "y": 4, "matrix": [4, 3] },
+ {"x": 4, "y": 4, "matrix": [4, 4] },
+ {"x": 5, "y": 4, "matrix": [4, 5] },
+
+ {"x": 15, "y": 4, "matrix": [4, 13] },
+ {"x": 16, "y": 4, "matrix": [4, 14] },
+ {"x": 17, "y": 4, "matrix": [4, 15] },
+ {"x": 18, "y": 4, "matrix": [4, 16] },
+ {"x": 19, "y": 4, "matrix": [4, 17] },
+ {"x": 20, "y": 4, "h": 2, "matrix": [4, 18] },
+
+ {"x": 1, "y": 5, "matrix": [5, 1] },
+ {"x": 2, "y": 5, "matrix": [5, 2] },
+ {"x": 3, "y": 5, "matrix": [5, 3] },
+ {"x": 4, "y": 5, "matrix": [5, 4] },
+
+ {"x": 16, "y": 5, "matrix": [5, 14] },
+ {"x": 17, "y": 5, "matrix": [5, 15] },
+ {"x": 18, "y": 5, "matrix": [5, 16] },
+ {"x": 19, "y": 5, "matrix": [5, 17] },
+
+ {"x": 5, "y": 7, "matrix": [4, 6] },
+ {"x": 6, "y": 7, "matrix": [4, 7] },
+ {"x": 7, "y": 7, "matrix": [4, 8] },
+
+ {"x": 13, "y": 7, "matrix": [4, 10] },
+ {"x": 14, "y": 7, "matrix": [4, 11] },
+ {"x": 15, "y": 7, "matrix": [4, 12] },
+
+ {"x": 5, "y": 8, "h": 2, "matrix": [5, 6] },
+ {"x": 6, "y": 8, "h": 2, "matrix": [5, 7] },
+ {"x": 7, "y": 8, "matrix": [5, 8] },
+
+ {"x": 13, "y": 8, "matrix": [5, 10] },
+ {"x": 14, "y": 8, "h": 2, "matrix": [5, 11] },
+ {"x": 15, "y": 8, "h": 2, "matrix": [5, 12] },
+
+ {"x": 7, "y": 9, "matrix": [6, 8] },
+ {"x": 13, "y": 9, "matrix": [6, 10] }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c b/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c
new file mode 100644
index 0000000000..29d9cad7b7
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright (c) 2022 David Kuehling < dvdkhlng TA posteo TOD de >
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 { _DEFAULT, _FUNCTION };
+#define KC_FUN TG(_FUNCTION)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_DEFAULT] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_FUN, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_VOLU, KC_ESC, KC_P4, KC_P5, KC_P6, KC_PAST, KC_SCRL, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL,
+ KC_NUBS,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_VOLD, KC_GRV, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_BRK, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_MUTE, KC_WSCH,KC_P0,KC_PDOT,KC_PENT,KC_PPLS,KC_INS, 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_RSFT,
+ /* */ KC_LCTL, KC_LGUI,KC_LALT,KC_RBRC, KC_NUHS,KC_RALT,KC_APP, KC_RCTL, /* */
+
+ /* thumb keys: */ KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_RGHT, KC_DEL,
+ /* thumb keys: */ KC_SPC, KC_TAB, KC_PGUP, KC_UP, KC_ENT, KC_SPC,
+ /* thumb keys: */ KC_PGDN, KC_DOWN
+ ),
+
+ /* This is the "function key locked" layer. It is not documented by
+ * Maltron, so just putting some "Quantum" keycodes here for testing that
+ * the layer exists and Fun Lock LED works. */
+ [_FUNCTION] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,KC_TRNS,KC_BTN3,KC_MS_U,KC_WH_U,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, CK_UP, AU_ON, KC_MS_L,KC_BTN1,KC_MS_R,KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CK_DOWN,AU_OFF, KC_BTN2,KC_MS_D,KC_WH_D,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CK_TOGG,KC_NO, KC_ACL0,KC_ACL1,KC_ACL2,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ /* */ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* */
+
+ /* thumb keys: */ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ /* thumb keys: */ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ /* thumb keys: */ KC_NO, KC_NO
+ )
+};
+
+/* Show "Fun Lock" layer state via the "Fun Lock" LED */
+layer_state_t layer_state_set_user(layer_state_t state) {
+
+ setPinOutput(LED_FUN_LOCK_PIN);
+
+ if (layer_state_cmp(state, _FUNCTION))
+ writePinHigh(LED_FUN_LOCK_PIN);
+ else
+ writePinLow(LED_FUN_LOCK_PIN);
+
+ return state;
+}
+
+/*
+ * Local Variables:
+ * c-basic-offset:4
+ * fill-column: 76
+ * End:
+ */
diff --git a/keyboards/handwired/dqz11n1g/keymaps/default/readme.md b/keyboards/handwired/dqz11n1g/keymaps/default/readme.md
new file mode 100644
index 0000000000..d61546eb37
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/keymaps/default/readme.md
@@ -0,0 +1,17 @@
+![DQz11N1G-DE Layout Image](https://u.cubeupload.com/ddklg/OPBN5q.jpg)
+
+# Default Layout for DQz11N1G-DE
+
+This is the layout corresponding to what the Maltron keyboard DQz11N1G-DE I
+own came with (using the original pre-installed controller). Note that this
+differs from German Maltron layout as published on [Maltron's
+website](https://www.maltron.com/germany.html). Use the photo above as a
+reference for the layout implemented here.
+
+I did not find any official documentation about the the Function Lock key on
+the original Maltron keyboards. It seems that it implements some of the
+features that are documented for the one-handed Maltron keyboards. Most
+keys don't send any keycodes at all when function lock is enabed.
+
+We instead map some of the Quantum keycodes (mouse keys and audio control)
+in the middle (keypad) section of the keypad, when Function Lock is enabled. \ No newline at end of file
diff --git a/keyboards/handwired/dqz11n1g/matrix.c b/keyboards/handwired/dqz11n1g/matrix.c
new file mode 100644
index 0000000000..f9f3f2b68f
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/matrix.c
@@ -0,0 +1,131 @@
+/*
+ Copyright (c) 2022 David Kuehling <dvdkhlng TA posteo TOD de>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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 <avr/io.h>
+
+#include "spi_master.h"
+#include "quantum.h"
+#include "matrix.h"
+
+static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
+
+static void unselect_rows(void);
+
+void matrix_init_custom(void) {
+ /* initialize row pins */
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ setPinOutput(row_pins[row]);
+ }
+ unselect_rows();
+
+ /* columns read via shift-register on SPI lines */
+
+ /* Enable SPI, Master, set clock rate fck/2. First bit already at Qh
+ * output before clock edge (CPHA=0). SN74HC165 shift register shifts
+ * on low-to-high transition (CPOL=1). Receive the LSB first (DORD=1).
+ */
+ bool lsbFirst = true;
+ uint8_t mode = 2; /* CPOL=1, CPHA=0 */
+ uint16_t divisor = 16;
+
+ /* According to Atmega32U4 datasheet, PB0 *must* be set to output,
+ * otherwise it will interfere with SPI master operation. On pro-micro
+ * it's connected to a yellew LED. */
+ pin_t slavePin = PB0;
+ spi_init();
+ spi_start(slavePin, lsbFirst, mode, divisor);
+
+ /* Initialize pin controlling the shift register's SH/~LD pin */
+ setPinOutput(ROW_SHIFT_PIN);
+}
+
+static void select_row(uint8_t row) {
+ pin_t pin = row_pins[row];
+ if (pin != NO_PIN) {
+ writePinHigh(pin);
+ }
+}
+
+static void unselect_row(uint8_t row) {
+ pin_t pin = row_pins[row];
+ if (pin != NO_PIN) {
+ writePinLow(pin);
+ }
+}
+
+static void unselect_rows(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ unselect_row(row);
+ }
+}
+
+bool matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
+ /* Start with a clear matrix row */
+ matrix_row_t current_row_value = 0;
+
+ /* Set shift register SH/~LD pin to "load" mode */
+ writePinLow(ROW_SHIFT_PIN);
+ select_row(current_row);
+ matrix_output_select_delay();
+
+ /* Set shift register SH/~LD pin to "shift" mode */
+ writePinHigh(ROW_SHIFT_PIN);
+
+ /* For each octet of columns... */
+ for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index += 8) {
+ spi_status_t read_result = spi_read();
+ if (read_result >= 0) {
+ /* only if SPI read successful: populate the matrix row with the
+ state of the 8 consecutive column bits */
+ current_row_value |= ((matrix_row_t)read_result << col_index);
+ }
+ }
+
+ /* Unselect row & wait for all columns signals to go high. */
+ unselect_row(current_row);
+ matrix_output_unselect_delay(current_row, current_row_value != 0);
+
+ /* Update row in matrix. */
+ if (current_row_value != current_matrix[current_row]) {
+ current_matrix[current_row] = current_row_value;
+ return true;
+ }
+
+ return false;
+}
+
+bool matrix_scan_custom(matrix_row_t curr_matrix[]) {
+ bool changed = false;
+
+ /* set row, read cols */
+ for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
+ changed |= matrix_read_cols_on_row(curr_matrix, current_row);
+ }
+
+ return changed;
+}
+
+/*
+ * Local Variables:
+ * c-basic-offset:4
+ * fill-column: 76
+ * End:
+ */
diff --git a/keyboards/handwired/dqz11n1g/readme.md b/keyboards/handwired/dqz11n1g/readme.md
new file mode 100644
index 0000000000..0e3a57873d
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/readme.md
@@ -0,0 +1,80 @@
+# DQz11N1G
+
+![DQz11N1G](https://u.cubeupload.com/ddklg/OPBN5q.jpg)
+
+Firmware for a DIY controller replacement for one of the ortholinear contoured
+keyboards manufactured by [PCD Maltron Ltd](https://www.maltron.com)
+
+This work here in no way officially associated with PCD Maltron Ltd and comes
+with NO WARRANTY. Modifying your Maltron keyboard as described below will
+certainly void your warranty and may cause damage to your keyboard. Proceed
+at your own risk!
+
+* maintainer: [David Kuehling](https://github.com/dvdkhlng/qmk_firmware_dqz11n1g)
+* Hardware Supported: Maltron DQz11N1G with a replacement controller board
+ assembled as described below. The work here is based on a german version
+ of the keyboard: DQz11N1G-DE. I assume, but don't know for sure, that
+ minor or no changes at all are required to make this work on different
+ language versions of the keyboard.
+* Hardware Availability:
+ * [PCD Maltron Ltd](https://www.maltron.com), for the original keyboard
+ * 1x [Arduino Pro Micro](https://www.sparkfun.com/products/12640)
+ * 3x [SN74HC165](https://www.ti.com/product/SN74HC165)
+ * 1x DIL connector 2 rows a 17 pins.
+ * 19x pull-down resistors (10k Ohm),
+ * 4 LED current limiting resistors (not sure about the correct resistance,
+ using 470 Ohm here)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/dqz11n1g:default
+
+## In Detail
+
+[PCD Maltron Ltd](https://www.maltron.com) manufacturs ergonomic keyboards
+that appear to be hand-wired internally. For the Maltron DQz11N1G-DE
+keyboard that I happen to own, the keyboard matrix is wired to a 34-pin DIL
+connector. This makes it rather easy to replace the proprietary
+controller-board with a self-made board based on the QMK firmware.
+
+I don't really like the default layout of my Maltron DQz11N1G-DE keyboard,
+and modding it to work with QMK allows me to adapt it to my needs. It
+especially allows for the two space keys to assume different roles, thereby
+creating an additional easily reachable thumb-key.
+
+### Internal Details of Keyboard Matrix and DIL Connector
+
+![DQz11N1G-DE keyboard matrix](https://u.cubeupload.com/ddklg/OJFue6.jpg)
+
+![DQz11N1G-DE keyboard matrix connector](https://u.cubeupload.com/ddklg/fjFXeL.png)
+
+### Replacement Keyboard Controller Board
+
+Due to supply chain problems, I decided to base this on an
+Arduino-compatible [Pro Micro](https://www.sparkfun.com/products/12640)
+board which is still easy to source.
+
+Unfortunately pin-count of the DQz11N1G-DE's keyboard matrix is way beyond
+the Pro Micro's available I/O pin count. I'm using three 8-bit
+shift-registers ([SN74HC165](https://www.ti.com/product/SN74HC165) ) to
+connect the 19 colums of the keyboard matrix for readout. Due to diode
+direction in DQz11N1G-DE we also need 19 pull-down resistors one for each of
+the utilized shift-register inputs.
+
+This is a design sketch of the replacement board this is based on. Note how
+we need a custom matrix.c source file to deal with the shift register based
+keyboard readout.
+
+![Sketch of Keyboard Controller Board](https://u.cubeupload.com/ddklg/GBZgSf.png)
+
+This is how the assembled controller board looks like, on the right side you
+see the original PIC-based controller the keyboard ships with.
+
+![The assembled controller next to the original controller the keyboard ships with](https://u.cubeupload.com/ddklg/KLYF2V.jpg)
+
+Inside of the keyboard after installing the new controller board:
+
+![Installed controller](https://u.cubeupload.com/ddklg/Br0aiF.jpg)
+
+(Not visible in the photo: I drilled hole into the keyboard above the USB
+connector for a reset switch to simplify flashing controller firmware)
diff --git a/keyboards/handwired/dqz11n1g/rules.mk b/keyboards/handwired/dqz11n1g/rules.mk
new file mode 100644
index 0000000000..db8a809da9
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Keyboard matrix uses shift-registers read via SPI
+CUSTOM_MATRIX = lite
+SRC += matrix.c
+QUANTUM_LIB_SRC += spi_master.c
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = yes # Audio output
+
diff --git a/keyboards/handwired/dygma/raise/ansi/info.json b/keyboards/handwired/dygma/raise/ansi/info.json
index f7f9a07c1c..34fae50a89 100644
--- a/keyboards/handwired/dygma/raise/ansi/info.json
+++ b/keyboards/handwired/dygma/raise/ansi/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Dygma Raise",
- "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
- "maintainer": "ibash",
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h
index 674fd592cf..64c6bad8e8 100644
--- a/keyboards/handwired/dygma/raise/config.h
+++ b/keyboards/handwired/dygma/raise/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2201
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dygma
-#define PRODUCT Raise
-
/* key matrix size */
// rows are doubled for split
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/dygma/raise/info.json b/keyboards/handwired/dygma/raise/info.json
new file mode 100644
index 0000000000..9bf37d6d27
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "Raise",
+ "manufacturer": "Dygma",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
+ "maintainer": "ibash",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x2201",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/handwired/dygma/raise/iso/info.json b/keyboards/handwired/dygma/raise/iso/info.json
index f7f9a07c1c..34fae50a89 100644
--- a/keyboards/handwired/dygma/raise/iso/info.json
+++ b/keyboards/handwired/dygma/raise/iso/info.json
@@ -1,7 +1,4 @@
{
- "keyboard_name": "Dygma Raise",
- "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
- "maintainer": "ibash",
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk
index a0120c8159..b7ff577361 100644
--- a/keyboards/handwired/dygma/raise/rules.mk
+++ b/keyboards/handwired/dygma/raise/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/eagleii/config.h b/keyboards/handwired/eagleii/config.h
index aa53dfa460..2007137d84 100644
--- a/keyboards/handwired/eagleii/config.h
+++ b/keyboards/handwired/eagleii/config.h
@@ -2,17 +2,9 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x9789
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eagle
-#define PRODUCT II
-
#define MATRIX_ROWS 12
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { D0, B5, F1, B2, F7, F6, D4, D7, B4, B7, F5, B0 }
#define MATRIX_COL_PINS { D2, C6, E6, D5, B3, D3, D1, C7, F0, B6, B1, F4 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/handwired/eagleii/info.json b/keyboards/handwired/eagleii/info.json
index 366a3ad35f..7a221e8224 100644
--- a/keyboards/handwired/eagleii/info.json
+++ b/keyboards/handwired/eagleii/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "EagleII",
+ "keyboard_name": "II",
+ "manufacturer": "Eagle",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9789",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/elrgo_s/config.h b/keyboards/handwired/elrgo_s/config.h
index 0ba6f77586..dc20ab1d3e 100644
--- a/keyboards/handwired/elrgo_s/config.h
+++ b/keyboards/handwired/elrgo_s/config.h
@@ -30,13 +30,6 @@ Copyright 2021 Yaroslav Smirnov <elorenn@bk.ru>
#define DIODE_DIRECTION COL2ROW
-/* USB Device descriptor parameter */
-#define PRODUCT Elrgo S
-#define MANUFACTURER Eloren
-#define VENDOR_ID 0x454C
-#define PRODUCT_ID 0x3436
-#define DEVICE_VER 0x0001
-
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
diff --git a/keyboards/handwired/elrgo_s/info.json b/keyboards/handwired/elrgo_s/info.json
index 7c2039605d..a176872fbf 100644
--- a/keyboards/handwired/elrgo_s/info.json
+++ b/keyboards/handwired/elrgo_s/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Elrgo S",
+ "manufacturer": "Eloren",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x454C",
+ "pid": "0x3436",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_5": {
"layout": [
diff --git a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c
index 075879bbf0..8049050f5c 100644
--- a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c
+++ b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c
@@ -53,6 +53,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO , KC_SLEP , KC_VOLU , KC_BRIU , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NLCK ,
KC_NO , KC_WAKE , KC_VOLD , KC_BRID , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_NO , KC_NO , MO(_ADJUST),
- QK_BOOT , KC_NO , KC_NO , KC_TRNS , KC_NO , KC_NO , KC_TRNS , KC_TRNS , KC_NO , KC_NO
+ QK_BOOT, KC_NO , KC_NO , KC_TRNS , KC_NO , KC_NO , KC_TRNS , KC_TRNS , KC_NO , KC_NO
)
};
diff --git a/keyboards/handwired/elrgo_s/readme.md b/keyboards/handwired/elrgo_s/readme.md
index 5fb5ab6acb..d741f423d9 100644
--- a/keyboards/handwired/elrgo_s/readme.md
+++ b/keyboards/handwired/elrgo_s/readme.md
@@ -25,4 +25,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button through the hole on the left side of the case.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/ergocheap/config.h b/keyboards/handwired/ergocheap/config.h
index 26905e8cb3..9d99463961 100644
--- a/keyboards/handwired/ergocheap/config.h
+++ b/keyboards/handwired/ergocheap/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEDE //0xFEED
-#define PRODUCT_ID 0x6942 //0x6465
-#define DEVICE_VER 0x0001
-#define MANUFACTURER xSteins
-#define PRODUCT ERGOCHEAP
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -47,6 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
/*
* Feature disable options
diff --git a/keyboards/handwired/ergocheap/info.json b/keyboards/handwired/ergocheap/info.json
index 8896b932f2..4e2853cd85 100644
--- a/keyboards/handwired/ergocheap/info.json
+++ b/keyboards/handwired/ergocheap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ergocheap",
+ "manufacturer": "xSteins",
"url": "",
"maintainer": "xSteins",
+ "usb": {
+ "vid": "0xFEDE",
+ "pid": "0x6942",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/evk/v1_3/config.h b/keyboards/handwired/evk/v1_3/config.h
index 374ad9d0c3..9a2192ec44 100644
--- a/keyboards/handwired/evk/v1_3/config.h
+++ b/keyboards/handwired/evk/v1_3/config.h
@@ -17,13 +17,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yang Cui
-#define PRODUCT evk v1_3
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B0, B1, B2, B3, B7, D0 }
#define MATRIX_COL_PINS \
{ D1, D2, D3, C6, C7, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL // the positive current flows into the rows and then out of the columns negative.
diff --git a/keyboards/handwired/evk/v1_3/info.json b/keyboards/handwired/evk/v1_3/info.json
index fb225566fd..99f7256522 100644
--- a/keyboards/handwired/evk/v1_3/info.json
+++ b/keyboards/handwired/evk/v1_3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Ergonomic Vertical Keyboard (EVK) version 1.3 with Teensy 2.0",
+ "keyboard_name": "evk v1_3",
+ "manufacturer": "Yang Cui",
"url": "https://github.com/YangPiCui/ErgonomicVerticalKeyboard",
"maintainer": "YangPiCui",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/fc200rt_qmk/config.h b/keyboards/handwired/fc200rt_qmk/config.h
index 2eec7f584c..1ac044e8b2 100644
--- a/keyboards/handwired/fc200rt_qmk/config.h
+++ b/keyboards/handwired/fc200rt_qmk/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFFFF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NaCly
-#define PRODUCT fc200rt_qmk
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6, B7, D0, D1 }
#define MATRIX_COL_PINS { D2, D3, C6, C7, D5, D4, D6, D7, B4, B5, B6, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/fc200rt_qmk/info.json b/keyboards/handwired/fc200rt_qmk/info.json
index e6c295831c..261692012e 100644
--- a/keyboards/handwired/fc200rt_qmk/info.json
+++ b/keyboards/handwired/fc200rt_qmk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "fc200rt_qmk",
+ "manufacturer": "NaCly",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFFFF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":"Win", "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}]
diff --git a/keyboards/handwired/fivethirteen/config.h b/keyboards/handwired/fivethirteen/config.h
index 6ef436506b..9b5af88e57 100644
--- a/keyboards/handwired/fivethirteen/config.h
+++ b/keyboards/handwired/fivethirteen/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rdg
-#define PRODUCT fivethirteen
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, F7, B6, B5, B4 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, F0, D0, D1, D2, D3, C6, C7, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/fivethirteen/info.json b/keyboards/handwired/fivethirteen/info.json
index e1f429e548..51dd52faa6 100644
--- a/keyboards/handwired/fivethirteen/info.json
+++ b/keyboards/handwired/fivethirteen/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "fivethirteen",
+ "manufacturer": "rdg",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/floorboard/config.h b/keyboards/handwired/floorboard/config.h
index 74be3e4426..2f071df7bd 100644
--- a/keyboards/handwired/floorboard/config.h
+++ b/keyboards/handwired/floorboard/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kevin Lockwood
-#define PRODUCT Floorboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A2, A1, A0, B8 }
#define MATRIX_COL_PINS { B7, B6, B5, B4, B3, B2, B1, B9, B0, B15, B14, B13 }
-#define UNUSED_PINS { B10, B11, B12, A14, A13, A4, A5, A6, A7, A8, A15, A10, A9 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/floorboard/info.json b/keyboards/handwired/floorboard/info.json
index 6ccff9e60d..2dcc40d1af 100644
--- a/keyboards/handwired/floorboard/info.json
+++ b/keyboards/handwired/floorboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Floorboard",
+ "manufacturer": "Kevin Lockwood",
"url": "https://imgur.com/gJLgwQI",
"maintainer": "Kevin Lockwood",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/handwired/frankie_macropad/config.h b/keyboards/handwired/frankie_macropad/config.h
index 57e6d7e0dd..883807239b 100644
--- a/keyboards/handwired/frankie_macropad/config.h
+++ b/keyboards/handwired/frankie_macropad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF00D
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eric Wood
-#define PRODUCT frankie_macropad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2 }
#define MATRIX_COL_PINS { B3, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/frankie_macropad/info.json b/keyboards/handwired/frankie_macropad/info.json
index 55d8fcf16f..00a0d17615 100644
--- a/keyboards/handwired/frankie_macropad/info.json
+++ b/keyboards/handwired/frankie_macropad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "frankie_macropad",
+ "manufacturer": "Eric Wood",
"url": "https://github.com/eric-wood/macro-pad",
"maintainer": "eric-wood",
+ "usb": {
+ "vid": "0xF00D",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/frenchdev/config.h b/keyboards/handwired/frenchdev/config.h
index 84f16ea96e..f3d5398270 100644
--- a/keyboards/handwired/frenchdev/config.h
+++ b/keyboards/handwired/frenchdev/config.h
@@ -19,13 +19,6 @@ 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 0x1307
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nicolas Poirey
-#define PRODUCT Frenchdev V1
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 6
diff --git a/keyboards/handwired/frenchdev/info.json b/keyboards/handwired/frenchdev/info.json
index ca29c96e51..48725f37ac 100644
--- a/keyboards/handwired/frenchdev/info.json
+++ b/keyboards/handwired/frenchdev/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "Frenchdev V1",
+ "manufacturer": "Nicolas Poirey",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1307",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
index 2d917b412e..11463a0162 100644
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -209,7 +209,7 @@ void press_underscore(void) {
uint8_t old_layer=_BASE;
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
frenchdev_led_1_off();
frenchdev_led_2_off();
diff --git a/keyboards/handwired/freoduo/config.h b/keyboards/handwired/freoduo/config.h
index 3af04f4ea7..e4393a319d 100644
--- a/keyboards/handwired/freoduo/config.h
+++ b/keyboards/handwired/freoduo/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB141
-#define PRODUCT_ID 0x0602 //F is 6th in alphabet, 02 as in DUO
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ParyzFilip
-#define PRODUCT Freoduo
-
/* key matrix size */
/* rows are doubled-up */
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/freoduo/info.json b/keyboards/handwired/freoduo/info.json
index 2fe8a4a485..de0a04392b 100644
--- a/keyboards/handwired/freoduo/info.json
+++ b/keyboards/handwired/freoduo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Freoduo",
+"manufacturer": "ParyzFilip",
"url": "https://github.com/FilipParyz",
"maintainer": "https://github.com/FilipParyz",
+"usb": {
+ "vid": "0xB141",
+ "pid": "0x0602",
+ "device_version": "0.0.1"
+},
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/fruity60/config.h b/keyboards/handwired/fruity60/config.h
index 7d63a657ec..b21e752d85 100644
--- a/keyboards/handwired/fruity60/config.h
+++ b/keyboards/handwired/fruity60/config.h
@@ -19,13 +19,6 @@ 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 0xB170
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yanfali
-#define PRODUCT fruity60
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 11
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B6, B5, D7, C6, D0, D1 }
#define MATRIX_COL_PINS \
{ F7, F6, F5, F4, F1, F0, D2, D3, B7, D6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/fruity60/info.json b/keyboards/handwired/fruity60/info.json
index d9b583faaf..40e38795e8 100644
--- a/keyboards/handwired/fruity60/info.json
+++ b/keyboards/handwired/fruity60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "fruity60",
+ "manufacturer": "yanfali",
"url": "https://github.com/yanfali/fruity60",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB170",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"label":"Backspace", "x":14, "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":"Caps Lock", "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":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Menu", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/handwired/gamenum/config.h b/keyboards/handwired/gamenum/config.h
index 6fba6586da..eb9efef846 100644
--- a/keyboards/handwired/gamenum/config.h
+++ b/keyboards/handwired/gamenum/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Seth-Senpai
-#define PRODUCT GameNum
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/gamenum/info.json b/keyboards/handwired/gamenum/info.json
index d7d87ad202..a2d4bb3ce4 100644
--- a/keyboards/handwired/gamenum/info.json
+++ b/keyboards/handwired/gamenum/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "gamenum",
+ "keyboard_name": "GameNum",
+ "manufacturer": "Seth-Senpai",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1234",
+ "pid": "0x5678",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/hacked_motospeed/config.h b/keyboards/handwired/hacked_motospeed/config.h
index 062376222f..690e96365c 100644
--- a/keyboards/handwired/hacked_motospeed/config.h
+++ b/keyboards/handwired/hacked_motospeed/config.h
@@ -19,13 +19,6 @@ 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 0x0690
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MMO_Corp
-#define PRODUCT hacked_motospeed
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 12
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// ER DR CR BR AR FR FL AL BL CL DL EL
#define MATRIX_COL_PINS { F7, F6, F5, F4, F3, F2, E0, E1, C0, C1, C2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/hacked_motospeed/info.json b/keyboards/handwired/hacked_motospeed/info.json
index d5da5e4578..a0fcd930c3 100644
--- a/keyboards/handwired/hacked_motospeed/info.json
+++ b/keyboards/handwired/hacked_motospeed/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hacked Motospeed",
+ "manufacturer": "MMO_Corp",
"url": "",
"maintainer": "Deckweiss",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0690",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"ESC", "x":0, "y":0, "h":2}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Z", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0, "w":2}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":"(", "x":11, "y":1}, {"label":")", "x":12, "y":1}, {"label":"=", "x":0, "y":2}, {"label":"Y", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"?", "x":11, "y":2}, {"label":"Fn", "x":0, "y":3, "w":2}, {"label":"Num", "x":2, "y":3}, {"label":"Bksp", "x":3, "y":3}, {"label":"Enter", "x":4, "y":3}, {"label":"Spc", "x":5, "y":3}, {"label":"LShift", "x":7, "y":3}, {"label":"LCtrl", "x":8, "y":3}, {"label":"LAlt", "x":9, "y":3}, {"label":"RAlt", "x":10, "y":3}, {"label":"Meta", "x":11, "y":3}, {"label":"Fn", "x":12, "y":2, "h":2}]
diff --git a/keyboards/handwired/heisenberg/config.h b/keyboards/handwired/heisenberg/config.h
index 9438f3a082..84224a4514 100644
--- a/keyboards/handwired/heisenberg/config.h
+++ b/keyboards/handwired/heisenberg/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ardakilic
-#define PRODUCT Heisenberg
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D3, D2, D1, D0 }
#define MATRIX_COL_PINS \
{ C6, D7, E6, B4, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/heisenberg/info.json b/keyboards/handwired/heisenberg/info.json
index 4f08514d2f..9756e8981e 100644
--- a/keyboards/handwired/heisenberg/info.json
+++ b/keyboards/handwired/heisenberg/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Heisenberg",
+ "manufacturer": "Ardakilic",
"url": "https://github.com/Ardakilic",
"maintainer": "Arda Kilicdagi",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c b/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c
index 2581e01bf8..bfce6420af 100644
--- a/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c
+++ b/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c
@@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, EEP_RST, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, QK_BOOT, EEP_RST, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/hexon38/config.h b/keyboards/handwired/hexon38/config.h
index 6187aa539e..b6529b3ddf 100644
--- a/keyboards/handwired/hexon38/config.h
+++ b/keyboards/handwired/hexon38/config.h
@@ -4,13 +4,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER pepaslabs
-#define PRODUCT hexon38
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -18,7 +11,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F0, B2, F4 }
#define MATRIX_COL_PINS { C6, D3, D2, D1, D0, B7, F6, F7, B6, B5, B4, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/hexon38/info.json b/keyboards/handwired/hexon38/info.json
index 09127debb7..d993e33a37 100644
--- a/keyboards/handwired/hexon38/info.json
+++ b/keyboards/handwired/hexon38/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hexon38",
+ "manufacturer": "pepaslabs",
"url": "",
"maintainer": "cellularmitosis",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/hillside/0_1/0_1.c b/keyboards/handwired/hillside/0_1/0_1.c
deleted file mode 100644
index ee096f18a7..0000000000
--- a/keyboards/handwired/hillside/0_1/0_1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright 2021 Michael McCoyd (@mmccoyd)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "0_1.h"
diff --git a/keyboards/handwired/hillside/0_1/0_1.h b/keyboards/handwired/hillside/0_1/0_1.h
deleted file mode 100644
index 0aeefdf630..0000000000
--- a/keyboards/handwired/hillside/0_1/0_1.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2021 Michael McCoyd (@mmccoyd)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts those identifiers into a two-dimensional array which
- * represents the switch matrix.
- */
-
-// clang-format off
-#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, LT4, RT4, R20, R21, R22, R23, R24, R25, \
- L30, LT0, LT1, LT2, LT3, RT3, RT2, RT1, RT0, R30 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, LT0, LT1, LT2, LT3, LT4 }, \
- { R05, R04, R03, R02, R01, R00 }, \
- { R15, R14, R13, R12, R11, R10 }, \
- { R25, R24, R23, R22, R21, R20 }, \
- { R30, RT0, RT1, RT2, RT3, RT4 } \
- }
-// clang-format on
diff --git a/keyboards/handwired/hillside/0_1/info.json b/keyboards/handwired/hillside/0_1/info.json
deleted file mode 100644
index 7e128d5191..0000000000
--- a/keyboards/handwired/hillside/0_1/info.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "manufacturer": "mmccoyd",
- "maintainer": "mmccoyd",
-
- "keyboard_name": "Hillside",
- "url": "http://github.com/mmccoyd/hillside/",
-
- "tags": ["split", "column stagger", "choc v1", "choc spaced" ],
-
- "processor": "atmega32u4",
-
- "matrix_pins": {
- "rows": ["D7", "E6", "B4", "B5"],
- "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
- },
- "diode_direction": "COL2ROW",
-
- "usb": {
- "vid": "0xFEED",
- "pid": "0x67C0",
- "device_version": "0.0.1"
- },
-
- "features": {
- "encoder": true,
- "extrakey": true,
- "rgblight": true
- },
- "split": {
- "soft_serial_pin": "D2",
- "main": "left"
- },
-
- "rgblight": {
- "led_count": 5,
- "pin": "D3",
- "split": true,
- "hue_steps": 8,
- "saturation_steps": 8,
- "brightness_steps": 8
- },
-
- "layouts": {
- "LAYOUT": {
- "layout": [
-
- {"label": "Tab", "x": 0, "y": 0.93},
- {"label": "Q", "x": 1, "y": 0.93},
- {"label": "W", "x": 2, "y": 0.31},
- {"label": "E", "x": 3, "y": 0},
- {"label": "R", "x": 4, "y": 0.28},
- {"label": "T", "x": 5, "y": 0.42},
-
- {"label": "Y", "x": 9.5, "y": 0.42},
- {"label": "U", "x": 10.5, "y": 0.28},
- {"label": "I", "x": 11.5, "y": 0},
- {"label": "O", "x": 12.5, "y": 0.31},
- {"label": "P", "x": 13.5, "y": 0.93},
- {"label": "Backspace", "x": 14.5, "y": 0.93},
-
-
- {"label": "Ctrl", "x": 0, "y": 1.93},
- {"label": "A", "x": 1, "y": 1.93},
- {"label": "S", "x": 2, "y": 1.31},
- {"label": "D", "x": 3, "y": 1},
- {"label": "F", "x": 4, "y": 1.28},
- {"label": "G", "x": 5, "y": 1.42},
-
- {"label": "H", "x": 9.5, "y": 1.42},
- {"label": "J", "x": 10.5, "y": 1.28},
- {"label": "K", "x": 11.5, "y": 1},
- {"label": "L", "x": 12.5, "y": 1.31},
- {"label": ";", "x": 13.5, "y": 1.93},
- {"label": "'", "x": 14.5, "y": 1.93},
-
-
- {"label": "Shift", "x": 0, "y": 2.93},
- {"label": "Z", "x": 1, "y": 2.93},
- {"label": "X", "x": 2, "y": 2.31},
- {"label": "C", "x": 3, "y": 2},
- {"label": "V", "x": 4, "y": 2.28},
- {"label": "B", "x": 5, "y": 2.42},
- {"label": "`", "x": 6, "y": 2.78},
-
- {"label": "Esc", "x": 8.5, "y": 2.78},
- {"label": "N", "x": 9.5, "y": 2.42},
- {"label": "M", "x": 10.5, "y": 2.28},
- {"label": ",", "x": 11.5, "y": 2},
- {"label": ".", "x": 12.5, "y": 2.31},
- {"label": "/", "x": 13.5, "y": 2.93},
- {"label": "Shift", "x": 14.5, "y": 2.93},
-
-
- {"label": "Enter", "x": 2, "y": 3.31},
- {"label": "Gui", "x": 3.5, "y": 3.28},
- {"label": "Alt", "x": 4.5, "y": 3.42},
- {"label": "Num", "x": 5.5, "y": 3.78},
- {"label": "Nav", "x": 6.5, "y": 4.14},
-
-
- {"label": "Sym", "x": 8, "y": 4.14},
- {"label": "Space", "x": 9, "y": 3.78},
- {"label": "Alt", "x": 10, "y": 3.42},
- {"label": "Gui", "x": 11, "y": 3.28},
- {"label": "App", "x": 12.5, "y": 3.31}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json b/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json
deleted file mode 100644
index 5c672f8b8b..0000000000
--- a/keyboards/handwired/hillside/0_1/keymaps/default/keymap.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{ "version": 1,
- "notes": "",
- "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
- "keyboard": "handwired/hillside/0_1",
- "keymap": "default",
- "layout": "LAYOUT",
- "layers": [
- ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T",
- "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC",
-
- "KC_CAPS", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G",
- "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_ENT",
-
- "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV",
- "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT",
-
- "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)",
- "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_QUOT"
-
- ],
- ["KC_TAB" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y",
- "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC",
-
- "KC_CAPS", "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I",
- "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT",
-
- "KC_LSFT", "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_GRV",
- "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT",
-
- "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)",
- "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_SLSH"
-
- ],
- ["KC_TAB" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B",
- "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC",
-
- "KC_CAPS", "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G",
- "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT",
-
- "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_GRV",
- "KC_ESC" , "KC_K" , "KC_H" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT",
-
- "KC_LCTL", "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)",
- "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_QUOT"
-
- ],
- ["KC_NO" , "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU",
- "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL",
-
- "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD",
- "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_TRNS",
-
- "KC_LSFT", "LCTL(KC_Z)" , "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE",
- "KC_ESC" , "OSM(MOD_RALT)", "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_APP" , "KC_TRNS",
-
- "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
- "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL"
-
- ],
- ["KC_F11" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC",
- "KC_CIRC", "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_TRNS",
-
- "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5",
- "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_TRNS",
-
- "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_PSCR",
- "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_TRNS",
-
- "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)",
- "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL"
-
- ],
- ["KC_TAB" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR",
- "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS",
-
- "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO",
- "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_TRNS",
-
- "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
- "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS",
-
- "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO",
- "KC_NO" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_RCTL"
-
- ],
- ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "AG_NORM",
- "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
-
- "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "CL_SWAP" , "CL_NORM",
- "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO",
-
- "QK_BOOT", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
- "RGB_TOG", "RGB_RMOD" , "RGB_VAD" , "RGB_HUD" , "RGB_SAD" , "KC_NO" , "KC_NO",
-
- "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS",
- "KC_TRNS", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO"
-
- ]
- ],
- "author": "@mmccoyd"
-}
diff --git a/keyboards/handwired/hillside/0_1/keymaps/default/readme.md b/keyboards/handwired/hillside/0_1/keymaps/default/readme.md
deleted file mode 100644
index 1890d5808c..0000000000
--- a/keyboards/handwired/hillside/0_1/keymaps/default/readme.md
+++ /dev/null
@@ -1,212 +0,0 @@
-# Default Keymap
-
-This default keymap follows many of the norms seen in non-programmable keyboards
- to ease initial use of the Hillside keyboard.
-It is a starting point for you to tweak over time to better suit _your_ preferences.
-You can easily customize it with the
- [QMK configurator](https://config.qmk.fm/#/hillside/0_1/LAYOUT)
- or with the [via firmware](https://caniusevia.com).
-
-Some of its key features are:
-- A mostly standard base layer with letters, some symbols, shift, modifier and delete keys
- in the expected places for non-programmable keyboards.
-- QWERTY, Colemak-DH and Dvorak options for the letter and symbol layout.
-- Comfortable modifier and function or symbol combinations on the non-base layers
- using modifiers on the home row of the navigation/edit, symbol/function and number-pad layers.
-- Word navigation and cut/copy/paste keys on the navigation layer.
-- A slightly optimized number pad with the more frequently used numbers on the home row.
-
-We've deliberately omitted some features:
-- Combos: because the online configuration tools do not handle them
- and because they would add to the initial learning curve,
- as helpful to a keymap as a light sprinkling of combos can be.
-- Multi-function mod-tap keys, auto shift capitalization and auto-exit modes such as CAPWORD or NUMWORD:
- as they may be too large a step for someone new to programmable keyboards.
-
-## Base Layer
-
-```
-| TAB | Q | W | E | R | T |---------------------------| Y | U | I | O | P | BKSPC |
-| CAPS | A | S | D | F | G |---------------------------| H | J | K | L | ; | ENTER |
-| SHIFT | Z | X | C | V | B | ~ |---------------| ESC | N | M | , | . | / | SHIFT |
---------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| ' |--------------
-```
-
-The base layer provides a very standard key layout:
-
-- Return, Tab, backspace and shift keys in the outer columns.
-- Alt/option and win/command keys on both thumbs, with the location swappable for windows or mac.
-- A space key on the right thumb.
-
-The differences from a standard layout are:
-
-- There are three additional "shift" keys
- to access the navigation/editing, symbol/function, and number layers.
-- Esc and `~ are above the thumbs.
-- The Menu and AltGr keys are on a layer.
-
-The default layout is QWERTY with alternatives of Dvorak and Colemak-DH
-and the alt/option and win/command key locations are swappable for windows or mac.
-
-<details>
-<summary>Details of Dvorak and Colemak-DH</summary>
-The Dvorak and Colemak-DH base layers
- have identical non-alpha and non-symbol keys as the QWERTY base layer.
-In the Dvorak layout, the symbol key in the bottom row is the "/?" symbols
- so that the same 12 symbols are taken care of on the base layer.
-
-```
-Dvorak
-| TAB | ' | , | . | P | Y |---------------------------| F | G | C | R | L | BKSPC |
-| CAPS | A | O | E | U | I |---------------------------| D | H | T | N | S | ENTER |
-| SHIFT | ; | Q | J | K | X | ~ |---------------| ESC | B | M | W | V | Z | SHIFT |
---------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| / |--------------
-
-Colemak-DH
-| TAB | Q | W | F | P | B |---------------------------| J | L | U | Y | ; | BKSPC |
-| CAPS | A | R | S | T | G |---------------------------| M | N | E | I | O | ENTER |
-| SHIFT | Z | X | C | D | V | ~ |---------------| ESC | K | H | , | . | / | SHIFT |
---------------|CTRL |-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| ' |--------------
-```
-</details>
-
-## Navigation, Editing and Media Layer
-
-```
-| | INS | | | |VOL+ |---------------------------|PG_UP|HOME | | END| | DEL |
-| | GUI | ALT |CTRL |SHIFT|VOL- |---------------------------|PG_DN|LEFT | UP |RIGHT| | ENTER |
-| SHIFT |UNDO | CUT |COPY |PASTE|REDO |MUTE |---------------| ESC |RALT |WORDL|DOWN |WORDR|MENU | SHIFT |
---------------|CTRL |-----| GUI | ALT | Num | *** |---| Adj |BSPC | ALT | GUI |-----|CTRL |--------------
-```
-Holding down the Nav key accesses a navigation and editing layer:
-
-- Navigation arrows are on and below the right home row in a cross pattern.
- This feels more natural for a column stagger keyboard than an inverted T.
- The keys below that move left or right by a word.
- Home, end, and page up/down are beside them.
-- Modifiers in the left home row make it easier to use the arrows
- to select text with the shift key or move between desktops or tabs.
-- Editing keys appear on the lower left.
- The edit keys, modifiers and arrows make it easy to move text around without leaving the layer.
-- Delete is in the upper right, and a backspace key is on the thumb.
-- The base layer modifiers and escape are in the same spots as on the base layer,
- and a right-hand control key is added.
-- Media volume and play keys are on the left, accessible with one hand.
-- Menu and AltGr keys fill out the layer.
-- A few keys do nothing and are available for more user-specific needs.
-
-## Symbol and Function Layer
-
-```
-| F11 | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | BSPC |
-| F12 | F1 | F2 | F3 | F4 | F5 |---------------------------| | |SHIFT|CTRL | ALT | GUI | ENTER |
-| SHIFT | F6 | F7 | F8 | F9 | F10 |PRTSC|---------------| ESC | \ | [ | ] | { | } | SHIFT |
---------------|CTRL |-----| GUI | ALT | Num | Adj |---| *** |SPACE| ALT | GUI |-----|CTRL |--------------
-```
-Holding down the Sym key accesses a layer of symbol and function keys:
-
-- The symbols usually found on the number keys are in the top row.
- If desired, you can use these positions for other things,
- as the symbols are also accessible from the number pad layer with the shift key.
-- Several more symbols appear on the right.
-- The function keys are on the left, beginning with two rows of five.
-- A row of modifiers in the home row allows the comfortable creation of any modifier and function key combination.
-- The base layer modifier and escape keys are still available, as is a right-hand control key.
-
-## Number Pad and Algebraic Layer
-```
-| TAB | - | + | = | / | * |---------------------------| . | 7 | 8 | 9 | | BSPC |
-| | GUI | ALT |CTRL |SHIFT| |---------------------------| 0 | 1 | 2 | 3 | _ | ENTER |
-| SHIFT | | | | | | |---------------| ESC | , | 4 | 5 | 6 | | SHIFT |
---------------|CTRL |-----| GUI | ALT | *** | |---| |BSPC | ALT | GUI |-----|CTRL |--------------
-```
-Holding down the Num key accesses a number pad and arithmetic symbols:
-
-- The number pad has the lowest numbers swapped into the home row as these are the most commonly used.
-- A row of modifiers in the home row allows the comfortable creation of any modifier and number combination.
-- Symbols commonly used with numbers fill out the layer
- and can be combined with the home row mods or the existing base layer modifiers on the right hand.
-- Several keys remain unused and await more user-specific needs.
-
-
-## Adjust Layer
-```
-| |QWERT|DVORK|COLMK|AG_SWAP|AG_NORM|-----------------------| | | | | | |
-| | | | |CTR_S|CTR_N|---------------------------|MOD+ |BRI+ |HUE+ |SAT+ | | |
-| QK_BOOT | | | | | | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | |
---------------| |-----| | | | *** |---| *** | | | |-----| |--------------
-```
-Simultaneously holding down the Nav and Sym keys enables keys to adjust various keyboard settings:
-
-- The base layer can be set to QWERTY, Colemak-DH or Dvorak,
- but the keyboard reverts to QWERTY each time it is plugged in.
-- Alt/option and GUI/command can be swapped for mac users or restored to the windows norm.
- This setting persists over power loss.
-- The backlight LEDs can be enabled, disabled, and controlled.
- These settings also persist over power loss.
-
-
-## Make it Yours
-
-If you are coming from a traditional keyboard,
- with a row-staggered layout and a large set of physical keys,
- learning to use a column staggered (ergo) and layer-based keyboard,
- which uses layers instead of finger reaches to access numbers, symbols and functions,
- will be an adjustment for your muscle memory and your mental keyboard map.
-This default layout tries to simplify that adjustment by keeping things in the expected spots when possible.
-
-Yet this layout is only a decent compromise and is not optimal for each user.
-
-The online configurator makes it easy to tweak this layout to your needs.
-You can add additional layers or completely switch around what these do.
-
-Some changes you might consider making:
-- Put some of your most-used key combinations on the unused keys on the navigation layer.
-- If you are on a mac, switch the editing and word navigation keys from ctrl-x to cmd-x.
-- Change the shift keys to one-shot shift keys,
- where pressing and releasing them shifts the next key pressed.
- That is much easier on your hands than holding them down.
- Yet, they can still be held as usual if desired.
-- Instead of holding down the thumb key to keep the symbol layer active,
- you could use a one-shot layer key.
- One-shot modifiers are likely less stress on your hands and may even be faster.
- You would still be able to hold it down instead.
-- Instead of holding down the key for the number pad layer,
- you could make it a layer toggle, like caps lock is a capitalization toggle key.
-
-Here are some other keymaps for inspiration and ideas:
-- The [Ferris default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default) uses more advanced features as it has far fewer keys to work with.
-- The [Miryoku](https://github.com/manna-harbour/miryoku/tree/master/docs/reference) keymap ensures that all modifiers are comfortably available with each character key.
-- The [Kyria default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/default) has different keymap choices and a couple more keys.
-
-A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time
- in response to ideas of how it might serve you better.
-
-
-## Why no keymap.c
-
-Via and the online configurator provide straightforward visual ways to work with a simple layout,
- and both use a .json keymap format.
-So this default ```keymap.json``` was created with the online configurator
- and formatted for easier reading and editing.
-
-If you wish, you can edit the ```keymap.json``` directly in a text editor, optionally use the below ```json2hill.py``` to restore the spacing, and then compile and flash it.
-
-Or, you can use the graphical configurator to edit the keymap. To do that:
-
-- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/LAYOUT)
-- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/keymaps/default/keymap.json```
-- Make the changes you wish to the layout
-- Save the keymap using the green down arrow button.
-- Copy those changes back into your QMK repository and reformat for easy reading using the format script:
-```
-./keyboards/handwired/hillside/0_1/keymaps/json2hill.py --input <Your download directory>/default.json > ./keyboards/handwired/hillside/0_1/keymaps/default/keymap.json
-```
- You may need to make that script executable with ```chmod +x```. After your keymap is safely copied and formated, you may want to remove the keymap from your download directory so later downloads will automatically receive the same file name.
-
-After either method of editing, compile and flash the keymap as usual.
-
-You can combine a .json based keymap with more advanced features specified in .c files
- with a bit more complexity.
-For example, see
-[pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83).
diff --git a/keyboards/handwired/hillside/0_1/keymaps/json2hill.py b/keyboards/handwired/hillside/0_1/keymaps/json2hill.py
deleted file mode 100755
index a9971c0d78..0000000000
--- a/keyboards/handwired/hillside/0_1/keymaps/json2hill.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/env python3
-
-# Copyright 2020-2021 Pierre Viseu Chevalier, Michael McCoyd (@pierrechevalier83, @mmccoyd)
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-"""Pretty print keymap json in more readable row/side organized format."""
-
-import argparse
-import json
-import sys
-from typing import NamedTuple
-
-"""Print keymap json in row and side format, though as still re-readable json.
-
-For example, for one layer:
-
- ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T",
- "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC",
-
- "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G",
- "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT",
-
- "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV",
- "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT",
-
- "KC_ENT" , "KC_LGUI", "KC_LALT", "MO(5)" , "MO(3)",
- "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_APP"
- ],
-"""
-
-indent_level=4 # number of spaces of initial indent per output line
-
-# The structure of the keymap
-# [[Endpoint of sides with identical widths, side width, mapping to column],...]
-KEYS_TO_COL = [[24, 6, lambda n: n % 6],
- [38, 7, lambda n: (n - 24) % 7],
- [48, 5, lambda n: (n - 38) % 5]]
-LAST_KEY = KEYS_TO_COL[-1][0] - 1
-
-def parse_cli():
- parser = argparse.ArgumentParser(description='Hillside keymap formatter')
- parser.add_argument("--input", type=argparse.FileType('r'),
- default=sys.stdin, help="Input keymap "
- "(json file produced by qmk configurator)")
- return parser.parse_args()
-
-class Column(NamedTuple):
- """Column number within keymap side, if it ends side, and ends row.
-
- Position within a keyboard row runs from 0 to n and again 0 to n"""
- num: int
- ends_side: bool
- ends_row: bool
-
-def get_col(key_index):
- """Return Column for key_index."""
- for keys, num_cols, col_fn in KEYS_TO_COL:
- if key_index < keys:
- col_num = col_fn(key_index)
- return Column(col_num,
- ends_side=col_num == num_cols - 1,
- ends_row=(keys - 1 - key_index) % (2 * num_cols) == 0)
-
-def format_layers(layers):
- formatted = indent_level * " " + "\"layers\": [\n"
-
- # Find max key length per column
- max_key_length = {}
- for layer in layers:
- for (index, keycode) in enumerate(layer):
- col = get_col(index)
- max_length = max_key_length.get(col.num)
- if (not max_length) or len(keycode) > max_length:
- max_key_length.update({col.num: len(keycode)})
- # Format each layer
- for (layer_index, layer) in enumerate(layers):
- # Opening [
- formatted += 2 * indent_level * " "
- formatted += "["
-
- # Split keys into pairs of left and right rows by key row length
- for (index, keycode) in enumerate(layer):
- col = get_col(index)
-
- # Indent for rows past first
- if col.num == 0 and index != 0:
- formatted += (1 + 2 * indent_level) * " "
-
- # Print key
- formatted += json.dumps(keycode)
-
- # End layer, or end side, or space to next key
- if index == LAST_KEY:
- formatted += "\n"
- elif col.ends_side:
- formatted += ",\n"
- else:
- n_spaces = max_key_length[get_col(index).num] - len(keycode)
- formatted += n_spaces * " "
- formatted += ", "
-
- # Split groups of row sides
- if col.ends_row:
- formatted += "\n"
-
- # Closing ] with , or without
- formatted += 2 * indent_level * " "
- if layer_index < len(layers) - 1:
- formatted += "],\n"
- else:
- formatted += "]\n"
-
- formatted += indent_level * " "
- formatted += "]"
-
- return formatted
-
-def format_keymap(keymap_json):
- formatted = "{"
- for (index, k) in enumerate(keymap_json):
- if k == "layers":
- formatted += format_layers(keymap_json[k])
- else:
- formatted += f"{indent_level * ' '}{json.dumps(k)}: {json.dumps(keymap_json[k])}"
- if index < len(keymap_json) - 1:
- formatted += ","
- formatted += "\n"
- formatted += "}"
- return formatted
-
-def main():
- args=parse_cli()
- keymap_json = json.loads(args.input.read())
- print(format_keymap(keymap_json))
-
-main()
diff --git a/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json b/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json
deleted file mode 100644
index a015f0241c..0000000000
--- a/keyboards/handwired/hillside/0_1/keymaps/via/keymap.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "version": 1,
- "notes": "",
- "keyboard": "handwired/hillside/0_1",
- "keymap": "via",
- "layout": "LAYOUT",
- "layers": [
- ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T",
- "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC",
-
- "KC_CAPS" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G",
- "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_ENT",
-
- "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV",
- "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT",
-
- "KC_LCTL" , "KC_LGUI", "KC_LALT", "MO(3)" , "MO(1)",
- "MO(2)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT"
-
- ],
- ["KC_NO" , "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU",
- "KC_PGUP" , "KC_HOME", "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL",
-
- "KC_NO" , "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_VOLD",
- "KC_PGDN" , "KC_LEFT", "KC_UP" , "KC_RGHT", "KC_NO" , "KC_TRNS",
-
- "KC_LSFT" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_MUTE",
- "KC_ESC" , "KC_CAPS", "KC_NO" , "KC_DOWN", "KC_NO" , "KC_APP" , "KC_TRNS",
-
- "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL"
-
- ],
- ["KC_F11" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
- "KC_CIRC" , "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TRNS",
-
- "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5",
- "KC_PIPE" , "KC_LSFT", "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_TRNS",
-
- "KC_LSFT" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_PSCR",
- "KC_ESC" , "KC_BSLS", "KC_LBRC", "KC_RBRC", "KC_LCBR", "KC_RCBR", "KC_TRNS",
-
- "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RCTL"
-
- ],
- ["KC_TAB" , "KC_MINS", "KC_PLUS", "KC_EQL" , "KC_SLSH", "KC_ASTR",
- "KC_COMM" , "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS",
-
- "ANY(RGB_TOG)", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_NO",
- "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS", "KC_TRNS",
-
- "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
- "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS",
-
- "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_NO",
- "KC_NO" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL"
-
- ]
- ],
- "author": "@mmccoyd"
-}
diff --git a/keyboards/handwired/hillside/0_1/readme.md b/keyboards/handwired/hillside/0_1/readme.md
deleted file mode 100644
index f1ff0f8506..0000000000
--- a/keyboards/handwired/hillside/0_1/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Hillside
-
-![hillside](https://imgur.com/XW0rX13.png)
-
-[Hillside](https://github.com/mmccoyd/hillside)
- is a split ergonomic keyboard
- with 3x6+4+2 choc-spaced keys with aggressive column stagger,
- a longer thumb arc and a breakoff outer-pinky column.
-
-* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd)
-* Hardware Supported: ProMicro/Elite-C and compatible
-* Hardware Availability: https://github.com/mmccoyd/hillside
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/hillside/0_1:default
-
-Flashing example for this keyboard:
-
- make handwired/hillside/0_1:default:flash
-
-## Bootloader
-
-Enter the bootloader by either:
-
-* **Physical reset button**: Briefly press the button on the front of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/hillside/46/46.c b/keyboards/handwired/hillside/46/46.c
new file mode 100644
index 0000000000..9a3bd3abc8
--- /dev/null
+++ b/keyboards/handwired/hillside/46/46.c
@@ -0,0 +1,19 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "46.h"
+
+// Keymatrix spots to ignore, as one signals handedness and others have no key
+const matrix_row_t matrix_mask[] = {
+//c:543210 column id's
+ 0b111111,
+ 0b111111,
+ 0b111111,
+ 0b111110,
+
+//c:543210
+ 0b111111,
+ 0b111111,
+ 0b111111,
+ 0b111110
+};
diff --git a/keyboards/handwired/hillside/46/46.h b/keyboards/handwired/hillside/46/46.h
new file mode 100644
index 0000000000..880b244237
--- /dev/null
+++ b/keyboards/handwired/hillside/46/46.h
@@ -0,0 +1,37 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a mapping so keymap files can be more readable to humans.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts those identifiers into a two-dimensional array which
+ * represents the switch matrix.
+ *
+ * The identifiers could be anything, but for human sanity have the folowing form
+ * <Left or Right><Physical or thumb row><Circuit column counting from outer pinky>
+ */
+
+// clang-format off
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, LT5, RT5, R25, R24, R23, R22, R21, R20, \
+ LT1, LT2, LT3, LT4, RT4, RT3, RT2, RT1 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { KC_NO, LT1, LT2, LT3, LT4, LT5 }, \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { KC_NO, RT1, RT2, RT3, RT4, RT5 } \
+ }
+// clang-format on
diff --git a/keyboards/handwired/hillside/46/config.h b/keyboards/handwired/hillside/46/config.h
new file mode 100644
index 0000000000..5cad8e3d5a
--- /dev/null
+++ b/keyboards/handwired/hillside/46/config.h
@@ -0,0 +1,39 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+/* Split */
+#define SPLIT_HAND_MATRIX_GRID B5, F6
+#define MATRIX_MASKED
+
+/* Encoder */
+#define ENCODERS_PAD_A { F5 }
+#define ENCODERS_PAD_B { F4 }
+#define ENCODERS_PAD_A_RIGHT { F4 }
+#define ENCODERS_PAD_B_RIGHT { F5 }
+
+#define RGBLIGHT_SLEEP
+
+/* Haptic hardware */
+// The Pimoroni is the likely hardware, for which these settings work
+#define FB_ERM_LRA 1
+#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+/* Please refer to your datasheet for optimal setting for your specific motor.*/
+#define RATED_VOLTAGE 2
+#define V_PEAK 2.8
+#define V_RMS 2.0
+#define F_LRA 205 /* resonance freq */
+
+/* Haptic waveforms */
+// Two mild waveforms
+#define DRV_GREETING alert_750ms
+#define DRV_MODE_DEFAULT sharp_tick3_60
diff --git a/keyboards/handwired/hillside/46/info.json b/keyboards/handwired/hillside/46/info.json
new file mode 100644
index 0000000000..b21906818c
--- /dev/null
+++ b/keyboards/handwired/hillside/46/info.json
@@ -0,0 +1,105 @@
+{
+ "manufacturer": "mmccoyd",
+ "maintainer": "mmccoyd",
+
+ "keyboard_name": "Hillside 46",
+ "url": "http://github.com/mmccoyd/hillside/",
+
+ "tags": ["split", "column stagger", "choc v1", "choc spaced" ],
+
+ "processor": "atmega32u4",
+
+ "matrix_pins": {
+ "rows": ["C6", "D7", "E6", "B5"],
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+
+ "usb": {
+ "vid": "0x4D4D",
+ "pid": "0x4846",
+ "device_version": "0.0.1"
+ },
+
+ "features": {
+ "encoder": true,
+ "extrakey": true,
+ "rgblight": true
+ },
+ "split": {
+ "soft_serial_pin": "D2"
+ },
+
+ "rgblight": {
+ "led_count": 4,
+ "pin": "D3",
+ "split": true,
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8
+ },
+
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+
+ {"label": "`~", "x": 0, "y": 1.13},
+ {"label": "Q", "x": 1, "y": 0.93},
+ {"label": "W", "x": 2.1, "y": 0.31},
+ {"label": "E", "x": 3.2, "y": 0},
+ {"label": "R", "x": 4.2, "y": 0.28},
+ {"label": "T", "x": 5.2, "y": 0.42},
+
+ {"label": "Y", "x": 9.7, "y": 0.42},
+ {"label": "U", "x": 10.7, "y": 0.28},
+ {"label": "I", "x": 11.7, "y": 0},
+ {"label": "O", "x": 12.8, "y": 0.31},
+ {"label": "P", "x": 13.9, "y": 0.93},
+ {"label": "Backspace", "x": 14.9, "y": 1.13},
+
+
+ {"label": "Tab", "x": 0.1, "y": 2.13},
+ {"label": "A", "x": 1.1, "y": 1.93},
+ {"label": "S", "x": 2.15, "y": 1.31},
+ {"label": "D", "x": 3.2, "y": 1},
+ {"label": "F", "x": 4.2, "y": 1.28},
+ {"label": "G", "x": 5.2, "y": 1.42},
+
+ {"label": "H", "x": 9.7, "y": 1.42},
+ {"label": "J", "x": 10.7, "y": 1.28},
+ {"label": "K", "x": 11.7, "y": 1},
+ {"label": "L", "x": 12.75, "y": 1.31},
+ {"label": ";", "x": 13.8, "y": 1.93},
+ {"label": "Enter", "x": 14.8, "y": 2.13},
+
+
+ {"label": "Ctrl", "x": 0.2, "y": 3.13},
+ {"label": "Z", "x": 1.2, "y": 2.93},
+ {"label": "X", "x": 2.2, "y": 2.31},
+ {"label": "C", "x": 3.2, "y": 2},
+ {"label": "V", "x": 4.2, "y": 2.28},
+ {"label": "B", "x": 5.2, "y": 2.42},
+ {"label": "ESC", "x": 6.2, "y": 2.88},
+
+ {"label": "CAP", "x": 8.7, "y": 2.88},
+ {"label": "N", "x": 9.7, "y": 2.42},
+ {"label": "M", "x": 10.7, "y": 2.28},
+ {"label": ",", "x": 11.7, "y": 2},
+ {"label": ".", "x": 12.7, "y": 2.31},
+ {"label": "/", "x": 13.7, "y": 2.93},
+ {"label": "'", "x": 14.7, "y": 3.13},
+
+
+ {"label": "Gui", "x": 3.7, "y": 3.28},
+ {"label": "Alt", "x": 4.7, "y": 3.42},
+ {"label": "Shift", "x": 5.7, "y": 3.88},
+ {"label": "Nav", "x": 6.7, "y": 4.44},
+
+ {"label": "Sym", "x": 8.2, "y": 4.44},
+ {"label": "Space", "x": 9.2, "y": 3.88},
+ {"label": "Alt", "x": 10.2, "y": 3.42},
+ {"label": "Gui", "x": 11.2, "y": 3.28}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/hillside/46/keymaps/default/config.h b/keyboards/handwired/hillside/46/keymaps/default/config.h
new file mode 100644
index 0000000000..d209c914bf
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default/config.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Some boards have issues detecting handedness using the vbus voltage.
+// Such as Elite-C v3, but not v3.1 on. Also apparently some ProMicro boards.
+// For those boands, use usb detection instead.
+// #define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/hillside/46/keymaps/default/keymap.json b/keyboards/handwired/hillside/46/keymaps/default/keymap.json
new file mode 100644
index 0000000000..9e5e8eec6f
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default/keymap.json
@@ -0,0 +1,88 @@
+{ "version": 1,
+ "notes": "",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "handwired/hillside/46",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "layers": [
+ ["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" , "KC_SCLN", "KC_ENT",
+
+ "KC_LCTL" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_ESC",
+ "ANY(CAPSWRD)", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_QUOT",
+
+ "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI"
+
+ ],
+ ["KC_GRV" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y",
+ "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I",
+ "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT",
+
+ "KC_LCTL" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_ESC",
+ "ANY(CAPSWRD)", "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_SLSH",
+
+ "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI"
+
+ ],
+ ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B",
+ "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN", "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G",
+ "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT",
+
+ "KC_LCTL" , "KC_Z" , "KC_TRNS" , "KC_C" , "KC_D" , "KC_V" , "KC_ESC",
+ "ANY(CAPSWRD)", "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_QUOT",
+
+ "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI"
+
+ ],
+ ["LCTL(KC_C)" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5",
+ "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_TRNS",
+
+ "LCTL(KC_X)" , "KC_LGUI" , "KC_LALT" , "KC_LCTL", "KC_LSFT", "LCTL(KC_V)",
+ "KC_PGUP" , "KC_LEFT" , "KC_UP" , "KC_DOWN", "KC_RGHT", "KC_PGDN",
+
+ "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)",
+ "LCTL(KC_Y)" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_RCTL",
+
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
+ "MO(5)" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_INS" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
+ "KC_CIRC" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN", "KC_RPRN", "KC_DEL",
+
+ "KC_NO" , "KC_BSLS" , "KC_MINS" , "KC_EQL" , "KC_LBRC", "KC_RBRC",
+ "KC_HOME" , "KC_RSFT" , "KC_RCTL" , "KC_LALT", "KC_RGUI", "KC_END",
+
+ "KC_TRNS" , "KC_PIPE" , "KC_UNDS" , "KC_PLUS", "KC_LCBR", "KC_RCBR" , "OSM(MOD_RALT)",
+ "KC_APP" , "KC_MUTE" , "KC_VOLD" , "KC_VOLU", "KC_MPLY", "KC_NO" , "KC_RCTL",
+
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(5)",
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP", "CG_SWAP",
+ "KC_NO" , "KC_F11" , "KC_F12" , "KC_PSCR", "KC_NO" , "EE_CLR",
+
+ "KC_NO" , "KC_NO" , "KC_BRID" , "KC_BRIU", "AG_NORM", "CG_NORM",
+ "RGB_MOD" , "RGB_VAI" , "RGB_HUI" , "RGB_SAI", "KC_NO" , "KC_NO",
+
+ "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL", "KC_LSFT", "KC_NO" , "KC_NO",
+ "RGB_TOG" , "RGB_RMOD", "RGB_VAD" , "RGB_HUD", "RGB_SAD", "KC_NO" , "QK_BOOT",
+
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS",
+ "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO"
+
+ ]
+ ],
+ "author": "@mmccoyd"
+}
diff --git a/keyboards/handwired/hillside/46/keymaps/default/readme.md b/keyboards/handwired/hillside/46/keymaps/default/readme.md
new file mode 100644
index 0000000000..aacdc92aad
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default/readme.md
@@ -0,0 +1,136 @@
+# Hillside 46 Default Keymap
+
+For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/46/LAYOUT).
+
+Some of its key features are:
+
+- Numbers and symbols along the top row of their layers for familiarity.
+- Comfortable modifier and function or symbol combinations on the non-base layers using modifiers on the home row of the symbol and number/function layers.
+- A layer with both navigation and editing keys allows document editing without leaving the layer.
+- QWERTY, Colemak-DH and Dvorak base layer options.
+
+## Base Layer
+
+
+![Base QWERTY layer](https://imgur.com/C2kxwOuh.png)
+
+The base layer provides a very standard key layout with four differences:
+
+- Numbers, functions and most symbols are accessed with number and symbol shift keys.
+- Escape is on the upper left thumb.
+- The left thumb has a shift key that affects the next key pressed. So to get 'A', press and release the thumb shift key, press 'a'. You can also hold the key down, and it will work like a standard shift key.
+- Caps word toggles a mode that capitalizes all letters until something other than a letter, digit, dash, underscore, delete or backspace is typed. The mode also times out five seconds after the last key press.
+- The Menu and AltGr keys are on a layer.
+
+The default layout is QWERTY with alternatives of Dvorak and Colemak-DH, and the alt/option and win/command key locations are swappable for windows or mac.
+
+<details>
+<summary>Details of Dvorak and Colemak-DH</summary>
+The Dvorak and Colemak-DH base layers have identical non-alpha and non-symbol keys as the QWERTY base layer.
+![Base Dvorak layer](https://imgur.com/5gGk2rOh.png)
+![Base Colemak layer](https://imgur.com/xExBB8eh.png)
+</details>
+
+
+## Navigation, Editing, Number and Function Layer
+
+![Navigation layer](https://imgur.com/Obx6oRTh.png)
+
+Holding down the Nav/Edit key accesses the navigation, editing, number and function layer:
+
+- Numbers are along the top row, and function keys are on the bottom.
+- The arrow keys on the right can be combined with the home row modifiers on the left to easily move around and select text, which can then be cut, copied and pasted.
+
+
+## Symbol and Media Layer
+
+![Symbol layer](https://imgur.com/mzcB2JFh.png)
+
+Holding down the SYM key accesses the symbol layer:
+
+- The symbols not present on the base layer are along the top row and left side, arranged similarly to a large keyboard.
+- Duplicates of the modifier keys are along the right home keys. This positioning allows a very comfortable combination of any set of modifiers plus a key on the left side of the board.
+- Forward delete is on the upper right, taking backspace's place.
+- The Window OS application menu key is on the right upper thumb.
+- The AltGr key affects the next key pressed so that it can combine with a key on any layer. It changes the meaning of the next key pressed after the AltGr key is pressed and released. For example, to do AltGr-h: press SYM, press and release AltGr, release SYM, press and release h.
+
+
+## Adjust Layer
+
+![Adjust layer](https://imgur.com/r3Ip7hxh.png)
+
+Simultaneously holding down the Sym and Nav/Edit keys enables keys to adjust keyboard settings:
+
+- The base layer can be set to QWERTY, Colemak-DH or Dvorak, although the keyboard reverts to QWERTY each time it is plugged in.
+- Alt/option and GUI/command can be swapped for mac users or restored to the windows norm.
+- The backlight LEDs can be enabled, disabled, and controlled.
+- BOOT allows loading new firmware, such as for keymap changes.
+
+## Make it Yours
+
+If you are coming from a traditional keyboard,
+ with a large set of physical keys,
+ learning to use a column staggered (ergo) and layer-based keyboard,
+ which uses layers instead of finger reaches to access numbers, symbols and functions,
+ will be an adjustment for your muscle memory and your mental keyboard map.
+This default layout tries to simplify that adjustment by keeping things in the expected spots when possible.
+
+Yet this layout is only a decent compromise and is not optimal for each user.
+The online configurator makes it easy to tweak this layout to your needs.
+You can add additional layers or completely switch around what these do.
+
+A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time
+ in response to ideas of how it might serve you better.
+
+Some changes you might consider making:
+
+- If you are on a mac, switch the editing keys from ctrl-x to cmd-x.
+- Put some of your most-used key combinations on the unused keys
+ on the symbol layer.
+- Instead of holding down the thumb key to keep the symbol layer active,
+ you could use a one-shot layer key.
+ One-shot modifiers are likely less stress on your hands and may even be faster.
+ You would still be able to hold it down instead.
+- Instead of holding down the key for the number layer,
+ you could make it a layer toggle.
+
+Here are some other keymaps for inspiration and ideas:
+
+- The [Ferris default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default) uses more advanced features as it has far fewer keys to work with.
+- The [Miryoku](https://github.com/manna-harbour/miryoku/tree/master/docs/reference) keymap ensures that all modifiers are comfortably available with each character key.
+- The [Kyria default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/default) has different keymap choices.
+
+## Why no keymap.c
+
+The online configurator provides a straightforward visual way
+ to work with a simple layout and uses a .json keymap format.
+So this default ```keymap.json``` was created with the online configurator.
+
+If you wish, you can edit the ```keymap.json``` directly in a text editor, compile it and flash it.
+
+Or, you can use the graphical configurator to edit the keymap. To do that:
+
+- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/46/LAYOUT)
+- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/46/keymaps/default/keymap.json```
+- Make the changes you wish to the layout
+- Save the keymap using the green down arrow button.
+- Move the downloaded keymap back into your QMK repository
+ at the same location as above.
+- Rename it back to keymap.json
+- Compile and flash the firmware.
+
+You can combine a .json based keymap with more advanced features
+ specified in .c files with a bit more complexity.
+For example, see
+ [pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83).
+
+
+### Pretty Printing
+
+The QMK configurator's .json download has only one key per line,
+so it is hard to visualize the keymap if editing manually.
+If you want, the Hillside git repo has a pretty-printing script for the keymap.json file.
+
+As with anything downloaded from the internet, you should take some steps to assure yourself that the script will not harm your computer nor steal your data. The script is short, so reading it should at least convince you it is rearranging and printing the keymap feed to it, not reading any banking data on your computer.
+See the [Hillside wiki](https://github.com/mmccoyd/hillside/wiki) for the script.
+
diff --git a/keyboards/handwired/hillside/46/keymaps/default/rules.mk b/keyboards/handwired/hillside/46/keymaps/default/rules.mk
new file mode 100644
index 0000000000..4711d2ff74
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default/rules.mk
@@ -0,0 +1 @@
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h b/keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h
new file mode 100644
index 0000000000..d209c914bf
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Some boards have issues detecting handedness using the vbus voltage.
+// Such as Elite-C v3, but not v3.1 on. Also apparently some ProMicro boards.
+// For those boands, use usb detection instead.
+// #define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c b/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c
new file mode 100644
index 0000000000..ca58cdeef5
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY = 0,
+ _NAV,
+ _SYM,
+ _ADJUST,
+};
+
+#define xxxxxxx KC_NO
+
+#define LY_NAV MO(_NAV)
+#define LY_SYM MO(_SYM)
+#define LY_ADJ MO(_ADJUST)
+#define ALT_GR OSM(MOD_RALT)
+#define OSM_SFT OSM(MOD_LSFT)
+#define PLY_PAU KC_MEDIA_PLAY_PAUSE
+
+#define UNDO LCTL(KC_Z)
+#define CUT LCTL(KC_X)
+#define COPY LCTL(KC_C)
+#define PASTE LCTL(KC_V)
+#define REDO LCTL(KC_Y)
+// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.)
+
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ 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, KC_SCLN, KC_ENT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, CAPSWRD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
+ KC_LGUI, KC_LALT, OSM_SFT, LY_NAV , LY_SYM , KC_SPC , KC_LALT, KC_RGUI
+ ),
+ [_NAV] = LAYOUT(
+ COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
+ CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL,
+ _______, _______, _______, _______, LY_ADJ , _______, _______, _______
+ ),
+ [_SYM] = LAYOUT(
+ KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ xxxxxxx, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_HOME, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, KC_END,
+ _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, ALT_GR , KC_APP , KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, xxxxxxx, KC_RCTL,
+ _______, _______, _______, LY_ADJ , _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT(
+ xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_F11 , KC_F12 , KC_PSCR, xxxxxxx, EE_CLR,
+ xxxxxxx, xxxxxxx, KC_BRID, KC_BRIU, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx,
+ xxxxxxx, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, xxxxxxx, xxxxxxx, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, QK_BOOT,
+ xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx
+ ),
+};
+
+// Template:
+// [_INDEX] = LAYOUT(
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______
+// ),
diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md b/keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md
new file mode 100644
index 0000000000..564691d611
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md
@@ -0,0 +1,25 @@
+# Default Hillside 46 Layout (in .c format)
+
+This layout is for those who prefer defining their layout in a keymap.c,
+ instead of graphically with a keymap.json.
+It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/46/keymaps/default),
+ except for having only a QWERTY base layer.
+
+The make and flash commands are
+
+```
+make handwired/hillside/46:default_dot_c
+make handwired/hillside/46:default_doc_c:flash
+
+```
+
+It also serves as a simple, clean layout
+ to verify that the configuration and switches work.
+Use the [QMK Configurator Tester](https://config.qmk.fm/#/test)
+ to see that the switches produce output.
+All the keys should register on the layout tester
+ except for the caps word and the two layer keys.
+The LEDs should glow a nice red.
+If they do not, you may need to clear the persistent EEPROM settings with the
+ EE_CLR key on the adjust layer,
+ or enable them with the RGB_TOG key.
diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk b/keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk
new file mode 100644
index 0000000000..4711d2ff74
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk
@@ -0,0 +1 @@
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..fa808ef681
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,38 @@
+// Copyright 2022 Davide Masserut (@mssdvd)
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+// clang-format off
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+ XXX, K32, K33, K34, K35, K36, K37, XXX \
+)
+#else
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+ K32, K33, K34, XXX, XXX, K35, K36, K37 \
+)
+#endif
diff --git a/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/hillside/46/keymaps/via/keymap.c b/keyboards/handwired/hillside/46/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ca58cdeef5
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY = 0,
+ _NAV,
+ _SYM,
+ _ADJUST,
+};
+
+#define xxxxxxx KC_NO
+
+#define LY_NAV MO(_NAV)
+#define LY_SYM MO(_SYM)
+#define LY_ADJ MO(_ADJUST)
+#define ALT_GR OSM(MOD_RALT)
+#define OSM_SFT OSM(MOD_LSFT)
+#define PLY_PAU KC_MEDIA_PLAY_PAUSE
+
+#define UNDO LCTL(KC_Z)
+#define CUT LCTL(KC_X)
+#define COPY LCTL(KC_C)
+#define PASTE LCTL(KC_V)
+#define REDO LCTL(KC_Y)
+// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.)
+
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ 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, KC_SCLN, KC_ENT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, CAPSWRD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
+ KC_LGUI, KC_LALT, OSM_SFT, LY_NAV , LY_SYM , KC_SPC , KC_LALT, KC_RGUI
+ ),
+ [_NAV] = LAYOUT(
+ COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
+ CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL,
+ _______, _______, _______, _______, LY_ADJ , _______, _______, _______
+ ),
+ [_SYM] = LAYOUT(
+ KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ xxxxxxx, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_HOME, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, KC_END,
+ _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, ALT_GR , KC_APP , KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, xxxxxxx, KC_RCTL,
+ _______, _______, _______, LY_ADJ , _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT(
+ xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_F11 , KC_F12 , KC_PSCR, xxxxxxx, EE_CLR,
+ xxxxxxx, xxxxxxx, KC_BRID, KC_BRIU, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx,
+ xxxxxxx, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, xxxxxxx, xxxxxxx, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, QK_BOOT,
+ xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx
+ ),
+};
+
+// Template:
+// [_INDEX] = LAYOUT(
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______
+// ),
diff --git a/keyboards/handwired/hillside/46/keymaps/via/rules.mk b/keyboards/handwired/hillside/46/keymaps/via/rules.mk
new file mode 100644
index 0000000000..fcd5f229ea
--- /dev/null
+++ b/keyboards/handwired/hillside/46/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+CAPS_WORD_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/handwired/hillside/46/readme.md b/keyboards/handwired/hillside/46/readme.md
new file mode 100644
index 0000000000..f1c9483cab
--- /dev/null
+++ b/keyboards/handwired/hillside/46/readme.md
@@ -0,0 +1,29 @@
+# Hillside 46
+
+![hillside](https://imgur.com/VFA9E4Yh.png)
+
+[Hillside 46](https://github.com/mmccoyd/hillside)
+ is a split ergonomic keyboard with 3x6+5 choc-spaced keys,
+ splayed ring and pinkie columns, aggressive column stagger,
+ a longer thumb arc and a breakoff outer-pinkie column.
+
+* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd)
+* Hardware Supported: ProMicro/Elite-C and compatible
+* Hardware Availability: https://github.com/mmccoyd/hillside
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/hillside/46:default
+
+Flashing example for this keyboard:
+
+ make handwired/hillside/46:default:flash
+
+## Bootloader
+
+Enter the bootloader by either:
+
+* **Physical reset button**: Briefly press the button on the front of the PCB.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/hillside/0_1/rules.mk b/keyboards/handwired/hillside/46/rules.mk
index 2501147ea8..2501147ea8 100644
--- a/keyboards/handwired/hillside/0_1/rules.mk
+++ b/keyboards/handwired/hillside/46/rules.mk
diff --git a/keyboards/handwired/hillside/48/48.c b/keyboards/handwired/hillside/48/48.c
new file mode 100644
index 0000000000..a1d2c2f6e4
--- /dev/null
+++ b/keyboards/handwired/hillside/48/48.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "48.h"
diff --git a/keyboards/handwired/hillside/48/48.h b/keyboards/handwired/hillside/48/48.h
new file mode 100644
index 0000000000..65e1aaee30
--- /dev/null
+++ b/keyboards/handwired/hillside/48/48.h
@@ -0,0 +1,34 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts those identifiers into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+// clang-format off
+#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, LT4, RT4, R20, R21, R22, R23, R24, R25, \
+ L30, LT0, LT1, LT2, LT3, RT3, RT2, RT1, RT0, R30 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, LT0, LT1, LT2, LT3, LT4 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R30, RT0, RT1, RT2, RT3, RT4 } \
+ }
+// clang-format on
diff --git a/keyboards/handwired/hillside/0_1/config.h b/keyboards/handwired/hillside/48/config.h
index c83b23d0e8..c83b23d0e8 100644
--- a/keyboards/handwired/hillside/0_1/config.h
+++ b/keyboards/handwired/hillside/48/config.h
diff --git a/keyboards/handwired/hillside/48/info.json b/keyboards/handwired/hillside/48/info.json
new file mode 100644
index 0000000000..2325c2d8d3
--- /dev/null
+++ b/keyboards/handwired/hillside/48/info.json
@@ -0,0 +1,109 @@
+{
+ "manufacturer": "mmccoyd",
+ "maintainer": "mmccoyd",
+
+ "keyboard_name": "Hillside48",
+ "url": "http://github.com/mmccoyd/hillside/",
+
+ "tags": ["split", "column stagger", "choc v1", "choc spaced" ],
+
+ "processor": "atmega32u4",
+
+ "matrix_pins": {
+ "rows": ["D7", "E6", "B4", "B5"],
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x67C0",
+ "device_version": "0.0.1"
+ },
+
+ "features": {
+ "encoder": true,
+ "extrakey": true,
+ "rgblight": true
+ },
+ "split": {
+ "soft_serial_pin": "D2",
+ "main": "left"
+ },
+
+ "rgblight": {
+ "led_count": 5,
+ "pin": "D3",
+ "split": true,
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8
+ },
+
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+
+ {"label": "`", "x": 0, "y": 0.93},
+ {"label": "Q", "x": 1, "y": 0.93},
+ {"label": "W", "x": 2, "y": 0.31},
+ {"label": "E", "x": 3, "y": 0},
+ {"label": "R", "x": 4, "y": 0.28},
+ {"label": "T", "x": 5, "y": 0.42},
+
+ {"label": "Y", "x": 9.5, "y": 0.42},
+ {"label": "U", "x": 10.5, "y": 0.28},
+ {"label": "I", "x": 11.5, "y": 0},
+ {"label": "O", "x": 12.5, "y": 0.31},
+ {"label": "P", "x": 13.5, "y": 0.93},
+ {"label": "Backspace", "x": 14.5, "y": 0.93},
+
+
+ {"label": "Tab", "x": 0, "y": 1.93},
+ {"label": "A", "x": 1, "y": 1.93},
+ {"label": "S", "x": 2, "y": 1.31},
+ {"label": "D", "x": 3, "y": 1},
+ {"label": "F", "x": 4, "y": 1.28},
+ {"label": "G", "x": 5, "y": 1.42},
+
+ {"label": "H", "x": 9.5, "y": 1.42},
+ {"label": "J", "x": 10.5, "y": 1.28},
+ {"label": "K", "x": 11.5, "y": 1},
+ {"label": "L", "x": 12.5, "y": 1.31},
+ {"label": ";", "x": 13.5, "y": 1.93},
+ {"label": "Enter", "x": 14.5, "y": 1.93},
+
+
+ {"label": "Shift", "x": 0, "y": 2.93},
+ {"label": "Z", "x": 1, "y": 2.93},
+ {"label": "X", "x": 2, "y": 2.31},
+ {"label": "C", "x": 3, "y": 2},
+ {"label": "V", "x": 4, "y": 2.28},
+ {"label": "B", "x": 5, "y": 2.42},
+ {"label": "Esc", "x": 6, "y": 2.78},
+
+ {"label": "Caps", "x": 8.5, "y": 2.78},
+ {"label": "N", "x": 9.5, "y": 2.42},
+ {"label": "M", "x": 10.5, "y": 2.28},
+ {"label": ",", "x": 11.5, "y": 2},
+ {"label": ".", "x": 12.5, "y": 2.31},
+ {"label": "/", "x": 13.5, "y": 2.93},
+ {"label": "Shift", "x": 14.5, "y": 2.93},
+
+
+ {"label": "Ctrl", "x": 2, "y": 3.31},
+ {"label": "Gui", "x": 3.5, "y": 3.28},
+ {"label": "Alt", "x": 4.5, "y": 3.42},
+ {"label": "Sym", "x": 5.5, "y": 3.78},
+ {"label": "Shift", "x": 6.5, "y": 4.14},
+
+
+ {"label": "Nav", "x": 8, "y": 4.14},
+ {"label": "Space", "x": 9, "y": 3.78},
+ {"label": "Alt", "x": 10, "y": 3.42},
+ {"label": "Gui", "x": 11, "y": 3.28},
+ {"label": "'", "x": 12.5, "y": 3.31}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/hillside/48/keymaps/default/config.h b/keyboards/handwired/hillside/48/keymaps/default/config.h
new file mode 100644
index 0000000000..1f71d42e67
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/default/config.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Some boards have issues detecting handedness using the vbus voltage,
+// such as Elite-C v3, but not v3.1 on, and apparently some ProMicro boards.
+// For those boards, use usb detection instead.
+// #define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/hillside/48/keymaps/default/keymap.json b/keyboards/handwired/hillside/48/keymaps/default/keymap.json
new file mode 100644
index 0000000000..364ab726a0
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/default/keymap.json
@@ -0,0 +1,88 @@
+{ "version": 1,
+ "notes": "",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "handwired/hillside/48",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "layers": [
+ ["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" , "KC_SCLN" , "KC_ENT",
+
+ "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_ESC",
+ "CAPS_WORD" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_RSFT",
+
+ "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT"
+
+ ],
+ ["KC_GRV" , "KC_QUOT" , "KC_COMM", "KC_DOT" , "KC_P" , "KC_Y",
+ "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I",
+ "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT",
+
+ "KC_LSFT" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_ESC",
+ "CAPS_WORD" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT",
+
+ "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_SLSH"
+
+ ],
+ ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B",
+ "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G",
+ "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT",
+
+ "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_ESC",
+ "CAPS_WORD" , "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_RSFT",
+
+ "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT"
+
+ ],
+ ["KC_HOME" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
+ "KC_CIRC" , "KC_AMPR" , "KC_ASTR", "KC_LPRN", "KC_RPRN" , "KC_DEL",
+
+ "KC_END" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT" , "KC_INS",
+ "KC_LBRC" , "KC_RBRC" , "KC_MINS", "KC_EQL" , "KC_BSLS" , "KC_TRNS",
+
+ "KC_LSFT" , "KC_NO" , "KC_VOLD", "KC_MUTE", "KC_VOLU" , "KC_MPLY" , "OSM(MOD_RALT)",
+ "KC_APP" , "KC_LCBR" , "KC_RCBR", "KC_UNDS", "KC_PLUS" , "KC_PIPE" , "KC_TRNS",
+
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "OSM(MOD_LSFT)",
+ "MO(5)" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL"
+
+ ],
+ ["LCTL(KC_X)", "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5",
+ "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_BSPC",
+
+ "LCTL(KC_C)", "KC_LEFT" , "KC_DOWN", "KC_UP" , "KC_RGHT" , "LCTL(KC_V)",
+ "KC_PGUP" , "KC_RSFT" , "KC_RCTL", "KC_LALT", "KC_RGUI" , "KC_PGDN",
+
+ "KC_LSFT" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)",
+ "LCTL(KC_Y)", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_TRNS",
+
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "MO(5)" , "KC_TRNS",
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL"
+
+ ],
+ ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "CG_SWAP",
+ "KC_NO" , "KC_F11" , "KC_F12" , "KC_PSCR", "KC_NO" , "KC_NO",
+
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "AG_NORM" , "CG_NORM",
+ "RGB_MOD" , "RGB_VAI" , "RGB_HUI", "RGB_SAI", "KC_NO" , "KC_NO",
+
+ "KC_NO" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT" , "KC_NO" , "KC_NO",
+ "RGB_TOG" , "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD" , "KC_NO" , "QK_BOOT",
+
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", "KC_NO",
+ "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO"
+
+ ]
+ ],
+ "author": "@mmccoyd"
+}
diff --git a/keyboards/handwired/hillside/48/keymaps/default/readme.md b/keyboards/handwired/hillside/48/keymaps/default/readme.md
new file mode 100644
index 0000000000..9bf294eff0
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/default/readme.md
@@ -0,0 +1,159 @@
+# Default Keymap
+
+For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/48/LAYOUT).
+
+Some of its key features are:
+- Numbers and symbols along the top row of their layers for familiarity.
+- Comfortable combination of modifier and function or symbol on the non-base layers
+ using modifiers on the home row of the symbol and number/function layers.
+- A layer with both navigation and editing keys allows document editing without leaving the layer.
+- QWERTY, Colemak-DH and Dvorak base layer options.
+
+## Base Layer
+
+```
+| ` | Q | W | E | R | T |---------------------------| Y | U | I | O | P | BKSPC |
+| TAB | A | S | D | F | G |---------------------------| H | J | K | L | ; | ENTER |
+| SHIFT | Z | X | C | V | B | ESC |---------------|CAPS | N | M | , | . | / | SHIFT |
+--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| ' |--------------
+```
+
+The base layer provides a very standard key layout with five differences:
+
+- Numbers, functions and most symbols are accessed with number and symbol shift keys.
+- Escape is on the left thumb.
+- The left thumb has a shift key that affects the next key pressed. So to get 'A', press and release the thumb shift key, press 'a'. You can also hold the key down, and it will work like a standard shift key. There are still standard shift keys at either end of the keyboard.
+- The right upper thumb turns on a mode that capitalizes all letters until something other than a letter, digit, dash, underscore, delete or backspace is typed. The caps word mode also times out after five seconds of no key presses.
+- The Menu and AltGr keys are on a layer.
+
+The default layout is QWERTY with alternatives of Dvorak and Colemak-DH, and the alt/option and the win/command key locations are swappable for windows or mac.
+
+
+<details>
+<summary>Details of Dvorak and Colemak-DH</summary>
+The Dvorak and Colemak-DH base layers
+ have identical non-alpha and non-symbol keys as the QWERTY base layer.
+
+```
+Dvorak
+| ` | ' | , | . | P | Y |---------------------------| F | G | C | R | L | BKSPC |
+| TAB | A | O | E | U | I |---------------------------| D | H | T | N | S | ENTER |
+| SHIFT | ; | Q | J | K | X | ESC |---------------|CAPS | B | M | W | V | Z | SHIFT |
+--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| / |--------------
+
+Colemak-DH
+| ` | Q | W | F | P | B |---------------------------| J | L | U | Y | ; | BKSPC |
+| TAB | A | R | S | T | G |---------------------------| M | N | E | I | O | ENTER |
+| SHIFT | Z | X | C | D | V | ESC |---------------|CAPS | K | H | , | . | / | SHIFT |
+--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| ' |--------------
+```
+</details>
+
+## Symbol and Media Layer
+
+```
+| HOME | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | DEL |
+| END | GUI | ALT |CTRL |SHIFT| INS |---------------------------| [ | ] | - | = | \ | ENTER |
+| SHIFT | |VOL- |MUTE |VOL+ |PLAY |OSM ALT |------------|MENU | { | } | _ | + | | | SHIFT |
+--------------|CTRL |-----| GUI | ALT | *** |SHIFT|---| Adj |SPACE| ALT | GUI |-----|CTRL |--------------
+```
+Holding down the SYM key accesses the symbol layer:
+
+- The symbols not present on the base layer are along the top row and right side, similar to a full-size keyboard.
+- Duplicates of the modifier keys are along the left home keys. This allows a very comfortable combination of any set of modifiers plus a key on the right side of the board.
+- Forward delete is on the upper right, taking backspace's place.
+- The Windows OS application menu key is on the upper right thumb.
+- The AltGr key affects the next key pressed so that it can combine with a key on any layer. It changes the meaning of the next key pressed after the AltGr key is pressed and released. For example, to do AltGr-h: press SYM, press and release AltGr, release SYM, press and release h.
+
+## Navigation, Editing, Number and Function Layer
+
+```
+| CUT | 1 | 2 | 3 | 4 | 5 |---------------------------| 6 | 7 | 8 | 9 | 0 | BSPC |
+| COPY |LEFT |DOWN | UP |RIGHT|PASTE|---------------------------|PG_UP|SHIFT|CTRL | ALT | GUI | PG_DN |
+| SHIFT | F1 | F2 | F3 | F4 | F5 |UNDO |---------------|REDO | F6 | F7 | F8 | F9 | F10 | SHIFT |
+--------------|CTRL |-----| GUI | ALT | Adj |SHIFT|---| *** |SPACE| ALT | GUI |-----|CTRL |--------------
+```
+Holding down the Nav/Edit key accesses the navigation, editing, number and function layer:
+
+- Numbers are along the top row, and function keys are on the bottom row.
+- The arrow keys on the left can be combined with the home row modifiers on the right to easily move around and select text, which can then be cut, copied and pasted.
+
+
+## Adjust Layer
+```
+| |QWERT|DVORK|COLMK|AG_SWAP|CTR_SWAP|----------------------| | F11 | F12 |PR_SCR| | |
+| | | | |AG_NORM|CTR_NORM|----------------------|MOD+ |BRI+ |HUE+ |SAT+ | | |
+| | GUI | ALT |CTRL |SHIFT| | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | BOOT |
+--------------| |-----| | | *** | |---| *** | | | |-----| |--------------
+```
+Simultaneously holding down the Sym and Nav/Edit keys enables keys to adjust keyboard settings:
+
+- The base layer can be set to QWERTY, Colemak-DH or Dvorak, although the keyboard reverts to QWERTY each time it is plugged in.
+- Alt/option and GUI/command can be swapped for mac users or restored to the windows norm.
+- The backlight LEDs can be enabled, disabled, and controlled.
+- BOOT allows loading new firmware, such as for keymap changes.
+- The remaining Fn keys are here with modifiers to use with them.
+
+## Make it Yours
+
+If you are coming from a traditional keyboard,
+ with a row-staggered layout and a large set of physical keys,
+ learning to use a column staggered (ergo) and layer-based keyboard,
+ which uses layers instead of finger reaches to access numbers, symbols and functions,
+ will be an adjustment for your muscle memory and your mental keyboard map.
+This default layout tries to simplify that adjustment by keeping things in the expected spots when possible.
+
+Yet this layout is only a decent compromise and is not optimal for each user.
+The online configurator makes it easy to tweak this layout to your needs.
+You can add additional layers or completely switch around what these do.
+
+A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time
+ in response to ideas of how it might serve you better.
+
+Some changes you might consider making:
+- If you are on a mac, switch the editing keys from ctrl-x to cmd-x.
+- Change the shift keys to one-shot shift keys,
+ where pressing and releasing them shifts the next key pressed.
+ That is much easier on your hands than holding them down.
+ Yet, they can still be held as usual if desired.
+- Instead of holding down the thumb key to keep the symbol layer active,
+ you could use a one-shot layer key.
+ One-shot modifiers are likely less stress on your hands and may even be faster.
+ You would still be able to hold it down instead.
+
+Here are some other keymaps for inspiration and ideas:
+- The [Ferris default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default) uses more advanced features as it has far fewer keys.
+- The [Miryoku](https://github.com/manna-harbour/miryoku/tree/master/docs/reference) keymap ensures that all modifiers are comfortably available with each character key.
+- The [Kyria default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/default) has different keymap choices and a couple more keys.
+
+
+
+## Why no keymap.c
+
+The online configurator provides a straightforward visual way to work with a simple layout
+ and uses a .json keymap format.
+So this default ```keymap.json``` was created with the online configurator
+ and formatted for easier reading and editing.
+
+If you wish, you can edit the ```keymap.json``` directly in a text editor, optionally use the below ```json2hill48.py``` to restore the spacing, and then compile and flash it.
+
+Or, you can use the graphical configurator to edit the keymap. To do that:
+
+- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/48/LAYOUT)
+- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/48/keymaps/default/keymap.json```
+- Make the changes you wish to the layout
+- Save the keymap using the green down arrow button.
+- Copy those changes back into your QMK repository and reformat for easy reading using the format script:
+```
+./keyboards/handwired/hillside/48/keymaps/json2hill48.py \
+ --input <Your download directory>/default.json \
+ > ./keyboards/handwired/hillside/48/keymaps/default/keymap.json
+```
+ You may need to make that script executable with ```chmod +x```. After your keymap is safely copied and formatted, you may want to remove the keymap from your download directory so later downloads will automatically receive the same file name.
+
+After either method of editing, compile and flash the keymap as usual.
+
+You can combine a .json based keymap with more advanced features specified in .c files
+ with a bit more complexity.
+For example, see
+[pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83). \ No newline at end of file
diff --git a/keyboards/handwired/hillside/48/keymaps/default/rules.mk b/keyboards/handwired/hillside/48/keymaps/default/rules.mk
new file mode 100644
index 0000000000..4711d2ff74
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/default/rules.mk
@@ -0,0 +1 @@
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/handwired/hillside/48/keymaps/json2hill48.py b/keyboards/handwired/hillside/48/keymaps/json2hill48.py
new file mode 100755
index 0000000000..c4fb5b1037
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/json2hill48.py
@@ -0,0 +1,146 @@
+#!/usr/bin/env python3
+
+# Copyright 2020-2022 Pierre Viseu Chevalier, Michael McCoyd (@pierrechevalier83, @mmccoyd)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+"""Pretty print keymap json in more readable row/side organized format, based on ROW_SIZES."""
+
+import argparse
+import json
+import sys
+from typing import NamedTuple
+
+"""Print keymap json in row and side format, though as still re-readable json.
+
+For example, for one layer:
+
+ ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T",
+ "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC",
+
+ "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G",
+ "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT",
+
+ "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV",
+ "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT",
+
+ "KC_ENT" , "KC_LGUI", "KC_LALT", "MO(5)" , "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_APP"
+ ],
+"""
+
+# The structure of the keymap. Tuples describing row sizes.
+# (<Keys upto and including (one-indexed) keycount x> <are in half rows of y>)
+ROW_SIZES = [(24, 6),
+ (38, 7),
+ (48, 5),
+ ]
+
+###
+### Below here should not need to changed for different keyboards
+###
+
+LAST_KEY = ROW_SIZES[-1][0] - 1
+
+indent_level=4 # number of spaces of initial indent per output line
+
+def parse_cli():
+ parser = argparse.ArgumentParser(description='Hillside keymap formatter')
+ parser.add_argument("--input", type=argparse.FileType('r'),
+ default=sys.stdin, help="Input keymap "
+ "(json file produced by qmk configurator)")
+ return parser.parse_args()
+
+class Column(NamedTuple):
+ """Column number within keymap side, if it ends side, and ends row.
+
+ Position within a keyboard row runs from 0 to n and again 0 to n"""
+ num: int
+ ends_side: bool
+ ends_row: bool
+
+def get_col(key_index):
+ """Return Column for key_index."""
+ index_prior = 0 # index of last key in rows of the prior size
+ for keys_upto, num_cols in ROW_SIZES: # For row sizes from top
+ if key_index < keys_upto: # Find range key_index is in
+ col_num = (key_index - index_prior) % num_cols
+ return Column(col_num, # Return column plus side and row ends flags
+ ends_side=col_num == num_cols - 1,
+ ends_row=(keys_upto - 1 - key_index) %
+ (2 * num_cols) == 0)
+ index_prior = keys_upto # Big O: row ranges * keys, but range is small
+
+def format_layers(layers):
+ formatted = indent_level * " " + "\"layers\": [\n"
+
+ # Find max key length per column
+ max_key_length = {}
+ for layer in layers:
+ for (index, keycode) in enumerate(layer):
+ col = get_col(index)
+ max_length = max_key_length.get(col.num)
+ if (not max_length) or len(keycode) > max_length:
+ max_key_length.update({col.num: len(keycode)})
+ # Format each layer
+ for (layer_index, layer) in enumerate(layers):
+ # Opening [
+ formatted += 2 * indent_level * " "
+ formatted += "["
+
+ # Split keys into pairs of left and right rows by key row length
+ for (index, keycode) in enumerate(layer):
+ col = get_col(index)
+
+ # Indent for rows past first
+ if col.num == 0 and index != 0:
+ formatted += (1 + 2 * indent_level) * " "
+
+ # Print key
+ formatted += json.dumps(keycode)
+
+ # End layer, or end side, or space to next key
+ if index == LAST_KEY:
+ formatted += "\n"
+ elif col.ends_side:
+ formatted += ",\n"
+ else:
+ n_spaces = max_key_length[get_col(index).num] - len(keycode)
+ formatted += n_spaces * " "
+ formatted += ", "
+
+ # Split groups of row sides
+ if col.ends_row:
+ formatted += "\n"
+
+ # Closing ] with , or without
+ formatted += 2 * indent_level * " "
+ if layer_index < len(layers) - 1:
+ formatted += "],\n"
+ else:
+ formatted += "]\n"
+
+ formatted += indent_level * " "
+ formatted += "]"
+
+ return formatted
+
+def format_keymap(keymap_json):
+ formatted = "{"
+ for (index, k) in enumerate(keymap_json):
+ if k == "layers":
+ formatted += format_layers(keymap_json[k])
+ else:
+ formatted += f"{indent_level * ' '}{json.dumps(k)}: {json.dumps(keymap_json[k])}"
+ if index < len(keymap_json) - 1:
+ formatted += ","
+ formatted += "\n"
+ formatted += "}"
+ return formatted
+
+def main():
+ args=parse_cli()
+ keymap_json = json.loads(args.input.read())
+ print(format_keymap(keymap_json))
+
+if __name__ == "__main__":
+ main()
diff --git a/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..e779de8a99
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,38 @@
+// Copyright 2022 Davide Masserut (@mssdvd)
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+// clang-format off
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+ XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX \
+)
+#else
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+ XXX, K32, K33, K34, XXX, XXX, K35, K36, K37, XXX \
+)
+#endif
diff --git a/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/hillside/48/keymaps/via/keymap.json b/keyboards/handwired/hillside/48/keymaps/via/keymap.json
new file mode 100644
index 0000000000..b4848a72ee
--- /dev/null
+++ b/keyboards/handwired/hillside/48/keymaps/via/keymap.json
@@ -0,0 +1,61 @@
+{ "version": 1,
+ "notes": "",
+ "keyboard": "handwired/hillside/48",
+ "keymap": "via",
+ "layout": "LAYOUT",
+ "layers": [
+ ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T",
+ "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC",
+
+ "KC_CAPS" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G",
+ "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_ENT",
+
+ "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV",
+ "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT",
+
+ "KC_LCTL" , "KC_LGUI", "KC_LALT", "MO(3)" , "MO(1)",
+ "MO(2)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT"
+
+ ],
+ ["KC_NO" , "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU",
+ "KC_PGUP" , "KC_HOME", "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL",
+
+ "KC_NO" , "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_VOLD",
+ "KC_PGDN" , "KC_LEFT", "KC_UP" , "KC_RGHT", "KC_NO" , "KC_TRNS",
+
+ "KC_LSFT" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_MUTE",
+ "KC_ESC" , "KC_CAPS", "KC_NO" , "KC_DOWN", "KC_NO" , "KC_APP" , "KC_TRNS",
+
+ "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL"
+
+ ],
+ ["KC_F11" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
+ "KC_CIRC" , "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TRNS",
+
+ "KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5",
+ "KC_PIPE" , "KC_LSFT", "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_TRNS",
+
+ "KC_LSFT" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_PSCR",
+ "KC_ESC" , "KC_BSLS", "KC_LBRC", "KC_RBRC", "KC_LCBR", "KC_RCBR", "KC_TRNS",
+
+ "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RCTL"
+
+ ],
+ ["KC_TAB" , "KC_MINS", "KC_PLUS", "KC_EQL" , "KC_SLSH", "KC_ASTR",
+ "KC_COMM" , "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS",
+
+ "ANY(RGB_TOG)", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_NO",
+ "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS", "KC_TRNS",
+
+ "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
+ "KC_NO" , "KC_DOT" , "KC_4" , "KC_5" , "KC_6" , "KC_NO" , "KC_TRNS",
+
+ "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_NO",
+ "KC_NO" , "KC_BSPC", "KC_TRNS", "KC_TRNS", "KC_RCTL"
+
+ ]
+ ],
+ "author": "@mmccoyd"
+}
diff --git a/keyboards/handwired/hillside/48/readme.md b/keyboards/handwired/hillside/48/readme.md
new file mode 100644
index 0000000000..e65deed9c8
--- /dev/null
+++ b/keyboards/handwired/hillside/48/readme.md
@@ -0,0 +1,29 @@
+# Hillside
+
+![hillside](https://imgur.com/XW0rX13.png)
+
+[Hillside 48](https://github.com/mmccoyd/hillside)
+ is a split ergonomic keyboard
+ with 3x6+4+2 choc-spaced keys with aggressive column stagger,
+ a longer thumb arc and a breakoff outer-pinky column.
+
+* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd)
+* Hardware Supported: ProMicro/Elite-C and compatible
+* Hardware Availability: https://github.com/mmccoyd/hillside
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/hillside/48:default
+
+Flashing example for this keyboard:
+
+ make handwired/hillside/48:default:flash
+
+## Bootloader
+
+Enter the bootloader by either:
+
+* **Physical reset button**: Briefly press the button on the front of the PCB.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/hillside/48/rules.mk b/keyboards/handwired/hillside/48/rules.mk
new file mode 100644
index 0000000000..2501147ea8
--- /dev/null
+++ b/keyboards/handwired/hillside/48/rules.mk
@@ -0,0 +1,8 @@
+SPLIT_KEYBOARD = yes # Use shared split_common code
+LTO_ENABLE = yes # Use link time optimization for smaller firmware
+
+# If you add a haptic board,
+# enable it and set its driver here or in your keymap folder
+# The Pimoroni board's driver is DRV2605L
+# HAPTIC_ENABLE = yes # Enable haptic driver
+# HAPTIC_DRIVER = DRV2605L
diff --git a/keyboards/handwired/hillside/52/52.c b/keyboards/handwired/hillside/52/52.c
new file mode 100644
index 0000000000..b4d6b4629d
--- /dev/null
+++ b/keyboards/handwired/hillside/52/52.c
@@ -0,0 +1,21 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "52.h"
+
+// Keymatrix spots to ignore, as one signals handedness and others have no key
+const matrix_row_t matrix_mask[] = {
+//c:543210 column id's
+ 0b111111,
+ 0b111111,
+ 0b111111,
+ 0b000111,
+ 0b111110,
+
+//c:543210
+ 0b111111,
+ 0b111111,
+ 0b111111,
+ 0b000111,
+ 0b111110
+};
diff --git a/keyboards/handwired/hillside/52/52.h b/keyboards/handwired/hillside/52/52.h
new file mode 100644
index 0000000000..f09d896938
--- /dev/null
+++ b/keyboards/handwired/hillside/52/52.h
@@ -0,0 +1,39 @@
+// Copyright 2021 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a mapping so keymap files can be more readable to humans.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts those identifiers into a two-dimensional array which
+ * represents the switch matrix.
+ *
+ * The identifiers could be anything, but for human sanity have the folowing form
+ * <Left or Right><Physical or thumb row><Circuit column counting from outer pinky>
+ */
+
+// clang-format off
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, LT5, RT5, R25, R24, R23, R22, R21, R20, \
+ L30, L31, L32, LT1, LT2, LT3, LT4, RT4, RT3, RT2, RT1, R32, R31, R30 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, LT1, LT2, LT3, LT4, LT5 }, \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, RT1, RT2, RT3, RT4, RT5 } \
+ }
+// clang-format on
diff --git a/keyboards/handwired/hillside/52/config.h b/keyboards/handwired/hillside/52/config.h
new file mode 100644
index 0000000000..23872aa37b
--- /dev/null
+++ b/keyboards/handwired/hillside/52/config.h
@@ -0,0 +1,39 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+/* Split */
+#define SPLIT_HAND_MATRIX_GRID B5, F6
+#define MATRIX_MASKED
+
+/* Encoder */
+#define ENCODERS_PAD_A { F5 }
+#define ENCODERS_PAD_B { F4 }
+#define ENCODERS_PAD_A_RIGHT { F4 }
+#define ENCODERS_PAD_B_RIGHT { F5 }
+
+#define RGBLIGHT_SLEEP
+
+/* Haptic hardware */
+// The Pimoroni is the likely hardware, for which these settings work
+#define FB_ERM_LRA 1
+#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+/* Please refer to your datasheet for optimal setting for your specific motor.*/
+#define RATED_VOLTAGE 2
+#define V_PEAK 2.8
+#define V_RMS 2.0
+#define F_LRA 205 /* resonance freq */
+
+/* Haptic waveforms */
+// Two mild waveforms
+#define DRV_GREETING alert_750ms
+#define DRV_MODE_DEFAULT sharp_tick3_60
diff --git a/keyboards/handwired/hillside/52/info.json b/keyboards/handwired/hillside/52/info.json
new file mode 100644
index 0000000000..2a78ccd9b6
--- /dev/null
+++ b/keyboards/handwired/hillside/52/info.json
@@ -0,0 +1,111 @@
+{
+ "manufacturer": "mmccoyd",
+ "maintainer": "mmccoyd",
+
+ "keyboard_name": "Hillside 52",
+ "url": "http://github.com/mmccoyd/hillside/",
+
+ "tags": ["split", "column stagger", "choc v1", "choc spaced" ],
+
+ "processor": "atmega32u4",
+
+ "matrix_pins": {
+ "rows": ["C6", "D7", "E6", "B4", "B5"],
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+
+ "usb": {
+ "vid": "0x4D4D",
+ "pid": "0x4852",
+ "device_version": "0.0.1"
+ },
+
+ "features": {
+ "encoder": true,
+ "extrakey": true,
+ "rgblight": true
+ },
+ "split": {
+ "soft_serial_pin": "D2"
+ },
+
+ "rgblight": {
+ "led_count": 5,
+ "pin": "D3",
+ "split": true,
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8
+ },
+
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+
+ {"label": "`~", "x": 0, "y": 1.13},
+ {"label": "Q", "x": 1, "y": 0.93},
+ {"label": "W", "x": 2.1, "y": 0.31},
+ {"label": "E", "x": 3.2, "y": 0},
+ {"label": "R", "x": 4.2, "y": 0.28},
+ {"label": "T", "x": 5.2, "y": 0.42},
+
+ {"label": "Y", "x": 9.7, "y": 0.42},
+ {"label": "U", "x": 10.7, "y": 0.28},
+ {"label": "I", "x": 11.7, "y": 0},
+ {"label": "O", "x": 12.8, "y": 0.31},
+ {"label": "P", "x": 13.9, "y": 0.93},
+ {"label": "Backspace", "x": 14.9, "y": 1.13},
+
+
+ {"label": "Tab", "x": 0.1, "y": 2.13},
+ {"label": "A", "x": 1.1, "y": 1.93},
+ {"label": "S", "x": 2.15, "y": 1.31},
+ {"label": "D", "x": 3.2, "y": 1},
+ {"label": "F", "x": 4.2, "y": 1.28},
+ {"label": "G", "x": 5.2, "y": 1.42},
+
+ {"label": "H", "x": 9.7, "y": 1.42},
+ {"label": "J", "x": 10.7, "y": 1.28},
+ {"label": "K", "x": 11.7, "y": 1},
+ {"label": "L", "x": 12.75, "y": 1.31},
+ {"label": ";", "x": 13.8, "y": 1.93},
+ {"label": "Enter", "x": 14.8, "y": 2.13},
+
+
+ {"label": "Shift", "x": 0.2, "y": 3.13},
+ {"label": "Z", "x": 1.2, "y": 2.93},
+ {"label": "X", "x": 2.2, "y": 2.31},
+ {"label": "C", "x": 3.2, "y": 2},
+ {"label": "V", "x": 4.2, "y": 2.28},
+ {"label": "B", "x": 5.2, "y": 2.42},
+ {"label": "'", "x": 6.2, "y": 2.88},
+
+ {"label": "/", "x": 8.7, "y": 2.88},
+ {"label": "N", "x": 9.7, "y": 2.42},
+ {"label": "M", "x": 10.7, "y": 2.28},
+ {"label": ", ", "x": 11.7, "y": 2},
+ {"label": ".", "x": 12.7, "y": 2.31},
+ {"label": "Up", "x": 13.7, "y": 2.93},
+ {"label": "Shift", "x": 14.7, "y": 3.13},
+
+
+ {"label": "Mute", "x": 0.3, "y": 4.13},
+ {"label": "Esc", "x": 1.3, "y": 3.93},
+ {"label": "Ctrl", "x": 2.3, "y": 3.73},
+ {"label": "Gui", "x": 3.7, "y": 3.28},
+ {"label": "Alt", "x": 4.7, "y": 3.42},
+ {"label": "Shift", "x": 5.7, "y": 3.88},
+ {"label": "Nav", "x": 6.7, "y": 4.44},
+
+ {"label": "Sym", "x": 8.2, "y": 4.44},
+ {"label": "Space", "x": 9.2, "y": 3.88},
+ {"label": "Alt", "x": 10.2, "y": 3.42},
+ {"label": "Gui", "x": 11.2, "y": 3.28},
+ {"label": "Left", "x": 12.6, "y": 3.73},
+ {"label": "Down", "x": 13.6, "y": 3.93},
+ {"label": "Right", "x": 14.6, "y": 4.13}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/hillside/52/keymaps/default/config.h b/keyboards/handwired/hillside/52/keymaps/default/config.h
new file mode 100644
index 0000000000..d209c914bf
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default/config.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Some boards have issues detecting handedness using the vbus voltage.
+// Such as Elite-C v3, but not v3.1 on. Also apparently some ProMicro boards.
+// For those boands, use usb detection instead.
+// #define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/hillside/52/keymaps/default/keymap.json b/keyboards/handwired/hillside/52/keymaps/default/keymap.json
new file mode 100644
index 0000000000..c9760428ed
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default/keymap.json
@@ -0,0 +1,88 @@
+{ "version": 1,
+ "notes": "",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "handwired/hillside/52",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "layers": [
+ ["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" , "KC_SCLN", "KC_ENT",
+
+ "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_QUOT",
+ "KC_SLSH" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_UP" , "KC_RSFT",
+
+ "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT"
+
+ ],
+ ["KC_GRV" , "KC_QUOT" , "KC_COMM", "KC_DOT" , "KC_P" , "KC_Y",
+ "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I",
+ "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT",
+
+ "KC_LSFT" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_SLSH",
+ "KC_Z" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_UP" , "KC_RSFT",
+
+ "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT"
+
+ ],
+ ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B",
+ "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN", "KC_BSPC",
+
+ "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G",
+ "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT",
+
+ "KC_LSFT" , "KC_Z" , "KC_TRNS", "KC_C" , "KC_D" , "KC_V" , "KC_QUOT",
+ "KC_SLSH" , "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_UP" , "KC_RSFT",
+
+ "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT"
+
+ ],
+ ["LCTL(KC_C)" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5",
+ "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_TRNS",
+
+ "LCTL(KC_X)" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT", "LCTL(KC_V)",
+ "KC_PGUP" , "KC_LEFT" , "KC_UP" , "KC_DOWN", "KC_RGHT", "KC_PGDN",
+
+ "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)",
+ "LCTL(KC_Y)" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_TRNS",
+
+ "KC_F11" , "KC_F12" , "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS" , "KC_TRNS",
+ "MO(5)" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL", "KC_HOME" , "KC_END"
+
+ ],
+ ["KC_INS" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
+ "KC_CIRC" , "KC_AMPR" , "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_DEL",
+
+ "ANY(CAPSWRD)", "KC_BSLS" , "KC_MINS", "KC_EQL" , "KC_LBRC", "KC_RBRC",
+ "KC_VOLU" , "KC_RSFT" , "KC_RCTL", "KC_LALT", "KC_RGUI", "KC_TRNS",
+
+ "KC_TRNS" , "KC_PIPE" , "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR" , "KC_MPLY",
+ "KC_MUTE" , "KC_VOLD" , "KC_0" , "KC_1" , "KC_2" , "KC_NO" , "KC_TRNS",
+
+ "KC_NO" , "KC_NO" , "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS" , "MO(5)",
+ "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL", "KC_APP" , "OSM(MOD_RALT)"
+
+ ],
+ ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP", "CG_SWAP",
+ "KC_NO" , "KC_PSCR" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO",
+
+ "KC_NO" , "KC_NO" , "KC_BRIU", "KC_NO" , "AG_NORM", "CG_NORM",
+ "RGB_MOD" , "RGB_VAI" , "RGB_HUI", "RGB_SAI", "KC_NO" , "KC_NO",
+
+ "QK_BOOT" , "KC_NO" , "KC_BRID", "KC_NO" , "KC_NO" , "KC_NO" , "EE_CLR",
+ "RGB_TOG" , "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "KC_NO" , "KC_NO",
+
+ "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS",
+ "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO"
+
+ ]
+ ],
+ "author": "@mmccoyd"
+}
diff --git a/keyboards/handwired/hillside/52/keymaps/default/readme.md b/keyboards/handwired/hillside/52/keymaps/default/readme.md
new file mode 100644
index 0000000000..1617b0d431
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default/readme.md
@@ -0,0 +1,161 @@
+# Hillside 52 Default Keymap
+
+For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT).
+
+Some of its key features are:
+
+- An inverted-T arrow cluster on the base layer.
+- Numbers and symbols along the top row of their layers for familiarity.
+- Comfortable modifier and function or symbol combinations on the non-base layers using modifiers on the home row of the navigation/edit and symbol layers.
+- A layer with both navigation and editing keys allows document editing without leaving the layer.
+- QWERTY, Colemak-DH and Dvorak base layer options.
+
+## Base Layer
+
+![Base QWERTY layer](https://imgur.com/pscLDLth.png)
+
+The base layer provides a very standard key layout with four differences:
+
+- Numbers, functions and most symbols are accessed with number and symbol shift keys.
+- Escape is on the bottom row.
+- The left thumb has a shift key that affects the next key pressed. So to get 'A,' press and release the thumb shift key, press 'a'. You can also hold the key down, and it will work like a standard shift key. There are still standard shift keys at either end of the keyboard.
+- The Menu and AltGr keys are on a layer.
+
+The default layout is QWERTY with alternatives of Dvorak and Colemak-DH, and the alt/option and win/command key locations are swappable for windows or mac.
+
+<details>
+<summary>Details of Dvorak and Colemak-DH</summary>
+The Dvorak and Colemak-DH base layers have identical non-alpha and non-symbol keys as the QWERTY base layer.
+
+![Base Dvorak layer](https://imgur.com/cVZXtZxh.png)
+![Base Colemak layer](https://imgur.com/OsVDdrph.png)
+</details>
+
+
+## Navigation, Editing, Number and Function Layer
+
+![Navigation layer](https://imgur.com/y48mEmeh.png)
+
+Holding down the Nav/Edit key accesses the navigation, editing, number and function layer:
+
+- Numbers are along the top row, and function keys are on the bottom.
+- The arrow keys on the right can be combined with the home row modifiers on the left to easily move around and select text, which can then be cut, copied and pasted.
+
+
+## Symbol and Media Layer
+
+![Symbol layer](https://imgur.com/zL8re91h.png)
+
+Holding down the SYM key accesses the symbol layer:
+
+- The symbols not present on the base layer are along the top row and left side, arranged similarly to a large keyboard.
+- Duplicates of the modifier keys are along the right home keys. This positioning allows a very comfortable combination of any set of modifiers plus a key on the left side of the board.
+- Forward delete is on the upper right, taking backspace's place.
+- Caps word toggles a mode that capitalizes all letters until something other than a letter, digit, dash, underscore, delete or backspace is typed. The mode also times out five seconds after the last key press.
+- The Windows OS application menu key is on the lower right.
+- The AltGr key affects the next key pressed so that it can combine with a key on any layer. It changes the meaning of the next key pressed after the AltGr key is pressed and released. For example, to do AltGr-h: press SYM, press and release AltGr, release SYM, press and release h.
+
+
+## Adjust Layer
+
+![Adjust layer](https://imgur.com/9dhChrXh.png)
+
+Simultaneously holding down the Nav/Edit and Sym keys enables keys to adjust keyboard settings:
+
+- The base layer can be set to QWERTY, Colemak-DH or Dvorak, although the keyboard reverts to QWERTY each time it is plugged in.
+- Alt/option and GUI/command can be swapped for mac users or restored to the windows norm.
+- The backlight LEDs can be enabled, disabled, and controlled.
+- BOOT allows loading new firmware, such as for keymap changes.
+
+## Make it Yours
+
+If you are coming from a traditional keyboard,
+ with a large set of physical keys,
+ learning to use a column staggered (ergo) and layer-based keyboard,
+ which uses layers instead of finger reaches to access numbers, symbols and functions,
+ will be an adjustment for your muscle memory and your mental keyboard map.
+This default layout tries to simplify that adjustment by keeping things in the expected spots when possible.
+
+Yet this layout is only a decent compromise and is not optimal for each user.
+The online [configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT) makes it easy to tweak this layout to your needs.
+You can add additional layers or completely switch around what these do.
+
+A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time
+ in response to ideas of how it might serve you better.
+
+Some changes you might consider making:
+
+- If you are on a mac, switch the editing keys from ctrl-x to cmd-x.
+- Put some of your most-used key combinations on the unused keys
+ on the symbol layer.
+- Remove the pinkie shift keys and just use the one-shot thumb shift key.
+- Instead of holding down the thumb key to keep the symbol layer active,
+ you could use a one-shot layer key.
+ One-shot modifiers are likely less stress on your hands and may even be faster.
+ You would still be able to hold it down instead.
+
+Here are some other keymaps for inspiration and ideas:
+
+- The [Ferris default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default) uses more advanced features as it has far fewer keys to work with.
+- The [Miryoku](https://github.com/manna-harbour/miryoku/tree/master/docs/reference) keymap ensures that all modifiers are comfortably available with each character key.
+- The [Kyria default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/default) has different keymap choices.
+
+## Rationale
+Any keymap or keyboard is a set of compromises between priorities. Here are some of the priorities of this keymap.
+
+- Ease for new users coming from a large keyboard: Making it easier to shift to a split column-stagger keyboard drove:
+ - Traditional number row and symbol row
+ - Nearly complete set of modifiers along the bottom rows
+ - An arrow T cluster on the base layer.
+- Simple three layers: Just two extra layers makes shifting to them clearer. (Not counting the infrequent adjust layer.)
+- Orthogonal-mods: Being able to choose any combination of modifiers with one hand and any key with the other hand without leaving home is easier on your hands. It generally means a [row of modifiers](https://precondition.github.io/home-row-mods#home-row-mods-order) on the home row of the hand selecting the layer and all the keys of interest on the other hand. But that usually doubles the layers needed. We have the modifiers but also used the space around them on that side. The modifiers along the bottom rows are still there, though they are less ergonomic.
+- A Nav/Edit layer: It is very convenient to be able to move, select, cut and paste without moving your fingers away from orientation on the home row. Arrows for that work best on the right, which places the mods on the left. This also makes the mods convenient to use with a mouse while editing.
+- Hints toward a better way:
+ - One shot shift on thumb: Tapping two keys in turn is easier on your hands than holding one while tapping another. The pinkie shifts are still there, but you may find you use them less often.
+ - The mods on the home row.
+ - The home row arrows.
+ - The common digits 0 and 1 on the sym layer, in a spot that might go well with a full number pad on a new layer.
+
+A theme of the keymap might be "offering but not requiring a better way," offering options for navigation, editing, mods and numbers.
+
+
+
+## Why no keymap.c
+
+The online configurator provides a straightforward visual way
+ to work with a simple layout and uses a .json keymap format.
+So this default ```keymap.json``` was created with the online configurator.
+
+If you wish, you can edit the ```keymap.json``` directly in a text editor, compile it and flash it.
+
+Or, you can use the graphical configurator to edit the keymap. To do that:
+
+- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT)
+- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/52/keymaps/default/keymap.json```
+- Make the changes you wish to the layout
+- Save the keymap using the green down arrow button.
+- Move the downloaded keymap back into your QMK repository
+ at the same location as above.
+- Rename it back to keymap.json
+- Compile and flash the firmware.
+
+You can combine a .json based keymap with more advanced features
+ specified in .c files with a bit more complexity.
+For example, see
+ [pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83).
+
+
+### Pretty Printing
+
+The QMK configurator's .json download has only one key per line,
+so it is hard to visualize the keymap if editing manually.
+If you want, the Hillside git repo has a pretty-printing script for the keymap.json file.
+
+As with anything downloaded from the internet, you should take some steps to assure yourself that the script will not harm your computer nor steal your data. The script is short, so reading it should at least convince you it is rearranging and printing the keymap provided, not reading your banking data.
+See the [Hillside wiki](https://github.com/mmccoyd/hillside/wiki) for the script.
+
+
+
+
+
+
diff --git a/keyboards/handwired/hillside/52/keymaps/default/rules.mk b/keyboards/handwired/hillside/52/keymaps/default/rules.mk
new file mode 100644
index 0000000000..4711d2ff74
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default/rules.mk
@@ -0,0 +1 @@
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h b/keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h
new file mode 100644
index 0000000000..d209c914bf
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Some boards have issues detecting handedness using the vbus voltage.
+// Such as Elite-C v3, but not v3.1 on. Also apparently some ProMicro boards.
+// For those boands, use usb detection instead.
+// #define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c b/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c
new file mode 100644
index 0000000000..f0c5b755d5
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY = 0,
+ _NAV,
+ _SYM,
+ _ADJUST,
+};
+
+#define xxxxxxx KC_NO
+
+#define LY_NAV MO(_NAV)
+#define LY_SYM MO(_SYM)
+#define LY_ADJ MO(_ADJUST)
+#define ALT_GR OSM(MOD_RALT)
+#define OSM_SFT OSM(MOD_LSFT)
+#define PLY_PAU KC_MEDIA_PLAY_PAUSE
+
+#define UNDO LCTL(KC_Z)
+#define CUT LCTL(KC_X)
+#define COPY LCTL(KC_C)
+#define PASTE LCTL(KC_V)
+#define REDO LCTL(KC_Y)
+// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.)
+
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ 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, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_MUTE, KC_ESC, KC_LCTL, KC_LGUI, KC_LALT, OSM_SFT, LY_NAV, LY_SYM , KC_SPC , KC_LALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_NAV] = LAYOUT(
+ COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
+ CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS,
+ KC_F11 , KC_F12 , KC_LCTL, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, KC_RCTL, KC_HOME, KC_END
+ ),
+ [_SYM] = LAYOUT(
+ KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ CAPSWRD, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_VOLU, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
+ _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_MPLY, KC_MUTE, KC_VOLD, KC_0 , KC_1 , KC_2 , xxxxxxx, _______,
+ xxxxxxx, xxxxxxx, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, _______, KC_RCTL, KC_APP, ALT_GR
+ ),
+ [_ADJUST] = LAYOUT(
+ xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_PSCR, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
+ xxxxxxx, xxxxxxx, KC_BRIU, xxxxxxx, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx,
+ QK_BOOT, xxxxxxx, KC_BRID, xxxxxxx, xxxxxxx, xxxxxxx, EE_CLR, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, xxxxxxx,
+ XXXXXXX, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx
+ ),
+};
+
+// Template:
+// [_INDEX] = LAYOUT(
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+// ),
diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md b/keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md
new file mode 100644
index 0000000000..2963e3452d
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md
@@ -0,0 +1,25 @@
+# Default Hillside 52 Layout (in .c format)
+
+This layout is for those who prefer defining their layout in a keymap.c,
+ instead of graphically with a keymap.json.
+It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/52/keymaps/default),
+ except for having only a QWERTY base layer.
+
+The make and flash commands are
+
+```
+make handwired/hillside/52:default_dot_c
+make handwired/hillside/52:default_doc_c:flash
+
+```
+
+It also serves as a simple, clean layout
+ to verify that the configuration and switches work.
+Use the [QMK Configurator Tester](https://config.qmk.fm/#/test)
+ to see that the switches produce output.
+All the keys should register on the layout tester
+ except for the caps word and the two layer keys.
+The LEDs should glow a nice red.
+If they do not, you may need to clear the persistent EEPROM settings with the
+ EE_CLR key on the adjust layer,
+ or enable them with the RGB_TOG key.
diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk b/keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk
new file mode 100644
index 0000000000..4711d2ff74
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk
@@ -0,0 +1 @@
+CAPS_WORD_ENABLE = yes
diff --git a/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..388f6b9a91
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,38 @@
+// Copyright 2022 Davide Masserut (@mssdvd)
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+// clang-format off
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+XXX, XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, XXX \
+)
+#else
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+XXX, XXX, XXX, K32, K33, K34, XXX, XXX, K35, K36, K37, XXX, XXX, XXX \
+)
+#endif
diff --git a/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/handwired/hillside/52/keymaps/via/keymap.c b/keyboards/handwired/hillside/52/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f0c5b755d5
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY = 0,
+ _NAV,
+ _SYM,
+ _ADJUST,
+};
+
+#define xxxxxxx KC_NO
+
+#define LY_NAV MO(_NAV)
+#define LY_SYM MO(_SYM)
+#define LY_ADJ MO(_ADJUST)
+#define ALT_GR OSM(MOD_RALT)
+#define OSM_SFT OSM(MOD_LSFT)
+#define PLY_PAU KC_MEDIA_PLAY_PAUSE
+
+#define UNDO LCTL(KC_Z)
+#define CUT LCTL(KC_X)
+#define COPY LCTL(KC_C)
+#define PASTE LCTL(KC_V)
+#define REDO LCTL(KC_Y)
+// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.)
+
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ 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, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_MUTE, KC_ESC, KC_LCTL, KC_LGUI, KC_LALT, OSM_SFT, LY_NAV, LY_SYM , KC_SPC , KC_LALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_NAV] = LAYOUT(
+ COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
+ CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS,
+ KC_F11 , KC_F12 , KC_LCTL, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, KC_RCTL, KC_HOME, KC_END
+ ),
+ [_SYM] = LAYOUT(
+ KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ CAPSWRD, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_VOLU, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
+ _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_MPLY, KC_MUTE, KC_VOLD, KC_0 , KC_1 , KC_2 , xxxxxxx, _______,
+ xxxxxxx, xxxxxxx, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, _______, KC_RCTL, KC_APP, ALT_GR
+ ),
+ [_ADJUST] = LAYOUT(
+ xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_PSCR, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
+ xxxxxxx, xxxxxxx, KC_BRIU, xxxxxxx, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx,
+ QK_BOOT, xxxxxxx, KC_BRID, xxxxxxx, xxxxxxx, xxxxxxx, EE_CLR, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, xxxxxxx,
+ XXXXXXX, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx
+ ),
+};
+
+// Template:
+// [_INDEX] = LAYOUT(
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+// ),
diff --git a/keyboards/handwired/hillside/52/keymaps/via/rules.mk b/keyboards/handwired/hillside/52/keymaps/via/rules.mk
new file mode 100644
index 0000000000..fcd5f229ea
--- /dev/null
+++ b/keyboards/handwired/hillside/52/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+CAPS_WORD_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/handwired/hillside/52/readme.md b/keyboards/handwired/hillside/52/readme.md
new file mode 100644
index 0000000000..3878bc062a
--- /dev/null
+++ b/keyboards/handwired/hillside/52/readme.md
@@ -0,0 +1,29 @@
+# Hillside 52
+
+![hillside](https://imgur.com/eDqDMk7h.png)
+
+[Hillside 52](https://github.com/mmccoyd/hillside)
+ is a split ergonomic keyboard with 3x6+3+5 choc-spaced keys,
+ splayed ring and pinkie columns, aggressive column stagger,
+ a longer thumb arc, an inverted-T arrow cluster and a breakoff outer-pinkie column.
+
+* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd)
+* Hardware Supported: ProMicro/Elite-C and compatible
+* Hardware Availability: https://github.com/mmccoyd/hillside
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/hillside/52:default
+
+Flashing example for this keyboard:
+
+ make handwired/hillside/52:default:flash
+
+## Bootloader
+
+Enter the bootloader by either:
+
+* **Physical reset button**: Briefly press the button on the front of the PCB.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/hillside/52/rules.mk b/keyboards/handwired/hillside/52/rules.mk
new file mode 100644
index 0000000000..2501147ea8
--- /dev/null
+++ b/keyboards/handwired/hillside/52/rules.mk
@@ -0,0 +1,8 @@
+SPLIT_KEYBOARD = yes # Use shared split_common code
+LTO_ENABLE = yes # Use link time optimization for smaller firmware
+
+# If you add a haptic board,
+# enable it and set its driver here or in your keymap folder
+# The Pimoroni board's driver is DRV2605L
+# HAPTIC_ENABLE = yes # Enable haptic driver
+# HAPTIC_DRIVER = DRV2605L
diff --git a/keyboards/handwired/hillside/info.json b/keyboards/handwired/hillside/info.json
deleted file mode 100644
index 781b43c0ff..0000000000
--- a/keyboards/handwired/hillside/info.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "manufacturer": "mmccoyd",
- "maintainer": "mmccoyd",
-
- "url": "http://github.com/mmccoyd/hillside/"
-}
diff --git a/keyboards/handwired/hillside/readme.md b/keyboards/handwired/hillside/readme.md
index cffb3875aa..b2ea11d420 100644
--- a/keyboards/handwired/hillside/readme.md
+++ b/keyboards/handwired/hillside/readme.md
@@ -1,11 +1,14 @@
# Hillside
-![hillside](https://imgur.com/XW0rX13.png)
+![hillside](https://imgur.com/4POduewh.png)
-Hillside is a small family of split ergonomic keyboards, currently of one.
-Inside this directory is support for each model.
+[Hillside](https://github.com/mmccoyd/hillside)
+ is a small family of split ergonomic keyboards.
+Inside this directory is support for the two smaller models,
+ the 52 and 48.
* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd)
* Hardware Supported:
- * [Hillside 0_1](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/0_1): ProMicro/Elite-C and compatible
-* Hardware Availability: https://github.com/mmccoyd/hillside
+ * [Hillside 52](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/52): ProMicro/Elite-C and compatible
+ * [Hillside 48](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/48): ProMicro/Elite-C and compatible
+* Hardware Availability: [https://github.com/mmccoyd/hillside](https://github.com/mmccoyd/hillside)
diff --git a/keyboards/handwired/hnah108/config.h b/keyboards/handwired/hnah108/config.h
index e0249ba0c2..825edd40ca 100644
--- a/keyboards/handwired/hnah108/config.h
+++ b/keyboards/handwired/hnah108/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0002
-#define MANUFACTURER HnahKB
-#define PRODUCT Hnah108
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 11
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, C7, B4, B5, B6, C6 }
#define MATRIX_COL_PINS { F0, E6, B0, D0, D1, D2, D3, D5, D4, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json
index 71fee54ed9..5671ad4a7e 100644
--- a/keyboards/handwired/hnah108/info.json
+++ b/keyboards/handwired/hnah108/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hnah108",
+ "keyboard_name": "Hnah108",
+ "manufacturer": "HnahKB",
"url": "",
"maintainer": "HnahKB",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/hnah40/config.h b/keyboards/handwired/hnah40/config.h
index 123c4ca38a..6d4e8f7d33 100644
--- a/keyboards/handwired/hnah40/config.h
+++ b/keyboards/handwired/hnah40/config.h
@@ -18,13 +18,6 @@ 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 0x0000
-#define DEVICE_VER 0x0002
-#define MANUFACTURER HnahKB
-#define PRODUCT Hnah40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B5, B3, D4 }
#define MATRIX_COL_PINS { B0, D7, D6, D5, B2, B1, C0, C1, C2, C3, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/hnah40/info.json b/keyboards/handwired/hnah40/info.json
index df95f0bf94..e4ca3fbb84 100644
--- a/keyboards/handwired/hnah40/info.json
+++ b/keyboards/handwired/hnah40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hnah40",
+ "manufacturer": "HnahKB",
"url": "https://github.com/vuhopkep/PCB/tree/master/Hnah40-Atmega328p/PCB_V1/PCB",
"maintainer": "HnahKB",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h
index 8204550d00..916fe15a20 100644
--- a/keyboards/handwired/hnah40rgb/config.h
+++ b/keyboards/handwired/hnah40rgb/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HnahKB
-#define PRODUCT Hnah40V2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
diff --git a/keyboards/handwired/hnah40rgb/info.json b/keyboards/handwired/hnah40rgb/info.json
index 79a5ddefb2..d00935ec26 100644
--- a/keyboards/handwired/hnah40rgb/info.json
+++ b/keyboards/handwired/hnah40rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Hnah40",
+ "keyboard_name": "Hnah40V2",
+ "manufacturer": "HnahKB",
"url": "",
"maintainer": "HnahKB",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/handwired/ibm122m/config.h
index cf65a8b909..e9f99eaba3 100644
--- a/keyboards/handwired/ibm122m/config.h
+++ b/keyboards/handwired/ibm122m/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBM
-#define PRODUCT IBM Model M 122 key
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 20
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_COL_PINS { E6, B7, D0, D1, D2, D3, D4, D5, D6, D7, E0, E1, C0, C1, C2, C3, C4, C5, C7, F1 }
#define MATRIX_ROW_PINS { F0, B5, B4, B3, B2, B1, B0, E7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/ibm122m/info.json b/keyboards/handwired/ibm122m/info.json
index 71f216d32f..970aa57240 100644
--- a/keyboards/handwired/ibm122m/info.json
+++ b/keyboards/handwired/ibm122m/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "IBM Model M 122-key",
+ "keyboard_name": "IBM Model M 122 key",
+ "manufacturer": "IBM",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ibm_wheelwriter/config.h b/keyboards/handwired/ibm_wheelwriter/config.h
index ecca69fff8..eda98c03b5 100644
--- a/keyboards/handwired/ibm_wheelwriter/config.h
+++ b/keyboards/handwired/ibm_wheelwriter/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8767
-#define PRODUCT_ID 0x5f89
-#define DEVICE_VER 0x0002
-#define MANUFACTURER IBM
-#define PRODUCT ibm6715
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 13
diff --git a/keyboards/handwired/ibm_wheelwriter/info.json b/keyboards/handwired/ibm_wheelwriter/info.json
index 58babe0a94..35e1e8c404 100644
--- a/keyboards/handwired/ibm_wheelwriter/info.json
+++ b/keyboards/handwired/ibm_wheelwriter/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ibm_wheelwriter",
+ "keyboard_name": "6715 Wheelwriter",
+ "manufacturer": "IBM",
"url": "https://github.com/andresteare/qmk_firmware",
"maintainer": "andresteare",
+ "usb": {
+ "vid": "0x8767",
+ "pid": "0x5F89",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/jn68m/config.h b/keyboards/handwired/jn68m/config.h
index 56a3e11696..cabfebbfcd 100644
--- a/keyboards/handwired/jn68m/config.h
+++ b/keyboards/handwired/jn68m/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC714
-#define PRODUCT_ID 0x1010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MxBlue
-#define PRODUCT JN68M
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, D5, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/jn68m/info.json b/keyboards/handwired/jn68m/info.json
index 625b3bb96e..d244bbbb4e 100644
--- a/keyboards/handwired/jn68m/info.json
+++ b/keyboards/handwired/jn68m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JN68M",
+ "manufacturer": "MxBlue",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xC714",
+ "pid": "0x1010",
+ "device_version": "0.0.1"
+ },
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
diff --git a/keyboards/handwired/jopr/config.h b/keyboards/handwired/jopr/config.h
index 7e1da5bbc3..5625f99521 100644
--- a/keyboards/handwired/jopr/config.h
+++ b/keyboards/handwired/jopr/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4DAE
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER joelproko
-#define PRODUCT jopr-106-Nl2SR-Cl2nL
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 11
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D6, D2, D4, D3, D5, D7, C6, B6, F5 }
#define MATRIX_COL_PINS { B3, B2, B1, B0, F7, E6, F6, B5, C7, B4, D1 }
-#define UNUSED_PINS { B7 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/jopr/info.json b/keyboards/handwired/jopr/info.json
index 7062f9e318..7da42ae0f4 100644
--- a/keyboards/handwired/jopr/info.json
+++ b/keyboards/handwired/jopr/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jopr-106",
+ "keyboard_name": "jopr-106-Nl2SR-Cl2nL",
+ "manufacturer": "joelproko",
"url": "https://github.com/joelproko/keyboard_layout_jopr",
"maintainer": "joelproko",
+ "usb": {
+ "vid": "0x4DAE",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/jot50/config.h b/keyboards/handwired/jot50/config.h
index c44ceb3a71..d3ce848df6 100644
--- a/keyboards/handwired/jot50/config.h
+++ b/keyboards/handwired/jot50/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT Jot50
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* pro_micro pin-out */
#define MATRIX_ROW_PINS { D7, E6, B4, B6, B2 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D3, D2, D1, D0, D4, C6 }
-#define UNUSED_PINS
/* leds */
#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/handwired/jot50/info.json b/keyboards/handwired/jot50/info.json
index 817dd12878..8df364e5a6 100644
--- a/keyboards/handwired/jot50/info.json
+++ b/keyboards/handwired/jot50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jot50",
+ "manufacturer": "Jotix",
"url": "",
"maintainer": "jotix",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/handwired/jotanck/config.h b/keyboards/handwired/jotanck/config.h
index db4a51f52f..9468505c44 100644
--- a/keyboards/handwired/jotanck/config.h
+++ b/keyboards/handwired/jotanck/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT Jotanck
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* pro_micro pin-out */
#define MATRIX_ROW_PINS { D7, E6, B6, B2 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D3, D2, D1, D0, D4, C6 }
-#define UNUSED_PINS
/* leds */
#define JOTANCK_LEDS
diff --git a/keyboards/handwired/jotanck/info.json b/keyboards/handwired/jotanck/info.json
index 914c254849..c0b009c3ae 100644
--- a/keyboards/handwired/jotanck/info.json
+++ b/keyboards/handwired/jotanck/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jotanck",
+ "manufacturer": "Jotix",
"url": "",
"maintainer": "jotix",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/handwired/jotpad16/config.h b/keyboards/handwired/jotpad16/config.h
index 78f28059e5..b0e3ebcf8c 100644
--- a/keyboards/handwired/jotpad16/config.h
+++ b/keyboards/handwired/jotpad16/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT JotPad16
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* pro_micro pin-out */
#define MATRIX_ROW_PINS { B6, B2, D2, D3 }
#define MATRIX_COL_PINS { E6, D7, B3, B1 }
-#define UNUSED_PINS
/* leds */
#define JOTPAD16_LEDS
diff --git a/keyboards/handwired/jotpad16/info.json b/keyboards/handwired/jotpad16/info.json
index 39a043e9e1..97c2ddbd75 100644
--- a/keyboards/handwired/jotpad16/info.json
+++ b/keyboards/handwired/jotpad16/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JotPad16",
+ "manufacturer": "Jotix",
"url": "",
"maintainer": "jotix",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/handwired/jscotto/scotto36/info.json b/keyboards/handwired/jscotto/scotto36/info.json
new file mode 100644
index 0000000000..b6828edd21
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/info.json
@@ -0,0 +1,77 @@
+{
+ "manufacturer": "Joe Scotto",
+ "keyboard_name": "Scotto36",
+ "maintainer": "joe-scotto",
+ "bootloader": "caterina",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ // 4, 5, 6, 7, 8, 9, A3, A2, A1, A0
+ "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6", "F7"],
+
+ // 15, 14, 16, 10
+ "rows": ["B1", "B3", "B2", "B6"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xFEED"
+ },
+ "layouts": {
+ "LAYOUT_ortho_3x10_6": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+
+ // Row 2
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+
+ // Row 3
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+
+ // Row 4
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3 },
+ { "matrix": [3, 6], "x": 6, "y": 3 },
+ { "matrix": [3, 7], "x": 7, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/config.h b/keyboards/handwired/jscotto/scotto36/keymaps/default/config.h
new file mode 100644
index 0000000000..8723c294cb
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/keymaps/default/config.h
@@ -0,0 +1,24 @@
+/*
+Copyright 2022 Joe Scotto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+// Define options
+#define IGNORE_MOD_TAP_INTERRUPT
+#define TAPPING_TERM 135
+#define PERMISSIVE_HOLD
+#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c
new file mode 100644
index 0000000000..cd9b1599a5
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c
@@ -0,0 +1,281 @@
+/*
+Copyright 2022 Joe Scotto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+#include <stdio.h>
+char wpm_str[10];
+
+// Tap Dance declarations
+enum {
+ TD_ESC_SPOTLIGHT_EMOJI,
+ TD_ESC_WINDOWS_EMOJI
+};
+
+void td_esc_spotlight_emoji (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ tap_code(KC_ESC);
+ } else if (state->count == 2) {
+ tap_code16(G(KC_SPC));
+ } else if (state->count == 3) {
+ tap_code16(C(G(KC_SPC)));
+ }
+}
+
+void td_esc_windows_emoji (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ tap_code(KC_ESC);
+ } else if (state->count == 2) {
+ tap_code(KC_LGUI);
+ } else if (state->count == 3) {
+ tap_code16(G(KC_DOT));
+ }
+};
+
+ // Tap Dance definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_spotlight_emoji),
+ [TD_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_windows_emoji)
+};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_ESC_SPOTLIGHT_EMOJI) :
+ case TD(TD_ESC_WINDOWS_EMOJI) :
+ case LGUI_T(KC_SPC) :
+ case LT(1, KC_TAB) :
+ case LT(2, KC_ENT) :
+ return 200;
+ default:
+ return TAPPING_TERM;
+ }
+};
+
+// Layer Names
+enum layer_names {
+ _MAC_DEFAULT,
+ _MAC_CODE,
+ _MAC_NUM,
+ _MAC_FUNC,
+ _WIN_DEFAULT,
+ _WIN_CODE,
+ _WIN_NUM,
+ _WIN_FUNC
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_3x10_6(
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC,
+ KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
+ LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
+ KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI)
+ ),
+ [1] = LAYOUT_ortho_3x10_6(
+ KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
+ KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
+ LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
+ KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI)
+ ),
+ [2] = LAYOUT_ortho_3x10_6(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
+ KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI)
+ ),
+ [3] = LAYOUT_ortho_3x10_6(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4),
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
+ KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI)
+ ),
+ [4] = LAYOUT_ortho_3x10_6(
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC,
+ KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
+ LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
+ KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI)
+ ),
+ [5] = LAYOUT_ortho_3x10_6(
+ KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
+ KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
+ LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE,KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
+ KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI)
+ ),
+ [6] = LAYOUT_ortho_3x10_6(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
+ KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI)
+ ),
+ [7] = LAYOUT_ortho_3x10_6(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0),
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
+ KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI)
+ )
+};
+
+// OLED
+#ifdef OLED_ENABLE
+// WPM responsiveness
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 20 // Speed at which animation goes into idle
+#define TAP_FRAMES 2
+#define TAP_SPEED 40 // WPM to trigger Bongo
+#define ANIM_FRAME_DURATION 200 // Frame MS
+#define ANIM_SIZE 636 // Number of bytes in array, max 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+uint8_t current_tap_frame = 0;
+
+static void render_animation(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
+ static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ };
+
+ void animation_phase(void) {
+ if (get_current_wpm() <= IDLE_SPEED) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
+ oled_write_raw_P(prep[0], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() >= TAP_SPEED) {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+ }
+ if (get_current_wpm() != 000) {
+ oled_on(); // Enables OLED on any alpha keypress
+
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+
+ anim_sleep = timer_read32();
+ } else {
+ if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
+
+// Draw to OLED
+bool oled_task_user() {
+ // Render Bongo Cat
+ render_animation();
+
+ // WPM text
+ oled_set_cursor(0, 0);
+ sprintf(wpm_str, "%03d", get_current_wpm()); // %03d defines digits to display
+ oled_write(wpm_str, false);
+
+ // Layer text
+ oled_set_cursor(0, 1);
+ switch (get_highest_layer(layer_state)) {
+ case _MAC_DEFAULT :
+ oled_write_P(PSTR("MAC"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("MAIN"), false);
+ break;
+ case _MAC_CODE :
+ oled_write_P(PSTR("MAC"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("CODE"), false);
+ break;
+ case _MAC_NUM :
+ oled_write_P(PSTR("MAC"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("NUM"), false);
+ break;
+ case _MAC_FUNC :
+ oled_write_P(PSTR("MAC"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("FUNC"), false);
+ break;
+ case _WIN_DEFAULT :
+ oled_write_P(PSTR("WIN"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("MAIN"), false);
+ break;
+ case _WIN_CODE :
+ oled_write_P(PSTR("WIN"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("CODE"), false);
+ break;
+ case _WIN_NUM :
+ oled_write_P(PSTR("WIN"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("NUM"), false);
+ break;
+ case _WIN_FUNC :
+ oled_write_P(PSTR("WIN"), false);
+ oled_set_cursor(0, 2);
+ oled_write_P(PSTR("FUNC"), false);
+ break;
+ }
+
+ // Caps lock text
+ led_t led_state = host_keyboard_led_state();
+ oled_set_cursor(0, 3);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(""), false);
+
+ return false;
+}
+#endif
+
diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk b/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk
new file mode 100644
index 0000000000..6e339da6c6
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk
@@ -0,0 +1,4 @@
+OLED_ENABLE = yes
+WPM_ENABLE = yes
+LTO_ENABLE = yes
+TAP_DANCE_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/jscotto/scotto36/readme.md b/keyboards/handwired/jscotto/scotto36/readme.md
new file mode 100644
index 0000000000..f38d0231c5
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/readme.md
@@ -0,0 +1,25 @@
+# Scotto36
+
+![Scotto36](https://i.imgur.com/MCGv0ZHh.jpeg)
+
+A 36 key handwired ortholinear ergo keyboard. Featuring an OLED display with Bongo Cat. Case files available [here](https://github.com/joe-scotto/keyboards.git).
+
+- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
+- Hardware Supported: ATmega32U4
+- Hardware Availability: [Amazon](https://amazon.com)
+
+
+# Compiling
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/jscotto/scotto36:default
+
+Flashing example for this keyboard:
+
+ make handwired/jscotto/scotto36:default
+
+# Bootloader
+Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode.
+
+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/jscotto/scotto36/rules.mk b/keyboards/handwired/jscotto/scotto36/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/handwired/jscotto/scotto36/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/handwired/jtallbean/split_65/config.h b/keyboards/handwired/jtallbean/split_65/config.h
index 196b0bc55d..e3c08722e2 100644
--- a/keyboards/handwired/jtallbean/split_65/config.h
+++ b/keyboards/handwired/jtallbean/split_65/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jtallbean
-#define PRODUCT split_65
-
/* key matrix size */
#define MATRIX_ROWS 10 // Double rows for split keyboards. split_65 has 5, so define 10
#define MATRIX_COLS 9
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { C6, B5, B4, D7, D6, D4, D2, D3, B7 } // B7 is not actually used, but it is needed since # of entries must equal 9
#define MATRIX_ROW_PINS_RIGHT { E6, F0, F1, F7, D7 }
#define MATRIX_COL_PINS_RIGHT { B4, B5, B6, C6, C7, D4, D6, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/jtallbean/split_65/info.json b/keyboards/handwired/jtallbean/split_65/info.json
index a4082533a1..0cc04c93dc 100644
--- a/keyboards/handwired/jtallbean/split_65/info.json
+++ b/keyboards/handwired/jtallbean/split_65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "split_65",
+ "manufacturer": "jtallbean",
"url": "",
"maintainer": "jtallbean",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/juliet/config.h b/keyboards/handwired/juliet/config.h
index 5189017dfb..4b8cc99995 100644
--- a/keyboards/handwired/juliet/config.h
+++ b/keyboards/handwired/juliet/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6B62
-#define PRODUCT_ID 0x4069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nacly
-#define PRODUCT juliet
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/juliet/info.json b/keyboards/handwired/juliet/info.json
index 9d80b112d6..053b662e4d 100644
--- a/keyboards/handwired/juliet/info.json
+++ b/keyboards/handwired/juliet/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "juliet",
+ "manufacturer": "nacly",
"url": "https://github.com/Na-Cly/juliet",
"maintainer": "Na-Cly",
+ "usb": {
+ "vid": "0x6B62",
+ "pid": "0x4069",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"1.5u", "x":0, "y":0, "w":1.5}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"label":"1.5u", "x":11.5, "y":0, "w":1.5}, {"label":"1.75u", "x":0, "y":1, "w":1.75}, {"x":1.75, "y":1}, {"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":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"label":"2.25u", "x":10.75, "y":1, "w":2.25}, {"label":"1.25u", "x":0, "y":2, "w":1.25}, {"x":1.25, "y":2}, {"x":2.25, "y":2}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"label":"1.75u", "x":11.25, "y":2, "w":1.75}, {"label":"1.25u", "x":0, "y":3, "w":1.25}, {"label":"1u", "x":1.25, "y":3}, {"label":"1.25u", "x":2.25, "y":3, "w":1.25}, {"label":"2.25u", "x":3.5, "y":3, "w":2.25}, {"label":"1u", "x":5.75, "y":3}, {"label":"2.75u", "x":6.75, "y":3, "w":2.75}, {"label":"1.25u", "x":9.5, "y":3, "w":1.25}, {"label":"1u", "x":10.75, "y":3}, {"label":"1.25u", "x":11.75, "y":3, "w":1.25}]
diff --git a/keyboards/handwired/k8split/config.h b/keyboards/handwired/k8split/config.h
index c1afef9a33..58708012f6 100644
--- a/keyboards/handwired/k8split/config.h
+++ b/keyboards/handwired/k8split/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC81D
-#define PRODUCT_ID 0xC868
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ckat
-#define PRODUCT k8split
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/k8split/info.json b/keyboards/handwired/k8split/info.json
index b7a39c56c7..c4da6abfb4 100644
--- a/keyboards/handwired/k8split/info.json
+++ b/keyboards/handwired/k8split/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "k8split",
+ "manufacturer": "Ckat",
"url": "",
"maintainer": "Ckath",
+ "usb": {
+ "vid": "0xC81D",
+ "pid": "0xC868",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/k_numpad17/config.h b/keyboards/handwired/k_numpad17/config.h
index 849460520a..ebe38b9d31 100644
--- a/keyboards/handwired/k_numpad17/config.h
+++ b/keyboards/handwired/k_numpad17/config.h
@@ -18,12 +18,6 @@ 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 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Handwired
-#define PRODUCT K-Numpad17
#define TAPPING_TERM 400
@@ -35,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, D4, C6, D7, E6 }
#define MATRIX_COL_PINS { B2, B1, F6 , F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/k_numpad17/info.json b/keyboards/handwired/k_numpad17/info.json
index a382df0081..10dc814fc7 100644
--- a/keyboards/handwired/k_numpad17/info.json
+++ b/keyboards/handwired/k_numpad17/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "K-Numpad17",
+ "manufacturer": "Handwired",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h
index 8cf38f59dc..44046dcfa1 100644
--- a/keyboards/handwired/kbod/config.h
+++ b/keyboards/handwired/kbod/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER fudanchii
-#define PRODUCT kbod
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5, B6, B7, D6 }
#define MATRIX_COL_PINS { D0, D1, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/kbod/info.json b/keyboards/handwired/kbod/info.json
index 2026bde377..3c62ad9f74 100644
--- a/keyboards/handwired/kbod/info.json
+++ b/keyboards/handwired/kbod/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kbod",
+ "manufacturer": "fudanchii",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/kbod/keymaps/default/keymap.c b/keyboards/handwired/kbod/keymaps/default/keymap.c
index 333f8a769f..0ffc3e9d97 100644
--- a/keyboards/handwired/kbod/keymaps/default/keymap.c
+++ b/keyboards/handwired/kbod/keymaps/default/keymap.c
@@ -89,7 +89,7 @@ void matrix_init_user(void) {
}
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (layer) {
PORTC |= _BV(PC7);
} else {
diff --git a/keyboards/handwired/ks63/config.h b/keyboards/handwired/ks63/config.h
index b75346e6f5..565c48ab9e 100644
--- a/keyboards/handwired/ks63/config.h
+++ b/keyboards/handwired/ks63/config.h
@@ -20,13 +20,6 @@ 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 0x3061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kleshwong
-#define PRODUCT ks63
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/ks63/info.json b/keyboards/handwired/ks63/info.json
index fe3ee22bf7..600bd2252d 100644
--- a/keyboards/handwired/ks63/info.json
+++ b/keyboards/handwired/ks63/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ks60",
+ "keyboard_name": "ks63",
+ "manufacturer": "kleshwong",
"url": "",
"maintainer": "Klesh Wong",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3061",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/lagrange/config.h b/keyboards/handwired/lagrange/config.h
index 309603ad39..14a5767272 100644
--- a/keyboards/handwired/lagrange/config.h
+++ b/keyboards/handwired/lagrange/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2718
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dimitris Papavasiliou
-#define PRODUCT Lagrange
-
#define EE_HANDS
#define SPLIT_USB_DETECT
@@ -37,7 +30,6 @@
#define MATRIX_COL_PINS { B4, B5, D7, B6, C6, D6 }
#define MATRIX_ROW_PINS_RIGHT { B5, B4, D7, B6, C6, D6, D4 }
#define MATRIX_COL_PINS_RIGHT { C7, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/lagrange/info.json b/keyboards/handwired/lagrange/info.json
index 48714c75c3..9dd3891ebc 100644
--- a/keyboards/handwired/lagrange/info.json
+++ b/keyboards/handwired/lagrange/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lagrange",
+ "manufacturer": "Dimitris Papavasiliou",
"url": "https://github.com/dpapavas/lagrange-keyboard",
"maintainer": "dpapavas",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2718",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
index bbcb83913f..c2eb4406d1 100644
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
+++ b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS
),
diff --git a/keyboards/handwired/lagrange/readme.md b/keyboards/handwired/lagrange/readme.md
index 5d7f5bb08e..a4157771a4 100644
--- a/keyboards/handwired/lagrange/readme.md
+++ b/keyboards/handwired/lagrange/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make handwired/lagrange:default:flash
-To program the keyboard you'll need to reset it. This can be accomplished, either through the reset button, accessible via a hole in the bottom cover, or, if you've assigned the `RESET` keycode to a key, by pressing that key.
+To program the keyboard you'll need to reset it. This can be accomplished, either through the reset button, accessible via a hole in the bottom cover, or, if you've assigned the `QK_BOOT` keycode to a key, by pressing that key.
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/leftynumpad/config.h b/keyboards/handwired/leftynumpad/config.h
index db89057e62..e05ceae098 100644
--- a/keyboards/handwired/leftynumpad/config.h
+++ b/keyboards/handwired/leftynumpad/config.h
@@ -19,12 +19,6 @@ 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 0xBEEF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Tom Swartz
-#define PRODUCT LeftyNumpad
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { E6, B4, B5, B6, B2 }
-#define UNUSED_PINS {D3, D2, B0, D5, B3, B1, F7, F6, F5, F4 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/leftynumpad/info.json b/keyboards/handwired/leftynumpad/info.json
index bd9f1919cf..c25e9c758e 100644
--- a/keyboards/handwired/leftynumpad/info.json
+++ b/keyboards/handwired/leftynumpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LeftyNumpad",
+ "manufacturer": "Tom Swartz",
"url": "https://github.com/tomswartz07",
"maintainer": "Tom Swartz",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xBEEF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/lemonpad/config.h b/keyboards/handwired/lemonpad/config.h
index c4e488f572..7db499aba4 100644
--- a/keyboards/handwired/lemonpad/config.h
+++ b/keyboards/handwired/lemonpad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6473
-#define PRODUCT_ID 0x4C50
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dari-studios
-#define PRODUCT lemonpad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -44,7 +37,6 @@
{ E6, D7, C6 }, \
{ B4, B5, D4 } \
}
-#define UNUSED_PINS
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/handwired/lemonpad/info.json b/keyboards/handwired/lemonpad/info.json
index e9d13d147f..e2824f8fa7 100644
--- a/keyboards/handwired/lemonpad/info.json
+++ b/keyboards/handwired/lemonpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "lemonpad",
+ "manufacturer": "dari-studios",
"url": "",
"maintainer": "dari-studios",
+ "usb": {
+ "vid": "0x6473",
+ "pid": "0x4C50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/lemonpad/readme.md b/keyboards/handwired/lemonpad/readme.md
index 4c1c2082e9..788bca6b43 100644
--- a/keyboards/handwired/lemonpad/readme.md
+++ b/keyboards/handwired/lemonpad/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/lovelive9/config.h b/keyboards/handwired/lovelive9/config.h
index 9a55ee95f3..42974d48a5 100644
--- a/keyboards/handwired/lovelive9/config.h
+++ b/keyboards/handwired/lovelive9/config.h
@@ -3,13 +3,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER numazu Keyboards
-#define PRODUCT lovelive9
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 9
@@ -20,7 +13,6 @@
#define DIODE_DIRECTION COL2ROW
-#define UNUSED_PINS
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/handwired/lovelive9/info.json b/keyboards/handwired/lovelive9/info.json
index c7ef2cf83c..7f8bd65fae 100644
--- a/keyboards/handwired/lovelive9/info.json
+++ b/keyboards/handwired/lovelive9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "lovelive9",
+ "manufacturer": "numazu Keyboards",
"url": "https://github.com/ginjake",
"maintainer": "ginjake",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/m40/5x5_macropad/config.h b/keyboards/handwired/m40/5x5_macropad/config.h
index 4f71b79d43..fb9938c9d6 100644
--- a/keyboards/handwired/m40/5x5_macropad/config.h
+++ b/keyboards/handwired/m40/5x5_macropad/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER m40
-#define PRODUCT macropad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/m40/5x5_macropad/info.json b/keyboards/handwired/m40/5x5_macropad/info.json
index 7d5ae8c6cb..1b0d95bf2d 100644
--- a/keyboards/handwired/m40/5x5_macropad/info.json
+++ b/keyboards/handwired/m40/5x5_macropad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "5x5_macropad",
+ "manufacturer": "m40",
"url": "https://www.thingiverse.com/thing:5239739",
"maintainer": "m40-dev",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x5": {
"layout": [
diff --git a/keyboards/handwired/m40/5x5_macropad/readme.md b/keyboards/handwired/m40/5x5_macropad/readme.md
index 7ce38d6593..457b8cf4ee 100644
--- a/keyboards/handwired/m40/5x5_macropad/readme.md
+++ b/keyboards/handwired/m40/5x5_macropad/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. In default layout (if you flashed it already once) it is the top-right button.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. In default layout (if you flashed it already once) it is the top-right button.
diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h
index 42a4deb5d8..0d2aba2a38 100644
--- a/keyboards/handwired/macroboard/config.h
+++ b/keyboards/handwired/macroboard/config.h
@@ -19,12 +19,6 @@ 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 0x2137
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
@@ -39,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/macroboard/f401/rules.mk b/keyboards/handwired/macroboard/f401/rules.mk
index bcb612f5cc..3ce53701da 100644
--- a/keyboards/handwired/macroboard/f401/rules.mk
+++ b/keyboards/handwired/macroboard/f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/macroboard/f411/config.h b/keyboards/handwired/macroboard/f411/config.h
index d0d88f0c9e..31cb5fa11b 100644
--- a/keyboards/handwired/macroboard/f411/config.h
+++ b/keyboards/handwired/macroboard/f411/config.h
@@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A15, B3, B4, B5, B7 }
#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A10 }
-#define UNUSED_PINS
#define AUDIO_INIT_DELAY
#define AUDIO_PIN B10
diff --git a/keyboards/handwired/macroboard/f411/rules.mk b/keyboards/handwired/macroboard/f411/rules.mk
index 1bb37ec02c..0a580be07a 100644
--- a/keyboards/handwired/macroboard/f411/rules.mk
+++ b/keyboards/handwired/macroboard/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json
index 2aa44eb803..cb3645f358 100644
--- a/keyboards/handwired/macroboard/info.json
+++ b/keyboards/handwired/macroboard/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "macroboard",
+ "keyboard_name": "Macroboard",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "Michał Szczepaniak",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2137",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x6": {
"layout": [
diff --git a/keyboards/handwired/macroboard/keymaps/via/keymap.c b/keyboards/handwired/macroboard/keymaps/via/keymap.c
index f074fede51..63d2768e27 100644
--- a/keyboards/handwired/macroboard/keymaps/via/keymap.c
+++ b/keyboards/handwired/macroboard/keymaps/via/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_LCTL, KC_LGUI, RGB_TOG, RGB_MODE_FORWARD, RESET, KC_SPC
+ KC_LCTL, KC_LGUI, RGB_TOG, RGB_MODE_FORWARD, QK_BOOT, KC_SPC
),
[1] = LAYOUT_ortho_5x6(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/handwired/macroboard/readme.md b/keyboards/handwired/macroboard/readme.md
index ee2351f99f..ea32085bc0 100644
--- a/keyboards/handwired/macroboard/readme.md
+++ b/keyboards/handwired/macroboard/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available, by default 5th column, 5th row
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available, by default 5th column, 5th row
diff --git a/keyboards/handwired/magicforce61/config.h b/keyboards/handwired/magicforce61/config.h
index e54ee545da..ab24503ea0 100644
--- a/keyboards/handwired/magicforce61/config.h
+++ b/keyboards/handwired/magicforce61/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Magicforce 61
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4 }
#define MATRIX_COL_PINS { B5, B4, B3, B2, B1, B0, E7, E6, F0, F1, F2, F3, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/magicforce61/info.json b/keyboards/handwired/magicforce61/info.json
index e4bab8a0d2..2a69b22e2f 100644
--- a/keyboards/handwired/magicforce61/info.json
+++ b/keyboards/handwired/magicforce61/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Magicforce \"61\"",
+ "keyboard_name": "Magicforce 61",
+ "manufacturer": "Hexwire",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/magicforce68/config.h b/keyboards/handwired/magicforce68/config.h
index 0539fab023..7eab860061 100644
--- a/keyboards/handwired/magicforce68/config.h
+++ b/keyboards/handwired/magicforce68/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Magicforce 68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B2, B0, D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B6, B7, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/magicforce68/info.json b/keyboards/handwired/magicforce68/info.json
index f3ad1287ea..82f329e29d 100644
--- a/keyboards/handwired/magicforce68/info.json
+++ b/keyboards/handwired/magicforce68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Magicforce 68 Handwired",
+ "keyboard_name": "Magicforce 68",
+ "manufacturer": "Hexwire",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h
index 7c6a6d74d4..a3165c480d 100644
--- a/keyboards/handwired/marauder/config.h
+++ b/keyboards/handwired/marauder/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D52
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BB-66
-#define PRODUCT Minshara Marauder
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -43,7 +36,7 @@
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, B0 }
#define DIODE_DIRECTION COL2ROW
#define LAYER_STATE_8BIT
-#define QMK_KEYS_PER_SCAN 12 // moar gaming code
+
#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
#define RGBLED_NUM 7
diff --git a/keyboards/handwired/marauder/info.json b/keyboards/handwired/marauder/info.json
index d2e1be4ff8..8c0e23fafb 100644
--- a/keyboards/handwired/marauder/info.json
+++ b/keyboards/handwired/marauder/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Minshara Marauder",
+ "manufacturer": "BB-66",
"url": "https://imgur.com/a/TvsXpq5",
"maintainer": "BB-66",
+ "usb": {
+ "vid": "0x4D52",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/mechboards_micropad/config.h b/keyboards/handwired/mechboards_micropad/config.h
index f008d596f1..659bed03e2 100644
--- a/keyboards/handwired/mechboards_micropad/config.h
+++ b/keyboards/handwired/mechboards_micropad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar
-#define PRODUCT Mechboards Micropad
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6 }
#define MATRIX_COL_PINS { B2, B3, B1, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/mechboards_micropad/info.json b/keyboards/handwired/mechboards_micropad/info.json
index abbf6e649d..aefc0b89c0 100644
--- a/keyboards/handwired/mechboards_micropad/info.json
+++ b/keyboards/handwired/mechboards_micropad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mechboards Micropad",
+ "manufacturer": "Yiancar",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"1", "x":0, "y":0}, {"label":"2", "x":1, "y":0}, {"label":"3", "x":2, "y":0}, {"label":"4", "x":3, "y":0}]
diff --git a/keyboards/handwired/meck_tkl/blackpill_f401/config.h b/keyboards/handwired/meck_tkl/blackpill_f401/config.h
index cca2eac3a9..eff5d5d81f 100644
--- a/keyboards/handwired/meck_tkl/blackpill_f401/config.h
+++ b/keyboards/handwired/meck_tkl/blackpill_f401/config.h
@@ -7,8 +7,6 @@
{ B15, A8, A9, B14, A15, B3 }
#define MATRIX_COL_PINS \
{ B4, B5, B6, B7, B8, B9, A1, A2, A3, A4, A5, A6, A7, B0, B1, A0, B10 }
-#define UNUSED_PINS \
- { A10, A11, A12, B2, B12, C14, C15 }
#define LED_CAPS_LOCK_PIN C13
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk b/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk
index e01b22e8fd..d2eae19dfb 100644
--- a/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk
+++ b/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/meck_tkl/config.h b/keyboards/handwired/meck_tkl/config.h
index 7029e22530..07fd3dd314 100644
--- a/keyboards/handwired/meck_tkl/config.h
+++ b/keyboards/handwired/meck_tkl/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x474B
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gabrielkim13
-#define PRODUCT Meck TKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/handwired/meck_tkl/info.json b/keyboards/handwired/meck_tkl/info.json
index 5976b67584..a8d6e281e2 100644
--- a/keyboards/handwired/meck_tkl/info.json
+++ b/keyboards/handwired/meck_tkl/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "meck_tkl",
+ "keyboard_name": "Meck TKL",
+ "manufacturer": "gabrielkim13",
"url": "github.com/gabrielkim13",
"maintainer": "gabrielkim13",
+ "usb": {
+ "vid": "0x474B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/handwired/meck_tkl/readme.md b/keyboards/handwired/meck_tkl/readme.md
index ec09047dde..9db9cd222f 100644
--- a/keyboards/handwired/meck_tkl/readme.md
+++ b/keyboards/handwired/meck_tkl/readme.md
@@ -24,7 +24,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Wiring instructions
diff --git a/keyboards/handwired/minorca/config.h b/keyboards/handwired/minorca/config.h
index e987ba67f0..4c27d9da4d 100644
--- a/keyboards/handwired/minorca/config.h
+++ b/keyboards/handwired/minorca/config.h
@@ -19,13 +19,6 @@ 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 0x6660
-#define DEVICE_VER 0x0001
-#define MANUFACTURER panc.co
-#define PRODUCT Minorca
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* MinOrca PCB default pin-out */
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -67,9 +59,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
diff --git a/keyboards/handwired/minorca/info.json b/keyboards/handwired/minorca/info.json
index 9882d0cf7e..34b2539a11 100644
--- a/keyboards/handwired/minorca/info.json
+++ b/keyboards/handwired/minorca/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Minorca Handwired",
+ "keyboard_name": "Minorca",
+ "manufacturer": "panc.co",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6660",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c b/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c
index ae490914d5..eac0802e33 100644
--- a/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c
+++ b/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
},
[_SECRET] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- {RESET, _______, _______, _______, SECRET0, SECRET1, _______, _______, _______, _______, VERSION, _______ },
+ {QK_BOOT, _______, _______, _______, SECRET0, SECRET1, _______, _______, _______, _______, VERSION, _______ },
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
{_______, SECRET4, SECRET8, DEBUG, _______, _______, _______, _______, _______, SECRET7, XXXXXXX, MAKE },
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/config.h b/keyboards/handwired/ms_sculpt_mobile/astar/config.h
index c34b86acb2..aafa6953c7 100644
--- a/keyboards/handwired/ms_sculpt_mobile/astar/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/astar/config.h
@@ -1,6 +1,4 @@
#pragma once
-#define PRODUCT sculpt mobile astar
-
#define MATRIX_ROW_PINS { D7, C6, D4, D0, D1, D3, D2, E2 }
#define MATRIX_COL_PINS { B4, B5, E6, B7, B6, D6, C7, F7, F6, F4, F5, F1, F0, D5, B0, B1, B2, B3 }
diff --git a/keyboards/handwired/ms_sculpt_mobile/astar/info.json b/keyboards/handwired/ms_sculpt_mobile/astar/info.json
new file mode 100644
index 0000000000..bbdfe24cf3
--- /dev/null
+++ b/keyboards/handwired/ms_sculpt_mobile/astar/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "sculpt mobile astar"
+}
diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h
index df478e6d8a..54bc2689a2 100644
--- a/keyboards/handwired/ms_sculpt_mobile/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/config.h
@@ -19,12 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Microsoftplus
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 18
diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json
index 1c171af8f3..a66f43fadc 100644
--- a/keyboards/handwired/ms_sculpt_mobile/info.json
+++ b/keyboards/handwired/ms_sculpt_mobile/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "MS Sculpt Mobile",
+ "manufacturer": "Microsoftplus",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
index a69d3fd3b0..7a514a76cb 100644
--- a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/config.h
@@ -1,6 +1,4 @@
#pragma once
-#define PRODUCT sculpt mobile teensypp
-
#define MATRIX_ROW_PINS { F7, F6, F4, F5, F3, F2, F1, F0 }
#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0, E1, C1, C0, C3, C2, C5, C4, C7 }
diff --git a/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json
new file mode 100644
index 0000000000..e94752a82d
--- /dev/null
+++ b/keyboards/handwired/ms_sculpt_mobile/teensy2pp/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "sculpt mobile teensypp"
+}
diff --git a/keyboards/handwired/mutepad/config.h b/keyboards/handwired/mutepad/config.h
index 7113063223..bc763fc29d 100644
--- a/keyboards/handwired/mutepad/config.h
+++ b/keyboards/handwired/mutepad/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JoshwJB
-#define PRODUCT MutePad
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -30,7 +23,6 @@
{ F6 }
#define MATRIX_COL_PINS \
{ B1, B3, B2, B6 }
-#define UNUSED_PINS
/* encoder support */
#define ENCODERS_PAD_A \
diff --git a/keyboards/handwired/mutepad/info.json b/keyboards/handwired/mutepad/info.json
index 60218924a0..1ae80088eb 100644
--- a/keyboards/handwired/mutepad/info.json
+++ b/keyboards/handwired/mutepad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MutePad",
+ "manufacturer": "JoshwJB",
"url": "https://github.com/JoshwJB/MutePad",
"maintainer": "JoshwJB",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/myskeeb/config.h b/keyboards/handwired/myskeeb/config.h
index ef6dcb13b7..0e64b01274 100644
--- a/keyboards/handwired/myskeeb/config.h
+++ b/keyboards/handwired/myskeeb/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device Descriptor Parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0100
-#define MANUFACTURER DAG3
-#define PRODUCT MySKeeb
-
// Key Matrix Size //
// Rows are Doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/myskeeb/info.json b/keyboards/handwired/myskeeb/info.json
index 27f1d2ae52..8aff23d617 100644
--- a/keyboards/handwired/myskeeb/info.json
+++ b/keyboards/handwired/myskeeb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "myskeeb",
+ "keyboard_name": "MySKeeb",
+ "manufacturer": "DAG3",
"url": "",
"maintainer": "su8044",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/nicekey/config.h b/keyboards/handwired/nicekey/config.h
index 7a41e62a57..4cb41fc431 100644
--- a/keyboards/handwired/nicekey/config.h
+++ b/keyboards/handwired/nicekey/config.h
@@ -19,20 +19,12 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lukas
-#define PRODUCT nicekey
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
#define MATRIX_COL_PINS { C6 }
#define MATRIX_ROW_PINS { B6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/nicekey/info.json b/keyboards/handwired/nicekey/info.json
index fd6b0f1689..3f965bf1b2 100644
--- a/keyboards/handwired/nicekey/info.json
+++ b/keyboards/handwired/nicekey/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "nicekey handwired",
+ "keyboard_name": "nicekey",
+ "manufacturer": "Lukas",
"url": "",
"maintainer": "spydon",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h
index aa6319cb0f..e137931a1a 100644
--- a/keyboards/handwired/not_so_minidox/config.h
+++ b/keyboards/handwired/not_so_minidox/config.h
@@ -19,13 +19,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mtdjr
-#define PRODUCT Not So MiniDox
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/handwired/not_so_minidox/info.json b/keyboards/handwired/not_so_minidox/info.json
index 7a458add9c..5d8f7ff960 100644
--- a/keyboards/handwired/not_so_minidox/info.json
+++ b/keyboards/handwired/not_so_minidox/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Not So MiniDox",
+ "manufacturer": "mtdjr",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/novem/config.h b/keyboards/handwired/novem/config.h
index 1b6d8587f0..81fe2d877f 100644
--- a/keyboards/handwired/novem/config.h
+++ b/keyboards/handwired/novem/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jose I. Martinez
-#define PRODUCT novem
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/novem/info.json b/keyboards/handwired/novem/info.json
index 5c7d24bca0..e1699e99e2 100644
--- a/keyboards/handwired/novem/info.json
+++ b/keyboards/handwired/novem/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "novem",
+ "manufacturer": "Jose I. Martinez",
"url": "",
"maintainer": "Jose I. Martinez",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/nozbe_macro/config.h b/keyboards/handwired/nozbe_macro/config.h
index 996ed08ab6..fe69a0833a 100644
--- a/keyboards/handwired/nozbe_macro/config.h
+++ b/keyboards/handwired/nozbe_macro/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Leon Omelan
-#define PRODUCT Nozbe Reunion Pad
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -35,7 +28,6 @@
{ B0 }
#define MATRIX_COL_PINS \
{ D1, D0, D4, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/nozbe_macro/info.json b/keyboards/handwired/nozbe_macro/info.json
index 056ccf9fc1..57a4751bdb 100644
--- a/keyboards/handwired/nozbe_macro/info.json
+++ b/keyboards/handwired/nozbe_macro/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "nozbe_macro",
+ "keyboard_name": "Nozbe Reunion Pad",
+ "manufacturer": "Leon Omelan",
"url": "",
"maintainer": "Leon Omelan",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/numpad20/config.h b/keyboards/handwired/numpad20/config.h
index 4b9ca1baf3..0651b524f8 100644
--- a/keyboards/handwired/numpad20/config.h
+++ b/keyboards/handwired/numpad20/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x0504
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Numpad 20
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, B1, B3, B6, B5 }
#define MATRIX_COL_PINS { D1, D0, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/numpad20/info.json b/keyboards/handwired/numpad20/info.json
index f031160e75..b6b277503a 100644
--- a/keyboards/handwired/numpad20/info.json
+++ b/keyboards/handwired/numpad20/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "numpad20 handwired",
+ "keyboard_name": "Numpad 20",
+ "manufacturer": "Hexwire",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBB80",
+ "pid": "0x0504",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/obuwunkunubi/spaget/config.h b/keyboards/handwired/obuwunkunubi/spaget/config.h
index 1558acb55a..7b0fc127e8 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/config.h
+++ b/keyboards/handwired/obuwunkunubi/spaget/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6969
-#define DEVICE_VER 0x0001
-#define MANUFACTURER obuwunkunubi
-#define PRODUCT spaget
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/handwired/obuwunkunubi/spaget/info.json b/keyboards/handwired/obuwunkunubi/spaget/info.json
index fcf98ad293..124f74fd3c 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/info.json
+++ b/keyboards/handwired/obuwunkunubi/spaget/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "spaget",
+ "manufacturer": "obuwunkunubi",
"url": "",
"maintainer": "obuwunkunubi",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/oem_ansi_fullsize/config.h b/keyboards/handwired/oem_ansi_fullsize/config.h
index 710b4a871b..0ba0cb3897 100644
--- a/keyboards/handwired/oem_ansi_fullsize/config.h
+++ b/keyboards/handwired/oem_ansi_fullsize/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Cian Johnston
-#define PRODUCT oem_ansi_fullsize
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 22
@@ -49,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ C3, C2, C1, C0, E1, E0, D7, E6, D5, D4, D3, D2, D1, D0, B7, B0, B1, B2, B3, B4, B5, F6 }
// C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF CG CH CI CJ CK CL
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/oem_ansi_fullsize/info.json b/keyboards/handwired/oem_ansi_fullsize/info.json
index 1ab1559fc0..9d86df7075 100644
--- a/keyboards/handwired/oem_ansi_fullsize/info.json
+++ b/keyboards/handwired/oem_ansi_fullsize/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "oem_ansi_fullsize",
+ "manufacturer": "Cian Johnston",
"url": "https://github.com/johnstcn/qmk",
"maintainer": "johnstcn",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_fullsize_ansi": {
"layout": [
diff --git a/keyboards/handwired/oem_iso_fullsize/config.h b/keyboards/handwired/oem_iso_fullsize/config.h
index 566af03b0f..5270c77f47 100644
--- a/keyboards/handwired/oem_iso_fullsize/config.h
+++ b/keyboards/handwired/oem_iso_fullsize/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9856 // "Gamdias"
-#define PRODUCT_ID 0x7070
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Gamdias
-#define PRODUCT teclado_oscar
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 21
diff --git a/keyboards/handwired/oem_iso_fullsize/info.json b/keyboards/handwired/oem_iso_fullsize/info.json
index 6df2a57ca7..a3736dc768 100644
--- a/keyboards/handwired/oem_iso_fullsize/info.json
+++ b/keyboards/handwired/oem_iso_fullsize/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "oem_iso_fullsize",
+ "keyboard_name": "teclado_oscar",
+ "manufacturer": "Gamdias",
"url": "https://github.com/andresteare/qmk_firmware",
"maintainer": "andresteare",
+ "usb": {
+ "vid": "0x9856",
+ "pid": "0x7070",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h
index 3825d3f7ec..2554e2207c 100644
--- a/keyboards/handwired/onekey/blackpill_f401/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Blackpill STM32F401
-
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5
diff --git a/keyboards/handwired/onekey/blackpill_f401/info.json b/keyboards/handwired/onekey/blackpill_f401/info.json
new file mode 100644
index 0000000000..50afb4b9b0
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f401/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Blackpill STM32F401"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f401/rules.mk b/keyboards/handwired/onekey/blackpill_f401/rules.mk
index 264e71d0b5..1fec226e9b 100644
--- a/keyboards/handwired/onekey/blackpill_f401/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h
index 3797217153..9e9737fbf5 100644
--- a/keyboards/handwired/onekey/blackpill_f411/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Blackpill STM32F411
-
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5
diff --git a/keyboards/handwired/onekey/blackpill_f411/info.json b/keyboards/handwired/onekey/blackpill_f411/info.json
new file mode 100644
index 0000000000..0b2c14d5b9
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f411/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Blackpill STM32F411"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f411/rules.mk b/keyboards/handwired/onekey/blackpill_f411/rules.mk
index 75bc794ef0..cd1657335d 100644
--- a/keyboards/handwired/onekey/blackpill_f411/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
index 44ec0bfc6e..f4b589c6d2 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Blackpill STM32F411 TinyUF2
-
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD5
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
new file mode 100644
index 0000000000..59cdec59f7
--- /dev/null
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Blackpill STM32F411 TinyUF2"
+}
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
index 70180ee790..2c38e9b580 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/handwired/onekey/bluepill/config.h b/keyboards/handwired/onekey/bluepill/config.h
index 3eb7699a8b..0f85ad91c7 100644
--- a/keyboards/handwired/onekey/bluepill/config.h
+++ b/keyboards/handwired/onekey/bluepill/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Bluepill STM32F103
-
#define MATRIX_COL_PINS { B0 }
#define MATRIX_ROW_PINS { A7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN A0
#define BACKLIGHT_PWM_DRIVER PWMD2
diff --git a/keyboards/handwired/onekey/bluepill/info.json b/keyboards/handwired/onekey/bluepill/info.json
new file mode 100644
index 0000000000..2126c62b05
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Bluepill STM32F103"
+}
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/board.h b/keyboards/handwired/onekey/bluepill_f103c6/board.h
new file mode 100644
index 0000000000..4889f351a6
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/board.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Sergey Vlasov (@sigprof)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include_next <board.h>
+
+#undef STM32F103xB
+#define STM32F103x6
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/config.h b/keyboards/handwired/onekey/bluepill_f103c6/config.h
new file mode 100644
index 0000000000..903277bd3b
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/config.h
@@ -0,0 +1,38 @@
+/* Copyright 2019
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_COL_PINS { B0 }
+#define MATRIX_ROW_PINS { A7 }
+#define UNUSED_PINS
+
+#define BACKLIGHT_PIN A0
+#define BACKLIGHT_PWM_DRIVER PWMD2
+#define BACKLIGHT_PWM_CHANNEL 1
+
+#define RGB_DI_PIN A1
+
+#define ADC_PIN A0
+
+// This code does not fit into the really small flash of STM32F103x6 together
+// with CONSOLE_ENABLE=yes, and the debugging console is probably more
+// important for the "okeney" testing firmware. In a real firmware you may be
+// able to use these features if you keep the debugging console disabled.
+#define NO_ACTION_LAYER
+#define NO_ACTION_TAPPING
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/halconf.h b/keyboards/handwired/onekey/bluepill_f103c6/halconf.h
new file mode 100644
index 0000000000..923b4e52d2
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/halconf.h
@@ -0,0 +1,26 @@
+/* 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/handwired/onekey/bluepill/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/info.json b/keyboards/handwired/onekey/bluepill_f103c6/info.json
new file mode 100644
index 0000000000..0ef180f6ec
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Bluepill STM32F103C6"
+}
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h b/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h
new file mode 100644
index 0000000000..5e94a97e21
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h
@@ -0,0 +1,30 @@
+/* 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/handwired/onekey/bluepill/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 FALSE
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/readme.md b/keyboards/handwired/onekey/bluepill_f103c6/readme.md
new file mode 100644
index 0000000000..65ba9b0d4f
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/readme.md
@@ -0,0 +1,7 @@
+# STM32F103C6xx Bluepill onekey
+
+* Supported hardware: Bluepill boards with the STM32F103C**6**xx chips
+
+Note that STM32F103C6xx chips have only 32 KiB of flash and 10 KiB of RAM, and the stm32duino bootloader occupies 8 KiB of flash, leaving only 24 KiB for the firmware, therefore the capabilities of this board are severely restricted in comparison to proper Bluepill boards with STM32F103CBxx or STM32F103C8xx chips (128 or 64 KiB of flash and 20 KiB of RAM). You may need to disable many features in the QMK firmware to bring its compiled size below 24 KiB. Please avoid designing new keyboards with these MCUs unless you are stuck with some hardware that you already have and don't want to just throw away.
+
+To trigger keypress, short together pins *B0* and *A7*.
diff --git a/keyboards/handwired/onekey/bluepill_f103c6/rules.mk b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
new file mode 100644
index 0000000000..f2280a1a59
--- /dev/null
+++ b/keyboards/handwired/onekey/bluepill_f103c6/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+# Cannot use `BOOTLOADER = stm32duino` due to the need to override
+# `MCU_LDSCRIPT`, therefore all parameters need to be specified here manually.
+OPT_DEFS += -DBOOTLOADER_STM32DUINO
+MCU_LDSCRIPT = STM32F103x6_stm32duino_bootloader
+BOARD = STM32_F103_STM32DUINO
+BOOTLOADER_TYPE = stm32duino
+DFU_ARGS = -d 1EAF:0003 -a 2 -R
+DFU_SUFFIX_ARGS = -v 1EAF -p 0003
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# LTO is required to fit the firmware into the available 24K of flash
+LTO_ENABLE = yes
+
+# Disable some features which still don't fit into flash even with LTO
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = no
+
+# EEPROM emulation not supported yet (need to implement a proper firmware size
+# check first, otherwise the chance of the EEPROM backing store overwriting
+# some part of the firmware code is really high).
+EEPROM_DRIVER = transient
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
index f491d4d393..f1ce6d9491 100644
--- a/keyboards/handwired/onekey/config.h
+++ b/keyboards/handwired/onekey/config.h
@@ -17,12 +17,6 @@ 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 0x6465
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -42,6 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
/*
* Feature disable options
diff --git a/keyboards/handwired/onekey/elite_c/config.h b/keyboards/handwired/onekey/elite_c/config.h
index f495a1c38b..83eded68de 100644
--- a/keyboards/handwired/onekey/elite_c/config.h
+++ b/keyboards/handwired/onekey/elite_c/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Elite-C
-
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
@@ -30,3 +27,6 @@
#define RGB_CI_PIN B1
#define ADC_PIN F6
+
+#define QMK_WAITING_TEST_BUSY_PIN F6
+#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/elite_c/info.json b/keyboards/handwired/onekey/elite_c/info.json
new file mode 100644
index 0000000000..d86f8b4395
--- /dev/null
+++ b/keyboards/handwired/onekey/elite_c/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Elite-C"
+}
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
index 91ae8b8996..722aa59821 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
@@ -4,8 +4,5 @@
#include "config_common.h"
-#define PRODUCT Onekey WB32F3G71
-
#define MATRIX_COL_PINS { B12 }
#define MATRIX_ROW_PINS { B13 }
-#define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/info.json b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
new file mode 100644
index 0000000000..c4d9d317e5
--- /dev/null
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey WB32F3G71 Eval"
+}
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h
index 9014d08f52..722aa59821 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/config.h
+++ b/keyboards/handwired/onekey/evb_wb32fq95/config.h
@@ -4,8 +4,5 @@
#include "config_common.h"
-#define PRODUCT Onekey WB32FQ95
-
#define MATRIX_COL_PINS { B12 }
#define MATRIX_ROW_PINS { B13 }
-#define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/info.json b/keyboards/handwired/onekey/evb_wb32fq95/info.json
new file mode 100644
index 0000000000..ccc65b2e70
--- /dev/null
+++ b/keyboards/handwired/onekey/evb_wb32fq95/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey WB32FQ95 Eval"
+}
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
index 7455e9f362..46cdc82827 100644
--- a/keyboards/handwired/onekey/info.json
+++ b/keyboards/handwired/onekey/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "onekey handwired",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6465",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h
new file mode 100644
index 0000000000..0bf7adf37f
--- /dev/null
+++ b/keyboards/handwired/onekey/kb2040/config.h
@@ -0,0 +1,28 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_COL_PINS \
+ { GP4 }
+#define MATRIX_ROW_PINS \
+ { GP5 }
+#define DEBUG_MATRIX_SCAN_RATE
+
+#define QMK_WAITING_TEST_BUSY_PIN GP8
+#define QMK_WAITING_TEST_YIELD_PIN GP9
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define RGB_DI_PIN A1
+
+// settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port
+#define OLED_DISPLAY_128X32
+#define I2C_DRIVER I2CD1
+#define I2C1_SDA_PIN GP12
+#define I2C1_SCL_PIN GP13
+
diff --git a/keyboards/handwired/onekey/kb2040/info.json b/keyboards/handwired/onekey/kb2040/info.json
new file mode 100644
index 0000000000..696b772142
--- /dev/null
+++ b/keyboards/handwired/onekey/kb2040/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey KB2040"
+}
diff --git a/keyboards/handwired/onekey/kb2040/mcuconf.h b/keyboards/handwired/onekey/kb2040/mcuconf.h
new file mode 100644
index 0000000000..57e58e14d7
--- /dev/null
+++ b/keyboards/handwired/onekey/kb2040/mcuconf.h
@@ -0,0 +1,24 @@
+/* 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_next <mcuconf.h>
+
+#undef RP_I2C_USE_I2C0
+#define RP_I2C_USE_I2C0 TRUE
+
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/handwired/onekey/kb2040/readme.md b/keyboards/handwired/onekey/kb2040/readme.md
new file mode 100644
index 0000000000..54ea25a6a5
--- /dev/null
+++ b/keyboards/handwired/onekey/kb2040/readme.md
@@ -0,0 +1,10 @@
+# Adafruit KB2040 onekey with OLED
+
+To trigger keypress, short together pins *GP4* and *GP5*.
+
+Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk.
+
+## Supported Hardware
+
+* [Adafruit KB2040 - RP2040 Kee Boar](https://www.adafruit.com/product/5302)
+* Optional [128x32 OLED display on the Stemma QT port](https://www.adafruit.com/product/4440)
diff --git a/keyboards/handwired/onekey/kb2040/rules.mk b/keyboards/handwired/onekey/kb2040/rules.mk
new file mode 100644
index 0000000000..624b331bf8
--- /dev/null
+++ b/keyboards/handwired/onekey/kb2040/rules.mk
@@ -0,0 +1,9 @@
+# MCU name
+MCU = RP2040
+BOOTLOADER = rp2040
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+
+OPT_DEFS += -DHAL_USE_I2C=TRUE
+
diff --git a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/config.h b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/config.h
new file mode 100644
index 0000000000..0c75fa3044
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/config.h
@@ -0,0 +1,12 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#if !defined(QMK_WAITING_TEST_BUSY_PIN)
+# define QMK_WAITING_TEST_BUSY_PIN A8
+#endif
+
+#if !defined(QMK_WAITING_TEST_YIELD_PIN)
+# define QMK_WAITING_TEST_YIELD_PIN A9
+#endif
diff --git a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c
new file mode 100644
index 0000000000..ecf67d3b3c
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c
@@ -0,0 +1,47 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(KC_A)};
+
+#if defined(__AVR__)
+# pragma message "AVR uses polled waiting by default, running theses tests will not show any difference"
+static inline void chThdSleepMicroseconds(uint32_t us) {
+ wait_us(us);
+}
+#endif
+
+void keyboard_post_init_user(void) {
+ setPinOutput(QMK_WAITING_TEST_BUSY_PIN);
+ setPinOutput(QMK_WAITING_TEST_YIELD_PIN);
+}
+
+static inline void wait_us_polling_with_strobe(uint32_t us) {
+ writePinHigh(QMK_WAITING_TEST_BUSY_PIN);
+ wait_us(us);
+ writePinLow(QMK_WAITING_TEST_BUSY_PIN);
+}
+
+static inline void wait_us_yield_with_strobe(uint32_t us) {
+ writePinHigh(QMK_WAITING_TEST_YIELD_PIN);
+ chThdSleepMicroseconds(us);
+ writePinLow(QMK_WAITING_TEST_YIELD_PIN);
+}
+
+static const uint32_t waiting_values[] = {0, 1, 5, 10, 25, 50, 100, 150, 200, 500, 1000};
+
+void housekeeping_task_user(void) {
+ static uint32_t last_bench = 0;
+ if (timer_elapsed32(last_bench) > 500) {
+ for (int i = 0; i < (sizeof(waiting_values) / sizeof(waiting_values[0])); i++) {
+ wait_us_polling_with_strobe(waiting_values[i]);
+ wait_us(10);
+ }
+ for (int i = 0; i < (sizeof(waiting_values) / sizeof(waiting_values[0])); i++) {
+ wait_us_yield_with_strobe(waiting_values[i]);
+ wait_us(10);
+ }
+ last_bench = timer_read32();
+ }
+}
diff --git a/keyboards/handwired/onekey/keymaps/reset/keymap.c b/keyboards/handwired/onekey/keymaps/reset/keymap.c
index ec1b33e64f..0484209b35 100644
--- a/keyboards/handwired/onekey/keymaps/reset/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/reset/keymap.c
@@ -1,5 +1,5 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT_ortho_1x1(RESET)
+ LAYOUT_ortho_1x1(QK_BOOT)
};
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h
index 7aa74f6682..b6b36c4cee 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/config.h
+++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h
@@ -4,11 +4,8 @@
#include "config_common.h"
-#define PRODUCT Onekey L432KC
-
#define MATRIX_COL_PINS { A2 }
#define MATRIX_ROW_PINS { A1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B8
#define BACKLIGHT_PWM_DRIVER PWMD4
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/info.json b/keyboards/handwired/onekey/nucleo_l432kc/info.json
new file mode 100644
index 0000000000..3f497fc80a
--- /dev/null
+++ b/keyboards/handwired/onekey/nucleo_l432kc/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Nucleo L432KC"
+}
diff --git a/keyboards/handwired/onekey/onekey.c b/keyboards/handwired/onekey/onekey.c
index cbd67012ce..a29f9ea6d0 100644
--- a/keyboards/handwired/onekey/onekey.c
+++ b/keyboards/handwired/onekey/onekey.c
@@ -1 +1,12 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include "onekey.h"
+
+void keyboard_post_init_kb(void) {
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+ debug_mouse = true;
+ keyboard_post_init_user();
+}
diff --git a/keyboards/handwired/onekey/promicro/config.h b/keyboards/handwired/onekey/promicro/config.h
index 9c8961d5ca..83eded68de 100644
--- a/keyboards/handwired/onekey/promicro/config.h
+++ b/keyboards/handwired/onekey/promicro/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Pro Micro
-
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
@@ -30,3 +27,6 @@
#define RGB_CI_PIN B1
#define ADC_PIN F6
+
+#define QMK_WAITING_TEST_BUSY_PIN F6
+#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/promicro/info.json b/keyboards/handwired/onekey/promicro/info.json
new file mode 100644
index 0000000000..6b35da4d75
--- /dev/null
+++ b/keyboards/handwired/onekey/promicro/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Pro Micro"
+}
diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h
index 5600ae33ae..6e8e28edb4 100644
--- a/keyboards/handwired/onekey/proton_c/config.h
+++ b/keyboards/handwired/onekey/proton_c/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey Proton-C
-
#define MATRIX_COL_PINS { A2 }
#define MATRIX_ROW_PINS { A1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B8
#define BACKLIGHT_PWM_DRIVER PWMD4
diff --git a/keyboards/handwired/onekey/proton_c/info.json b/keyboards/handwired/onekey/proton_c/info.json
new file mode 100644
index 0000000000..47ac089f7a
--- /dev/null
+++ b/keyboards/handwired/onekey/proton_c/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Proton-C"
+}
diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h
new file mode 100644
index 0000000000..c0ef468aa9
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/config.h
@@ -0,0 +1,21 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_COL_PINS \
+ { GP4 }
+#define MATRIX_ROW_PINS \
+ { GP5 }
+#define DEBUG_MATRIX_SCAN_RATE
+
+#define QMK_WAITING_TEST_BUSY_PIN GP8
+#define QMK_WAITING_TEST_YIELD_PIN GP9
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define RGB_DI_PIN A1
diff --git a/keyboards/handwired/onekey/rp2040/info.json b/keyboards/handwired/onekey/rp2040/info.json
new file mode 100644
index 0000000000..696b021dc1
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey RP2040"
+}
diff --git a/keyboards/handwired/onekey/rp2040/readme.md b/keyboards/handwired/onekey/rp2040/readme.md
new file mode 100644
index 0000000000..9014479f8d
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/readme.md
@@ -0,0 +1,12 @@
+# Raspberry Pi 2040 onekey
+
+To trigger keypress, short together pins *GP4* and *GP5*.
+
+Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk.
+
+## Supported Hardware
+
+* Raspberry Pi Pico
+* SparkFun Pro Micro - RP2040
+* Adafruit KB2040 - RP2040 Kee Boar
+* ...and many more RP2040 based development boards
diff --git a/keyboards/handwired/onekey/rp2040/rules.mk b/keyboards/handwired/onekey/rp2040/rules.mk
new file mode 100644
index 0000000000..646402d0bb
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/rules.mk
@@ -0,0 +1,3 @@
+# MCU name
+MCU = RP2040
+BOOTLOADER = rp2040
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/config.h b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
index 1825b936d8..6f97baf57f 100644
--- a/keyboards/handwired/onekey/sipeed_longan_nano/config.h
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/config.h
@@ -22,7 +22,6 @@
{ B0 }
#define MATRIX_ROW_PINS \
{ A7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN A1 /* Green LED. */
#define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */
diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/info.json b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
new file mode 100644
index 0000000000..10f661c3d9
--- /dev/null
+++ b/keyboards/handwired/onekey/sipeed_longan_nano/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Sipeed Longan Nano"
+}
diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h
index e0f6d00050..373f1c943a 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f0_disco/config.h
@@ -18,11 +18,8 @@
#include "config_common.h"
-#define PRODUCT Onekey STM32F072 Discovery
-
#define MATRIX_COL_PINS { B4 }
#define MATRIX_ROW_PINS { B5 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN C8
#define BACKLIGHT_PWM_DRIVER PWMD3
diff --git a/keyboards/handwired/onekey/stm32f0_disco/info.json b/keyboards/handwired/onekey/stm32f0_disco/info.json
new file mode 100644
index 0000000000..ef4312059b
--- /dev/null
+++ b/keyboards/handwired/onekey/stm32f0_disco/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey STM32F072 Discovery"
+}
diff --git a/keyboards/handwired/onekey/stm32f405_feather/config.h b/keyboards/handwired/onekey/stm32f405_feather/config.h
index 32d7807975..ea9f409640 100644
--- a/keyboards/handwired/onekey/stm32f405_feather/config.h
+++ b/keyboards/handwired/onekey/stm32f405_feather/config.h
@@ -18,8 +18,5 @@
#include "config_common.h"
-#define PRODUCT Onekey Adafruit Feather STM32F405
-
#define MATRIX_COL_PINS { C2 }
#define MATRIX_ROW_PINS { C3 }
-#define UNUSED_PINS
diff --git a/keyboards/handwired/onekey/stm32f405_feather/info.json b/keyboards/handwired/onekey/stm32f405_feather/info.json
new file mode 100644
index 0000000000..410ddbdd32
--- /dev/null
+++ b/keyboards/handwired/onekey/stm32f405_feather/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Adafruit Feather STM32F405"
+}
diff --git a/keyboards/handwired/onekey/teensy_2/config.h b/keyboards/handwired/onekey/teensy_2/config.h
index b83262ef05..fb775a06b0 100644
--- a/keyboards/handwired/onekey/teensy_2/config.h
+++ b/keyboards/handwired/onekey/teensy_2/config.h
@@ -18,14 +18,14 @@
#include "config_common.h"
-#define PRODUCT Onekey Teensy 2.0
-
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define ADC_PIN F6
+
+#define QMK_WAITING_TEST_BUSY_PIN F6
+#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2/info.json b/keyboards/handwired/onekey/teensy_2/info.json
new file mode 100644
index 0000000000..f081d3a25c
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_2/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Teensy 2.0"
+}
diff --git a/keyboards/handwired/onekey/teensy_2pp/config.h b/keyboards/handwired/onekey/teensy_2pp/config.h
index 886ad70cbf..fb775a06b0 100644
--- a/keyboards/handwired/onekey/teensy_2pp/config.h
+++ b/keyboards/handwired/onekey/teensy_2pp/config.h
@@ -18,14 +18,14 @@
#include "config_common.h"
-#define PRODUCT Onekey Teensy 2++
-
#define MATRIX_COL_PINS { F4 }
#define MATRIX_ROW_PINS { F5 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
#define RGB_DI_PIN F6
#define ADC_PIN F6
+
+#define QMK_WAITING_TEST_BUSY_PIN F6
+#define QMK_WAITING_TEST_YIELD_PIN F7
diff --git a/keyboards/handwired/onekey/teensy_2pp/info.json b/keyboards/handwired/onekey/teensy_2pp/info.json
new file mode 100644
index 0000000000..bec94fa3dc
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_2pp/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Teensy 2.0++"
+}
diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h
index e388b01af8..3444cca67f 100644
--- a/keyboards/handwired/onekey/teensy_32/config.h
+++ b/keyboards/handwired/onekey/teensy_32/config.h
@@ -19,11 +19,8 @@
// TODO: including this causes "error: expected identifier before '(' token" errors
//#include "config_common.h"
-#define PRODUCT Onekey Teensy 3.2
-
#define MATRIX_COL_PINS { D5 }
#define MATRIX_ROW_PINS { B2 }
-#define UNUSED_PINS
// i2c_master defines
#define I2C1_SCL_PIN B0 // A2 on pinout = B0
diff --git a/keyboards/handwired/onekey/teensy_32/info.json b/keyboards/handwired/onekey/teensy_32/info.json
new file mode 100644
index 0000000000..213b4ea153
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_32/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Teensy 3.2"
+}
diff --git a/keyboards/handwired/onekey/teensy_35/chconf.h b/keyboards/handwired/onekey/teensy_35/chconf.h
new file mode 100644
index 0000000000..ee8312c526
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/chconf.h
@@ -0,0 +1,28 @@
+/* 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/handwired/onekey/teensy_35/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_TIME_QUANTUM 20
+
+#include_next <chconf.h>
diff --git a/keyboards/handwired/onekey/teensy_35/config.h b/keyboards/handwired/onekey/teensy_35/config.h
new file mode 100644
index 0000000000..13eaf1a4f6
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/config.h
@@ -0,0 +1,29 @@
+/* Copyright 2019
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// TODO: including this causes "error: expected identifier before '(' token" errors
+//#include "config_common.h"
+
+#define MATRIX_COL_PINS { D5 } // 20/A6
+#define MATRIX_ROW_PINS { B2 } // 19/A5
+
+// i2c_master defines
+#define I2C1_SCL_PIN B0 // 16/A2 on pinout
+#define I2C1_SDA_PIN B1 // 17/A3 on pinout
+#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/handwired/onekey/teensy_35/halconf.h b/keyboards/handwired/onekey/teensy_35/halconf.h
new file mode 100644
index 0000000000..6ac756d0f2
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/halconf.h
@@ -0,0 +1,28 @@
+/* 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/handwired/onekey/teensy_35/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_SERIAL TRUE
+
+#define SERIAL_USB_BUFFERS_SIZE 256
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/onekey/teensy_35/info.json b/keyboards/handwired/onekey/teensy_35/info.json
new file mode 100644
index 0000000000..99b6a236c5
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Teensy 3.5"
+}
diff --git a/keyboards/handwired/onekey/teensy_35/mcuconf.h b/keyboards/handwired/onekey/teensy_35/mcuconf.h
new file mode 100644
index 0000000000..dc508eee7d
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/mcuconf.h
@@ -0,0 +1,50 @@
+/*
+ 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 K60x_MCUCONF
+
+/*
+ * HAL driver system settings.
+ */
+
+/* Select the MCU clocking mode below by enabling the appropriate block. */
+
+/* PEE mode - 120MHz system clock driven by external crystal. */
+#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
+#define KINETIS_PLLCLK_FREQUENCY 120000000UL // 120 MHz (RUN)
+#define KINETIS_SYSCLK_FREQUENCY KINETIS_PLLCLK_FREQUENCY
+#define KINETIS_BUSCLK_FREQUENCY 60000000UL
+#define KINETIS_FLASHCLK_FREQUENCY 24000000UL // 24 MHz (RUN)
+
+#define KINETIS_CLKDIV1_OUTDIV1 1 // -> 0
+#define KINETIS_CLKDIV1_OUTDIV2 2 // -> 1
+#define KINETIS_CLKDIV1_OUTDIV4 5 // -> 4
+
+/*
+ * SERIAL driver system settings.
+ */
+#define KINETIS_SERIAL_USE_UART0 TRUE
+
+/*
+ * USB driver settings
+ */
+#define KINETIS_USB_USE_USB0 TRUE
+#define KINETIS_USB_USB0_IRQ_PRIORITY 5
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/handwired/onekey/teensy_35/rules.mk b/keyboards/handwired/onekey/teensy_35/rules.mk
new file mode 100644
index 0000000000..8ebefd03f5
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_35/rules.mk
@@ -0,0 +1,8 @@
+# MCU name
+MCU = MK64FX512
+
+# Bootloader selection
+BOOTLOADER = halfkay
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h
index 4e594e7d7e..3444cca67f 100644
--- a/keyboards/handwired/onekey/teensy_lc/config.h
+++ b/keyboards/handwired/onekey/teensy_lc/config.h
@@ -19,11 +19,8 @@
// TODO: including this causes "error: expected identifier before '(' token" errors
//#include "config_common.h"
-#define PRODUCT Onekey Teensy LC
-
#define MATRIX_COL_PINS { D5 }
#define MATRIX_ROW_PINS { B2 }
-#define UNUSED_PINS
// i2c_master defines
#define I2C1_SCL_PIN B0 // A2 on pinout = B0
diff --git a/keyboards/handwired/onekey/teensy_lc/info.json b/keyboards/handwired/onekey/teensy_lc/info.json
new file mode 100644
index 0000000000..68eea92235
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_lc/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Onekey Teensy LC"
+}
diff --git a/keyboards/handwired/onekey/teensy_lc/readme.md b/keyboards/handwired/onekey/teensy_lc/readme.md
index 676d794d87..20e9be5bed 100644
--- a/keyboards/handwired/onekey/teensy_lc/readme.md
+++ b/keyboards/handwired/onekey/teensy_lc/readme.md
@@ -33,8 +33,6 @@ When setting matrix pins, you need to use the MCU definitions instead of what is
| 21/A7 | D6 | |
| 22/A8 | C1 | |
| 23/A9 | C2 | |
-| 24/A10 | E2 | |
-| 25/A11 | E21 | *[1]* |
-| 26/A12 | E30 | *[1]* |
-
-*[1]* - Currently not configured and may require extra work to implement.
+| 24/A10 | E20 | |
+| 25/A11 | E21 | |
+| 26/A12 | E30 | | \ No newline at end of file
diff --git a/keyboards/handwired/ortho5x13/config.h b/keyboards/handwired/ortho5x13/config.h
index 7731d29f0c..f88d2b7002 100644
--- a/keyboards/handwired/ortho5x13/config.h
+++ b/keyboards/handwired/ortho5x13/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x050D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Ortho 5x13
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/ortho5x13/info.json b/keyboards/handwired/ortho5x13/info.json
index 1ec13f93a7..0fe0530e33 100644
--- a/keyboards/handwired/ortho5x13/info.json
+++ b/keyboards/handwired/ortho5x13/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ortho5x13",
+ "keyboard_name": "Ortho 5x13",
+ "manufacturer": "Hexwire",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBB80",
+ "pid": "0x050D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
index 39ae1872a2..aeecfa1d8e 100644
--- a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
@@ -4,12 +4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/handwired/ortho5x14/config.h b/keyboards/handwired/ortho5x14/config.h
index a5aab6168f..e74a645870 100644
--- a/keyboards/handwired/ortho5x14/config.h
+++ b/keyboards/handwired/ortho5x14/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x050D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MPInc
-#define PRODUCT Ortho 5x14
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, C7, D5, B7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B4, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/ortho5x14/info.json b/keyboards/handwired/ortho5x14/info.json
index 7ccd121a22..3702a2ff38 100644
--- a/keyboards/handwired/ortho5x14/info.json
+++ b/keyboards/handwired/ortho5x14/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ortho5x14",
+ "keyboard_name": "Ortho5 x14",
+ "manufacturer": "MPInc",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBB80",
+ "pid": "0x050D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
index 70a96fac9d..62d17206ee 100644
--- a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
+++ b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c
@@ -343,9 +343,9 @@ qk_tap_dance_action_t tap_dance_actions[] = {
[TD_PGUP_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME),
[TD_PGDN_END] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_END),
- [TD_Q_LrALT] = ACTION_TAP_DANCE_DUAL_ROLE(KC_Q, _ALT),
- [TD_R_LrKey] = ACTION_TAP_DANCE_DUAL_ROLE(KC_R, _RAISE),
- [TD_T_LrMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_T, _MOUSE),
+ [TD_Q_LrALT] = ACTION_TAP_DANCE_LAYER_MOVE(KC_Q, _ALT),
+ [TD_R_LrKey] = ACTION_TAP_DANCE_LAYER_MOVE(KC_R, _RAISE),
+ [TD_T_LrMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_T, _MOUSE),
[TD_SHIFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,lshift_finished, lshift_reset),
[TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_ENT),
@@ -497,7 +497,7 @@ KC_PAUS
[_RAISE] = LAYOUT(
KC_INS , XXXXXXX , KC_BRIU, KC_BRID, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7 , KC_8 , KC_9 , KC_SLASH , KC_MINUS, KC_EQUAL,
- KC_HOME , KC_PSCR , XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , KC_ASTR , XXXXXXX , XXXXXXX,
+ KC_HOME , KC_PSCR , XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , KC_ASTR , XXXXXXX , XXXXXXX,
KC_END , KC_SLCK , XXXXXXX, XXXXXXX, DEBUG , XXXXXXX, XXXXXXX, XXXXXXX, KC_1 , KC_2 , KC_3 , KC_MINUS , XXXXXXX , XXXXXXX,
XXXXXXX , KC_PAUSE , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_0 , KC_DOT , KC_COMMA , KC_PLUS , XXXXXXX , XXXXXXX,
LALT(LCTL(KC_DEL)), _______ , _______, _______, _______, _______ , KC_KP_ENTER , _______, _______ , _______ , _______ , _______
@@ -518,7 +518,7 @@ KC_PAUS
*/
[_ADJUST] = LAYOUT(
KC_DEL , _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -562,7 +562,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed && is_oneshot_layer_active())
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
return true;
- case RESET:
+ case QK_BOOT:
/* Don't allow reset from oneshot layer state */
if (record->event.pressed && is_oneshot_layer_active()){
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
diff --git a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
index b152503aaf..10f23c2735 100644
--- a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
+++ b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c
@@ -279,9 +279,9 @@ qk_tap_dance_action_t tap_dance_actions[] = {
[TD_PGUP_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME),
[TD_PGDN_END] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_END),
- [TD_Q_LrALT] = ACTION_TAP_DANCE_DUAL_ROLE(KC_Q, _ALT),
- [TD_R_LrKey] = ACTION_TAP_DANCE_DUAL_ROLE(KC_R, _RAISE),
- [TD_T_LrMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_T, _MOUSE),
+ [TD_Q_LrALT] = ACTION_TAP_DANCE_LAYER_MOVE(KC_Q, _ALT),
+ [TD_R_LrKey] = ACTION_TAP_DANCE_LAYER_MOVE(KC_R, _RAISE),
+ [TD_T_LrMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_T, _MOUSE),
[TD_SHIFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,lshift_finished, lshift_reset),
[TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_ENT),
@@ -453,7 +453,7 @@ KC_PAUS
*/
[_ADJUST] = 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,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, _______
@@ -492,7 +492,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed && is_oneshot_layer_active())
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
return true;
- case RESET:
+ case QK_BOOT:
/* Don't allow reset from oneshot layer state */
if (record->event.pressed && is_oneshot_layer_active()){
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
diff --git a/keyboards/handwired/ortho_brass/config.h b/keyboards/handwired/ortho_brass/config.h
index 816a8fe597..8b546c04c0 100644
--- a/keyboards/handwired/ortho_brass/config.h
+++ b/keyboards/handwired/ortho_brass/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BifbofII
-#define PRODUCT Ortho Brass
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -34,8 +27,6 @@
{ D3, D2, D1, D0 }
#define MATRIX_COL_PINS \
{ F4, F7, F5, F1, C7, F0, B1, B0, F6, B6, B2, B3 }
-#define UNUSED_PINS \
- { B0, B1, B2, F0, F1, F4, D4, D5, E6 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/ortho_brass/info.json b/keyboards/handwired/ortho_brass/info.json
index 9178f8d89b..ab79b9df72 100644
--- a/keyboards/handwired/ortho_brass/info.json
+++ b/keyboards/handwired/ortho_brass/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ortho Brass",
+ "manufacturer": "BifbofII",
"url": "",
"maintainer": "BifbofII",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
index 948a7bd1bc..f32529b6a7 100644
--- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_4x12_1x2uC(
_______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/handwired/owlet60/config.h b/keyboards/handwired/owlet60/config.h
index 9613a97580..3dfccbd218 100644
--- a/keyboards/handwired/owlet60/config.h
+++ b/keyboards/handwired/owlet60/config.h
@@ -19,13 +19,6 @@ 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 0xDA19
-#define DEVICE_VER 0x0001
-#define MANUFACTURER worthlessowl
-#define PRODUCT Owlet60
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/owlet60/info.json b/keyboards/handwired/owlet60/info.json
index 18e57fe815..df230a9b01 100644
--- a/keyboards/handwired/owlet60/info.json
+++ b/keyboards/handwired/owlet60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Owlet60",
+ "manufacturer": "worthlessowl",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/owlet60/",
"maintainer": "worthlessowl",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDA19",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_owlet60_full_bsp": {
"layout": [{"label":"F1", "x":0.5, "y":0}, {"label":"~", "x":1.75, "y":0}, {"label":"!", "x":2.75, "y":0}, {"label":"@", "x":3.75, "y":0}, {"label":"#", "x":4.75, "y":0}, {"label":"$", "x":5.75, "y":0}, {"label":"%", "x":6.75, "y":0}, {"label":"^", "x":7.75, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "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":2}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"F2", "x":0.25, "y":1}, {"label":"Tab", "x":1.5, "y":1, "w":1.5}, {"label":"Q", "x":3, "y":1}, {"label":"W", "x":4, "y":1}, {"label":"E", "x":5, "y":1}, {"label":"R", "x":6, "y":1}, {"label":"T", "x":7, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15, "y":1}, {"label":"|", "x":16, "y":1, "w":1.5}, {"label":"PgDn", "x":17.5, "y":1}, {"label":"F3", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":9.5, "y":2}, {"label":"J", "x":10.5, "y":2}, {"label":"K", "x":11.5, "y":2}, {"label":"L", "x":12.5, "y":2}, {"label":":", "x":13.5, "y":2}, {"label":"\"", "x":14.5, "y":2}, {"label":"Enter", "x":15.5, "y":2, "w":2.25}, {"label":"Home", "x":17.75, "y":2}, {"label":"Shift", "x":1, "y":3, "w":2.25}, {"label":"Z", "x":3.25, "y":3}, {"label":"X", "x":4.25, "y":3}, {"label":"C", "x":5.25, "y":3}, {"label":"V", "x":6.25, "y":3}, {"label":"B", "x":7.25, "y":3}, {"label":"B", "x":9.25, "y":3}, {"label":"N", "x":10.25, "y":3}, {"label":"M", "x":11.25, "y":3}, {"label":"<", "x":12.25, "y":3}, {"label":">", "x":13.25, "y":3}, {"label":"?", "x":14.25, "y":3}, {"label":"Shift", "x":15.25, "y":3, "w":1.75}, {"label":"Up", "x":17, "y":3}, {"label":"End", "x":18, "y":3}, {"label":"Ctrl", "x":1, "y":4, "w":1.5}, {"label":"Alt", "x":3.5, "y":4, "w":1.5}, {"x":5, "y":4, "w":2.25}, {"label":"Super", "x":7.25, "y":4, "w":1.25}, {"x":9.25, "y":4, "w":2}, {"label":"Alt", "x":11.25, "y":4, "w":1.5}, {"label":"Left", "x":16, "y":4}, {"label":"Down", "x":17, "y":4}, {"label":"Right", "x":18, "y":4}]
diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h
index 2ff3da8119..abb5efc284 100644
--- a/keyboards/handwired/p65rgb/config.h
+++ b/keyboards/handwired/p65rgb/config.h
@@ -19,13 +19,6 @@ 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 0x75B4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER marhalloweenvt
-#define PRODUCT p65rgb
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6, B6, B5, D5 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B0, B1, B2, B3, B7, D0, D1, D2, D3, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/p65rgb/info.json b/keyboards/handwired/p65rgb/info.json
index 5b688404e3..5daf9d1c99 100644
--- a/keyboards/handwired/p65rgb/info.json
+++ b/keyboards/handwired/p65rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "p65rgb",
+ "manufacturer": "marhalloweenvt",
"url": "",
"maintainer": "marhalloweenvt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x75B4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/pilcrow/config.h b/keyboards/handwired/pilcrow/config.h
index 3ed0f5de6a..c846dd387a 100644
--- a/keyboards/handwired/pilcrow/config.h
+++ b/keyboards/handwired/pilcrow/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT pilcrow
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, F7, B1, B3 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, F5, F6, B6, B2, F4, B5}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pilcrow/info.json b/keyboards/handwired/pilcrow/info.json
index 6aac0760e2..ee3a0e733d 100644
--- a/keyboards/handwired/pilcrow/info.json
+++ b/keyboards/handwired/pilcrow/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pilcrow",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/pill60/blackpill_f401/config.h b/keyboards/handwired/pill60/blackpill_f401/config.h
index d56ba94ea4..7de8654319 100644
--- a/keyboards/handwired/pill60/blackpill_f401/config.h
+++ b/keyboards/handwired/pill60/blackpill_f401/config.h
@@ -20,5 +20,3 @@
{ A8, B2, B1, B15, A10, A0, A1, A2, A3, A4, A5, A6, A7, B0 }
#define MATRIX_ROW_PINS \
{ B4, B3, A15, B13, B5 }
-#define UNUSED_PINS \
- { A9, A11, A12, C13, C14, C15, B10 }
diff --git a/keyboards/handwired/pill60/blackpill_f401/rules.mk b/keyboards/handwired/pill60/blackpill_f401/rules.mk
index 9b0a72afb9..8d72b0e446 100644
--- a/keyboards/handwired/pill60/blackpill_f401/rules.mk
+++ b/keyboards/handwired/pill60/blackpill_f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/pill60/blackpill_f411/config.h b/keyboards/handwired/pill60/blackpill_f411/config.h
index b106c2d290..7de8654319 100644
--- a/keyboards/handwired/pill60/blackpill_f411/config.h
+++ b/keyboards/handwired/pill60/blackpill_f411/config.h
@@ -20,6 +20,3 @@
{ A8, B2, B1, B15, A10, A0, A1, A2, A3, A4, A5, A6, A7, B0 }
#define MATRIX_ROW_PINS \
{ B4, B3, A15, B13, B5 }
-#define UNUSED_PINS \
- { A9, A11, A12, C13, C14, C15, B10 }
-
diff --git a/keyboards/handwired/pill60/blackpill_f411/rules.mk b/keyboards/handwired/pill60/blackpill_f411/rules.mk
index 1243557019..13a6cb5286 100644
--- a/keyboards/handwired/pill60/blackpill_f411/rules.mk
+++ b/keyboards/handwired/pill60/blackpill_f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/pill60/bluepill/config.h b/keyboards/handwired/pill60/bluepill/config.h
index f68f518b97..1ba5ff2069 100644
--- a/keyboards/handwired/pill60/bluepill/config.h
+++ b/keyboards/handwired/pill60/bluepill/config.h
@@ -20,5 +20,3 @@
{ A8, B11, B10, B15, A10, A1, A2, A3, A4, A5, A6, A7, B0, B1 }
#define MATRIX_ROW_PINS \
{ B4, B3, A15, B13, B5 }
-#define UNUSED_PINS \
- { A0, A9, A11, A12, C13, C14, C15 }
diff --git a/keyboards/handwired/pill60/config.h b/keyboards/handwired/pill60/config.h
index 16147e584b..90edb12b87 100644
--- a/keyboards/handwired/pill60/config.h
+++ b/keyboards/handwired/pill60/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x4454
-#define PRODUCT_ID 0x5444
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER "IktaS"
-#define PRODUCT "Pill60"
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pill60/info.json b/keyboards/handwired/pill60/info.json
index ce8c9dcc53..02fb75983a 100644
--- a/keyboards/handwired/pill60/info.json
+++ b/keyboards/handwired/pill60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pill60",
+ "manufacturer": "IktaS",
"url": "https://github.com/IktaS/Pill60",
"maintainer": "IktaS <imamrafiiia@gmail.com>",
+ "usb": {
+ "vid": "0x4454",
+ "pid": "0x5444",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json
index c4489c3c80..d15d6ef750 100644
--- a/keyboards/handwired/postageboard/info.json
+++ b/keyboards/handwired/postageboard/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Postage Board",
+ "manufacturer": "LifeIsOnTheWire",
"url": "",
"maintainer": "LifeIsOnTheWire",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB07D"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/postageboard/mini/config.h b/keyboards/handwired/postageboard/mini/config.h
index d4f654a7a4..e245460161 100644
--- a/keyboards/handwired/postageboard/mini/config.h
+++ b/keyboards/handwired/postageboard/mini/config.h
@@ -19,13 +19,6 @@ 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 0xB07D
-#define DEVICE_VER 0x0002
-#define MANUFACTURER LifeIsOnTheWire
-#define PRODUCT PostageBoard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5 }
#define MATRIX_COL_PINS { E6, B3, B7 }
-#define UNUSED_PINS { D0, D1, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, B2, B1, B0, F7, F6, F5, F4, F1, F0 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/postageboard/mini/info.json b/keyboards/handwired/postageboard/mini/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/handwired/postageboard/mini/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/handwired/postageboard/r1/config.h b/keyboards/handwired/postageboard/r1/config.h
index 078e66dd75..631a479455 100644
--- a/keyboards/handwired/postageboard/r1/config.h
+++ b/keyboards/handwired/postageboard/r1/config.h
@@ -19,13 +19,6 @@ 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 0xB07D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LifeIsOnTheWire
-#define PRODUCT PostageBoard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6 }
#define MATRIX_COL_PINS { B7, C6, C7 }
-#define UNUSED_PINS { D4, D6, D7, B4, B5, D5, D3, D2, D1, D0, B2, B3, F0, F1, F4, F5, F6, F7, E6, B0, B1 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/postageboard/r1/info.json b/keyboards/handwired/postageboard/r1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/handwired/postageboard/r1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/handwired/prime_exl/config.h b/keyboards/handwired/prime_exl/config.h
index 436715a7d9..88919b934e 100644
--- a/keyboards/handwired/prime_exl/config.h
+++ b/keyboards/handwired/prime_exl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x6578
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_EXL
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { B1, E6, D5, D6, B4, D7, D4, F1, F0, B0 }
#define MATRIX_COL_PINS { D0, B3, B2, D1, D2, D3, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/prime_exl/info.json b/keyboards/handwired/prime_exl/info.json
index bc43b5e3f7..9c40e5e69e 100644
--- a/keyboards/handwired/prime_exl/info.json
+++ b/keyboards/handwired/prime_exl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Prime_EXL",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052",
+ "pid": "0x6578",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0,"y":0,"w":1,"h":1}, {"x":1,"y":0,"w":1,"h":1}, {"x":2,"y":0,"w":1,"h":1}, {"x":3,"y":0,"w":1,"h":1}, {"x":4,"y":0,"w":1,"h":1}, {"x":5,"y":0,"w":1,"h":1}, {"x":6.5,"y":0,"w":1,"h":1}, {"x":7.5,"y":0,"w":1,"h":1}, {"x":8.5,"y":0,"w":1,"h":1}, {"x":9.5,"y":0,"w":1,"h":1}, {"x":10.5,"y":0,"w":1,"h":1}, {"x":11.5,"y":0,"w":1,"h":1}, {"x":13.75,"y":0,"w":1,"h":1}, {"x":14.75,"y":0,"w":1,"h":1}, {"x":15.75,"y":0,"w":1,"h":1}, {"x":16.75,"y":0,"w":1,"h":1}, {"x":17.75,"y":0,"w":1,"h":1}, {"x":18.75,"y":0,"w":2,"h":1}, {"x":0,"y":1,"w":1,"h":1}, {"x":1,"y":1,"w":1,"h":1}, {"x":2,"y":1,"w":1,"h":1}, {"x":3,"y":1,"w":1,"h":1}, {"x":4,"y":1,"w":1,"h":1}, {"x":5,"y":1,"w":1,"h":1}, {"x":6.5,"y":1,"w":1.25,"h":1}, {"x":7.75,"y":1,"w":1,"h":1}, {"x":8.75,"y":1,"w":1,"h":1}, {"x":9.75,"y":1,"w":1,"h":1}, {"x":10.75,"y":1,"w":1,"h":1}, {"x":11.75,"y":1,"w":1,"h":1}, {"x":14,"y":1,"w":1,"h":1}, {"x":15,"y":1,"w":1,"h":1}, {"x":16,"y":1,"w":1,"h":1}, {"x":17,"y":1,"w":1,"h":1}, {"x":18,"y":1,"w":1,"h":1}, {"x":19,"y":1,"w":1.75,"h":1}, {"x":0,"y":2,"w":1,"h":1}, {"x":1,"y":2,"w":1,"h":1}, {"x":2,"y":2,"w":1,"h":1}, {"x":3,"y":2,"w":1,"h":1}, {"x":4,"y":2,"w":1,"h":1}, {"x":5,"y":2,"w":1,"h":1}, {"x":6.5,"y":2,"w":1.75,"h":1}, {"x":8.25,"y":2,"w":1,"h":1}, {"x":9.25,"y":2,"w":1,"h":1}, {"x":10.25,"y":2,"w":1,"h":1}, {"x":11.25,"y":2,"w":1,"h":1}, {"x":12.25,"y":2,"w":1,"h":1}, {"x":13.5,"y":2,"w":1,"h":1}, {"x":14.5,"y":2,"w":1,"h":1}, {"x":15.5,"y":2,"w":1,"h":1}, {"x":16.5,"y":2,"w":1,"h":1}, {"x":17.5,"y":2,"w":1,"h":1}, {"x":18.5,"y":2,"w":1,"h":1}, {"x":19.5,"y":2,"w":1.25,"h":1}, {"x":0,"y":3,"w":1,"h":1}, {"x":1,"y":3,"w":1,"h":1}, {"x":2,"y":3,"w":1,"h":1}, {"x":3,"y":3,"w":1,"h":1}, {"x":4,"y":3,"w":1,"h":1}, {"x":5,"y":3,"w":1,"h":1}, {"x":6.5,"y":3,"w":1.25,"h":1}, {"x":7.75,"y":3,"w":1.25,"h":1}, {"x":9,"y":3,"w":1,"h":1}, {"x":10,"y":3,"w":1,"h":1}, {"x":11,"y":3,"w":2,"h":1}, {"x":13.5,"y":3,"w":2,"h":1}, {"x":15.5,"y":3,"w":1,"h":1}, {"x":16.5,"y":3,"w":1,"h":1}, {"x":17.5,"y":3,"w":1.5,"h":1}, {"x":19,"y":3,"w":1.5,"h":1}, {"x":0,"y":4,"w":1,"h":1}, {"x":1,"y":4,"w":1,"h":1}, {"x":2,"y":4,"w":1,"h":1}, {"x":3,"y":4,"w":1,"h":1}, {"x":4,"y":4,"w":1,"h":1}, {"x":5,"y":4,"w":1,"h":1}]
diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
index 0e6802996d..b5b616d55b 100644
--- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c
+++ b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
@@ -87,7 +87,7 @@ void led_set_user(uint8_t usb_led) {
//function for layer indicator LED
layer_state_t layer_state_set_user(layer_state_t state)
{
- if (biton32(state) == 1) {
+ if (get_highest_layer(state) == 1) {
writePinHigh(C6);
} else {
writePinLow(C6);
diff --git a/keyboards/handwired/prime_exl_plus/config.h b/keyboards/handwired/prime_exl_plus/config.h
index 4583e443aa..46b235f9ee 100644
--- a/keyboards/handwired/prime_exl_plus/config.h
+++ b/keyboards/handwired/prime_exl_plus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x6579
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_EXL Plus
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D2, D6, B4, F1, E6, F0, F4, B5, D7, D3 }
#define MATRIX_COL_PINS { F5, F6, F7, C7, C6, B6, B7, B3, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/prime_exl_plus/info.json b/keyboards/handwired/prime_exl_plus/info.json
index f54de6f840..1ae1b33152 100644
--- a/keyboards/handwired/prime_exl_plus/info.json
+++ b/keyboards/handwired/prime_exl_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Prime_EXL Plus",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052",
+ "pid": "0x6579",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K040", "x":0, "y":0}, {"label":"K050", "x":1, "y":0}, {"label":"K041", "x":2, "y":0}, {"label":"K051", "x":3, "y":0}, {"label":"K042", "x":4, "y":0}, {"label":"K052", "x":5, "y":0}, {"label":"K043", "x":6.5, "y":0}, {"label":"K053", "x":7.5, "y":0}, {"label":"K044", "x":8.5, "y":0}, {"label":"K054", "x":9.5, "y":0}, {"label":"K045", "x":10.5, "y":0}, {"label":"K055", "x":11.5, "y":0}, {"label":"K046", "x":14, "y":0}, {"label":"K056", "x":15, "y":0}, {"label":"K047", "x":16, "y":0}, {"label":"K057", "x":17, "y":0}, {"label":"K048", "x":18, "y":0}, {"label":"K058", "x":19, "y":0, "w":2}, {"label":"K030", "x":0, "y":1}, {"label":"K060", "x":1, "y":1}, {"label":"K031", "x":2, "y":1}, {"label":"K061", "x":3, "y":1}, {"label":"K032", "x":4, "y":1}, {"label":"K062", "x":5, "y":1}, {"label":"K033", "x":6.5, "y":1}, {"label":"K063", "x":7.5, "y":1}, {"label":"K034", "x":8.5, "y":1}, {"label":"K064", "x":9.5, "y":1}, {"label":"K035", "x":10.5, "y":1}, {"label":"K065", "x":11.5, "y":1}, {"label":"K036", "x":14, "y":1}, {"label":"K066", "x":15, "y":1}, {"label":"K037", "x":16, "y":1}, {"label":"K067", "x":17, "y":1}, {"label":"K038", "x":18, "y":1}, {"label":"K068", "x":19, "y":1}, {"label":"K039", "x":20, "y":1}, {"label":"K020", "x":0, "y":2}, {"label":"K070", "x":1, "y":2}, {"label":"K021", "x":2, "y":2}, {"label":"K071", "x":3, "y":2}, {"label":"K022", "x":4, "y":2}, {"label":"K072", "x":5, "y":2}, {"label":"K023", "x":6.5, "y":2, "w":1.25}, {"label":"K073", "x":7.75, "y":2}, {"label":"K024", "x":8.75, "y":2}, {"label":"K074", "x":9.75, "y":2}, {"label":"K025", "x":10.75, "y":2}, {"label":"K075", "x":11.75, "y":2}, {"label":"K026", "x":14.25, "y":2}, {"label":"K076", "x":15.25, "y":2}, {"label":"K027", "x":16.25, "y":2}, {"label":"K077", "x":17.25, "y":2}, {"label":"K028", "x":18.25, "y":2}, {"label":"K029", "x":19.25, "y":2, "w":1.75}, {"label":"K010", "x":0, "y":3}, {"label":"K080", "x":1, "y":3}, {"label":"K011", "x":2, "y":3}, {"label":"K081", "x":3, "y":3}, {"label":"K012", "x":4, "y":3}, {"label":"K082", "x":5, "y":3}, {"label":"K013", "x":6.5, "y":3, "w":1.75}, {"label":"K083", "x":8.25, "y":3}, {"label":"K014", "x":9.25, "y":3}, {"label":"K084", "x":10.25, "y":3}, {"label":"K015", "x":11.25, "y":3}, {"label":"K085", "x":12.25, "y":3}, {"label":"K016", "x":13.75, "y":3}, {"label":"K086", "x":14.75, "y":3}, {"label":"K017", "x":15.75, "y":3}, {"label":"K087", "x":16.75, "y":3}, {"label":"K018", "x":17.75, "y":3}, {"label":"K088", "x":18.75, "y":3}, {"label":"K019", "x":19.75, "y":3, "w":1.25}, {"label":"K000", "x":0, "y":4}, {"label":"K090", "x":1, "y":4}, {"label":"K001", "x":2, "y":4}, {"label":"K091", "x":3, "y":4}, {"label":"K002", "x":4, "y":4}, {"label":"K092", "x":5, "y":4}, {"label":"K003", "x":6.5, "y":4, "w":1.25}, {"label":"K093", "x":7.75, "y":4, "w":1.25}, {"label":"K004", "x":10.25, "y":4, "w":1.25}, {"label":"K095", "x":11.5, "y":4, "w":1.75}, {"label":"K006", "x":13.75, "y":4, "w":1.75}, {"label":"K097", "x":15.5, "y":4, "w":1.25}, {"label":"K098", "x":18.5, "y":4, "w":1.25}, {"label":"K009", "x":19.75, "y":4, "w":1.25}]
diff --git a/keyboards/handwired/prkl30/feather/config.h b/keyboards/handwired/prkl30/feather/config.h
index 875b3d7401..bbed6c0b0b 100644
--- a/keyboards/handwired/prkl30/feather/config.h
+++ b/keyboards/handwired/prkl30/feather/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE0E0
-#define PRODUCT_ID 0x0030
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Ergorius & Tooni Skyy
-#define PRODUCT PRKL30
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -35,7 +28,6 @@
#define ENCODERS_PAD_A { F7 }
#define ENCODERS_PAD_B { F6 }
#define ENCODER_RESOLUTION 4
-#define UNUSED_PINS
/* RGB Light Configuration */
diff --git a/keyboards/handwired/prkl30/info.json b/keyboards/handwired/prkl30/info.json
index c558d21794..b122fe3328 100644
--- a/keyboards/handwired/prkl30/info.json
+++ b/keyboards/handwired/prkl30/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "prkl30",
+ "keyboard_name": "PRKL30",
+ "manufacturer": "Ergorius & Tooni Skyy",
"url": "https://github.com/ErkHal/prkl30",
"maintainer": "ErkHal",
+ "usb": {
+ "vid": "0xE0E0",
+ "pid": "0x0030",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0, "w":1.5}, {"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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12.25, "y":1, "w":1.25, "h":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":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2, "w":1.25}]
diff --git a/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c b/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c
index 71e5ed529b..af5a01e64c 100644
--- a/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c
+++ b/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FN
* ,------------------------------------------------------------------------------------------.
- * |RESET | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|------|
* | |RGB_P |RGB_HD|RGB_HI| VOL- | PREV | NEXT | VOL+ | | | | PRKL | |
* |------+------+------+------+------+------+------+------+------+------+------+------|------'
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------+------+------+------+------+------+------+------+------+------+------+------'
*/
[_FN] = LAYOUT_2u_space(
- 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,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RGB_M_P, RGB_HUD, RGB_HUI, KC_VOLD, KC_MPRV, KC_MNXT, KC_VOLU, _______, _______, _______, PRKL, _______,
RGB_MOD, RGB_VAD, RGB_VAI, RGB_TOG, _______, KC_MPLY, _______, _______, _______, LCA(KC_DEL), _______
),
diff --git a/keyboards/handwired/prkl30/promicro/config.h b/keyboards/handwired/prkl30/promicro/config.h
index d9ccb00314..9f7c4f4f9a 100644
--- a/keyboards/handwired/prkl30/promicro/config.h
+++ b/keyboards/handwired/prkl30/promicro/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE0E0
-#define PRODUCT_ID 0x0030
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Ergorius & Tooni Skyy
-#define PRODUCT PRKL30
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -35,7 +28,6 @@
#define ENCODERS_PAD_A { D3 }
#define ENCODERS_PAD_B { D2 }
#define ENCODER_RESOLUTION 4
-#define UNUSED_PINS
/* RGB Light Configuration */
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
index 68f83035f9..a447a70abd 100644
--- a/keyboards/handwired/promethium/config.h
+++ b/keyboards/handwired/promethium/config.h
@@ -19,16 +19,6 @@ 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 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 0x6067 // ThinkPad Pro Docking Station
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Priyadi
-#define PRODUCT Promethium Keyboard
-
/* key matrix size */
#define MATRIX_COLS 6
#define MATRIX_ROWS 9
@@ -40,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F5, F6, F7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
#define TRACKPOINT_PINS \
{ B7, B6, D7 }
-#define UNUSED_PINS
/*
* Keyboard Matrix Assignments
diff --git a/keyboards/handwired/promethium/info.json b/keyboards/handwired/promethium/info.json
index 365ee2fe32..618b680ff1 100644
--- a/keyboards/handwired/promethium/info.json
+++ b/keyboards/handwired/promethium/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Promethium51",
+ "keyboard_name": "Promethium",
+ "manufacturer": "Priyadi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x17EF",
+ "pid": "0x6048",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/promethium/keymaps/default/config.h b/keyboards/handwired/promethium/keymaps/default/config.h
index 0630fd43e3..1e5e8906ed 100644
--- a/keyboards/handwired/promethium/keymaps/default/config.h
+++ b/keyboards/handwired/promethium/keymaps/default/config.h
@@ -2,12 +2,6 @@
#define PRIYADI_PROMETHIUM
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
#define RGBSPS_ENABLE
#define RGBSPS_DEMO_ENABLE
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index 1903b2f9ba..77f83361e6 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -529,7 +529,7 @@ void led_reset(void) {
}
void led_set_default_layer_indicator(void) {
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
rgbsps_set(LED_IND_ALT, COLOR_BLANK);
@@ -553,7 +553,7 @@ void led_set_layer_indicator(void) {
rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (oldlayer == layer) {
return;
}
@@ -1014,7 +1014,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
- layer = biton32(layer_state);
+ layer = get_highest_layer(layer_state);
#ifdef DOUBLESPACE_LAYER_ENABLE
// double-space: send space immediately if any other key depressed before space is released
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h
index 0630fd43e3..1e5e8906ed 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/config.h
+++ b/keyboards/handwired/promethium/keymaps/priyadi/config.h
@@ -2,12 +2,6 @@
#define PRIYADI_PROMETHIUM
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
#define RGBSPS_ENABLE
#define RGBSPS_DEMO_ENABLE
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
index 94b505aa2c..31ce811e53 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
@@ -532,7 +532,7 @@ void led_reset(void) {
}
void led_set_default_layer_indicator(void) {
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
rgbsps_set(LED_IND_ALT, COLOR_BLANK);
@@ -556,7 +556,7 @@ void led_set_layer_indicator(void) {
rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (oldlayer == layer) {
return;
}
@@ -943,7 +943,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_SYS] = LAYOUT(
- DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO,
+ DEBUG, QWERTY, WIN, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO,
XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
@@ -989,7 +989,7 @@ void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *
}
#endif
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
{
// turn on punc layer if both fun & num are on
if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {
@@ -1017,7 +1017,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
- layer = biton32(layer_state);
+ layer = get_highest_layer(layer_state);
#ifdef DOUBLESPACE_LAYER_ENABLE
// double-space: send space immediately if any other key depressed before space is released
diff --git a/keyboards/handwired/pterodactyl/config.h b/keyboards/handwired/pterodactyl/config.h
index 044fa12f78..eb67deecc4 100644
--- a/keyboards/handwired/pterodactyl/config.h
+++ b/keyboards/handwired/pterodactyl/config.h
@@ -21,13 +21,6 @@ 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 0xFEED
-#define PRODUCT_ID 0x1308
-#define DEVICE_VER 0x0002
-#define MANUFACTURER myoung34
-#define PRODUCT Pterodactyl
-
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROWS 6
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/pterodactyl/info.json b/keyboards/handwired/pterodactyl/info.json
index 6d396dc0b4..77d5db7ec7 100644
--- a/keyboards/handwired/pterodactyl/info.json
+++ b/keyboards/handwired/pterodactyl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pterodactyl",
+ "manufacturer": "myoung34",
"url": "https://marcyoung.us/post/pterodactyl/",
"maintainer": "Marcus Young",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1308",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_pterodactyl": {
"layout": [
diff --git a/keyboards/handwired/pteron/config.h b/keyboards/handwired/pteron/config.h
index a368f5cbd2..5d26b9f430 100644
--- a/keyboards/handwired/pteron/config.h
+++ b/keyboards/handwired/pteron/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK Community
-#define PRODUCT Pteron Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D7, E6, B4, B5, B6 }
#define MATRIX_COL_PINS { F4, F6, F5, F7, B1, B3, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/pteron/info.json b/keyboards/handwired/pteron/info.json
index 346d7c39bd..f23728f92e 100644
--- a/keyboards/handwired/pteron/info.json
+++ b/keyboards/handwired/pteron/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pteron",
+ "keyboard_name": "Pteron",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "FSund",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
index 98acdcf339..0bcd44f65d 100644
--- a/keyboards/handwired/pteron/keymaps/FSund/keymap.c
+++ b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, F_UML, F_GRAVE, F_ACUTE, _______, RESET, _______, _______, _______, _______, KC_PSCR, _______,
+ _______, F_UML, F_GRAVE, F_ACUTE, _______, QK_BOOT, _______, _______, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
index bbb77fa87c..ea217fcc3e 100644
--- a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
+++ b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
@@ -107,7 +107,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, KC_F11, KC_F12,
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/pteron38/config.h b/keyboards/handwired/pteron38/config.h
index 967872aaa9..a877d8dfa3 100644
--- a/keyboards/handwired/pteron38/config.h
+++ b/keyboards/handwired/pteron38/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK Community
-#define PRODUCT Pteron38 Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B4, B5, B6 }
#define MATRIX_COL_PINS { F6, F5, F7, B1, B3, C6, D4, D0, D1, D2 }
-#define UNUSED_PINS { D7, F4, D3 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pteron38/info.json b/keyboards/handwired/pteron38/info.json
index e474d988b4..2051d86e0b 100644
--- a/keyboards/handwired/pteron38/info.json
+++ b/keyboards/handwired/pteron38/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pteron38",
+ "keyboard_name": "Pteron38",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "fidelcoria",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_4": {
"layout": [
diff --git a/keyboards/handwired/pteron44/config.h b/keyboards/handwired/pteron44/config.h
index 94622fa8cf..517d498eaa 100644
--- a/keyboards/handwired/pteron44/config.h
+++ b/keyboards/handwired/pteron44/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x542C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK Community
-#define PRODUCT Pteron44
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B4, B5, B6 }
#define MATRIX_COL_PINS { F4, F6, F5, F7, B1, B3, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS { D7 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pteron44/info.json b/keyboards/handwired/pteron44/info.json
index a640adc9c6..53b123dbe0 100644
--- a/keyboards/handwired/pteron44/info.json
+++ b/keyboards/handwired/pteron44/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pteron44",
+ "keyboard_name": "Pteron44",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "fidelcoria",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x542C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h
index db3d88dcf4..a1719ce06f 100644
--- a/keyboards/handwired/qc60/config.h
+++ b/keyboards/handwired/qc60/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0C60
-#define DEVICE_VER 0x0100
-#define MANUFACTURER PeiorisBoards
-#define PRODUCT QC60
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/info.json
index f2e12ebccb..f3ccde01db 100644
--- a/keyboards/handwired/qc60/info.json
+++ b/keyboards/handwired/qc60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "QC60",
+ "manufacturer": "PeiorisBoards",
"url": "",
"maintainer": "coarse",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0C60",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
index f024ddb4b9..d904dfe85b 100644
--- a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
+++ b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_hhkb_split_lshift(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/handwired/reclined/info.json b/keyboards/handwired/reclined/info.json
index 1398a9a2df..a5f308fa75 100644
--- a/keyboards/handwired/reclined/info.json
+++ b/keyboards/handwired/reclined/info.json
@@ -23,7 +23,7 @@
},
"processor": "atmega32u4",
"usb": {
- "device_ver": "0x0001",
+ "device_version": "0.0.1",
"pid": "0x0000",
"vid": "0xFEED"
},
diff --git a/keyboards/handwired/retro_refit/config.h b/keyboards/handwired/retro_refit/config.h
index beb9b26deb..89e6fc9595 100644
--- a/keyboards/handwired/retro_refit/config.h
+++ b/keyboards/handwired/retro_refit/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT retro_refit
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 8
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// See note in retro_refit.h for an explanation of how this matrix is wired up
#define MATRIX_ROW_PINS { D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D3, C7, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/retro_refit/info.json b/keyboards/handwired/retro_refit/info.json
index 47970247b0..beb03c6a0e 100644
--- a/keyboards/handwired/retro_refit/info.json
+++ b/keyboards/handwired/retro_refit/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "handwired/retro_refit",
+ "keyboard_name": "retro_refit",
+ "manufacturer": "Nobody",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/riblee_f401/config.h b/keyboards/handwired/riblee_f401/config.h
index 6e5c079799..ed0ff636f1 100644
--- a/keyboards/handwired/riblee_f401/config.h
+++ b/keyboards/handwired/riblee_f401/config.h
@@ -18,18 +18,11 @@
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x002A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Riblee
-#define PRODUCT Handwired F401
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { A6, A5, A4, A3, A2 }
#define MATRIX_COL_PINS { B10, B1, B0, B15, A8, B3, B4, B5, B6, B7, B8, B9 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json
index cebc3ba86b..2852e621d1 100644
--- a/keyboards/handwired/riblee_f401/info.json
+++ b/keyboards/handwired/riblee_f401/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Handwired Preonic (Blackpill F401)",
+ "keyboard_name": "Handwired F401",
+ "manufacturer": "Riblee",
"url": "",
"maintainer": "riblee",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x002A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
index 6892c0fb49..bee4de5ede 100644
--- a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
+++ b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/riblee_f401/rules.mk b/keyboards/handwired/riblee_f401/rules.mk
index a2fe4f3a19..9abda835da 100644
--- a/keyboards/handwired/riblee_f401/rules.mk
+++ b/keyboards/handwired/riblee_f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/riblee_f411/config.h b/keyboards/handwired/riblee_f411/config.h
index f335871dec..6cf4b6370a 100644
--- a/keyboards/handwired/riblee_f411/config.h
+++ b/keyboards/handwired/riblee_f411/config.h
@@ -18,18 +18,11 @@
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x002B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Riblee
-#define PRODUCT Handwired F411
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { A6, A5, A4, A3, A2 }
#define MATRIX_COL_PINS { B10, B1, B0, B15, A8, B3, B4, B5, B14, A0, B8, B9 }
-#define UNUSED_PINS { A1, A7, B2, B11, B12, B13 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/riblee_f411/info.json b/keyboards/handwired/riblee_f411/info.json
index 9e44d4de22..ac90dd65db 100644
--- a/keyboards/handwired/riblee_f411/info.json
+++ b/keyboards/handwired/riblee_f411/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Handwired Preonic (Blackpill F411)",
+ "keyboard_name": "Handwired F411",
+ "manufacturer": "Riblee",
"url": "",
"maintainer": "riblee",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x002B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
index 2e9485d6b9..ff7e1117b8 100644
--- a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
+++ b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/riblee_f411/rules.mk b/keyboards/handwired/riblee_f411/rules.mk
index 7d0652ad24..ae4bc544a7 100644
--- a/keyboards/handwired/riblee_f411/rules.mk
+++ b/keyboards/handwired/riblee_f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/rs60/config.h b/keyboards/handwired/rs60/config.h
index 169517362f..506b0bff0d 100644
--- a/keyboards/handwired/rs60/config.h
+++ b/keyboards/handwired/rs60/config.h
@@ -16,13 +16,6 @@ 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 0x4260
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rs
-#define PRODUCT rs60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -30,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, B6, B4, B2, E6 }
#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3, F4, F5, F6, F7, B1, B3}
-#define UNUSED_PINS { }
#define QMK_ESC_OUTPUT C6
#define QMK_ESC_INPUT B4
diff --git a/keyboards/handwired/rs60/info.json b/keyboards/handwired/rs60/info.json
index d3db01eb79..cbf81141aa 100644
--- a/keyboards/handwired/rs60/info.json
+++ b/keyboards/handwired/rs60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rs60",
+ "manufacturer": "rs",
"url": "",
"maintainer": "rs",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4260",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c
index 6b311a7ebb..6d5dc4a32a 100644
--- a/keyboards/handwired/rs60/keymaps/default/keymap.c
+++ b/keyboards/handwired/rs60/keymaps/default/keymap.c
@@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/selene/config.h b/keyboards/handwired/selene/config.h
index ced93e5164..25603183a7 100644
--- a/keyboards/handwired/selene/config.h
+++ b/keyboards/handwired/selene/config.h
@@ -18,18 +18,11 @@
#include "config_common.h"
-#define VENDOR_ID 0x4244 //-B-pen-D-ragon
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bpendragon
-#define PRODUCT Selene
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 21
#define MATRIX_ROW_PINS { B10, B9, B15, B14, B13, B8}
#define MATRIX_COL_PINS { A9, A10, B11, B7, B6, B5, B4, B3, B2, B1, B0, C14, A4, A5, A6, A7, A8, A15, A13, A14, B12 }
-#define UNUSED_PINS
#define RGB_DI_PIN A3
#define RGBLED_NUM 50
diff --git a/keyboards/handwired/selene/info.json b/keyboards/handwired/selene/info.json
index c7f69b42bd..eb515eb11e 100644
--- a/keyboards/handwired/selene/info.json
+++ b/keyboards/handwired/selene/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Selene",
+ "manufacturer": "Bpendragon",
"url": "https://github.com/Bpendragon/Selene-Keyboard",
"maintainer": "Bpendragon",
+ "usb": {
+ "vid": "0x4244",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/sick68/config.h b/keyboards/handwired/sick68/config.h
index 16b5fc76e7..79ce50ba8b 100644
--- a/keyboards/handwired/sick68/config.h
+++ b/keyboards/handwired/sick68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5E68
-#define PRODUCT_ID 0x5F00
-#define DEVICE_VER 0x0001
-#define MANUFACTURER umbynos
-#define PRODUCT sick68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D3, D2, D1, D0, D4 }
#define MATRIX_COL_PINS \
{ C6, D7, E6, B4, B5, B0, D5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/sick68/info.json b/keyboards/handwired/sick68/info.json
index e607e100e6..52bcad8197 100644
--- a/keyboards/handwired/sick68/info.json
+++ b/keyboards/handwired/sick68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sick68",
+ "manufacturer": "umbynos",
"url": "",
"maintainer": "umbynos",
+ "usb": {
+ "vid": "0x5E68",
+ "pid": "0x5F00",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/handwired/sick_pad/config.h b/keyboards/handwired/sick_pad/config.h
index f431daf38e..7f8df32c06 100644
--- a/keyboards/handwired/sick_pad/config.h
+++ b/keyboards/handwired/sick_pad/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xDA20
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FedorSosnin
-#define PRODUCT SiCK-PAD
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B9, B15, B14, B13 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/sick_pad/info.json b/keyboards/handwired/sick_pad/info.json
index d751035d12..458526cce8 100644
--- a/keyboards/handwired/sick_pad/info.json
+++ b/keyboards/handwired/sick_pad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sick_pad",
+ "keyboard_name": "SiCK-PAD",
+ "manufacturer": "FedorSosnin",
"url": "https://www.thingiverse.com/thing:3682168",
"maintainer": "jmschneider",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDA20",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/handwired/skakunm_dactyl/config.h b/keyboards/handwired/skakunm_dactyl/config.h
new file mode 100644
index 0000000000..1fb0cc6b2a
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/config.h
@@ -0,0 +1,60 @@
+// Copyright 2022 Marko Skakun <skakun.marko@gmail.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+
+// wiring of each half
+#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
+#define MATRIX_ROW_PINS { B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+/* mouse config */
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_WHEEL_DELAY 0
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* 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
+
+/* Enables This makes it easier for fast typists to use dual-function keys */
+#define PERMISSIVE_HOLD
+
+/* ws2812 RGB LED */
+//#define RGB_DI_PIN D3
+
+//#define RGBLED_NUM 12 // Number of LEDs
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/handwired/skakunm_dactyl/info.json b/keyboards/handwired/skakunm_dactyl/info.json
new file mode 100644
index 0000000000..2eed23d809
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/info.json
@@ -0,0 +1,57 @@
+{
+ "keyboard_name": "Dactyl Min (3x5_5)",
+ "manufacturer": "skakunm",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_3x5_5": {
+ "layout": [
+ {"label":"L10", "x":0, "y":0},
+ {"label":"L11", "x":1, "y":0},
+ {"label":"L12", "x":2, "y":0},
+ {"label":"L13", "x":3, "y":0},
+ {"label":"L14", "x":4, "y":0},
+ {"label":"R13", "x":9, "y":0},
+ {"label":"R13", "x":10, "y":0},
+ {"label":"R12", "x":11, "y":0},
+ {"label":"R11", "x":12, "y":0},
+ {"label":"R10", "x":13, "y":0},
+ {"label":"L20", "x":0, "y":1},
+ {"label":"L21", "x":1, "y":1},
+ {"label":"L22", "x":2, "y":1},
+ {"label":"L23", "x":3, "y":1},
+ {"label":"L24", "x":4, "y":1},
+ {"label":"R23", "x":9, "y":1},
+ {"label":"R23", "x":10, "y":1},
+ {"label":"R22", "x":11, "y":1},
+ {"label":"R21", "x":12, "y":1},
+ {"label":"R20", "x":13, "y":1},
+ {"label":"L30", "x":0, "y":2},
+ {"label":"L31", "x":1, "y":2},
+ {"label":"L32", "x":2, "y":2},
+ {"label":"L33", "x":3, "y":2},
+ {"label":"L34", "x":4, "y":2},
+ {"label":"R33", "x":9, "y":2},
+ {"label":"R33", "x":10, "y":2},
+ {"label":"R32", "x":11, "y":2},
+ {"label":"R31", "x":12, "y":2},
+ {"label":"R30", "x":13, "y":2},
+ {"label":"L00", "x":4, "y":3},
+ {"label":"L01", "x":5, "y":3},
+ {"label":"R01", "x":8, "y":3},
+ {"label":"R00", "x":9, "y":3},
+ {"label":"L02", "x":4, "y":4},
+ {"label":"L03", "x":5, "y":4},
+ {"label":"L04", "x":6, "y":4},
+ {"label":"R04", "x":7, "y":4},
+ {"label":"R03", "x":8, "y":4},
+ {"label":"R02", "x":9, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c b/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c
new file mode 100644
index 0000000000..0109b18c6c
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+// Copyright 2022 Marko Skakun <skakun.marko@gmail.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+};
+
+enum custom_keycodes {
+ LAYER0 = SAFE_RANGE,
+ LAYER1,
+ LAYER2,
+};
+
+ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = LAYOUT_3x5_5(
+ 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_QUOT,
+ LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
+ KC_LCTL, KC_LALT, KC_RALT, KC_RCTL,
+ KC_BSPC, LT(2,KC_ESC), KC_DEL, KC_TAB, LT(1,KC_ENT), KC_SPC),
+
+[_LAYER1] = LAYOUT_3x5_5(
+ KC_BSLS, KC_HOME, KC_UP, KC_END, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_LGUI,
+ KC_PSLS, KC_LEFT, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_ENT,
+ KC_LSFT, KC_SCLN, KC_QUOT, KC_MINS, KC_EQL, KC_P0, KC_P1, KC_P2, KC_P3, KC_RSFT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[_LAYER2] = LAYOUT_3x5_5(
+ KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_F1, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_QUES, KC_TRNS, KC_F12,
+ 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/handwired/skakunm_dactyl/readme.md b/keyboards/handwired/skakunm_dactyl/readme.md
new file mode 100644
index 0000000000..73174fbd1b
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/readme.md
@@ -0,0 +1,15 @@
+# skakunm dactyl
+
+![SkakunM-Dactyl](https://cdn.thingiverse.com/assets/98/52/da/e2/15/featured_preview_41db84f8-1ffb-4198-bd3f-ae2e5d112ec6.jpg)
+
+This is a variation of Dactyl, main idea is to have 3x5 + 5 keys arrangement, 5 keys for thumb and a minimal set of keys for other fingers. Also having 20 keys enables easy wiring of 4 rows (1 for thumb and 3 for other fingers) and 5 columns (5 buttons for thumb and 5 columns for other fingers). Hardware form factor is somewhat similar to the Moonlander, but smaller. It is designed to be 3D printed using a SLA resin 3D printer.
+
+* Keyboard Maintainer: [Marko Skakun](https://github.com/skakunm)
+* Hardware Supported: Arduino Pro Micro
+* Hardware Availability: [Files to print](https://www.thingiverse.com/thing:5461125)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/skakunm_dactyl: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). \ No newline at end of file
diff --git a/keyboards/handwired/skakunm_dactyl/rules.mk b/keyboards/handwired/skakunm_dactyl/rules.mk
new file mode 100644
index 0000000000..bd53948797
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.c b/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.c
new file mode 100644
index 0000000000..4105eea751
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Marko Skakun <skakun.marko@gmail.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "skakunm_dactyl.h" \ No newline at end of file
diff --git a/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.h b/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.h
new file mode 100644
index 0000000000..fa08dd3bb0
--- /dev/null
+++ b/keyboards/handwired/skakunm_dactyl/skakunm_dactyl.h
@@ -0,0 +1,25 @@
+// Copyright 2022 Marko Skakun <skakun.marko@gmail.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_3x5_5(\
+ L10, L11, L12, L13, L14, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, R24, R23, R22, R21, R20, \
+ L30, L31, L32, L33, L34, R34, R33, R32, R31, R30, \
+ L00, L01, R01, R00, \
+ L04, L03, L02, R02, R03, R04 \
+ )\
+ {\
+ { L34, L33, L32, L31, L30 }, \
+ { L24, L23, L22, L21, L20 }, \
+ { L14, L13, L12, L11, L10 }, \
+ { L04, L03, L02, L01, L00 }, \
+\
+ { R34, R33, R32, R31, R30 }, \
+ { R24, R23, R22, R21, R20 }, \
+ { R14, R13, R12, R11, R10 }, \
+ { R04, R03, R02, R01, R00 }, \
+}
diff --git a/keyboards/handwired/slash/config.h b/keyboards/handwired/slash/config.h
index 4afdf9d4b9..f3c92e6dd2 100644
--- a/keyboards/handwired/slash/config.h
+++ b/keyboards/handwired/slash/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER asdftemp
-#define PRODUCT Slash
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, D6, B7, B6, B5, D7, C6, D0 }
#define MATRIX_COL_PINS { D2, F0, F1, F4, F5, F6, F7, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/slash/info.json b/keyboards/handwired/slash/info.json
index ce15788160..3fd0f1918e 100644
--- a/keyboards/handwired/slash/info.json
+++ b/keyboards/handwired/slash/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "slash",
+ "keyboard_name": "Slash",
+ "manufacturer": "asdftemp",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/snatchpad/config.h b/keyboards/handwired/snatchpad/config.h
index c0ac5ebbde..188135b4d6 100644
--- a/keyboards/handwired/snatchpad/config.h
+++ b/keyboards/handwired/snatchpad/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6662
-#define PRODUCT_ID 0x7370
-#define DEVICE_VER 0x0001
-#define MANUFACTURER xia0
-#define PRODUCT snatchpad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F4, F5, F6 }
#define MATRIX_COL_PINS { B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/snatchpad/info.json b/keyboards/handwired/snatchpad/info.json
index 1306d72b06..22840d7352 100644
--- a/keyboards/handwired/snatchpad/info.json
+++ b/keyboards/handwired/snatchpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "snatchpad",
+ "manufacturer": "xia0",
"url": "",
"maintainer": "xia0",
+ "usb": {
+ "vid": "0x6662",
+ "pid": "0x7370",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/snatchpad/readme.md b/keyboards/handwired/snatchpad/readme.md
index 98021cc6bd..9e502579b5 100644
--- a/keyboards/handwired/snatchpad/readme.md
+++ b/keyboards/handwired/snatchpad/readme.md
@@ -31,4 +31,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/sono1/config.h b/keyboards/handwired/sono1/config.h
index 91519e884a..f20b77b231 100644
--- a/keyboards/handwired/sono1/config.h
+++ b/keyboards/handwired/sono1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x515A // "QZ"
-#define PRODUCT_ID 0x5331 // "S1"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ASKeyboard
-#define PRODUCT Sono1
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/sono1/info.json b/keyboards/handwired/sono1/info.json
index 4d35c67b19..519ed121ed 100644
--- a/keyboards/handwired/sono1/info.json
+++ b/keyboards/handwired/sono1/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "sono1",
+ "keyboard_name": "Sono1",
+ "manufacturer": "ASKeyboard",
"url": "",
"maintainer": "DmNosachev",
+ "usb": {
+ "vid": "0x515A",
+ "pid": "0x5331"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/sono1/stm32f103/config.h b/keyboards/handwired/sono1/stm32f103/config.h
index 8da1256900..33563c3cf7 100644
--- a/keyboards/handwired/sono1/stm32f103/config.h
+++ b/keyboards/handwired/sono1/stm32f103/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#undef DEVICE_VER
-
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS { A5, B3, A9, A10, B13, B14, B15, A8, B7, B8, B9, C13, A15, A0, A1 }
#define MATRIX_COL_PINS { A4, A3, B11, B10, B1, B0, A7, A6 }
diff --git a/keyboards/handwired/sono1/stm32f103/info.json b/keyboards/handwired/sono1/stm32f103/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/handwired/sono1/stm32f103/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/handwired/sono1/t2pp/config.h b/keyboards/handwired/sono1/t2pp/config.h
index 8a20aeeb1d..3ecf674050 100644
--- a/keyboards/handwired/sono1/t2pp/config.h
+++ b/keyboards/handwired/sono1/t2pp/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#undef DEVICE_VER
-
-#define DEVICE_VER 0x0002
-
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2, F1, F0, D7, B7, D0, D1, D2, D3, D4 }
#define MATRIX_COL_PINS { C6, C5, C4, C3, C2, C1, C0, E1 }
diff --git a/keyboards/handwired/sono1/t2pp/info.json b/keyboards/handwired/sono1/t2pp/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/handwired/sono1/t2pp/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/handwired/space_oddity/config.h b/keyboards/handwired/space_oddity/config.h
index 2e3b74041f..0c8e86704e 100644
--- a/keyboards/handwired/space_oddity/config.h
+++ b/keyboards/handwired/space_oddity/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER James Taylor
-#define PRODUCT Space Odyssey
-
#define MOUSEKEY_INTERVAL 16
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
@@ -22,7 +15,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
#define MATRIX_COL_PINS { B2, B6, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/space_oddity/info.json b/keyboards/handwired/space_oddity/info.json
index b1f2a801d9..33d24c3905 100644
--- a/keyboards/handwired/space_oddity/info.json
+++ b/keyboards/handwired/space_oddity/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Space Oddity",
+ "manufacturer": "James Taylor",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/split65/info.json b/keyboards/handwired/split65/info.json
index 34d9a21205..c766f894e1 100644
--- a/keyboards/handwired/split65/info.json
+++ b/keyboards/handwired/split65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "split65",
+ "manufacturer": "percyjw",
"url": "https://github.com/PercyJW-2/Split65",
"maintainer": "PercyJW-2",
+ "usb": {
+ "vid": "0x4A57",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h
index e700578e08..3284c5e0d3 100644
--- a/keyboards/handwired/split65/promicro/config.h
+++ b/keyboards/handwired/split65/promicro/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x4A57 // JW
-#define PRODUCT_ID 0x0000 // first keeb
-#define DEVICE_VER 0x0000 // first revision
-#define MANUFACTURER percyjw
-#define PRODUCT split65
-
// Matrix Assignments
#define MATRIX_ROWS 10 //Rows are doubled-up
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h
index b173481280..6c3d653d1d 100644
--- a/keyboards/handwired/split65/stm32/config.h
+++ b/keyboards/handwired/split65/stm32/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x4A57 // JW
-#define PRODUCT_ID 0x0000 // first keeb
-#define DEVICE_VER 0x0000 // first revision
-#define MANUFACTURER percyjw
-#define PRODUCT split65
-
// Audio
#define AUDIO_PIN A5
#define AUDIO_PIN_ALT A4
diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h
index 7927c1d83c..8cb8f4e1ea 100644
--- a/keyboards/handwired/split89/config.h
+++ b/keyboards/handwired/split89/config.h
@@ -18,13 +18,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jurassic73
-#define PRODUCT split89
-
/*
* Keyboard Matrix Assignments
*
diff --git a/keyboards/handwired/split89/info.json b/keyboards/handwired/split89/info.json
index 7147420f32..fda9b2c9f0 100644
--- a/keyboards/handwired/split89/info.json
+++ b/keyboards/handwired/split89/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "split89",
- "maintainer": "jurassic73",
+ "manufacturer": "jurassic73",
"url": "https://github.com/jurassic73/split89",
+ "maintainer": "jurassic73",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "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":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"Backspace", "x":15.75, "y":1.5, "w":2}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "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":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "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":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"Enter", "x":15.5, "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":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":2.75}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Fn", "x":1.25, "y":5.5, "w":1.25}, {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, {"label":"Alt", "x":3.75, "y":5.5, "w":1.25}, {"x":5, "y":5.5, "w":2.25}, {"x":10, "y":5.5, "w":2.75}, {"label":"Alt", "x":12.75, "y":5.5, "w":1.25}, {"label":"Win", "x":14, "y":5.5, "w":1.25}, {"label":"Menu", "x":15.25, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":16.5, "y":5.5, "w":1.25}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}]
diff --git a/keyboards/handwired/splittest/bluepill/config.h b/keyboards/handwired/splittest/bluepill/config.h
new file mode 100644
index 0000000000..b1315ee3c7
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/config.h
@@ -0,0 +1,16 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+// wiring of each half
+#define MATRIX_ROW_PINS { B10 }
+#define MATRIX_COL_PINS { B1 }
+
+#define SPLIT_HAND_PIN A7
+
+#if !(defined(USE_SDI1_ON_STANDARD_ROLE_PINS) || defined(USE_SDI1_ON_ALTERNATE_ROLE_PINS) || defined(USE_SDI2))
+ #define USE_SDI1_ON_STANDARD_ROLE_PINS
+#endif
diff --git a/keyboards/handwired/splittest/bluepill/halconf.h b/keyboards/handwired/splittest/bluepill/halconf.h
new file mode 100644
index 0000000000..e11e5b637a
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/halconf.h
@@ -0,0 +1,11 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* Needed for serial bitbang, half-duplex and full-duplex */
+#define HAL_USE_PAL TRUE
+#define PAL_USE_WAIT TRUE
+#define PAL_USE_CALLBACKS TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/splittest/bluepill/mcuconf.h b/keyboards/handwired/splittest/bluepill/mcuconf.h
new file mode 100644
index 0000000000..af2f14a9d3
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/mcuconf.h
@@ -0,0 +1,14 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+// These are needed if the communication is on the SD1 USART, either with standard or alternate pins
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+// These are needed if the communication is on the SD2 USART, either with standard or alternate pins
+#undef STM32_SERIAL_USE_USART2
+#define STM32_SERIAL_USE_USART2 TRUE
diff --git a/keyboards/handwired/splittest/bluepill/post_config.h b/keyboards/handwired/splittest/bluepill/post_config.h
new file mode 100644
index 0000000000..be9dd398ff
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/post_config.h
@@ -0,0 +1,43 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#if defined(SPLIT_SERIAL_HALFDUPLEX)
+
+ #if defined(USE_SDI1_ON_STANDARD_ROLE_PINS)
+ #define SOFT_SERIAL_PIN A9
+ #elif defined(USE_SDI1_ON_ALTERNATE_ROLE_PINS)
+ #define SOFT_SERIAL_PIN B6
+ #define USART1_REMAP // Remap USART TX and RX pins on STM32F103 MCUs
+ #elif defined(USE_SDI2)
+ #define SOFT_SERIAL_PIN A2
+ #define SERIAL_USART_DRIVER SD2 // USART driver of TX and RX pin. default: SD1
+ #else
+ #error "splittest serial_halfduplex keymap is missing a configuration (USE_SDI1_ON_STANDARD_ROLE_PINS, USE_SDI1_ON_ALTERNATE_ROLE_PINS, USE_SDI2)"
+ #endif
+
+#elif defined(SPLIT_SERIAL_FULLDUPLEX)
+
+ #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
+
+ #if defined(USE_SDI1_ON_STANDARD_ROLE_PINS)
+ #define SOFT_SERIAL_PIN A9
+ #define SERIAL_USART_RX_PIN A10 // USART RX pin
+ #elif defined(USE_SDI1_ON_ALTERNATE_ROLE_PINS)
+ #define SOFT_SERIAL_PIN B6
+ #define SERIAL_USART_RX_PIN B7 // USART RX pin
+ #define USART1_REMAP // Remap USART TX and RX pins on STM32F103 MCUs
+ #elif defined(USE_SDI2)
+ #define SOFT_SERIAL_PIN A2
+ #define SERIAL_USART_RX_PIN A3 // USART RX pin
+ #define SERIAL_USART_DRIVER SD2 // USART driver of TX and RX pin. default: SD1
+ #else
+ #error "splittest serial_fullduplex keymap is missing a configuration (USE_SDI1_ON_STANDARD_ROLE_PINS, USE_SDI1_ON_ALTERNATE_ROLE_PINS, USE_SDI2)"
+ #endif
+
+#else // defined(SPLIT_BITBANG)
+
+ #define SOFT_SERIAL_PIN B8
+
+#endif
diff --git a/keyboards/handwired/splittest/bluepill/readme.md b/keyboards/handwired/splittest/bluepill/readme.md
new file mode 100644
index 0000000000..381aa6ba3a
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/readme.md
@@ -0,0 +1,65 @@
+# bluepill splittest
+
+This is the splittest example for the bluepill MCU.
+To trigger keypress, short together pins _B10_ and _B1_.
+
+## Keyboard Configuration
+
+The type of communication (bitbang, serial (half/full duplex)) is set by the keymap `config.h` file with variables with `SPLIT_` prefix.
+So this example uses:
+
+- `config.h` to set which SDI to use for serial. Either define `USE_SDI1_ON_STANDARD_ROLE_PINS`, `USE_SDI1_ON_ALTERNATE_ROLE_PINS` or `USE_SDI2` before the `#ifdef` that configures the default case when none of these variable is defined.
+- `post_config.h` for defining the communication pins between the halves once the keymap is configured.
+
+On your keyboard, you most likely will only use `config.h` because you'd have already chosen your communication scheme: serial type, SDI, pins.
+
+## Wiring
+
+### Switches
+
+- Add switches to both Bluepills across B10 and B1 pins
+
+### Handedness
+
+Have a look at the [handedness documentation](https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness)
+
+- Add pull-up resistor to left side between VCC and A7
+- Add pull-down resistors to right side between GND and A7
+
+### Send power to the other half
+
+- Connect the following pins on both sides together: GND, VCC
+
+### Halves data connection
+
+Choose one of the connection type
+
+#### serial - bitbang
+
+- Connect the B8 pins on both sides together
+
+#### serial - usart half duplex
+
+Check the [documentation](https://docs.qmk.fm/#/serial_driver?id=usart-half-duplex) to determine the pull-up resistor.
+
+- To use the default usart (USART1) with the standard role pins,
+ - Connect the A9 pins on both sides together and to add a pull-up resistor on one of these pins
+ - Define USE_SDI1_ON_STANDARD_ROLE_PINS in config.h
+- To use the default usart (USART1) with the alternate role pins,
+ - Connect the B6 pins on both sides together and to add a pull-up resistor on one of these pins
+ - Define USE_SDI1_ON_ALTERNATE_ROLE_PINS in config.h
+- To use the usart2 (USART2) pins,
+ - Connect the A2 pins on both sides together and to add a pull-up resistor on one of these pins
+ - Define USE_SDI2 in config.h
+
+#### serial - usart full duplex
+
+- To use the default usart (USART1) with the standard role pins,
+ - Connect the mpins on A9, A10 one to the other on each side
+ - Define USE_SDI1_ON_STANDARD_ROLE_PINS in config.h
+- To use the default usart (USART1) with the alternate role pins,
+ - Connect the pins B6, B7 one to the other on each side
+ - Define USE_SDI1_ON_ALTERNATE_ROLE_PINS in config.h
+- To use the usart2 (USART2) pins,
+ - Connect the pins A2, A3 one to the other on each side
+ - Define USE_SDI2 in config.h
diff --git a/keyboards/handwired/splittest/bluepill/rules.mk b/keyboards/handwired/splittest/bluepill/rules.mk
new file mode 100644
index 0000000000..019b1130d9
--- /dev/null
+++ b/keyboards/handwired/splittest/bluepill/rules.mk
@@ -0,0 +1,8 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/handwired/splittest/config.h b/keyboards/handwired/splittest/config.h
index d4816e4355..eecffe3803 100644
--- a/keyboards/handwired/splittest/config.h
+++ b/keyboards/handwired/splittest/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1111
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Split Tester
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 2
diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json
index 9c7412ad82..973eebd1f9 100644
--- a/keyboards/handwired/splittest/info.json
+++ b/keyboards/handwired/splittest/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Split Tester",
+ "manufacturer": "Keebio",
"url": "",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1111",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/splittest/keymaps/bitbang/config.h b/keyboards/handwired/splittest/keymaps/bitbang/config.h
new file mode 100644
index 0000000000..fddd3d88b2
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/bitbang/config.h
@@ -0,0 +1,16 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SPLIT_BITBANG
+
+#define FORCED_SYNC_THROTTLE_MS 100
+
+#define SELECT_SOFT_SERIAL_SPEED 3 // or 0, 1, 2, 4, 5
+ // 0: about 189kbps (Experimental only)
+ // 1: about 137kbps (default)
+ // 2: about 75kbps
+ // 3: about 39kbps
+ // 4: about 26kbps
+ // 5: about 20kbps
diff --git a/keyboards/handwired/splittest/keymaps/bitbang/keymap.c b/keyboards/handwired/splittest/keymaps/bitbang/keymap.c
new file mode 100644
index 0000000000..8a83e19850
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/bitbang/keymap.c
@@ -0,0 +1,14 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_L, KC_R)};
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+ // debug_mouse=true;
+} \ No newline at end of file
diff --git a/keyboards/handwired/splittest/keymaps/bitbang/rules.mk b/keyboards/handwired/splittest/keymaps/bitbang/rules.mk
new file mode 100644
index 0000000000..a4f16a0b6b
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/bitbang/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = bitbang
diff --git a/keyboards/handwired/splittest/keymaps/default/keymap.c b/keyboards/handwired/splittest/keymaps/default/keymap.c
index 0057478c1c..fcef718983 100644
--- a/keyboards/handwired/splittest/keymaps/default/keymap.c
+++ b/keyboards/handwired/splittest/keymaps/default/keymap.c
@@ -1,5 +1,8 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(RGB_MOD, QK_BOOT)
+ [0] = LAYOUT(KC_L, KC_R)
};
diff --git a/keyboards/handwired/splittest/keymaps/rgb/keymap.c b/keyboards/handwired/splittest/keymaps/rgb/keymap.c
new file mode 100644
index 0000000000..1fa86057c9
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/rgb/keymap.c
@@ -0,0 +1,8 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(RGB_MOD, QK_BOOT)
+};
diff --git a/keyboards/handwired/splittest/keymaps/rgb/rules.mk b/keyboards/handwired/splittest/keymaps/rgb/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/rgb/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/handwired/splittest/keymaps/serial_fullduplex/config.h b/keyboards/handwired/splittest/keymaps/serial_fullduplex/config.h
new file mode 100644
index 0000000000..1a2899751b
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_fullduplex/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SPLIT_SERIAL_FULLDUPLEX
diff --git a/keyboards/handwired/splittest/keymaps/serial_fullduplex/halconf.h b/keyboards/handwired/splittest/keymaps/serial_fullduplex/halconf.h
new file mode 100644
index 0000000000..58840c28a7
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_fullduplex/halconf.h
@@ -0,0 +1,8 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SERIAL TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/splittest/keymaps/serial_fullduplex/keymap.c b/keyboards/handwired/splittest/keymaps/serial_fullduplex/keymap.c
new file mode 100644
index 0000000000..7535715da1
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_fullduplex/keymap.c
@@ -0,0 +1,14 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_L, KC_R)};
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+ // debug_mouse=true;
+}
diff --git a/keyboards/handwired/splittest/keymaps/serial_fullduplex/rules.mk b/keyboards/handwired/splittest/keymaps/serial_fullduplex/rules.mk
new file mode 100644
index 0000000000..c6e2988321
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_fullduplex/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/splittest/keymaps/serial_halfduplex/config.h b/keyboards/handwired/splittest/keymaps/serial_halfduplex/config.h
new file mode 100644
index 0000000000..3cb68f6e7d
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_halfduplex/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SPLIT_SERIAL_HALFDUPLEX
diff --git a/keyboards/handwired/splittest/keymaps/serial_halfduplex/halconf.h b/keyboards/handwired/splittest/keymaps/serial_halfduplex/halconf.h
new file mode 100644
index 0000000000..58840c28a7
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_halfduplex/halconf.h
@@ -0,0 +1,8 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SERIAL TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/splittest/keymaps/serial_halfduplex/keymap.c b/keyboards/handwired/splittest/keymaps/serial_halfduplex/keymap.c
new file mode 100644
index 0000000000..d65d04b623
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_halfduplex/keymap.c
@@ -0,0 +1,16 @@
+// Copyright 2022 dvermd (@dvermd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_L, KC_R)};
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+ // debug_mouse=true;
+}
diff --git a/keyboards/handwired/splittest/keymaps/serial_halfduplex/rules.mk b/keyboards/handwired/splittest/keymaps/serial_halfduplex/rules.mk
new file mode 100644
index 0000000000..c6e2988321
--- /dev/null
+++ b/keyboards/handwired/splittest/keymaps/serial_halfduplex/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/splittest/rules.mk b/keyboards/handwired/splittest/rules.mk
index b33e198bbd..cc924d61d8 100644
--- a/keyboards/handwired/splittest/rules.mk
+++ b/keyboards/handwired/splittest/rules.mk
@@ -3,13 +3,12 @@
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/steamvan/info.json b/keyboards/handwired/steamvan/info.json
deleted file mode 100644
index 165fa0a38f..0000000000
--- a/keyboards/handwired/steamvan/info.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "keyboard_name": "steamvan",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT_standard": {
- "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Win", "x":9.5, "y":3, "w":1.5}, {"label":"Menu", "x":11, "y":3, "w":1.75}]
- },
-
- "LAYOUT_arrow": {
- "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
- },
-
- "LAYOUT_command": {
- "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3, "w":1.5}, {"label":"Win", "x":11.25, "y":3, "w":1.5}]
- },
-
- "LAYOUT_arrow_command": {
- "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
- }
- }
-}
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
index 1c835bad1f..ad52fcfaf8 100644
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
+++ b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______
),
[_L4] = LAYOUT_standard( /* LAYER 4 */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______,
KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_HOME, KC_END, _______,
KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_PGDN, KC_F12, _______,
_______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h
index 18a6690c25..2a33f1fc13 100644
--- a/keyboards/handwired/steamvan/rev1/config.h
+++ b/keyboards/handwired/steamvan/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER John M Daly
-#define PRODUCT SteamVan rev1
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A6, A5, A4, A3 }
#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, A10, B9, B6, B5, B4, B3, A15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/steamvan/rev1/info.json b/keyboards/handwired/steamvan/rev1/info.json
new file mode 100644
index 0000000000..e84a73ab8e
--- /dev/null
+++ b/keyboards/handwired/steamvan/rev1/info.json
@@ -0,0 +1,28 @@
+{
+ "keyboard_name": "SteamVan rev1",
+ "manufacturer": "John M Daly",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_standard": {
+ "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Win", "x":9.5, "y":3, "w":1.5}, {"label":"Menu", "x":11, "y":3, "w":1.75}]
+ },
+
+ "LAYOUT_arrow": {
+ "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
+ },
+
+ "LAYOUT_command": {
+ "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3, "w":1.5}, {"label":"Win", "x":11.25, "y":3, "w":1.5}]
+ },
+
+ "LAYOUT_arrow_command": {
+ "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
+ }
+ }
+}
diff --git a/keyboards/handwired/stef9998/split_5x7/config.h b/keyboards/handwired/stef9998/split_5x7/config.h
new file mode 100644
index 0000000000..d04675e7db
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/config.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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" \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/info.json b/keyboards/handwired/stef9998/split_5x7/info.json
new file mode 100644
index 0000000000..a1248b2d9e
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/info.json
@@ -0,0 +1,97 @@
+{
+ "keyboard_name": "Split_5x7",
+ "url": "",
+ "maintainer": "stef9998",
+ "manufacturer": "Stef9998",
+ "usb": {
+ "vid": "0x57EF",
+ "pid": "0x6063",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1", "x":1, "y":0},
+ {"label":"2", "x":2, "y":0},
+ {"label":"3", "x":3, "y":0},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"F1", "x":6, "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":"[", "x":6, "y":1},
+
+ {"label":"Caps Lock", "x":0, "y":2},
+ {"label":"A", "x":1, "y":2},
+ {"label":"S", "x":2, "y":2},
+ {"label":"D", "x":3, "y":2},
+ {"label":"F", "x":4, "y":2},
+ {"label":"G", "x":5, "y":2},
+ {"label":"=", "x":6, "y":2},
+
+ {"label":"Shift", "x":0, "y":3},
+ {"label":"Z", "x":1, "y":3},
+ {"label":"X", "x":2, "y":3},
+ {"label":"C", "x":3, "y":3},
+ {"label":"V", "x":4, "y":3},
+ {"label":"B", "x":5, "y":3},
+ {"label":"F3", "x":6, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4},
+ {"label":"Ctrl", "x":1, "y":4},
+ {"label":"Gui", "x":2, "y":4, "w":1.25},
+ {"label":"Alt", "x":3.25, "y":4, "w":1.25},
+ {"label":"Space", "x":4.5, "y":4, "w":1.5},
+ {"label":"F5", "x":6, "y":4},
+
+
+ {"label":"F2", "x":14, "y":0},
+ {"label":"6", "x":9, "y":0},
+ {"label":"7", "x":10, "y":0},
+ {"label":"8", "x":11, "y":0},
+ {"label":"9", "x":12, "y":0},
+ {"label":"0", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+
+ {"label":"]", "x":8, "y":1},
+ {"label":"Y", "x":9, "y":1},
+ {"label":"U", "x":10, "y":1},
+ {"label":"I", "x":11, "y":1},
+ {"label":"O", "x":12, "y":1},
+ {"label":"P", "x":13, "y":1},
+ {"label":"\\", "x":14, "y":1},
+
+ {"label":"-", "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":"Enter", "x":14, "y":2},
+
+ {"label":"F4", "x":8, "y":3},
+ {"label":"N", "x":9, "y":3},
+ {"label":"M", "x":10, "y":3},
+ {"label":",", "x":11, "y":3},
+ {"label":".", "x":12, "y":3},
+ {"label":"/", "x":13, "y":3},
+ {"label":"Shift", "x":14, "y":3},
+
+ {"label":"F5", "x":8, "y":4},
+ {"label":"Space", "x":9, "y":4, "w":1.5},
+ {"label":"AltGr", "x":10.5, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.75, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13, "y":4},
+ {"label":"Ctrl", "x":13, "y":4}
+
+
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h b/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h
new file mode 100644
index 0000000000..2a19e47502
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h
@@ -0,0 +1,28 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 */
+// #define USE_SERIAL
+#define USE_I2C
+
+/* Select hand configuration */
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/default/keymap.c b/keyboards/handwired/stef9998/split_5x7/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ce130d6e79
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/default/keymap.c
@@ -0,0 +1,96 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// 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.
+// You can also skip layer-names entirely and just use numbers.
+enum custom_layer {
+ _QWERTY,
+ _FN,
+ _SYM, //symbols & numbers
+ _CFG, //config
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ FN,
+ SYM,
+ CONFIG,
+};
+
+// Shortcut to make keymap more readable
+#define KC_FN MO(_FN)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ QK_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_LBRC , KC_RBRC ,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_EQL , KC_MINS ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,SH_OS , KC_NO ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ KC_LCTL ,KC_LCPO ,KC_LGUI ,KC_LALT ,KC_SPC ,MO(_SYM), MO(_SYM),KC_SPC ,KC_RALT ,MO(_FN) ,KC_RCPC ,KC_RCTL
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_FN] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PGUP ,KC_HOME ,KC_UP ,KC_END ,KC_PSCR ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,KC_QUOT ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ , _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_SYM] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,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_DEL ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_MSEL ,KC_MPLY ,XXXXXXX , KC_MPRV, KC_MNXT,_______ , _______ ,KC_MSEL ,KC_MPLY , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ QK_BOOT ,_______ ,_______ ,_______ ,_______ ,TG(_CFG), TG(_CFG),_______ ,_______ ,_______ ,_______ ,QK_BOOT
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_CFG] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ TG(_CFG),_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+};
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md b/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md
new file mode 100644
index 0000000000..9d3e057bc6
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+![Split_5x7 Layout Image](https://i.imgur.com/XnDWlJOh.png)
+
+# Default Layout
+
+This is the default layout.
+For the most part it's a straightforward and easy to follow layout.
+The only thing to note is the apostrophe key which is on the second layer under return. \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h
new file mode 100644
index 0000000000..3b7ee90f92
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h
@@ -0,0 +1,34 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 */
+//#define USE_SERIAL
+#define USE_I2C
+
+/* Select hand configuration */
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
+#define LCPO_KEYS KC_LCTL,KC_TRNS,KC_LBRC
+#define RCPC_KEYS KC_RCTL,KC_TRNS,KC_RBRC
+
+#define TAPPING_TERM_PER_KEY
+#define IGNORE_MOD_TAP_INTERRUPT
+#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c
new file mode 100644
index 0000000000..0be1e4cbb3
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c
@@ -0,0 +1,188 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// 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.
+enum custom_layer {
+ _QWERTY,
+ _HOMEMOD,
+ _FN,
+ _SYM, //symbols & numbers
+ _SPARE,
+ _CFG, //config
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ HOMEMOD,
+ FN,
+ SYM,
+ SPARE,
+ CONFIG,
+};
+
+// Shortcut to make keymap more readable
+#define KC_FN MO(_FN)
+
+bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_LSPO:
+ // Do not force the mod-tap key press to be handled as a modifier
+ // if any other key was pressed while the mod-tap key is held down.
+ return false;
+// case MT(MOD_LSFT,KC_9):
+// return false;
+ case KC_RSPC:
+ return false;
+ default:
+ // Force the mod-tap key press to be handled as a modifier if any
+ // other key was pressed while the mod-tap key is held down.
+ return true;
+ }
+}
+
+//layer_state_t layer_state_set_user(layer_state_t state) {
+// return update_tri_layer_state(state, _ESS, _SYM, _SYM_ESS);
+//}
+
+//Modified from default, cause I want CapsLock to still be there even when I swap hands
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
+{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
+{ {0, 2}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}}, // caps won't be switched, because of extend
+{ {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
+{ {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
+
+{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
+{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
+{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
+{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
+{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
+};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case SH_T(KC_SPC):
+ return TAPPING_TERM + 300;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ QK_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_LBRC , KC_RBRC ,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_EQL , KC_MINS ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,SH_OS , KC_NO ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ KC_LCTL ,KC_LCPO ,KC_LGUI ,KC_LALT ,SH_T(KC_SPC) ,MO(_SYM), MO(_SYM),KC_SPC ,KC_RALT ,MO(_FN) ,KC_RCPC ,KC_RCTL
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_HOMEMOD] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+_______ ,_______ ,RALT_T(KC_S),LCTL_T(KC_D),LSFT_T(KC_F),LT(_SYM,KC_G),_______ , _______ ,LT(_SYM,KC_H),RSFT_T(KC_J),RCTL_T(KC_K),LALT_T(KC_L),_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_RSFT ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_FN] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PGUP ,KC_HOME ,KC_UP ,KC_END ,KC_PSCR ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ , _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_SYM] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_GRV ,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_DEL ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ CAPSWRD ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_QUOT ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,KC_MSEL ,KC_MPLY ,XXXXXXX ,KC_EQL ,KC_PLUS ,_______ , _______ ,KC_UNDS ,KC_MINS , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ QK_BOOT ,_______ ,_______ ,_______ ,_______ ,TG(_CFG), TG(_CFG),_______ ,_______ ,_______ ,_______ ,QK_BOOT
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_CFG] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ TG(_CFG),_______ ,TG(_HOMEMOD),_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_1 , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+
+[_SPARE] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,XXXXXXX , XXXXXXX ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+)
+};
+
+/*
+[_] = LAYOUT(
+// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────â”
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
+// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
+),
+ */ \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/readme.md b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/readme.md
new file mode 100644
index 0000000000..329ba39a4a
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/readme.md
@@ -0,0 +1,4 @@
+![Split_5x7 Layout Image](https://i.imgur.com/m9LkQsWh.png)
+
+# The keymap I currently use
+Pretty much a default qwerty on a 60%-ish with some function-layers
diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk
new file mode 100644
index 0000000000..f18f03c2c7
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk
@@ -0,0 +1,2 @@
+CAPS_WORD_ENABLE = yes
+SWAP_HANDS_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/readme.md b/keyboards/handwired/stef9998/split_5x7/readme.md
new file mode 100644
index 0000000000..bf6c9ef719
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/readme.md
@@ -0,0 +1,26 @@
+# Split_5x7
+
+![Split_5x7](https://i.imgur.com/fVw8al1h.jpg)
+
+A handwired Split keyboard with the unusual layout of 5x7 on either side.
+
+3d print files will be made available soon.
+
+* Keyboard Maintainer: [Stefan](https://github.com/stef9998)
+* Hardware Supported: Pro Micro
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/stef9998/split_5x7/rev1:default
+
+Flashing example for left side:
+
+ make handwired/stef9998/split_5x7/rev1:default:avrdude-split-left
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+How to enter the bootloader:
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`.\
+In the default keymap it's accessible by pressing either of the buttons bringing you to layer `_SYM` and then pressing one of the outer Ctrl's. \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/config.h b/keyboards/handwired/stef9998/split_5x7/rev1/config.h
new file mode 100644
index 0000000000..6308b1cf19
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/rev1/config.h
@@ -0,0 +1,58 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { B2, B6, B1, B3, F7, F5, F6 }
+
+#define MATRIX_ROW_PINS_RIGHT { B5, B4, E6, D7, C6 }
+#define MATRIX_COL_PINS_RIGHT { F5, F6, F7, B1, B3, B2, B6 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* serial.c configuration for split keyboard */
+#define SOFT_SERIAL_PIN D0
+
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
new file mode 100644
index 0000000000..cf8e7d9fa3
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
@@ -0,0 +1,17 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "split_5x7.h"
diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/rev1.h b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.h
new file mode 100644
index 0000000000..9ffed66727
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2022 stef9998
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "split_5x7.h"
+
+
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
+ k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \
+ k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, \
+ k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, \
+ k56, k57, k58, k59, k61, k62, k63, k64, k66, k67, k68, k69 \
+) \
+{ \
+ { k00, k01, k02, k03, k04 , k05, k06 }, \
+ { k14, k15, k16, k17, k18 , k19, k20 }, \
+ { k28, k29, k30, k31, k32 , k33, k34 }, \
+ { k42, k43, k44, k45, k46 , k47, k48 }, \
+ { k56, k57, k58, k59, KC_NO, k61, k62 }, \
+ { k13, k12, k11, k10, k09 , k08, k07 }, \
+ { k27, k26, k25, k24, k23 , k22, k21 }, \
+ { k41, k40, k39, k38, k37 , k36, k35 }, \
+ { k55, k54, k53, k52, k51 , k50, k49 }, \
+ { k69, k68, k67, k66, KC_NO, k64, k63 } \
+}
diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk b/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk
new file mode 100644
index 0000000000..3cd6d040b8
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk
@@ -0,0 +1,4 @@
+# Disable unsupported hardware
+AUDIO_SUPPORTED = no
+BACKLIGHT_SUPPORTED = no
+RGBLIGHT_SUPPORTED = no \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/rules.mk b/keyboards/handwired/stef9998/split_5x7/rules.mk
new file mode 100644
index 0000000000..01f4b93976
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+SPLIT_KEYBOARD = yes
+
+DEFAULT_FOLDER = handwired/stef9998/split_5x7/rev1 \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/split_5x7.c b/keyboards/handwired/stef9998/split_5x7/split_5x7.c
new file mode 100644
index 0000000000..5e19d47175
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/split_5x7.c
@@ -0,0 +1,33 @@
+/* Copyright 2017 REPLACE_WITH_YOUR_NAME
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "split_5x7.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+{{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
+{{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
+{{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}},
+{{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
+{{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
+
+{{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
+{{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
+{{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
+{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
+{{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
+};
+#endif \ No newline at end of file
diff --git a/keyboards/handwired/stef9998/split_5x7/split_5x7.h b/keyboards/handwired/stef9998/split_5x7/split_5x7.h
new file mode 100644
index 0000000000..55ed1cc98f
--- /dev/null
+++ b/keyboards/handwired/stef9998/split_5x7/split_5x7.h
@@ -0,0 +1,23 @@
+/* Copyright 2017 REPLACE_WITH_YOUR_NAME
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#if defined(KEYBOARD_handwired_stef9998_split_5x7_rev1)
+# include "rev1.h"
+#endif
+
+#include "quantum.h"
diff --git a/keyboards/handwired/sticc14/config.h b/keyboards/handwired/sticc14/config.h
index c269f4706d..19ae8d1dbf 100644
--- a/keyboards/handwired/sticc14/config.h
+++ b/keyboards/handwired/sticc14/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER u/ergorius
-#define PRODUCT Sticc14
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1 }
#define MATRIX_COL_PINS { B6, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/sticc14/info.json b/keyboards/handwired/sticc14/info.json
index e7bbd5e73c..ab602839ac 100644
--- a/keyboards/handwired/sticc14/info.json
+++ b/keyboards/handwired/sticc14/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sticc14",
+ "manufacturer": "u/ergorius",
"url": "",
"maintainer": "erkhal",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/stream_cheap/2x3/config.h b/keyboards/handwired/stream_cheap/2x3/config.h
index 5e571e356a..8ae6ffb988 100644
--- a/keyboards/handwired/stream_cheap/2x3/config.h
+++ b/keyboards/handwired/stream_cheap/2x3/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7363 // Stream Cheap
-#define PRODUCT_ID 0x1213
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT 2x3
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/handwired/stream_cheap/2x3/info.json b/keyboards/handwired/stream_cheap/2x3/info.json
index 3522dda596..c16c853804 100644
--- a/keyboards/handwired/stream_cheap/2x3/info.json
+++ b/keyboards/handwired/stream_cheap/2x3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Stream Cheap 2x3",
+ "keyboard_name": "2x3",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:4497991",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7363",
+ "pid": "0x1213",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
diff --git a/keyboards/handwired/stream_cheap/2x4/config.h b/keyboards/handwired/stream_cheap/2x4/config.h
index 432f23c7d9..41e30a6dc1 100644
--- a/keyboards/handwired/stream_cheap/2x4/config.h
+++ b/keyboards/handwired/stream_cheap/2x4/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7363 // Stream Cheap
-#define PRODUCT_ID 0x1214
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT 2x4
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
diff --git a/keyboards/handwired/stream_cheap/2x4/info.json b/keyboards/handwired/stream_cheap/2x4/info.json
index d472eecd1e..441a68caaa 100644
--- a/keyboards/handwired/stream_cheap/2x4/info.json
+++ b/keyboards/handwired/stream_cheap/2x4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Stream Cheap 2x4",
+ "keyboard_name": "2x4",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:4497991",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7363",
+ "pid": "0x1214",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [
diff --git a/keyboards/handwired/stream_cheap/2x5/config.h b/keyboards/handwired/stream_cheap/2x5/config.h
index e7a73107b9..45694ed822 100644
--- a/keyboards/handwired/stream_cheap/2x5/config.h
+++ b/keyboards/handwired/stream_cheap/2x5/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7363 // Stream Cheap
-#define PRODUCT_ID 0x1215
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Stream Cheap
-#define PRODUCT 2x5
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 5
diff --git a/keyboards/handwired/stream_cheap/2x5/info.json b/keyboards/handwired/stream_cheap/2x5/info.json
index 694e0758d4..57088d112b 100644
--- a/keyboards/handwired/stream_cheap/2x5/info.json
+++ b/keyboards/handwired/stream_cheap/2x5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Stream Cheap 2x5",
+ "keyboard_name": "2x5",
+ "manufacturer": "Stream Cheap",
"url": "https://www.thingiverse.com/thing:4497991",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7363",
+ "pid": "0x1215",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x5": {
"layout": [
diff --git a/keyboards/handwired/swiftrax/astro65/config.h b/keyboards/handwired/swiftrax/astro65/config.h
index 6f77ba2006..39e1004233 100644
--- a/keyboards/handwired/swiftrax/astro65/config.h
+++ b/keyboards/handwired/swiftrax/astro65/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAEF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Astro65
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/handwired/swiftrax/astro65/info.json b/keyboards/handwired/swiftrax/astro65/info.json
index 20de968e6e..d577cfafa0 100644
--- a/keyboards/handwired/swiftrax/astro65/info.json
+++ b/keyboards/handwired/swiftrax/astro65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Astro65",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAEF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_split_bs": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"0,15", "x":15, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,15", "x":15, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2, "w":2.25}, {"label":"2,15", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,14", "x":14, "y":3}, {"label":"3,15", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,14", "x":14, "y":4}, {"label":"4,15", "x":15, "y":4}]
diff --git a/keyboards/handwired/swiftrax/bebol/config.h b/keyboards/handwired/swiftrax/bebol/config.h
index 44345f81f5..0d35bd1abc 100644
--- a/keyboards/handwired/swiftrax/bebol/config.h
+++ b/keyboards/handwired/swiftrax/bebol/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAC4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Bebol
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/handwired/swiftrax/bebol/info.json b/keyboards/handwired/swiftrax/bebol/info.json
index 57c7938653..0f4ddd0d95 100644
--- a/keyboards/handwired/swiftrax/bebol/info.json
+++ b/keyboards/handwired/swiftrax/bebol/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bebol",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAC4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/handwired/swiftrax/beegboy/config.h b/keyboards/handwired/swiftrax/beegboy/config.h
index a211573b75..a6a6e12f1b 100644
--- a/keyboards/handwired/swiftrax/beegboy/config.h
+++ b/keyboards/handwired/swiftrax/beegboy/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAC5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Beegboy
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/handwired/swiftrax/beegboy/info.json b/keyboards/handwired/swiftrax/beegboy/info.json
index 78fb7ff64c..7e4d05a198 100644
--- a/keyboards/handwired/swiftrax/beegboy/info.json
+++ b/keyboards/handwired/swiftrax/beegboy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Beegboy",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAC5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/swiftrax/bumblebee/bumblebee.h b/keyboards/handwired/swiftrax/bumblebee/bumblebee.h
index 2d1fdf7a46..1ab4c00abc 100644
--- a/keyboards/handwired/swiftrax/bumblebee/bumblebee.h
+++ b/keyboards/handwired/swiftrax/bumblebee/bumblebee.h
@@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-#define KC_NO XXX
+#define XXX KC_NO
#include "quantum.h"
diff --git a/keyboards/handwired/swiftrax/bumblebee/config.h b/keyboards/handwired/swiftrax/bumblebee/config.h
index 89b51a762f..4d3d808a14 100644
--- a/keyboards/handwired/swiftrax/bumblebee/config.h
+++ b/keyboards/handwired/swiftrax/bumblebee/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE881
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT BumbleBee
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
diff --git a/keyboards/handwired/swiftrax/bumblebee/info.json b/keyboards/handwired/swiftrax/bumblebee/info.json
index 3d9a8730a6..c210e75c14 100644
--- a/keyboards/handwired/swiftrax/bumblebee/info.json
+++ b/keyboards/handwired/swiftrax/bumblebee/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BumbleBee",
+ "manufacturer": "Swiftrax",
"url": "https://www.github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE881",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1, "y":0, "w":1.5}, {"label":"0,1", "x":2.5, "y":0}, {"label":"1,1", "x":3.5, "y":0}, {"label":"0,2", "x":4.5, "y":0}, {"label":"1,2", "x":5.5, "y":0}, {"label":"0,3", "x":6.5, "y":0}, {"label":"1,3", "x":7.5, "y":0}, {"label":"0,4", "x":8.5, "y":0}, {"label":"1,4", "x":9.5, "y":0}, {"label":"0,5", "x":10.5, "y":0}, {"label":"1,5", "x":11.5, "y":0}, {"label":"0,6", "x":12.5, "y":0}, {"label":"1,6", "x":13.5, "y":0}, {"label":"0,7", "x":14.5, "y":0, "w":1.5}, {"label":"1,7", "x":16, "y":0}, {"label":"2,0", "x":0, "y":1}, {"label":"3,0", "x":1, "y":1, "w":1.75}, {"label":"2,1", "x":2.75, "y":1}, {"label":"3,1", "x":3.75, "y":1}, {"label":"2,2", "x":4.75, "y":1}, {"label":"3,2", "x":5.75, "y":1}, {"label":"2,3", "x":6.75, "y":1}, {"label":"3,3", "x":7.75, "y":1}, {"label":"2,4", "x":8.75, "y":1}, {"label":"3,4", "x":9.75, "y":1}, {"label":"2,5", "x":10.75, "y":1}, {"label":"3,5", "x":11.75, "y":1}, {"label":"2,6", "x":12.75, "y":1}, {"label":"3,6", "x":13.75, "y":1, "w":2.25}, {"label":"2,7", "x":16, "y":1}, {"label":"4,0", "x":0, "y":2}, {"label":"5,0", "x":1, "y":2, "w":2.25}, {"label":"4,1", "x":3.25, "y":2}, {"label":"5,1", "x":4.25, "y":2}, {"label":"4,2", "x":5.25, "y":2}, {"label":"5,2", "x":6.25, "y":2}, {"label":"4,3", "x":7.25, "y":2}, {"label":"5,3", "x":8.25, "y":2}, {"label":"4,4", "x":9.25, "y":2}, {"label":"5,4", "x":10.25, "y":2}, {"label":"4,5", "x":11.25, "y":2}, {"label":"5,5", "x":12.25, "y":2}, {"label":"4,6", "x":13.25, "y":2, "w":1.75}, {"label":"5,6", "x":15, "y":2}, {"label":"4,7", "x":16, "y":2}, {"label":"6,0", "x":0, "y":3}, {"label":"7,0", "x":1, "y":3, "w":1.5}, {"label":"6,2", "x":3.88, "y":3, "w":1.5}, {"label":"7,2", "x":5.38, "y":3, "w":2.75}, {"label":"6,3", "x":8.13, "y":3}, {"label":"7,4", "x":9.13, "y":3, "w":2}, {"label":"6,5", "x":11.13, "y":3, "w":1.5}, {"label":"6,6", "x":14, "y":3}, {"label":"7,6", "x":15, "y":3}, {"label":"6,7", "x":16, "y":3}]
diff --git a/keyboards/handwired/swiftrax/bumblebee/readme.md b/keyboards/handwired/swiftrax/bumblebee/readme.md
index 32091cb83b..343fb81bf8 100644
--- a/keyboards/handwired/swiftrax/bumblebee/readme.md
+++ b/keyboards/handwired/swiftrax/bumblebee/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/handwired/swiftrax/cowfish/config.h b/keyboards/handwired/swiftrax/cowfish/config.h
index 422807b758..c3e13a27fe 100644
--- a/keyboards/handwired/swiftrax/cowfish/config.h
+++ b/keyboards/handwired/swiftrax/cowfish/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB53
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT CowFish
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/handwired/swiftrax/cowfish/info.json b/keyboards/handwired/swiftrax/cowfish/info.json
index eb990e44a0..9dd2fde67d 100644
--- a/keyboards/handwired/swiftrax/cowfish/info.json
+++ b/keyboards/handwired/swiftrax/cowfish/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CowFish",
+ "manufacturer": "Swiftrax",
"url": "",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB53",
+ "device_version": "0.0.1"
+ },
"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.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":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":2.75}, {"x":16.25, "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, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/handwired/swiftrax/digicarp65/config.h b/keyboards/handwired/swiftrax/digicarp65/config.h
index 1f11e310d1..d5336ec447 100644
--- a/keyboards/handwired/swiftrax/digicarp65/config.h
+++ b/keyboards/handwired/swiftrax/digicarp65/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE7F1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT DigiCarp65
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/handwired/swiftrax/digicarp65/info.json b/keyboards/handwired/swiftrax/digicarp65/info.json
index 48a4d31368..73c2cf3415 100644
--- a/keyboards/handwired/swiftrax/digicarp65/info.json
+++ b/keyboards/handwired/swiftrax/digicarp65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "digicarp65",
+ "keyboard_name": "DigiCarp65",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE7F1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/handwired/swiftrax/digicarp65/readme.md b/keyboards/handwired/swiftrax/digicarp65/readme.md
index 619ec519f0..34e0c0b755 100644
--- a/keyboards/handwired/swiftrax/digicarp65/readme.md
+++ b/keyboards/handwired/swiftrax/digicarp65/readme.md
@@ -17,5 +17,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key)and plug in the keyboard
-* **Physical reset button**: Briefly short the pad on the back of the PCB labeled RESET
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Physical reset button**: Briefly short the pad on the back of the PCB labeled QK_BOOT
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/swiftrax/digicarpice/config.h b/keyboards/handwired/swiftrax/digicarpice/config.h
index 30e62655fb..5ec256abb8 100644
--- a/keyboards/handwired/swiftrax/digicarpice/config.h
+++ b/keyboards/handwired/swiftrax/digicarpice/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE79A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT DigiCarpice
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/handwired/swiftrax/digicarpice/info.json b/keyboards/handwired/swiftrax/digicarpice/info.json
index 762cc69af8..bbb62b101f 100644
--- a/keyboards/handwired/swiftrax/digicarpice/info.json
+++ b/keyboards/handwired/swiftrax/digicarpice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DigiCarpice",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE79A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_unified_bs": {
"layout": [
diff --git a/keyboards/handwired/swiftrax/digicarpice/readme.md b/keyboards/handwired/swiftrax/digicarpice/readme.md
index 228db23a7f..d9deec7dc7 100644
--- a/keyboards/handwired/swiftrax/digicarpice/readme.md
+++ b/keyboards/handwired/swiftrax/digicarpice/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
* **Physical reset button**: short the pads on the back of the pcb
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/handwired/swiftrax/equator/config.h b/keyboards/handwired/swiftrax/equator/config.h
index 325cdde3c7..fe3af92e45 100644
--- a/keyboards/handwired/swiftrax/equator/config.h
+++ b/keyboards/handwired/swiftrax/equator/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE984
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Equator
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/handwired/swiftrax/equator/info.json b/keyboards/handwired/swiftrax/equator/info.json
index fdcfc44afa..e648e452c7 100644
--- a/keyboards/handwired/swiftrax/equator/info.json
+++ b/keyboards/handwired/swiftrax/equator/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Equator",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE984",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_unified_bs_rshift": {
"layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "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":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "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":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
diff --git a/keyboards/handwired/swiftrax/glacier/config.h b/keyboards/handwired/swiftrax/glacier/config.h
index b8496d76a1..8d12cc6f60 100644
--- a/keyboards/handwired/swiftrax/glacier/config.h
+++ b/keyboards/handwired/swiftrax/glacier/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE890
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Digital Carpentry
-#define PRODUCT Glacier
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -48,4 +42,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* RGB */
#define RGB_DI_PIN B0
-#define RGBLED_NUM 12 \ No newline at end of file
+#define RGBLED_NUM 12
+#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_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/handwired/swiftrax/glacier/info.json b/keyboards/handwired/swiftrax/glacier/info.json
index f185e9f898..8e27f9cc44 100644
--- a/keyboards/handwired/swiftrax/glacier/info.json
+++ b/keyboards/handwired/swiftrax/glacier/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Glacier",
+ "manufacturer": "Digital Carpentry",
"url": "https://www.github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE890",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1.25, "y":0}, {"label":"0,1", "x":2.25, "y":0}, {"label":"1,1", "x":3.25, "y":0}, {"label":"0,2", "x":4.25, "y":0}, {"label":"1,2", "x":5.5, "y":0}, {"label":"0,3", "x":6.5, "y":0}, {"label":"1,3", "x":7.5, "y":0}, {"label":"0,4", "x":8.5, "y":0}, {"label":"1,4", "x":9.75, "y":0}, {"label":"0,5", "x":10.75, "y":0}, {"label":"1,5", "x":11.75, "y":0}, {"label":"0,6", "x":12.75, "y":0}, {"label":"1,6", "x":14, "y":0}, {"label":"0,7", "x":15.25, "y":0}, {"label":"1,7", "x":16.5, "y":0}, {"label":"0,8", "x":17.5, "y":0}, {"label":"1,8", "x":18.5, "y":0}, {"label":"0,9", "x":19.5, "y":0}, {"label":"2,0", "x":0, "y":1.25}, {"label":"3,0", "x":1, "y":1.25}, {"label":"2,1", "x":2, "y":1.25}, {"label":"3,1", "x":3, "y":1.25}, {"label":"2,2", "x":4, "y":1.25}, {"label":"3,2", "x":5, "y":1.25}, {"label":"2,3", "x":6, "y":1.25}, {"label":"3,3", "x":7, "y":1.25}, {"label":"2,4", "x":8, "y":1.25}, {"label":"3,4", "x":9, "y":1.25}, {"label":"2,5", "x":10, "y":1.25}, {"label":"3,5", "x":11, "y":1.25}, {"label":"2,6", "x":12, "y":1.25}, {"label":"3,6", "x":13, "y":1.25}, {"label":"7,8", "x":14, "y":1.25}, {"label":"2,7", "x":15.25, "y":1.25}, {"label":"3,7", "x":16.5, "y":1.25}, {"label":"2,8", "x":17.5, "y":1.25}, {"label":"3,8", "x":18.5, "y":1.25}, {"label":"2,9", "x":19.5, "y":1.25}, {"label":"4,0", "x":0, "y":2.25, "w":1.5}, {"label":"5,0", "x":1.5, "y":2.25}, {"label":"4,1", "x":2.5, "y":2.25}, {"label":"5,1", "x":3.5, "y":2.25}, {"label":"4,2", "x":4.5, "y":2.25}, {"label":"5,2", "x":5.5, "y":2.25}, {"label":"4,3", "x":6.5, "y":2.25}, {"label":"5,3", "x":7.5, "y":2.25}, {"label":"4,4", "x":8.5, "y":2.25}, {"label":"5,4", "x":9.5, "y":2.25}, {"label":"4,5", "x":10.5, "y":2.25}, {"label":"5,5", "x":11.5, "y":2.25}, {"label":"4,6", "x":12.5, "y":2.25}, {"label":"5,6", "x":13.5, "y":2.25, "w":1.5}, {"label":"4,7", "x":15.25, "y":2.25}, {"label":"5,7", "x":16.5, "y":2.25}, {"label":"4,8", "x":17.5, "y":2.25}, {"label":"5,8", "x":18.5, "y":2.25}, {"label":"4,9", "x":19.5, "y":2.25, "h":2}, {"label":"6,0", "x":0, "y":3.25, "w":1.75}, {"label":"7,0", "x":1.75, "y":3.25}, {"label":"6,1", "x":2.75, "y":3.25}, {"label":"7,1", "x":3.75, "y":3.25}, {"label":"6,2", "x":4.75, "y":3.25}, {"label":"7,2", "x":5.75, "y":3.25}, {"label":"6,3", "x":6.75, "y":3.25}, {"label":"7,3", "x":7.75, "y":3.25}, {"label":"6,4", "x":8.75, "y":3.25}, {"label":"7,4", "x":9.75, "y":3.25}, {"label":"6,5", "x":10.75, "y":3.25}, {"label":"7,5", "x":11.75, "y":3.25}, {"label":"6,6", "x":12.75, "y":3.25, "w":2.25}, {"label":"6,7", "x":16.5, "y":3.25}, {"label":"7,7", "x":17.5, "y":3.25}, {"label":"6,8", "x":18.5, "y":3.25}, {"label":"8,0", "x":0, "y":4.25, "w":2.25}, {"label":"9,0", "x":2.25, "y":4.25}, {"label":"8,1", "x":3.25, "y":4.25}, {"label":"9,1", "x":4.25, "y":4.25}, {"label":"8,2", "x":5.25, "y":4.25}, {"label":"9,2", "x":6.25, "y":4.25}, {"label":"8,3", "x":7.25, "y":4.25}, {"label":"9,3", "x":8.25, "y":4.25}, {"label":"8,4", "x":9.25, "y":4.25}, {"label":"9,4", "x":10.25, "y":4.25}, {"label":"8,5", "x":11.25, "y":4.25}, {"label":"9,5", "x":12.25, "y":4.25, "w":1.75}, {"label":"9,6", "x":16.5, "y":4.25}, {"label":"8,7", "x":17.5, "y":4.25}, {"label":"9,7", "x":18.5, "y":4.25}, {"label":"8,8", "x":19.5, "y":4.25, "h":2}, {"label":"8,6", "x":14.25, "y":4.5}, {"label":"10,0", "x":0, "y":5.25, "w":1.25}, {"label":"11,0", "x":1.25, "y":5.25, "w":1.25}, {"label":"10,1", "x":2.5, "y":5.25, "w":1.25}, {"label":"11,3", "x":3.75, "y":5.25, "w":6.25}, {"label":"10,4", "x":10, "y":5.25, "w":1.5}, {"label":"11,4", "x":11.5, "y":5.25, "w":1.5}, {"label":"11,6", "x":16.5, "y":5.25, "w":2}, {"label":"10,7", "x":18.5, "y":5.25}, {"label":"10,5", "x":13.25, "y":5.5}, {"label":"11,5", "x":14.25, "y":5.5}, {"label":"10,6", "x":15.25, "y":5.5}]
diff --git a/keyboards/handwired/swiftrax/glacier/readme.md b/keyboards/handwired/swiftrax/glacier/readme.md
index 36588e000e..e09c179ae9 100644
--- a/keyboards/handwired/swiftrax/glacier/readme.md
+++ b/keyboards/handwired/swiftrax/glacier/readme.md
@@ -9,7 +9,7 @@
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
- * **Keycode in layout**: Press the key mapped to `RESET` if it is available
+ * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for flashing this keyboard (after setting up your build environment):
diff --git a/keyboards/handwired/swiftrax/joypad/config.h b/keyboards/handwired/swiftrax/joypad/config.h
index da326086bf..8aca892618 100644
--- a/keyboards/handwired/swiftrax/joypad/config.h
+++ b/keyboards/handwired/swiftrax/joypad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA68
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Joypad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/handwired/swiftrax/joypad/info.json b/keyboards/handwired/swiftrax/joypad/info.json
index c3a4d98c5d..5916bb705d 100644
--- a/keyboards/handwired/swiftrax/joypad/info.json
+++ b/keyboards/handwired/swiftrax/joypad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Joypad",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA68",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":3, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25}, {"x":0, "y":5.25}, {"x":1, "y":5.25}, {"x":2, "y":5.25}, {"x":3, "y":5.25}]
diff --git a/keyboards/handwired/swiftrax/koalafications/config.h b/keyboards/handwired/swiftrax/koalafications/config.h
index 6da0b308d5..05e30ec982 100644
--- a/keyboards/handwired/swiftrax/koalafications/config.h
+++ b/keyboards/handwired/swiftrax/koalafications/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA44
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Koalafications
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/handwired/swiftrax/koalafications/info.json b/keyboards/handwired/swiftrax/koalafications/info.json
index 99bd6828e6..35a8f73e39 100644
--- a/keyboards/handwired/swiftrax/koalafications/info.json
+++ b/keyboards/handwired/swiftrax/koalafications/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Koalafications",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA44",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,A", "x":10.75, "y":0}, {"label":"0,B", "x":11.75, "y":0}, {"label":"0,C", "x":12.75, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,A", "x":10, "y":1.25}, {"label":"1,B", "x":11, "y":1.25}, {"label":"1,C", "x":12, "y":1.25}, {"label":"1,D", "x":13, "y":1.25}, {"label":"3,D", "x":14, "y":1.25}, {"label":"1,E", "x":15, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,A", "x":10.5, "y":2.25}, {"label":"2,B", "x":11.5, "y":2.25}, {"label":"2,C", "x":12.5, "y":2.25}, {"label":"2,D", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,E", "x":15, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,A", "x":10.75, "y":3.25}, {"label":"3,B", "x":11.75, "y":3.25}, {"label":"3,C", "x":12.75, "y":3.25, "w":2.25}, {"label":"3,E", "x":15, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,1", "x":2.25, "y":4.25}, {"label":"4,2", "x":3.25, "y":4.25}, {"label":"4,3", "x":4.25, "y":4.25}, {"label":"4,4", "x":5.25, "y":4.25}, {"label":"4,5", "x":6.25, "y":4.25}, {"label":"4,6", "x":7.25, "y":4.25}, {"label":"4,7", "x":8.25, "y":4.25}, {"label":"4,8", "x":9.25, "y":4.25}, {"label":"4,9", "x":10.25, "y":4.25}, {"label":"4,A", "x":11.25, "y":4.25}, {"label":"4,B", "x":12.25, "y":4.25, "w":1.75}, {"label":"4,C", "x":14, "y":4.25}, {"label":"4,E", "x":15, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,8", "x":10, "y":5.25}, {"label":"5,9", "x":11, "y":5.25}, {"label":"5,A", "x":12, "y":5.25}, {"label":"5,B", "x":13, "y":5.25}, {"label":"5,C", "x":14, "y":5.25}, {"label":"5,E", "x":15, "y":5.25}]
diff --git a/keyboards/handwired/swiftrax/nodu/config.h b/keyboards/handwired/swiftrax/nodu/config.h
index 9de601784d..485ba97b46 100644
--- a/keyboards/handwired/swiftrax/nodu/config.h
+++ b/keyboards/handwired/swiftrax/nodu/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA6E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Nodu
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/handwired/swiftrax/nodu/info.json b/keyboards/handwired/swiftrax/nodu/info.json
index 8fc83c196d..40d0073fa7 100644
--- a/keyboards/handwired/swiftrax/nodu/info.json
+++ b/keyboards/handwired/swiftrax/nodu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nodu",
+ "manufacturer": "Swiftrax",
"url": "github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA6E",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi_split_bs_rshift"
},
diff --git a/keyboards/handwired/swiftrax/pandamic/config.h b/keyboards/handwired/swiftrax/pandamic/config.h
index 0916bbf1c7..9c5757f9c6 100644
--- a/keyboards/handwired/swiftrax/pandamic/config.h
+++ b/keyboards/handwired/swiftrax/pandamic/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB0E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Pandamic
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
diff --git a/keyboards/handwired/swiftrax/pandamic/info.json b/keyboards/handwired/swiftrax/pandamic/info.json
index 230786008b..59008905dc 100644
--- a/keyboards/handwired/swiftrax/pandamic/info.json
+++ b/keyboards/handwired/swiftrax/pandamic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pandamic",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB0E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "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":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":18.25, "y":0}, {"x":19.75, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1, "h":2}, {"x":4.25, "y":1, "w":1.5}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.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}, {"x":17.75, "y":1, "w":1.5}, {"x":19.75, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":4.25, "y":2, "w":1.75}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "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":15, "y":2}, {"x":16, "y":2}, {"x":17, "y":2, "w":2.25}, {"x":19.75, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "h":2}, {"x":4.25, "y":3, "w":1.25}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.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}, {"x":16.5, "y":3, "w":1.75}, {"x":18.5, "y":3.25}, {"x":19.75, "y":3}, {"x":0, "y":4, "w":2}, {"x":2, "y":4}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4, "w":1.25}, {"x":6.75, "y":4, "w":1.25}, {"x":8, "y":4, "w":6.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}, {"x":17.5, "y":4.25}, {"x":18.5, "y":4.25}, {"x":19.5, "y":4.25}]
diff --git a/keyboards/handwired/swiftrax/the_galleon/config.h b/keyboards/handwired/swiftrax/the_galleon/config.h
index b37861c964..c20624f68a 100644
--- a/keyboards/handwired/swiftrax/the_galleon/config.h
+++ b/keyboards/handwired/swiftrax/the_galleon/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA2D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT The Galleon
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 9
diff --git a/keyboards/handwired/swiftrax/the_galleon/info.json b/keyboards/handwired/swiftrax/the_galleon/info.json
index 7f93b9c98c..52a62f2620 100644
--- a/keyboards/handwired/swiftrax/the_galleon/info.json
+++ b/keyboards/handwired/swiftrax/the_galleon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Galleon",
+ "manufacturer": "Swiftrax",
"url": "github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA2D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/handwired/swiftrax/unsplit/config.h b/keyboards/handwired/swiftrax/unsplit/config.h
index 95fdab280e..8d1cb90179 100644
--- a/keyboards/handwired/swiftrax/unsplit/config.h
+++ b/keyboards/handwired/swiftrax/unsplit/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAB1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT UnSplit
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/swiftrax/unsplit/info.json b/keyboards/handwired/swiftrax/unsplit/info.json
index a0aee45157..9f39a2857b 100644
--- a/keyboards/handwired/swiftrax/unsplit/info.json
+++ b/keyboards/handwired/swiftrax/unsplit/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UnSplit",
+ "manufacturer": "Swiftrax",
"url": "github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAB1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":3, "y":0.25}, {"x":13, "y":0.25}, {"x":2, "y":0.5}, {"x":4, "y":0.5}, {"x":12, "y":0.5}, {"x":14, "y":0.5}, {"x":5, "y":0.625}, {"x":11, "y":0.625}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":3, "y":1.25}, {"x":13, "y":1.25}, {"x":2, "y":1.5}, {"x":4, "y":1.5}, {"x":12, "y":1.5}, {"x":14, "y":1.5}, {"x":5, "y":1.625}, {"x":11, "y":1.625}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":3, "y":2.25}, {"x":13, "y":2.25}, {"x":2, "y":2.5}, {"x":4, "y":2.5}, {"x":12, "y":2.5}, {"x":14, "y":2.5}, {"x":5, "y":2.625}, {"x":11, "y":2.625}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":15, "y":3}, {"x":16, "y":3}, {"x":2.5, "y":3.5}, {"x":13.5, "y":3.5}, {"x":3.5, "y":3.5}, {"x":12.5, "y":3.5}, {"x":4.5, "y":3.75}, {"x":11.5, "y":3.75}, {"x":5.5, "y":4}, {"x":10.5, "y":4}]
diff --git a/keyboards/handwired/swiftrax/walter/config.h b/keyboards/handwired/swiftrax/walter/config.h
index 8cf2d0d833..9797563edd 100644
--- a/keyboards/handwired/swiftrax/walter/config.h
+++ b/keyboards/handwired/swiftrax/walter/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE964
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Walter
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/handwired/swiftrax/walter/info.json b/keyboards/handwired/swiftrax/walter/info.json
index e811bc51be..72f3ce4f40 100644
--- a/keyboards/handwired/swiftrax/walter/info.json
+++ b/keyboards/handwired/swiftrax/walter/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "walter",
+ "keyboard_name": "Walter",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE964",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/handwired/symmetric70_proto/info.json b/keyboards/handwired/symmetric70_proto/info.json
index 6c70b9d963..36828784c4 100644
--- a/keyboards/handwired/symmetric70_proto/info.json
+++ b/keyboards/handwired/symmetric70_proto/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "symmetric70_proto",
+ "manufacturer": "mtei",
"url": "",
"maintainer": "mtei",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2BE5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/symmetric70_proto/promicro/config.h b/keyboards/handwired/symmetric70_proto/promicro/config.h
index 570de7039d..48ef0cbdb5 100644
--- a/keyboards/handwired/symmetric70_proto/promicro/config.h
+++ b/keyboards/handwired/symmetric70_proto/promicro/config.h
@@ -19,13 +19,6 @@ 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 0x2BE5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mtei
-#define PRODUCT Symmetric70 prototype promicro
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -48,7 +41,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+-----------------+
***************************************/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/symmetric70_proto/promicro/info.json b/keyboards/handwired/symmetric70_proto/promicro/info.json
new file mode 100644
index 0000000000..8ee579cd60
--- /dev/null
+++ b/keyboards/handwired/symmetric70_proto/promicro/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Symmetric70 prototype promicro"
+}
diff --git a/keyboards/handwired/symmetric70_proto/proton_c/config.h b/keyboards/handwired/symmetric70_proto/proton_c/config.h
index 92716a21f6..040575ef55 100644
--- a/keyboards/handwired/symmetric70_proto/proton_c/config.h
+++ b/keyboards/handwired/symmetric70_proto/proton_c/config.h
@@ -19,13 +19,6 @@ 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 0x2BE5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mtei
-#define PRODUCT Symmetric70 prototype proton-c
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -56,7 +49,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+-----------------+
***************************************/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/symmetric70_proto/proton_c/info.json b/keyboards/handwired/symmetric70_proto/proton_c/info.json
new file mode 100644
index 0000000000..a105f39be6
--- /dev/null
+++ b/keyboards/handwired/symmetric70_proto/proton_c/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Symmetric70 prototype proton-c"
+}
diff --git a/keyboards/handwired/symmetry60/config.h b/keyboards/handwired/symmetry60/config.h
index d3b1f18411..17ea91745b 100644
--- a/keyboards/handwired/symmetry60/config.h
+++ b/keyboards/handwired/symmetry60/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Marhalloweenvt
-#define PRODUCT Symmetry60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B6, B5, B4, D7, D6, D4, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/symmetry60/info.json b/keyboards/handwired/symmetry60/info.json
index 5202c61438..e585e367a8 100644
--- a/keyboards/handwired/symmetry60/info.json
+++ b/keyboards/handwired/symmetry60/info.json
@@ -1,7 +1,13 @@
{
"Keyboard_name": "Symmetry60",
+ "manufacturer": "Marhalloweenvt",
"url": "",
"maintainer": "marhalloweenvt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x14": {
"layout": [
diff --git a/keyboards/handwired/t111/config.h b/keyboards/handwired/t111/config.h
index 04c1ece0e5..691bc7d121 100644
--- a/keyboards/handwired/t111/config.h
+++ b/keyboards/handwired/t111/config.h
@@ -19,13 +19,6 @@ 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 0x6FAA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER FUJITSU
-#define PRODUCT T111
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 14
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { B15, B11, B10, B1, B0, A10, A9, A7, A6, A5, A4, A8, B13, B14 }
/* 0 1 2 3 4 5 6 7 8 9 A B C D*/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/handwired/t111/info.json b/keyboards/handwired/t111/info.json
index e02373fff5..ff231bb66a 100644
--- a/keyboards/handwired/t111/info.json
+++ b/keyboards/handwired/t111/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "t111",
+ "keyboard_name": "T111",
+ "manufacturer": "FUJITSU",
"url": "",
"maintainer": "DmNosachev",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6FAA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Break", "x":0, "y":0}, {"label":"PF1", "x":2, "y":0}, {"label":"PF2", "x":3, "y":0}, {"label":"PF3", "x":4, "y":0}, {"label":"PF4", "x":5, "y":0}, {"label":"PF5", "x":6, "y":0}, {"label":"PF6", "x":7, "y":0}, {"label":"PF7", "x":8, "y":0}, {"label":"PF8", "x":9, "y":0}, {"label":"PF9", "x":10, "y":0}, {"label":"PF10", "x":11, "y":0}, {"label":"PF11", "x":12, "y":0}, {"label":"PF12", "x":13, "y":0}, {"label":"PF13", "x":14, "y":0}, {"label":"PF14", "x":15, "y":0}, {"label":"PF15", "x":16, "y":0}, {"label":"PF16", "x":17, "y":0}, {"label":"Esc", "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":"~", "x":13, "y":1.5}, {"label":"bkspc", "x":14, "y":1.5, "w":1.25}, {"label":"Ins", "x":15.5, "y":1.5}, {"label":"Cls", "x":16.5, "y":1.5}, {"label":"*", "x":17.75, "y":1.5}, {"label":"/", "x":18.75, "y":1.5}, {"label":"+", "x":19.75, "y":1.5}, {"label":"-", "x":20.75, "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":"El", "x":15.5, "y":2.5}, {"label":"Dup", "x":16.5, "y":2.5}, {"label":"7", "x":17.75, "y":2.5}, {"label":"8", "x":18.75, "y":2.5}, {"label":"9", "x":19.75, "y":2.5}, {"label":"=", "x":20.75, "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.5, "h":2}, {"label":"Del", "x":15.5, "y":3.5}, {"label":"Home", "x":16.5, "y":3.5}, {"label":"4", "x":17.75, "y":3.5}, {"label":"5", "x":18.75, "y":3.5}, {"label":"6", "x":19.75, "y":3.5}, {"label":",", "x":20.75, "y":3.5}, {"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}, {"x":12.25, "y":4.5}, {"label":"Shift", "x":13.25, "y":4.5, "w":2}, {"label":"\u0432\u2020\u2018", "x":15.5, "y":4.5}, {"label":"\u0432\u2020\u201c", "x":16.5, "y":4.5}, {"label":"1", "x":17.75, "y":4.5}, {"label":"2", "x":18.75, "y":4.5}, {"label":"3", "x":19.75, "y":4.5}, {"label":"Enter", "x":20.75, "y":4.5, "h":2}, {"label":"Caps", "x":1.75, "y":5.5}, {"label":"Graph", "x":2.75, "y":5.5, "w":1.5}, {"x":4.25, "y":5.5, "w":8}, {"label":"Alt", "x":12.25, "y":5.5, "w":1.5}, {"label":"\u0432\u2020\u0452", "x":15.5, "y":5.5}, {"label":"\u0432\u2020\u2019", "x":16.5, "y":5.5}, {"label":"0", "x":17.75, "y":5.5, "w":2}, {"label":".", "x":19.75, "y":5.5}]
diff --git a/keyboards/handwired/tennie/config.h b/keyboards/handwired/tennie/config.h
index e74b9f2aee..e59f7efbe1 100644
--- a/keyboards/handwired/tennie/config.h
+++ b/keyboards/handwired/tennie/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1EEE
-#define PRODUCT_ID 0x1313
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jsck
-#define PRODUCT Tennie
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D4, D0}
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS { B1, B2, B3, B6, F4, F5, F6, F7, D1}
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/tennie/info.json b/keyboards/handwired/tennie/info.json
index 6db07eafee..4a810d84d9 100644
--- a/keyboards/handwired/tennie/info.json
+++ b/keyboards/handwired/tennie/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tennie",
+ "manufacturer": "Jsck",
"url": "https://github.com/StoutIEEE/macropad-workshop",
"maintainer": "UW Stout IEEE, Jack Hildebrandt (onemorebyte)",
+ "usb": {
+ "vid": "0x1EEE",
+ "pid": "0x1313",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}]
diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h
index 94c182eb4a..4dec0f1341 100644
--- a/keyboards/handwired/terminus_mini/config.h
+++ b/keyboards/handwired/terminus_mini/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER James Morgan
-#define PRODUCT terminus_mini
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, D7, D6 }
#define MATRIX_COL_PINS { B0, D0, D5, B6, D4, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/terminus_mini/info.json b/keyboards/handwired/terminus_mini/info.json
index b3e4491b0f..79cbe720a3 100644
--- a/keyboards/handwired/terminus_mini/info.json
+++ b/keyboards/handwired/terminus_mini/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "handwired/terminus_mini",
+ "keyboard_name": "Terminus Mini",
+ "manufacturer": "James Morgan",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
index 8062aa711f..8d0631072f 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
@@ -193,7 +193,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, QK_BOOT, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h
index cf8b5605f4..a4b468faef 100644
--- a/keyboards/handwired/trackpoint/config.h
+++ b/keyboards/handwired/trackpoint/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT TRACKPOINT-DEMO
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -49,7 +43,6 @@
#define MATRIX_COL_PINS { F1, F4, F5 }
#define MATRIX_ROW_PINS { F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/trackpoint/info.json b/keyboards/handwired/trackpoint/info.json
index 176a30e9a0..3f2d1f2290 100644
--- a/keyboards/handwired/trackpoint/info.json
+++ b/keyboards/handwired/trackpoint/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Trackpoint",
+ "keyboard_name": "Trackpoint Demo",
+ "manufacturer": "QMK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1234",
+ "pid": "0x5678",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
index ab46bc5276..0e15056baf 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -20,10 +20,6 @@ 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 Tractyl Manuform(4x6)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -85,7 +81,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-/* PMW3360 Settings */
-#define PMW3360_CS_PIN B0
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
#define POINTING_DEVICE_RIGHT
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
index e3da8b444c..62b61072ec 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/info.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
@@ -1,9 +1,13 @@
{
- "keyboard_name": "Tractyl Manuform 4x6",
+ "keyboard_name": "Tractyl Manuform (4x6)",
"url": "",
"maintainer": "drashna",
+ "usb": {
+ "pid": "0x3537",
+ "device_version": "0.0.1"
+ },
"layouts": {
- "LAYOUT_5x6_right": {
+ "LAYOUT_4x6_right": {
"layout": [
{"label":"L00", "x":0, "y":0},
{"label":"L01", "x":1, "y":0},
@@ -41,32 +45,20 @@
{"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}
+ {"label":"L34", "x":4, "y":4},
+ {"label":"L35", "x":5, "y":4},
+ {"label":"R31", "x":12, "y":4},
+ {"label":"L44", "x":6, "y":5},
+ {"label":"L45", "x":7, "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}
]
}
}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
index fc5037ae9d..53a2b41e06 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
@@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0001
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h
index d8d36e824c..402f0c99e5 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT Tractyl Manuform(5x6) Elite C
-
// wiring of each half
#define MATRIX_COL_PINS \
{ D4, D7, E6, B4, B5, B7 }
@@ -47,5 +45,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B \
{ C7 }
-/* PMW3360 Settings */
-#define PMW3360_CS_PIN B6
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B6
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json
new file mode 100644
index 0000000000..b3cb5928de
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Tractyl Manuform (5x6) Elite-C"
+}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
index f9a44587b0..f3f3fb7e22 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
@@ -18,16 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT Tractyl Manuform(5x6) Proton C
-
// wiring of each half
#define MATRIX_COL_PINS \
{ B0, B1, B2, B3, B4, B5 }
#define MATRIX_ROW_PINS \
{ B10, B11, B12, A14, A13, A15 }
-
-#define UNUSED_PINS \
- { A0, A2, A7, A8 }
// B2 used for BOOT1, has internal pull down?
// A9 has internal pull-down
// A11 and A12 are used for USB sense. DO NOT USE.
@@ -99,6 +94,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define DEBUG_EEPROM_OUTPUT
/* pmw3360 config */
-#define PMW3360_CS_PIN B9
-#define PMW3360_SPI_MODE 3
-#define PMW3360_SPI_DIVISOR 8
+#define PMW33XX_CS_PIN B9
+#define PMW33XX_SPI_DIVISOR 8
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json
new file mode 100644
index 0000000000..d88708d17d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Tractyl Manuform (5x6) Proton-C"
+}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
index 5f0350810c..f7e9cfb7d6 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
@@ -18,17 +18,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT Tractyl Manuform(5x6) BlackPill
-
// wiring of each half
#define MATRIX_COL_PINS \
{ A15, B3, B4, B5, B6, B7 }
#define MATRIX_ROW_PINS \
{ B12, B13, B14, B15, A8, A10 }
-#define UNUSED_PINS \
- { C15 }
-
#define DIODE_DIRECTION COL2ROW
// #define USB_VBUS_PIN B10 // doesn't seem to work for me on one of my controllers... */
@@ -80,7 +75,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define I2C1_SCL_PAL_MODE 4
#define I2C1_SDA_PAL_MODE 4
#define I2C1_CLOCK_SPEED 400000
-#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
/* encoder config */
#define ENCODERS_PAD_A \
@@ -102,7 +97,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
/* pmw3360 config */
-#define PMW3360_CS_PIN B0
-#define PMW3360_SPI_MODE 3
-#define PMW3360_SPI_DIVISOR 64
-#define PMW3360_FIRMWARE_UPLOAD_FAST
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
index 990b835843..09f1b57008 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
@@ -24,7 +24,7 @@ void matrix_scan_sub_kb(void) {
}
}
-void bootmagic_lite(void) {
+__attribute__((weak)) void bootmagic_lite(void) {
// We need multiple scans because debouncing can't be turned off.
matrix_scan();
#if defined(DEBOUNCE) && DEBOUNCE > 0
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json
new file mode 100644
index 0000000000..7466004165
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Tractyl Manuform (5x6) BlackPill"
+}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
index f732295ba3..6b98bdc9b9 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
@@ -35,4 +35,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top right key on the right side, or the top left key on the left side while plugging in.
* **Physical reset button**: Briefly press the "USER" button on the BlackPill
-* **Keycode in layout**: Press the key mapped to `RESET`.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`.
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
index 0a4fbee0e5..dcbcc7ee7e 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
index 81a308fd21..5000486242 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/info.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
@@ -1,6 +1,9 @@
{
- "keyboard_name": "Tractyl Manuform 5x6",
"url": "",
+ "usb": {
+ "pid": "0x3536",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_5x6_right": {
"layout": [
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
index 31539062b3..f159a69174 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
@@ -29,7 +29,8 @@
#define ENCODER_DEFAULT_POS 0x3
-#define SECURE_UNLOCK_SEQUENCE \
- { \
- { 2, 1 }, { 2, 2 }, { 2, 3 }, { 2, 4 } \
- }
+
+#define BOOTMAGIC_LITE_EEPROM_ROW 1
+#define BOOTMAGIC_LITE_EEPROM_COLUMN 0
+#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 7
+#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 5
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index 223649e8bf..1a46317a42 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -59,16 +59,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_MOUSE] = LAYOUT_5x6_right(
- _______, _______, _______, _______, _______, _______, DRGSCRL, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG,
- _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING,
- _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
- _______, _______, _______, _______,
- _______, _______, KC_BTN3,
- _______, _______, _______,
- _______, _______, _______, _______
- ),
[_GAMEPAD] = LAYOUT_5x6_right(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
@@ -99,6 +89,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, _______, _______,
KC_LCTL, KC_V, _______, _______
),
+ [_MOUSE] = LAYOUT_5x6_right(
+ _______, _______, _______, _______, _______, _______, DRGSCRL, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG,
+ _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING,
+ _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, KC_BTN3,
+ _______, _______, _______,
+ _______, _______, _______, _______
+ ),
[_LOWER] = LAYOUT_5x6_right_wrapper(
KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11,
_______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______,
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h
index 442d474920..735fe96f0f 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT Tractyl Manuform(5x6) Teensy 2.0 ++
-
// wiring of each half
#define MATRIX_COL_PINS \
{ C0, C1, C2, C3, C4, C5 }
@@ -51,5 +49,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B \
{ D4 }
-/* PMW3360 Settings */
-#define PMW3360_CS_PIN B0
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json
new file mode 100644
index 0000000000..dfdbc435bc
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Tractyl Manuform (5x6) Teensy 2.0++"
+}
diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h
index 845125c5cd..6f62685f4e 100644
--- a/keyboards/handwired/tractyl_manuform/config.h
+++ b/keyboards/handwired/tractyl_manuform/config.h
@@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x44DD
-
/* disable debug print */
// #define NO_DEBUG
diff --git a/keyboards/handwired/tractyl_manuform/info.json b/keyboards/handwired/tractyl_manuform/info.json
index 7214e6773b..c84d008e15 100644
--- a/keyboards/handwired/tractyl_manuform/info.json
+++ b/keyboards/handwired/tractyl_manuform/info.json
@@ -1,4 +1,7 @@
{
"manufacturer": "QMK Community",
- "maintainer": "Drashna Jael're"
+ "maintainer": "Drashna Jael're",
+ "usb": {
+ "vid": "0x44DD"
+ }
}
diff --git a/keyboards/handwired/tractyl_manuform/readme.md b/keyboards/handwired/tractyl_manuform/readme.md
index e78fd2ee06..576a7cc74e 100644
--- a/keyboards/handwired/tractyl_manuform/readme.md
+++ b/keyboards/handwired/tractyl_manuform/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
index 0ae49b6397..d3e2e02975 100644
--- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
@@ -159,10 +159,8 @@ void charybdis_set_pointer_dragscroll_enabled(bool enable) {
maybe_update_pointing_device_cpi(&g_charybdis_config);
}
-void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_charybdis_config); }
-
# ifndef CONSTRAIN_HID
-# define CONSTRAIN_HID(value) ((value) < -127 ? -127 : ((value) > 127 ? 127 : (value)))
+# define CONSTRAIN_HID(value) ((value) < XY_REPORT_MIN ? XY_REPORT_MIN : ((value) > XY_REPORT_MAX ? XY_REPORT_MAX : (value)))
# endif // !CONSTRAIN_HID
/**
@@ -249,17 +247,17 @@ static bool has_shift_mod(void) {
*/
__attribute__((unused)) static void debug_charybdis_config_to_console(charybdis_config_t* config) {
# ifdef CONSOLE_ENABLE
- dprintf("(charybdis) process_record_kb: config = {\n"
- "\traw = 0x%04X,\n"
- "\t{\n"
- "\t\tis_dragscroll_enabled=%b\n"
- "\t\tis_sniping_enabled=%b\n"
- "\t\tdefault_dpi=0x%02X (%ld)\n"
- "\t\tsniping_dpi=0x%01X (%ld)\n"
- "\t}\n"
- "}\n",
- config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config));
-# endif // CONSOLE_ENABLE
+ IGNORE_FORMAT_WARNING(dprintf("(charybdis) process_record_kb: config = {\n"
+ "\traw = 0x%04X,\n"
+ "\t{\n"
+ "\t\tis_dragscroll_enabled=%b\n"
+ "\t\tis_sniping_enabled=%b\n"
+ "\t\tdefault_dpi=0x%02X (%ld)\n"
+ "\t\tsniping_dpi=0x%01X (%ld)\n"
+ "\t}\n"
+ "}\n",
+ config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config)));
+# endif // CONSOLE_ENABLE
}
bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
@@ -339,6 +337,7 @@ void charybdis_config_sync_handler(uint8_t initiator2target_buffer_size, const v
}
void keyboard_post_init_kb(void) {
+ maybe_update_pointing_device_cpi(&g_charybdis_config);
transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, charybdis_config_sync_handler);
keyboard_post_init_user();
diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h
index 815ec7fdd5..82de3bc0ba 100644
--- a/keyboards/handwired/traveller/config.h
+++ b/keyboards/handwired/traveller/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT traveller
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D3, D2 }
#define MATRIX_COL_PINS { B5, D6, B7, B6, F6, B1, B3, F7, B4, E6, D7, C6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json
index 2a59527b89..143bf50b91 100644
--- a/keyboards/handwired/traveller/info.json
+++ b/keyboards/handwired/traveller/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Traveller",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c
index 288acbe108..2cd57db35f 100644
--- a/keyboards/handwired/traveller/keymaps/default/keymap.c
+++ b/keyboards/handwired/traveller/keymaps/default/keymap.c
@@ -219,7 +219,7 @@ void LayerLEDSet(uint8_t layr) {
uint8_t old_layer = _QW;
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (old_layer != layer) {
LayerLEDSet(layer);
diff --git a/keyboards/handwired/tritium_numpad/config.h b/keyboards/handwired/tritium_numpad/config.h
index ef835ad2aa..7fee66e04f 100644
--- a/keyboards/handwired/tritium_numpad/config.h
+++ b/keyboards/handwired/tritium_numpad/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Handwired
-#define PRODUCT Tritium Numpad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F6, B1, B2 }
-#define UNUSED_PINS
#define LED_NUM_LOCK_PIN D5
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/handwired/tritium_numpad/info.json b/keyboards/handwired/tritium_numpad/info.json
index d7190c197e..1a2f22a835 100644
--- a/keyboards/handwired/tritium_numpad/info.json
+++ b/keyboards/handwired/tritium_numpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Tritium_numpad",
+ "keyboard_name": "Tritium Numpad",
+ "manufacturer": "Handwired",
"url": "https://www.thingiverse.com/thing:2855938",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k23", "x":3, "y":2, "h":2}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k50", "x":0, "y":5, "w":2}, {"label":"k52", "x":2, "y":5}, {"label":"k43", "x":3, "y":4, "h":2}]
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
index b618675295..50bbf232b5 100644
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
+++ b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
@@ -9,7 +9,7 @@ void keyboard_pre_init_user(void)
layer_state_t layer_state_set_user(layer_state_t state)
{
// Switch layer LED accordingly
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case 0:
writePinHigh(B0);
break;
diff --git a/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c
index bba5c43bbb..9f1f8b014b 100644
--- a/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c
+++ b/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_ortho_6x4(
KC_ESC, KC_TAB, KC_BSPC, KC_PEQL,
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, RESET,
+ KC_P7, KC_P8, KC_P9, QK_BOOT,
KC_P4, KC_P5, KC_P6, KC_PENT,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
diff --git a/keyboards/handwired/twadlee/tp69/config.h b/keyboards/handwired/twadlee/tp69/config.h
index f16444c119..dd69394916 100644
--- a/keyboards/handwired/twadlee/tp69/config.h
+++ b/keyboards/handwired/twadlee/tp69/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xCACA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Tracy Wadleigh
-#define PRODUCT tp69
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B2, B1, B0, C0, D1, D0, D3, D4, D2, C3 }
/* 20 21 18 0 1 3 4 5 */
#define MATRIX_COL_PINS { D5, D6, A4, B16, B17, A1, A2, D7 }
-#define UNUSED_PINS
/* for trackpoint: C1 (22) C2 (23) */
diff --git a/keyboards/handwired/twadlee/tp69/info.json b/keyboards/handwired/twadlee/tp69/info.json
index f51059014a..3669be349f 100644
--- a/keyboards/handwired/twadlee/tp69/info.json
+++ b/keyboards/handwired/twadlee/tp69/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Twadlee TP69",
+ "keyboard_name": "TP69",
+ "manufacturer": "Tracy Wadleigh",
"url": "https://github.com/twadleigh/qmk_firmware",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xCACA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1}, {"x":14.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3}, {"x":13.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2}, {"x":5.75, "y":4}, {"x":6.75, "y":4}, {"x":7.75, "y":4}, {"x":8.75, "y":4, "w":2.25}, {"x":11, "y":4, "w":1.25}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4, "w":1.25}, {"x":14.75, "y":4, "w":1.25}]
diff --git a/keyboards/handwired/unicomp_mini_m/config.h b/keyboards/handwired/unicomp_mini_m/config.h
index 41676ec805..77e2d1c7ea 100644
--- a/keyboards/handwired/unicomp_mini_m/config.h
+++ b/keyboards/handwired/unicomp_mini_m/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER stevendlander
-#define PRODUCT Unicomp Mini M
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2, F1, F0, E6, E7, B0, B1 }
#define MATRIX_COL_PINS { C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, B7, D5, D4, D3, D2 }
-#define UNUSED_PINS
#define LED_PIN_ON_STATE 0
#define LED_NUM_LOCK_PIN B6
diff --git a/keyboards/handwired/unicomp_mini_m/info.json b/keyboards/handwired/unicomp_mini_m/info.json
index d1a0558aa2..ea2ab10b1b 100644
--- a/keyboards/handwired/unicomp_mini_m/info.json
+++ b/keyboards/handwired/unicomp_mini_m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Unicomp Mini M",
- "maintainer": "stevendlander",
+ "manufacturer": "stevendlander",
"url": "",
+ "maintainer": "stevendlander",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/unk/info.json b/keyboards/handwired/unk/info.json
deleted file mode 100644
index f3445a3859..0000000000
--- a/keyboards/handwired/unk/info.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "keyboard_name": "UNK",
- "url": "https://github.com/herpiko/unk",
- "maintainer": "herpiko",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x": 0, "y": 0},
- {"x": 1, "y": 0},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0},
- {"x": 4, "y": 0},
- {"x": 5, "y": 0},
- {"x": 6, "y": 0},
- {"x": 7, "y": 0},
-
- {"x": 9, "y": 0},
- {"x": 10, "y": 0},
- {"x": 11, "y": 0},
- {"x": 12, "y": 0},
- {"x": 13, "y": 0},
- {"x": 14, "y": 0},
- {"x": 15, "y": 0, "w": 2},
-
- {"x": 0, "y": 1},
- {"x": 1, "y": 1, "w": 1.5},
- {"x": 2.5, "y": 1},
- {"x": 3.5, "y": 1},
- {"x": 4.5, "y": 1},
- {"x": 5.5, "y": 1},
- {"x": 6.5, "y": 1},
-
- {"x": 8.5, "y": 1},
- {"x": 9.5, "y": 1},
- {"x": 10.5, "y": 1},
- {"x": 11.5, "y": 1},
- {"x": 12.5, "y": 1},
- {"x": 13.5, "y": 1},
- {"x": 14.5, "y": 1},
- {"x": 15.5, "y": 1, "w": 1.5},
-
- {"x": 0, "y": 2},
- {"x": 1, "y": 2, "w": 1.75},
- {"x": 2.75, "y": 2},
- {"x": 3.75, "y": 2},
- {"x": 4.75, "y": 2},
- {"x": 5.75, "y": 2},
- {"x": 6.75, "y": 2},
-
- {"x": 8.75, "y": 2},
- {"x": 9.75, "y": 2},
- {"x": 10.75, "y": 2},
- {"x": 11.75, "y": 2},
- {"x": 12.75, "y": 2},
- {"x": 13.75, "y": 2},
- {"x": 14.75, "y": 2, "w": 2.25},
-
- {"x": 0, "y": 3},
- {"x": 1, "y": 3, "w": 2.25},
- {"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": 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, "w": 1.75},
-
- {"x": 16, "y": 3},
- {"x": 0, "y": 4},
- {"x": 1, "y": 4, "w": 1.25},
- {"x": 2.25, "y": 4, "w": 1.25},
- {"x": 3.5, "y": 4, "w": 1.25},
- {"x": 4.75, "y": 4},
- {"x": 5.75, "y": 4, "w": 2.25},
-
- {"x": 9, "y": 4, "w": 2.25},
- {"x": 11.25, "y": 4, "w": 1.25},
- {"x": 12.5, "y": 4, "w": 1.25},
- {"x": 13.75, "y": 4, "w": 1.25},
- {"x": 15, "y": 4},
- {"x": 16, "y": 4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/unk/rev1/config.h b/keyboards/handwired/unk/rev1/config.h
index 65a02ff7ca..611b415d7a 100644
--- a/keyboards/handwired/unk/rev1/config.h
+++ b/keyboards/handwired/unk/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER herpiko
-#define PRODUCT UNK
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/unk/rev1/info.json b/keyboards/handwired/unk/rev1/info.json
new file mode 100644
index 0000000000..ec0927a0d3
--- /dev/null
+++ b/keyboards/handwired/unk/rev1/info.json
@@ -0,0 +1,96 @@
+{
+ "keyboard_name": "UNK",
+ "manufacturer": "herpiko",
+ "url": "https://github.com/herpiko/unk",
+ "maintainer": "herpiko",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0, "w": 2},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1, "w": 1.5},
+ {"x": 2.5, "y": 1},
+ {"x": 3.5, "y": 1},
+ {"x": 4.5, "y": 1},
+ {"x": 5.5, "y": 1},
+ {"x": 6.5, "y": 1},
+
+ {"x": 8.5, "y": 1},
+ {"x": 9.5, "y": 1},
+ {"x": 10.5, "y": 1},
+ {"x": 11.5, "y": 1},
+ {"x": 12.5, "y": 1},
+ {"x": 13.5, "y": 1},
+ {"x": 14.5, "y": 1},
+ {"x": 15.5, "y": 1, "w": 1.5},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2, "w": 1.75},
+ {"x": 2.75, "y": 2},
+ {"x": 3.75, "y": 2},
+ {"x": 4.75, "y": 2},
+ {"x": 5.75, "y": 2},
+ {"x": 6.75, "y": 2},
+
+ {"x": 8.75, "y": 2},
+ {"x": 9.75, "y": 2},
+ {"x": 10.75, "y": 2},
+ {"x": 11.75, "y": 2},
+ {"x": 12.75, "y": 2},
+ {"x": 13.75, "y": 2},
+ {"x": 14.75, "y": 2, "w": 2.25},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3, "w": 2.25},
+ {"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": 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, "w": 1.75},
+
+ {"x": 16, "y": 3},
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4, "w": 1.25},
+ {"x": 2.25, "y": 4, "w": 1.25},
+ {"x": 3.5, "y": 4, "w": 1.25},
+ {"x": 4.75, "y": 4},
+ {"x": 5.75, "y": 4, "w": 2.25},
+
+ {"x": 9, "y": 4, "w": 2.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 13.75, "y": 4, "w": 1.25},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/uthol/config.h b/keyboards/handwired/uthol/config.h
index 1e0b533386..de93efe186 100644
--- a/keyboards/handwired/uthol/config.h
+++ b/keyboards/handwired/uthol/config.h
@@ -19,10 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define MANUFACTURER Uthol
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json
index 40f99dbade..f8891331ed 100644
--- a/keyboards/handwired/uthol/info.json
+++ b/keyboards/handwired/uthol/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Uthol",
+ "manufacturer": "Uthol",
"url": "",
"maintainer": "uthol",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x67F3"
+ },
"layouts": {
"LAYOUT_uthol": {
"layout": [
diff --git a/keyboards/handwired/uthol/keymaps/numswap/keymap.c b/keyboards/handwired/uthol/keymaps/numswap/keymap.c
index b571ba8b91..7e06ee4da1 100644
--- a/keyboards/handwired/uthol/keymaps/numswap/keymap.c
+++ b/keyboards/handwired/uthol/keymaps/numswap/keymap.c
@@ -30,5 +30,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_COLEMAK] = LAYOUT_uthol(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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT),
[_RAISE] = LAYOUT_uthol(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_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT),
- [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, 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_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
+ [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
};
diff --git a/keyboards/handwired/uthol/keymaps/oled/keymap.c b/keyboards/handwired/uthol/keymaps/oled/keymap.c
index 3019a1fe85..6c25db3b6f 100644
--- a/keyboards/handwired/uthol/keymaps/oled/keymap.c
+++ b/keyboards/handwired/uthol/keymaps/oled/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_COLEMAK] = LAYOUT_uthol(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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, SETTINGS, KC_LGUI, KC_LALT, RAISE, KC_SPC, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[_LOWER] = LAYOUT_uthol(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_MINS, KC_EQL, KC_INS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT),
[_RAISE] = LAYOUT_uthol(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_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_BSLS, KC_P0, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT),
- [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD)
+ [_SETTINGS] = LAYOUT_uthol(QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_PWR, KC_NO, KC_SLCK, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NLCK, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_SAI, RGB_MODE_PLAIN, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MODE_REVERSE, RGB_VAD, RGB_VAI, RGB_MODE_FORWARD)
};
#define ANIM_SIZE 1024 // number of bytes in array, minimize for adequate firmware size, max is 1024
diff --git a/keyboards/handwired/uthol/rev1/config.h b/keyboards/handwired/uthol/rev1/config.h
index dbda8e90ed..89115c5aee 100644
--- a/keyboards/handwired/uthol/rev1/config.h
+++ b/keyboards/handwired/uthol/rev1/config.h
@@ -19,11 +19,6 @@
#include "config_common.h"
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholOne
-
/* Uthol PCB default pin-out */
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { D3, B6, B2, B3, B1, F7, F6, F5, F4, B5, B4, D2 }
-#define UNUSED_PINS
diff --git a/keyboards/handwired/uthol/rev1/info.json b/keyboards/handwired/uthol/rev1/info.json
new file mode 100644
index 0000000000..44de6469f5
--- /dev/null
+++ b/keyboards/handwired/uthol/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "UtholOne",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/handwired/uthol/rev2/config.h b/keyboards/handwired/uthol/rev2/config.h
index 3ef6fc172c..6fccc3047d 100644
--- a/keyboards/handwired/uthol/rev2/config.h
+++ b/keyboards/handwired/uthol/rev2/config.h
@@ -19,14 +19,9 @@
#include "config_common.h"
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholTwo
-
/* Uthol PCB default pin-out */
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, B5, B4, B6, B2, B3 }
-#define UNUSED_PINS
//RGB Stuff
#define RGB_DI_PIN E6
diff --git a/keyboards/handwired/uthol/rev2/info.json b/keyboards/handwired/uthol/rev2/info.json
new file mode 100644
index 0000000000..fbb7309629
--- /dev/null
+++ b/keyboards/handwired/uthol/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "UtholTwo",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h
index 90880998b7..14da0d8a60 100644
--- a/keyboards/handwired/uthol/rev3/config.h
+++ b/keyboards/handwired/uthol/rev3/config.h
@@ -19,10 +19,6 @@
#include "config_common.h"
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0x67F3
-#define PRODUCT UtholThree
-
/* key matrix size */
// A11 and A12 dont work. They are reserved for USB. B2 is reserved for BOOT1
#define MATRIX_COL_PINS \
@@ -30,7 +26,6 @@
#define MATRIX_ROW_PINS \
{ A4, A3, A2, A1, A0 }
-#define UNUSED_PINS
// Encoder config
#define ENCODERS_PAD_A \
@@ -57,6 +52,7 @@
#define LOCKING_RESYNC_ENABLE
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
// RGB Stuff
#define RGB_DI_PIN B0
diff --git a/keyboards/handwired/uthol/rev3/info.json b/keyboards/handwired/uthol/rev3/info.json
new file mode 100644
index 0000000000..44078b4ab1
--- /dev/null
+++ b/keyboards/handwired/uthol/rev3/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "UtholThree",
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/handwired/uthol/rev3/rules.mk b/keyboards/handwired/uthol/rev3/rules.mk
index b64e4ec8d1..8752bb87eb 100644
--- a/keyboards/handwired/uthol/rev3/rules.mk
+++ b/keyboards/handwired/uthol/rev3/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/handwired/videowriter/config.h b/keyboards/handwired/videowriter/config.h
index b4909ffba1..8bb4835e3d 100644
--- a/keyboards/handwired/videowriter/config.h
+++ b/keyboards/handwired/videowriter/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x515A // "QZ"
-#define PRODUCT_ID 0x5657 // "VW"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Magnavox
-#define PRODUCT Videowriter
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, C6, D1, D0, D4, D2, D3, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/videowriter/info.json b/keyboards/handwired/videowriter/info.json
index bf7603e3db..23f8b712e5 100644
--- a/keyboards/handwired/videowriter/info.json
+++ b/keyboards/handwired/videowriter/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "videowriter",
+ "keyboard_name": "Videowriter",
+ "manufacturer": "Magnavox",
"url": "https://deskthority.net/viewtopic.php?f=7&t=20210",
"maintainer": "DmNosachev",
+ "usb": {
+ "vid": "0x515A",
+ "pid": "0x5657",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
index fec2ed31e7..9ae6e04054 100644
--- a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
+++ b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PAUS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PAUS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
_______, 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U ,_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_RCTRL,
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
diff --git a/keyboards/handwired/wabi/config.h b/keyboards/handwired/wabi/config.h
index 68700d4873..f78413445a 100644
--- a/keyboards/handwired/wabi/config.h
+++ b/keyboards/handwired/wabi/config.h
@@ -16,14 +16,6 @@ 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 0xB07D
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Wabi
-
/* key matrix size */
#define MATRIX_ROWS 5
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { D5, F5, F6, F7, B0 }
#define MATRIX_COL_PINS { F4, F1, F0, E6, B3, B7, D0, D1, D2, D3, D4, D6, D7, B5 }
-#define UNUSED_PINS { B1, B2, C7, C6, B6, B4 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/wabi/info.json b/keyboards/handwired/wabi/info.json
index 7d58bd3634..624bc739f2 100644
--- a/keyboards/handwired/wabi/info.json
+++ b/keyboards/handwired/wabi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wabi",
+ "manufacturer": "Montsinger",
"url": "www.montsinger.net",
"maintainer": "Montsinger",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB07D",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1", "x":2.25, "y":0}, {"label":"2", "x":3.25, "y":0}, {"label":"3", "x":4.25, "y":0}, {"label":"4", "x":5.25, "y":0}, {"label":"5", "x":6.25, "y":0}, {"label":"6", "x":8.75, "y":0}, {"label":"7", "x":9.75, "y":0}, {"label":"8", "x":10.75, "y":0}, {"label":"9", "x":11.75, "y":0}, {"label":"0", "x":12.75, "y":0}, {"label":"-", "x":13.75, "y":0}, {"label":"=", "x":14.75, "y":0}, {"label":"Backspace", "x":15.75, "y":0, "w":2}, {"label":"Tab", "x":0.75, "y":1, "w":1.5}, {"label":"Q", "x":2.25, "y":1}, {"label":"W", "x":3.25, "y":1}, {"label":"E", "x":4.25, "y":1}, {"label":"R", "x":5.25, "y":1}, {"label":"T", "x":6.25, "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":"[", "x":13.75, "y":1}, {"label":"]", "x":14.75, "y":1}, {"label":"\\", "x":15.75, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.5, "y":2, "w":1.75}, {"label":"A", "x":2.25, "y":2}, {"label":"S", "x":3.25, "y":2}, {"label":"D", "x":4.25, "y":2}, {"label":"F", "x":5.25, "y":2}, {"label":"G", "x":6.25, "y":2}, {"label":"H", "x":8.75, "y":2}, {"label":"J", "x":9.75, "y":2}, {"label":"K", "x":10.75, "y":2}, {"label":"L", "x":11.75, "y":2}, {"label":";", "x":12.75, "y":2}, {"label":"'", "x":13.75, "y":2}, {"label":"Enter", "x":14.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":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":",", "x":10.75, "y":3}, {"label":".", "x":11.75, "y":3}, {"label":"/", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Up", "x":16.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":4, "y":4, "w":1.25}, {"label":"Space", "x":5.25, "y":4}, {"label":"Page Down", "x":6.25, "y":4, "w":1.25}, {"label":"Enter", "x":8.5, "y":4, "w":1.25}, {"label":"Space", "x":9.75, "y":4}, {"label":"Backspace", "x":10.75, "y":4, "w":1.25}, {"label":"Left", "x":15.5, "y":4}, {"label":"Down", "x":16.5, "y":4}, {"label":"Right", "x":17.5, "y":4}] }
diff --git a/keyboards/handwired/wabi/keymaps/rossman360/keymap.c b/keyboards/handwired/wabi/keymaps/rossman360/keymap.c
index dba4e77c25..3bd46bf191 100644
--- a/keyboards/handwired/wabi/keymaps/rossman360/keymap.c
+++ b/keyboards/handwired/wabi/keymaps/rossman360/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, BLINE , KC_BSPC, BWORD , KC_NO , KC_NO , _______, _______, _______, _______
),
[_FN1] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NTAB,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NTAB,
_______, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, _______, _______, KC_SLSH,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , _______, CTAB,
_______, _______, XPANDR , _______, PMERGE , _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______,
diff --git a/keyboards/handwired/wakizashi40/readme.md b/keyboards/handwired/wakizashi40/readme.md
index 8bb6c2aebc..b419f5032b 100644
--- a/keyboards/handwired/wakizashi40/readme.md
+++ b/keyboards/handwired/wakizashi40/readme.md
@@ -18,4 +18,4 @@ See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools)
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/woodpad/config.h b/keyboards/handwired/woodpad/config.h
index 9b92798d96..16290df805 100644
--- a/keyboards/handwired/woodpad/config.h
+++ b/keyboards/handwired/woodpad/config.h
@@ -19,13 +19,6 @@ 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 0x6069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT Woodpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/woodpad/info.json b/keyboards/handwired/woodpad/info.json
index fe5e5a943a..3e82a0cc42 100644
--- a/keyboards/handwired/woodpad/info.json
+++ b/keyboards/handwired/woodpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Woodpad",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6069",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/handwired/wulkan/config.h b/keyboards/handwired/wulkan/config.h
index 72e2c9e373..3f35e214e4 100644
--- a/keyboards/handwired/wulkan/config.h
+++ b/keyboards/handwired/wulkan/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Wulkan
-#define PRODUCT Handwired48Keys
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/handwired/wulkan/info.json b/keyboards/handwired/wulkan/info.json
index afb9611e2b..bef51cdb2b 100644
--- a/keyboards/handwired/wulkan/info.json
+++ b/keyboards/handwired/wulkan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wulkan",
+ "keyboard_name": "Handwired48Keys",
+ "manufacturer": "Wulkan",
"url": "",
"maintainer": "Napoleon Wulkan",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/handwired/xealous/config.h b/keyboards/handwired/xealous/config.h
index 5c1469b1f0..2502b4d196 100644
--- a/keyboards/handwired/xealous/config.h
+++ b/keyboards/handwired/xealous/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate.
#define FORCE_NKRO
-#define QMK_KEYS_PER_SCAN 4 //if we press four keys simultaneously, lets process them simultaneously...
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/xealous/info.json b/keyboards/handwired/xealous/info.json
deleted file mode 100644
index 9cd634a210..0000000000
--- a/keyboards/handwired/xealous/info.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "keyboard_name": "Xealous",
- "url": "",
- "maintainer": "alex-ong",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
-
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2.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":"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":"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":1.25},
- {"x":5, "y":4, "w":2.25},
-
- {"x":7.25, "y":4, "w":2.75},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"Win", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h
index cbb4648d19..40fe502340 100644
--- a/keyboards/handwired/xealous/rev1/config.h
+++ b/keyboards/handwired/xealous/rev1/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4131
-#define PRODUCT_ID 0x5141
-#define DEVICE_VER 0x0001
-#define MANUFACTURER XeaLouS
-#define PRODUCT XeaL60
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/handwired/xealous/rev1/info.json b/keyboards/handwired/xealous/rev1/info.json
new file mode 100644
index 0000000000..59865e9321
--- /dev/null
+++ b/keyboards/handwired/xealous/rev1/info.json
@@ -0,0 +1,89 @@
+{
+ "keyboard_name": "XeaL60",
+ "manufacturer": "XeaLouS",
+ "url": "",
+ "maintainer": "alex-ong",
+ "usb": {
+ "vid": "0x4131",
+ "pid": "0x5141",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1", "x":1, "y":0},
+ {"label":"2", "x":2, "y":0},
+ {"label":"3", "x":3, "y":0},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"6", "x":6, "y":0},
+
+ {"label":"7", "x":7, "y":0},
+ {"label":"8", "x":8, "y":0},
+ {"label":"9", "x":9, "y":0},
+ {"label":"0", "x":10, "y":0},
+ {"label":"-", "x":11, "y":0},
+ {"label":"=", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2.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":"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":"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":1.25},
+ {"x":5, "y":4, "w":2.25},
+
+ {"x":7.25, "y":4, "w":2.75},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/xealousbrown/config.h b/keyboards/handwired/xealousbrown/config.h
index cb787ba0c2..37d424b01e 100644
--- a/keyboards/handwired/xealousbrown/config.h
+++ b/keyboards/handwired/xealousbrown/config.h
@@ -18,13 +18,6 @@ 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 0x606A
-#define DEVICE_VER 0x0002
-#define MANUFACTURER XeaL
-#define PRODUCT XeaLous Brown Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -50,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/xealousbrown/info.json b/keyboards/handwired/xealousbrown/info.json
index cecd7e9e2e..372158baad 100644
--- a/keyboards/handwired/xealousbrown/info.json
+++ b/keyboards/handwired/xealousbrown/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xealous-Brown",
+ "keyboard_name": "XeaLous Brown Keyboard",
+ "manufacturer": "XeaL",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x606A",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/handwired/z150/config.h b/keyboards/handwired/z150/config.h
index 5d11c31a2a..96bda8c8d8 100644
--- a/keyboards/handwired/z150/config.h
+++ b/keyboards/handwired/z150/config.h
@@ -19,19 +19,12 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ALPS
-#define PRODUCT Z150
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { B13, B14, B15, A8, A9, A3, A10, A1, A2, A15, A0 }
#define MATRIX_COL_PINS { B11, B10, B1, B0, A7, A6, A5, A4 }
-#define UNUSED_PINS
#define NUM_LOCK_LED_PIN B5
#define SCROLL_LOCK_LED_PIN B4
diff --git a/keyboards/handwired/z150/info.json b/keyboards/handwired/z150/info.json
index 17b94b521d..823467b694 100644
--- a/keyboards/handwired/z150/info.json
+++ b/keyboards/handwired/z150/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "z150",
+ "keyboard_name": "Z150",
+ "manufacturer": "ALPS",
"url": "",
"maintainer": "DmNosachev",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":0, "y":0}, {"label":"F2", "x":1, "y":0}, {"label":"Esc", "x":2.5, "y":0}, {"label":"!", "x":3.5, "y":0}, {"label":"@", "x":4.5, "y":0}, {"label":"#", "x":5.5, "y":0}, {"label":"$", "x":6.5, "y":0}, {"label":"%", "x":7.5, "y":0}, {"label":"^", "x":8.5, "y":0}, {"label":"&", "x":9.5, "y":0}, {"label":"*", "x":10.5, "y":0}, {"label":"(", "x":11.5, "y":0}, {"label":")", "x":12.5, "y":0}, {"label":"_", "x":13.5, "y":0}, {"label":"+", "x":14.5, "y":0}, {"label":"Backspace", "x":15.5, "y":0, "w":1.75}, {"label":"", "x":17.25, "y":0}, {"label":"", "x":18.25, "y":0, "w":1.5}, {"label":"", "x":19.75, "y":0, "w":1.5}, {"label":"F3", "x":0, "y":1}, {"label":"F4", "x":1, "y":1}, {"label":"Tab", "x":2.5, "y":1, "w":1.5}, {"label":"Q", "x":4, "y":1}, {"label":"W", "x":5, "y":1}, {"label":"E", "x":6, "y":1}, {"label":"R", "x":7, "y":1}, {"label":"T", "x":8, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15, "y":1, "w":1.25}, {"label":"7", "x":17.25, "y":1}, {"label":"8", "x":18.25, "y":1}, {"label":"9", "x":19.25, "y":1}, {"label":"PrtSc", "x":20.25, "y":1}, {"label":"F5", "x":0, "y":2}, {"label":"F6", "x":1, "y":2}, {"label":"Ctrl", "x":2.5, "y":2, "w":1.75}, {"label":"A", "x":4.25, "y":2}, {"label":"S", "x":5.25, "y":2}, {"label":"D", "x":6.25, "y":2}, {"label":"F", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"H", "x":9.25, "y":2}, {"label":"J", "x":10.25, "y":2}, {"label":"K", "x":11.25, "y":2}, {"label":"L", "x":12.25, "y":2}, {"label":":", "x":13.25, "y":2}, {"label":"\"", "x":14.25, "y":2}, {"label":"Enter", "x":15.25, "y":2, "w":2}, {"label":"4", "x":17.25, "y":2}, {"label":"5", "x":18.25, "y":2}, {"label":"6", "x":19.25, "y":2}, {"label":"\u0432\u0402\u201c", "x":20.25, "y":2}, {"label":"F7", "x":0, "y":3}, {"label":"F8", "x":1, "y":3}, {"label":"Shift", "x":2.5, "y":3, "w":2.25}, {"label":"Z", "x":4.75, "y":3}, {"label":"X", "x":5.75, "y":3}, {"label":"C", "x":6.75, "y":3}, {"label":"V", "x":7.75, "y":3}, {"label":"B", "x":8.75, "y":3}, {"label":"N", "x":9.75, "y":3}, {"label":"M", "x":10.75, "y":3}, {"label":"<", "x":11.75, "y":3}, {"label":">", "x":12.75, "y":3}, {"label":"?", "x":13.75, "y":3}, {"label":"Shift", "x":14.75, "y":3, "w":1.5}, {"label":"|", "x":16.25, "y":3}, {"label":"1", "x":17.25, "y":3}, {"label":"2", "x":18.25, "y":3}, {"label":"6", "x":19.25, "y":3}, {"label":"+", "x":20.25, "y":3, "h":2}, {"label":"F9", "x":0, "y":4}, {"label":"F10", "x":1, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.75}, {"label":"~", "x":4.25, "y":4}, {"x":5.25, "y":4, "w":9}, {"label":"CapsLock", "x":14.25, "y":4, "w":2}, {"label":"0", "x":16.25, "y":4, "w":2}, {"label":".", "x":18.25, "y":4, "w":2}]
diff --git a/keyboards/handwired/z150/keymaps/zyxx/keymap.c b/keyboards/handwired/z150/keymaps/zyxx/keymap.c
index 446f392203..b342b66be2 100644
--- a/keyboards/handwired/z150/keymaps/zyxx/keymap.c
+++ b/keyboards/handwired/z150/keymaps/zyxx/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------------------------------------------------------------------------------------------------------'
*/
[_FN1] = LAYOUT(
- RESET, _______, _______, KC_F11, KC_F12, AU_ON, AU_OFF, CK_TOGG, CK_UP, CK_DOWN, CK_RST, _______, _______, _______, _______, KC_DEL, KC_NLCK, KC_PSLS, _______,
+ QK_BOOT, _______, _______, KC_F11, KC_F12, AU_ON, AU_OFF, CK_TOGG, CK_UP, CK_DOWN, CK_RST, _______, _______, _______, _______, KC_DEL, KC_NLCK, KC_PSLS, _______,
_______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PAST,
_______, _______, _______ , _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PMNS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PPLS,
diff --git a/keyboards/handwired/zergo/config.h b/keyboards/handwired/zergo/config.h
index 8bac9970a6..8453b8efc9 100644
--- a/keyboards/handwired/zergo/config.h
+++ b/keyboards/handwired/zergo/config.h
@@ -19,13 +19,6 @@ 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 0xB92B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GreenJack
-#define PRODUCT zErgo
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, D7, C3, D6, D5, D4 }
#define MATRIX_COL_PINS { C7, C6, C5, C4, C2, C1, B7, D3, D2, B6, B5, B4, B3, B2 }
-#define UNUSED_PINS { A0, A1, A2, A3, A4, A5, A6, A7, B0, C0, E0, E1, E4, E5, F0, F1, F2, F3, F4, F5, F6, F7 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/zergo/info.json b/keyboards/handwired/zergo/info.json
index 2b59b48de6..cec0c8954d 100644
--- a/keyboards/handwired/zergo/info.json
+++ b/keyboards/handwired/zergo/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "zergo",
+ "keyboard_name": "zErgo",
+ "manufacturer": "GreenJack",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/zergo",
"maintainer": "greenjack",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB92B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hardlineworks/otd_plus/config.h b/keyboards/hardlineworks/otd_plus/config.h
index 15e6df7588..95c5ee6ec6 100644
--- a/keyboards/hardlineworks/otd_plus/config.h
+++ b/keyboards/hardlineworks/otd_plus/config.h
@@ -2,20 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x484C // "HL"
-#define PRODUCT_ID 0x0087 // "TKL"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hardlineworks
-#define PRODUCT OTD-PLUS
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
#define MATRIX_ROW_PINS { D2, D4, D1, E6, F5, C6, B6, F6, F0, D0, D6, D3 }
#define MATRIX_COL_PINS { B3, B2, B1, B7, B0, F1, D7, F7, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hardlineworks/otd_plus/info.json b/keyboards/hardlineworks/otd_plus/info.json
index 59668dc243..d61987b65f 100644
--- a/keyboards/hardlineworks/otd_plus/info.json
+++ b/keyboards/hardlineworks/otd_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "OTD-PLUS",
+ "manufacturer": "Hardlineworks",
"url": "",
"maintainer": "Hardlineworks",
+ "usb": {
+ "vid": "0x484C",
+ "pid": "0x0087",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_wkl": {
"layout": [
diff --git a/keyboards/heliar/wm1_hotswap/config.h b/keyboards/heliar/wm1_hotswap/config.h
index d25527ab35..88f1b246ef 100644
--- a/keyboards/heliar/wm1_hotswap/config.h
+++ b/keyboards/heliar/wm1_hotswap/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xD070
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Heliar
-#define PRODUCT wm1 hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/heliar/wm1_hotswap/info.json b/keyboards/heliar/wm1_hotswap/info.json
index 165dad94bc..bee3c03ab2 100644
--- a/keyboards/heliar/wm1_hotswap/info.json
+++ b/keyboards/heliar/wm1_hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wm1",
+ "keyboard_name": "wm1 hotswap",
+ "manufacturer": "Heliar",
"url": "",
"maintainer": "heliar",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xD070",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index b08865d0a4..461fbd426b 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Yushakobo
-#define PRODUCT HelixPico
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/info.json
index b9b573a37d..9c69f52fcd 100644
--- a/keyboards/helix/pico/info.json
+++ b/keyboards/helix/pico/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "HelixPico",
+ "manufacturer": "Yushakobo",
"url": "https://github.com/MakotoKurauchi/helix",
"maintainer": "MakotoKurauchi",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0001",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/helix/pico/keymaps/biacco/keymap.c b/keyboards/helix/pico/keymaps/biacco/keymap.c
index aa196c7e6a..8bec3647d2 100644
--- a/keyboards/helix/pico/keymaps/biacco/keymap.c
+++ b/keyboards/helix/pico/keymaps/biacco/keymap.c
@@ -66,7 +66,7 @@ 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_MINS, KC_EQL, \
_______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ \
),
/* SYMB
diff --git a/keyboards/helix/pico/keymaps/mtei/config.h b/keyboards/helix/pico/keymaps/mtei/config.h
index 1a4dc2c842..a633105ff9 100644
--- a/keyboards/helix/pico/keymaps/mtei/config.h
+++ b/keyboards/helix/pico/keymaps/mtei/config.h
@@ -13,8 +13,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
-/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
- see tmk_core/common/action_tapping.c */
// If you need more program area, try select and reduce rgblight modes to use.
diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c
index b703ca376d..b3d988530e 100644
--- a/keyboards/helix/pico/keymaps/mtei/keymap.c
+++ b/keyboards/helix/pico/keymaps/mtei/keymap.c
@@ -223,7 +223,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, XXXXXXX, QWERTY, EUCALYN, COLEMAK, DVORAK, \
+ XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, XXXXXXX, QWERTY, EUCALYN, COLEMAK, DVORAK, \
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \
@@ -242,7 +242,7 @@ float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
static int current_default_layer;
-uint32_t default_layer_state_set_kb(uint32_t state) {
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
// 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0)
// 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1)
current_default_layer = state - 1;
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index 8c6210bae4..c7e9e35db5 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yushakobo
-#define PRODUCT Helix Beta
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/rev2/info.json
index f46508de5a..9efe7fdb53 100644
--- a/keyboards/helix/rev2/info.json
+++ b/keyboards/helix/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Helix rev. 2",
+ "keyboard_name": "Helix Beta",
+ "manufacturer": "Yushakobo",
"url": "https://github.com/MakotoKurauchi/helix",
"maintainer": "MakotoKurauchi",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c
index ad5558869f..384356bd14 100644
--- a/keyboards/helix/rev2/keymaps/default/oled_display.c
+++ b/keyboards/helix/rev2/keymaps/default/oled_display.c
@@ -86,7 +86,7 @@ static void render_layer_status(void) {
break;
default:
oled_write_P(PSTR("Undef-"), false);
- snprintf(buf,sizeof(buf), "%ld", layer_state);
+ snprintf(buf,sizeof(buf), "%u", layer_state);
oled_write(buf, false);
}
oled_write_P(PSTR("\n"), false);
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
index 5de00cb14c..80d0392ffb 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
@@ -5,9 +5,9 @@
// keymaps definitions are moved to keymap_Xrows.c.
#ifdef RGBLIGHT_ENABLE
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case L_EDVORAKJP_LOWER:
rgblight_sethsv_noeeprom_red();
break;
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
index 207aebc423..14e3e5533b 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
@@ -19,7 +19,7 @@ void render_layer_state(void) {
char layer_name[17];
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case L_EDVORAKJP_BASE:
oled_write_ln_P(PSTR("Default"), false);
break;
diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h
index 4aae9b5cac..43f14aaf2c 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows/config.h
@@ -6,8 +6,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
-/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
- see tmk_core/common/action_tapping.c */
#undef OLED_UPDATE_INTERVAL
#ifdef DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
index d992425de7..77d7f1607e 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
@@ -343,7 +343,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX,
- XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
+ XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI,
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
@@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
int current_default_layer;
-uint32_t default_layer_state_set_user(uint32_t state) {
- current_default_layer = biton32(state);
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ current_default_layer = get_highest_layer(state);
return state;
}
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
index 23b45ef317..e8b3087701 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
@@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- XXXXXXX, RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, \
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, \
XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, \
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c b/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
index 1ac0c8239e..69f54a9de2 100644
--- a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
+++ b/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
RGB_1, RGB_2, RGB_3, RGB_4, RGB_TOG, KC_NO, KC_NO, RGB_MOD, RGB_RMOD,KC_NO, KC_NO, KC_NO, \
RGB_5, RGB_6, RGB_7, RGB_8, RGB_9, KC_NO, KC_NO, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO, \
- KC_NO, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
)
};
diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c
index 484a0a34b9..eb574f9778 100644
--- a/keyboards/helix/rev2/keymaps/froggy/keymap.c
+++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------'
*/
[_FUNC] = LAYOUT_half( \
- RGBRST,RGB_HUI, _______, RESET, MAC, WIN, \
+ RGBRST,RGB_HUI, _______, QK_BOOT, MAC, WIN, \
RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______, \
RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, \
RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, \
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
index 2e1464bedf..a5a82eca98 100644
--- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
+++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
@@ -225,7 +225,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------'
*/
[_FUNC] = LAYOUT_half( \
- RGBRST,RGB_HUI, TO_101, RESET, MAC, WIN, \
+ RGBRST,RGB_HUI, TO_101, QK_BOOT, MAC, WIN, \
RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106, \
RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, \
RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, \
diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
index d9102cb59f..5fecc2f766 100644
--- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
+++ b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
@@ -161,7 +161,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, KC_F11, KC_F12, \
- _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
@@ -274,7 +274,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h
index 1c0ec4d36c..5050599075 100644
--- a/keyboards/helix/rev3_4rows/config.h
+++ b/keyboards/helix/rev3_4rows/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#include <stdio.h>
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265 //yushakobo
-#define PRODUCT_ID 0x0004 //Helix rev3 4rows
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT Helix rev3 4rows
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json
index 7e825ff90c..e5c19a02b5 100644
--- a/keyboards/helix/rev3_4rows/info.json
+++ b/keyboards/helix/rev3_4rows/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Helix rev3 4rows",
+ "manufacturer": "yushakobo",
"url": "",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h
index c880e27c88..489eeded06 100644
--- a/keyboards/helix/rev3_5rows/config.h
+++ b/keyboards/helix/rev3_5rows/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#include <stdio.h>
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265 //yushakobo
-#define PRODUCT_ID 0x0003 //Helix rev3 5rows
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT Helix rev3 5rows
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json
index 5a1e35d8b2..95580e0c08 100644
--- a/keyboards/helix/rev3_5rows/info.json
+++ b/keyboards/helix/rev3_5rows/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Helix rev3 5rows",
+ "manufacturer": "yushakobo",
"url": "",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
index ab679d14b9..a6fd32c613 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
@@ -6,8 +6,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
-/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
- see tmk_core/common/action_tapping.c */
#undef OLED_UPDATE_INTERVAL
#ifdef DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
index d992425de7..77d7f1607e 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
@@ -343,7 +343,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX,
- XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
+ XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI,
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
@@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
int current_default_layer;
-uint32_t default_layer_state_set_user(uint32_t state) {
- current_default_layer = biton32(state);
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ current_default_layer = get_highest_layer(state);
return state;
}
diff --git a/keyboards/hhkb/ansi/32u2/rules.mk b/keyboards/hhkb/ansi/32u2/rules.mk
new file mode 100644
index 0000000000..0c0b4c37c2
--- /dev/null
+++ b/keyboards/hhkb/ansi/32u2/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = atmega32u2
+
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/hhkb/ansi/config.h b/keyboards/hhkb/ansi/config.h
index 8307fc1679..f2ba9fd74a 100644
--- a/keyboards/hhkb/ansi/config.h
+++ b/keyboards/hhkb/ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4848 // HH = happy hacking
-#define PRODUCT_ID 0x0001 // ANSI HHKB
-#define DEVICE_VER 0x0104
-#define MANUFACTURER q.m.k
-#define PRODUCT HHKB mod
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
diff --git a/keyboards/hhkb/ansi/hhkb_avr.h b/keyboards/hhkb/ansi/hhkb_avr.h
index f9446deef7..a805445e9b 100644
--- a/keyboards/hhkb/ansi/hhkb_avr.h
+++ b/keyboards/hhkb/ansi/hhkb_avr.h
@@ -78,6 +78,60 @@ static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
}
+#elif defined(__AVR_ATmega32U2__)
+/*
+ * For TMK HHKB alt controller(ATMega32U4)
+ *
+ * row: PB0-2
+ * col: PB3-5,6
+ * key: PD3(pull-uped)
+ * prev: PB7
+ * power: PD4(L:off/H:on)
+ * row-ext: PC6,7 for HHKB JP(active low)
+ */
+static inline void KEY_ENABLE(void) { (PORTB &= ~(1<<6)); }
+static inline void KEY_UNABLE(void) { (PORTB |= (1<<6)); }
+static inline bool KEY_STATE(void) { return (PIND & (1<<3)); }
+static inline void KEY_PREV_ON(void) { (PORTB |= (1<<7)); }
+static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); }
+#ifdef HHKB_POWER_SAVING
+static inline void KEY_POWER_ON(void) {
+ DDRB = 0xFF; PORTB = 0x40; // change pins output
+ DDRD |= (1<<4); PORTD |= (1<<4); // MOS FET switch on
+ /* Without this wait you will miss or get false key events. */
+ _delay_ms(5); // wait for powering up
+}
+static inline void KEY_POWER_OFF(void) {
+ /* input with pull-up consumes less than without it when pin is open. */
+ DDRB = 0x00; PORTB = 0xFF; // change pins input with pull-up
+ DDRD |= (1<<4); PORTD &= ~(1<<4); // MOS FET switch off
+}
+static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); }
+#else
+static inline void KEY_POWER_ON(void) {}
+static inline void KEY_POWER_OFF(void) {}
+static inline bool KEY_POWER_STATE(void) { return true; }
+#endif
+static inline void KEY_INIT(void)
+{
+ /* row,col,prev: output */
+ DDRB = 0xFF;
+ PORTB = 0x40; // unable
+ /* key: input with pull-up */
+ DDRD &= ~0x80;
+ PORTD |= 0x80;
+
+ KEY_UNABLE();
+ KEY_PREV_OFF();
+
+ KEY_POWER_OFF();
+}
+static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
+{
+ PORTB = (PORTB & 0xC0) | (((COL) & 0x07)<<3) | ((ROW) & 0x07);
+
+}
+
#elif defined(__AVR_AT90USB1286__)
/*
diff --git a/keyboards/hhkb/ansi/info.json b/keyboards/hhkb/ansi/info.json
index d2a6e42318..fdc8363141 100644
--- a/keyboards/hhkb/ansi/info.json
+++ b/keyboards/hhkb/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HHKB",
+ "keyboard_name": "ANSI",
+ "manufacturer": "HHKB",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4848",
+ "pid": "0x0001",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c b/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c
index 55d482e062..d57d3ccdc7 100644
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c
+++ b/keyboards/hhkb/ansi/keymaps/cinaeco/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[UTIL] = LAYOUT(
- RESET, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DEBUG,
+ QK_BOOT, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DEBUG,
____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____,
____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____,
____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____,
diff --git a/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c b/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c
index d7aea97736..1adb6ce5be 100644
--- a/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c
+++ b/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c
@@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = 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_INS, KC_DEL, KC_CAPS, KC_MFFD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS),
+ [2] = LAYOUT(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS),
[3] = LAYOUT(KC_GESC, KC_EXLM, KC_EML, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS)
};
diff --git a/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c b/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c
index eebaede979..9bc5d59302 100644
--- a/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c
+++ b/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Layer 3: Functions */
[_FL] = 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, _______, RESET ,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
_______, _______, QWERTY, DVORAK, COLEMAK, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
KC_CAPS, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
_______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/hhkb/ansi/rules.mk b/keyboards/hhkb/ansi/rules.mk
index 0b110d6561..40a34662bc 100644
--- a/keyboards/hhkb/ansi/rules.mk
+++ b/keyboards/hhkb/ansi/rules.mk
@@ -14,9 +14,9 @@ CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
CUSTOM_MATRIX = yes # Custom matrix file for the HHKB
NKRO_ENABLE = no # Enable N-Key Rollover
-# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-# HHKB_RN42_ENABLE = yes # Enable support for hasu's BT alt controller -- code borrowed from tmk source tree.
+HHKB_RN42_ENABLE = no # Enable support for hasu's BT alt controller -- code borrowed from tmk source tree.
# Either uncomment the HHKB_RN42_ENABLE line above, or run make enabling the
# feature. Be sure to clean any existing build before trying to enable rn42
diff --git a/keyboards/hhkb/jp/config.h b/keyboards/hhkb/jp/config.h
index 04ee61c768..a3e7dbd3a6 100644
--- a/keyboards/hhkb/jp/config.h
+++ b/keyboards/hhkb/jp/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4848 // HH = happy hacking
-#define PRODUCT_ID 0x0002 // HHKB JP
-#define DEVICE_VER 0x0104
-#define MANUFACTURER q.m.k
-#define PRODUCT HHKB mod
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
diff --git a/keyboards/hhkb/jp/info.json b/keyboards/hhkb/jp/info.json
index ee9d1de53a..dd1cfbc870 100644
--- a/keyboards/hhkb/jp/info.json
+++ b/keyboards/hhkb/jp/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HHKB JP",
+ "keyboard_name": "JP",
+ "manufacturer": "HHKB",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4848",
+ "pid": "0x0002",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT_jp": {
"layout": [
diff --git a/keyboards/hhkb/serial.h b/keyboards/hhkb/serial.h
new file mode 100644
index 0000000000..0204b84a92
--- /dev/null
+++ b/keyboards/hhkb/serial.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2012 Jun WAKO <wakojun@gmail.com>
+
+This software is licensed with a Modified BSD License.
+All of this is supposed to be Free Software, Open Source, DFSG-free,
+GPL-compatible, and OK to use in both free and proprietary applications.
+Additions and corrections to this file are welcome.
+
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+* Neither the name of the copyright holders nor the names of
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#pragma once
+
+#define SERIAL_UART_DATA UDR1
+
+/* host role */
+void serial_init(void);
+uint8_t serial_recv(void);
+int16_t serial_recv2(void);
+void serial_send(uint8_t data);
diff --git a/keyboards/hhkb/serial_uart.c b/keyboards/hhkb/serial_uart.c
new file mode 100644
index 0000000000..d5b5657095
--- /dev/null
+++ b/keyboards/hhkb/serial_uart.c
@@ -0,0 +1,133 @@
+/*
+Copyright 2013 Jun WAKO <wakojun@gmail.com>
+
+This software is licensed with a Modified BSD License.
+All of this is supposed to be Free Software, Open Source, DFSG-free,
+GPL-compatible, and OK to use in both free and proprietary applications.
+Additions and corrections to this file are welcome.
+
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+* Neither the name of the copyright holders nor the names of
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <stdbool.h>
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include "serial.h"
+
+#ifndef SERIAL_UART_BAUD
+# define SERIAL_UART_BAUD 9600
+#endif
+
+#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
+#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
+#define SERIAL_UART_RXD_VECT USART1_RX_vect
+
+#ifndef SERIAL_UART_INIT_CUSTOM
+# define SERIAL_UART_INIT_CUSTOM \
+ /* enable TX */ \
+ UCSR1B = _BV(TXEN1); \
+ /* 8-bit data */ \
+ UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
+#endif
+
+#if defined(SERIAL_UART_RTS_LO) && defined(SERIAL_UART_RTS_HI)
+// Buffer state
+// Empty: RBUF_SPACE == RBUF_SIZE(head==tail)
+// Last 1 space: RBUF_SPACE == 2
+// Full: RBUF_SPACE == 1(last cell of rbuf be never used.)
+# define RBUF_SPACE() (rbuf_head < rbuf_tail ? (rbuf_tail - rbuf_head) : (RBUF_SIZE - rbuf_head + rbuf_tail))
+// allow to send
+# define rbuf_check_rts_lo() \
+ do { \
+ if (RBUF_SPACE() > 2) SERIAL_UART_RTS_LO(); \
+ } while (0)
+// prohibit to send
+# define rbuf_check_rts_hi() \
+ do { \
+ if (RBUF_SPACE() <= 2) SERIAL_UART_RTS_HI(); \
+ } while (0)
+#else
+# define rbuf_check_rts_lo()
+# define rbuf_check_rts_hi()
+#endif
+
+void serial_init(void) {
+ do {
+ // Set baud rate
+ UBRR1L = SERIAL_UART_UBRR;
+ UBRR1L = SERIAL_UART_UBRR >> 8;
+ SERIAL_UART_INIT_CUSTOM;
+ } while (0);
+}
+
+// RX ring buffer
+#define RBUF_SIZE 256
+static uint8_t rbuf[RBUF_SIZE];
+static uint8_t rbuf_head = 0;
+static uint8_t rbuf_tail = 0;
+
+uint8_t serial_recv(void) {
+ uint8_t data = 0;
+ if (rbuf_head == rbuf_tail) {
+ return 0;
+ }
+
+ data = rbuf[rbuf_tail];
+ rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE;
+ rbuf_check_rts_lo();
+ return data;
+}
+
+int16_t serial_recv2(void) {
+ uint8_t data = 0;
+ if (rbuf_head == rbuf_tail) {
+ return -1;
+ }
+
+ data = rbuf[rbuf_tail];
+ rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE;
+ rbuf_check_rts_lo();
+ return data;
+}
+
+void serial_send(uint8_t data) {
+ while (!SERIAL_UART_TXD_READY)
+ ;
+ SERIAL_UART_DATA = data;
+}
+
+// USART RX complete interrupt
+ISR(SERIAL_UART_RXD_VECT) {
+ uint8_t next = (rbuf_head + 1) % RBUF_SIZE;
+ if (next != rbuf_tail) {
+ rbuf[rbuf_head] = SERIAL_UART_DATA;
+ rbuf_head = next;
+ }
+ rbuf_check_rts_hi();
+}
diff --git a/keyboards/hhkb/yang/config.h b/keyboards/hhkb/yang/config.h
new file mode 100644
index 0000000000..e1fa406a0b
--- /dev/null
+++ b/keyboards/hhkb/yang/config.h
@@ -0,0 +1,123 @@
+/*
+Copyright 2020 Kan-Ru Chen <kanru@kanru.info>
+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/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
+
+/* matrix power saving */
+#define MATRIX_POWER_SAVE_TIMEOUT_MS 10000
+#define MATRIX_POWER_SAVE_TIMEOUT_L2_MS 1800000
+#define MATRIX_POWER_SAVE_TIMEOUT_L3_MS 7200000
+
+#define LED_CAPS_LOCK_PIN F4
+
+#ifdef BLUETOOTH_ENABLE
+# define OUTPUT_DEFAULT OUTPUT_AUTO
+
+# undef SERIAL_UART_BAUD
+# undef SERIAL_UART_DATA
+# undef SERIAL_UART_UBRR
+# undef SERIAL_UART_RXD_VECT
+# undef SERIAL_UART_TXD_READY
+# undef SERIAL_UART_INIT
+
+# define SERIAL_UART_BAUD 76800
+# define SERIAL_UART_DATA UDR1
+# define SERIAL_UART_UBRR (F_CPU / (8UL * SERIAL_UART_BAUD) - 1)
+# define SERIAL_UART_RXD_VECT USART1_RX_vect
+# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
+# define SERIAL_UART_INIT() \
+ do { \
+ cli(); \
+ /* baud rate */ \
+ UBRR1L = SERIAL_UART_UBRR; \
+ /* baud rate */ \
+ UBRR1H = SERIAL_UART_UBRR >> 8; \
+ /* enable TX */ \
+ UCSR1B |= (0 << TXCIE1) | (1 << TXEN1); \
+ /* enable RX */ \
+ UCSR1B |= (1 << RXCIE1) | (1 << RXEN1); \
+ /* parity: none(00), even(01), odd(11) */ \
+ UCSR1C |= (0 << UPM11) | (0 << UPM10); \
+ /* 2x speed (error = 0.2%) */ \
+ UCSR1A |= (1 << U2X1); \
+ sei(); \
+ } while (0)
+#endif
+
+/* 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
+
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
+
+//#define DEBUG_MATRIX_SCAN_RATE
+
+// Disable debounce
+#define DEBOUNCE 0
diff --git a/keyboards/hhkb/yang/info.json b/keyboards/hhkb/yang/info.json
new file mode 100644
index 0000000000..23e26fe2cb
--- /dev/null
+++ b/keyboards/hhkb/yang/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "HHKB BLE",
+ "manufacturer": "YANG",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4848",
+ "pid": "0x0001",
+ "device_version": "1.0.4"
+ },
+ "layouts": {
+ "LAYOUT_60_hhkb": {
+ "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": "|", "x": 13, "y": 0 },
+ { "label": "~", "x": 14, "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": "Delete", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "Control", "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": "Return", "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": 1.75 },
+ { "label": "Fn", "x": 14, "y": 3 },
+ { "label": "", "x": 1.5, "y": 4 },
+ { "label": "", "x": 2.5, "y": 4, "w": 1.5 },
+ { "x": 4, "y": 4, "w": 6 },
+ { "label": "", "x": 10, "y": 4, "w": 1.5 },
+ { "label": "", "x": 11.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/hhkb/yang/keymaps/default/keymap.c b/keyboards/hhkb/yang/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f91e1fc243
--- /dev/null
+++ b/keyboards/hhkb/yang/keymaps/default/keymap.c
@@ -0,0 +1,73 @@
+/* -*- eval: (turn-on-orgtbl); -*-
+ * default HHKB Layout
+ *
+ * Copyright 2021 Kan-Ru Chen <kanru@kanru.info>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 {
+ BASE,
+ HHKB,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* BASE Level: Default Layer
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+
+ |------+------+-----------------------+------+------|
+ | LAlt | LGUI | ******* Space ******* | RGUI | RAlt |
+ |------+------+-----------------------+------+------|
+ */
+
+ [BASE] = LAYOUT_60_hhkb( // default layer
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
+ KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
+
+ /* Layer HHKB: HHKB mode (HHKB Fn)
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | | | | | | + | - | End | PgD | Dow | | | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+
+ |------+------+----------------------+------+------+
+ | **** | **** | ******************** | **** | **** |
+ |------+------+----------------------+------+------+
+
+ */
+
+ [HHKB] = LAYOUT_60_hhkb(
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
+ 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)};
diff --git a/keyboards/hhkb/yang/keymaps/kanru/config.h b/keyboards/hhkb/yang/keymaps/kanru/config.h
new file mode 100644
index 0000000000..81fef2ea5e
--- /dev/null
+++ b/keyboards/hhkb/yang/keymaps/kanru/config.h
@@ -0,0 +1,21 @@
+/* Copyright 2021 Kan-Ru Chen <kanru@kanru.info>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 MOUSEKEY_DELAY 90
+#define MOUSEKEY_INTERVAL 16
+#define MOUSEKEY_MAX_SPEED 4
+#define MOUSEKEY_WHEEL_INTERVAL 50
diff --git a/keyboards/hhkb/yang/keymaps/kanru/keymap.c b/keyboards/hhkb/yang/keymaps/kanru/keymap.c
new file mode 100644
index 0000000000..c5d57c4cb3
--- /dev/null
+++ b/keyboards/hhkb/yang/keymaps/kanru/keymap.c
@@ -0,0 +1,126 @@
+/* -*- eval: (turn-on-orgtbl); -*-
+ * kanru's HHKB Layout
+ *
+ * Copyright 2021 Kan-Ru Chen <kanru@kanru.info>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 custom_layers {
+ BASE,
+ HHKB,
+ MOUSE,
+};
+
+#define BATTERY_FULL 550
+#define BATTERY_EMPTY 326
+
+enum my_keycodes { KC_VBAT = SAFE_RANGE };
+
+uint32_t adafruit_ble_read_battery_voltage(void);
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+#ifdef BLUETOOTH_ENABLE
+ case KC_VBAT:
+ if (record->event.pressed) {
+ char vbat[8];
+ uint8_t level = (adafruit_ble_read_battery_voltage() - BATTERY_EMPTY) / (float)(BATTERY_FULL - BATTERY_EMPTY) * 100;
+ snprintf(vbat, sizeof(vbat), "%d", level);
+ send_string(vbat);
+ }
+ return false;
+#endif
+ default:
+ return true;
+ }
+}
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* BASE Level: Default Layer
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+
+ |------+------+-----------------------+------+------|
+ | LAlt | LGUI | ******* Space ******* | RGUI | RAlt |
+ |------+------+-----------------------+------+------|
+ */
+
+ [BASE] = LAYOUT_60_hhkb( // default layer
+ LT(MOUSE, KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
+ KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
+
+ /* Layer HHKB: HHKB mode (HHKB Fn)
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Caps | | | BAT | | | | | Psc | Slk | Pus | Up | | Backs | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | | | | | | + | - | End | PgD | Dow | | | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+
+ |------+------+----------------------+------+------+
+ | **** | **** | ******************** | **** | **** |
+ |------+------+----------------------+------+------+
+
+ */
+
+ [HHKB] = LAYOUT_60_hhkb(
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_VBAT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
+ 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),
+
+ /* Layer MOUSE: Mouse Key mode (ESC)
+ |------+------+------+-----+----+----+----+----+----+----+-----+-----+-------+-------+----- |
+ | | | | | | | | | | | | | | | |
+ |------+------+------+-----+----+----+----+----+----+----+-----+-----+-------+-------+-----|
+ | | BTN1 | WH_U | | | | | | | | | | | | |
+ |------+------+------+-----+----+----+----+----+----+----+-----+-----+-------+-------+-----|
+ | | BTN2 | WH_D | | | |MS_L|MS_D|MS_U|MS_R| | | | | |
+ |------+------+------+-----+----+----+----+----+----+----+-----+-----+-------+-------+-----|
+ | | BTN3 | | | | | | | | | | | | | |
+ |------+------+------+-----+----+----+----+----+----+----+-----+-----+-------+-------+-----|
+
+ |------+------+----------------------+------+------+
+ | **** | **** | ******************** | **** | **** |
+ |------+------+----------------------+------+------+
+
+ */
+
+ [MOUSE] = LAYOUT_60_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_BTN1, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_BTN2, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+// clang-format on
diff --git a/keyboards/hhkb/yang/matrix.c b/keyboards/hhkb/yang/matrix.c
new file mode 100644
index 0000000000..f0eccc899d
--- /dev/null
+++ b/keyboards/hhkb/yang/matrix.c
@@ -0,0 +1,173 @@
+/*
+Copyright 2011 Jun Wako <wakojun@gmail.com>
+Copyright 2020 Kan-Ru Chen <kanru@kanru.info>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "quantum.h"
+
+#ifdef BLUETOOTH_ENABLE
+# include "adafruit_ble.h"
+#endif
+
+#define RELAX_TIME_US 5
+#define ADC_READ_TIME_US 5
+
+uint8_t power_save_level;
+
+static uint32_t matrix_last_modified = 0;
+
+static inline void key_strobe_high(void) { writePinLow(B6); }
+static inline void key_strobe_low(void) { writePinHigh(B6); }
+static inline bool key_state(void) { return readPin(D7); }
+static inline void key_prev_on(void) { writePinHigh(B7); }
+static inline void key_prev_off(void) { writePinLow(B7); }
+static inline bool key_power_state(void) { return !readPin(D6); }
+
+static inline void suspend_power_down_longer(void) {
+ uint8_t times = 60;
+ while (--times) suspend_power_down();
+}
+
+void matrix_power_up(void) {
+ dprint("[matrix_on]\n");
+ // change pins output
+ DDRB = 0xFF;
+ PORTB = 0x40;
+ // switch MOS FET on
+ setPinOutput(D6);
+ writePinLow(D6);
+}
+
+void matrix_power_down(void) {
+ dprint("[matrix_off]\n");
+ // input with pull-up consumes less than without it when pin is open
+ DDRB = 0x00;
+ PORTB = 0xFF;
+ // switch MOS FET off
+ setPinOutput(D6);
+ writePinHigh(D6);
+}
+
+static inline void key_select_row(uint8_t row) { PORTB = (PORTB & 0b11111000) | ((row)&0b111); }
+static inline void key_select_col(uint8_t col) { PORTB = (PORTB & 0b11000111) | (((col)&0b111) << 3); }
+static inline bool key_prev_was_on(matrix_row_t matrix[], uint8_t row, uint8_t col) { return matrix[row] & (1 << col); }
+
+void matrix_init_custom(void) { power_save_level = 0; }
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ bool matrix_has_changed = false;
+
+ // power on
+ if (!key_power_state()) {
+ matrix_power_up();
+ }
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ matrix_row_t last_row_value = current_matrix[row];
+
+ key_select_row(row);
+ wait_us(RELAX_TIME_US);
+
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ // Hysteresis control: assert(1) when previous key state is on
+ if (key_prev_was_on(current_matrix, row, col)) {
+ key_prev_on();
+ } else {
+ key_prev_off();
+ }
+
+ // Disable interrupts to encure the ADC timing is correct
+ cli();
+
+ // strobe
+ key_select_col(col);
+ key_strobe_high();
+
+ // Wait for ADC to outputs its value.
+ // 1us was ok on one HHKB, but not worked on another.
+ // no wait doesn't work on Teensy++ with pro(1us works)
+ // no wait does work on tmk PCB(8MHz) with pro2
+ // 1us wait does work on both of above
+ // 1us wait doesn't work on tmk(16MHz)
+ // 5us wait does work on tmk(16MHz)
+ // 5us wait does work on tmk(16MHz/2)
+ // 5us wait does work on tmk(8MHz)
+ // 10us wait does work on Teensy++ with pro
+ // 10us wait does work on 328p+iwrap with pro
+ // 10us wait doesn't work on tmk PCB(8MHz) with pro2(very lagged scan)
+ wait_us(ADC_READ_TIME_US);
+
+ if (key_state()) {
+ current_matrix[row] &= ~(1 << col);
+ } else {
+ current_matrix[row] |= (1 << col);
+ }
+
+ key_strobe_low();
+ sei();
+
+ // Make sure enough time has elapsed since the last call
+ // This is to ensure the matrix voltages have relaxed
+ wait_us(RELAX_TIME_US);
+ }
+ if (current_matrix[row] ^ last_row_value) {
+ matrix_has_changed = true;
+ matrix_last_modified = timer_read32();
+ }
+ }
+
+ // Power saving
+ uint32_t time_diff = timer_elapsed32(matrix_last_modified);
+ if (time_diff > MATRIX_POWER_SAVE_TIMEOUT_L3_MS) {
+ power_save_level = 3;
+ suspend_power_down_longer();
+ } else if (time_diff > MATRIX_POWER_SAVE_TIMEOUT_L2_MS) {
+ power_save_level = 2;
+#ifdef BLUETOOTH_ENABLE
+ if (!adafruit_ble_is_connected()) {
+ power_save_level = 3;
+ }
+#endif
+ suspend_power_down_longer();
+ } else if (time_diff > MATRIX_POWER_SAVE_TIMEOUT_MS) {
+ power_save_level = 1;
+ suspend_power_down();
+ } else {
+ if (power_save_level != 0) {
+ power_save_level = 0;
+ suspend_wakeup_init();
+ }
+ }
+
+ return matrix_has_changed;
+}
+
+bool adafruit_ble_delbonds(void);
+bool adafruit_ble_reconnect(void);
+
+bool command_extra(uint8_t code) {
+ switch (code) {
+#ifdef BLUETOOTH_ENABLE
+ case KC_R:
+ adafruit_ble_delbonds();
+ return true;
+ case KC_S:
+ adafruit_ble_reconnect();
+ return true;
+#endif
+ default:
+ return false;
+ }
+}
diff --git a/keyboards/hhkb/yang/memo.md b/keyboards/hhkb/yang/memo.md
new file mode 100644
index 0000000000..5c710482b3
--- /dev/null
+++ b/keyboards/hhkb/yang/memo.md
@@ -0,0 +1,135 @@
+## Hardware Information
+
+The YANG HHKB BLE controller design is similiar to hasu's
+controller. Most pins are compatiable.
+
+**MCU**: ATmega32U4
+**Bluetooth**: MDBT40 (nRF51822-based), with Adafruit Bluefruit LE UART Friend firmware.
+**Power**: 3.3V
+**CPU Frequency**: 8MHz
+**Bootloader**: Lufa MassStorage
+
+## Pin usage
+
+| Description | HASU pin usage | YANG mod changed |
+|:------------------------------------ | ---------------------- | -------------------------- |
+| ~KEY: Lo(0) when key is pressed | PD7 input(with pullup) | |
+| Hysteresis: Hi(1) if key was pressed | PB7 output | |
+| Row selector bit0 | PB0 output | |
+| Row selector bit1 | PB1 output | |
+| Row selector bit2 | PB2 output | |
+| Col selector bit0 | PB3 output | |
+| Col selector bit1 | PB4 output | |
+| Col selector bit2 | PB5 output | |
+| Key unable | PB6 output | |
+| Switch power | PD4 output | PD6 output (PMOS FET) |
+| Bluetooth UART Rx | PC4 input | PD2 |
+| Bluetooth UART Tx | PC5 output | PD3 |
+| Bluetooth power | | PD5 output (low: power on) |
+| LED 0 | | PF4 |
+| LED 2 | | PF1 |
+| LED 4 | | PF0 |
+| Unused for PRO2 | PC6 | |
+| Unused for PRO2 | PC7 | |
+| Inner USB power | | PF7 |
+
+## How to flash LUFA MassStorage bootloader on Linux
+
+The FAT filesystem on Linux very often cannot flush the write cache,
+leading to broken firmware in the flash.
+
+We can use `dd` to write to the virtual block storage directly to
+bypass the vfs layer.
+
+```
+dd if=FLASH.bin of=<path of virtual block device> seek=4
+```
+
+Skip 4 sectors because the default sector size of the virtual device
+and dd is 512 bytes and the emulated flash file starts at 5th sector.
+
+## How to find the path of the virtual block device
+
+After the keyboard boots into flash mode, on Linux system you should
+be able to find the block device in `dmesg` logs.
+
+For exmaple if you type
+
+```
+sudo dmesg
+```
+
+You should find something like
+
+```
+[357885.143593] usb 1-1.4: USB disconnect, device number 24
+[357885.627740] usb 1-1.4: new full-speed USB device number 25 using xhci_hcd
+[357885.729486] usb 1-1.4: New USB device found, idVendor=03eb, idProduct=1962, bcdDevice= 0.01
+[357885.729492] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
+[357885.745620] SCSI subsystem initialized
+[357885.746712] usb-storage 1-1.4:1.0: USB Mass Storage device detected
+[357885.746818] scsi host0: usb-storage 1-1.4:1.0
+[357885.746919] usbcore: registered new interface driver usb-storage
+[357885.747689] usbcore: registered new interface driver uas
+[357886.766755] scsi 0:0:0:0: Direct-Access LUFA Bootloader 0.00 PQ: 0 ANSI: 0
+[357886.773216] scsi 0:0:0:0: Attached scsi generic sg0 type 0
+[357886.777474] sd 0:0:0:0: [sdx] 134 512-byte logical blocks: (68.6 kB/67.0 KiB)
+[357886.780300] sd 0:0:0:0: [sdx] Write Protect is off
+[357886.780302] sd 0:0:0:0: [sdx] Mode Sense: 00 00 00 00
+[357886.783113] sd 0:0:0:0: [sdx] Asking for cache data failed
+[357886.783114] sd 0:0:0:0: [sdx] Assuming drive cache: write through
+[357886.842676] sdx:
+[357886.859528] sd 0:0:0:0: [sdx] Attached SCSI removable disk
+```
+
+The `sdx` is the block device name and the full path is at `/dev/sdx`
+The above flash command will become
+
+```
+dd if=FLASH.bin of=/dev/sdx seek=4
+```
+
+## Adafruit Bluefruit LE UART configuraton
+
+The default baud rate used by the firmware is 76800 although adafruit
+do not recommend using higher baudrates than 9600 because the nRF51
+UART can drop characters.
+
+Double speed mode to get more accurate async reading because the F_CPU
+speed is 8MHz.
+
+## Power saving mode design
+
+Power saving is only enabled when USB is detached and using battery
+power. Here we define several levels of power saving mode, each saves
+more power but takes longer to resume operation.
+
+1. Level 1: idle mode is activated after a short configurable time
+ (MATRIX_POWER_SAVE_TIMEOUT_MS) MCU is put into sleep mode and only
+ scan the matrix per 15ms. PORTB pins are set to input with pull-up
+ to save power. Sensing PCB is powered down between scans.
+
+2. Level 2: after idling for longer (MATRIX_POWER_SAVE_TIMEOUT_L2_MS)
+ we entry this state. Matrix scan is skipped until the time lapses
+ 900ms.
+
+2. Level 3: sleep mode is activated after a longer timeout
+ (MATRIX_POWER_SAVE_TIMEOUT_L3_MS) Bluetooth module is powered down.
+
+## Battery reading
+
+VBAT is connected to AIN6 pin on the MDBT40 module and the AREF pin is
+the reference voltage. Doing a ADC with AT+HWDAC=6 will return the
+difference between VBAT and VREF.
+
+It seems when fully charged the ADC read is 550. Likely VREF is 3311mV
+and the fully charged VBAT is thus 3861mV.
+
+Enable battery service with AT+BLEBATTEN=1 first then we can update the
+battery level by using AT+BLEBATTVAL=%d
+
+## References
+
+* https://github.com/joric/qmk/wiki/hhkb_ble
+* https://github.com/tomsmalley/custom-topre-guide
+* https://github.com/abcminiuser/lufa/blob/master/Bootloaders/MassStorage/Lib/VirtualFAT.h
diff --git a/keyboards/hhkb/yang/readme.md b/keyboards/hhkb/yang/readme.md
new file mode 100644
index 0000000000..6f85c0f198
--- /dev/null
+++ b/keyboards/hhkb/yang/readme.md
@@ -0,0 +1,118 @@
+# HHKB Alternate Controller (YANG HHKB BLE Mod)
+
+![YANG HHKB BLE Mod](https://i.imgur.com/aZP1GYc.jpeg)
+
+An alternative controler for the HHKB designed by YANG (yangdigi)
+based on the hasu controller.
+
+* Keyboard Maintainer: [Kan-Ru Chen](https://github.com/kanru)
+* Hardware Supported: YANG HHKB BLE Controller
+* Hardware Availability: https://kbdfans.com/products/hhkb-ble-mod-upgrade-module
+
+Make example for this keyboard (after setting up your build environment):
+
+ make hhkb/yang:default
+
+To flash, first boot your keyboard into bootloader (hold ESC and attach usb cable)
+then a virtual USB storage should appear. You can copy the `hhkb_yang_default.bin`
+file to the virtual USB storage and override the `HHKB_BLE.BIN` file in there.
+
+Make sure to unmount and eject the virtual USB storage.
+
+## Features:
+
+- [x] QMK (via USB)
+- [x] Bluetooth (BLE)
+- [x] Power saving mode
+ - [x] Idle mode
+ - [x] Deep sleep mode
+- [x] LEDs
+- [x] Battery service
+- [x] Special commands
+ - [x] Switch BT peer
+
+## Entering flash mode
+
+Different ways to enter flash mode:
+
+* Press and hold the ESC key. Insert the USB cable to enter the flash
+ mode. When the OS shows the drive disk, you can release the key.
+
+* Use the magic command LSHIFT+RSHIFT+B to reboot to bootloader then
+ quickly hold the ESC key.
+
+If you reflash the wrong firmware or did not reflash successfully, you
+can no longer enter the flash mode, especially the wireless keyboard
+with battery. You need to turn off the keyboard's power switch, and
+re-enter the flash mode, reflash the correct firmware.
+
+After entering the bootloader(flash mode), three indicators on the top
+right of the HHKB BLE controller will flash. LED3(green) will flash
+quickly when writing firmware to the controller.
+
+If these three leds are not soldered or your hhkb case is black, you
+can't know their status, but you can still see LED3 under the right
+USB port.
+
+## How to reliably flash LUFA MassStorage bootloader on Linux
+
+The FAT filesystem on Linux very often cannot flush the write cache,
+leading to broken firmware in the flash.
+
+We can use `dd` to write to the virtual block storage directly to
+bypass the vfs layer.
+
+```
+dd if=FLASH.bin of=<path of virtual block device> seek=4
+```
+
+Skip 4 sectors because the default sector size of the virtual device
+and dd is 512 bytes and the emulated flash file starts at 5th sector.
+
+## How to find the path of the virtual block device
+
+After the keyboard boots into flash mode, on Linux system you should
+be able to find the block device in `dmesg` logs.
+
+For exmaple if you type
+
+```
+sudo dmesg
+```
+
+You should find something like
+
+```
+[357885.143593] usb 1-1.4: USB disconnect, device number 24
+[357885.627740] usb 1-1.4: new full-speed USB device number 25 using xhci_hcd
+[357885.729486] usb 1-1.4: New USB device found, idVendor=03eb, idProduct=1962, bcdDevice= 0.01
+[357885.729492] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
+[357885.745620] SCSI subsystem initialized
+[357885.746712] usb-storage 1-1.4:1.0: USB Mass Storage device detected
+[357885.746818] scsi host0: usb-storage 1-1.4:1.0
+[357885.746919] usbcore: registered new interface driver usb-storage
+[357885.747689] usbcore: registered new interface driver uas
+[357886.766755] scsi 0:0:0:0: Direct-Access LUFA Bootloader 0.00 PQ: 0 ANSI: 0
+[357886.773216] scsi 0:0:0:0: Attached scsi generic sg0 type 0
+[357886.777474] sd 0:0:0:0: [sdx] 134 512-byte logical blocks: (68.6 kB/67.0 KiB)
+[357886.780300] sd 0:0:0:0: [sdx] Write Protect is off
+[357886.780302] sd 0:0:0:0: [sdx] Mode Sense: 00 00 00 00
+[357886.783113] sd 0:0:0:0: [sdx] Asking for cache data failed
+[357886.783114] sd 0:0:0:0: [sdx] Assuming drive cache: write through
+[357886.842676] sdx:
+[357886.859528] sd 0:0:0:0: [sdx] Attached SCSI removable disk
+```
+
+The `sdx` is the block device name and the full path is at `/dev/sdx`
+The above flash command will become
+
+```
+dd if=FLASH.bin of=/dev/sdx seek=4
+```
+
+**Caution**: if set to incorrect device it may wipe out
+your actual disk.
+
+## Help page of original firmware
+
+http://help.ydkb.io/doku.php?id=en:kb-mods:hhkb-ble
diff --git a/keyboards/hhkb/yang/rules.mk b/keyboards/hhkb/yang/rules.mk
new file mode 100644
index 0000000000..6027a07176
--- /dev/null
+++ b/keyboards/hhkb/yang/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# MCU frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = lufa-ms
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # USB Nkey Rollover
+
+LAYOUTS = 60_hhkb
+
+# Disable bluetooth until the UART code is merged
+BLUETOOTH_DRIVER = BluefruitLE
+
+# Custom matrix file for the HHKB
+CUSTOM_MATRIX = lite
+SRC += matrix.c
diff --git a/keyboards/hhkb/yang/yang.c b/keyboards/hhkb/yang/yang.c
new file mode 100644
index 0000000000..7ae0d76390
--- /dev/null
+++ b/keyboards/hhkb/yang/yang.c
@@ -0,0 +1,118 @@
+/* Copyright 2021 Kan-Ru Chen <kanru@kanru.info>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "yang.h"
+
+extern uint8_t power_save_level;
+
+void hhkb_led_on(uint8_t led) {
+ switch (led) {
+ case 1:
+ writePinHigh(F4);
+ break;
+ case 2:
+ writePinHigh(F2);
+ break;
+ case 3:
+ writePinHigh(F0);
+ break;
+ }
+}
+
+void hhkb_led_off(uint8_t led) {
+ switch (led) {
+ case 1:
+ writePinLow(F4);
+ break;
+ case 2:
+ writePinLow(F2);
+ break;
+ case 3:
+ writePinLow(F0);
+ break;
+ }
+}
+
+void keyboard_pre_init_kb(void) {
+ // BT power up
+ setPinOutput(D5);
+ writePinLow(D5);
+
+ // Row selectors
+ setPinOutput(B0);
+ setPinOutput(B1);
+ setPinOutput(B2);
+
+ // Col selectors
+ setPinOutput(B3);
+ setPinOutput(B4);
+ setPinOutput(B5);
+
+ // Key strobe
+ setPinOutput(B6);
+ writePinHigh(B6);
+
+ // Key: input with pull-up
+ setPinInputHigh(D7);
+
+ // Unused pins on Pro2 ANSI
+ // Input with pull up to save power
+ setPinInputHigh(C6);
+ setPinInputHigh(C7);
+
+ // LED pin configuration
+ setPinOutput(F0);
+ setPinOutput(F1);
+ setPinOutput(F4);
+ writePinLow(F0);
+ writePinLow(F1);
+ writePinLow(F4);
+
+ // Turn on switch PCB
+ setPinOutput(D6);
+ writePinLow(D6);
+
+ keyboard_pre_init_user();
+}
+
+void suspend_power_down_kb(void) {
+ if (power_save_level > 2) {
+ // Disable UART TX to avoid current leakage
+ UCSR1B &= ~_BV(TXEN1);
+ // Power down BLE module
+ writePinHigh(D5);
+ }
+
+ suspend_power_down_user();
+}
+
+void suspend_wakeup_init_kb(void) {
+ // Power up BLE module
+ writePinLow(D5);
+ // Enable UART TX
+ UCSR1B |= _BV(TXEN1);
+
+ suspend_wakeup_init_user();
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+
+ writePin(F1, IS_LAYER_ON_STATE(state, 1));
+ writePin(F0, IS_LAYER_ON_STATE(state, 2));
+
+ return state;
+}
diff --git a/keyboards/hhkb/yang/yang.h b/keyboards/hhkb/yang/yang.h
new file mode 100644
index 0000000000..4858c18554
--- /dev/null
+++ b/keyboards/hhkb/yang/yang.h
@@ -0,0 +1,36 @@
+/* Copyright 2021 Kan-Ru Chen <kanru@kanru.info>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_60_hhkb( \
+ K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \
+ K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \
+ K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \
+ K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \
+ K35, K36, K37, K57, K56) \
+ \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17 }, \
+ { K20, K21, K22, K23, K24, K25, K26, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37 }, \
+ { K40, K41, K42, K43, K44, K45, K46, KC_NO }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57 }, \
+ { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
+ { K70, K71, K72, K73, K74, K75, K76, KC_NO } \
+}
diff --git a/keyboards/hhkb_lite_2/config.h b/keyboards/hhkb_lite_2/config.h
index d9dd641951..c264169d5b 100644
--- a/keyboards/hhkb_lite_2/config.h
+++ b/keyboards/hhkb_lite_2/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x88B2
-#define PRODUCT_ID 0x88B2
-#define DEVICE_VER 0x0002
-#define MANUFACTURER PFU
-#define PRODUCT HHKB Lite 2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 14
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, F4, F1, F0, B0, B1, B2, B3 }
#define MATRIX_COL_PINS { F6, F7, B6, B5, B4, D7, D6, D4, D5, C7, C6, D3, D2, D1}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hhkb_lite_2/info.json b/keyboards/hhkb_lite_2/info.json
index 0793adafd1..bceac58ba4 100644
--- a/keyboards/hhkb_lite_2/info.json
+++ b/keyboards/hhkb_lite_2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "HHKB Lite 2",
+ "manufacturer": "PFU",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x88B2",
+ "pid": "0x88B2",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hidtech/bastyl/config.h b/keyboards/hidtech/bastyl/config.h
index f89e993abe..22bdc6c8bd 100644
--- a/keyboards/hidtech/bastyl/config.h
+++ b/keyboards/hidtech/bastyl/config.h
@@ -18,11 +18,6 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0xA8F7
-#define PRODUCT_ID 0x1827
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HID Technologies
-#define PRODUCT Bastyl
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
diff --git a/keyboards/hidtech/bastyl/info.json b/keyboards/hidtech/bastyl/info.json
index 5730cf5af2..a15d5efcf0 100644
--- a/keyboards/hidtech/bastyl/info.json
+++ b/keyboards/hidtech/bastyl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bastyl",
+ "manufacturer": "HID Technologies",
"url": "https://www.hidtech.ca/?product=bastyl-black",
"maintainer": "HID-Technologies",
+ "usb": {
+ "vid": "0xA8F7",
+ "pid": "0x1827",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c b/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c
index 0b986a5099..16844a6c6e 100644
--- a/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c
+++ b/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL,
_______, KC_RGHT, _______, _______, _______, _______,
- KC_LEFT, _______, RESET , _______
+ KC_LEFT, _______, QK_BOOT, _______
),
[_RAISE] = LAYOUT(
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c
index 507dd0b151..96d94d253c 100644
--- a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c
+++ b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c
@@ -65,6 +65,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//-------------------------------//
_______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
//-------------------------------//
- RESET, _______, _______, _______, _______, RESET,
+ QK_BOOT, _______, _______, _______, _______, QK_BOOT,
//-------------------------------//
_______, KC_F11, KC_F12, _______)};
diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c b/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c
index 0ed6ca94e7..cb575caf88 100644
--- a/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c
+++ b/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- RESET, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, RESET,
+ _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, QK_BOOT,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, KC_DEL, _______, _______, _______, _______,
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
diff --git a/keyboards/hifumi/config.h b/keyboards/hifumi/config.h
index cdbc9ea4f1..3475843da2 100644
--- a/keyboards/hifumi/config.h
+++ b/keyboards/hifumi/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER riconken
-#define PRODUCT hifumi
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6 }
#define MATRIX_COL_PINS { F4, F5, F6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/hifumi/info.json b/keyboards/hifumi/info.json
index 27310fc8ef..5f9821a7d8 100644
--- a/keyboards/hifumi/info.json
+++ b/keyboards/hifumi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hifumi",
+ "manufacturer": "riconken",
"url": "https://github.com/zk-phi/1x2x3-keyboard",
"maintainer": "riconken",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F5", "x":0, "y":0}, {"label":"Up", "x":1, "y":0}, {"label":"PrSc", "x":2, "y":0}, {"label":"Left", "x":0, "y":1}, {"label":"Down", "x":1, "y":1}, {"label":"Right", "x":2, "y":1}]
diff --git a/keyboards/hineybush/h08_ocelot/config.h b/keyboards/hineybush/h08_ocelot/config.h
index 80f1a1df1e..2499e4ba50 100644
--- a/keyboards/hineybush/h08_ocelot/config.h
+++ b/keyboards/hineybush/h08_ocelot/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8E9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hiney LLC
-#define PRODUCT h08
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B6 }
#define MATRIX_COL_PINS { F4, C7, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h08_ocelot/info.json b/keyboards/hineybush/h08_ocelot/info.json
index 2e8dd25a87..94de718a3e 100644
--- a/keyboards/hineybush/h08_ocelot/info.json
+++ b/keyboards/hineybush/h08_ocelot/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h08",
+ "manufacturer": "Hiney LLC",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8E9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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}]
diff --git a/keyboards/hineybush/h08_ocelot/readme.md b/keyboards/hineybush/h08_ocelot/readme.md
index 07d170101c..fd44f4263d 100644
--- a/keyboards/hineybush/h08_ocelot/readme.md
+++ b/keyboards/hineybush/h08_ocelot/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/hineybush/h10/config.h b/keyboards/hineybush/h10/config.h
index eafcd95eef..2f8fb70069 100644
--- a/keyboards/hineybush/h10/config.h
+++ b/keyboards/hineybush/h10/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEBD8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush
-#define PRODUCT h10
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, C6, B6, B5, B4, D7 }
#define MATRIX_COL_PINS { F0, C7, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h10/info.json b/keyboards/hineybush/h10/info.json
index ecc8bd4c39..6570e0af49 100644
--- a/keyboards/hineybush/h10/info.json
+++ b/keyboards/hineybush/h10/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h10",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEBD8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/hineybush/h60/config.h b/keyboards/hineybush/h60/config.h
index 00c238a860..f2205d1121 100644
--- a/keyboards/hineybush/h60/config.h
+++ b/keyboards/hineybush/h60/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEBBE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT h60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B6, B5, B4, D7, E6 }
#define MATRIX_COL_PINS { B3, D0, D1, D2, D3, D5, D6, C7, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h60/info.json b/keyboards/hineybush/h60/info.json
index 81b4757a77..b32da796d7 100644
--- a/keyboards/hineybush/h60/info.json
+++ b/keyboards/hineybush/h60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h60",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEBBE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/hineybush/h60/keymaps/kei/keymap.c b/keyboards/hineybush/h60/keymaps/kei/keymap.c
index 528e1ac970..30a289b9ff 100644
--- a/keyboards/hineybush/h60/keymaps/kei/keymap.c
+++ b/keyboards/hineybush/h60/keymaps/kei/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
[_FN] = LAYOUT_60_hhkb(
KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS),
diff --git a/keyboards/hineybush/h65/config.h b/keyboards/hineybush/h65/config.h
index 19c9c5b5d8..f4f3900afe 100644
--- a/keyboards/hineybush/h65/config.h
+++ b/keyboards/hineybush/h65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE9E4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hiney LLC
-#define PRODUCT h65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, D6, D4, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, B0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h65/info.json b/keyboards/hineybush/h65/info.json
index dcca3f4868..500843fe07 100644
--- a/keyboards/hineybush/h65/info.json
+++ b/keyboards/hineybush/h65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h65",
+ "manufacturer": "Hiney LLC",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE9E4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hineybush/h65/readme.md b/keyboards/hineybush/h65/readme.md
index c793a44966..91a15c6222 100644
--- a/keyboards/hineybush/h65/readme.md
+++ b/keyboards/hineybush/h65/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/hineybush/h65_hotswap/config.h b/keyboards/hineybush/h65_hotswap/config.h
index f266003a88..f4f3900afe 100644
--- a/keyboards/hineybush/h65_hotswap/config.h
+++ b/keyboards/hineybush/h65_hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8B7
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hiney LLC
-#define PRODUCT h65 hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, D6, D4, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, B0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h65_hotswap/info.json b/keyboards/hineybush/h65_hotswap/info.json
index 46b5192d68..c2472e6879 100644
--- a/keyboards/hineybush/h65_hotswap/info.json
+++ b/keyboards/hineybush/h65_hotswap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h65 hotswap",
+ "manufacturer": "Hiney LLC",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8B7",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/hineybush/h65_hotswap/readme.md b/keyboards/hineybush/h65_hotswap/readme.md
index 5e2250b5af..591b25b337 100644
--- a/keyboards/hineybush/h65_hotswap/readme.md
+++ b/keyboards/hineybush/h65_hotswap/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/hineybush/h660s/config.h b/keyboards/hineybush/h660s/config.h
index 45a1c53508..582c1b0958 100644
--- a/keyboards/hineybush/h660s/config.h
+++ b/keyboards/hineybush/h660s/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB1B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT h660s
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, E6, B3, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h660s/info.json b/keyboards/hineybush/h660s/info.json
index 6671a8d777..f3a5f7aaf4 100644
--- a/keyboards/hineybush/h660s/info.json
+++ b/keyboards/hineybush/h660s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "h660-s",
+ "keyboard_name": "h660s",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "Josh Hinnebusch",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB1B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_66_ansi": {
"layout": [
diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h
index c8b3ab7285..f1428d0b19 100644
--- a/keyboards/hineybush/h75_singa/config.h
+++ b/keyboards/hineybush/h75_singa/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEC9A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Singa Keyboards
-#define PRODUCT h75_singa
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, D0, D1, D2, D6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, B2, D4, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h75_singa/info.json b/keyboards/hineybush/h75_singa/info.json
index 89a3c34667..ba2f50b355 100644
--- a/keyboards/hineybush/h75_singa/info.json
+++ b/keyboards/hineybush/h75_singa/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h75_singa",
+ "manufacturer": "Singa Keyboards",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEC9A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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}, {"x":14, "y":1}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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}, {"x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":3, "w":1.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"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":"\u2191", "x":14, "y":4}, {"label":"End", "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":2.75}, {"x":6.5, "y":5, "w":1.25}, {"x":7.75, "y":5, "w":2.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/hineybush/h75_singa/keymaps/wkl_std/keymap.c b/keyboards/hineybush/h75_singa/keymaps/wkl_std/keymap.c
index 694d851d94..3b3aa15679 100644
--- a/keyboards/hineybush/h75_singa/keymaps/wkl_std/keymap.c
+++ b/keyboards/hineybush/h75_singa/keymaps/wkl_std/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_wkl_std(
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_MOD,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
diff --git a/keyboards/hineybush/h87a/config.h b/keyboards/hineybush/h87a/config.h
index e6aeb38707..1200dbd9fb 100644
--- a/keyboards/hineybush/h87a/config.h
+++ b/keyboards/hineybush/h87a/config.h
@@ -15,13 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xECE9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT h87a
-
#define CONFIG_H
#include "config_common.h"
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, D0, D1, B5, B6, D7, B4, D6, D4 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h87a/info.json b/keyboards/hineybush/h87a/info.json
index 40f844335a..e9164edfcd 100644
--- a/keyboards/hineybush/h87a/info.json
+++ b/keyboards/hineybush/h87a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "h87a",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xECE9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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}, {"x":13, "y":1.5}, {"label":"Bksp", "x":14, "y":1.5}, {"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}, {"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}, {"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":1.75}, {"x":14, "y":4.5}, {"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":"Win", "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}]
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
index d59438f6b3..8a0013b55e 100644
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
+++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
@@ -183,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* *-----------------------------------------------------------------------*
*/
[_AL] = LAYOUT_all( \
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \
_______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
@@ -245,7 +245,7 @@ void matrix_scan_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _BL:
custom_backlight_level(0);
rgblight_sethsv_noeeprom(180,100,255);
diff --git a/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c b/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c
index 985baca2a7..8e3c1efcb7 100644
--- a/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c
+++ b/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c
@@ -23,5 +23,5 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, 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_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_BSPC, KC_DEL, KC_END, KC_PGDN, 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_ENT, KC_LSPO, KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, LT(2,KC_HOME), KC_UP, LCTL_T(KC_MPRV), LGUI_T(KC_MPLY), LALT_T(KC_MNXT), LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_APP, RCTL_T(KC_END), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_all(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_VOLU, KC_TRNS, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT_all(KC_TRNS, 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, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_VAI, RGB_SPI, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
+ [2] = LAYOUT_all(KC_TRNS, 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, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_VAI, RGB_SPI, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
}; \ No newline at end of file
diff --git a/keyboards/hineybush/h88/config.h b/keyboards/hineybush/h88/config.h
index 89af18b6e3..79481fbb0a 100644
--- a/keyboards/hineybush/h88/config.h
+++ b/keyboards/hineybush/h88/config.h
@@ -19,15 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xECA2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT h88
-
-
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -44,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, D0, D1, B5, B6, D7, B4, D6, D4 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/h88/info.json b/keyboards/hineybush/h88/info.json
index 07aa168f48..559e7a2027 100644
--- a/keyboards/hineybush/h88/info.json
+++ b/keyboards/hineybush/h88/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "h88a",
+ "keyboard_name": "h88",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xECA2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"label":"Bksp", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"label":"Enter", "x":13.75, "y":3.25, "w":1.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/hineybush/hbcp/config.h b/keyboards/hineybush/hbcp/config.h
index 5b7948883b..a92ddc1aa8 100644
--- a/keyboards/hineybush/hbcp/config.h
+++ b/keyboards/hineybush/hbcp/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xECE8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT hbcp
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, B6, D0, C7, C6, C5 }
#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, B5, B4, B3, B2 }
-#define UNUSED_PINS
//EITHERWAY is supported through a custom matrix
//#define DIODE_DIRECTION EITHERWAY
diff --git a/keyboards/hineybush/hbcp/info.json b/keyboards/hineybush/hbcp/info.json
index d6f7c84bbc..d63e293bb5 100644
--- a/keyboards/hineybush/hbcp/info.json
+++ b/keyboards/hineybush/hbcp/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hbcp",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xECE8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
index bcfb9ed5bc..aff976549d 100644
--- a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
+++ b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_wkl(
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK,KC_HOME, 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, RGB_HUD, RGB_HUI,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, RGB_SAD, RGB_SAI,KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, QK_BOOT ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI,KC_TRNS, KC_TRNS,
KC_CAPS, 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_VAD, 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, KC_TRNS, KC_TRNS, KC_VOLU, RGB_TOG, RGB_MOD,KC_TRNS,
KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_TRNS,KC_TRNS, KC_TRNS
diff --git a/keyboards/hineybush/hineyg80/config.h b/keyboards/hineybush/hineyg80/config.h
index 1567609ff7..4014bc804f 100644
--- a/keyboards/hineybush/hineyg80/config.h
+++ b/keyboards/hineybush/hineyg80/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush
-#define PRODUCT hineyG80
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B2, B3, D0, B1, D2, D1, D5, D3, D6, D4, B4, D7 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/hineyg80/info.json b/keyboards/hineybush/hineyg80/info.json
index 68462b827e..40c54ebe40 100644
--- a/keyboards/hineybush/hineyg80/info.json
+++ b/keyboards/hineybush/hineyg80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hineyg80",
+ "keyboard_name": "hineyG80",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Pause", "x":15.5, "y":0}, {"label":"Insert", "x":16.5, "y":0}, {"label":"Home", "x":17.5, "y":0}, {"label":"PgUp", "x":18.5, "y":0}, {"label":"Scroll Lock", "x":15.5, "y":1}, {"label":"Delete", "x":16.5, "y":1}, {"label":"End", "x":17.5, "y":1}, {"label":"PgDn", "x":18.5, "y":1}, {"label":"~", "x":0, "y":2}, {"label":"!", "x":1, "y":2}, {"label":"@", "x":2, "y":2}, {"label":"#", "x":3, "y":2}, {"label":"$", "x":4, "y":2}, {"label":"%", "x":5, "y":2}, {"label":"^", "x":6, "y":2}, {"label":"&", "x":7, "y":2}, {"label":"*", "x":8, "y":2}, {"label":"(", "x":9, "y":2}, {"label":")", "x":10, "y":2}, {"label":"_", "x":11, "y":2}, {"label":"+", "x":12, "y":2}, {"label":"Bksp", "x":13, "y":2}, {"x":14, "y":2}, {"label":"Num Lock", "x":15.5, "y":2}, {"label":"/", "x":16.5, "y":2}, {"label":"*", "x":17.5, "y":2}, {"label":"-", "x":18.5, "y":2}, {"label":"Tab", "x":0, "y":3, "w":1.5}, {"label":"Q", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"E", "x":3.5, "y":3}, {"label":"R", "x":4.5, "y":3}, {"label":"T", "x":5.5, "y":3}, {"label":"Y", "x":6.5, "y":3}, {"label":"U", "x":7.5, "y":3}, {"label":"I", "x":8.5, "y":3}, {"label":"O", "x":9.5, "y":3}, {"label":"P", "x":10.5, "y":3}, {"label":"{", "x":11.5, "y":3}, {"label":"}", "x":12.5, "y":3}, {"label":"|", "x":13.5, "y":3, "w":1.5}, {"label":"7", "x":15.5, "y":3}, {"label":"8", "x":16.5, "y":3}, {"label":"9", "x":17.5, "y":3}, {"label":"+", "x":18.5, "y":3}, {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, {"label":"A", "x":1.75, "y":4}, {"label":"S", "x":2.75, "y":4}, {"label":"D", "x":3.75, "y":4}, {"label":"F", "x":4.75, "y":4}, {"label":"G", "x":5.75, "y":4}, {"label":"H", "x":6.75, "y":4}, {"label":"J", "x":7.75, "y":4}, {"label":"K", "x":8.75, "y":4}, {"label":"L", "x":9.75, "y":4}, {"label":":", "x":10.75, "y":4}, {"label":"\"", "x":11.75, "y":4}, {"x":12.75, "y":4}, {"label":"Enter", "x":13.75, "y":4, "w":1.25}, {"label":"4", "x":15.5, "y":4}, {"label":"5", "x":16.5, "y":4}, {"label":"6", "x":17.5, "y":4}, {"x":18.5, "y":4}, {"label":"Shift", "x":0, "y":5, "w":1.25}, {"x":1.25, "y":5}, {"label":"Z", "x":2.25, "y":5}, {"label":"X", "x":3.25, "y":5}, {"label":"C", "x":4.25, "y":5}, {"label":"V", "x":5.25, "y":5}, {"label":"B", "x":6.25, "y":5}, {"label":"N", "x":7.25, "y":5}, {"label":"M", "x":8.25, "y":5}, {"label":"<", "x":9.25, "y":5}, {"label":">", "x":10.25, "y":5}, {"label":"?", "x":11.25, "y":5}, {"label":"Shift", "x":12.25, "y":5, "w":1.75}, {"label":"\u2191", "x":14.25, "y":5.25}, {"label":"1", "x":15.5, "y":5}, {"label":"2", "x":16.5, "y":5}, {"label":"3", "x":17.5, "y":5}, {"label":"Enter", "x":18.5, "y":5, "h":2}, {"label":"Ctrl", "x":0, "y":6}, {"label":"Win", "x":1, "y":6}, {"label":"Alt", "x":2, "y":6}, {"x":3, "y":6, "w":6}, {"label":"Alt", "x":9, "y":6}, {"label":"Win", "x":10, "y":6}, {"label":"Menu", "x":11, "y":6}, {"label":"Ctrl", "x":12, "y":6}, {"label":"\u2190", "x":13.25, "y":6.25}, {"label":"\u2193", "x":14.25, "y":6.25}, {"label":"\u2192", "x":15.25, "y":6.25}, {"label":"0", "x":16.5, "y":6}, {"label":".", "x":17.5, "y":6}]
diff --git a/keyboards/hineybush/ibis/readme.md b/keyboards/hineybush/ibis/readme.md
index 0c345e7c81..e20be2e7f6 100644
--- a/keyboards/hineybush/ibis/readme.md
+++ b/keyboards/hineybush/ibis/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/hineybush/physix/config.h b/keyboards/hineybush/physix/config.h
index 87c49270b3..6557696f89 100644
--- a/keyboards/hineybush/physix/config.h
+++ b/keyboards/hineybush/physix/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEC81
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LZ
-#define PRODUCT PhysiX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, C7, C6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B3, B2, B1, B0, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS { B6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/physix/info.json b/keyboards/hineybush/physix/info.json
index 4d5133945f..274f9bb725 100644
--- a/keyboards/hineybush/physix/info.json
+++ b/keyboards/hineybush/physix/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "physix",
+ "keyboard_name": "PhysiX",
+ "manufacturer": "LZ",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEC81",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hineybush/sm68/config.h b/keyboards/hineybush/sm68/config.h
index 89541179c2..62de4db381 100644
--- a/keyboards/hineybush/sm68/config.h
+++ b/keyboards/hineybush/sm68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEC9F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER hineybush keyboards
-#define PRODUCT sm68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B1, B0, D4, D1 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hineybush/sm68/info.json b/keyboards/hineybush/sm68/info.json
index ec4227af86..a3b9e4c051 100644
--- a/keyboards/hineybush/sm68/info.json
+++ b/keyboards/hineybush/sm68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sm68",
+ "manufacturer": "hineybush",
"url": "",
"maintainer": "hineybush",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEC9F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi_split_bs_rshift": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Insert", "x":15.5, "y":0}, {"x":16.5, "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":"Delete", "x":15.5, "y":1}, {"x":16.5, "y":1}, {"label":"Caps Lock", "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":1.75}, {"x":14, "y":3}, {"label":"\u2191", "x":15.5, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.5, "y":4}, {"label":"\u2193", "x":15.5, "y":4}, {"label":"\u2192", "x":16.5, "y":4}]
diff --git a/keyboards/hnahkb/freyr/config.h b/keyboards/hnahkb/freyr/config.h
index 9658793aa2..57abe3e37e 100644
--- a/keyboards/hnahkb/freyr/config.h
+++ b/keyboards/hnahkb/freyr/config.h
@@ -19,13 +19,6 @@ 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 0x1895
-#define DEVICE_VER 0x0002
-#define MANUFACTURER HnahKB
-#define PRODUCT Freyr
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, B2, B1, B0, E6, F0, D2, D5, F4, F1 }
#define MATRIX_COL_PINS { B4, D7, D6, D4, B5, C7, C6, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hnahkb/freyr/info.json b/keyboards/hnahkb/freyr/info.json
index e2b1c6c2c0..4bb8ae739d 100644
--- a/keyboards/hnahkb/freyr/info.json
+++ b/keyboards/hnahkb/freyr/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "freyr",
+ "keyboard_name": "Freyr",
+ "manufacturer": "HnahKB",
"url": "",
"maintainer": "vuhopkep",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1895",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hnahkb/stella/config.h b/keyboards/hnahkb/stella/config.h
index 2ca475c38c..043c9933da 100644
--- a/keyboards/hnahkb/stella/config.h
+++ b/keyboards/hnahkb/stella/config.h
@@ -19,13 +19,6 @@ 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 0x0AB7
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HnahKB
-#define PRODUCT Stella
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, B2, B1, B0, E6, F0, D2, D5, F4, F1 }
#define MATRIX_COL_PINS { B4, D7, D6, D4, B5, C7, C6, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hnahkb/stella/info.json b/keyboards/hnahkb/stella/info.json
index da36b6b264..bd3870bd4e 100644
--- a/keyboards/hnahkb/stella/info.json
+++ b/keyboards/hnahkb/stella/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stella",
+ "manufacturer": "HnahKB",
"url": "",
"maintainer": "VGS",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0AB7",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hnahkb/vn66/config.h b/keyboards/hnahkb/vn66/config.h
index 1f6387fafa..92fd3d456c 100644
--- a/keyboards/hnahkb/vn66/config.h
+++ b/keyboards/hnahkb/vn66/config.h
@@ -19,13 +19,6 @@ 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 0xCA2C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HnahKB
-#define PRODUCT VN66
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, B2, B3, D2, F7 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, C6, C7, B5, B4, D7, D6, D4, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/hnahkb/vn66/info.json b/keyboards/hnahkb/vn66/info.json
index a1063ce993..bff3ba596d 100644
--- a/keyboards/hnahkb/vn66/info.json
+++ b/keyboards/hnahkb/vn66/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "vn66",
+ "keyboard_name": "VN66",
+ "manufacturer": "HnahKB",
"url": "fb.com/groups/VietNamMechKey/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA2C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/holyswitch/southpaw75/config.h b/keyboards/holyswitch/southpaw75/config.h
index c9971625ad..eebe290e14 100644
--- a/keyboards/holyswitch/southpaw75/config.h
+++ b/keyboards/holyswitch/southpaw75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x484F // "HO" short for Holy Switch
-#define PRODUCT_ID 0x5350 // "SP" short for Southpaw
-#define DEVICE_VER 0x0001
-#define MANUFACTURER drewguy
-#define PRODUCT southpaw default
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 9
diff --git a/keyboards/holyswitch/southpaw75/info.json b/keyboards/holyswitch/southpaw75/info.json
index ff993260ba..f96a75e3cc 100644
--- a/keyboards/holyswitch/southpaw75/info.json
+++ b/keyboards/holyswitch/southpaw75/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Southpaw75",
+ "keyboard_name": "southpaw default",
+ "manufacturer": "drewguy",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x484F",
+ "pid": "0x5350",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/horizon/config.h b/keyboards/horizon/config.h
index bb0a6dcbfc..65af08d288 100644
--- a/keyboards/horizon/config.h
+++ b/keyboards/horizon/config.h
@@ -19,20 +19,12 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Steven Karrmann
-#define PRODUCT Horizon
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { D3, D2, D1, F4 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7, C6, D4, D0 }
-#define UNUSED_PINS { }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/horizon/info.json b/keyboards/horizon/info.json
index ea5f9cb034..c0dc63c1f1 100644
--- a/keyboards/horizon/info.json
+++ b/keyboards/horizon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Horizon",
+ "manufacturer": "Steven Karrmann",
"url": "https://github.com/skarrmann/horizon",
"maintainer": "Steven Karrmann",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/horizon/readme.md b/keyboards/horizon/readme.md
index 7999503fb5..1ac64b42ce 100644
--- a/keyboards/horizon/readme.md
+++ b/keyboards/horizon/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard.
* **Physical reset button**: Briefly press the button on the top center of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/config.h
index c3b5ff75a5..bcd38d62c7 100644
--- a/keyboards/horrortroll/chinese_pcb/black_e65/config.h
+++ b/keyboards/horrortroll/chinese_pcb/black_e65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7516
-#define PRODUCT_ID 0x6003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HorrorTroll
-#define PRODUCT Black E6.5
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -45,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change larger keys per scan for elite gaming */
-#define QMK_KEYS_PER_SCAN 12
-
/* LED Indicator */
#define LED_CAPS_LOCK_PIN C7
diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/info.json b/keyboards/horrortroll/chinese_pcb/black_e65/info.json
index 6e53613d4c..f08cdf109f 100644
--- a/keyboards/horrortroll/chinese_pcb/black_e65/info.json
+++ b/keyboards/horrortroll/chinese_pcb/black_e65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Devil68 Pro",
+ "keyboard_name": "Black E6.5",
+ "manufacturer": "HorrorTroll",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x7516",
+ "pid": "0x6003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/readme.md b/keyboards/horrortroll/chinese_pcb/black_e65/readme.md
index 2a08ee20f3..115f91424b 100644
--- a/keyboards/horrortroll/chinese_pcb/black_e65/readme.md
+++ b/keyboards/horrortroll/chinese_pcb/black_e65/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (3,6) in the matrix (B key) and plug in the keyboard
* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
index af7affbb83..8a227f3c49 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7516
-#define PRODUCT_ID 0x6001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HorrorTroll
-#define PRODUCT Devil68 Pro
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -45,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change larger keys per scan for elite gaming */
-#define QMK_KEYS_PER_SCAN 12
-
#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 86
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
index 9e7f4524a3..ff541f7ef2 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Devil68 Pro",
+ "manufacturer": "HorrorTroll",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x7516",
+ "pid": "0x6001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/readme.md b/keyboards/horrortroll/chinese_pcb/devil68_pro/readme.md
index 27bd974af4..0d486832b3 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/readme.md
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (3,6) in the matrix (B key) and plug in the keyboard
* **Reset by wire**: Using a wire, 1 head to GND hole and other one to Reset pin on MCU
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h
index 3caaee51e5..d3c385f64e 100644
--- a/keyboards/horrortroll/handwired_k552/config.h
+++ b/keyboards/horrortroll/handwired_k552/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7516
-#define PRODUCT_ID 0x5104
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HorrorTroll
-#define PRODUCT K552 Kumara
-
/* Key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -46,9 +39,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change larger keys per scan for elite gaming */
-#define QMK_KEYS_PER_SCAN 12
-
/* EEPROM size */
#define EEPROM_PAGE_SIZE
#define FEE_PAGE_SIZE 0x800
diff --git a/keyboards/horrortroll/handwired_k552/info.json b/keyboards/horrortroll/handwired_k552/info.json
index 2db30bb552..825493738a 100644
--- a/keyboards/horrortroll/handwired_k552/info.json
+++ b/keyboards/horrortroll/handwired_k552/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Handwired K552 Kumara",
+ "keyboard_name": "K552 Kumara",
+ "manufacturer": "HorrorTroll",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x7516",
+ "pid": "0x5104",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/horrortroll/handwired_k552/readme.md b/keyboards/horrortroll/handwired_k552/readme.md
index 85e99f4cd4..e45cab9f9c 100644
--- a/keyboards/horrortroll/handwired_k552/readme.md
+++ b/keyboards/horrortroll/handwired_k552/readme.md
@@ -19,4 +19,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (4,6) in the matrix (B key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/horrortroll/lemon40/config.h b/keyboards/horrortroll/lemon40/config.h
index 8bc8f01d4c..c3e1972ae3 100644
--- a/keyboards/horrortroll/lemon40/config.h
+++ b/keyboards/horrortroll/lemon40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7516
-#define PRODUCT_ID 0x2434
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HorrorTroll
-#define PRODUCT Lemon40
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -45,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Larger keys per scan */
-#define QMK_KEYS_PER_SCAN 12
-
/* RGB light config */
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/horrortroll/lemon40/info.json b/keyboards/horrortroll/lemon40/info.json
index 322fcc3a0c..9aa73df1fa 100644
--- a/keyboards/horrortroll/lemon40/info.json
+++ b/keyboards/horrortroll/lemon40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lemon40",
+ "manufacturer": "HorrorTroll",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x7516",
+ "pid": "0x2434",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/horrortroll/lemon40/readme.md b/keyboards/horrortroll/lemon40/readme.md
index 4c2a7bd543..7cb71f9f20 100644
--- a/keyboards/horrortroll/lemon40/readme.md
+++ b/keyboards/horrortroll/lemon40/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
* **Reset by wire**: Using a wire, 1 head to GND hole and other one to RST hole
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/horrortroll/paws60/config.h b/keyboards/horrortroll/paws60/config.h
index d502ee985c..055a6ae319 100644
--- a/keyboards/horrortroll/paws60/config.h
+++ b/keyboards/horrortroll/paws60/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7516
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HorrorTroll
-#define PRODUCT Paws 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,6 +37,3 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-
-/* Larger keys per scan */
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/horrortroll/paws60/info.json b/keyboards/horrortroll/paws60/info.json
index 78cb1a7938..2a67134750 100644
--- a/keyboards/horrortroll/paws60/info.json
+++ b/keyboards/horrortroll/paws60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Paws 60",
+ "manufacturer": "HorrorTroll",
"url": "https://github.com/HorrorTroll/KeebProj/tree/default/paws60/pcb/Hotswap",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x7516",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/horrortroll/paws60/readme.md b/keyboards/horrortroll/paws60/readme.md
index 62783d3b5e..93acfdfc3e 100644
--- a/keyboards/horrortroll/paws60/readme.md
+++ b/keyboards/horrortroll/paws60/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (3,6) in the matrix (B key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/hotdox/config.h b/keyboards/hotdox/config.h
index b72faa613c..7dc6840c4b 100644
--- a/keyboards/hotdox/config.h
+++ b/keyboards/hotdox/config.h
@@ -2,15 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x414B // 'AK' for Alpaca Keyboards
-#define PRODUCT_ID 0x0001 // sequentially numbered
-
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alpaca Keyboards
-#define PRODUCT ErgoDox 76 "HotDox"
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
diff --git a/keyboards/hotdox/info.json b/keyboards/hotdox/info.json
index 953c12f712..0303f1eb1e 100644
--- a/keyboards/hotdox/info.json
+++ b/keyboards/hotdox/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "HotDox",
+ "keyboard_name": "Ergodox 76 \"HotDox\"",
+ "manufacturer": "Alpaca Keyboards",
"maintainer": "layne001365",
+ "usb": {
+ "vid": "0x414B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ergodox": {
diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c
index fe07e6f91d..eb4692a4c2 100644
--- a/keyboards/hotdox/keymaps/default/keymap.c
+++ b/keyboards/hotdox/keymaps/default/keymap.c
@@ -163,7 +163,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_right_led_1_off();
ergodox_right_led_2_off();
diff --git a/keyboards/hotdox/keymaps/eozaki/keymap.c b/keyboards/hotdox/keymaps/eozaki/keymap.c
index 3516f20303..d4b8f491fd 100644
--- a/keyboards/hotdox/keymaps/eozaki/keymap.c
+++ b/keyboards/hotdox/keymaps/eozaki/keymap.c
@@ -170,7 +170,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/hotdox/keymaps/imchipwood/keymap.c b/keyboards/hotdox/keymaps/imchipwood/keymap.c
index c5d7bc34cf..6dda884fa6 100644
--- a/keyboards/hotdox/keymaps/imchipwood/keymap.c
+++ b/keyboards/hotdox/keymaps/imchipwood/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | Lclk | Rclk | | | | Prev |VolDn | Next |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * |RESET | | | | |
+ * |QK_BOOT | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* |MPENT | |------| |------| |Play |
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT,
// `---------------------------------------------------------------' `----------------------------------------------------------------'
// ,-------------------------. ,-------------------------.
- RESET, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
// ,------------+------------+------------| |------------+------------+------------.
KC_TRNS, KC_TRNS,
// | | +------------| |------------+ | |
diff --git a/keyboards/hotdox/keymaps/kloki/keymap.c b/keyboards/hotdox/keymaps/kloki/keymap.c
index f858effd54..2550b68978 100644
--- a/keyboards/hotdox/keymaps/kloki/keymap.c
+++ b/keyboards/hotdox/keymaps/kloki/keymap.c
@@ -189,7 +189,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/hotdox/keymaps/ninjonas/keymap.c b/keyboards/hotdox/keymaps/ninjonas/keymap.c
index 93c0b266b6..2f9609c5c5 100644
--- a/keyboards/hotdox/keymaps/ninjonas/keymap.c
+++ b/keyboards/hotdox/keymaps/ninjonas/keymap.c
@@ -257,7 +257,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,----------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
- * | M_MAKE |RESET | | | | | | | | | | |COLMAK|DVORAK |QWERTY |
+ * | M_MAKE |QK_BOOT | | | | | | | | | | |COLMAK|DVORAK |QWERTY |
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
* | M_VRSN |M_MALL| | | | |------| |-------| | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
diff --git a/keyboards/hp69/config.h b/keyboards/hp69/config.h
index ba6e55f86d..3bb4793186 100644
--- a/keyboards/hp69/config.h
+++ b/keyboards/hp69/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x416B
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0011
-#define MANUFACTURER Desiboards
-#define PRODUCT hp69
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/hp69/info.json b/keyboards/hp69/info.json
index dac0887fbf..c026ca99e7 100644
--- a/keyboards/hp69/info.json
+++ b/keyboards/hp69/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "hp69",
+ "manufacturer": "Desiboards",
"url": "",
"maintainer": "Ananya Kirti",
+ "usb": {
+ "vid": "0x416B",
+ "pid": "0x0001",
+ "device_version": "0.1.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h
index b3444db38d..adc6f94f1f 100644
--- a/keyboards/hs60/v1/config.h
+++ b/keyboards/hs60/v1/config.h
@@ -19,13 +19,6 @@ 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 0x0257
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT HS60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
#define MATRIX_COL_PINS { F1, F4, F5, E6, F0, B7, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS { B6, C6, C7, F6 }
/* bootloader configuration */
diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json
index fe2d998311..34c0be67d9 100644
--- a/keyboards/hs60/v1/info.json
+++ b/keyboards/hs60/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "HS60",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0257",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_iso": {
"layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "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":"Caps Lock", "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":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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":"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":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/hs60/v2/ansi/config.h b/keyboards/hs60/v2/ansi/config.h
index 9f4fab42f7..04c7d8c701 100644
--- a/keyboards/hs60/v2/ansi/config.h
+++ b/keyboards/hs60/v2/ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4854
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT HS60 V2
-
#define HS60_ANSI
/* key matrix size */
diff --git a/keyboards/hs60/v2/ansi/info.json b/keyboards/hs60/v2/ansi/info.json
index 2aae7c7472..89812b210d 100644
--- a/keyboards/hs60/v2/ansi/info.json
+++ b/keyboards/hs60/v2/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HS60v2",
- "maintainer": "yiancar",
+ "keyboard_name": "HS60 V2",
+ "manufacturer": "Yiancar-Designs",
"url": "",
+ "maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4854",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c b/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c
index 11d8048f13..b691b115fb 100644
--- a/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c
+++ b/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN2_60] = LAYOUT_60_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
- _______, EF_INC, ES_INC, S1_INC, H1_INC, S2_INC, H2_INC, BR_INC, _______, _______, _______, _______, _______, RESET,
+ _______, EF_INC, ES_INC, S1_INC, H1_INC, S2_INC, H2_INC, BR_INC, _______, _______, _______, _______, _______, QK_BOOT,
_______, EF_DEC, ES_DEC, S1_DEC, H1_DEC, S2_DEC, H2_DEC, BR_DEC, _______, _______, _______, _______, KC_MAKE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT))
diff --git a/keyboards/hs60/v2/hhkb/config.h b/keyboards/hs60/v2/hhkb/config.h
index c7b8c57b72..4dac657b39 100644
--- a/keyboards/hs60/v2/hhkb/config.h
+++ b/keyboards/hs60/v2/hhkb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4855
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT HS60 V2
-
#define HS60_HHKB
/* key matrix size */
diff --git a/keyboards/hs60/v2/hhkb/info.json b/keyboards/hs60/v2/hhkb/info.json
index 1a7f509758..5e43f8bdba 100644
--- a/keyboards/hs60/v2/hhkb/info.json
+++ b/keyboards/hs60/v2/hhkb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HS60v2",
- "maintainer": "yiancar",
+ "keyboard_name": "HS60 V2",
+ "manufacturer": "Yiancar-Designs",
"url": "",
+ "maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4855",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
index 6273dbc646..0b94aa88da 100644
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
+++ b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ),
[1] = LAYOUT_60_hhkb( /* FN */
- 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_TRNS, KC_TRNS,\
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,\
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, \
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, \
KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,\
diff --git a/keyboards/hs60/v2/iso/config.h b/keyboards/hs60/v2/iso/config.h
index 70e4e166fd..da918955c3 100644
--- a/keyboards/hs60/v2/iso/config.h
+++ b/keyboards/hs60/v2/iso/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4853
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT HS60 V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/hs60/v2/iso/info.json b/keyboards/hs60/v2/iso/info.json
index 89b9912c79..8f207ac9c3 100644
--- a/keyboards/hs60/v2/iso/info.json
+++ b/keyboards/hs60/v2/iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "HS60v2",
- "maintainer": "yiancar",
+ "keyboard_name": "HS60 V2",
+ "manufacturer": "Yiancar-Designs",
"url": "",
+ "maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4853",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_iso": {
"layout": [
diff --git a/keyboards/hs60/v2/iso/keymaps/iso_andys8/keymap.c b/keyboards/hs60/v2/iso/keymaps/iso_andys8/keymap.c
index 12272ee798..309ba1d834 100644
--- a/keyboards/hs60/v2/iso/keymaps/iso_andys8/keymap.c
+++ b/keyboards/hs60/v2/iso/keymaps/iso_andys8/keymap.c
@@ -28,14 +28,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_iso( /* FN */
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_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_DEL, KC_NO, KC_NO, \
KC_LSFT, KC_NO, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT,\
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[2] = LAYOUT_60_iso( /* Light (Default FN) */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL ,\
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , \
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS,\
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/hs60/v2/iso/keymaps/win_osx_dual/keymap.c b/keyboards/hs60/v2/iso/keymaps/win_osx_dual/keymap.c
index 31d7ec1ed8..81abccb313 100644
--- a/keyboards/hs60/v2/iso/keymaps/win_osx_dual/keymap.c
+++ b/keyboards/hs60/v2/iso/keymaps/win_osx_dual/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, OSX_ALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, RAISE , KC_RCTL),
[_RAISE] = LAYOUT_60_iso( /* Configuration */
- 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_DEL ,\
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL ,\
KC_TRNS, QWERTY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, OSX, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, EF_INC, H1_INC, S1_INC, H2_INC, S2_INC, BR_INC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
KC_TRNS, KC_UP, EF_DEC, H1_DEC, S2_DEC, H2_DEC, S2_DEC, BR_DEC, ES_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
diff --git a/keyboards/hub16/config.h b/keyboards/hub16/config.h
index eeaa5f1a77..e88fba018b 100755
--- a/keyboards/hub16/config.h
+++ b/keyboards/hub16/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6A6A
-#define PRODUCT_ID 0x4810
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Josh Johnson
-#define PRODUCT Hub16
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/hub16/info.json b/keyboards/hub16/info.json
index e6546f6cbd..a7ba0ae895 100644
--- a/keyboards/hub16/info.json
+++ b/keyboards/hub16/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hub16",
+ "manufacturer": "Josh Johnson",
"url": "https://joshajohnson.com/hub16-keyboard/",
"maintainer": "Josh Johnson",
+ "usb": {
+ "vid": "0x6A6A",
+ "pid": "0x4810",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/hub16/keymaps/ahk_companion/keymap.c b/keyboards/hub16/keymaps/ahk_companion/keymap.c
index 10f641b6f8..39d94b340b 100644
--- a/keyboards/hub16/keymaps/ahk_companion/keymap.c
+++ b/keyboards/hub16/keymaps/ahk_companion/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPLY, KC_MUTE,
KC_MPRV, KC_MPLY, KC_U, KC_K,
KC_NO, KC_NO, KC_ENT, KC_X,
- KC_NO, RESET, LSFT(KC_HASH), KC_J,
+ KC_NO, QK_BOOT, LSFT(KC_HASH), KC_J,
TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
),
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPLY, KC_MUTE,
RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EEP_RST, RESET, KC_LSHIFT,
+ RGB_TOG, EEP_RST, QK_BOOT, KC_LSHIFT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
),
};
diff --git a/keyboards/hub16/keymaps/macro/keymap.c b/keyboards/hub16/keymaps/macro/keymap.c
index e4cf9da5eb..1da30d564f 100755
--- a/keyboards/hub16/keymaps/macro/keymap.c
+++ b/keyboards/hub16/keymaps/macro/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_MOD, RGB_RMOD, RGB_TOG,
RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI,
RGB_SAD, RGB_SAI, _______, _______,
- _______, _______, RESET, TD(BASE)
+ _______, _______, QK_BOOT, TD(BASE)
),
};
diff --git a/keyboards/hub16/keymaps/peepeetee/keymap.c b/keyboards/hub16/keymaps/peepeetee/keymap.c
index 4790feda0a..ba4fe59235 100644
--- a/keyboards/hub16/keymaps/peepeetee/keymap.c
+++ b/keyboards/hub16/keymaps/peepeetee/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers
RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EEP_RST, RESET, KC_TRNS
+ RGB_TOG, EEP_RST, QK_BOOT, KC_TRNS
),
[3] = LAYOUT(
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers
RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_TOG, EEP_RST, RESET, KC_TRNS
+ RGB_TOG, EEP_RST, QK_BOOT, KC_TRNS
)
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// KC_MPLY, KC_MUTE,
// KC_MPRV, KC_MPLY, KC_U, KC_K,
// KC_NO, KC_NO, KC_ENT, KC_X,
- // KC_NO, RESET, LSFT(KC_HASH), KC_J,
+ // KC_NO, QK_BOOT, LSFT(KC_HASH), KC_J,
// TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
// ),
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// KC_MPLY, KC_MUTE,
// RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
// RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,
- // RGB_TOG, EEP_RST, RESET, KC_LSHIFT,
+ // RGB_TOG, EEP_RST, QK_BOOT, KC_LSHIFT,
// KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers
// ),
};
diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h
index aca3d7acce..24bcdb0061 100644
--- a/keyboards/hub20/config.h
+++ b/keyboards/hub20/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6A6A // JJ
-#define PRODUCT_ID 0x4414 // H20
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Josh Johnson
-#define PRODUCT Hub20
-
/* key matrix */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/hub20/info.json b/keyboards/hub20/info.json
index 2b44836728..3f829a3c7b 100644
--- a/keyboards/hub20/info.json
+++ b/keyboards/hub20/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hub20",
+ "manufacturer": "Josh Johnson",
"url": "https://github.com/joshajohnson/hub20",
"maintainer": "joshajohnson",
+ "usb": {
+ "vid": "0x6A6A",
+ "pid": "0x4414",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
index b5817ab3c5..2b522a9975 100644
--- a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
+++ b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PENT, KC_PDOT, KC_P0
),
[1] = LAYOUT_left_handed(
- RESET, _______,
+ QK_BOOT, _______,
RGB_TOG, RGB_RMOD, RGB_MOD, _______,
_______, RGB_VAD, RGB_VAI, _______,
RGB_HUD, RGB_HUI, _______,
diff --git a/keyboards/hub20/keymaps/macro/keymap.c b/keyboards/hub20/keymaps/macro/keymap.c
index 099fff8755..5fb1891ea7 100644
--- a/keyboards/hub20/keymaps/macro/keymap.c
+++ b/keyboards/hub20/keymaps/macro/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_Q, KC_R, KC_S, KC_T
),
[_CTRL] = LAYOUT_all(
- RESET, _______,
+ QK_BOOT, _______,
RGB_TOG, RGB_RMOD, RGB_MOD, TD(BASE),
_______, RGB_VAD, RGB_VAI, _______,
_______, RGB_HUD, RGB_HUI, _______,
diff --git a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
index ad3e5f49a3..d6244d652c 100644
--- a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
+++ b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_right_handed(
- RESET, _______,
+ QK_BOOT, _______,
RGB_TOG, RGB_RMOD, RGB_MOD, _______,
_______, RGB_VAD, RGB_VAI,
_______, RGB_HUD, RGB_HUI, _______,
diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h
index 4103759d02..1a42b95b41 100644
--- a/keyboards/ianklug/grooveboard/config.h
+++ b/keyboards/ianklug/grooveboard/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4C // "KL" = klug
-#define PRODUCT_ID 0x4742 // "GB" = grooveboard
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ianklug
-#define PRODUCT grooveboard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ F7, F6, D1, D2 } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
@@ -149,5 +141,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/ianklug/grooveboard/info.json b/keyboards/ianklug/grooveboard/info.json
index e08cf62574..a4bb849952 100644
--- a/keyboards/ianklug/grooveboard/info.json
+++ b/keyboards/ianklug/grooveboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "grooveboard",
+ "manufacturer": "ianklug",
"url": "https://github.com/ianklug/grooveboard",
"maintainer": "ianklug",
+ "usb": {
+ "vid": "0x4B4C",
+ "pid": "0x4742",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ibm/model_m_4th_gen/info.json b/keyboards/ibm/model_m_4th_gen/info.json
deleted file mode 100644
index 932bfb8d73..0000000000
--- a/keyboards/ibm/model_m_4th_gen/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "keyboard_name": "ibm/model_m_4th_gen",
- "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
- "maintainer": "purdeaandrei",
- "layouts": {
- "LAYOUT_all": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":6}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
- },
- "LAYOUT_ansi": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
- },
- "LAYOUT_iso": {
- "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
- }
- }
-}
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
index df30e84aca..90ece5dd95 100644
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBM/Purdea Andrei
-#define PRODUCT IBM Model M (4th generation)
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
@@ -50,7 +44,6 @@
#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, C4, B0, B10, B13, C6, C7, C8, C9 }
#define MATRIX_ROW_PINS { A7, C5, B1, B12, B14, B15, A8, A9 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..b6cecf4309
--- /dev/null
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/info.json
@@ -0,0 +1,22 @@
+{
+ "keyboard_name": "IBM Model M (4th generation)",
+ "manufacturer": "IBM/Purdea Andrei",
+ "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+ "maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":6}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+ },
+ "LAYOUT_ansi": {
+ "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ },
+ "LAYOUT_iso": {
+ "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+ }
+ }
+}
diff --git a/keyboards/ibnuda/alicia_cook/config.h b/keyboards/ibnuda/alicia_cook/config.h
index 28db5f3420..8e8c46b694 100644
--- a/keyboards/ibnuda/alicia_cook/config.h
+++ b/keyboards/ibnuda/alicia_cook/config.h
@@ -19,13 +19,6 @@ 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 0x6955
-#define DEVICE_VER 0x0899
-#define MANUFACTURER Ibnu D. Aji
-#define PRODUCT Alicia Cook
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, F4, F5 }
#define MATRIX_COL_PINS { B5, F6, F7, B1, B3, B2, B4, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ibnuda/alicia_cook/info.json b/keyboards/ibnuda/alicia_cook/info.json
index c07be77190..3ce8256003 100644
--- a/keyboards/ibnuda/alicia_cook/info.json
+++ b/keyboards/ibnuda/alicia_cook/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alicia Cook",
+ "manufacturer": "Ibnu D. Aji",
"url": "https://github.com/ibnuda/alicia-cook",
"maintainer": "ibnuda",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6955",
+ "device_version": "8.9.9"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c
index 35e0e1db97..909b1035c5 100644
--- a/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c
+++ b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c
@@ -240,7 +240,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_all(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13,
KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, RESET, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1),
+ KC_LSFT,KC_Z, KC_X, KC_C, KC_V, QK_BOOT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1),
KC_LGUI,KC_LALT, KC_LGUI,LW_E, SF_BSPC, AL_ENT, RS_SPC, KC_LALT, KC_RGUI,KC_RCTL
),
};
diff --git a/keyboards/ibnuda/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h
index a79ea6c5db..ec281a7c56 100644
--- a/keyboards/ibnuda/gurindam/config.h
+++ b/keyboards/ibnuda/gurindam/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x6974
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ibnu D. Aji
-#define PRODUCT Gurindam
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6, D4, D0, D1, D2}
#define MATRIX_COL_PINS { F6, F5, F4, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ibnuda/gurindam/info.json b/keyboards/ibnuda/gurindam/info.json
index a196f066e0..4c7db56fd9 100644
--- a/keyboards/ibnuda/gurindam/info.json
+++ b/keyboards/ibnuda/gurindam/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "gurindam",
+ "keyboard_name": "Gurindam",
+ "manufacturer": "Ibnu D. Aji",
"url": "https://github.com/ibnuda/gurindam",
"maintainer": "Ibnu D. Aji",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x6974",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ibnuda/squiggle/config.h b/keyboards/ibnuda/squiggle/config.h
index d9a144aca7..9e4c4f71bc 100644
--- a/keyboards/ibnuda/squiggle/config.h
+++ b/keyboards/ibnuda/squiggle/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x6969
-#define MANUFACTURER ibnuda
-#define PRODUCT squiggle
-
#define USE_SERIAL
/*
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c
index eb5853e90e..66973a32ed 100644
--- a/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c
+++ b/keyboards/ibnuda/squiggle/keymaps/rick-complicated/keymap.c
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_complicated(
_______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
- _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______,
+ _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______,
_______,_______, _______,_______,
_______,_______, _______,_______
),
diff --git a/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c b/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c
index 7dddeb4089..3e61839b14 100644
--- a/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c
+++ b/keyboards/ibnuda/squiggle/keymaps/rick/keymap.c
@@ -172,7 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
- _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______,
+ _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______,
_______,_______, _______,_______
),
};
diff --git a/keyboards/ibnuda/squiggle/readme.md b/keyboards/ibnuda/squiggle/readme.md
index 95204ade57..20998844c9 100644
--- a/keyboards/ibnuda/squiggle/readme.md
+++ b/keyboards/ibnuda/squiggle/readme.md
@@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
To enter to the bootloader you need to:
-* Press the key mapped to `RESET`
+* Press the key mapped to `QK_BOOT`
diff --git a/keyboards/ibnuda/squiggle/rev1/config.h b/keyboards/ibnuda/squiggle/rev1/config.h
index 9dec7e30f5..3d2752c8d4 100644
--- a/keyboards/ibnuda/squiggle/rev1/config.h
+++ b/keyboards/ibnuda/squiggle/rev1/config.h
@@ -1,7 +1,5 @@
#pragma once
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
diff --git a/keyboards/ibnuda/squiggle/rev1/info.json b/keyboards/ibnuda/squiggle/rev1/info.json
index 754164e5d7..0b32e42620 100644
--- a/keyboards/ibnuda/squiggle/rev1/info.json
+++ b/keyboards/ibnuda/squiggle/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "squiggle",
+ "manufacturer": "ibnuda",
"url": "https://github.com/ibnuda/squiggle",
"maintainer": "Ibnu D. Aji",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x6969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/idb/idb_60/config.h b/keyboards/idb/idb_60/config.h
index 81dcfa854e..24960dcbd5 100644
--- a/keyboards/idb/idb_60/config.h
+++ b/keyboards/idb/idb_60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x494B // "IB" for idb Keyboards
-#define PRODUCT_ID 0x0001 // idb 60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER idb Keyboards
-#define PRODUCT idb 60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, D0, D1, D2, D3, D4, D5, D6, B0, B1 }
#define MATRIX_COL_PINS { B2, B3, B4, C6, B6, B7, C7, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/idb/idb_60/info.json b/keyboards/idb/idb_60/info.json
index d78c848c6d..675fce4582 100644
--- a/keyboards/idb/idb_60/info.json
+++ b/keyboards/idb/idb_60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "idb 60",
+ "manufacturer": "idb Keyboards",
"url": "https://idb-keyboards.xyz/60",
"maintainer": "itspngu",
+ "usb": {
+ "vid": "0x494B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all",
"LAYOUT_default": "LAYOUT_60_ansi_wkl_split_rshift"
diff --git a/keyboards/idb/idb_60/keymaps/all_keys/keymap.c b/keyboards/idb/idb_60/keymaps/all_keys/keymap.c
index 87a6692090..eac16f142a 100644
--- a/keyboards/idb/idb_60/keymaps/all_keys/keymap.c
+++ b/keyboards/idb/idb_60/keymaps/all_keys/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_MENU, KC_RCTL
),
[1] = 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/idb/idb_60/keymaps/pngu/keymap.c b/keyboards/idb/idb_60/keymaps/pngu/keymap.c
index c34d1774ea..bda744bef3 100644
--- a/keyboards/idb/idb_60/keymaps/pngu/keymap.c
+++ b/keyboards/idb/idb_60/keymaps/pngu/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_MENU, KC_RGUI
),
[1] = LAYOUT(
- 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_DEL, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h
new file mode 100755
index 0000000000..a95578a9b3
--- /dev/null
+++ b/keyboards/idobao/id42/config.h
@@ -0,0 +1,75 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* Other settings */
+
+/* NKRO by default is required to be turned on. This forces it on
+ during keyboard startup regardless of EEPROM setting. */
+#define FORCE_NKRO
+
+/* Change the USB polling rate [default = 1000Hz (1ms)] and
+ * use larger value of keys per scan for elite games */
+#define USB_POLLING_INTERVAL_MS 2 // 500Hz
+
+/* LED Matrix & Animations */
+#ifdef RGB_MATRIX_ENABLE
+
+ #define RGB_DI_PIN B3
+ #define DRIVER_LED_TOTAL 42
+
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
+
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+
+ #define RGB_MATRIX_KEYPRESSES // enable key press effects
+
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+ #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+ #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
+ #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
+
+ /* #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) */
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+ /* #endif // RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id42/id42.c b/keyboards/idobao/id42/id42.c
new file mode 100755
index 0000000000..ea3dccdfed
--- /dev/null
+++ b/keyboards/idobao/id42/id42.c
@@ -0,0 +1,45 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "id42.h"
+
+#define __ NO_LED
+
+#ifdef RGB_MATRIX_ENABLE
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │41 │40 │39 │38 │37 │36 │35 │34 │33 │32 │31 │30 │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ 29 │28 │27 │26 │25 │24 │23 │22 │21 │20 │ 19 │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ 18 │17 │16 │15 │14 │13 │12 │11 │ 10 │ 9 │ 8 │
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ 7 │ 6 │ 5 │ 4 │ 3 │ │ 2 │ 1 │ 0 │
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ // WS2812 LED strings are addressed from 0 (1st) to DRIVER_LED_TOTAL-1 (last)
+ { 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30 },
+ { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, __, 19 },
+ { 18, 17, 16, 15, 14, 13, 12, 11, 10, __, 9, 8 },
+ { 7, 6, 5, 4, __, __, 3, __, __, 2, 1, 0 }
+}, {
+ // LED Index to Physical Position
+ // **NB**: Reversed order
+ // Generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser
+ {224,64 }, {204,64 }, {183,64 }, {135,64 }, { 84,64 }, { 48,64 }, { 25,64 }, { 3,64 },
+ {224,43 }, {204,43 }, {181,43 }, {158,43 }, {137,43 }, {117,43 }, { 97,43 }, { 76,43 }, { 56,43 }, { 36,43 }, { 8,43 },
+ {216,21 }, {188,21 }, {168,21 }, {148,21 }, {127,21 }, {107,21 }, { 87,21 }, { 66,21 }, { 46,21 }, { 25,21 }, { 3,21 },
+ {224,0 }, {204,0 }, {183,0 }, {163,0 }, {143,0 }, {122,0 }, {102,0 }, { 81,0 }, { 61,0 }, { 41,0 }, { 20,0 }, { 0,0 }
+}, {
+ // LED Index to Flag
+ // **NB**: Reversed order
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 4,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4
+} };
+
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id42/id42.h b/keyboards/idobao/id42/id42.h
new file mode 100755
index 0000000000..d9bef6d021
--- /dev/null
+++ b/keyboards/idobao/id42/id42.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/idobao/id42/info.json b/keyboards/idobao/id42/info.json
new file mode 100644
index 0000000000..8e9029b04e
--- /dev/null
+++ b/keyboards/idobao/id42/info.json
@@ -0,0 +1,80 @@
+{
+ "manufacturer": "IDOBAO",
+ "keyboard_name": "Abacus ID42",
+ "maintainer": "vinorodrigues",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "matrix_pins": {
+ "cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"],
+ "rows": ["D5", "C6", "B6", "E6"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=ID42*",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0042",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 },
+ { "matrix": [0, 1], "label": "Q", "x": 1, "y": 0 },
+ { "matrix": [0, 2], "label": "W", "x": 2, "y": 0 },
+ { "matrix": [0, 3], "label": "E", "x": 3, "y": 0 },
+ { "matrix": [0, 4], "label": "R", "x": 4, "y": 0 },
+ { "matrix": [0, 5], "label": "T", "x": 5, "y": 0 },
+ { "matrix": [0, 6], "label": "Y", "x": 6, "y": 0 },
+ { "matrix": [0, 7], "label": "U", "x": 7, "y": 0 },
+ { "matrix": [0, 8], "label": "I", "x": 8, "y": 0 },
+ { "matrix": [0, 9], "label": "O", "x": 9, "y": 0 },
+ { "matrix": [0, 10], "label": "P", "x": 10, "y": 0 },
+ { "matrix": [0, 11], "label": "BSpc", "x": 11, "y": 0 },
+
+ { "matrix": [1, 0], "label": "Tab", "x": 0, "y": 1, "w": 1.25 },
+ { "matrix": [1, 1], "label": "A", "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "label": "S", "x": 2.25, "y": 1 },
+ { "matrix": [1, 3], "label": "D", "x": 3.25, "y": 1 },
+ { "matrix": [1, 4], "label": "F", "x": 4.25, "y": 1 },
+ { "matrix": [1, 5], "label": "G", "x": 5.25, "y": 1 },
+ { "matrix": [1, 6], "label": "H", "x": 6.25, "y": 1 },
+ { "matrix": [1, 7], "label": "J", "x": 7.25, "y": 1 },
+ { "matrix": [1, 8], "label": "K", "x": 8.25, "y": 1 },
+ { "matrix": [1, 9], "label": "L", "x": 9.25, "y": 1 },
+ { "matrix": [1, 11], "label": "Ent", "x": 10.25, "y": 1, "w": 1.75 },
+
+ { "matrix": [2, 0], "label": "Shft", "x": 0, "y": 2, "w": 1.75 },
+ { "matrix": [2, 1], "label": "Z", "x": 1.75, "y": 2 },
+ { "matrix": [2, 2], "label": "X", "x": 2.75, "y": 2 },
+ { "matrix": [2, 3], "label": "C", "x": 3.75, "y": 2 },
+ { "matrix": [2, 4], "label": "V", "x": 4.75, "y": 2 },
+ { "matrix": [2, 5], "label": "B", "x": 5.75, "y": 2 },
+ { "matrix": [2, 6], "label": "N", "x": 6.75, "y": 2 },
+ { "matrix": [2, 7], "label": "M", "x": 7.75, "y": 2 },
+ { "matrix": [2, 8], "label": "Shft", "x": 8.75, "y": 2, "w": 1.25 },
+ { "matrix": [2, 10], "label": "\u21E7", "x": 10, "y": 2 },
+ { "matrix": [2, 11], "label": "Del", "x": 11, "y": 2 },
+
+ { "matrix": [3, 0], "label": "Ctrl", "x": 0, "y": 3, "w": 1.25 },
+ { "matrix": [3, 1], "label": "Win", "x": 1.25, "y": 3 },
+ { "matrix": [3, 2], "label": "Alt", "x": 2.25, "y": 3, "w": 1.25 },
+ { "matrix": [3, 3], "label": "", "x": 3.5, "y": 3, "w": 2.75 },
+ { "matrix": [3, 6], "label": "Fn", "x": 6.25, "y": 3, "w": 2.75 },
+ { "matrix": [3, 9], "label": "\u21E6", "x": 9, "y": 3 },
+ { "matrix": [3, 10], "label": "\u21E9", "x": 10, "y": 3 },
+ { "matrix": [3, 11], "label": "\u21E8", "x": 11, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/id42/keymaps/default/keymap.c b/keyboards/idobao/id42/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bce2096ea5
--- /dev/null
+++ b/keyboards/idobao/id42/keymaps/default/keymap.c
@@ -0,0 +1,114 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ FN_MO13 = SAFE_RANGE,
+ FN_MO23,
+};
+
+// more Layer Tap stuff
+#define SPC_FN1 LT(1, KC_SPC)
+#define SPC_FN2 LT(2, KC_SPC)
+#define SPC_FN3 LT(3, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 1
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │BSp│
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ Tab│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Entr │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ Sft │ Z │ X │ C │ V │ B │ N │ M │ Sft │ ↑ │Del│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │Ctrl│Win│ Alt│Space/Fn2│ Fn1/Fn3 │ │ ↠│ ↓ │ → │
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ 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_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, SPC_FN2, FN_MO13, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ /* Layer 2
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │-_ │=+ │[{ │]} │\| │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │;: │'" │,< │.> │/? │ ▿ │PUp│Ins│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ Fn3 │ ▿ │ │Hom│Pdn│End│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
+ _______, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_COMM, KC_DOT, KC_SLSH, _______, KC_PGUP, KC_INS,
+ _______, _______, _______, MO(3), _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /* Layer 3
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │F11│F12│Psc│SLk│Pau│ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │ │ │ │ │ │Menu │Vl+│Mut│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sto│Vl-│Ply│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, KC_VOLU, KC_MUTE,
+ KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_MSTP, KC_VOLD, KC_MPLY
+ ),
+
+ /* Layer 4
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ▿ │ │ │ │Rst│ │ │ │ │ │ │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │Tog│Mod│Hu-│Hu+│St-│St+│ │ │ │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │mod│ │ │ │ │NRO│ │ │Br+│ │
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sp-│Br-│Sp+│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [3] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
+ _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
+ ),
+};
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case FN_MO13:
+ if (record->event.pressed) {
+ layer_on(1);
+ update_tri_layer(1, 2, 3);
+ } else {
+ layer_off(1);
+ update_tri_layer(1, 2, 3);
+ }
+ return false;
+ break;
+ case FN_MO23:
+ if (record->event.pressed) {
+ layer_on(2);
+ update_tri_layer(1, 2, 3);
+ } else {
+ layer_off(2);
+ update_tri_layer(1, 2, 3);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/idobao/id42/keymaps/idobao/keymap.c b/keyboards/idobao/id42/keymaps/idobao/keymap.c
new file mode 100644
index 0000000000..6a52c476ca
--- /dev/null
+++ b/keyboards/idobao/id42/keymaps/idobao/keymap.c
@@ -0,0 +1,119 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* ------------------------------------------------------------------
+ * This is the IDOBAO factory default keymap ;)
+ * ------------------------------------------------------------------ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+enum {
+ KB_VRSN = USER09 // debug, type version
+};
+
+#define SPC_FN1 LT(1, KC_SPC)
+#define SPC_FN2 LT(2, KC_SPC)
+#define SPC_FN3 LT(3, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │BSp│
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ Tab│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Entr │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ Sft │ Z │ X │ C │ V │ B │ N │ M │ Sft │ ↑ │Del│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │Ctrl│Win│ Alt│Space/Fn2│ Fn1/Fn3 │ │ ↠│ ↓ │ → │
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ 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_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, SPC_FN2, FN_MO13, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ /* Layer 1
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │-_ │=+ │[{ │]} │\| │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │;: │'" │,< │.> │/? │ ▿ │PUp│Ins│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ Fn3 │ ▿ │ │Hom│Pdn│End│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
+ _______, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_COMM, KC_DOT, KC_SLSH, _______, KC_PGUP, KC_INS,
+ _______, _______, _______, MO(3), _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /* Layer 2
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │F11│F12│Psc│SLk│Pau│ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │ │ │ │ │ │Menu │Vl+│Mut│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sto│Vl-│Ply│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, KC_VOLU, KC_MUTE,
+ KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_MSTP, KC_VOLD, KC_MPLY
+ ),
+
+ /* Layer 3
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ▿ │ │ │ │Rst│ │ │ │ │ │ │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │Tog│Mod│Hu-│Hu+│St-│St+│ │ │ │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │mod│ │ │Ver│ │NRO│ │ │Br+│ │
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sp-│Br-│Sp+│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [3] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_RMOD, XXXXXXX, XXXXXXX, KB_VRSN, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
+ _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+
+ #ifdef RGB_MATRIX_ENABLE
+
+ case QK_BOOT:
+ if (record->event.pressed) {
+ rgb_matrix_set_color_all(RGB_MATRIX_MAXIMUM_BRIGHTNESS, 0, 0); // All red
+ rgb_matrix_driver.flush();
+ }
+ return true;
+
+ #endif // RGB_MATRIX_ENABLE
+
+ // print firmware version
+ case KB_VRSN:
+ if (!get_mods()) {
+ if (!record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
+ }
+ }
+ return false;
+
+ default:
+ return true; /* Process all other keycodes normally */
+ }
+}
diff --git a/keyboards/idobao/id42/keymaps/idobao/rules.mk b/keyboards/idobao/id42/keymaps/idobao/rules.mk
new file mode 100644
index 0000000000..974ef99660
--- /dev/null
+++ b/keyboards/idobao/id42/keymaps/idobao/rules.mk
@@ -0,0 +1,3 @@
+
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id42/keymaps/via/keymap.c b/keyboards/idobao/id42/keymaps/via/keymap.c
new file mode 100644
index 0000000000..590b8b54a3
--- /dev/null
+++ b/keyboards/idobao/id42/keymaps/via/keymap.c
@@ -0,0 +1,82 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define SPC_FN1 LT(1, KC_SPC)
+#define SPC_FN2 LT(2, KC_SPC)
+#define SPC_FN3 LT(3, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │BSp│
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ Tab│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Entr │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ Sft │ Z │ X │ C │ V │ B │ N │ M │ Sft │ ↑ │Del│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │Ctrl│Win│ Alt│Space/Fn2│ Fn1/Fn3 │ │ ↠│ ↓ │ → │
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ 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_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, SPC_FN2, FN_MO13, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │-_ │=+ │[{ │]} │\| │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │;: │'" │,< │.> │/? │ ▿ │PUp│Ins│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ Fn3 │ ▿ │ │Hom│Pdn│End│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______,
+ _______, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_COMM, KC_DOT, KC_SLSH, _______, KC_PGUP, KC_INS,
+ _______, _______, _______, MO(3), _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │ │ │ │ │F11│F12│Psc│SLk│Pau│ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │ │ │ │ │ │ │ │Menu │Vl+│Mut│
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sto│Vl-│Ply│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, KC_VOLU, KC_MUTE,
+ KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_MSTP, KC_VOLD, KC_MPLY
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ▿ │ │ │ │Rst│ │ │ │ │ │ │ ▿ │
+ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ ▿ │Tog│Mod│Hu-│Hu+│St-│St+│ │ │ │ ▿ │
+ * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──┬┴──┬───┤
+ * │ ▿ │mod│ │ │ │ │NRO│ │ │Br+│ │
+ * ├────┬┴──┬┴───┼───┴───┴─┬─┴───┴───┼─┬───┼───┼───┤
+ * │ ▿ │ ▿ │ ▿ │ ▿ │ ▿ │ │Sp-│Br-│Sp+│
+ * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘
+ */
+ [3] = LAYOUT(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
+ _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
+ ),
+};
diff --git a/keyboards/idobao/id42/keymaps/via/rules.mk b/keyboards/idobao/id42/keymaps/via/rules.mk
new file mode 100644
index 0000000000..974ef99660
--- /dev/null
+++ b/keyboards/idobao/id42/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id42/readme.md b/keyboards/idobao/id42/readme.md
new file mode 100644
index 0000000000..5921bffca1
--- /dev/null
+++ b/keyboards/idobao/id42/readme.md
@@ -0,0 +1,35 @@
+# IDOBAO Abacus ID42
+
+![IDOBAO Abacus ID42](https://idobao.github.io/assets/img/idobao-id42.png)
+
+Sized just right at 40% — with a compact configuration the IDOBAO Abacus ID42 makes a great fit for any desk.
+
+## 42 Keys
+
+* Keyboard Maintainer: [Vino Rodrigues](https://github.com/vinorodrigues)
+* Hardware Supported: **IDOBAO Abacus ID42**
+* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=ID42*)
+
+## Layout
+
+![](https://cdn.jsdelivr.net/gh/Idobao/idobao.github.io/kle/idobao-id42-all.png)
+
+## Compiling and Flashing
+
+Make example for this keyboard (after setting up your build environment):
+
+ make idobao/id42:default
+
+Flashing example for this keyboard:
+
+ make idobao/id42: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. <br>Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the [Esc] key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to *`RESET`* *(Default = `[Fn]`+`[R]`)* if it is available
diff --git a/keyboards/idobao/id42/rules.mk b/keyboards/idobao/id42/rules.mk
new file mode 100755
index 0000000000..eab741fd0a
--- /dev/null
+++ b/keyboards/idobao/id42/rules.mk
@@ -0,0 +1,5 @@
+# This file intentionally left blank
+# ** settings are data driven & stored in `info.json` **
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/idobao/id63/config.h b/keyboards/idobao/id63/config.h
new file mode 100644
index 0000000000..10fb9d5f08
--- /dev/null
+++ b/keyboards/idobao/id63/config.h
@@ -0,0 +1,102 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* NB: Most configuration information resides in `info.json` */
+
+/* ----------------
+ * RGB Matrix stuff
+ * ---------------- */
+
+#define RGB_DI_PIN B7
+
+// RGB Matrix config
+#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)
+
+ /* Denwir case is solid back. Please disable underglow at compile with compile command line:
+ *
+ * `make idobao/id63:default UNDERGLOW=off`
+ *
+ * */
+ #ifndef ID63_DISABLE_UNDERGLOW
+ #define DRIVER_LED_TOTAL 75
+ #else
+ #define DRIVER_LED_TOTAL (75 - 12)
+ #endif
+
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
+
+ #define RGB_MATRIX_KEYPRESSES
+ // do not enable RGB_MATRIX_FRAMEBUFFER_EFFECTS as these effects don't work will with this LED placement
+
+ // changes to this list will break the sequence set in the VIA `json` file.
+ /* Standard animation set */
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+ #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+ #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
+ #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
+ // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // ** do not enable
+ // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // ** do not enable
+ // #define ENABLE_RGB_MATRIX_PIXEL_RAIN // ** do not enable
+
+ /* RGB_MATRIX_FRAMEBUFFER_EFFECTS */
+ // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // ** do not enable
+ // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // ** do not enable
+
+ /* RGB_MATRIX_KEYPRESSES */
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+#endif // RGB_MATRIX_ENABLE
+
+/* -----------------------
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ * ----------------------- */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+// #define NO_ACTION_LAYER
+// #define NO_ACTION_TAPPING
+// #define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id63/id63.c b/keyboards/idobao/id63/id63.c
new file mode 100644
index 0000000000..d9b7fdef39
--- /dev/null
+++ b/keyboards/idobao/id63/id63.c
@@ -0,0 +1,68 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "id63.h"
+
+#define __ NO_LED
+
+#ifdef RGB_MATRIX_ENABLE
+
+/* Pre-key LED addresses
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │62 │61 │60 │59 │58 │57 │56 │55 │54 │53 │52 │51 │50 │ 49 │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ 48 │47 │46 │45 │44 │43 │42 │41 │40 │39 │38 │37 │36 │ 35 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ 34 │33 │32 │31 │30 │29 │28 │27 │26 │25 │24 │23 │ 22 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ 21 │20 │19 │18 │17 │16 │15 │14 │13 │12 │ 11 │10 │ 9 │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ 8 │ 7 │ 6 │ 5 │ 4 │ 3 │ 2 │ 1 │ 0 │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ *
+ * Underglow LED addresses (as seen from top / [Esc] = top left)
+ * ┌────┬────┬────┬────┬────┬────â”
+ * │ 63 │ 64 │ 65 │ 66 │ 67 │ 68 │
+ * ├────┴────┴────┴────┴────┴────┤
+ * ├────┬────┬────┬────┬────┬────┤
+ * │ 74 │ 73 │ 72 │ 71 │ 70 │ 69 │
+ * └────┴────┴────┴────┴────┴────┘
+ */
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49 },
+ { 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35 },
+ { 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, __, 22 },
+ { 21, __, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9 },
+ { 8, 7, __, 6, __, __, 5, __, __, 4, 3, 2, 1, 0 },
+}, {
+ // LED Index to Physical Position
+ // generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser
+ /* NB: Reverse & upside-down order! */
+ {224,64 }, {208,64 }, {192,64 }, {176,64 }, {160,64 }, {102,64 }, { 42,64 }, { 22,64 }, { 2,64 },
+ {224,48 }, {208,48 }, {186,48 }, {164,48 }, {148,48 }, {132,48 }, {116,48 }, {100,48 }, { 84,48 }, { 68,48 }, { 52,48 }, { 36,48 }, { 10,48 },
+ {214,32 }, {188,32 }, {172,32 }, {156,32 }, {140,32 }, {124,32 }, {108,32 }, { 92,32 }, { 76,32 }, { 60,32 }, { 44,32 }, { 28,32 }, { 6,32 },
+ {220,16 }, {200,16 }, {184,16 }, {168,16 }, {152,16 }, {136,16 }, {120,16 }, {104,16 }, { 88,16 }, { 72,16 }, { 56,16 }, { 40,16 }, { 24,16 }, { 4,16 },
+ {216,0 }, {192,0 }, {176,0 }, {160,0 }, {144,0 }, {128,0 }, {112,0 }, { 96,0 }, { 80,0 }, { 64,0 }, { 48,0 }, { 32,0 }, { 16,0 }, { 0,0 }
+ // underglow LEDs (positions pushed to nearest edge to match edge key colors)
+ #ifndef ID63_DISABLE_UNDERGLOW
+ , { 0,0 }, { 45,0 }, { 90,0 }, {134,0 }, {179,0 }, {224,0 },
+ {224,64 }, {179,64 }, {134,64 }, { 90,64 }, { 45,64 }, { 0,64 }
+ #endif
+}, {
+ // LED Index to Flag
+ /* NB: Reverse & upside-down order! */
+ 4, 4, 4, 1, 1, 4, 1, 1, 1,
+ 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9,
+ 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
+ // underglow LEDs
+ #ifndef ID63_DISABLE_UNDERGLOW
+ , 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2
+ #endif
+} };
+
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id63/id63.h b/keyboards/idobao/id63/id63.h
new file mode 100644
index 0000000000..d9bef6d021
--- /dev/null
+++ b/keyboards/idobao/id63/id63.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/idobao/id63/info.json b/keyboards/idobao/id63/info.json
new file mode 100644
index 0000000000..ab34c2a676
--- /dev/null
+++ b/keyboards/idobao/id63/info.json
@@ -0,0 +1,106 @@
+{
+ "manufacturer": "IDOBAO",
+ "keyboard_name": "ID63",
+ "maintainer": "vinorodrigues",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "matrix_pins": {
+ "cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"],
+ "rows": ["B0", "B1", "B2", "E6", "F7"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=id63*",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0063",
+ "vid": "0x6964"
+ },
+ "layout_aliases": {
+ "LAYOUT_63_ansi": "LAYOUT_60_ansi_arrow"
+ },
+ "community_layouts": ["60_ansi_arrow"],
+ "layouts": {
+ "LAYOUT_60_ansi_arrow": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+
+ { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
+
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
+
+ { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75 },
+ { "label": "\u2191", "matrix": [3, 12], "x": 13, "y": 3 },
+ { "label": "/?", "matrix": [3, 13], "x": 14, "y": 3 },
+
+ { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
+ { "label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25 },
+ { "label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25 },
+ { "label": "Fn", "matrix": [4, 9], "x": 10, "y": 4 },
+ { "label": "Menu", "matrix": [4, 10], "x": 11, "y": 4 },
+ { "label": "\u2190", "matrix": [4, 11], "x": 12, "y": 4 },
+ { "label": "\u2193", "matrix": [4, 12], "x": 13, "y": 4 },
+ { "label": "\u2192", "matrix": [4, 13], "x": 14, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/id63/keymaps/default/keymap.c b/keyboards/idobao/id63/keymaps/default/keymap.c
new file mode 100644
index 0000000000..617a876b80
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │Up │ / │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn │Mnu│Lf │Dn │Rt │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_60_ansi_arrow(
+ 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_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ ~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │tog│up │mod│hu+│hu-│sa+│sa-│br+│br-│prn│slk│pus│ Ins │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │lf │dn │rt │ │ │ │ │sp+│sp-│ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │ │Rst│NKR│ │ │ │ │PUp│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │Hom│PDn│End│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [1] = LAYOUT_60_ansi_arrow(
+ 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,
+ _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ )
+};
diff --git a/keyboards/idobao/id63/keymaps/idobao/config.h b/keyboards/idobao/id63/keymaps/idobao/config.h
new file mode 100644
index 0000000000..01d96f9dcd
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/idobao/config.h
@@ -0,0 +1,7 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* Denwir D60 has solid back case - no underglow LED's are visible. */
+#define ID63_DISABLE_UNDERGLOW
diff --git a/keyboards/idobao/id63/keymaps/idobao/keymap.c b/keyboards/idobao/id63/keymaps/idobao/keymap.c
new file mode 100644
index 0000000000..f49304fb24
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/idobao/keymap.c
@@ -0,0 +1,359 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// Copyright 2022 IDOBAO (@idobaokb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* ------------------------------------------------------------------
+ * This is the IDOBAO factory default keymap ;)
+ * ------------------------------------------------------------------ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+typedef union {
+ uint32_t raw;
+ struct {
+ bool rgb_disable_perkey:1;
+ #ifndef ID63_DISABLE_UNDERGLOW
+ bool rgb_disable_underglow:1;
+ #endif // ID63_DISABLE_UNDERGLOW
+ };
+} user_config_t;
+
+#endif // RGB_MATRIX_ENABLE
+
+enum {
+ _BASE = 0,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+enum {
+ KC_MCON = USER00, // macOS Open Mission Control
+ KC_LPAD, // macOS Open Launchpad
+ #ifdef RGB_MATRIX_ENABLE
+ RGB_TPK, // Toggle Per-Key
+ #ifndef ID63_DISABLE_UNDERGLOW
+ RGB_TUG, // Toggle Underglow
+ #endif // ID63_DISABLE_UNDERGLOW
+ #endif // RGB_MATRIX_ENABLE
+ KB_VRSN = USER09 // debug, type version
+};
+
+#ifndef RGB_MATRIX_ENABLE
+ #define RGB_TPK _______
+ #define RGB_TUG _______
+#else
+ #ifdef ID63_DISABLE_UNDERGLOW
+ #define RGB_TUG _______
+ #endif // ID63_DISABLE_UNDERGLOW
+#endif // RGB_MATRIX_ENABLE
+
+enum macos_consumer_usages {
+ _AC_SHOW_ALL_WINDOWS = 0x29F, // mapped to KC_MCON
+ _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD
+};
+
+/* Special Keys */
+#define SK_LT1C LT(_FN1, KC_CAPS) // Layer Tap 1, i.e., Tap = Caps Lock, Hold = Layer 1
+#define SK_LT2A LT(_FN2, KC_APP) // Layer Tap 2, i.e., Tap = Menu, Hold = Layer 2
+
+/* key matrix */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │*Caps*│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ *Caps* => Tap = Caps Lock, Hold = Layer 1 (Fn1)
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │Up │ / │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn1│*M*│Lf │Dn │Rt │ *M* => Tap = Menu, Hold = Layer 2 (Fn2)
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [_BASE] = LAYOUT_60_ansi_arrow(
+ 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,
+ SK_LT1C, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, FN_MO13, SK_LT2A, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ ~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ ↑ │ │ │Tog│Hu+│Sa+│Br+│Sp+│prn│slk│pus│ Ins │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ Caps │ ↠│ ↓ │ → │ │Mod│Hu-│Sa-│Br-│Sp-│ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │Ver│Rst│NKR│ │ │ │ │PUp│ / │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │Hom│PDn│End│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [_FN1] = LAYOUT_60_ansi_arrow(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, KC_UP, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______,
+ _______, _______, _______, _______, KB_VRSN, QK_BOOT, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, MO(_FN3), KC_HOME, KC_PGDN, KC_END
+ ),
+
+ [_FN2] = LAYOUT_60_ansi_arrow(
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_POWER,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(_FN3), _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_60_ansi_arrow(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+uint8_t mod_state;
+bool delkey_registered;
+
+#ifdef RGB_MATRIX_ENABLE
+
+/*
+ * RGB Stuff
+ */
+
+#define ID63_CAPS_LOCK_KEY_INDEX 34 // position of Caps Lock key
+
+#define ID63_CAPS_LOCK_MAX_BRIGHTNESS 0xFF
+#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #undef ID63_CAPS_LOCK_MAX_BRIGHTNESS
+ #define ID63_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#define ID63_CAPS_LOCK_VAL_STEP 8
+#ifdef RGB_MATRIX_VAL_STEP
+ #undef ID63_CAPS_LOCK_VAL_STEP
+ #define ID63_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+user_config_t user_config;
+
+void id63_update_rgb_mode(void) {
+ uint8_t flags = LED_FLAG_ALL;
+
+ if (user_config.rgb_disable_perkey
+ #ifndef ID63_DISABLE_UNDERGLOW
+ && user_config.rgb_disable_underglow
+ #endif // ID63_DISABLE_UNDERGLOW
+ ) {
+ flags = 0; // All OFF Condition
+ } else {
+ if (user_config.rgb_disable_perkey) {
+ #ifndef ID63_DISABLE_UNDERGLOW
+ flags = LED_FLAG_UNDERGLOW | 0xF0;
+ #else
+ flags = 0xF0;
+ #endif // ID63_DISABLE_UNDERGLOW
+ }
+ #ifndef ID63_DISABLE_UNDERGLOW
+ if (user_config.rgb_disable_underglow) {
+ flags = LED_FLAG_MODIFIER | LED_FLAG_KEYLIGHT | LED_FLAG_INDICATOR | 0xF0;
+ }
+ #endif // ID63_DISABLE_UNDERGLOW
+ }
+
+ if (flags == 0) {
+ rgb_matrix_set_flags(0);
+ rgb_matrix_set_color_all(HSV_OFF);
+ } else {
+ rgb_matrix_set_flags(flags);
+ rgb_matrix_enable_noeeprom();
+ }
+
+ eeconfig_update_kb(user_config.raw); // write back to EEPROM
+}
+
+void id63_get_rgb_mode(void) {
+ user_config.raw = eeconfig_read_kb(); // read config from EEPROM
+ id63_update_rgb_mode();
+}
+
+void keyboard_post_init_user(void) {
+ id63_get_rgb_mode();
+}
+
+void eeconfig_init_user(void) {
+ // EEPROM is getting reset!
+ user_config.raw = 0;
+ id63_update_rgb_mode();
+}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // Caps Lock key stuff
+
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t v = rgb_matrix_get_val();
+ if (v < ID63_CAPS_LOCK_VAL_STEP) {
+ v = ID63_CAPS_LOCK_VAL_STEP;
+ } else if (v < (ID63_CAPS_LOCK_MAX_BRIGHTNESS - ID63_CAPS_LOCK_VAL_STEP)) {
+ if (!user_config.rgb_disable_perkey) {
+ v += ID63_CAPS_LOCK_VAL_STEP; // inc. by one more step than current brightness
+ } // else leave as current brightness
+ } else {
+ v = ID63_CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(ID63_CAPS_LOCK_KEY_INDEX, v, v, v); // white, brightness adjusted
+ } else if (user_config.rgb_disable_perkey) {
+ rgb_matrix_set_color(ID63_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
+ }
+}
+
+#endif // RGB_MATRIX_ENABLE
+
+/*
+ * Extra keys and RGB Toggle handler
+ */
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ mod_state = get_mods();
+
+ switch (keycode) {
+
+ // handle RGB toggle key - this ensures caps lock always works
+ #ifdef RGB_MATRIX_ENABLE
+
+ case QK_BOOT:
+ if (record->event.pressed) {
+ rgb_matrix_set_color_all(RGB_MATRIX_MAXIMUM_BRIGHTNESS, 0, 0); // All red
+ rgb_matrix_driver.flush();
+ }
+ return true;
+
+ case RGB_TOG:
+ /* roll through the LED modes
+ * | Level | Per-key | Underglow |
+ * |-------------|---------|-----------|
+ * | 0 (default) | on | on |
+ * | 1 | OFF | on |
+ * | 2 | on | OFF |
+ * | 3 | OFF | OFF |
+ *
+ * for ID63_DISABLE_UNDERGLOW
+ * | Level | Per-key |
+ * |-------------|---------|
+ * | 0 (default) | on |
+ * | 1 | OFF |
+ */
+ if (record->event.pressed) {
+ if ( (!user_config.rgb_disable_perkey)
+ #ifndef ID63_DISABLE_UNDERGLOW
+ && (!user_config.rgb_disable_underglow)
+ #endif // ID63_DISABLE_UNDERGLOW
+ ) {
+ user_config.rgb_disable_perkey = 1;
+
+ #ifndef ID63_DISABLE_UNDERGLOW
+
+ } else if ( user_config.rgb_disable_perkey && (!user_config.rgb_disable_underglow) ) {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 1;
+
+ } else if ( (!user_config.rgb_disable_perkey) && user_config.rgb_disable_underglow ) {
+ user_config.rgb_disable_perkey = 1;
+
+ #endif // ID63_DISABLE_UNDERGLOW
+
+ } else {
+ user_config.rgb_disable_perkey = 0;
+ #ifndef ID63_DISABLE_UNDERGLOW
+ user_config.rgb_disable_underglow = 0;
+ #endif // ID63_DISABLE_UNDERGLOW
+ }
+ id63_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TPK:
+ if (record->event.pressed) {
+ user_config.rgb_disable_perkey ^= 1;
+ id63_update_rgb_mode();
+ }
+ return false;
+
+ #ifndef ID63_DISABLE_UNDERGLOW
+
+ case RGB_TUG:
+ if (record->event.pressed) {
+ user_config.rgb_disable_underglow ^= 1;
+ id63_update_rgb_mode();
+ }
+ return false;
+
+ #endif // ID63_DISABLE_UNDERGLOW
+
+ case EE_CLR:
+ if (!record->event.pressed) { // on release
+ id63_get_rgb_mode();
+ }
+ return true; // let this one pass on
+
+ #endif // RGB_MATRIX_ENABLE
+
+ // print firmware version
+ case KB_VRSN:
+ if (!get_mods()) {
+ if (!record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
+ }
+ }
+ return false;
+
+ // @see: https://github.com/qmk/qmk_firmware/issues/10111#issuecomment-752300353
+ case KC_MCON:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_WINDOWS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ case KC_LPAD:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_APPS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ // Shift + Backspace = Delete, see: https://docs.qmk.fm/#/feature_advanced_keycodes?id=shift-backspace-for-delete
+ case KC_BSPC:
+ if (record->event.pressed) {
+ if (mod_state & MOD_MASK_SHIFT) {
+ del_mods(MOD_MASK_SHIFT);
+ register_code(KC_DEL);
+ delkey_registered = true;
+ set_mods(mod_state);
+ return false;
+ }
+ } else {
+ if (delkey_registered) {
+ unregister_code(KC_DEL);
+ delkey_registered = false;
+ return false;
+ }
+ }
+ return true;
+
+ default:
+ return true; /* Process all other keycodes normally */
+ }
+}
diff --git a/keyboards/idobao/id63/keymaps/idobao/rules.mk b/keyboards/idobao/id63/keymaps/idobao/rules.mk
new file mode 100644
index 0000000000..974ef99660
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/idobao/rules.mk
@@ -0,0 +1,3 @@
+
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id63/keymaps/via/keymap.c b/keyboards/idobao/id63/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e8ad0eb82a
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │Up │ / │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn │Mnu│Lf │Dn │Rt │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_60_ansi_arrow(
+ 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_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │ ~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │tog│up │mod│hu+│hu-│sa+│sa-│br+│br-│prn│slk│pus│ Ins │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ Caps │lf │dn │rt │ │ │ │ │sp+│sp-│ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │ │Rst│NRK│ │ │ │ │PUp│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │Hom│PDn│End│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [1] = LAYOUT_60_ansi_arrow(
+ 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,
+ _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ [2] = LAYOUT_60_ansi_arrow(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_60_ansi_arrow(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/idobao/id63/keymaps/via/rules.mk b/keyboards/idobao/id63/keymaps/via/rules.mk
new file mode 100644
index 0000000000..974ef99660
--- /dev/null
+++ b/keyboards/idobao/id63/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id63/post_rules.mk b/keyboards/idobao/id63/post_rules.mk
new file mode 100644
index 0000000000..1a465397fd
--- /dev/null
+++ b/keyboards/idobao/id63/post_rules.mk
@@ -0,0 +1,8 @@
+# The Denwir D60 case has a sealed/solid undercase,
+# this enables switching off thoes LEDs
+# Usage: `make idobao/id63:default UNDERGLOW=off`
+
+UNDERGLOW ?= yes
+ifneq ($(strip $(UNDERGLOW)), yes)
+ OPT_DEFS += -DID63_DISABLE_UNDERGLOW
+endif
diff --git a/keyboards/idobao/id63/readme.md b/keyboards/idobao/id63/readme.md
new file mode 100644
index 0000000000..a4566f6f20
--- /dev/null
+++ b/keyboards/idobao/id63/readme.md
@@ -0,0 +1,39 @@
+# IDOBAO ID63
+
+![IDOBAO ID63](https://i.imgur.com/DxlOr9xh.png)
+
+*The ID63 Keyboard Kit brings a tailored gasket-mounted build to an ultra-compact 60% layout with a unique ribbed side texture.*
+
+## ANSI Support
+
+* Keyboard Maintainer: [Vino Rodrigues](https://github.com/vinorodrigues)
+* Hardware Supported: **IDOBAO ID63**
+* Hardware Availability: [Drop.com](https://drop.com/buy/idobao-id63-60-gasket-hot-swappable-aluminum-mechanical-keyboard-kit) & [IDOBAO.net](https://idobao.net/search?type=product&q=id63*)
+
+## Layout
+
+![IDOBAO ID63](https://idobao.github.io/kle/idobao-id63.png)
+
+## Compiling and Flashing
+
+Make example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb idobao/id63 -km default
+
+*{..or..}*
+
+ make idobao/id63:default
+
+Flashing example for this keyboard:
+
+ make idobao/id63: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. <br>Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the [Escape] key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`, default is [Fn]+[B]
diff --git a/keyboards/idobao/id63/rules.mk b/keyboards/idobao/id63/rules.mk
new file mode 100644
index 0000000000..eab741fd0a
--- /dev/null
+++ b/keyboards/idobao/id63/rules.mk
@@ -0,0 +1,5 @@
+# This file intentionally left blank
+# ** settings are data driven & stored in `info.json` **
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h
index f94606c9e7..59e34654b5 100644
--- a/keyboards/idobao/id67/config.h
+++ b/keyboards/idobao/id67/config.h
@@ -1,49 +1,12 @@
-/* Copyright 2021 Tybera
- * Copyright 2021 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Tybera (@tybera)
+// Copyright 2021 Werther (@thewerther)
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 /* "id" */
-#define PRODUCT_ID 0x0067
-#define DEVICE_VER 0x0002
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID67
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-/*
- * 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 { B0, B1, B2, B3, F7 }
-#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, B7, D5, D1, D2, D3, D4, D0, D6, D7, B4 }
-
-#define DIODE_DIRECTION COL2ROW
#define RGB_DI_PIN F0
// RGB Matrix config
@@ -51,60 +14,73 @@
#ifndef ID67_DISABLE_UNDERGLOW
#define DRIVER_LED_TOTAL 77
#else
- #define DRIVER_LED_TOTAL 67
+ #define DRIVER_LED_TOTAL (77 - 10)
#endif
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
- #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_KEYPRESSES
- #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
- #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
- #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
- #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
- #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
- #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
- #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
- #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
- #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
- #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
- #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
- #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
- #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
- #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
- #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
- #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
- #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
- #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
- #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+ #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+ #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
+ #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
- // don't need `#if`, animation modes themselves check defines
- // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
+ /* RGB_MATRIX_FRAMEBUFFER_EFFECTS -- don't enable */
// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
- // #endif // #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- // don't need `#if`, animation modes themselves check defines
- // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE// Pulses keys hit to hue & value then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ /* RGB_MATRIX_KEYPRESSES || RGB_MATRIX_KEYRELEASES */
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
- // #endif // #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
-#endif // #if defined(RGB_MATRIX_ENABLE)
+ #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+#endif // RGB_MATRIX_ENABLE
+
+/* -----------------------
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ * ----------------------- */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+// #define NO_ACTION_LAYER
+// #define NO_ACTION_TAPPING
+// #define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id67/id67.c b/keyboards/idobao/id67/id67.c
index 155cc74087..17bcd9a943 100644
--- a/keyboards/idobao/id67/id67.c
+++ b/keyboards/idobao/id67/id67.c
@@ -1,19 +1,7 @@
-/* Copyright 2021 Tybera
- * Copyright 2021 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Tybera (@tybera)
+// Copyright 2021 Werther (@thewerther)
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "id67.h"
@@ -25,6 +13,23 @@
* These "LED Index to *" arrays are in that reversed order!
* i.e., Space row on top, listed right to left */
led_config_t g_led_config = { {
+ /* Under- / Per-Key
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │66 │65 │64 │63 │62 │61 │60 │59 │58 │57 │56 │55 │54 │ 53 │52 │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ 51 │50 │49 │48 │47 │46 │45 │44 │43 │42 │41 │40 │39 │ 38 │37 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ 36 │35 │34 │33 │32 │31 │30 │29 │28 │27 │26 │25 │ 24 │23 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ 22 │21 │20 │19 │18 │17 │16 │15 │14 │13 │12 │ 11 │10 │ 9 │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ 8 │ 7 │ 6 │ 5 │ 4 │ 3 │ │ 2 │ 1 │ 0 │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ *
+ * Bottom Side (as seen from top orientation)
+ * 67 68 69 70 71
+ * 76 75 74 73 72
+ */
// Key Matrix to LED Index
{66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52},
{51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37},
@@ -34,63 +39,30 @@ led_config_t g_led_config = { {
}, {
// LED Index to Physical Position
// based on: https://gist.github.com/vinorodrigues/07fd735683856b2a06c7c52b9b3878cb
- {224, 64}, {209, 64}, {194, 64}, {170, 64}, {151, 64}, {95, 64}, {39, 64}, {21, 64}, {2, 64},
- {224, 48}, {209, 48}, {189, 48}, {168, 48}, {153, 48}, {138, 48}, {123, 48}, {108, 48}, {93, 48}, {78, 48}, {63, 48}, {49, 48}, {34, 48}, {9, 48},
- {224, 32}, {200, 32}, {175, 32}, {161, 32}, {146, 32}, {131, 32}, {116, 32}, {101, 32}, {86, 32}, {71, 32}, {56, 32}, {41, 32}, {26, 32}, {6, 32},
- {224, 16}, {205, 16}, {187, 16}, {172, 16}, {157, 16}, {142, 16}, {127, 16}, {112, 16}, {97, 16}, {82, 16}, {67, 16}, {52, 16}, {37, 16}, {22, 16}, {4, 16},
- {224, 0}, {202, 0}, {179, 0}, {164, 0}, {149, 0}, {134, 0}, {119, 0}, {105, 0}, {90, 0}, {75, 0}, {60, 0}, {45, 0}, {30, 0}, {15, 0}, {0, 0}
- #ifndef ID67_DISABLE_UNDERGLOW
+ // **NB: In reverse order**
+ {224,64 }, {209,64 }, {194,64 }, {170,64 }, {151,64 }, { 95,64 }, { 39,64 }, { 21,64 }, { 2,64 },
+ {224,48 }, {209,48 }, {189,48 }, {168,48 }, {153,48 }, {138,48 }, {123,48 }, {108,48 }, { 93,48 }, { 78,48 }, { 63,48 }, { 49,48 }, { 34,48 }, { 9,48 },
+ {224,32 }, {200,32 }, {175,32 }, {161,32 }, {146,32 }, {131,32 }, {116,32 }, {101,32 }, { 86,32 }, { 71,32 }, { 56,32 }, { 41,32 }, { 26,32 }, { 6,32 },
+ {224,16 }, {205,16 }, {187,16 }, {172,16 }, {157,16 }, {142,16 }, {127,16 }, {112,16 }, { 97,16 }, { 82,16 }, { 67,16 }, { 52,16 }, { 37,16 }, { 22,16 }, { 4,16 },
+ {224,0 }, {202,0 }, {179,0 }, {164,0 }, {149,0 }, {134,0 }, {119,0 }, {105,0 }, { 90,0 }, { 75,0 }, { 60,0 }, { 45,0 }, { 30,0 }, { 15,0 }, { 0,0 }
// underglow LEDs
+ #ifndef ID67_DISABLE_UNDERGLOW
, {0, 0}, {56, 0}, {112, 0}, {168, 0}, {224, 0},
{224, 64}, {168, 64}, {112, 64}, {56, 64}, {0, 64}
#endif
}, {
// LED Index to Flag
- 4, 4, 4, 1, 1, 4, 1, 1, 1, // first row
- 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // second row
+ // **NB: In reverse order**
+ 1, 1, 1, 1, 1, 4, 1, 1, 1, // fifth/bottom row
+ 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, // third row
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row
- 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 // fifth row
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // second row
+ 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 // first/top row
// underglow LEDs
#ifndef ID67_DISABLE_UNDERGLOW
- , 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+ , 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2
#endif
} };
-#endif // #ifdef RGB_MATRIX_ENABLE
-
-
-/* Use `#define ID67_CAPS_LOCK_KEY_INDEX 36` in `keymaps/yourkeymap/config.h`
- * if you want to enable Caps-Lock LED mode */
-#if defined(RGB_MATRIX_ENABLE) && defined(ID67_CAPS_LOCK_KEY_INDEX)
-
-#define ID67_CAPS_LOCK_MAX_BRIGHTNESS 0xFF
-#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
- #undef ID67_CAPS_LOCK_MAX_BRIGHTNESS
- #define ID67_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#endif
-
-#define ID67_CAPS_LOCK_VAL_STEP 8
-#ifdef RGB_MATRIX_VAL_STEP
- #undef ID67_CAPS_LOCK_VAL_STEP
- #define ID67_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
-#endif
-
-/* This function is defined as weak, so if you create your own in keymap then
- * that will compile, not this */
-__attribute__((weak))
-void rgb_matrix_indicators_user(void) {
- if (host_keyboard_led_state().caps_lock) {
- uint8_t b = rgb_matrix_get_val();
- if (b < ID67_CAPS_LOCK_VAL_STEP) {
- b = ID67_CAPS_LOCK_VAL_STEP;
- } else if (b < (ID67_CAPS_LOCK_MAX_BRIGHTNESS - ID67_CAPS_LOCK_VAL_STEP)) {
- b += ID67_CAPS_LOCK_VAL_STEP; // one step more than current brightness
- } else {
- b = ID67_CAPS_LOCK_MAX_BRIGHTNESS;
- }
- rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, b, b, b); // white, with the adjusted brightness
- }
-}
-
-#endif // #ifdef ID67_CAPS_LOCK_KEY_INDEX
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id67/id67.h b/keyboards/idobao/id67/id67.h
index a8eead92a0..cd5ab8de09 100644
--- a/keyboards/idobao/id67/id67.h
+++ b/keyboards/idobao/id67/id67.h
@@ -1,36 +1,8 @@
-/* Copyright 2021 Tybera
- * Copyright 2021 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Tybera (@tybera)
+// Copyright 2021 Werther (@thewerther)
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
-
-#define ___ KC_NO
-
-#define LAYOUT_65_ansi_blocker( \
- 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K40, K41, K43, K46, 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, ___, K2D, K2E }, \
- { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
- { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E }, \
-}
diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json
index 545cd863d8..5d70e19cd8 100644
--- a/keyboards/idobao/id67/info.json
+++ b/keyboards/idobao/id67/info.json
@@ -1,84 +1,105 @@
{
+ "manufacturer": "IDOBAO",
"keyboard_name": "ID67",
- "url": "https://idobao.net",
"maintainer": "thewerther",
- "layout_aliases": {
- "LAYOUT": "LAYOUT_65_ansi_blocker"
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": false,
+ "console": false,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "matrix_pins": {
+ "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"],
+ "rows": ["B0", "B1", "B2", "B3", "F7"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=ID67*",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0267",
+ "device_version": "2.0.0"
},
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
- {"label":"K00 (B0,C7)", "x":0, "y":0},
- {"label":"K01 (B0,F6)", "x":1, "y":0},
- {"label":"K02 (B0,F5)", "x":2, "y":0},
- {"label":"K03 (B0,F4)", "x":3, "y":0},
- {"label":"K04 (B0,F1)", "x":4, "y":0},
- {"label":"K05 (B0,B7)", "x":5, "y":0},
- {"label":"K06 (B0,D5)", "x":6, "y":0},
- {"label":"K07 (B0,D1)", "x":7, "y":0},
- {"label":"K08 (B0,D2)", "x":8, "y":0},
- {"label":"K09 (B0,D3)", "x":9, "y":0},
- {"label":"K0A (B0,D4)", "x":10, "y":0},
- {"label":"K0B (B0,D0)", "x":11, "y":0},
- {"label":"K0C (B0,D6)", "x":12, "y":0},
- {"label":"K0D (B0,D7)", "x":13, "y":0, "w":2},
- {"label":"K0E (B0,B4)", "x":15, "y":0},
+ { "matrix": [0, 0], "x":0, "y":0 },
+ { "matrix": [0, 1], "x":1, "y":0 },
+ { "matrix": [0, 2], "x":2, "y":0 },
+ { "matrix": [0, 3], "x":3, "y":0 },
+ { "matrix": [0, 4], "x":4, "y":0 },
+ { "matrix": [0, 5], "x":5, "y":0 },
+ { "matrix": [0, 6], "x":6, "y":0 },
+ { "matrix": [0, 7], "x":7, "y":0 },
+ { "matrix": [0, 8], "x":8, "y":0 },
+ { "matrix": [0, 9], "x":9, "y":0 },
+ { "matrix": [0, 10], "x":10, "y":0 },
+ { "matrix": [0, 11], "x":11, "y":0 },
+ { "matrix": [0, 12], "x":12, "y":0 },
+ { "matrix": [0, 13], "x":13, "y":0, "w":2 },
+ { "matrix": [0, 14], "x":15, "y":0 },
- {"label":"K10 (B1,C7)", "x":0, "y":1, "w":1.5},
- {"label":"K11 (B1,F6)", "x":1.5, "y":1},
- {"label":"K12 (B1,F5)", "x":2.5, "y":1},
- {"label":"K13 (B1,F4)", "x":3.5, "y":1},
- {"label":"K14 (B1,F1)", "x":4.5, "y":1},
- {"label":"K15 (B1,B7)", "x":5.5, "y":1},
- {"label":"K16 (B1,D5)", "x":6.5, "y":1},
- {"label":"K17 (B1,D1)", "x":7.5, "y":1},
- {"label":"K18 (B1,D2)", "x":8.5, "y":1},
- {"label":"K19 (B1,D3)", "x":9.5, "y":1},
- {"label":"K1A (B1,D4)", "x":10.5, "y":1},
- {"label":"K1B (B1,D0)", "x":11.5, "y":1},
- {"label":"K1C (B1,D6)", "x":12.5, "y":1},
- {"label":"K1D (B1,D7)", "x":13.5, "y":1, "w":1.5},
- {"label":"K1E (B1,B4)", "x":15, "y":1},
+ { "matrix": [1, 0], "x":0, "y":1, "w":1.5 },
+ { "matrix": [1, 1], "x":1.5, "y":1 },
+ { "matrix": [1, 2], "x":2.5, "y":1 },
+ { "matrix": [1, 3], "x":3.5, "y":1 },
+ { "matrix": [1, 4], "x":4.5, "y":1 },
+ { "matrix": [1, 5], "x":5.5, "y":1 },
+ { "matrix": [1, 6], "x":6.5, "y":1 },
+ { "matrix": [1, 7], "x":7.5, "y":1 },
+ { "matrix": [1, 8], "x":8.5, "y":1 },
+ { "matrix": [1, 9], "x":9.5, "y":1 },
+ { "matrix": [1, 10], "x":10.5, "y":1 },
+ { "matrix": [1, 11], "x":11.5, "y":1 },
+ { "matrix": [1, 12], "x":12.5, "y":1 },
+ { "matrix": [1, 13], "x":13.5, "y":1, "w":1.5 },
+ { "matrix": [1, 14], "x":15, "y":1 },
- {"label":"K20 (B2,C7)", "x":0, "y":2, "w":1.75},
- {"label":"K21 (B2,F6)", "x":1.75, "y":2},
- {"label":"K22 (B2,F5)", "x":2.75, "y":2},
- {"label":"K23 (B2,F4)", "x":3.75, "y":2},
- {"label":"K24 (B2,F1)", "x":4.75, "y":2},
- {"label":"K25 (B2,B7)", "x":5.75, "y":2},
- {"label":"K26 (B2,D5)", "x":6.75, "y":2},
- {"label":"K27 (B2,D1)", "x":7.75, "y":2},
- {"label":"K28 (B2,D2)", "x":8.75, "y":2},
- {"label":"K29 (B2,D3)", "x":9.75, "y":2},
- {"label":"K2A (B2,D4)", "x":10.75, "y":2},
- {"label":"K2B (B2,D0)", "x":11.75, "y":2},
- {"label":"K2D (B2,D7)", "x":12.75, "y":2, "w":2.25},
- {"label":"K2E (B2,B4)", "x":15, "y":2},
+ { "matrix": [2, 0], "x":0, "y":2, "w":1.75 },
+ { "matrix": [2, 1], "x":1.75, "y":2 },
+ { "matrix": [2, 2], "x":2.75, "y":2 },
+ { "matrix": [2, 3], "x":3.75, "y":2 },
+ { "matrix": [2, 4], "x":4.75, "y":2 },
+ { "matrix": [2, 5], "x":5.75, "y":2 },
+ { "matrix": [2, 6], "x":6.75, "y":2 },
+ { "matrix": [2, 7], "x":7.75, "y":2 },
+ { "matrix": [2, 8], "x":8.75, "y":2 },
+ { "matrix": [2, 9], "x":9.75, "y":2 },
+ { "matrix": [2, 10], "x":10.75, "y":2 },
+ { "matrix": [2, 11], "x":11.75, "y":2 },
+ { "matrix": [2, 13], "x":12.75, "y":2, "w":2.25 },
+ { "matrix": [2, 14], "x":15, "y":2 },
- {"label":"K30 (B3,C7)", "x":0, "y":3, "w":2.25},
- {"label":"K32 (B3,F5)", "x":2.25, "y":3},
- {"label":"K33 (B3,F4)", "x":3.25, "y":3},
- {"label":"K34 (B3,F1)", "x":4.25, "y":3},
- {"label":"K35 (B3,B7)", "x":5.25, "y":3},
- {"label":"K36 (B3,D5)", "x":6.25, "y":3},
- {"label":"K37 (B3,D1)", "x":7.25, "y":3},
- {"label":"K38 (B3,D2)", "x":8.25, "y":3},
- {"label":"K39 (B3,D3)", "x":9.25, "y":3},
- {"label":"K3A (B3,D4)", "x":10.25, "y":3},
- {"label":"K3B (B3,D0)", "x":11.25, "y":3},
- {"label":"K3C (B3,D6)", "x":12.25, "y":3, "w":1.75},
- {"label":"K3D (B3,D7)", "x":14, "y":3},
- {"label":"K3E (B3,B4)", "x":15, "y":3},
+ { "matrix": [3, 0], "x":0, "y":3, "w":2.25 },
+ { "matrix": [3, 2], "x":2.25, "y":3 },
+ { "matrix": [3, 3], "x":3.25, "y":3 },
+ { "matrix": [3, 4], "x":4.25, "y":3 },
+ { "matrix": [3, 5], "x":5.25, "y":3 },
+ { "matrix": [3, 6], "x":6.25, "y":3 },
+ { "matrix": [3, 7], "x":7.25, "y":3 },
+ { "matrix": [3, 8], "x":8.25, "y":3 },
+ { "matrix": [3, 9], "x":9.25, "y":3 },
+ { "matrix": [3, 10], "x":10.25, "y":3 },
+ { "matrix": [3, 11], "x":11.25, "y":3 },
+ { "matrix": [3, 12], "x":12.25, "y":3, "w":1.75 },
+ { "matrix": [3, 13], "x":14, "y":3 },
+ { "matrix": [3, 14], "x":15, "y":3 },
- {"label":"K40 (F7,C7)", "x":0, "y":4, "w":1.25},
- {"label":"K41 (F7,F6)", "x":1.25, "y":4, "w":1.25},
- {"label":"K43 (F7,F4)", "x":2.5, "y":4, "w":1.25},
- {"label":"K46 (F7,D5)", "x":3.75, "y":4, "w":6.25},
- {"label":"K4A (F7,D4)", "x":10, "y":4, "w":1.25},
- {"label":"K4B (F7,D0)", "x":11.25, "y":4, "w":1.25},
- {"label":"K4C (F7,D6)", "x":13, "y":4},
- {"label":"K4D (F7,D7)", "x":14, "y":4},
- {"label":"K4E (F7,B4)", "x":15, "y":4}
+ { "matrix": [4, 0], "x":0, "y":4, "w":1.25 },
+ { "matrix": [4, 1], "x":1.25, "y":4, "w":1.25 },
+ { "matrix": [4, 3], "x":2.5, "y":4, "w":1.25 },
+ { "matrix": [4, 6], "x":3.75, "y":4, "w":6.25 },
+ { "matrix": [4, 10], "x":10, "y":4, "w":1.25 },
+ { "matrix": [4, 11], "x":11.25, "y":4, "w":1.25 },
+ { "matrix": [4, 12], "x":13, "y":4 },
+ { "matrix": [4, 13], "x":14, "y":4 },
+ { "matrix": [4, 14], "x":15, "y":4 }
]
}
}
diff --git a/keyboards/idobao/id67/keymaps/default/keymap.c b/keyboards/idobao/id67/keymaps/default/keymap.c
index 54b39ad4a7..55e6fd88cd 100644
--- a/keyboards/idobao/id67/keymaps/default/keymap.c
+++ b/keyboards/idobao/id67/keymaps/default/keymap.c
@@ -1,23 +1,22 @@
-/* Copyright 2021 Tybera
- * Copyright 2022 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Tybera (@tybera)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ ~ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PUp│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shft │Up │PDn│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn1 │Ctrl│ │Lf │Dn │Rt │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
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,
@@ -25,12 +24,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │Tog│Up │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │Lf │Dn │Rt │ │ │ │ │ │Ins│Hom│PUp│ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │RST│Sp+│Sp-│ │Vl-│Mut│Vl+│Del│End│PDn│ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[1] = LAYOUT_65_ansi_blocker(
_______, 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, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
- _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______,
+ _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
+ )
};
diff --git a/keyboards/idobao/id67/keymaps/idobao/keymap.c b/keyboards/idobao/id67/keymaps/idobao/keymap.c
new file mode 100644
index 0000000000..55ff6e5730
--- /dev/null
+++ b/keyboards/idobao/id67/keymaps/idobao/keymap.c
@@ -0,0 +1,341 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// Copyright 2022 IDOBAO (@idobaokb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* ------------------------------------------------------------------
+ * This is the IDOBAO factory default keymap ;)
+ * ------------------------------------------------------------------ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+typedef union {
+ uint32_t raw;
+ struct {
+ bool rgb_disable_perkey:1;
+ #ifndef ID67_DISABLE_UNDERGLOW
+ bool rgb_disable_underglow:1;
+ #endif // ID67_DISABLE_UNDERGLOW
+ };
+} user_config_t;
+
+#endif // RGB_MATRIX_ENABLE
+
+enum {
+ KC_MCON = USER00, // macOS Open Mission Control
+ KC_LPAD, // macOS Open Launchpad
+ #ifdef RGB_MATRIX_ENABLE
+ RGB_TPK, // Toggle Per-Key
+ #ifndef ID67_DISABLE_UNDERGLOW
+ RGB_TUG, // Toggle Underglow
+ #endif // ID67_DISABLE_UNDERGLOW
+ #endif //RGB_MATRIX_ENABLE
+ KB_VRSN = USER09 // debug, type version
+};
+
+#ifndef RGB_MATRIX_ENABLE
+ #define RGB_TPK _______
+ #define RGB_TUG _______
+#else
+ #ifdef ID67_DISABLE_UNDERGLOW
+ #define RGB_TUG _______
+ #endif // ID67_DISABLE_UNDERGLOW
+#endif // RGB_MATRIX_ENABLE
+
+enum macos_consumer_usages {
+ _AC_SHOW_ALL_WINDOWS = 0x29F, // mapped to KC_MCON
+ _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD
+};
+
+/* Special Keys */
+#define SK_LT1C LT(1, KC_CAPS) // Layer Tap 1, i.e., Tap = Caps Lock, Hold = Layer 1
+#define SK_LT2A LT(2, KC_APP) // Layer Tap 2, i.e., Tap = Menu, Hold = Layer 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ ~ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │*Caps*│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PUp│ *Caps* => `LT(1, KC_CAPS)`
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shft │Up │PDn│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn1 │*Mn*│ │Lf │Dn │Rt │ *Mn* => `LT(2, KC_APP)`
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT_65_ansi_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
+ 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,
+ SK_LT1C, 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), SK_LT2A, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │Tog│Up │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │TUG│TPK│ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │Lf │Dn │Rt │ │ │ │ │ │Ins│Hom│PUp│ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │RST│Sp+│Sp-│ │Vl-│Mut│Vl+│Del│End│PDn│ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT_65_ansi_blocker(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, RGB_TUG, RGB_TPK, _______, _______,
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
+ _______, QK_BOOT, RGB_SPI, RGB_SPD, KB_VRSN, KC_VOLD, KC_MUTE, KC_VOLU, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef RGB_MATRIX_ENABLE
+
+/*
+ * RGB Stuff
+ */
+
+#define ID67_CAPS_LOCK_KEY_INDEX 36 // position of Caps Lock key
+
+#define ID67_CAPS_LOCK_MAX_BRIGHTNESS 0xFF
+#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #undef ID67_CAPS_LOCK_MAX_BRIGHTNESS
+ #define ID67_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#define ID67_CAPS_LOCK_VAL_STEP 8
+#ifdef RGB_MATRIX_VAL_STEP
+ #undef ID67_CAPS_LOCK_VAL_STEP
+ #define ID67_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+user_config_t user_config;
+
+void id67_update_rgb_mode(void) {
+ uint8_t flags = LED_FLAG_ALL;
+
+ if (user_config.rgb_disable_perkey
+ #ifndef ID67_DISABLE_UNDERGLOW
+ && user_config.rgb_disable_underglow
+ #endif // ID67_DISABLE_UNDERGLOW
+ ) {
+ flags = 0; // All OFF Condition
+ } else {
+ if (user_config.rgb_disable_perkey) {
+ #ifndef ID67_DISABLE_UNDERGLOW
+ flags = LED_FLAG_UNDERGLOW | 0xF0;
+ #else
+ flags = 0xF0;
+ #endif // ID67_DISABLE_UNDERGLOW
+ }
+ #ifndef ID67_DISABLE_UNDERGLOW
+ if (user_config.rgb_disable_underglow) {
+ flags = LED_FLAG_MODIFIER | LED_FLAG_KEYLIGHT | LED_FLAG_INDICATOR | 0xF0;
+ }
+ #endif // ID67_DISABLE_UNDERGLOW
+ }
+
+ if (flags == 0) {
+ rgb_matrix_set_flags(0);
+ rgb_matrix_set_color_all(HSV_OFF);
+ } else {
+ rgb_matrix_set_flags(flags);
+ rgb_matrix_enable_noeeprom();
+ }
+
+ eeconfig_update_kb(user_config.raw); // write back to EEPROM
+}
+
+void id67_get_rgb_mode(void) {
+ user_config.raw = eeconfig_read_kb(); // read config from EEPROM
+ id67_update_rgb_mode();
+}
+
+void keyboard_post_init_user(void) {
+ id67_get_rgb_mode();
+}
+
+void eeconfig_init_user(void) {
+ // EEPROM is getting reset!
+ user_config.raw = 0;
+ id67_update_rgb_mode();
+}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // Caps Lock key stuff
+
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t v = rgb_matrix_get_val();
+ if (v < ID67_CAPS_LOCK_VAL_STEP) {
+ v = ID67_CAPS_LOCK_VAL_STEP;
+ } else if (v < (ID67_CAPS_LOCK_MAX_BRIGHTNESS - ID67_CAPS_LOCK_VAL_STEP)) {
+ if (!user_config.rgb_disable_perkey) {
+ v += ID67_CAPS_LOCK_VAL_STEP; // inc. by one more step than current brightness
+ } // else leave as current brightness
+ } else {
+ v = ID67_CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, v, v, v); // white, brightness adjusted
+ } else if (user_config.rgb_disable_perkey) {
+ rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
+ }
+}
+
+#endif // RGB_MATRIX_ENABLE
+
+/*
+ * Extra keys and RGB Toggle handler
+ */
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ switch (keycode) {
+
+ // handle RGB toggle key - this ensures caps lock always works
+ #ifdef RGB_MATRIX_ENABLE
+
+ case QK_BOOT:
+ if (record->event.pressed) {
+ rgb_matrix_set_color_all(RGB_MATRIX_MAXIMUM_BRIGHTNESS, 0, 0); // All red
+ rgb_matrix_driver.flush();
+ }
+ return true;
+
+ case RGB_TOG:
+ /* roll through the LED modes
+ * | Level | Per-key | Underglow |
+ * |-------------|---------|-----------|
+ * | 0 (default) | on | on |
+ * | 1 | OFF | on |
+ * | 2 | on | OFF |
+ * | 3 | OFF | OFF |
+ *
+ * for ID67_DISABLE_UNDERGLOW
+ * | Level | Per-key |
+ * |-------------|---------|
+ * | 0 (default) | on |
+ * | 1 | OFF |
+ */
+ if (record->event.pressed) {
+ if ((!user_config.rgb_disable_perkey)
+ #ifndef ID67_DISABLE_UNDERGLOW
+ && (!user_config.rgb_disable_underglow)
+ #endif // ID67_DISABLE_UNDERGLOW
+ ) {
+ user_config.rgb_disable_perkey = 1;
+
+ #ifndef ID67_DISABLE_UNDERGLOW
+
+ } else if (user_config.rgb_disable_perkey && (!user_config.rgb_disable_underglow)) {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 1;
+
+ } else if ((!user_config.rgb_disable_perkey) && user_config.rgb_disable_underglow) {
+ user_config.rgb_disable_perkey = 1;
+
+ #endif // ID67_DISABLE_UNDERGLOW
+
+ } else {
+ user_config.rgb_disable_perkey = 0;
+ #ifndef ID67_DISABLE_UNDERGLOW
+ user_config.rgb_disable_underglow = 0;
+ #endif // ID67_DISABLE_UNDERGLOW
+ }
+
+ id67_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TPK:
+ if (record->event.pressed) {
+ user_config.rgb_disable_perkey ^= 1;
+ id67_update_rgb_mode();
+ }
+ return false;
+
+ #ifndef ID67_DISABLE_UNDERGLOW
+
+ case RGB_TUG:
+ if (record->event.pressed) {
+ user_config.rgb_disable_underglow ^= 1;
+ id67_update_rgb_mode();
+ }
+ return false;
+
+ #endif // ID67_DISABLE_UNDERGLOW
+
+ case EE_CLR:
+ if (!record->event.pressed) { // on release
+ id67_get_rgb_mode();
+ }
+ return true; // let this one pass on
+
+ #endif // RGB_MATRIX_ENABLE
+
+ // print firmware version
+ case KB_VRSN:
+ if (!get_mods()) {
+ if (!record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
+ }
+ }
+ return false;
+
+ // @see: https://github.com/qmk/qmk_firmware/issues/10111#issuecomment-752300353
+ case KC_MCON:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_WINDOWS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ case KC_LPAD:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_APPS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ default:
+ return true; /* Process all other keycodes normally */
+ }
+}
diff --git a/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk b/keyboards/idobao/id67/keymaps/idobao/rules.mk
index ca9fed0e6b..ca9fed0e6b 100644
--- a/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk
+++ b/keyboards/idobao/id67/keymaps/idobao/rules.mk
diff --git a/keyboards/idobao/id67/keymaps/thewerther/config.h b/keyboards/idobao/id67/keymaps/thewerther/config.h
index a63a92b171..4cd526feea 100644
--- a/keyboards/idobao/id67/keymaps/thewerther/config.h
+++ b/keyboards/idobao/id67/keymaps/thewerther/config.h
@@ -1,23 +1,11 @@
-/* Copyright 2021 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Werther (@thewerther)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define DRIVER_LED_UNDERGLOW 10
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
#if defined(RGB_MATRIX_ENABLE)
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
diff --git a/keyboards/idobao/id67/keymaps/thewerther/keymap.c b/keyboards/idobao/id67/keymaps/thewerther/keymap.c
index 8af720755f..ef37b210f5 100644
--- a/keyboards/idobao/id67/keymaps/thewerther/keymap.c
+++ b/keyboards/idobao/id67/keymaps/thewerther/keymap.c
@@ -1,19 +1,5 @@
-/* Copyright 2021 Tybera
- * Copyright 2021 thewerther
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Werther (@thewerther)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
@@ -36,14 +22,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, RESET, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, KC_END,
+ _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
void matrix_scan_user(void) {
-# if defined(RGB_MATRIX_ENABLE)
+ #if defined(RGB_MATRIX_ENABLE)
int current_effect = rgb_matrix_get_mode();
if (current_effect >= RGB_MATRIX_SOLID_REACTIVE_SIMPLE && current_effect <= RGB_MATRIX_SOLID_MULTISPLASH) {
// set all underglow leds to current color
@@ -52,6 +38,5 @@ void matrix_scan_user(void) {
rgb_matrix_set_color(i, current_color.r, current_color.g, current_color.b);
}
}
-# endif
+ #endif
}
-
diff --git a/keyboards/idobao/id67/keymaps/via/keymap.c b/keyboards/idobao/id67/keymaps/via/keymap.c
index ff0bfff745..0014fb3bbf 100644
--- a/keyboards/idobao/id67/keymaps/via/keymap.c
+++ b/keyboards/idobao/id67/keymaps/via/keymap.c
@@ -1,22 +1,22 @@
-/* Copyright 2021 Tybera
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 Tybera (@tybera)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ ~ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PUp│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shft │Up │PDn│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ │Fn1 │Ctrl│ │Lf │Dn │Rt │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
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,
@@ -24,13 +24,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │Tog│Up │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │Lf │Dn │Rt │ │ │ │ │ │Ins│Hom│PUp│ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │RST│Sp+│Sp-│ │Vl-│Mut│Vl+│Del│End│PDn│ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
- _______, QK_BOOT, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______,
+ _______, QK_BOOT, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[2] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -38,11 +66,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
+
[3] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
+ )
};
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h
index 92b3ec0658..f7ada65953 100644
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/config.h
+++ b/keyboards/idobao/id67/keymaps/vinorodrigues/config.h
@@ -1,26 +1,14 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
/*
* IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use
- * Copyright (C) 2022 Vino Rodrigues
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
-#if defined(RGB_MATRIX_ENABLE)
- #define VIA_QMK_RGBLIGHT_ENABLE
- #define ID67_DISABLE_UNDERGLOW // personal choice, I use a ID67 Bestype
+#ifdef RGB_MATRIX_ENABLE
+ #define ID67_DISABLE_UNDERGLOW
#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
index c62db2c724..1bf6971730 100644
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
+++ b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
@@ -1,19 +1,8 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
/*
* IDOBAO ID67 Keymap for a ID67 Bestype, built for Mac use
- * Copyright (C) 2022 Vino Rodrigues
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
@@ -44,30 +33,85 @@ enum macos_consumer_usages {
#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ ~ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │*Caps*│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PUp│ *Caps* => `LT(1, KC_CAPS)`
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shft │Up │PDn│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│Opt │Comm│ │Fn1 │Fn2 │ │Lf │Dn │Rt │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[_BASE] = LAYOUT_65_ansi_blocker(
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_GRAVE, \
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_BSLASH, KC_DELETE, \
LT1_C_L, 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_LALT, KC_LGUI, KC_SPC, FN_MO13, FN_MO23, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ ~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ ERASE │F13│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │Up │ │ │ │ │ │ │ │PSc│Hom│End│Eject│Ins│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │Lf │Dn │Rt │ │ │ │ │ │ │PUp│PDn│ enter │Hom│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shft │ │ │ │ │ │ │ │ │Ins│Del│Shift │ │End│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ctrl│opt │comm│ │ │Fn3 │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[_FN1] = LAYOUT_65_ansi_blocker(
KC_GRAVE, 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_ERAS, KC_F13, \
_______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_END, KC_EJCT, KC_INS, \
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, KC_PENT, KC_HOME, \
KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DELETE, KC_LSFT, _______, KC_END, \
KC_RCTL, KC_RALT, KC_RGUI, _______, _______, _______, _______, _______, _______),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│SB-│SB+│mMC│mLP│Br-│Br+│Prv│Ply│Nxt│Mut│Vl-│Vl+│ out │F14│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tog │Mod│ │ │ │ │ │ │ │ │ │ │ │ │PSc│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │mod│ │ │ │ │ │ │ │ │Hu+│Sa+│ │SLk│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │Hu-│Sa-│ │Br+│Pau│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │Fn3 │ │ │Sp-│Br-│Sp+│
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[_FN2] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_OUT, KC_F14, \
RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, \
XXXXXXX, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, XXXXXXX, KC_SLCK, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, XXXXXXX, RGB_VAI, KC_PAUS, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │RST│M01│M02│M03│M04│M05│M06│M07│M08│M09│M10│M11│M12│ Power │F15│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │Sleep│ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ Debug │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │Ver│ │ │ │ │ │ │ │M00│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ Wake │ │ │ │M13│M14│M15│
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
[_FN3] = LAYOUT_65_ansi_blocker(
- RESET, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, MACRO11, MACRO12, KC_POWER, KC_F15, \
+ QK_BOOT, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, MACRO11, MACRO12, KC_POWER, KC_F15, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KB_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MACRO00, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, KC_WAKE, XXXXXXX, XXXXXXX, MACRO13, MACRO14, MACRO15),
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_WAKE, XXXXXXX, XXXXXXX, MACRO13, MACRO14, MACRO15)
};
#ifdef RGB_MATRIX_ENABLE
@@ -248,12 +292,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case KC_MCON:
if (record->event.pressed) {
host_consumer_send(_AC_SHOW_ALL_WINDOWS);
+ } else {
+ host_consumer_send(0);
}
return false;
case KC_LPAD:
if (record->event.pressed) {
host_consumer_send(_AC_SHOW_ALL_APPS);
+ } else {
+ host_consumer_send(0);
}
return false;
diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk b/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk
index 24f7bdab9c..cf6371fda0 100644
--- a/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk
+++ b/keyboards/idobao/id67/keymaps/vinorodrigues/rules.mk
@@ -1,5 +1,3 @@
LTO_ENABLE = yes
VIA_ENABLE = yes
-
-KEY_LOCK_ENABLE = no # Enable KC_LOCK support
-NKRO_ENABLE = no # N-Key Rollover must be OFF for mac keys to work
+NKRO_ENABLE = no # N-Key Rollover must be OFF for mac keys to work
diff --git a/keyboards/idobao/id67/post_rules.mk b/keyboards/idobao/id67/post_rules.mk
index 5eecdef4ce..32832a65b2 100644
--- a/keyboards/idobao/id67/post_rules.mk
+++ b/keyboards/idobao/id67/post_rules.mk
@@ -2,13 +2,7 @@
# this enables switching off thoes LEDs
# Usage: `make idobao/id67:default UNDERGLOW=off`
-ifeq ($(findstring off,$(UNDERGLOW)), off)
- $(info ** UNDERGLOW OFF)
- OPT_DEFS += -DID67_DISABLE_UNDERGLOW
-else ifeq ($(findstring no,$(UNDERGLOW)), no)
- $(info ** NO UNDERGLOW)
- OPT_DEFS += -DID67_DISABLE_UNDERGLOW
-else ifeq ($(findstring 0,$(UNDERGLOW)), 0)
- $(info ** Nil UNDERGLOW)
+UNDERGLOW ?= yes
+ifneq ($(strip $(UNDERGLOW)), yes)
OPT_DEFS += -DID67_DISABLE_UNDERGLOW
endif
diff --git a/keyboards/idobao/id67/readme.md b/keyboards/idobao/id67/readme.md
index b69e2e60b1..55d5f5b512 100644
--- a/keyboards/idobao/id67/readme.md
+++ b/keyboards/idobao/id67/readme.md
@@ -1,25 +1,32 @@
# IDOBAO ID67
-![id67](https://idobao.github.io/assets/img/idobao-id67.png)
+![id67](https://i.imgur.com/XiEnksS.png)
A 65% hotswap keyboard from IDOBAO.
## ANSI support:
-* Keyboard Maintainer: Tybera *(fmr.)*, [thewerther](https://github.com/thewerther) *(curr.)*
-* Hardware Supported: IDOBAO ID67, ID67V2, ID67 Crystal & ID67 Bestype
-* Hardware Availability: IDOBAO website:
+* Keyboard Maintainer:
+ - [Tybera](https://github.com/tybera) *(fmr.)*
+ - [Werther](https://github.com/thewerther) *(curr.)*
+ - [Vino Rodrigues](https://github.com/vinorodrigues) *(curr.)*
+* Hardware Supported:
+ - **IDOBAO ID67**
+ - **ID67v2**
+ - **ID67 Crystal**
+ - **ID67 Bestype**
+* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=ID67*):
* [ID67](https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1)
- * [ID67V2](https://idobao.net/products/idobao-id67v2-65-hot-swappable-mechanical-keyboard-kit)
+ * [ID67v2](https://idobao.net/products/idobao-id67v2-65-hot-swappable-mechanical-keyboard-kit)
* [ID67 Crystal](https://idobao.net/products/idobao-id67-crystal-keyboard-kit-gasket-mount-version)
* [ID67 Bestype](https://idobao.net/products/idobao-id67-bestype-keyboard-kit-aluminum-with-brass-weight)
-## Layout
+## ANSI Layout
-![ID67 layout](https://idobao.github.io/kle/idobao-id67.png)
+![ID67 Layout](https://idobao.github.io/kle/idobao-id67.png)
-## Compiling and flashing
+## Compiling and Flashing
Make example for this keyboard (after setting up your build environment):
@@ -37,4 +44,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the `Escape` key and plug in the keyboard.
* **Physical reset button**: Briefly press the button on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` (FN+Z).
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (FN+Z).
diff --git a/keyboards/idobao/id67/rules.mk b/keyboards/idobao/id67/rules.mk
index 729e1ca67c..ce58b87be5 100644
--- a/keyboards/idobao/id67/rules.mk
+++ b/keyboards/idobao/id67/rules.mk
@@ -1,21 +1,5 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Enable RGB Matrix feature
RGB_MATRIX_DRIVER = WS2812 # ID67 uses WS2812 driver
-LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/idobao/id75/keymaps/drewdobo/keymap.c b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c
index 9dfc335e82..1fc047edcc 100644
--- a/keyboards/idobao/id75/keymaps/drewdobo/keymap.c
+++ b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c
@@ -48,7 +48,7 @@ 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, XXXXXXX, RESET, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, QK_BOOT, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, Z_MAC, _______, XXXXXXX, KC_HOME, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, \
diff --git a/keyboards/idobao/id75/keymaps/egstad/keymap.c b/keyboards/idobao/id75/keymaps/egstad/keymap.c
index febbad7c6e..9bd350aa7e 100644
--- a/keyboards/idobao/id75/keymaps/egstad/keymap.c
+++ b/keyboards/idobao/id75/keymaps/egstad/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BRAC, \
_______, 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, MT_SHFT, \
- LG_ZMOT, LG_ZMIN, KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, _______, RESET, _______, FN_SPC, KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \
+ LG_ZMOT, LG_ZMIN, KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, _______, QK_BOOT, _______, FN_SPC, KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \
),
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | RGB | | | | | | RGB VD | RGB VI | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RESET | | | | | | RGB RMD| RGB MD | | | PLAY | PREV | VOL UP | VOL DN | NEXT |
+ * | QK_BOOT | | | | | | RGB RMD| RGB MD | | | PLAY | PREV | VOL UP | VOL DN | NEXT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, \
KC_ASTG, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, \
RGB_TOG, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, \
- RESET, _______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, KC_MPLY, KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD \
+ QK_BOOT, _______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, KC_MPLY, KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD \
),
};
diff --git a/keyboards/idobao/id75/keymaps/gkbd/keymap.c b/keyboards/idobao/id75/keymaps/gkbd/keymap.c
index 16e16cd855..b4dec42cad 100644
--- a/keyboards/idobao/id75/keymaps/gkbd/keymap.c
+++ b/keyboards/idobao/id75/keymaps/gkbd/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_ortho_5x15(/* Function keys */
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
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_SLCK, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_PAUS,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c
index be67aead4e..b7f7477904 100644
--- a/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c
+++ b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PGDN, KC_PSCR, KC_INS, KC_DEL, LT(1,KC_F11), KC_BSPC, KC_LSFT, KC_RCTL, KC_SPC, LT(1,KC_F12), KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_ortho_5x15(
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG,
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_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_SLCK, KC_NO, KC_NO, KC_PAUS, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c
index a603eae657..8fa10b0ac2 100644
--- a/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c
+++ b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c
@@ -73,6 +73,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_SLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PAUS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG
)
};
diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c
index d23bc7c7df..ffe2c6053b 100644
--- a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c
+++ b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ADJUST
* .--------------------------------------------------------------------------------------------------------------------------------------.
- * | RESET | | | | | | | | |rgbplain|rgbtest | rgbmode| | | |
+ * | QK_BOOT | | | | | | | | |rgbplain|rgbtest | rgbmode| | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | |rgb tog | bl_tog | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_5x15(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_M_T, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_M_T, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c b/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c
index ea6831d6da..e622660d96 100644
--- a/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c
+++ b/keyboards/idobao/id75/keymaps/pathnirvana/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_ortho_5x15(
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MUTE, KC_VOLD, KC_VOLU, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_MSEL, BL_BRTG, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RGHT), KC_NO, KC_NO,
- KC_SLEP, BL_STEP, RGB_SAD, RGB_SAI, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, RESET,
+ KC_SLEP, BL_STEP, RGB_SAD, RGB_SAI, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, QK_BOOT,
KC_NO, BL_TOGG, RGB_VAD, RGB_VAI, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, LCTL(KC_LEFT), LCTL(KC_DOWN), LCTL(KC_UP), LCTL(KC_RGHT), KC_NO, KC_NO,
KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, KC_NO, KC_WBAK, KC_NO, KC_WFWD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
[3] = LAYOUT_ortho_5x15(
diff --git a/keyboards/idobao/id75/keymaps/revok75/keymap.c b/keyboards/idobao/id75/keymaps/revok75/keymap.c
index a380240326..3c23bfff5a 100644
--- a/keyboards/idobao/id75/keymaps/revok75/keymap.c
+++ b/keyboards/idobao/id75/keymaps/revok75/keymap.c
@@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | VOLDN | VOLUP | MUTE | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | TAB | - | WIN | - | - | RGB_TOG| - | - | OPTION | RESET | - | [ | ] | - | - |
+ * | TAB | - | WIN | - | - | RGB_TOG| - | - | OPTION | QK_BOOT | - | [ | ] | - | - |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | MAC | RAINBOW| PLAIN | - | - | - | - | - | - | ; | ' | ENTER | ENTER | REF |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* OSLAYOUT + NUMPAD + MEDIA + LIGHTING */
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLD, KC_VOLU, KC_MUTE, KC_DEL, \
- KC_TRNS, KC_NO, DF(_QW_W), KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_RALT, RESET, KC_NO, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_NO, DF(_QW_W), KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_RALT, QK_BOOT, KC_NO, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, \
KC_TRNS, DF(_QW_M), RGB_MODE_RAINBOW, RGB_MODE_PLAIN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_NO, KC_NO, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_END, KC_PGDN \
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c b/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c
index c157317e2d..fee0df2b4b 100644
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c
+++ b/keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | UP | | | NEXT | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PREV | LEFT | DOWN | RIGHT | DEL | PLAY | P4 | P5 | P6 | + | | RESET | | | |
+ * | PREV | LEFT | DOWN | RIGHT | DEL | PLAY | P4 | P5 | P6 | + | | QK_BOOT | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | | STOP | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -60,7 +60,7 @@ 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_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
KC_MSEL, KC_CALC, KC_UP , _______, _______, KC_MNXT, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, \
- KC_MPRV, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, \
+ KC_MPRV, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______, \
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, _______, KC_MSTP, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, \
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ \
),
diff --git a/keyboards/idobao/id75/v1/config.h b/keyboards/idobao/id75/v1/config.h
index 918dc16481..0bb05a810c 100644
--- a/keyboards/idobao/id75/v1/config.h
+++ b/keyboards/idobao/id75/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // ID
-#define PRODUCT_ID 0x0075
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B3, C7, B6, C6 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D5, D3, D2, D1, D0, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
@@ -53,11 +45,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN F0
#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 16
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+ // RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_TWINKLE
+
+ #define RGBLED_NUM 16
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/idobao/id75/v1/info.json b/keyboards/idobao/id75/v1/info.json
index bacdc42235..cb1e21e554 100644
--- a/keyboards/idobao/id75/v1/info.json
+++ b/keyboards/idobao/id75/v1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IDOBO",
+ "keyboard_name": "ID75",
+ "manufacturer": "IDOBAO",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"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":7, "y":1}, {"x":8, "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":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":7, "y":2}, {"x":8, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h
index c2e54f611d..4029d80bf8 100644
--- a/keyboards/idobao/id75/v2/config.h
+++ b/keyboards/idobao/id75/v2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // ID
-#define PRODUCT_ID 0x0075
-#define DEVICE_VER 0x0002
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B0, B3, C7, B6, C6 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D5, D3, D2, D1, D0, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/idobao/id75/v2/info.json b/keyboards/idobao/id75/v2/info.json
index fe24920f81..b1afe268de 100644
--- a/keyboards/idobao/id75/v2/info.json
+++ b/keyboards/idobao/id75/v2/info.json
@@ -1,10 +1,96 @@
{
- "keyboard_name": "idobao/id75/v2",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT_ortho_5x15": {
- "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"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":7, "y":1}, {"x":8, "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":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":7, "y":2}, {"x":8, "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":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
- }
- }
+ "keyboard_name": "ID75",
+ "manufacturer": "IDOBAO",
+ "url": "",
+ "maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0075",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_ortho_5x15": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1},
+ {"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":7, "y":1},
+ {"x":8, "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":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":7, "y":2},
+ {"x":8, "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":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "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":6, "y":4},
+ {"x":7, "y":4},
+ {"x":8, "y":4},
+ {"x":9, "y":4},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
}
diff --git a/keyboards/idobao/id75/v2/readme.md b/keyboards/idobao/id75/v2/readme.md
index 76a94ae38c..6e6209b467 100644
--- a/keyboards/idobao/id75/v2/readme.md
+++ b/keyboards/idobao/id75/v2/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/idobao/id80/v1/ansi/config.h b/keyboards/idobao/id80/v1/ansi/config.h
deleted file mode 100644
index 253c0757b8..0000000000
--- a/keyboards/idobao/id80/v1/ansi/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov <sigprof@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 "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 /* "id" */
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID80
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c
deleted file mode 100644
index ac2fb15b83..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- 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, MO(1), KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
-};
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md
deleted file mode 100644
index 8ae9f656cd..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for id80
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c
deleted file mode 100644
index 6bb91f0f19..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2021 Miguel Filipe <miguel.filipe@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_VOLD, KC_VOLU, KC_F8, KC_F9, KC_F10, KC_PSTE, KC_PSCR, KC_DEL, MO(1),
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- RESET, KC_CALC, _______, _______, _______, KC_MUTE, KC_F6, KC_F7, KC_MPLY, KC_MSTP, KC_BRID, KC_BRIU, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-enum combos {
- SLSHDN_PGDN,
- SLSHUP_PGUP,
- RALTBKSPC_DELETE,
-};
-
-const uint16_t PROGMEM slashDown_combo[] = {KC_SLSH, KC_DOWN, COMBO_END};
-const uint16_t PROGMEM slashUp_combo[] = {KC_SLSH, KC_UP, COMBO_END};
-const uint16_t PROGMEM raltBackspace_combo[] = {KC_RALT, KC_BSPACE, COMBO_END};
-
-combo_t key_combos[COMBO_COUNT] = {
- [SLSHDN_PGDN] = COMBO(slashDown_combo, KC_PGDN),
- [SLSHUP_PGUP] = COMBO(slashUp_combo, KC_PGUP),
- [RALTBKSPC_DELETE] = COMBO(raltBackspace_combo, KC_DEL),
-};
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c
deleted file mode 100644
index 3656f48dfe..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2021 Robert Verst <robert@verst.eu> @rverst
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "rverst.h"
-
-//#define CLOSED_CASE // no underglow RGB visible
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , MO(4) , 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_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_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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- RV_SNAP, 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_TRNS, KC_MUTE,
- RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD,
- KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, RV_SINC, KC_PENT,
- KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [2] = 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_TRNS, MO(4) , 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_VOLU,
- KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [3] = LAYOUT(
- RV_SNAP, 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_TRNS, KC_MUTE,
- RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD,
- KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, RV_SINC, KC_PENT,
- KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [4] = LAYOUT(
- DEBUG , RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) ,
- RV_SAYM, RV_SM3 , RV_SM4 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG,
- KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD
- ),
- [5] = LAYOUT(
- RESET , RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS,
- KC_NO , RV_SM3S, RV_SM4S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- 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 , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO
- )
-};
-// clang-format on
-
-void keyboard_post_init_keymap(void) {
-#ifdef CLOSED_CASE
- if (rgblight_is_enabled()) {
- rgblight_disable();
- }
-#endif
-}
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md
deleted file mode 100644
index ba33980edb..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# idobao id80
-
-This is my layout for the idobao id80. It depends of my [user files](../../../../users/rverst)
-and the main goal is to give an convenient and unified access to some special keys
-(umlauts, ß, €) for different operating systems (Mac, Windows and Linux).
-
-## Overview
-
-- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar.
-- Layer 1 has the special keys and some media-functions like mute, volume up/down etc.
-- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout
-- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc.
-
-
-## Keyboard modes
-
-- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source)
-- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software)
-- *F3:* Linux Unicode mode (not tested yet but should work out of the box)
-- *1:* Mac legacy mode (uses option-sequences, e.g. `<option>+u a` for an `ä`), if I'm not able to set the input source
-- *2:* Windows legacy mode (uses altgr-sequences e.g. `<altgr>+0228` for an `ä`, if I'm not able to use WinCompose)
-
-Layer 4 to switch the modes temporary, layer 5 to switch and save to eeprom.
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json
deleted file mode 100644
index 50235498fe..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json
+++ /dev/null
@@ -1,499 +0,0 @@
-{
- "keyboard": "id80",
- "keymap": "rverst",
- "layout": "LAYOUT",
- "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",
- "MO(4)",
- "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_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_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_LSFT",
- "KC_Z",
- "KC_X",
- "KC_C",
- "KC_V",
- "KC_B",
- "KC_N",
- "KC_M",
- "KC_COMM",
- "KC_DOT",
- "KC_SLSH",
- "KC_RSFT",
- "KC_UP",
- "KC_LCTL",
- "KC_LALT",
- "KC_LGUI",
- "KC_SPC",
- "OSL(1)",
- "KC_RCTL",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT"
- ],
- [
- "RV_SNAP",
- "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_TRNS",
- "KC_MUTE",
- "RV_DEG",
- "RV_SUP1",
- "RV_SUP2",
- "RV_SUP3",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_UNEQ",
- "RV_PM",
- "KC_TRNS",
- "KC_VOLU",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_EUR",
- "RV_RT",
- "RV_TM",
- "KC_TRNS",
- "RV_UUML",
- "KC_TRNS",
- "RV_OUML",
- "KC_TRNS",
- "RV_VDEC",
- "RV_VINC",
- "RV_SEQU",
- "KC_VOLD",
- "KC_CAPS",
- "RV_AUML",
- "RV_SZ",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_LOCK",
- "KC_TRNS",
- "RV_SINC",
- "KC_PENT",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_CC",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_PDOT",
- "RV_SDEC",
- "KC_TRNS",
- "KC_MSTP",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_RGUI",
- "KC_MPRV",
- "KC_MPLY",
- "KC_MNXT"
- ],
- [
- "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_TRNS",
- "MO(4)",
- "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_VOLU",
- "KC_TAB",
- "KC_Q",
- "KC_W",
- "KC_F",
- "KC_P",
- "KC_G",
- "KC_J",
- "KC_L",
- "KC_U",
- "KC_Y",
- "KC_SCLN",
- "KC_LBRC",
- "KC_RBRC",
- "KC_BSLS",
- "KC_VOLD",
- "KC_ESC",
- "KC_A",
- "KC_R",
- "KC_S",
- "KC_T",
- "KC_D",
- "KC_H",
- "KC_N",
- "KC_E",
- "KC_I",
- "KC_O",
- "KC_QUOT",
- "KC_ENT",
- "KC_LSFT",
- "KC_Z",
- "KC_X",
- "KC_C",
- "KC_V",
- "KC_B",
- "KC_K",
- "KC_M",
- "KC_COMM",
- "KC_DOT",
- "KC_SLSH",
- "KC_RSFT",
- "KC_UP",
- "KC_LCTL",
- "KC_LALT",
- "KC_LGUI",
- "KC_SPC",
- "OSL(3)",
- "KC_RCTL",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT"
- ],
- [
- "RV_SNAP",
- "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_TRNS",
- "KC_MUTE",
- "RV_DEG",
- "RV_SUP1",
- "RV_SUP2",
- "RV_SUP3",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_UNEQ",
- "RV_PM",
- "KC_TRNS",
- "KC_VOLU",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_LOCK",
- "RV_UUML",
- "KC_TRNS",
- "KC_TRNS",
- "RV_VDEC",
- "RV_VINC",
- "RV_SEQU",
- "KC_VOLD",
- "KC_CAPS",
- "RV_AUML",
- "RV_RT",
- "RV_SZ",
- "RV_TM",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_EUR",
- "KC_TRNS",
- "RV_OUML",
- "RV_SINC",
- "KC_PENT",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "RV_CC",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_PDOT",
- "RV_SDEC",
- "KC_TRNS",
- "KC_MSTP",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_RGUI",
- "KC_MPRV",
- "KC_MPLY",
- "KC_MNXT"
- ],
- [
- "EEP_RST",
- "RV_SM0",
- "RV_SM1",
- "RV_SM2",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "DF(0)",
- "DF(2)",
- "KC_TRNS",
- "MO(5)",
- "RV_SAYM",
- "RV_SM3",
- "RV_SM4",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "RGB_HUI",
- "RGB_SAI",
- "RGB_VAI",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "RGB_TOG",
- "KC_NO",
- "KC_NO",
- "GUI_ON",
- "KC_NO",
- "KC_NO",
- "RCG_SWP",
- "RGB_RMOD",
- "RGB_M_P",
- "RGB_MOD"
- ],
- [
- "RESET",
- "RV_SM0S",
- "RV_SM1S",
- "RV_SM2S",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_NO",
- "RV_SM3S",
- "RV_SM4S",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "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",
- "GUI_OFF",
- "KC_NO",
- "KC_NO",
- "RCG_NRM",
- "KC_NO",
- "KC_NO",
- "KC_NO"
- ]
- ]
-}
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c
deleted file mode 100644
index 669eb702d8..0000000000
--- a/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- 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, MO(1), KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/idobao/id80/v1/ansi/readme.md b/keyboards/idobao/id80/v1/ansi/readme.md
deleted file mode 100644
index 1bfae43735..0000000000
--- a/keyboards/idobao/id80/v1/ansi/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The ANSI variant of the id80
diff --git a/keyboards/idobao/id80/v1/config.h b/keyboards/idobao/id80/v1/config.h
deleted file mode 100644
index c6cf667382..0000000000
--- a/keyboards/idobao/id80/v1/config.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov <sigprof@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 "config_common.h"
-
-/* key matrix size */
-#define MATRIX_ROWS 9
-#define MATRIX_COLS 11
-
-/*
- * 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)
- *
- * The matrix description in the vendor-supplied JSON file for kbfirmware.com
- * had 9 columns:
- * { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
- * and 12 rows:
- * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
- * However, the row 6 was completely empty, and the pin F0 was not actually
- * routed anywhere on the PCB, therefore this row was removed to save some
- * resources (the EEPROM space for dynamic keymaps is especially scarce).
- *
- * After doing the above change, the matrix was transposed (rows and columns
- * were swapped), because a matrix with the COL2ROW layout can be scanned much
- * more efficiently than a matrix with the ROW2COL layout (depending on various
- * optimizations, the difference in scan rate can be over 2 times). Because of
- * this, the "columns" in the matrix layout now mostly correspond to physical
- * rows, and the "rows" have mostly vertical physical orientation.
- */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 }
-
-#define DIODE_DIRECTION COL2ROW
-
-#define BACKLIGHT_PIN B6
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 3
-
-#define LED_CAPS_LOCK_PIN C7
-#define LED_PIN_ON_STATE 0
-
-#define RGB_DI_PIN E2
-#ifdef RGB_DI_PIN
- #define RGBLED_NUM 20 /* 16 underglow LEDs, 4 top LEDs */
- #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 */
-/*== 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
-
-/* Bootmagic Lite key configuration: use the Esc key */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 5
diff --git a/keyboards/idobao/id80/v1/info.json b/keyboards/idobao/id80/v1/info.json
deleted file mode 100644
index 072b4ca4db..0000000000
--- a/keyboards/idobao/id80/v1/info.json
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "keyboard_name": "ID80",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"Fn", "x":14, "y":0},
- {"label":"Insert", "x":15.25, "y":0},
-
- {"label":"`", "x":0, "y":1.25},
- {"label":"1", "x":1, "y":1.25},
- {"label":"2", "x":2, "y":1.25},
- {"label":"3", "x":3, "y":1.25},
- {"label":"4", "x":4, "y":1.25},
- {"label":"5", "x":5, "y":1.25},
- {"label":"6", "x":6, "y":1.25},
- {"label":"7", "x":7, "y":1.25},
- {"label":"8", "x":8, "y":1.25},
- {"label":"9", "x":9, "y":1.25},
- {"label":"0", "x":10, "y":1.25},
- {"label":"-", "x":11, "y":1.25},
- {"label":"=", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Home", "x":15.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[", "x":11.5, "y":2.25},
- {"label":"]", "x":12.5, "y":2.25},
- {"label":"\\", "x":13.5, "y":2.25, "w":1.5},
- {"label":"Delete", "x":15.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";", "x":10.75, "y":3.25},
- {"label":"'", "x":11.75, "y":3.25},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
-
- {"label":"Shift", "x":0, "y":4.25, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",", "x":9.25, "y":4.25},
- {"label":".", "x":10.25, "y":4.25},
- {"label":"/", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
- {"label":"\u2191", "x":14.25, "y":4.5},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.5},
- {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
- {"label":"\u2190", "x":13.25, "y":5.5},
- {"label":"\u2193", "x":14.25, "y":5.5},
- {"label":"\u2192", "x":15.25, "y":5.5}
- ]
- },
-
- "LAYOUT_iso": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"Fn", "x":14, "y":0},
- {"label":"Insert", "x":15.25, "y":0},
-
- {"label":"`", "x":0, "y":1.25},
- {"label":"1", "x":1, "y":1.25},
- {"label":"2", "x":2, "y":1.25},
- {"label":"3", "x":3, "y":1.25},
- {"label":"4", "x":4, "y":1.25},
- {"label":"5", "x":5, "y":1.25},
- {"label":"6", "x":6, "y":1.25},
- {"label":"7", "x":7, "y":1.25},
- {"label":"8", "x":8, "y":1.25},
- {"label":"9", "x":9, "y":1.25},
- {"label":"0", "x":10, "y":1.25},
- {"label":"-", "x":11, "y":1.25},
- {"label":"=", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Home", "x":15.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[", "x":11.5, "y":2.25},
- {"label":"]", "x":12.5, "y":2.25},
- {"label":"Delete", "x":15.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";", "x":10.75, "y":3.25},
- {"label":"'", "x":11.75, "y":3.25},
- {"label":"ISO #", "x":12.75, "y":3.25},
- {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
-
- {"label":"Shift", "x":0, "y":4.25, "w":1.25},
- {"label":"ISO \\", "x":1.25, "y":4.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",", "x":9.25, "y":4.25},
- {"label":".", "x":10.25, "y":4.25},
- {"label":"/", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
- {"label":"Up", "x":14.25, "y":4.5},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.5},
- {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
-
- {"label":"Left", "x":13.25, "y":5.5},
- {"label":"Down", "x":14.25, "y":5.5},
- {"label":"Right", "x":15.25, "y":5.5}
- ]
- }
- }
-}
diff --git a/keyboards/idobao/id80/v1/iso/config.h b/keyboards/idobao/id80/v1/iso/config.h
deleted file mode 100644
index cd9c497442..0000000000
--- a/keyboards/idobao/id80/v1/iso/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov <sigprof@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 "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 /* "id" */
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID80 ISO
diff --git a/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c
deleted file mode 100644
index 9784ce8253..0000000000
--- a/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_iso(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
- 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_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_iso(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
-};
diff --git a/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md b/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md
deleted file mode 100644
index 8ae9f656cd..0000000000
--- a/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for id80
diff --git a/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c
deleted file mode 100644
index 808c4d3c89..0000000000
--- a/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2020 Carsten Rose
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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_iso(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
- 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_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_iso(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
- [2] = LAYOUT_iso(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_iso(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/idobao/id80/v1/iso/readme.md b/keyboards/idobao/id80/v1/iso/readme.md
deleted file mode 100644
index 3e0d8ce231..0000000000
--- a/keyboards/idobao/id80/v1/iso/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The ISO variant of the id80
diff --git a/keyboards/idobao/id80/v1/readme.md b/keyboards/idobao/id80/v1/readme.md
index 8a26378b3b..c9c446e1b7 100644
--- a/keyboards/idobao/id80/v1/readme.md
+++ b/keyboards/idobao/id80/v1/readme.md
@@ -1,27 +1,27 @@
# IDOBAO ID80
-![ID80](https://ae01.alicdn.com/kf/H0f617c6129c24cfaa26a8c9e8e54851aj.jpg)
+![ID80](https://i.imgur.com/977ENjph.png)
A 75% hotswap keyboard from IDOBAO.
-## ANSI support:
-
* Keyboard Maintainer: [Sergey Vlasov](https://github.com/sigprof)
* Hardware Supported: IDOBAO ID80
-* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/4000590804514.html), [Drop](https://drop.com/buy/idobao-id80-75-hot-swappable-mechanical-keyboard-kit?mode=guest_open)
+* Hardware Availability: [Drop](https://drop.com/buy/idobao-id80-75-hot-swappable-mechanical-keyboard-kit?mode=guest_open)
+
+---
+> &#x26a0; **Please note:** The source folder for this keyboard has moved to `../v2`.
+---
Make example for this keyboard (after setting up your build environment):
- make idobao/id80/v1/ansi:default
+ make idobao/id80/v2:default BACKLIGHT_ENABLE=no
-## ISO support:
-
-* Keyboard Maintainer: [Carsten Rose](https://github.com/cwr10010)
-* Hardware Supported: IDOBAO ID80v2
-* Hardware Availability: [IDOBAO](https://www.idobao.net/products/idobao-id80v2-75-hot-swappable-mechanical-keyboard-kit)
+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).
-Make example for this keyboard (after setting up your build environment):
+## Bootloader
- make idobao/id80/v1/iso:default
+Enter the bootloader in 3 ways:
-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).
+* **Bootmagic reset**: Hold down the Escape key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/idobao/id80/v1/rules.mk b/keyboards/idobao/id80/v1/rules.mk
index 0baebd07fc..20283f04be 100644
--- a/keyboards/idobao/id80/v1/rules.mk
+++ b/keyboards/idobao/id80/v1/rules.mk
@@ -1,24 +1,2 @@
# Defalt to the ansi version
-DEFAULT_FOLDER = idobao/id80/v1/ansi
-
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# partially generated by KBFirmware JSON to QMK Parser
-# https://noroadsleft.github.io/kbf_qmk_converter/
+DEFAULT_FOLDER = idobao/id80/v2/ansi
diff --git a/keyboards/idobao/id80/v1/v1.c b/keyboards/idobao/id80/v1/v1.c
deleted file mode 100644
index 7147b6163e..0000000000
--- a/keyboards/idobao/id80/v1/v1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@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 "v1.h"
diff --git a/keyboards/idobao/id80/v1/v1.h b/keyboards/idobao/id80/v1/v1.h
deleted file mode 100644
index a016e39083..0000000000
--- a/keyboards/idobao/id80/v1/v1.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@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"
-
-#define LAYOUT( \
- K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K83, K82, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, \
- K10, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \
- K00, K01, K02, K06, K08, K07, K05, K04, K03 \
-) { \
- { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K01, KC_NO, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \
- { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \
- { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \
- { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \
- { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \
- { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \
- { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \
-}
-
-#define LAYOUT_iso( \
- K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K82, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, K83, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \
- K00, K01, K02, K06, K08, K07, K05, K04, K03 \
-) { \
- { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \
- { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \
- { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \
- { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \
- { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \
- { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \
- { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \
-}
diff --git a/keyboards/idobao/id80/v2/ansi/info.json b/keyboards/idobao/id80/v2/ansi/info.json
new file mode 100644
index 0000000000..e44e5f8b00
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ID80 ANSI",
+ "usb": {
+ "pid": "0x0080",
+ }
+}
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b09718dda0
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
+/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
+ _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
+ ),
+};
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h b/keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h
index 4f3cc95f30..4f3cc95f30 100644
--- a/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c
new file mode 100644
index 0000000000..bc31cfb0b8
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c
@@ -0,0 +1,59 @@
+/* Copyright 2021 Miguel Filipe <miguel.filipe@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_VOLD, KC_VOLU, KC_F8, KC_F9, KC_F10, KC_PSTE, KC_PSCR, KC_DEL, MO(1),
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ansi(
+ QK_BOOT, KC_CALC, _______, _______, _______, KC_MUTE, KC_F6, KC_F7, KC_MPLY, KC_MSTP, KC_BRID, KC_BRIU, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
+ _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
+ ),
+ [2] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+enum combos {
+ SLSHDN_PGDN,
+ SLSHUP_PGUP,
+ RALTBKSPC_DELETE,
+};
+
+const uint16_t PROGMEM slashDown_combo[] = {KC_SLSH, KC_DOWN, COMBO_END};
+const uint16_t PROGMEM slashUp_combo[] = {KC_SLSH, KC_UP, COMBO_END};
+const uint16_t PROGMEM raltBackspace_combo[] = {KC_RALT, KC_BSPACE, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ [SLSHDN_PGDN] = COMBO(slashDown_combo, KC_PGDN),
+ [SLSHUP_PGUP] = COMBO(slashUp_combo, KC_PGUP),
+ [RALTBKSPC_DELETE] = COMBO(raltBackspace_combo, KC_DEL),
+};
diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md b/keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md
index 7ab300f672..7ab300f672 100644
--- a/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/msf/readme.md
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk b/keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk
new file mode 100644
index 0000000000..ab1e438182
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/msf/rules.mk
@@ -0,0 +1 @@
+COMBO_ENABLE = yes
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c
new file mode 100644
index 0000000000..1e751e751d
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c
@@ -0,0 +1,80 @@
+/* Copyright 2021 Robert Verst <robert@verst.eu> @rverst
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "rverst.h"
+
+//#define CLOSED_CASE // no underglow RGB visible
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , MO(4) , 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_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_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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ansi(
+ RV_SNAP, 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_TRNS, KC_MUTE,
+ RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD,
+ KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, RV_SINC, KC_PENT,
+ KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT
+ ),
+ [2] = LAYOUT_ansi(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_TRNS, MO(4) , 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_VOLU,
+ KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+ KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [3] = LAYOUT_ansi(
+ RV_SNAP, 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_TRNS, KC_MUTE,
+ RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD,
+ KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, RV_SINC, KC_PENT,
+ KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT
+ ),
+ [4] = LAYOUT_ansi(
+ DEBUG , RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) ,
+ RV_SAYM, RV_SM3 , RV_SM4 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG,
+ KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD
+ ),
+ [5] = LAYOUT_ansi(
+ QK_BOOT, RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS,
+ KC_NO , RV_SM3S, RV_SM4S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ 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 , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO
+ )
+};
+// clang-format on
+
+void keyboard_post_init_keymap(void) {
+#ifdef CLOSED_CASE
+ if (rgblight_is_enabled()) {
+ rgblight_disable();
+ }
+#endif
+}
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md
new file mode 100644
index 0000000000..66dd2b5287
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md
@@ -0,0 +1,23 @@
+# IDOBAO ID80
+
+This is my layout for the IDOBAO ID80. It depends of my [user files](../../../../users/rverst)
+and the main goal is to give an convenient and unified access to some special keys
+(umlauts, ß, €) for different operating systems (Mac, Windows and Linux).
+
+## Overview
+
+- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar.
+- Layer 1 has the special keys and some media-functions like mute, volume up/down etc.
+- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout
+- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc.
+
+
+## Keyboard modes
+
+- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source)
+- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software)
+- *F3:* Linux Unicode mode (not tested yet but should work out of the box)
+- *1:* Mac legacy mode (uses option-sequences, e.g. `<option>+u a` for an `ä`), if I'm not able to set the input source
+- *2:* Windows legacy mode (uses altgr-sequences e.g. `<altgr>+0228` for an `ä`, if I'm not able to use WinCompose)
+
+Layer 4 to switch the modes temporary, layer 5 to switch and save to eeprom.
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/rverst.json b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/rverst.json
new file mode 100644
index 0000000000..07a7b16229
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/rverst.json
@@ -0,0 +1,499 @@
+{
+ "keyboard": "ID80",
+ "keymap": "rverst",
+ "layout": "LAYOUT_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",
+ "MO(4)",
+ "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_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_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_LSFT",
+ "KC_Z",
+ "KC_X",
+ "KC_C",
+ "KC_V",
+ "KC_B",
+ "KC_N",
+ "KC_M",
+ "KC_COMM",
+ "KC_DOT",
+ "KC_SLSH",
+ "KC_RSFT",
+ "KC_UP",
+ "KC_LCTL",
+ "KC_LALT",
+ "KC_LGUI",
+ "KC_SPC",
+ "OSL(1)",
+ "KC_RCTL",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT"
+ ],
+ [
+ "RV_SNAP",
+ "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_TRNS",
+ "KC_MUTE",
+ "RV_DEG",
+ "RV_SUP1",
+ "RV_SUP2",
+ "RV_SUP3",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_UNEQ",
+ "RV_PM",
+ "KC_TRNS",
+ "KC_VOLU",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_EUR",
+ "RV_RT",
+ "RV_TM",
+ "KC_TRNS",
+ "RV_UUML",
+ "KC_TRNS",
+ "RV_OUML",
+ "KC_TRNS",
+ "RV_VDEC",
+ "RV_VINC",
+ "RV_SEQU",
+ "KC_VOLD",
+ "KC_CAPS",
+ "RV_AUML",
+ "RV_SZ",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_LOCK",
+ "KC_TRNS",
+ "RV_SINC",
+ "KC_PENT",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_CC",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_PDOT",
+ "RV_SDEC",
+ "KC_TRNS",
+ "KC_MSTP",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_RGUI",
+ "KC_MPRV",
+ "KC_MPLY",
+ "KC_MNXT"
+ ],
+ [
+ "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_TRNS",
+ "MO(4)",
+ "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_VOLU",
+ "KC_TAB",
+ "KC_Q",
+ "KC_W",
+ "KC_F",
+ "KC_P",
+ "KC_G",
+ "KC_J",
+ "KC_L",
+ "KC_U",
+ "KC_Y",
+ "KC_SCLN",
+ "KC_LBRC",
+ "KC_RBRC",
+ "KC_BSLS",
+ "KC_VOLD",
+ "KC_ESC",
+ "KC_A",
+ "KC_R",
+ "KC_S",
+ "KC_T",
+ "KC_D",
+ "KC_H",
+ "KC_N",
+ "KC_E",
+ "KC_I",
+ "KC_O",
+ "KC_QUOT",
+ "KC_ENT",
+ "KC_LSFT",
+ "KC_Z",
+ "KC_X",
+ "KC_C",
+ "KC_V",
+ "KC_B",
+ "KC_K",
+ "KC_M",
+ "KC_COMM",
+ "KC_DOT",
+ "KC_SLSH",
+ "KC_RSFT",
+ "KC_UP",
+ "KC_LCTL",
+ "KC_LALT",
+ "KC_LGUI",
+ "KC_SPC",
+ "OSL(3)",
+ "KC_RCTL",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT"
+ ],
+ [
+ "RV_SNAP",
+ "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_TRNS",
+ "KC_MUTE",
+ "RV_DEG",
+ "RV_SUP1",
+ "RV_SUP2",
+ "RV_SUP3",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_UNEQ",
+ "RV_PM",
+ "KC_TRNS",
+ "KC_VOLU",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_LOCK",
+ "RV_UUML",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_VDEC",
+ "RV_VINC",
+ "RV_SEQU",
+ "KC_VOLD",
+ "KC_CAPS",
+ "RV_AUML",
+ "RV_RT",
+ "RV_SZ",
+ "RV_TM",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_EUR",
+ "KC_TRNS",
+ "RV_OUML",
+ "RV_SINC",
+ "KC_PENT",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RV_CC",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_PDOT",
+ "RV_SDEC",
+ "KC_TRNS",
+ "KC_MSTP",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_RGUI",
+ "KC_MPRV",
+ "KC_MPLY",
+ "KC_MNXT"
+ ],
+ [
+ "EEP_RST",
+ "RV_SM0",
+ "RV_SM1",
+ "RV_SM2",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "DF(0)",
+ "DF(2)",
+ "KC_TRNS",
+ "MO(5)",
+ "RV_SAYM",
+ "RV_SM3",
+ "RV_SM4",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "RGB_HUI",
+ "RGB_SAI",
+ "RGB_VAI",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "RGB_TOG",
+ "KC_NO",
+ "KC_NO",
+ "GUI_ON",
+ "KC_NO",
+ "KC_NO",
+ "RCG_SWP",
+ "RGB_RMOD",
+ "RGB_M_P",
+ "RGB_MOD"
+ ],
+ [
+ "QK_BOOT",
+ "RV_SM0S",
+ "RV_SM1S",
+ "RV_SM2S",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "RV_SM3S",
+ "RV_SM4S",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "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",
+ "GUI_OFF",
+ "KC_NO",
+ "KC_NO",
+ "RCG_NRM",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO"
+ ]
+ ]
+}
diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..4fc88dc592
--- /dev/null
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
+ _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
+ ),
+ [2] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/idobao/id80/v3/keymaps/via/rules.mk b/keyboards/idobao/id80/v2/ansi/keymaps/via/rules.mk
index ca9fed0e6b..ca9fed0e6b 100644
--- a/keyboards/idobao/id80/v3/keymaps/via/rules.mk
+++ b/keyboards/idobao/id80/v2/ansi/keymaps/via/rules.mk
diff --git a/keyboards/idobao/id80/v1/ansi/rules.mk b/keyboards/idobao/id80/v2/ansi/rules.mk
index 323c12fc6e..323c12fc6e 100644
--- a/keyboards/idobao/id80/v1/ansi/rules.mk
+++ b/keyboards/idobao/id80/v2/ansi/rules.mk
diff --git a/keyboards/idobao/id80/v2/config.h b/keyboards/idobao/id80/v2/config.h
new file mode 100644
index 0000000000..a007cff40c
--- /dev/null
+++ b/keyboards/idobao/id80/v2/config.h
@@ -0,0 +1,89 @@
+/*
+Copyright 2020 Sergey Vlasov <sigprof@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 "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 9
+#define MATRIX_COLS 11
+
+/*
+ * 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)
+ *
+ * The matrix description in the vendor-supplied JSON file for kbfirmware.com
+ * had 9 columns:
+ * { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
+ * and 12 rows:
+ * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
+ * However, the row 6 was completely empty, and the pin F0 was not actually
+ * routed anywhere on the PCB, therefore this row was removed to save some
+ * resources (the EEPROM space for dynamic keymaps is especially scarce).
+ *
+ * After doing the above change, the matrix was transposed (rows and columns
+ * were swapped), because a matrix with the COL2ROW layout can be scanned much
+ * more efficiently than a matrix with the ROW2COL layout (depending on various
+ * optimizations, the difference in scan rate can be over 2 times). Because of
+ * this, the "columns" in the matrix layout now mostly correspond to physical
+ * rows, and the "rows" have mostly vertical physical orientation.
+ */
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
+#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#ifdef BACKLIGHT_ENABLE
+ #define BACKLIGHT_PIN B6
+ #define BACKLIGHT_BREATHING
+ #define BACKLIGHT_LEVELS 3
+#endif
+
+#define LED_CAPS_LOCK_PIN C7
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 20 /* 16 underglow LEDs, 4 top LEDs */
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+
+ // RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_TWINKLE
+#endif
+
+/* Bootmagic Lite key configuration: use the Esc key */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 5
diff --git a/keyboards/idobao/id80/v2/info.json b/keyboards/idobao/id80/v2/info.json
new file mode 100644
index 0000000000..391460b3b2
--- /dev/null
+++ b/keyboards/idobao/id80/v2/info.json
@@ -0,0 +1,192 @@
+{
+ "manufacturer": "IDOBAO",
+ "url": "",
+ "maintainer": "IDOBAOKB",
+ "usb": {
+ "vid": "0x6964",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"Fn", "x":14, "y":0},
+ {"label":"Insert", "x":15.25, "y":0},
+
+ {"label":"`", "x":0, "y":1.25},
+ {"label":"1", "x":1, "y":1.25},
+ {"label":"2", "x":2, "y":1.25},
+ {"label":"3", "x":3, "y":1.25},
+ {"label":"4", "x":4, "y":1.25},
+ {"label":"5", "x":5, "y":1.25},
+ {"label":"6", "x":6, "y":1.25},
+ {"label":"7", "x":7, "y":1.25},
+ {"label":"8", "x":8, "y":1.25},
+ {"label":"9", "x":9, "y":1.25},
+ {"label":"0", "x":10, "y":1.25},
+ {"label":"-", "x":11, "y":1.25},
+ {"label":"=", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[", "x":11.5, "y":2.25},
+ {"label":"]", "x":12.5, "y":2.25},
+ {"label":"\\", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";", "x":10.75, "y":3.25},
+ {"label":"'", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",", "x":9.25, "y":4.25},
+ {"label":".", "x":10.25, "y":4.25},
+ {"label":"/", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ },
+
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"Fn", "x":14, "y":0},
+ {"label":"Insert", "x":15.25, "y":0},
+
+ {"label":"`", "x":0, "y":1.25},
+ {"label":"1", "x":1, "y":1.25},
+ {"label":"2", "x":2, "y":1.25},
+ {"label":"3", "x":3, "y":1.25},
+ {"label":"4", "x":4, "y":1.25},
+ {"label":"5", "x":5, "y":1.25},
+ {"label":"6", "x":6, "y":1.25},
+ {"label":"7", "x":7, "y":1.25},
+ {"label":"8", "x":8, "y":1.25},
+ {"label":"9", "x":9, "y":1.25},
+ {"label":"0", "x":10, "y":1.25},
+ {"label":"-", "x":11, "y":1.25},
+ {"label":"=", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[", "x":11.5, "y":2.25},
+ {"label":"]", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";", "x":10.75, "y":3.25},
+ {"label":"'", "x":11.75, "y":3.25},
+ {"label":"ISO #", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"ISO \\", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",", "x":9.25, "y":4.25},
+ {"label":".", "x":10.25, "y":4.25},
+ {"label":"/", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"Up", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+
+ {"label":"Left", "x":13.25, "y":5.5},
+ {"label":"Down", "x":14.25, "y":5.5},
+ {"label":"Right", "x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/id80/v2/iso/info.json b/keyboards/idobao/id80/v2/iso/info.json
new file mode 100644
index 0000000000..7512d696e2
--- /dev/null
+++ b/keyboards/idobao/id80/v2/iso/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "ID80 ISO",
+ "usb": {
+ "pid": "0x0081",
+ }
+}
diff --git a/keyboards/idobao/id80/v2/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/v2/iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..01eaa2a44f
--- /dev/null
+++ b/keyboards/idobao/id80/v2/iso/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
+/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ 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_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_iso(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
+ _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
+ ),
+};
diff --git a/keyboards/idobao/id80/v2/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/v2/iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..25ff6b084d
--- /dev/null
+++ b/keyboards/idobao/id80/v2/iso/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2020 Carsten Rose
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ 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_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_iso(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
+ _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
+ ),
+ [2] = LAYOUT_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/idobao/id80/v2/iso/keymaps/via/rules.mk b/keyboards/idobao/id80/v2/iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..ca9fed0e6b
--- /dev/null
+++ b/keyboards/idobao/id80/v2/iso/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id80/v1/iso/rules.mk b/keyboards/idobao/id80/v2/iso/rules.mk
index 323c12fc6e..323c12fc6e 100644
--- a/keyboards/idobao/id80/v1/iso/rules.mk
+++ b/keyboards/idobao/id80/v2/iso/rules.mk
diff --git a/keyboards/idobao/id80/v2/readme.md b/keyboards/idobao/id80/v2/readme.md
new file mode 100644
index 0000000000..333de28523
--- /dev/null
+++ b/keyboards/idobao/id80/v2/readme.md
@@ -0,0 +1,41 @@
+# IDOBAO ID80
+
+![ID80](https://i.imgur.com/977ENjph.png)
+
+A 75% hotswap keyboard from IDOBAO.
+
+## ANSI support *(v1 & v2)*:
+
+* Keyboard Maintainer: [Sergey Vlasov](https://github.com/sigprof)
+* Hardware Supported:
+ * IDOBAO ID80v1
+ * IDOBAO ID80v2
+* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=ID80*), [AliExpress](https://www.aliexpress.com/store/5072109/search?origin=y&SearchText=ID80)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make idobao/id80/v2/ansi:default
+
+To compile for the **v1** please use:
+
+ make idobao/id80/v2:default BACKLIGHT_ENABLE=no
+
+## ISO support *(v2-iso)*:
+
+* Keyboard Maintainer: [Carsten Rose](https://github.com/cwr10010)
+* Hardware Supported: IDOBAO ID80v2
+* Hardware Availability: [IDOBAO](https://www.idobao.net/products/idobao-id80v2-75-hot-swappable-mechanical-keyboard-kit)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make idobao/id80/v2/iso:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the Escape key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available *(default is [Fn]+[Esc])*
diff --git a/keyboards/idobao/id80/v2/rules.mk b/keyboards/idobao/id80/v2/rules.mk
new file mode 100644
index 0000000000..3966212230
--- /dev/null
+++ b/keyboards/idobao/id80/v2/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BACKLIGHT_ENABLE = yes # Enable underkey LED backlight
+
+DEFAULT_FOLDER = idobao/id80/v2/ansi
diff --git a/keyboards/idobao/id80/v2/v2.c b/keyboards/idobao/id80/v2/v2.c
new file mode 100644
index 0000000000..f92f5e0629
--- /dev/null
+++ b/keyboards/idobao/id80/v2/v2.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 Sergey Vlasov <sigprof@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 "v2.h"
diff --git a/keyboards/idobao/id80/v2/v2.h b/keyboards/idobao/id80/v2/v2.h
new file mode 100644
index 0000000000..d45b75853b
--- /dev/null
+++ b/keyboards/idobao/id80/v2/v2.h
@@ -0,0 +1,57 @@
+/* Copyright 2020 Sergey Vlasov <sigprof@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"
+
+#define LAYOUT_ansi( \
+ K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K83, K82, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \
+ K00, K01, K02, K06, K08, K07, K05, K04, K03 \
+) { \
+ { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K01, KC_NO, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \
+ { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \
+ { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \
+ { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \
+ { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \
+ { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \
+ { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \
+}
+
+#define LAYOUT_iso( \
+ K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K82, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, K83, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \
+ K00, K01, K02, K06, K08, K07, K05, K04, K03 \
+) { \
+ { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \
+ { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \
+ { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \
+ { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \
+ { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \
+ { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \
+ { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \
+}
diff --git a/keyboards/idobao/id80/v3/ansi/ansi.c b/keyboards/idobao/id80/v3/ansi/ansi.c
new file mode 100644
index 0000000000..2b298924cf
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/ansi.c
@@ -0,0 +1,76 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "ansi.h"
+
+#define __ NO_LED
+
+#ifdef RGB_MATRIX_ENABLE
+
+/* Per-key LED's
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │79 ││78 │77 │76 │75 ││74 │73 │72 │71 ││70 │69 │68 │67 ││66 ││65 │
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │64 │63 │62 │61 │60 │59 │58 │57 │56 │55 │54 │53 │52 │ 51 ││50 │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ 49 │48 │47 │46 │45 │44 │43 │42 │41 │40 │39 │38 │37 │ 36 ││35 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ 34 │33 │32 │31 │30 │29 │28 │27 │26 │25 │24 │23 │ 22 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ 21 │20 │19 │18 │17 │16 │15 │14 │13 │12 │11 │ 10 │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ 9 │
+ * │ 8 │ 7 │ 6 │ 5 │ 4 │ 3 │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ 2 │ 1 │ 0 │
+ * └───┴───┴───┘
+ * Underglow (as seen from top)
+ * ┌────┬────┬────┬────┬────┬────â”
+ * │ 80 │ 81 │ 82 │ 83 │ 84 │ 85 │
+ * ├────┼────┴────┴────┴────┼────┤
+ * │ 93 │ │ 86 │
+ * ├────┼────┬────┬────┬────┼────┤
+ * │ 92 │ 91 │ 90 │ 89 │ 88 │ 87 │
+ * └────┴────┴────┴────┴────┴────┘
+ */
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ /* Generated with: https://xelus.netlify.app/guides/KLE_to_RGB_parser */
+ { 8, 21, 34, 49, 64, 79, __, __, __, __, __ },
+ { 7, __, 33, 48, 63, 78, __, __, __, __, __ },
+ { 6, 20, 32, 47, 62, 77, __, __, 35, 50, 65 },
+ { 0, 19, 31, 46, 61, 76, 9, __, 36, __, 67 },
+ { 1, 18, 30, 45, 60, 75, 10, 22, 37, 52, 68 },
+ { 2, 17, 29, 44, 59, 74, 11, 23, 38, 53, 69 },
+ { 5, 16, 28, 43, 58, 73, __, __, __, 51, 66 },
+ { 3, 15, 27, 42, 57, 72, 12, 24, 39, 54, 70 },
+ { 4, 14, 26, 41, 56, 71, 13, 25, 40, 55, __ },
+}, {
+ /* NB: Reversed order */
+ // per-key
+ {224,64 }, {209,64 }, {195,64 }, {173,61 }, {151,61 }, { 94,61 }, { 39,61 }, { 20,61 }, { 2,61 },
+ {209,52 }, {185,49 }, {165,49 }, {151,49 }, {136,49 }, {121,49 }, {106,49 }, { 92,49 }, { 77,49 }, { 62,49 }, { 48,49 }, { 33,49 }, { 9,49 },
+ {196,38 }, {173,38 }, {158,38 }, {143,38 }, {129,38 }, {114,38 }, { 99,38 }, { 84,38 }, { 70,38 }, { 55,38 }, { 40,38 }, { 26,38 }, { 6,38 },
+ {224,26 }, {202,26 }, {184,26 }, {169,26 }, {154,26 }, {140,26 }, {125,26 }, {110,26 }, { 95,26 }, { 81,26 }, { 66,26 }, { 51,26 }, { 37,26 }, { 22,26 }, { 4,26 },
+ {224,15 }, {198,15 }, {176,15 }, {162,15 }, {147,15 }, {132,15 }, {118,15 }, {103,15 }, { 88,15 }, { 73,15 }, { 59,15 }, { 44,15 }, { 29,15 }, { 15,15 }, { 0,15 },
+ {224,0 }, {206,0 }, {187,0 }, {173,0 }, {158,0 }, {143,0 }, {125,0 }, {110,0 }, { 95,0 }, { 81,0 }, { 62,0 }, { 48,0 }, { 33,0 }, { 18,0 }, { 0,0 },
+ // underglow
+ { 0,0 }, { 45,0 }, { 90,0 }, {134,0 }, {179,0 }, {224,0 },
+ {224,32 },
+ {224,64 }, {179,64 }, {134,64 }, { 90,64 }, { 45,64 }, { 0,64 },
+ { 0,32 }
+}, {
+ /* NB: Reversed order */
+ 4, 4, 4, 4, 4, 1, 4, 4, 4,
+ 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 4, 4, 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, 4, 4,
+ //
+ 2, 2, 2, 2, 2, 2,
+ 2,
+ 2, 2, 2, 2, 2, 2,
+ 2
+} };
+
+#endif
diff --git a/keyboards/idobao/id80/v3/ansi/ansi.h b/keyboards/idobao/id80/v3/ansi/ansi.h
new file mode 100644
index 0000000000..d9bef6d021
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/ansi.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/idobao/id80/v3/ansi/config.h b/keyboards/idobao/id80/v3/ansi/config.h
new file mode 100644
index 0000000000..1b99fd7908
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/config.h
@@ -0,0 +1,97 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* --------------------------------
+ * Bootmagic Lite key configuration
+ * use the Esc key
+ * -------------------------------- */
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 5
+
+/* ----------------
+ * RGB Matrix stuff
+ * ---------------- */
+
+#define RGB_DI_PIN E2
+
+// RGB Matrix config
+#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)
+
+ #define DRIVER_LED_TOTAL 94
+
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
+
+ #define RGB_MATRIX_KEYPRESSES
+
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+ #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+ #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
+ #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
+
+ /* don't need `#if`, animation modes themselves check defines
+ * #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
+ // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+ // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+ /* #endif // RGB_MATRIX_FRAMEBUFFER_EFFECTS */
+
+ /* don't need `#if`, animation modes themselves check defines
+ * #if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) */
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+ /* #endif // RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
+#endif // RGB_MATRIX_ENABLE
+
+/* -----------------------
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ * ----------------------- */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/id80/v3/ansi/info.json b/keyboards/idobao/id80/v3/ansi/info.json
new file mode 100644
index 0000000000..fccff8efda
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/info.json
@@ -0,0 +1,121 @@
+{
+ "manufacturer": "IDOBAO",
+ "keyboard_name": "IDOBAO ID80v3",
+ "maintainer": "vinorodrigues",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "matrix_pins": {
+ "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F1", "F4", "F5", "F6", "F7"],
+ "rows": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=id80*",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0380",
+ "device_version": "3.0.0"
+ },
+ "layouts": {
+ "LAYOUT_80_ansi": {
+ "layout": [
+ { "matrix": [0, 5], "x": 0, "y": 0 },
+ { "matrix": [1, 5], "x": 1.25, "y": 0 },
+ { "matrix": [2, 5], "x": 2.25, "y": 0 },
+ { "matrix": [3, 5], "x": 3.25, "y": 0 },
+ { "matrix": [4, 5], "x": 4.25, "y": 0 },
+ { "matrix": [5, 5], "x": 5.5, "y": 0 },
+ { "matrix": [6, 5], "x": 6.5, "y": 0 },
+ { "matrix": [7, 5], "x": 7.5, "y": 0 },
+ { "matrix": [8, 5], "x": 8.5, "y": 0 },
+ { "matrix": [7, 10], "x": 9.75, "y": 0 },
+ { "matrix": [5, 10], "x": 10.75, "y": 0 },
+ { "matrix": [4, 10], "x": 11.75, "y": 0 },
+ { "matrix": [3, 10], "x": 12.75, "y": 0 },
+ { "matrix": [6, 10], "x": 14, "y": 0 },
+ { "matrix": [2, 10], "x": 15.25, "y": 0 },
+
+ { "matrix": [0, 4], "x": 0, "y": 1.25 },
+ { "matrix": [1, 4], "x": 1, "y": 1.25 },
+ { "matrix": [2, 4], "x": 2, "y": 1.25 },
+ { "matrix": [3, 4], "x": 3, "y": 1.25 },
+ { "matrix": [4, 4], "x": 4, "y": 1.25 },
+ { "matrix": [5, 4], "x": 5, "y": 1.25 },
+ { "matrix": [6, 4], "x": 6, "y": 1.25 },
+ { "matrix": [7, 4], "x": 7, "y": 1.25 },
+ { "matrix": [8, 4], "x": 8, "y": 1.25 },
+ { "matrix": [8, 9], "x": 9, "y": 1.25 },
+ { "matrix": [7, 9], "x": 10, "y": 1.25 },
+ { "matrix": [5, 9], "x": 11, "y": 1.25 },
+ { "matrix": [4, 9], "x": 12, "y": 1.25 },
+ { "matrix": [6, 9], "x": 13, "y": 1.25, "w": 2 },
+ { "matrix": [2, 9], "x": 15.25, "y": 1.25 },
+
+ { "matrix": [0, 3], "x":0, "y":2.25, "w":1.5},
+ { "matrix": [1, 3], "x":1.5, "y":2.25},
+ { "matrix": [2, 3], "x":2.5, "y":2.25},
+ { "matrix": [3, 3], "x":3.5, "y":2.25},
+ { "matrix": [4, 3], "x":4.5, "y":2.25},
+ { "matrix": [5, 3], "x":5.5, "y":2.25},
+ { "matrix": [6, 3], "x":6.5, "y":2.25},
+ { "matrix": [7, 3], "x":7.5, "y":2.25},
+ { "matrix": [8, 3], "x":8.5, "y":2.25},
+ { "matrix": [8, 8], "x":9.5, "y":2.25},
+ { "matrix": [7, 8], "x":10.5, "y":2.25},
+ { "matrix": [5, 8], "x":11.5, "y":2.25},
+ { "matrix": [4, 8], "x":12.5, "y":2.25},
+ { "matrix": [3, 8], "x":13.5, "y":2.25, "w":1.5},
+ { "matrix": [2, 8], "x":15.25, "y":2.25},
+
+ { "matrix": [0, 2], "x":0, "y":3.25, "w":1.75},
+ { "matrix": [1, 2], "x":1.75, "y":3.25},
+ { "matrix": [2, 2], "x":2.75, "y":3.25},
+ { "matrix": [3, 2], "x":3.75, "y":3.25},
+ { "matrix": [4, 2], "x":4.75, "y":3.25},
+ { "matrix": [5, 2], "x":5.75, "y":3.25},
+ { "matrix": [6, 2], "x":6.75, "y":3.25},
+ { "matrix": [7, 2], "x":7.75, "y":3.25},
+ { "matrix": [8, 2], "x":8.75, "y":3.25},
+ { "matrix": [8, 7], "x":9.75, "y":3.25},
+ { "matrix": [7, 7], "x":10.75, "y":3.25},
+ { "matrix": [5, 7], "x":11.75, "y":3.25},
+ { "matrix": [4, 7], "x":12.75, "y":3.25, "w":2.25},
+
+ { "matrix": [0, 1], "x":0, "y":4.25, "w":2.25},
+ { "matrix": [2, 1], "x":2.25, "y":4.25},
+ { "matrix": [3, 1], "x":3.25, "y":4.25},
+ { "matrix": [4, 1], "x":4.25, "y":4.25},
+ { "matrix": [5, 1], "x":5.25, "y":4.25},
+ { "matrix": [6, 1], "x":6.25, "y":4.25},
+ { "matrix": [7, 1], "x":7.25, "y":4.25},
+ { "matrix": [8, 1], "x":8.25, "y":4.25},
+ { "matrix": [8, 6], "x":9.25, "y":4.25},
+ { "matrix": [7, 6], "x":10.25, "y":4.25},
+ { "matrix": [5, 6], "x":11.25, "y":4.25},
+ { "matrix": [4, 6], "x":12.25, "y":4.25, "w":1.75},
+
+ { "matrix": [3, 6], "x":14.25, "y":4.5},
+
+ { "matrix": [0, 0], "x":0, "y":5.25, "w":1.25},
+ { "matrix": [1, 0], "x":1.25, "y":5.25, "w":1.25},
+ { "matrix": [2, 0], "x":2.5, "y":5.25, "w":1.25},
+ { "matrix": [6, 0], "x":3.75, "y":5.25, "w":6.25},
+ { "matrix": [8, 0], "x":10, "y":5.25, "w":1.5},
+ { "matrix": [7, 0], "x":11.5, "y":5.25, "w":1.5},
+
+ { "matrix": [5, 0], "x":13.25, "y":5.5},
+ { "matrix": [4, 0], "x":14.25, "y":5.5},
+ { "matrix": [3, 0], "x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v3/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..127647c664
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/keymaps/default/keymap.c
@@ -0,0 +1,56 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Fn1││Ins│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │`~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │-_ │=+ │Backspc││Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[{ │]} │ \| ││Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │;: │'" │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │,< │.> │/? │Shift │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ ↑ │
+ * │Ctrl│Win │Alt │ Space │ Alt │Ctrl │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [0] = LAYOUT_80_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Rst││ │ │ │ ││ │ │ │ ││ │PSc│SLk│Pau││ ││Mut│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Vl+│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ │Tog│ │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│Sp+│Sp-│ │ ││Vl-│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ │ │ │mod│ │ │NKR│ │ │ │ │ │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│PUp│
+ * │ │ │ │ │ │ │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│Hom│PDn│End│
+ * └───┴───┴───┘
+ */
+ [1] = LAYOUT_80_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, KC_VOLD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_RMOD, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ )
+};
diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c
new file mode 100644
index 0000000000..e0d786e5e2
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c
@@ -0,0 +1,315 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// Copyright 2022 IDOBAO (@idobaokb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* ------------------------------------------------------------------
+ * This is the IDOBAO factory default keymap ;)
+ * ------------------------------------------------------------------ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+typedef union {
+ uint32_t raw;
+ struct {
+ bool rgb_disable_perkey:1;
+ bool rgb_disable_underglow:1;
+ };
+} user_config_t;
+
+#endif // RGB_MATRIX_ENABLE
+
+enum {
+ _BASE = 0,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+enum {
+ KC_MCON = USER00, // macOS Open Mission Control
+ KC_LPAD, // macOS Open Launchpad
+ #ifdef RGB_MATRIX_ENABLE
+ RGB_TPK, // Toggle Per-Key
+ RGB_TUG, // Toggle Underglow
+ #endif // RGB_MATRIX_ENABLE
+ KB_VRSN = USER09 // debug, type version
+};
+
+#ifndef RGB_MATRIX_ENABLE
+ #define RGB_TPK _______
+ #define RGB_TUG _______
+#endif // RGB_MATRIX_ENABLE
+
+enum macos_consumer_usages {
+ _AC_SHOW_ALL_WINDOWS = 0x29F, // mapped to KC_MCON
+ _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Fn1││Ins│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │`~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │-_ │=+ │Backspc││Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[{ │]} │ \| ││Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │;: │'" │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │,< │.> │/? │Shift │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ ↑ │
+ * │Ctrl│Win │Alt │ Space │ Alt │Ctrl │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [_BASE] = LAYOUT_80_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(_FN1), KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Rst││ │ │ │ ││ │ │ │ ││ │PSc│SLk│Pau││ ││Mut│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Vl+│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ │Tog│ │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│Sp+│Sp-│ │ ││Vl-│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ │ │ │mod│Ver│ │NKR│ │ │ │ │ │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│PUp│
+ * │ │ │ │ │ │ │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│Hom│PDn│End│
+ * └───┴───┴───┘
+ */
+ [_FN1] = LAYOUT_80_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, KC_VOLD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_RMOD, KB_VRSN, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ │
+ * │ │ │ │ │ │ │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ │ │ │
+ * └───┴───┴───┘
+ */
+ [_FN2] = LAYOUT_80_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_80_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef RGB_MATRIX_ENABLE
+
+/*
+ * RGB Stuff
+ */
+
+#define ID80_CAPS_LOCK_KEY_INDEX 34 // position of Caps Lock key
+
+#define ID80_CAPS_LOCK_MAX_BRIGHTNESS 0xFF
+#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #undef ID80_CAPS_LOCK_MAX_BRIGHTNESS
+ #define ID80_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#define ID80_CAPS_LOCK_VAL_STEP 8
+#ifdef RGB_MATRIX_VAL_STEP
+ #undef ID80_CAPS_LOCK_VAL_STEP
+ #define ID80_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+user_config_t user_config;
+
+void id80_update_rgb_mode(void) {
+ uint8_t flags = LED_FLAG_ALL;
+
+ if (user_config.rgb_disable_perkey && user_config.rgb_disable_underglow) {
+ flags = 0; // All OFF Condition
+ } else {
+ if (user_config.rgb_disable_perkey) {
+ flags = LED_FLAG_UNDERGLOW | 0xF0;
+ }
+ if (user_config.rgb_disable_underglow) {
+ flags = LED_FLAG_MODIFIER | LED_FLAG_KEYLIGHT | LED_FLAG_INDICATOR | 0xF0;
+ }
+ }
+
+ if (flags == 0) {
+ rgb_matrix_set_flags(0);
+ rgb_matrix_set_color_all(HSV_OFF);
+ } else {
+ rgb_matrix_set_flags(flags);
+ rgb_matrix_enable_noeeprom();
+ }
+
+ eeconfig_update_kb(user_config.raw); // write back to EEPROM
+}
+
+void id80_get_rgb_mode(void) {
+ user_config.raw = eeconfig_read_kb(); // read config from EEPROM
+ id80_update_rgb_mode();
+}
+
+void keyboard_post_init_user(void) {
+ id80_get_rgb_mode();
+}
+
+void eeconfig_init_user(void) {
+ // EEPROM is getting reset!
+ user_config.raw = 0;
+ id80_update_rgb_mode();
+}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // Caps Lock key stuff
+
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t v = rgb_matrix_get_val();
+ if (v < ID80_CAPS_LOCK_VAL_STEP) {
+ v = ID80_CAPS_LOCK_VAL_STEP;
+ } else if (v < (ID80_CAPS_LOCK_MAX_BRIGHTNESS - ID80_CAPS_LOCK_VAL_STEP)) {
+ if (!user_config.rgb_disable_perkey) {
+ v += ID80_CAPS_LOCK_VAL_STEP; // inc. by one more step than current brightness
+ } // else leave as current brightness
+ } else {
+ v = ID80_CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(ID80_CAPS_LOCK_KEY_INDEX, v, v, v); // white, brightness adjusted
+ } else if (user_config.rgb_disable_perkey) {
+ rgb_matrix_set_color(ID80_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
+ }
+}
+
+#endif // RGB_MATRIX_ENABLE
+
+/*
+ * Extra keys and RGB Toggle handler
+ */
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ switch (keycode) {
+
+ // handle RGB toggle key - this ensures caps lock always works
+ #ifdef RGB_MATRIX_ENABLE
+
+ case QK_BOOT:
+ if (record->event.pressed) {
+ rgb_matrix_set_color_all(RGB_MATRIX_MAXIMUM_BRIGHTNESS, 0, 0); // All red
+ rgb_matrix_driver.flush();
+ }
+ return true;
+
+ case RGB_TOG:
+ /* roll through the LED modes
+ * | Level | Per-key | Underglow |
+ * |------------|---------|-----------|
+ * | 0 (defalt) | on | on |
+ * | 1 | OFF | on |
+ * | 2 | on | OFF |
+ * | 3 | OFF | OFF |
+ */
+ if (record->event.pressed) {
+ if ( (!user_config.rgb_disable_perkey) && (!user_config.rgb_disable_underglow) ) {
+ user_config.rgb_disable_perkey = 1;
+ } else if ( user_config.rgb_disable_perkey && (!user_config.rgb_disable_underglow) ) {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 1;
+ } else if ( (!user_config.rgb_disable_perkey) && user_config.rgb_disable_underglow ) {
+ user_config.rgb_disable_perkey = 1;
+ } else {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 0;
+ }
+ id80_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TPK:
+ if (record->event.pressed) {
+ user_config.rgb_disable_perkey ^= 1;
+ id80_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TUG:
+ if (record->event.pressed) {
+ user_config.rgb_disable_underglow ^= 1;
+ id80_update_rgb_mode();
+ }
+ return false;
+
+ case EE_CLR:
+ if (!record->event.pressed) { // on release
+ id80_get_rgb_mode();
+ }
+ return true; // let this one pass on
+
+ #endif // RGB_MATRIX_ENABLE
+
+ // print firmware version
+ case KB_VRSN:
+ if (!get_mods()) {
+ if (!record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
+ }
+ }
+ return false;
+
+ // @see: https://github.com/qmk/qmk_firmware/issues/10111#issuecomment-752300353
+ case KC_MCON:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_WINDOWS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ case KC_LPAD:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_APPS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ default:
+ return true; /* Process all other keycodes normally */
+ }
+}
diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/idobao/rules.mk b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/rules.mk
new file mode 100644
index 0000000000..ca9fed0e6b
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/rules.mk
@@ -0,0 +1,2 @@
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v3/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9ca5d285fa
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/keymaps/via/keymap.c
@@ -0,0 +1,90 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Fn1││Ins│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │`~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │-_ │=+ │Backspc││Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[{ │]} │ \| ││Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │;: │'" │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │,< │.> │/? │Shift │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ ↑ │
+ * │Ctrl│Win │Alt │ Space │ Alt │Ctrl │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ ↠│ ↓ │ → │
+ * └───┴───┴───┘
+ */
+ [0] = LAYOUT_80_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │Rst││ │ │ │ ││ │ │ │ ││ │PSc│SLk│Pau││ ││Mut│
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││Vl+│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ │Tog│ │Mod│Hu+│Hu-│Sa+│Sa-│Br+│Br-│Sp+│Sp-│ │ ││Vl-│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ │ │ │mod│ │ │NKR│ │ │ │ │ │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│PUp│
+ * │ │ │ │ │ │ │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│Hom│PDn│End│
+ * └───┴───┴───┘
+ */
+ [1] = LAYOUT_80_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, KC_VOLD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_RMOD, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │
+ * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │┌───â”
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│ │
+ * │ │ │ │ │ │ │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│ │ │ │
+ * └───┴───┴───┘
+ */
+ [2] = LAYOUT_80_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_80_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/via/rules.mk b/keyboards/idobao/id80/v3/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..ca9fed0e6b
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id80/v3/ansi/rules.mk b/keyboards/idobao/id80/v3/ansi/rules.mk
new file mode 100644
index 0000000000..eab741fd0a
--- /dev/null
+++ b/keyboards/idobao/id80/v3/ansi/rules.mk
@@ -0,0 +1,5 @@
+# This file intentionally left blank
+# ** settings are data driven & stored in `info.json` **
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/idobao/id80/v3/config.h b/keyboards/idobao/id80/v3/config.h
deleted file mode 100644
index 4b2fb8d056..0000000000
--- a/keyboards/idobao/id80/v3/config.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
-Copyright 2022 peepeetee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 0x6964 /* "id" */
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0003
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID80 v3
-
-
-/* key matrix size */
-#define MATRIX_ROWS 9
-#define MATRIX_COLS 11
-
-/*
- * 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)
- *
- * The matrix description in the vendor-supplied JSON file for kbfirmware.com
- * had 9 columns:
- * { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
- * and 12 rows:
- * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
- * However, the row 6 was completely empty, and the pin F0 was not actually
- * routed anywhere on the PCB, therefore this row was removed to save some
- * resources (the EEPROM space for dynamic keymaps is especially scarce).
- *
- * After doing the above change, the matrix was transposed (rows and columns
- * were swapped), because a matrix with the COL2ROW layout can be scanned much
- * more efficiently than a matrix with the ROW2COL layout (depending on various
- * optimizations, the difference in scan rate can be over 2 times). Because of
- * this, the "columns" in the matrix layout now mostly correspond to physical
- * rows, and the "rows" have mostly vertical physical orientation.
- */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 }
-
-#define DIODE_DIRECTION COL2ROW
-
-#undef RGB_DI_PIN
-#define RGB_DI_PIN B6
-#ifdef RGB_MATRIX_ENABLE
-# define DRIVER_LED_TOTAL 96 /* 16 Bottom 80 top*/
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-/* Bootmagic Lite key configuration: use the Esc key */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 5
-
-#define ENCODERS_PAD_A { C7 }
-#define ENCODERS_PAD_B { C6 }
-
-
-
-
diff --git a/keyboards/idobao/id80/v3/info.json b/keyboards/idobao/id80/v3/info.json
deleted file mode 100644
index 0dc8efaf02..0000000000
--- a/keyboards/idobao/id80/v3/info.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "keyboard_name": "ID80 v3",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.5, "y":0},
- {"label":"F6", "x":6.5, "y":0},
- {"label":"F7", "x":7.5, "y":0},
- {"label":"F8", "x":8.5, "y":0},
- {"label":"F9", "x":9.75, "y":0},
- {"label":"F10", "x":10.75, "y":0},
- {"label":"F11", "x":11.75, "y":0},
- {"label":"F12", "x":12.75, "y":0},
- {"label":"Fn", "x":14, "y":0},
- {"label":"Insert", "x":15.25, "y":0},
-
- {"label":"`", "x":0, "y":1.25},
- {"label":"1", "x":1, "y":1.25},
- {"label":"2", "x":2, "y":1.25},
- {"label":"3", "x":3, "y":1.25},
- {"label":"4", "x":4, "y":1.25},
- {"label":"5", "x":5, "y":1.25},
- {"label":"6", "x":6, "y":1.25},
- {"label":"7", "x":7, "y":1.25},
- {"label":"8", "x":8, "y":1.25},
- {"label":"9", "x":9, "y":1.25},
- {"label":"0", "x":10, "y":1.25},
- {"label":"-", "x":11, "y":1.25},
- {"label":"=", "x":12, "y":1.25},
- {"label":"Backspace", "x":13, "y":1.25, "w":2},
- {"label":"Home", "x":15.25, "y":1.25},
-
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":6.5, "y":2.25},
- {"label":"U", "x":7.5, "y":2.25},
- {"label":"I", "x":8.5, "y":2.25},
- {"label":"O", "x":9.5, "y":2.25},
- {"label":"P", "x":10.5, "y":2.25},
- {"label":"[", "x":11.5, "y":2.25},
- {"label":"]", "x":12.5, "y":2.25},
- {"label":"\\", "x":13.5, "y":2.25, "w":1.5},
- {"label":"Delete", "x":15.25, "y":2.25},
-
- {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":6.75, "y":3.25},
- {"label":"J", "x":7.75, "y":3.25},
- {"label":"K", "x":8.75, "y":3.25},
- {"label":"L", "x":9.75, "y":3.25},
- {"label":";", "x":10.75, "y":3.25},
- {"label":"'", "x":11.75, "y":3.25},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
-
- {"label":"Shift", "x":0, "y":4.25, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.25},
- {"label":"X", "x":3.25, "y":4.25},
- {"label":"C", "x":4.25, "y":4.25},
- {"label":"V", "x":5.25, "y":4.25},
- {"label":"B", "x":6.25, "y":4.25},
- {"label":"N", "x":7.25, "y":4.25},
- {"label":"M", "x":8.25, "y":4.25},
- {"label":",", "x":9.25, "y":4.25},
- {"label":".", "x":10.25, "y":4.25},
- {"label":"/", "x":11.25, "y":4.25},
- {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
- {"label":"\u2191", "x":14.25, "y":4.5},
-
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"label":"Alt", "x":10, "y":5.25, "w":1.5},
- {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
- {"label":"\u2190", "x":13.25, "y":5.5},
- {"label":"\u2193", "x":14.25, "y":5.5},
- {"label":"\u2192", "x":15.25, "y":5.5}
- ]
- }
- }
-}
diff --git a/keyboards/idobao/id80/v3/keymaps/default/keymap.c b/keyboards/idobao/id80/v3/keymaps/default/keymap.c
deleted file mode 100644
index f7886f1e0e..0000000000
--- a/keyboards/idobao/id80/v3/keymaps/default/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- 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, MO(1), KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
-};
-
diff --git a/keyboards/idobao/id80/v3/keymaps/default/readme.md b/keyboards/idobao/id80/v3/keymaps/default/readme.md
deleted file mode 100644
index 8ae9f656cd..0000000000
--- a/keyboards/idobao/id80/v3/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for id80
diff --git a/keyboards/idobao/id80/v3/keymaps/via/keymap.c b/keyboards/idobao/id80/v3/keymaps/via/keymap.c
deleted file mode 100644
index 19787b6b89..0000000000
--- a/keyboards/idobao/id80/v3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- 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, MO(1), KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
diff --git a/keyboards/idobao/id80/v3/readme.md b/keyboards/idobao/id80/v3/readme.md
index dc6c67b4f4..e4eb50f9e7 100644
--- a/keyboards/idobao/id80/v3/readme.md
+++ b/keyboards/idobao/id80/v3/readme.md
@@ -1,27 +1,36 @@
-# ID80v3
+# IDOBAO ID80v3
-![ID80v3](https://i.imgur.com/PGvZfQj.jpg)
+![IDOBAO ID80](https://i.imgur.com/977ENjp.png)
-A 75% hotswap in-switch RGB keyboard with an encoder.
+A 75% hotswap keyboard from IDOBAO.
-* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
-* Hardware Supported: ID80v3
-* Hardware Availability: Not avaliable yet
+## ANSI Support
+
+* Keyboard Maintainer: [Vino Rodrigues](https://github.com/vinorodrigues)
+* Hardware Supported: **IDOBAO ID80v3**
+* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=id80*)
+
+## ANSI Layout
+
+![](https://idobao.github.io/kle/idobao-id80.png)
+
+## Compiling and Flashing
Make example for this keyboard (after setting up your build environment):
- make idobao/id80/v3:default
+ make idobao/id80/v3/ansi:default
Flashing example for this keyboard:
- make idobao/id80/v3:default:flash
+ make idobao/id80/v3/ansi: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).
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
+Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Bootmagic reset**: Hold down the [Escape] key (the top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/idobao/id80/v3/rules.mk b/keyboards/idobao/id80/v3/rules.mk
index 6805b8f0f9..218fc05539 100644
--- a/keyboards/idobao/id80/v3/rules.mk
+++ b/keyboards/idobao/id80/v3/rules.mk
@@ -1,23 +1,2 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-LTO_ENABLE = yes
-
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
+# Defalt to the ansi version
+DEFAULT_FOLDER = idobao/id80/v3/ansi
diff --git a/keyboards/idobao/id80/v3/v3.c b/keyboards/idobao/id80/v3/v3.c
deleted file mode 100644
index cd05a26a49..0000000000
--- a/keyboards/idobao/id80/v3/v3.c
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// Copyright 2022 Xelus22
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "v3.h"
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) { return false; }
- if (index == 0) {
- if (clockwise) {
- tap_code_delay(KC_VOLU, 10);
- } else {
- tap_code_delay(KC_VOLD, 10);
- }
- }
- return true;
-}
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 8, 9, 34, 35, 64, 65, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { 7, NO_LED, 33, 36, 63, 66, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { 6, 10, 32, 37, 62, 67, NO_LED, NO_LED, 49, 50, 79 },
- { 0, 11, 31, 38, 61, 68, 21, NO_LED, 48, NO_LED, 77 },
- { 1, 12, 30, 39, 60, 69, 20, 22, 47, 52, 76 },
- { 2, 13, 29, 40, 59, 70, 19, 23, 46, 53, 75 },
- { 5, 14, 28, 41, 58, 71, NO_LED, NO_LED, NO_LED, 51, 78 },
- { 3, 15, 27, 42, 57, 72, 18, 24, 45, 54, 74 },
- { 4, 16, 26, 43, 56, 73, 17, 25, 44, 55, NO_LED },
-}, {
- // LED Index to Physical Position
-{224, 64}, {209, 64}, {195, 64}, {173, 61}, {151, 61}, {94 , 61}, {39 , 61}, {20 , 61}, {2 , 61}, {9 , 50}, {33 , 50},
-{48 , 50}, {62 , 50}, {77 , 50}, {92 , 50}, {106, 50}, {121, 50}, {136, 50}, {151, 50}, {165, 50}, {185, 50}, {209, 53},
-{196, 39}, {173, 39}, {158, 39}, {143, 39}, {129, 39}, {114, 39}, {99 , 39}, {84 , 39}, {70 , 39}, {55 , 39}, {40 , 39},
-{26 , 39}, {6 , 39}, {4 , 28}, {22 , 28}, {37 , 28}, {51 , 28}, {66 , 28}, {81 , 28}, {95 , 28}, {110, 28}, {125, 28},
-{140, 28}, {154, 28}, {169, 28}, {184, 28}, {202, 28}, {224, 28}, {224, 17}, {198, 17}, {176, 17}, {162, 17}, {147, 17},
-{132, 17}, {118, 17}, {103, 17}, {88 , 17}, {73 , 17}, {59 , 17}, {44 , 17}, {29 , 17}, {15 , 17}, {0 , 17}, {0 , 0},
-{18 , 0}, {33 , 0}, {48 , 0}, {62 , 0}, {81 , 0}, {95 , 0}, {110, 0}, {125, 0}, {143, 0}, {158, 0}, {173, 0},
-{187, 0}, {206, 0}, {224, 0},
-
-{ 207, 13},
-{ 207, 32},
-{ 207, 51},{ 174, 51},{ 141, 51},{ 108, 51},{ 73, 51},{ 40, 51},{ 13, 51 },
-{ 13, 32},
-{ 13, 13},{ 40, 13},{ 73, 13},{ 108, 13},{ 141, 13},{ 174, 13},
-
-}, {
- // LED Index to Flag
-1,1,1,1,1,4,1,1,1,
-1,4,4,4,4,4,4,4,4,4,4,1,1,
-1,4,4,4,4,4,4,4,4,4,4,4,1,
-1,4,4,4,4,4,4,4,4,4,4,4,4,4,1,
-1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,
-1,4,4,4,4,1,1,1,1,4,4,4,4,1,1,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-
-} };
-
-#endif
diff --git a/keyboards/idobao/id80/v3/v3.h b/keyboards/idobao/id80/v3/v3.h
deleted file mode 100644
index 94626fe4f6..0000000000
--- a/keyboards/idobao/id80/v3/v3.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 Sergey Vlasov <sigprof@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"
-
-#define LAYOUT( \
- K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K83, K82, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, \
- K10, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \
- K00, K01, K02, K06, K08, K07, K05, K04, K03 \
-) { \
- { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K01, KC_NO, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \
- { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \
- { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \
- { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \
- { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \
- { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \
- { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \
-}
diff --git a/keyboards/idobao/id87/v1/config.h b/keyboards/idobao/id87/v1/config.h
index a268091d40..6c2d6fc9ce 100644
--- a/keyboards/idobao/id87/v1/config.h
+++ b/keyboards/idobao/id87/v1/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // "id"
-#define PRODUCT_ID 0x0087
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT IDOBAO ID87
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 9
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B7, F7, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -58,9 +50,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 22 /* 16 Bottom 6 top*/
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+ // RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_TWINKLE
+
+ #define RGBLED_NUM 22 /* 16 Bottom 6 top*/
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
#endif
diff --git a/keyboards/idobao/id87/v1/info.json b/keyboards/idobao/id87/v1/info.json
index f154bbd940..9f7c94619f 100644
--- a/keyboards/idobao/id87/v1/info.json
+++ b/keyboards/idobao/id87/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ID87",
+ "manufacturer": "IDOBAO",
"url": "https://www.idobao.net/products/idobao-id87-80-hot-swappable-mechanical-keyboard-kit",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0087",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h
index f094ef0638..8f1a9ddf03 100644
--- a/keyboards/idobao/id87/v2/config.h
+++ b/keyboards/idobao/id87/v2/config.h
@@ -1,144 +1,78 @@
-// Copyright 2022 peepeetee (@peepeetee)
+// Copyright 2022 vinorodrigues (@vinorodrigues)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // "id"
-#define PRODUCT_ID 0x0087
-#define DEVICE_VER 0x0002
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID87
-
-/* key matrix size */
-#define MATRIX_ROWS 11
-#define MATRIX_COLS 9
-
-/*
- * 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, B0, B1, B2, B3, B7, F7, F6, F5, F4, F1 }
-
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-//#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-#define LED_CAPS_LOCK_PIN C7
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-//#define BACKLIGHT_BREATHING
+/* ----------------
+ * RGB Matrix stuff
+ * ---------------- */
#define RGB_DI_PIN E2
-# define DRIVER_LED_TOTAL 103 /* 16 Bottom 87 top*/
-#ifdef RGB_DI_PIN
-# define RGBLED_NUM 103 /* 16 Bottom 87 top*/
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#endif
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define RGB_MATRIX_KEYPRESSES
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
-
-
-/* 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
-
-/*
+
+// RGB Matrix config
+#if defined(RGB_MATRIX_ENABLE)
+
+ #define DRIVER_LED_TOTAL 103
+
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255
+
+ #define RGB_MATRIX_KEYPRESSES
+
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
+ #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
+ #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
+ #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
+ #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
+ #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
+ #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right
+
+ /* RGB_MATRIX_FRAMEBUFFER_EFFECTS -- do not enable */
+ // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+ // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+ /* RGB_MATRIX_KEYPRESSES | RGB_MATRIX_KEYRELEASES */
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+#endif // RGB_MATRIX_ENABLE
+
+
+/* -----------------------
* Feature disable options
* These options are also useful to firmware size reduction.
- */
+ * ----------------------- */
/* disable debug print */
//#define NO_DEBUG
@@ -150,7 +84,3 @@
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/idobao/id87/v2/info.json b/keyboards/idobao/id87/v2/info.json
index e4e252aa64..7292ce29ca 100644
--- a/keyboards/idobao/id87/v2/info.json
+++ b/keyboards/idobao/id87/v2/info.json
@@ -1,97 +1,126 @@
{
- "keyboard_name": "ID87",
- "url": "https://www.idobao.net/products/idobao-id87-80-hot-swappable-mechanical-keyboard-kit",
- "maintainer": "qmk",
+ "manufacturer": "IDOBAO",
+ "keyboard_name": "ID87v2",
+ "maintainer": "vinorodrigues",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "ROW2COL",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "debounce": 5,
+ "matrix_pins": {
+ "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
+ "rows": ["E6", "B0", "B1", "B2", "B3", "B7", "F7", "F6", "F5", "F4", "F1"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=ID87*",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0287",
+ "device_version": "2.0.0"
+ },
"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":"1", "x":1, "y":1.5},
- {"label":"2", "x":2, "y":1.5},
- {"label":"3", "x":3, "y":1.5},
- {"label":"4", "x":4, "y":1.5},
- {"label":"5", "x":5, "y":1.5},
- {"label":"6", "x":6, "y":1.5},
- {"label":"7", "x":7, "y":1.5},
- {"label":"8", "x":8, "y":1.5},
- {"label":"9", "x":9, "y":1.5},
- {"label":"0", "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":"Up", "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},
- {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
- {"label":"Alt", "x":10, "y":5.5, "w":1.25},
- {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
- {"label":"LT(1, KC_APP)", "x":12.5, "y":5.5, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
- {"label":"Left", "x":15.25, "y":5.5},
- {"label":"Down", "x":16.25, "y":5.5},
- {"label":"Right", "x":17.25, "y":5.5}
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6.5, "y": 0 },
+ { "matrix": [0, 7], "x": 7.5, "y": 0 },
+ { "matrix": [0, 8], "x": 8.5, "y": 0 },
+ { "matrix": [6, 8], "x": 9.5, "y": 0 },
+ { "matrix": [6, 7], "x": 11, "y": 0 },
+ { "matrix": [6, 5], "x": 12, "y": 0 },
+ { "matrix": [6, 4], "x": 13, "y": 0 },
+ { "matrix": [6, 3], "x": 14, "y": 0 },
+ { "matrix": [6, 6], "x": 15.25, "y": 0 },
+ { "matrix": [6, 2], "x": 16.25, "y": 0 },
+ { "matrix": [6, 1], "x": 17.25, "y": 0 },
+
+ { "matrix": [1, 0], "x": 0, "y": 1.25 },
+ { "matrix": [1, 1], "x": 1, "y": 1.25 },
+ { "matrix": [1, 2], "x": 2, "y": 1.25 },
+ { "matrix": [1, 3], "x": 3, "y": 1.25 },
+ { "matrix": [1, 4], "x": 4, "y": 1.25 },
+ { "matrix": [1, 5], "x": 5, "y": 1.25 },
+ { "matrix": [1, 6], "x": 6, "y": 1.25 },
+ { "matrix": [1, 7], "x": 7, "y": 1.25 },
+ { "matrix": [1, 8], "x": 8, "y": 1.25 },
+ { "matrix": [7, 8], "x": 9, "y": 1.25 },
+ { "matrix": [7, 0], "x": 10, "y": 1.25 },
+ { "matrix": [7, 7], "x": 11, "y": 1.25 },
+ { "matrix": [7, 5], "x": 12, "y": 1.25 },
+ { "matrix": [7, 3], "x": 13, "y": 1.25, "w": 2 },
+ { "matrix": [7, 6], "x": 15.25, "y": 1.25 },
+ { "matrix": [7, 2], "x": 16.25, "y": 1.25 },
+ { "matrix": [7, 1], "x": 17.25, "y": 1.25 },
+
+ { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2.25 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2.25 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2.25 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2.25 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2.25 },
+ { "matrix": [2, 6], "x": 6.5, "y": 2.25 },
+ { "matrix": [2, 7], "x": 7.5, "y": 2.25 },
+ { "matrix": [2, 8], "x": 8.5, "y": 2.25 },
+ { "matrix": [8, 8], "x": 9.5, "y": 2.25 },
+ { "matrix": [8, 7], "x": 10.5, "y": 2.25 },
+ { "matrix": [8, 5], "x": 11.5, "y": 2.25 },
+ { "matrix": [8, 4], "x": 12.5, "y": 2.25 },
+ { "matrix": [8, 3], "w": 1.5, "x": 13.5, "y": 2.25 },
+ { "matrix": [8, 6], "x": 15.25, "y": 2.25 },
+ { "matrix": [8, 2], "x": 16.25, "y": 2.25 },
+ { "matrix": [8, 1], "x": 17.25, "y": 2.25 },
+
+ { "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 },
+ { "matrix": [3, 1], "x": 1.75, "y": 3.25 },
+ { "matrix": [3, 2], "x": 2.75, "y": 3.25 },
+ { "matrix": [3, 3], "x": 3.75, "y": 3.25 },
+ { "matrix": [3, 4], "x": 4.75, "y": 3.25 },
+ { "matrix": [3, 5], "x": 5.75, "y": 3.25 },
+ { "matrix": [3, 6], "x": 6.75, "y": 3.25 },
+ { "matrix": [3, 7], "x": 7.75, "y": 3.25 },
+ { "matrix": [3, 8], "x": 8.75, "y": 3.25 },
+ { "matrix": [9, 8], "x": 9.75, "y": 3.25 },
+ { "matrix": [9, 7], "x": 10.75, "y": 3.25 },
+ { "matrix": [9, 5], "x": 11.75, "y": 3.25 },
+ { "matrix": [9, 3], "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 },
+ { "matrix": [4, 2], "x": 2.25, "y": 4.25 },
+ { "matrix": [4, 3], "x": 3.25, "y": 4.25 },
+ { "matrix": [4, 4], "x": 4.25, "y": 4.25 },
+ { "matrix": [4, 5], "x": 5.25, "y": 4.25 },
+ { "matrix": [4, 6], "x": 6.25, "y": 4.25 },
+ { "matrix": [4, 7], "x": 7.25, "y": 4.25 },
+ { "matrix": [4, 8], "x": 8.25, "y": 4.25 },
+ { "matrix": [10, 8], "x": 9.25, "y": 4.25 },
+ { "matrix": [10, 7], "x": 10.25, "y": 4.25 },
+ { "matrix": [10, 5], "x": 11.25, "y": 4.25 },
+ { "matrix": [10, 4], "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "matrix": [9, 2], "x": 16.25, "y": 4.25 },
+
+ { "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25 },
+ { "matrix": [5, 8], "x": 10, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 7], "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 4], "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 3], "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "matrix": [10, 6], "x": 15.25, "y": 5.25 },
+ { "matrix": [10, 2], "x": 16.25, "y": 5.25 },
+ { "matrix": [10, 1], "x": 17.25, "y": 5.25 }
]
}
}
diff --git a/keyboards/idobao/id87/v2/keymaps/default/keymap.c b/keyboards/idobao/id87/v2/keymaps/default/keymap.c
index 9465dca531..53690899c1 100644
--- a/keyboards/idobao/id87/v2/keymaps/default/keymap.c
+++ b/keyboards/idobao/id87/v2/keymaps/default/keymap.c
@@ -1,35 +1,58 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-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 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
+#define LT_1_AP LT(1, KC_APP) // Tap = Menu, Hold = MO(1)
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Fn1*│Ctrl│ │ ↠│ ↓ │ → │ Fn1* => Tap = Menu, Hold = MO(1)
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
[0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______,
- _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, RGB_MOD
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT_1_AP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Rst│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hu+│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ │Tog│Mod│ │ │ │ │ │ │ │ │ │ │ │ │St-│Hu-│St+│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ │ │mod│ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ │ │ │ │ │ │NRO│ │ │ │ │ │ │Br+│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ │ │ │ │ │ │ │ │ │Sp-│Br-│Sp+│
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______,
+ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI,
+ _______, _______, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
+ )
};
diff --git a/keyboards/idobao/id87/v2/keymaps/default/readme.md b/keyboards/idobao/id87/v2/keymaps/default/readme.md
deleted file mode 100644
index 6054431de4..0000000000
--- a/keyboards/idobao/id87/v2/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for id87 \ No newline at end of file
diff --git a/keyboards/idobao/id87/v2/keymaps/idobao/config.h b/keyboards/idobao/id87/v2/keymaps/idobao/config.h
new file mode 100644
index 0000000000..a1612e6e32
--- /dev/null
+++ b/keyboards/idobao/id87/v2/keymaps/idobao/config.h
@@ -0,0 +1,4 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c b/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c
new file mode 100644
index 0000000000..59b60b7e1d
--- /dev/null
+++ b/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c
@@ -0,0 +1,299 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// Copyright 2022 IDOBAO (@idobaokb)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* ------------------------------------------------------------------
+ * This is the IDOBAO factory default keymap ;)
+ * ------------------------------------------------------------------ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+typedef union {
+ uint32_t raw;
+ struct {
+ bool rgb_disable_perkey:1;
+ bool rgb_disable_underglow:1;
+ };
+} user_config_t;
+
+#endif // RGB_MATRIX_ENABLE
+
+enum {
+ KC_MCON = USER00, // macOS Open Mission Control
+ KC_LPAD, // macOS Open Launchpad
+ #ifdef RGB_MATRIX_ENABLE
+ RGB_TPK, // Toggle Per-Key
+ RGB_TUG, // Toggle Underglow
+ #endif // RGB_MATRIX_ENABLE
+ KB_VRSN = USER09 // debug, type version
+};
+
+#ifndef RGB_MATRIX_ENABLE
+ #define RGB_TPK _______
+ #define RGB_TUG _______
+#endif
+
+enum macos_consumer_usages {
+ _AC_SHOW_ALL_WINDOWS = 0x29F, // mapped to KC_MCON
+ _AC_SHOW_ALL_APPS = 0x2A0 // mapped to KC_LPAD
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backspc│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │Ctrl│GUI │Alt │ space │ Alt│ GUI│MO(1│Ctrl│ │ ↠│ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Rst│ │BR+│BR-│mMC│mLP│ │Br-│Br+│Prv│Ply│ │Nxt│Mut│Vl-│Vl+│ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hu+│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ │Tog│Mod│ │ │ │ │ │ │ │ │ │ │ │ │St-│Hu-│St+│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ │ │mod│ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ │ │ │ │Ver│ │NRO│ │ │ │ │ MO(2) │ │Br+│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ │ │ │ │ │ │ │ │ │Sp-│Br-│Sp+│
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, KC_BRID, KC_BRIU, KC_MCON, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______,
+ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI,
+ _______, _______, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KB_VRSN, _______, NK_TOGG, _______, _______, _______, _______, MO(2), RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
+ ),
+
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │M00│M01│M02│M03│M04│M05│M06│M07│M08│M09│M10│ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ │M11│M12│M13│M14│M15│M16│ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ MACRO00, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, _______, _______, _______, _______, _______, _______,
+ _______, MACRO11, MACRO12, MACRO13, MACRO14, MACRO15, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef RGB_MATRIX_ENABLE
+
+/*
+ * RGB Stuff
+ */
+
+#define ID87_CAPS_LOCK_KEY_INDEX 40 // position of Caps Lock key
+
+#define ID87_CAPS_LOCK_MAX_BRIGHTNESS 0xFF
+#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #undef ID87_CAPS_LOCK_MAX_BRIGHTNESS
+ #define ID87_CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#define ID87_CAPS_LOCK_VAL_STEP 8
+#ifdef RGB_MATRIX_VAL_STEP
+ #undef ID87_CAPS_LOCK_VAL_STEP
+ #define ID87_CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+user_config_t user_config;
+
+void id87_update_rgb_mode(void) {
+ uint8_t flags = LED_FLAG_ALL;
+
+ if (user_config.rgb_disable_perkey && user_config.rgb_disable_underglow) {
+ flags = 0; // All OFF Condition
+ } else {
+ if (user_config.rgb_disable_perkey) {
+ flags = LED_FLAG_UNDERGLOW | 0xF0;
+ }
+ if (user_config.rgb_disable_underglow) {
+ flags = LED_FLAG_MODIFIER | LED_FLAG_KEYLIGHT | LED_FLAG_INDICATOR | 0xF0;
+ }
+ }
+
+ if (flags == 0) {
+ rgb_matrix_set_flags(0);
+ rgb_matrix_set_color_all(HSV_OFF);
+ } else {
+ rgb_matrix_set_flags(flags);
+ rgb_matrix_enable_noeeprom();
+ }
+
+ eeconfig_update_kb(user_config.raw); // write back to EEPROM
+}
+
+void id87_get_rgb_mode(void) {
+ user_config.raw = eeconfig_read_kb(); // read config from EEPROM
+ id87_update_rgb_mode();
+}
+
+void keyboard_post_init_user(void) {
+ id87_get_rgb_mode();
+}
+
+void eeconfig_init_user(void) {
+ // EEPROM is getting reset!
+ user_config.raw = 0;
+ id87_update_rgb_mode();
+}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // Caps Lock key stuff
+
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t v = rgb_matrix_get_val();
+ if (v < ID87_CAPS_LOCK_VAL_STEP) {
+ v = ID87_CAPS_LOCK_VAL_STEP;
+ } else if (v < (ID87_CAPS_LOCK_MAX_BRIGHTNESS - ID87_CAPS_LOCK_VAL_STEP)) {
+ if (!user_config.rgb_disable_perkey) {
+ v += ID87_CAPS_LOCK_VAL_STEP; // inc. by one more step than current brightness
+ } // else leave as current brightness
+ } else {
+ v = ID87_CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(ID87_CAPS_LOCK_KEY_INDEX, v, v, v); // white, brightness adjusted
+ } else if (user_config.rgb_disable_perkey) {
+ rgb_matrix_set_color(ID87_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
+ }
+}
+
+#endif // RGB_MATRIX_ENABLE
+
+/*
+ * Extra keys and RGB Toggle handler
+ */
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ switch (keycode) {
+
+ // handle RGB toggle key - this ensures caps lock always works
+ #ifdef RGB_MATRIX_ENABLE
+
+ case QK_BOOT:
+ if (record->event.pressed) {
+ rgb_matrix_set_color_all(RGB_MATRIX_MAXIMUM_BRIGHTNESS, 0, 0); // All red
+ rgb_matrix_driver.flush();
+ }
+ return true;
+
+ case RGB_TOG:
+ /* roll through the LED modes
+ * | Level | Per-key | Underglow |
+ * |------------|---------|-----------|
+ * | 0 (defalt) | on | on |
+ * | 1 | OFF | on |
+ * | 2 | on | OFF |
+ * | 3 | OFF | OFF |
+ */
+ if (record->event.pressed) {
+ if ( (!user_config.rgb_disable_perkey) && (!user_config.rgb_disable_underglow) ) {
+ user_config.rgb_disable_perkey = 1;
+ } else if ( user_config.rgb_disable_perkey && (!user_config.rgb_disable_underglow) ) {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 1;
+ } else if ( (!user_config.rgb_disable_perkey) && user_config.rgb_disable_underglow ) {
+ user_config.rgb_disable_perkey = 1;
+ } else {
+ user_config.rgb_disable_perkey = 0;
+ user_config.rgb_disable_underglow = 0;
+ }
+ id87_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TPK:
+ if (record->event.pressed) {
+ user_config.rgb_disable_perkey ^= 1;
+ id87_update_rgb_mode();
+ }
+ return false;
+
+ case RGB_TUG:
+ if (record->event.pressed) {
+ user_config.rgb_disable_underglow ^= 1;
+ id87_update_rgb_mode();
+ }
+ return false;
+
+ case EE_CLR:
+ if (!record->event.pressed) { // on release
+ id87_get_rgb_mode();
+ }
+ return true; // let this one pass on
+
+ #endif // RGB_MATRIX_ENABLE
+
+ // print firmware version
+ case KB_VRSN:
+ if (!get_mods()) {
+ if (!record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " (v" QMK_VERSION ")");
+ }
+ }
+ return false;
+
+ // @see: https://github.com/qmk/qmk_firmware/issues/10111#issuecomment-752300353
+ case KC_MCON:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_WINDOWS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ case KC_LPAD:
+ if (record->event.pressed) {
+ host_consumer_send(_AC_SHOW_ALL_APPS);
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+
+ default:
+ return true; /* Process all other keycodes normally */
+ }
+}
diff --git a/keyboards/idobao/id87/v2/keymaps/idobao/rules.mk b/keyboards/idobao/id87/v2/keymaps/idobao/rules.mk
new file mode 100644
index 0000000000..974ef99660
--- /dev/null
+++ b/keyboards/idobao/id87/v2/keymaps/idobao/rules.mk
@@ -0,0 +1,3 @@
+
+LTO_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/idobao/id87/v2/keymaps/via/config.h b/keyboards/idobao/id87/v2/keymaps/via/config.h
new file mode 100644
index 0000000000..a1612e6e32
--- /dev/null
+++ b/keyboards/idobao/id87/v2/keymaps/via/config.h
@@ -0,0 +1,4 @@
+// Copyright 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/idobao/id87/v2/keymaps/via/keymap.c b/keyboards/idobao/id87/v2/keymaps/via/keymap.c
index e71a924bfd..15e909c7e7 100644
--- a/keyboards/idobao/id87/v2/keymaps/via/keymap.c
+++ b/keyboards/idobao/id87/v2/keymaps/via/keymap.c
@@ -1,50 +1,81 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-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 2022 Vino Rodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│MO(1│Ctrl│ │ ↠│ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
+
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │Rst│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hu+│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ │Tog│Mod│ │ │ │ │ │ │ │ │ │ │ │ │St-│Hu-│St+│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ │ │mod│ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ │ │ │ │ │ │NRO│ │ │ │ │ MO(2) │ │Br+│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ │ │ │ │ │ │ │ │ │Sp-│Br-│Sp+│
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
[1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______,
- _______, BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, BL_INC,
- _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, RGB_MOD
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______,
+ _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI,
+ _______, _______, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, MO(2), RGB_VAI,
+ _______, _______, _______, _______, _______, KC_APP, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
),
- [2] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_tkl_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
+
+ /*
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │M00│M01│M02│M03│M04│M05│M06│M07│M08│M09│M10│ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ │M11│M12│M13│M14│M15│M16│ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [2] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ MACRO00, MACRO01, MACRO02, MACRO03, MACRO04, MACRO05, MACRO06, MACRO07, MACRO08, MACRO09, MACRO10, _______, _______, _______, _______, _______, _______,
+ _______, MACRO11, MACRO12, MACRO13, MACRO14, MACRO15, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
};
diff --git a/keyboards/idobao/id87/v2/keymaps/via/rules.mk b/keyboards/idobao/id87/v2/keymaps/via/rules.mk
index ca9fed0e6b..974ef99660 100644
--- a/keyboards/idobao/id87/v2/keymaps/via/rules.mk
+++ b/keyboards/idobao/id87/v2/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
+
LTO_ENABLE = yes
VIA_ENABLE = yes
diff --git a/keyboards/idobao/id87/v2/readme.md b/keyboards/idobao/id87/v2/readme.md
index 06a3f2c08a..e779ad67d1 100644
--- a/keyboards/idobao/id87/v2/readme.md
+++ b/keyboards/idobao/id87/v2/readme.md
@@ -1,12 +1,24 @@
-# ID87 v2
+# IDOBAO ID87 v2
-![ID87 v2](https://i.imgur.com/woTSycN.jpg)
+![IDOBAO ID87](https://i.imgur.com/LIpWjog.png)
-A TKL keyboard with hotswap sockets and in switch RGB.
+A TKL hotswap board from IDOBAO.
-* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
-* Hardware Supported: ID87 v2
-* Hardware Availability: [Drop](https://drop.com/buy/idobao-id87-v2-tkl-mechanical-keyboard-kit), [idobao](https://idobao.net/products/idobao-id87-v2-tkl-pcb-mounted-hot-swappable-mechanical-keyboard-kit)
+## ANSI Support
+
+* Keyboard Maintainer: [Vino Rodrigues](https://github.com/vinorodrigues)
+* Hardware Supported:
+ - **IDOBAO ID87v2**
+ - **IDOBAO ID87 Crystal**
+ - **IDOBAO ID87 Bestype**
+ - **IDOBAO ID87 Charm** *(Limited Edition)*
+* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=ID87*)
+
+## ANSI Layout
+
+![](https://idobao.github.io/kle/idobao-id87.png)
+
+## Compiling & Flashing
Make example for this keyboard (after setting up your build environment):
@@ -22,6 +34,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Bootmagic reset**: Hold down the [Escape] key *(the top left)* and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` *(default is [Fn]+[Escape])*
diff --git a/keyboards/idobao/id87/v2/rules.mk b/keyboards/idobao/id87/v2/rules.mk
index 1d519258e3..eab741fd0a 100644
--- a/keyboards/idobao/id87/v2/rules.mk
+++ b/keyboards/idobao/id87/v2/rules.mk
@@ -1,22 +1,5 @@
-# MCU name
-MCU = atmega32u4
+# This file intentionally left blank
+# ** settings are data driven & stored in `info.json` **
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
-
-LAYOUTS = tkl_ansi
diff --git a/keyboards/idobao/id87/v2/v2.c b/keyboards/idobao/id87/v2/v2.c
index 5bca630ca3..34f0a74669 100644
--- a/keyboards/idobao/id87/v2/v2.c
+++ b/keyboards/idobao/id87/v2/v2.c
@@ -1,45 +1,83 @@
-// Copyright 2022 peepeetee (@peepeetee)
+// Copyright 2022 vinorodrigues (@vinorodrigues)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "v2.h"
-#ifdef RGB_MATRIX_ENABLE
+#define __ NO_LED
+
+#if defined(RGB_MATRIX_ENABLE)
+
+/* Under-, Per-Key
+ * ┌───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───┬───┠┌───┬───┬───â”
+ * │102│ │101│100│99 │98 │ │97 │96 │95 │94 │ │93 │92 │91 │90 │ │89 │88 │87 │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │70 │71 │72 │73 │74 │75 │76 │77 │78 │79 │80 │81 │82 │ 83 │ │84 │85 │86 │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ 69 │68 │67 │66 │65 │64 │63 │62 │61 │60 │59 │58 │57 │ 56 │ │55 │54 │53 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ 40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │50 │51 │ 52 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │ 39 │38 │37 │36 │35 │34 │33 │32 │31 │30 │29 │ 28 │ │27 │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───â”
+ * │ 16 │ 17 │ 18 │ 19 │ 20 │ 21 │ 22 │ 23 │ │24 │25 │26 │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ *
+ * Underglow (as seen from top)
+ * ┌───┬───┬───┬───┬───┬───┬───â”
+ * │14 │13 │12 │11 │10 │ 9 │ 8 │
+ * ├───┼───┴───┴───┴───┴───┼───┤
+ * │15 │ │ 7 │
+ * ├───┼───┬───┬───┬───┬───┼───┤
+ * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │
+ * └───┴───┴───┴───┴───┴───┴───┘
+*/
led_config_t g_led_config = { {
// Key Matrix to LED Index
- { 102, NO_LED, 101, 100, 99, 98, 97, 96, 95 }, //0
- { 70, 71, 72, 73, 74, 75, 76, 77, 78 }, //1
- { 69, 68, 67, 66, 65, 64, 63, 62, 61 }, //2
- { 40, 41, 42, 43, 44, 45, 46, 47, 48 }, //3
- { 39, NO_LED, 38, 37, 36, 35, 34, 33, 32 }, //4
- { 16, 17, 18, 23, 22, NO_LED, 19, 21, 20 }, //5
- { NO_LED, 87, 88, 90, 91, 92, 89, 93, 94 }, //6
- { 80, 86, 85, 83, NO_LED, 82, 84, 81, 79 }, //7
- { NO_LED, 53, 54, 56, 57, 58, 55, 59, 60 }, //8
- { NO_LED, NO_LED, 27, 52, NO_LED, 51, NO_LED, 50, 49 }, //9
- { NO_LED, 26, 25, NO_LED, 28, 29, 24, 30, 31 } //A
+ // partially generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser & CSV Excel formula
+
+ { 102, __, 101, 100, 99, 98, 97, 96, 95 },
+ { 70, 71, 72, 73, 74, 75, 76, 77, 78 },
+ { 69, 68, 67, 66, 65, 64, 63, 62, 61 },
+ { 40, 41, 42, 43, 44, 45, 46, 47, 48 },
+ { 39, __, 38, 37, 36, 35, 34, 33, 32 },
+ { 16, 17, 18, 23, 22, __, 19, 21, 20 },
+ { __, 87, 88, 90, 91, 92, 89, 93, 94 },
+ { 80, 86, 85, 83, __, 82, 84, 81, 79 },
+ { __, 53, 54, 56, 57, 58, 55, 59, 60 },
+ { __, __, 27, 52, __, 51, __, 50, 49 },
+ { __, 26, 25, __, 28, 29, 24, 30, 31 }
}, {
// LED Index to Physical Position
- { 13, 51 },{ 40, 51},{ 73, 51},{ 108, 51},{ 141, 51},{ 174, 51},{ 207, 51},
- { 207, 32},
- { 207, 13},{ 174, 13},{ 141, 13},{ 108, 13},{ 73, 13},{ 40, 13},{ 13, 13},
- { 13, 32},
-
-{ 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 },
-{ 205, 49 }, { 165, 49 }, { 142, 49 }, { 130, 49 }, { 118, 49 }, { 106, 49 }, { 94, 49 }, { 82, 49 }, { 70, 49 }, { 58, 49 }, { 46, 49 }, { 34, 49 }, { 14, 49 },
-{ 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
-{ 217, 30 }, { 205, 30 }, { 193, 30 }, { 172, 30 }, { 157, 30 }, { 145, 30 }, { 133, 30 }, { 121, 30 }, { 109, 30 }, { 97, 30 }, { 85, 30 }, { 73, 30 }, { 61, 30 }, { 49, 30 }, { 37, 30 }, { 25, 30 }, { 10, 30 },
-{ 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 },
-{ 217, 5 }, { 205, 5 }, { 193, 5 }, { 175, 5 }, { 163, 5 }, { 151, 5 }, { 139, 5 }, { 121, 5 }, { 109, 5 }, { 97, 5 }, { 85, 5 }, { 67, 5 }, { 55, 5 }, { 43, 5 }, { 31, 5 },{ 7, 5 },
+ // generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser
+ // underglow
+ /* colors are pushed to the edge as only the edges can be seen */
+ { 0,64 }, { 37,64 }, { 75,64 }, {112,64 }, {149,64 }, {187,64 }, {224,64 },
+ {224,32 },
+ {224,0 }, {187,0 }, {149,0 }, {112,0 }, { 75,0 }, { 37,0 }, { 0,0 },
+ { 0,32 },
+ // under-, per-key
+ /* pattern is complex; starts at btm-lft, zig-zags up, and ends top-lft */
+ { 2,64 }, { 18,64 }, { 34,64 }, { 83,64 }, {131,64 }, {148,64 }, {164,64 }, {180,64 }, {198,64 }, {211,64 }, {224,64 }, // lf-2-rt, btm
+ {211,52 }, {170,52 }, {146,52 }, {133,52 }, {120,52 }, {107,52 }, { 94,52 }, { 81,52 }, { 68,52 }, { 55,52 }, { 42,52 }, { 29,52 }, { 8,52 }, // rt-2-lf**
+ { 5,40 }, { 23,40 }, { 36,40 }, { 49,40 }, { 62,40 }, { 75,40 }, { 88,40 }, {101,40 }, {114,40 }, {127,40 }, {140,40 }, {153,40 }, {174,40 }, // lf-2-rt
+ {224,27 }, {211,27 }, {198,27 }, {179,27 }, {162,27 }, {149,27 }, {136,27 }, {123,27 }, {110,27 }, { 97,27 }, { 84,27 }, { 71,27 }, { 58,27 }, { 45,27 }, { 32,27 }, { 19,27 }, { 3,27 }, // rt-2-lf**
+ { 0,15 }, { 13,15 }, { 26,15 }, { 39,15 }, { 52,15 }, { 65,15 }, { 78,15 }, { 91,15 }, {104,15 }, {117,15 }, {130,15 }, {143,15 }, {156,15 }, {175,15 }, {198,15 }, {211,15 }, {224,15 }, // lf-2-rt
+ {224,0 }, {211,0 }, {198,0 }, {182,0 }, {169,0 }, {156,0 }, {143,0 }, {123,0 }, {110,0 }, { 97,0 }, { 84,0 }, { 65,0 }, { 52,0 }, { 39,0 }, { 26,0 }, { 0,0 }, // rt-2-lf**, top
}, {
// LED Index to Flag
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-
-1,1,1,4,1,1,1,1,1,1,1,
-1,1,4,4,4,4,4,4,4,4,4,4,1,
-9,4,4,4,4,4,4,4,4,4,4,4,1,
-1,1,1,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,1,1,1,1,
-1,9,1,4,4,4,4,1,1,1,1,4,4,4,4,1
+ // underglow
+ 2, 2, 2, 2, 2, 2, 2,
+ 2,
+ 2, 2, 2, 2, 2, 2, 2,
+ 2,
+ // under-, per-key
+ 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 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, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
} };
-#endif
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/idobao/id87/v2/v2.h b/keyboards/idobao/id87/v2/v2.h
index 1a75d95755..38b3c9dfda 100644
--- a/keyboards/idobao/id87/v2/v2.h
+++ b/keyboards/idobao/id87/v2/v2.h
@@ -1,40 +1,6 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-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 2022 vinorodrigues (@vinorodrigues)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
-
-#define LAYOUT_tkl_ansi( \
- K00, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \
- K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \
- K50, K51, K52, K56, K58, K57, K54, K53, KA6, KA2, KA1 \
-) { \
- { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
- { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48 }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, K57, K58 }, \
- { KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \
- { K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \
- { KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \
- { KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \
- { KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
-}
-
-
diff --git a/keyboards/idobao/id96/config.h b/keyboards/idobao/id96/config.h
index 6bf1f14c43..444464019b 100644
--- a/keyboards/idobao/id96/config.h
+++ b/keyboards/idobao/id96/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // "id"
-#define PRODUCT_ID 0x0096
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT ID96
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -34,7 +27,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/idobao/id96/info.json b/keyboards/idobao/id96/info.json
index f972af64a2..0732bce154 100644
--- a/keyboards/idobao/id96/info.json
+++ b/keyboards/idobao/id96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "id96",
+ "keyboard_name": "ID96",
+ "manufacturer": "IDOBAO",
"url": "https://www.idobao.net/collections/90/products/idobao-id96-aluminum-keyboard-kit",
"maintainer": "vinorodrigues",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0096",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/idobao/id96/readme.md b/keyboards/idobao/id96/readme.md
index 01c42b4e73..e9cbed5270 100644
--- a/keyboards/idobao/id96/readme.md
+++ b/keyboards/idobao/id96/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/idobao/montex/v1/config.h b/keyboards/idobao/montex/v1/config.h
index 2321ce364e..fe1ea61d35 100644
--- a/keyboards/idobao/montex/v1/config.h
+++ b/keyboards/idobao/montex/v1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Idobao
-#define PRODUCT Montex
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5, C6 }
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
@@ -52,13 +44,22 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-
#define RGB_DI_PIN B1
#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 4
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+ // RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_TWINKLE
+
+ #define RGBLED_NUM 4
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
#endif
diff --git a/keyboards/idobao/montex/v1/info.json b/keyboards/idobao/montex/v1/info.json
index c205e0027a..f683456174 100644
--- a/keyboards/idobao/montex/v1/info.json
+++ b/keyboards/idobao/montex/v1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "montex numpad",
+ "keyboard_name": "Montex",
+ "manufacturer": "IDOBAO",
"url": "https://www.idobao.net/products/ldobao-montex-pad-hot-swappable-mechanical-keyboard-kit",
"maintainer": "NachoxMacho",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x5": {
"layout": [
diff --git a/keyboards/idobao/montex/v1rgb/config.h b/keyboards/idobao/montex/v1rgb/config.h
index 609aeb417e..670b43462b 100755
--- a/keyboards/idobao/montex/v1rgb/config.h
+++ b/keyboards/idobao/montex/v1rgb/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6964 // "id"
-#define PRODUCT_ID 0x0127
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IDOBAO
-#define PRODUCT Montex RGB
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
diff --git a/keyboards/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/info.json
index 27144e499c..9001a3dfec 100755
--- a/keyboards/idobao/montex/v1rgb/info.json
+++ b/keyboards/idobao/montex/v1rgb/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "IDOBAO MONTEX RGB",
+ "keyboard_name": "Montex RGB",
+ "manufacturer": "IDOBAO",
+ "usb": {
+ "vid": "0x6964",
+ "pid": "0x0127",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x5": {
"layout": [
diff --git a/keyboards/idobao/montex/v1rgb/readme.md b/keyboards/idobao/montex/v1rgb/readme.md
index 296f05f239..8066c2193d 100755
--- a/keyboards/idobao/montex/v1rgb/readme.md
+++ b/keyboards/idobao/montex/v1rgb/readme.md
@@ -27,4 +27,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or [Esc]) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h
index 47d43ca458..98ba567203 100755
--- a/keyboards/idobao/montex/v2/config.h
+++ b/keyboards/idobao/montex/v2/config.h
@@ -15,7 +15,6 @@
#define DRIVER_LED_TOTAL 27 // -4 disabled underglow LEDs
#endif
- // #define RGBLIGHT_ANIMATIONS // don't use, please explicitly define
// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good
#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/idobao/montex/v2/readme.md b/keyboards/idobao/montex/v2/readme.md
index 793507b8f1..63808c0a50 100755
--- a/keyboards/idobao/montex/v2/readme.md
+++ b/keyboards/idobao/montex/v2/readme.md
@@ -38,4 +38,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/illuminati/is0/config.h b/keyboards/illuminati/is0/config.h
index cd7a7ce28f..f589733388 100644
--- a/keyboards/illuminati/is0/config.h
+++ b/keyboards/illuminati/is0/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Illuminati Works
-#define PRODUCT iS0
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2 }
#define MATRIX_COL_PINS { D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/illuminati/is0/info.json b/keyboards/illuminati/is0/info.json
index f47cd753a9..f56850ca85 100644
--- a/keyboards/illuminati/is0/info.json
+++ b/keyboards/illuminati/is0/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "iS0",
+ "manufacturer": "Illuminati Works",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0.25, "y":0, "w":1.25, "h":2}]
diff --git a/keyboards/illusion/rosa/config.h b/keyboards/illusion/rosa/config.h
index 5ad421ecbe..1bfc08c8c8 100644
--- a/keyboards/illusion/rosa/config.h
+++ b/keyboards/illusion/rosa/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x694B // iK -> illusion keyboards
-#define PRODUCT_ID 0x6952 // iR -> illusion Rosa
-#define DEVICE_VER 0x0001
-#define MANUFACTURER illusion keyboards
-#define PRODUCT Rosa
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { D1, D4, F0, B0, B1 }
#define MATRIX_COL_PINS { D0, D2, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/illusion/rosa/info.json b/keyboards/illusion/rosa/info.json
index 60e285d66f..9b9a613d01 100644
--- a/keyboards/illusion/rosa/info.json
+++ b/keyboards/illusion/rosa/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rosa",
+ "manufacturer": "illusion keyboards",
"url": "",
"maintainer": "illusion",
+ "usb": {
+ "vid": "0x694B",
+ "pid": "0x6952",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [
diff --git a/keyboards/illusion/rosa/keymaps/oggi/keymap.c b/keyboards/illusion/rosa/keymaps/oggi/keymap.c
index 9fdb762f04..3ddf9b8d2c 100644
--- a/keyboards/illusion/rosa/keymaps/oggi/keymap.c
+++ b/keyboards/illusion/rosa/keymaps/oggi/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_60_ansi_tsangan_split_rshift(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RIGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c
index 6cd4378c74..14b9ef10e6 100644
--- a/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c
+++ b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c
index 15bbfef04a..072739c306 100644
--- a/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c
+++ b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_60_ansi_tsangan_split_rshift(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/ilumkb/primus75/config.h b/keyboards/ilumkb/primus75/config.h
index 4b6901d096..2751eaea6c 100644
--- a/keyboards/ilumkb/primus75/config.h
+++ b/keyboards/ilumkb/primus75/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A
-#define PRODUCT_ID 0x1014
-#define DEVICE_VER 0x0001
-#define MANUFACTURER moyi4681
-#define PRODUCT Primus75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ilumkb/primus75/info.json b/keyboards/ilumkb/primus75/info.json
index 56f2be0c81..30a970a5c9 100644
--- a/keyboards/ilumkb/primus75/info.json
+++ b/keyboards/ilumkb/primus75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Primus75",
+ "manufacturer": "moyi4681",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x1014",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":7, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10.5, "y":0}, {"label":"F10", "x":11.5, "y":0}, {"label":"F11", "x":12.5, "y":0}, {"label":"F12", "x":13.5, "y":0}, {"label":"PrtSc", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25}, {"label":"Backspace", "x":14, "y":1.25}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Page Up", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Page Down", "x":15, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Up", "x":14, "y":4.25}, {"label":"End", "x":15, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25}, {"label":"Fn", "x":11, "y":5.25}, {"label":"Ctrl", "x":12, "y":5.25}, {"label":"Left", "x":13, "y":5.25}, {"label":"Down", "x":14, "y":5.25}, {"label":"Right", "x":15, "y":5.25}]
diff --git a/keyboards/ilumkb/simpler61/config.h b/keyboards/ilumkb/simpler61/config.h
index ae737bd1b6..0b952c25e5 100644
--- a/keyboards/ilumkb/simpler61/config.h
+++ b/keyboards/ilumkb/simpler61/config.h
@@ -18,20 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC3C3
-#define PRODUCT_ID 0xC361
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Equalz
-#define PRODUCT Simpler
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ilumkb/simpler61/info.json b/keyboards/ilumkb/simpler61/info.json
index 01dc02797f..7c2e0dd3af 100644
--- a/keyboards/ilumkb/simpler61/info.json
+++ b/keyboards/ilumkb/simpler61/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Simpler61",
+ "manufacturer": "Equalz",
"url": "",
"maintainer": "Equalz",
+ "usb": {
+ "vid": "0xC3C3",
+ "pid": "0xC361",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_61_ansi": {
"layout": [
diff --git a/keyboards/ilumkb/simpler64/config.h b/keyboards/ilumkb/simpler64/config.h
index faf8fd152d..324745efa8 100644
--- a/keyboards/ilumkb/simpler64/config.h
+++ b/keyboards/ilumkb/simpler64/config.h
@@ -18,20 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC3C3
-#define PRODUCT_ID 0xC364
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Equalz
-#define PRODUCT Simpler
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ilumkb/simpler64/info.json b/keyboards/ilumkb/simpler64/info.json
index c0fd4800cc..0b99efb820 100644
--- a/keyboards/ilumkb/simpler64/info.json
+++ b/keyboards/ilumkb/simpler64/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Simpler64",
+ "manufacturer": "Equalz",
"url": "",
"maintainer": "Equalz",
+ "usb": {
+ "vid": "0xC3C3",
+ "pid": "0xC364",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/ilumkb/volcano660/config.h b/keyboards/ilumkb/volcano660/config.h
index 9fb7b03c2b..7936e968b7 100644
--- a/keyboards/ilumkb/volcano660/config.h
+++ b/keyboards/ilumkb/volcano660/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x445A // "DZ"
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT VOLCANO660
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ilumkb/volcano660/info.json b/keyboards/ilumkb/volcano660/info.json
index db26ee3859..a48cabf720 100644
--- a/keyboards/ilumkb/volcano660/info.json
+++ b/keyboards/ilumkb/volcano660/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "volcano660",
+ "keyboard_name": "Volcano660",
+ "manufacturer": "DZTech",
"url": "",
"maintainer": "dztech",
+ "usb": {
+ "vid": "0x445A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":14, "y":0}, {"x":15.5, "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}, {"x":15.5, "y":1}, {"label":"Caps Lock", "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}, {"x":0, "y":3, "w":1.25}, {"label":"Shift", "x":1.25, "y":3}, {"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.25}, {"x":14.5, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h
index f516473cfa..af9c4ecbe2 100644
--- a/keyboards/inett_studio/sqx/hotswap/config.h
+++ b/keyboards/inett_studio/sqx/hotswap/config.h
@@ -20,19 +20,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x694E //'iN'
-#define PRODUCT_ID 0x5336 //'S6'
-#define DEVICE_VER 0x0001
-#define MANUFACTURER iNETT Studio
-#define PRODUCT SQUARE.X
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F0, F1, F4, B7, D6}
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, F7, F6, F5, E6, B0, D2, D4, D5, D3 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/inett_studio/sqx/hotswap/info.json b/keyboards/inett_studio/sqx/hotswap/info.json
index f2d36a5035..6941c4c7d8 100644
--- a/keyboards/inett_studio/sqx/hotswap/info.json
+++ b/keyboards/inett_studio/sqx/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sqx",
+ "keyboard_name": "SQUARE.X",
+ "manufacturer": "iNETT Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x694E",
+ "pid": "0x5336",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h
index d1fbf8f7a1..8c2405e644 100644
--- a/keyboards/inett_studio/sqx/universal/config.h
+++ b/keyboards/inett_studio/sqx/universal/config.h
@@ -20,19 +20,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x694E //'iN'
-#define PRODUCT_ID 0x5336 //'S6'
-#define DEVICE_VER 0x0001
-#define MANUFACTURER iNETT Studio
-#define PRODUCT SQUARE.X
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F0, F1, F4, B7, D6}
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, F7, F6, F5, E6, B0, D2, D4, D5, D3 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/inett_studio/sqx/universal/info.json b/keyboards/inett_studio/sqx/universal/info.json
index 4588b27d58..8a2750f5ba 100644
--- a/keyboards/inett_studio/sqx/universal/info.json
+++ b/keyboards/inett_studio/sqx/universal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sqx",
+ "keyboard_name": "SQUARE.X",
+ "manufacturer": "iNETT Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x694E",
+ "pid": "0x5336",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan_split_rshift": {
"layout": [{"label":"~", "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":"Caps Lock", "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":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/ingrained/config.h b/keyboards/ingrained/config.h
new file mode 100644
index 0000000000..7741dde0f7
--- /dev/null
+++ b/keyboards/ingrained/config.h
@@ -0,0 +1,51 @@
+// Copyright 2021 s8erdude (@jpuerto96)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 12
+
+#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)
+#define MATRIX_COLS_PER_SIDE (MATRIX_COLS / 2)
+
+#define UNUSED_MCU 13
+#define UNUSED_MCP 6
+
+
+// wiring
+#define MATRIX_ROW_PINS_MCU \
+ { B0, B1, B2, B3 }
+#define MATRIX_COL_PINS_MCU \
+ { F7, F6, F5, F4, F1, F0 }
+#define UNUSED_PINS_MCU \
+ { B4, B5, B6, B7, C6, C7, D2, D3, D4, D5, D6, D7, E6}
+#define MATRIX_ROW_PINS_MCP \
+ { B0, B1, B2, B3 }
+#define MATRIX_COL_PINS_MCP \
+ { A0, A1, A2, A3, A4, A5 }
+#define UNUSED_PINS_MCP \
+ { B4, B5, B6, B7, A6, A7 }
+
+/*
+ * 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)
+ *
+ */
+
+/* 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
diff --git a/keyboards/ingrained/info.json b/keyboards/ingrained/info.json
new file mode 100644
index 0000000000..1db1c930f6
--- /dev/null
+++ b/keyboards/ingrained/info.json
@@ -0,0 +1,276 @@
+{
+ "keyboard_name": "ingrained",
+ "manufacturer": "s8erdude"
+ "url": "https://github.com/jpuerto96",
+ "maintainer": "jpuerto96 (s8erdude)",
+ "usb": {
+ "vid": "0xB33F",
+ "pid": "0x58E4",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_split_3x6_3": {
+ "layout": [
+ {
+ "label": "Esc",
+ "x": 0,
+ "y": 0.3
+ },
+ {
+ "label": "Q",
+ "x": 1,
+ "y": 0.3
+ },
+ {
+ "label": "W",
+ "x": 2,
+ "y": 0.1
+ },
+ {
+ "label": "E",
+ "x": 3,
+ "y": 0
+ },
+ {
+ "label": "R",
+ "x": 4,
+ "y": 0.1
+ },
+ {
+ "label": "T",
+ "x": 5,
+ "y": 0.2
+ },
+ {
+ "label": "Y",
+ "x": 9,
+ "y": 0.2
+ },
+ {
+ "label": "U",
+ "x": 10,
+ "y": 0.1
+ },
+ {
+ "label": "I",
+ "x": 11,
+ "y": 0
+ },
+ {
+ "label": "O",
+ "x": 12,
+ "y": 0.1
+ },
+ {
+ "label": "P",
+ "x": 13,
+ "y": 0.3
+ },
+ {
+ "label": "Back Space",
+ "x": 14,
+ "y": 0.3
+ },
+ {
+ "label": "Tab",
+ "x": 0,
+ "y": 1.3
+ },
+ {
+ "label": "A",
+ "x": 1,
+ "y": 1.3
+ },
+ {
+ "label": "S",
+ "x": 2,
+ "y": 1.1
+ },
+ {
+ "label": "D",
+ "x": 3,
+ "y": 1
+ },
+ {
+ "label": "F",
+ "x": 4,
+ "y": 1.1
+ },
+ {
+ "label": "G",
+ "x": 5,
+ "y": 1.2
+ },
+ {
+ "label": "H",
+ "x": 9,
+ "y": 1.2
+ },
+ {
+ "label": "J",
+ "x": 10,
+ "y": 1.1
+ },
+ {
+ "label": "K",
+ "x": 11,
+ "y": 1
+ },
+ {
+ "label": "L",
+ "x": 12,
+ "y": 1.1
+ },
+ {
+ "label": ";",
+ "x": 13,
+ "y": 1.3
+ },
+ {
+ "label": "'",
+ "x": 14,
+ "y": 1.3
+ },
+ {
+ "label": "Shift",
+ "x": 0,
+ "y": 2.3
+ },
+ {
+ "label": "Z",
+ "x": 1,
+ "y": 2.3
+ },
+ {
+ "label": "X",
+ "x": 2,
+ "y": 2.1
+ },
+ {
+ "label": "C",
+ "x": 3,
+ "y": 2
+ },
+ {
+ "label": "V",
+ "x": 4,
+ "y": 2.1
+ },
+ {
+ "label": "B",
+ "x": 5,
+ "y": 2.2
+ },
+ {
+ "label": "N",
+ "x": 9,
+ "y": 2.2
+ },
+ {
+ "label": "M",
+ "x": 10,
+ "y": 2.1
+ },
+ {
+ "label": ",",
+ "x": 11,
+ "y": 2
+ },
+ {
+ "label": ".",
+ "x": 12,
+ "y": 2.1
+ },
+ {
+ "label": "/",
+ "x": 13,
+ "y": 2.3
+ },
+ {
+ "label": "Shift",
+ "x": 14,
+ "y": 2.3
+ },
+ {
+ "label": "GUI",
+ "x": 4,
+ "y": 3.7
+ },
+ {
+ "label": "Lower",
+ "x": 5,
+ "y": 3.7
+ },
+ {
+ "label": "Space",
+ "x": 6,
+ "y": 3.2,
+ "h": 1.5
+ },
+ {
+ "label": "Enter",
+ "x": 8,
+ "y": 3.2,
+ "h": 1.5
+ },
+ {
+ "label": "Raise",
+ "x": 9,
+ "y": 3.7
+ },
+ {
+ "label": "Alt",
+ "x": 10,
+ "y": 3.7
+ }
+ ]
+ },
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"label":"Q", "x":0, "y":0.3},
+ {"label":"W", "x":1, "y":0.1},
+ {"label":"E", "x":2, "y":0},
+ {"label":"R", "x":3, "y":0.1},
+ {"label":"T", "x":4, "y":0.2},
+
+ {"label":"Y", "x":8, "y":0.2},
+ {"label":"U", "x":9, "y":0.1},
+ {"label":"I", "x":10, "y":0},
+ {"label":"O", "x":11, "y":0.1},
+ {"label":"P", "x":12, "y":0.3},
+
+ {"label":"A", "x":0, "y":1.3},
+ {"label":"S", "x":1, "y":1.1},
+ {"label":"D", "x":2, "y":1},
+ {"label":"F", "x":3, "y":1.1},
+ {"label":"G", "x":4, "y":1.2},
+
+ {"label":"H", "x":8, "y":1.2},
+ {"label":"J", "x":9, "y":1.1},
+ {"label":"K", "x":10, "y":1},
+ {"label":"L", "x":11, "y":1.1},
+ {"label":";", "x":12, "y":1.3},
+
+ {"label":"Z", "x":0, "y":2.3},
+ {"label":"X", "x":1, "y":2.1},
+ {"label":"C", "x":2, "y":2},
+ {"label":"V", "x":3, "y":2.1},
+ {"label":"B", "x":4, "y":2.2},
+
+ {"label":"N", "x":8, "y":2.2},
+ {"label":"M", "x":9, "y":2.1},
+ {"label":",", "x":10, "y":2},
+ {"label":".", "x":11, "y":2.1},
+ {"label":"/", "x":12, "y":2.3},
+
+ {"label":"GUI", "x":3, "y":3.7},
+ {"label":"Lower", "x":4, "y":3.7},
+ {"label":"Space", "x":5, "y":3.2, "h":1.5},
+
+ {"label":"Enter", "x":7, "y":3.2, "h":1.5},
+ {"label":"Raise", "x":8, "y":3.7},
+ {"label":"Alt", "x":9, "y":3.7}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ingrained/ingrained.c b/keyboards/ingrained/ingrained.c
new file mode 100644
index 0000000000..80aa82f840
--- /dev/null
+++ b/keyboards/ingrained/ingrained.c
@@ -0,0 +1,4 @@
+// Copyright 2021 s8erdude (@jpuerto96)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "ingrained.h"
diff --git a/keyboards/ingrained/ingrained.h b/keyboards/ingrained/ingrained.h
new file mode 100644
index 0000000000..d2e3055951
--- /dev/null
+++ b/keyboards/ingrained/ingrained.h
@@ -0,0 +1,47 @@
+// Copyright 2021 s8erdude (@jpuerto96)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define XXX KC_NO
+
+#define LAYOUT_split_3x6_3( \
+ k00, k01, k02, k03, k04, k05, k011, k010, k09, k08, k07, k06,\
+ k10, k11, k12, k13, k14, k15, k111, k110, k19, k18, k17, k16,\
+ k20, k21, k22, k23, k24, k25, k211, k210, k29, k28, k27, k26,\
+ k33, k34, k35, k311, k310, k39\
+) { \
+ { k00, k01, k02, k03, k04, k05 },\
+ { k10, k11, k12, k13, k14, k15 },\
+ { k20, k21, k22, k23, k24, k25 },\
+ { XXX, XXX, XXX, k33, k34, k35 },\
+ { k06, k07, k08, k09, k010, k011 },\
+ { k16, k17, k18, k19, k110, k111 },\
+ { k26, k27, k28, k29, k210, k211 },\
+ { XXX, XXX, XXX, k39, k310, k311 }\
+}
+#define LAYOUT_split_3x5_3( \
+ k01, k02, k03, k04, k05, k011, k010, k09, k08, k07,\
+ k11, k12, k13, k14, k15, k111, k110, k19, k18, k17,\
+ k21, k22, k23, k24, k25, k211, k210, k29, k28, k27,\
+ k33, k34, k35, k311, k310, k39\
+) { \
+ { XXX, k01, k02, k03, k04, k05 },\
+ { XXX, k11, k12, k13, k14, k15 },\
+ { XXX, k21, k22, k23, k24, k25 },\
+ { XXX, XXX, XXX, k33, k34, k35 },\
+ { XXX, k07, k08, k09, k010, k011 },\
+ { XXX, k17, k18, k19, k110, k111 },\
+ { XXX, k27, k28, k29, k210, k211 },\
+ { XXX, XXX, XXX, k39, k310, k311 }\
+}
diff --git a/keyboards/ingrained/keymaps/3x5/keymap.c b/keyboards/ingrained/keymaps/3x5/keymap.c
new file mode 100644
index 0000000000..ed34809b42
--- /dev/null
+++ b/keyboards/ingrained/keymaps/3x5/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2021 s8erdude (@jpuerto96)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_split_3x5_3(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LGUI, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_RALT
+ )
+};
diff --git a/keyboards/ingrained/keymaps/3x5/readme.md b/keyboards/ingrained/keymaps/3x5/readme.md
new file mode 100644
index 0000000000..c2a997fcbf
--- /dev/null
+++ b/keyboards/ingrained/keymaps/3x5/readme.md
@@ -0,0 +1 @@
+# The 3x5 keymap for ingrained
diff --git a/keyboards/ingrained/keymaps/default/keymap.c b/keyboards/ingrained/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b09702e9ee
--- /dev/null
+++ b/keyboards/ingrained/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2021 s8erdude (@jpuerto96)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _BASE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_split_3x6_3(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_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_RSFT,
+ KC_LGUI, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_RALT
+ ),
+};
diff --git a/keyboards/ingrained/keymaps/default/readme.md b/keyboards/ingrained/keymaps/default/readme.md
new file mode 100644
index 0000000000..804feead66
--- /dev/null
+++ b/keyboards/ingrained/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for ingrained
diff --git a/keyboards/ingrained/matrix.c b/keyboards/ingrained/matrix.c
new file mode 100644
index 0000000000..0dfb150b6c
--- /dev/null
+++ b/keyboards/ingrained/matrix.c
@@ -0,0 +1,253 @@
+/*
+Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+ 2020 Pierre Chevalier <pierrechevalier83@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/>.
+*/
+
+/*
+ * This code was heavily inspired by the ergodox_ez keymap, and modernized
+ * to take advantage of the quantum.h microcontroller agnostics gpio control
+ * abstractions and use the macros defined in config.h for the wiring as opposed
+ * to repeating that information all over the place.
+ */
+
+#include QMK_KEYBOARD_H
+#include "i2c_master.h"
+
+extern i2c_status_t mcp23017_status;
+#define I2C_TIMEOUT 1000
+
+// For a better understanding of the i2c protocol, this is a good read:
+// https://www.robot-electronics.co.uk/i2c-tutorial
+
+// I2C address:
+// See the datasheet, section 3.3.1 on addressing I2C devices and figure 3-6 for an
+// illustration
+// http://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf
+// All address pins of the mcp23017 are connected to the ground on the ferris
+// | 0 | 1 | 0 | 0 | A2 | A1 | A0 |
+// | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
+#define I2C_ADDR 0b0100000
+#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE)
+#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ)
+
+// Register addresses
+// See https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/Adafruit_MCP23017.h
+#define IODIRA 0x00 // i/o direction register
+#define IODIRB 0x01
+#define GPPUA 0x0C // GPIO pull-up resistor register
+#define GPPUB 0x0D
+#define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
+#define GPIOB 0x13
+#define OLATA 0x14 // output latch register
+#define OLATB 0x15
+
+bool i2c_initialized = 0;
+i2c_status_t mcp23017_status = I2C_ADDR;
+
+uint8_t init_mcp23017(void) {
+ print("starting init");
+ mcp23017_status = I2C_ADDR;
+
+ // I2C subsystem
+ if (i2c_initialized == 0) {
+ i2c_init(); // on pins D(1,0)
+ i2c_initialized = true;
+ wait_ms(I2C_TIMEOUT);
+ }
+
+ // set pin direction
+ // - unused : input : 1
+ // - input : input : 1
+ // - driving : output : 0
+ // This means: we will read all the bits on GPIOA
+ // This means: we will write to the pins 0-4 on GPIOB (in select_rows)
+ uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000};
+ mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ if (!mcp23017_status) {
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ // This means: we will read all the bits on GPIOA
+ // This means: we will write to the pins 0-4 on GPIOB (in select_rows)
+ uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000};
+ mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), I2C_TIMEOUT);
+ }
+ return mcp23017_status;
+}
+
+/* matrix state(1:on, 0:off) */
+static matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+
+static matrix_row_t read_cols(uint8_t row);
+static void init_cols(void);
+static void unselect_rows(void);
+static void select_row(uint8_t row);
+
+static uint8_t mcp23017_reset_loop;
+
+void matrix_init_custom(void) {
+ // initialize row and col
+
+ mcp23017_status = init_mcp23017();
+
+ unselect_rows();
+ init_cols();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+}
+
+void matrix_power_up(void) {
+ mcp23017_status = init_mcp23017();
+
+ unselect_rows();
+ init_cols();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+}
+
+// Reads and stores a row, returning
+// whether a change occurred.
+static inline bool store_matrix_row(matrix_row_t current_matrix[], uint8_t index) {
+ matrix_row_t temp = read_cols(index);
+ if (current_matrix[index] != temp) {
+ current_matrix[index] = temp;
+ return true;
+ }
+ return false;
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ if (mcp23017_status) { // if there was an error
+ if (++mcp23017_reset_loop == 0) {
+ // if (++mcp23017_reset_loop >= 1300) {
+ // since mcp23017_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
+ // this will be approx bit more frequent than once per second
+ dprint("trying to reset mcp23017\n");
+ mcp23017_status = init_mcp23017();
+ if (mcp23017_status) {
+ dprint("right side not responding\n");
+ } else {
+ dprint("right side attached\n");
+ }
+ }
+ }
+
+ bool changed = false;
+ for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) {
+ // select rows from left and right hands
+ uint8_t left_index = i;
+ uint8_t right_index = i + MATRIX_ROWS_PER_SIDE;
+ select_row(left_index);
+ select_row(right_index);
+
+ // we don't need a 30us delay anymore, because selecting a
+ // left-hand row requires more than 30us for i2c.
+
+ changed |= store_matrix_row(current_matrix, left_index);
+ changed |= store_matrix_row(current_matrix, right_index);
+
+ unselect_rows();
+ }
+
+ return changed;
+}
+
+static void init_cols(void) {
+ // init on mcp23017
+ // not needed, already done as part of init_mcp23017()
+
+ // init on mcu
+ pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_MCU;
+ for (int pin_index = 0; pin_index < MATRIX_COLS_PER_SIDE; pin_index++) {
+ pin_t pin = matrix_col_pins_mcu[pin_index];
+ setPinInput(pin);
+ writePinHigh(pin);
+ }
+}
+
+static matrix_row_t read_cols(uint8_t row) {
+ if (row < MATRIX_ROWS_PER_SIDE) {
+ pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_MCU;
+ matrix_row_t current_row_value = 0;
+ // For each col...
+ for (uint8_t col_index = 0; col_index < MATRIX_COLS_PER_SIDE; col_index++) {
+ // Select the col pin to read (active low)
+ uint8_t pin_state = readPin(matrix_col_pins_mcu[col_index]);
+
+ // Populate the matrix row with the state of the col pin
+ current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index);
+ }
+ return current_row_value;
+ } else {
+ if (mcp23017_status) { // if there was an error
+ return 0;
+ } else {
+ uint8_t buf[] = {GPIOA};
+ mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ // We read all the pins on GPIOA.
+ // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero.
+ // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys.
+ // Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones.
+ uint8_t data[] = {0};
+ if (!mcp23017_status) {
+ mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), I2C_TIMEOUT);
+ data[0] = ~(data[0]);
+ }
+ return data[0];
+ }
+ }
+}
+
+static void unselect_rows(void) {
+ // no need to unselect on mcp23017, because the select step sets all
+ // the other row bits high, and it's not changing to a different
+ // direction
+
+ // unselect rows on microcontroller
+ pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU;
+ for (int pin_index = 0; pin_index < MATRIX_ROWS_PER_SIDE; pin_index++) {
+ pin_t pin = matrix_row_pins_mcu[pin_index];
+ setPinInput(pin);
+ writePinLow(pin);
+ }
+}
+
+static void select_row(uint8_t row) {
+ if (row < MATRIX_ROWS_PER_SIDE) {
+ // select on atmega32u4
+ pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU;
+ pin_t pin = matrix_row_pins_mcu[row];
+ setPinOutput(pin);
+ writePinLow(pin);
+ } else {
+ // select on mcp23017
+ if (mcp23017_status) { // if there was an error
+ // do nothing
+ } else {
+ // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one.
+ // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus.
+ uint8_t buf[] = {GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))};
+ mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT);
+ }
+ }
+}
diff --git a/keyboards/ingrained/readme.md b/keyboards/ingrained/readme.md
new file mode 100644
index 0000000000..3e616e52bb
--- /dev/null
+++ b/keyboards/ingrained/readme.md
@@ -0,0 +1,19 @@
+# ingrained
+
+This PCB is an integrated, USB-C to USB-C, Corne replacement.
+
+* Keyboard Maintainer: [s8erdude](https://github.com/jpuerto96)
+* Hardware Supported: Ingrained PCB
+* Hardware Availability: [Open Source PCB](https://github.com/jpuerto96/crkbd)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make ingrained:default
+
+Flashing example for this keyboard:
+
+ make ingrained:default:flash
+
+To reset the board, you will want to short the pad labeled RESET on the main half (near the USB-C interconnect).
+
+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/ingrained/rules.mk b/keyboards/ingrained/rules.mk
new file mode 100644
index 0000000000..03e074deda
--- /dev/null
+++ b/keyboards/ingrained/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+UNICODE_ENABLE = yes
+CUSTOM_MATRIX = lite
+NO_USB_STARTUP_CHECK = yes
+LTO_ENABLE = yes
+
+SRC += matrix.c
+QUANTUM_LIB_SRC += i2c_master.c
+
+LAYOUTS = split_3x5_3 split_3x6_3
diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h
index debf9a62b9..00dd0bd1f3 100644
--- a/keyboards/input_club/ergodox_infinity/config.h
+++ b/keyboards/input_club/ergodox_infinity/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1c11
-#define PRODUCT_ID 0xb04d
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Input Club
-#define PRODUCT Infinity_Ergodox/QMK
-
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
@@ -56,7 +49,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 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
diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json
index 22b20eec39..dd6b3ac9aa 100644
--- a/keyboards/input_club/ergodox_infinity/info.json
+++ b/keyboards/input_club/ergodox_infinity/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "Infinity Ergodox",
+ "keyboard_name": "Infinity Ergodox (QMK)",
+ "manufacturer": "Input:Club",
+ "usb": {
+ "vid": "0x1C11",
+ "pid": "0xB04D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ergodox": {
"layout": [
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
index cd65001803..6f9967b46e 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
@@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c
index 675b56edec..266194de35 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c
@@ -311,7 +311,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ergodox(
// left hand
VRSN, _______, _______, _______, _______, _______, _______,
- _______, RESET, DEBUG, BL_TOGG, BL_STEP, _______, _______,
+ _______, QK_BOOT, DEBUG, BL_TOGG, BL_STEP, _______, _______,
KC_CAPS, _______, _______, _______, _______, AG_NORM,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
index c321d546fb..a95302b3f6 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//**************************MOUSE MOVEMENT LAYER**************************
[_MOUSE] = LAYOUT_ergodox(UP_ENTER_RESET,________,________,________,________,________,MODRESET,
- RESET,KC_SECRET_5,________,KC_MS_UP,KC_SECRET_4,KC_MS_WH_UP,________,
+ QK_BOOT,KC_SECRET_5,________,KC_MS_UP,KC_SECRET_4,KC_MS_WH_UP,________,
________,________,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_MS_WH_DOWN,
KC_SECRET_5,KC_SECRET_4,KC_SECRET_3,_XXXXXX_,KC_SECRET_2,KC_SECRET_1,_XXXXXX_,
________,________,HYPR(KC_F15),KC_MS_WH_LEFT,KC_MS_WH_RIGHT,
@@ -335,7 +335,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_on();
ergodox_led_all_on();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
index 3870dd8ffd..0498cb48bb 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c
@@ -354,7 +354,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, LCTL(KC_Q), LCTL(KC_W),LCTL(KC_E),LCTL(KC_R),LCTL(KC_T), KC_NO,
KC_BSPC, LCTL(KC_A), LCTL(KC_S),LCTL(KC_D),LCTL(KC_F),LCTL(KC_G),
KC_LSFT, LCTL(KC_Z), LCTL(KC_X),LCTL(KC_C),LCTL(KC_V),LCTL(KC_B), KC_MINUS,
- RESET, KC_LALT, LCTL(LSFT(KC_TAB)),LCTL(KC_TAB), KC_TRANSPARENT,
+ QK_BOOT, KC_LALT, LCTL(LSFT(KC_TAB)),LCTL(KC_TAB), KC_TRANSPARENT,
TG(SYMB), TG(DVORAK),
TG(FUNCTION),
@@ -364,7 +364,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TG(SYMB),LCTL(KC_Y),LCTL(KC_U),LCTL(KC_I),LCTL(KC_O),LCTL(KC_P),KC_BSLS,
LCTL(KC_H),LCTL(KC_J),LCTL(KC_K),LCTL(KC_L),LCTL(KC_SCLN),KC_ENT,
KC_EQL,LCTL(KC_N),LCTL(KC_M),LCTL(KC_COMM),LCTL(KC_DOT),LCTL(KC_SLASH),KC_RSFT,
- KC_TRNS, KC_UP,KC_DOWN,KC_RALT, RESET,
+ KC_TRNS, KC_UP,KC_DOWN,KC_RALT, QK_BOOT,
TG(PROPERSTENO),TG(PLVR),
KC_NO,
KC_NO,KC_NO, KC_NO
@@ -492,7 +492,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
index 545429fca0..13cf68e758 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | |
* +-----+-----+-----+
*/
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -223,7 +223,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
index dd721e9a78..4869cfae20 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c
@@ -427,7 +427,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ergodox(
// left hand
_______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, AG_NORM,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
@@ -659,7 +659,7 @@ void matrix_setup(void) {
}
void matrix_scan_user(void) {
- // uint8_t layer = biton32(layer_state);
+ // uint8_t layer = get_highest_layer(layer_state);
// ergodox_board_led_off();
// ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
index d08b96cc6e..a122b83af8 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c
@@ -153,7 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 3: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | RESET | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * | QK_BOOT | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | Lclk | MsUp | Rclk | | | | | |VolDwn| Mute |VolUp | | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ergodox(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
_______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______,
_______, KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5,
_______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, _______,
@@ -221,7 +221,7 @@ void matrix_init_user(void){
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
index 8cf51842a2..ad512082fb 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c
@@ -215,7 +215,7 @@ L06 -> <TBD>: UNSPECIFIED
/* LFN -> MO(FN): FUNCTION
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | RESET | | | | | | | | | | | | | | RESET |
+ * | QK_BOOT | | | | | | | | | | | | | | QK_BOOT |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | BACKSPC|
* |--------+ | | | | +--------|
@@ -234,7 +234,7 @@ L06 -> <TBD>: UNSPECIFIED
* `--------------------' `--------------------'
*/
[LFN] = LAYOUT_ergodox_wrapper(
- RESET, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______,
_______, L06_LEFT_01, _______,
_______, L06_LEFT_02,
_______, L06_LEFT_03, _______,
@@ -243,7 +243,7 @@ L06 -> <TBD>: UNSPECIFIED
_______,
_______, _______, _______,
//--
- _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, L06_RIGHT_01, KC_BSPACE,
L06_RIGHT_02, KC_INSERT,
_______, L06_RIGHT_03, KC_DELETE,
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
index e31c1c5d6b..e8df522bee 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c
@@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS,
+ QK_BOOT, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
@@ -179,7 +179,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
index 31d218ebfb..c322222baf 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c
@@ -309,7 +309,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
index 02f409ad9e..bbc24ea27f 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c
@@ -137,7 +137,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/input_club/infinity60/config.h b/keyboards/input_club/infinity60/config.h
index 18fedcb219..a9901ce1e8 100644
--- a/keyboards/input_club/infinity60/config.h
+++ b/keyboards/input_club/infinity60/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1C11
-#define PRODUCT_ID 0xB04D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Input Club
-#define PRODUCT Infinity 60% (QMK)
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 9
diff --git a/keyboards/input_club/infinity60/info.json b/keyboards/input_club/infinity60/info.json
index 3fbd8b1b25..8ec3f7dc68 100644
--- a/keyboards/input_club/infinity60/info.json
+++ b/keyboards/input_club/infinity60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Infinity 60%",
+ "keyboard_name": "Infinity 60% (QMK)",
+ "manufacturer": "Input:Club",
"url": "https://input.club/devices/infinity-keyboard/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1C11",
+ "pid": "0xB04D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
index 3c2e0d4da8..a19be6664c 100644
--- a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
+++ b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c
@@ -239,7 +239,7 @@ void matrix_scan_user(void) {
//Turn on layer indicator or page depending on mode
switch(led_mode_global) {
case MODE_FLASH: //flash preset page leds then single indicator
- page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
+ page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
msg=(page << 8) | DISPLAY_PAGE;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
chThdSleepMilliseconds(500);
@@ -254,7 +254,7 @@ void matrix_scan_user(void) {
break;
case MODE_PAGE: //display pre-defined led page
- page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
+ page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
msg=(page << 8) | DISPLAY_PAGE;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
break;
diff --git a/keyboards/input_club/infinity60/led/config.h b/keyboards/input_club/infinity60/led/config.h
index 5bd3b590b9..301003e8b9 100644
--- a/keyboards/input_club/infinity60/led/config.h
+++ b/keyboards/input_club/infinity60/led/config.h
@@ -20,4 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { D1, D2, D3, D4, D5, D6, D7 }
#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5, C6, C7, D0 }
-#define UNUSED_PINS
diff --git a/keyboards/input_club/infinity60/rev1/config.h b/keyboards/input_club/infinity60/rev1/config.h
index d4ab34bccc..1207dffc78 100644
--- a/keyboards/input_club/infinity60/rev1/config.h
+++ b/keyboards/input_club/infinity60/rev1/config.h
@@ -20,6 +20,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Keyboard Matrix Assignments
#define MATRIX_ROW_PINS { D1, D2, D3, D4, D5, D6, D7 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B16, B17, C4, C5, D0 }
-#define UNUSED_PINS
diff --git a/keyboards/input_club/k_type/config.h b/keyboards/input_club/k_type/config.h
index 8502ba7046..12cda14a3a 100644
--- a/keyboards/input_club/k_type/config.h
+++ b/keyboards/input_club/k_type/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1C11
-#define PRODUCT_ID 0xB04D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Input:Club
-#define PRODUCT K-Type (QMK)
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D6, D7, C1, C2, C3, C4, C5, C6, C7 }
#define MATRIX_COL_PINS { B2, B3, B18, B19, C0, C8, C9, D0, D1, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/input_club/k_type/info.json b/keyboards/input_club/k_type/info.json
index cf0c9253bd..6c9e1ebc16 100644
--- a/keyboards/input_club/k_type/info.json
+++ b/keyboards/input_club/k_type/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "K-Type",
+ "keyboard_name": "K-Type (QMK)",
+ "manufacturer": "Input:Club",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1C11",
+ "pid": "0xB04D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c b/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c
index 1611c25e41..96325514c9 100644
--- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c
+++ b/keyboards/input_club/k_type/keymaps/andrew-fahmy/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, _______, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_L1] = LAYOUT_tkl_ansi(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_HUI, RGB_SAI, RGB_VAI,
_______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
diff --git a/keyboards/input_club/whitefox/config.h b/keyboards/input_club/whitefox/config.h
index 4ea7e7806f..2c2e8c6324 100644
--- a/keyboards/input_club/whitefox/config.h
+++ b/keyboards/input_club/whitefox/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1C11
-#define PRODUCT_ID 0xB04D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Input:Club
-#define PRODUCT WhiteFox (QMK)
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 9
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D4, D5, D6, D7, C1, C2 }
#define MATRIX_COL_PINS { B2, B3, B18, B19, C0, C8, C9, C10, C11 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/input_club/whitefox/info.json b/keyboards/input_club/whitefox/info.json
index a920d7c129..ed46ce1702 100644
--- a/keyboards/input_club/whitefox/info.json
+++ b/keyboards/input_club/whitefox/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Whitefox",
+ "keyboard_name": "Whitefox (QMK)",
+ "manufacturer": "Input:Club",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1C11",
+ "pid": "0xB04D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c b/keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c
index 2388201b7e..5c63d2e5e7 100644
--- a/keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c
+++ b/keyboards/input_club/whitefox/keymaps/dudeofawesome/keymap.c
@@ -111,7 +111,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------------------------------------------'
*/
[_FUNC] = LAYOUT( \
- 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, _______,_______,_______,\
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,_______,\
_______,KC_WH_D,KC_BTN2,KC_MS_U,KC_BTN1,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,\
_______,KC_WH_U,KC_MS_L,KC_MS_D,KC_MS_R,AG_NORM,AG_SWAP,QWERTY, WORKMAN,DVORAK, COLEMAK,_______,_______,_______, _______,\
_______,_______,KC_WH_L,KC_BTN3,KC_WH_R,_______,_______,_______,_______,_______,_______,_______,_______, KC_VOLU,_______,\
diff --git a/keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c b/keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c
index baaa136873..eab5ad85d7 100644
--- a/keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c
+++ b/keyboards/input_club/whitefox/keymaps/kim-kim/keymap.c
@@ -46,7 +46,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT( \
_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,_______,\
_______,KC_MPRV,KC_MNXT,KC_VOLU,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ , BL_TOGG ,\
- _______,KC_MPLY,KC_MSTP,KC_VOLD,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET, BL_INC,\
+ _______,KC_MPLY,KC_MSTP,KC_VOLD,_______,_______,_______,_______,_______,_______,_______,_______,_______,QK_BOOT, BL_INC,\
_______,_______,_______,KC_MUTE,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,BL_DEC,\
_______,_______,_______, _______, _______,_______,_______, KC_HOME,_______,KC_END \
),
diff --git a/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c b/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c
index 67aed537dd..584719ed25 100644
--- a/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c
+++ b/keyboards/input_club/whitefox/keymaps/mattrighetti/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_truefox(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, MO(2), KC_TRNS, _______, _______, _______
diff --git a/keyboards/io_mini1800/config.h b/keyboards/io_mini1800/config.h
index ea7efd8ff4..3190c1bb45 100644
--- a/keyboards/io_mini1800/config.h
+++ b/keyboards/io_mini1800/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jpuerto96
-#define PRODUCT io_mini1800
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { D6, D7, B4, B5, D4, E6, B3, D2, D5, D3 }
#define MATRIX_COL_PINS { D1, D0, B7, B2, F0, F1, F7, F6, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/io_mini1800/info.json b/keyboards/io_mini1800/info.json
index 13a5fb3262..0db951f44a 100644
--- a/keyboards/io_mini1800/info.json
+++ b/keyboards/io_mini1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "io_mini1800",
+ "manufacturer": "jpuerto96",
"url": "https://github.com/jpuerto96",
"maintainer": "jpuerto96 (s8erdude)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_625u": {
"layout": [
diff --git a/keyboards/irene/config.h b/keyboards/irene/config.h
index 34093e33a1..9eb72dcc11 100644
--- a/keyboards/irene/config.h
+++ b/keyboards/irene/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1434
-#define PRODUCT_ID 0x3000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Andrei Collado
-#define PRODUCT Irene
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, F0, C7, B4, B7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C6, B6, B5, D7, D6, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/irene/info.json b/keyboards/irene/info.json
index 1219010915..1500f81ca2 100644
--- a/keyboards/irene/info.json
+++ b/keyboards/irene/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Irene",
+ "manufacturer": "Andrei Collado",
"url": "",
"maintainer": "Andrei Collado",
+ "usb": {
+ "vid": "0x1434",
+ "pid": "0x3000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/iriskeyboards/config.h b/keyboards/iriskeyboards/config.h
index 8757c407b2..e761d76895 100644
--- a/keyboards/iriskeyboards/config.h
+++ b/keyboards/iriskeyboards/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x494B // IK (IrisKeyboards)
-#define PRODUCT_ID 0x3031 // 01 (PCB no.01)
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SonOfAres
-#define PRODUCT IrisRev0
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/iriskeyboards/info.json b/keyboards/iriskeyboards/info.json
index 480fb0428e..9091531538 100644
--- a/keyboards/iriskeyboards/info.json
+++ b/keyboards/iriskeyboards/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "iriskeyboards",
+ "keyboard_name": "Iris Rev0",
+ "manufacturer": "SonOfAres",
"url": "",
"maintainer": "SonOfAres",
+ "usb": {
+ "vid": "0x494B",
+ "pid": "0x3031",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/iron180/config.h b/keyboards/iron180/config.h
index cc5c81a50c..2f69d00937 100644
--- a/keyboards/iron180/config.h
+++ b/keyboards/iron180/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8384 //SR for Smith and Rune
-#define PRODUCT_ID 0x1180
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SmithRune
-#define PRODUCT IRON180
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/iron180/info.json b/keyboards/iron180/info.json
index 64ee4b4ee3..cd68970641 100644
--- a/keyboards/iron180/info.json
+++ b/keyboards/iron180/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Iron180",
+ "manufacturer": "SmithRune",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1180",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/iron180/readme.md b/keyboards/iron180/readme.md
index d89ca912ef..bfcce13f09 100644
--- a/keyboards/iron180/readme.md
+++ b/keyboards/iron180/readme.md
@@ -18,7 +18,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard with the key pressed;
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds;
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (ESCAPE key in layer 1 of the default layout);
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (ESCAPE key in layer 1 of the default layout);
## Compile firmware and flash
diff --git a/keyboards/j80/config.h b/keyboards/j80/config.h
index 3aaeb26dad..dbf277bc4e 100644
--- a/keyboards/j80/config.h
+++ b/keyboards/j80/config.h
@@ -19,18 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JER
-#define PRODUCT J80
-
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B2, B3, B5, B6, B7, B0 }
#define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, A0 }
-#define UNUSED_PINS { B4, C1, C0, D0, D1, D2, D3, D4, D5, D6, D7 }
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/j80/info.json b/keyboards/j80/info.json
index 6c14139bd7..bbb86f66f7 100644
--- a/keyboards/j80/info.json
+++ b/keyboards/j80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "J80",
+ "manufacturer": "JER",
"url": "",
"maintainer": "oeywil",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h
index e68ed4a928..92a6a5b60a 100644
--- a/keyboards/jacky_studio/bear_65/config.h
+++ b/keyboards/jacky_studio/bear_65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA13B // Jacky's vendor ID, arbitrarily selected by MudkipMao
-#define PRODUCT_ID 0x000A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jacky
-#define PRODUCT Jacky Bear 65 Ergo
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/jacky_studio/bear_65/info.json b/keyboards/jacky_studio/bear_65/info.json
index 5f7f059696..151fd6fa5f 100644
--- a/keyboards/jacky_studio/bear_65/info.json
+++ b/keyboards/jacky_studio/bear_65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bear 65",
+ "manufacturer": "Jacky",
"url": "https://qmk.fm/keyboards",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xA13B",
+ "pid": "0x000A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0.5, "y":0}, {"label":"~", "x":1.75, "y":0}, {"label":"!", "x":2.75, "y":0}, {"label":"@", "x":3.75, "y":0}, {"label":"#", "x":4.75, "y":0}, {"label":"$", "x":5.75, "y":0}, {"label":"%", "x":6.75, "y":0}, {"label":"^", "x":7.75, "y":0}, {"label":"&", "x":11.25, "y":0}, {"label":"*", "x":12.25, "y":0}, {"label":"(", "x":13.25, "y":0}, {"label":")", "x":14.25, "y":0}, {"label":"_", "x":15.25, "y":0}, {"label":"+", "x":16.25, "y":0}, {"label":"|", "x":17.25, "y":0}, {"label":"~", "x":18.25, "y":0}, {"label":"Del", "x":19.75, "y":0}, {"label":"PgUp", "x":0.25, "y":1}, {"label":"Tab", "x":1.75, "y":1, "w":1.5}, {"label":"Q", "x":3.25, "y":1}, {"label":"W", "x":4.25, "y":1}, {"label":"E", "x":5.25, "y":1}, {"label":"R", "x":6.25, "y":1}, {"label":"T", "x":7.25, "y":1}, {"label":"Y", "x":10.75, "y":1}, {"label":"U", "x":11.75, "y":1}, {"label":"I", "x":12.75, "y":1}, {"label":"O", "x":13.75, "y":1}, {"label":"P", "x":14.75, "y":1}, {"label":"{", "x":15.75, "y":1}, {"label":"}", "x":16.75, "y":1}, {"label":"Backspace", "x":17.75, "y":1, "w":1.5}, {"label":"PgDn", "x":0, "y":2}, {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75}, {"label":"A", "x":3.5, "y":2}, {"label":"S", "x":4.5, "y":2}, {"label":"D", "x":5.5, "y":2}, {"label":"F", "x":6.5, "y":2}, {"label":"G", "x":7.5, "y":2}, {"label":"H", "x":11, "y":2}, {"label":"J", "x":12, "y":2}, {"label":"K", "x":13, "y":2}, {"label":"L", "x":14, "y":2}, {"label":":", "x":15, "y":2}, {"label":"\"", "x":16, "y":2}, {"label":"Enter", "x":17, "y":2, "w":2.25}, {"label":"Shift", "x":1.75, "y":3, "w":2.25}, {"label":"Z", "x":4, "y":3}, {"label":"X", "x":5, "y":3}, {"label":"C", "x":6, "y":3}, {"label":"V", "x":7, "y":3}, {"label":"B", "x":8, "y":3}, {"label":"B", "x":10.5, "y":3}, {"label":"N", "x":11.5, "y":3}, {"label":"M", "x":12.5, "y":3}, {"label":"<", "x":13.5, "y":3}, {"label":">", "x":14.5, "y":3}, {"label":"?", "x":15.5, "y":3}, {"label":"Shift", "x":16.5, "y":3, "w":1.75}, {"label":"Up", "x":18.25, "y":3}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.5}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.25}, {"label":"Win", "x":8.25, "y":4}, {"x":10.5, "y":4, "w":2.75}, {"label":"Alt", "x":13.25, "y":4, "w":1.5}, {"label":"Left", "x":17.25, "y":4}, {"label":"Down", "x":18.25, "y":4}, {"label":"Right", "x":19.25, "y":4}]
diff --git a/keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c b/keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c
index 7ee14dda8b..8f0ce714ec 100644
--- a/keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c
+++ b/keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2_60] = LAYOUT_full_bs(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, RGB_MOD, RGB_VAI,
TG(_DEFAULT), _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI
diff --git a/keyboards/jacky_studio/piggy60/hotswap/info.json b/keyboards/jacky_studio/piggy60/hotswap/info.json
new file mode 100644
index 0000000000..8b10920700
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/hotswap/info.json
@@ -0,0 +1,4 @@
+{
+ "diode_direction": "ROW2COL",
+ "community_layouts": ["60_hhkb", "60_tsangan_hhkb"]
+}
diff --git a/keyboards/jacky_studio/piggy60/hotswap/rules.mk b/keyboards/jacky_studio/piggy60/hotswap/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/hotswap/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/jacky_studio/piggy60/info.json b/keyboards/jacky_studio/piggy60/info.json
new file mode 100644
index 0000000000..2805209f47
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/info.json
@@ -0,0 +1,250 @@
+{
+ "manufacturer": "Jacky",
+ "keyboard_name": "Piggy60",
+ "maintainer": "qmk",
+ "bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "caps_word": true,
+ "debug": false,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "F7", "B5", "B4", "D7", "D6", "B3", "B2"],
+ "rows": ["D0", "D1", "D2", "D3", "D5"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://www.notion.so/Piggy-60-Everything-You-Should-Know-7308d056551d4edabdbcc95748e9dabc",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0xA13B",
+ "pid": "0x1001"
+ },
+ "indicators": {
+ "caps_lock": "F4",
+ "on_state": 0
+ },
+ "rgblight": {
+ "led_count": 14,
+ "pin": "E2",
+ "animations": {
+ "all": true
+ },
+ "sleep": true,
+ "max_brightness": 255
+ },
+ "tapping": {
+ "tap_keycode_delay": 10,
+ "tap_capslock_delay": 10,
+ "term": 170
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "|\\", "matrix": [3, 1], "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+ { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_hhkb": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Control", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "label": "GUI", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "label": "GUI", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
+ { "label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_tsangan_hhkb": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d2458a1422
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+// Copyright 2022 The QMK Community (@qmk)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+/*
+ * Check the list of supported LAYOUTS (qmk info jacky_studio/piggy60 -m) to make keymap customization easier.
+ * ISO users may wish to start customization from LAYOUT_60_iso_tsangan_hhkb, for instance.
+ *
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Del │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│LT1│
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
+ * │Ctrl │GUI│ Alt │ │ Alt │GUI│ Ctrl│
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+ [0] = LAYOUT_60_tsangan_hhkb(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(1,KC_MUTE),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+ [1] = LAYOUT_60_tsangan_hhkb(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PSCR,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_PGUP, KC_HOME, KC_TRNS, KC_VOLU, KC_BRIU, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_TRNS, KC_VOLD, KC_BRID, KC_TRNS, KC_WH_D, KC_TRNS, KC_TRNS,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json b/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json
new file mode 100644
index 0000000000..b166c6771f
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json
@@ -0,0 +1,38 @@
+{
+ "keyboard": "jacky_studio/piggy60",
+ "keymap": "via",
+ "layout": "LAYOUT_all",
+ "layers": [
+ [
+ "KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_GRV", "KC_BSPC",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
+ "LT(1,KC_CAPS)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_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", "LT(1,KC_MUTE)",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "LT(1,KC_APP)", "KC_RALT", "KC_RGUI", "KC_RCTL"
+ ],
+ [
+ "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_PSCR", "KC_DEL",
+ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_PGUP", "KC_HOME", "KC_TRNS", "KC_VOLU", "KC_BRIU", "KC_TRNS", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_PGDN", "KC_END", "KC_TRNS", "KC_VOLD", "KC_BRID", "KC_TRNS", "KC_WH_D", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "RGB_TOG", "KC_TRNS", "RGB_MOD", "RGB_HUI", "RGB_SAI", "RGB_VAI", "RGB_SPI", "KC_TRNS", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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": "qmk",
+ "notes": "",
+ "version": 1
+}
diff --git a/keyboards/jacky_studio/piggy60/keymaps/via/rules.mk b/keyboards/jacky_studio/piggy60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..74edb2bf0d
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE=yes
diff --git a/keyboards/jacky_studio/piggy60/readme.md b/keyboards/jacky_studio/piggy60/readme.md
new file mode 100644
index 0000000000..d546c63bf8
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/readme.md
@@ -0,0 +1,27 @@
+# Piggy60
+
+![piggy60](https://i.imgur.com/QXuKDual.jpg)
+
+A gasket-mounted 60% in the style of the S7 Elephant.
+
+* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
+* Hardware Supported: Piggy60
+* Hardware Availability: Group Buy took place between 2021-05-22 1600 UTC and 2021-05-25 1600 UTC on [https://jackylab.com/](https://jackylab.com/).
+
+Make example for this keyboard (after setting up your build environment):
+
+ make jacky_studio/piggy60:default
+
+Flashing example for this keyboard:
+
+ make jacky_studio/piggy60:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving.
+* **Physical reset**: Short the set of vertical holes on the third row, to the right of Caps Lock. These can be reached with tweezers after the board has been assembled.
+* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create.
diff --git a/keyboards/jacky_studio/piggy60/rules.mk b/keyboards/jacky_studio/piggy60/rules.mk
new file mode 100644
index 0000000000..530e6598df
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = jacky_studio/piggy60/solder
diff --git a/keyboards/jacky_studio/piggy60/solder/info.json b/keyboards/jacky_studio/piggy60/solder/info.json
new file mode 100644
index 0000000000..6a4cacb0fc
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/solder/info.json
@@ -0,0 +1,477 @@
+{
+ "diode_direction": "COL2ROW",
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_tsangan_hhkb"
+ ],
+ "layouts": {
+ "LAYOUT_60_ansi": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+ { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+ { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_ansi_tsangan": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_iso": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+ { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_iso_split_bs_rshift": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+ { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_iso_tsangan": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_iso_tsangan_hhkb": {
+ "layout": [
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+ { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 },
+ { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/jacky_studio/piggy60/solder/rules.mk b/keyboards/jacky_studio/piggy60/solder/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/jacky_studio/piggy60/solder/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/jacky_studio/s7_elephant/readme.md b/keyboards/jacky_studio/s7_elephant/readme.md
index 1cfeefb209..7e441ac8ea 100644
--- a/keyboards/jacky_studio/s7_elephant/readme.md
+++ b/keyboards/jacky_studio/s7_elephant/readme.md
@@ -15,6 +15,6 @@ Make example for this keyboard (after setting up your build environment):
make jacky_studio/s7_elephant/rev1:default # 2018 run
make jacky_studio/s7_elephant/rev2:default # 2019 run
-To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
+To enter the bootloader, either short the pins on the PCB or the `QK_BOOT` key on the FN layer.
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/jacky_studio/s7_elephant/rev1/config.h b/keyboards/jacky_studio/s7_elephant/rev1/config.h
index 76c4c7d406..b4de22c83e 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/config.h
+++ b/keyboards/jacky_studio/s7_elephant/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jacky
-#define PRODUCT S7 Elephant
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B6, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/info.json b/keyboards/jacky_studio/s7_elephant/rev1/info.json
index b47f326456..b1621eecd7 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/info.json
+++ b/keyboards/jacky_studio/s7_elephant/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "S7 Elephant",
+ "keyboard_name": "S7 Elephant Rev1",
+ "manufacturer": "Jacky",
"url": "https://geekhack.org/index.php?topic=96434.0",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xA13B",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/readme.md b/keyboards/jacky_studio/s7_elephant/rev1/readme.md
index 702be4c3a7..8308f60f62 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/readme.md
+++ b/keyboards/jacky_studio/s7_elephant/rev1/readme.md
@@ -12,6 +12,6 @@ Make example for this keyboard (after setting up your build environment):
make s7_elephant/rev1:default
-To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
+To enter the bootloader, either short the pins on the PCB or the `QK_BOOT` key on the FN layer.
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/jacky_studio/s7_elephant/rev2/config.h b/keyboards/jacky_studio/s7_elephant/rev2/config.h
index 246479dd37..41a8c77f9d 100644
--- a/keyboards/jacky_studio/s7_elephant/rev2/config.h
+++ b/keyboards/jacky_studio/s7_elephant/rev2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
-#define PRODUCT_ID 0x0008 // 8 for S7++
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Jacky
-#define PRODUCT Jacky S7 Elephant Rev 2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/jacky_studio/s7_elephant/rev2/info.json b/keyboards/jacky_studio/s7_elephant/rev2/info.json
index e3be4afe38..c9f45edca9 100644
--- a/keyboards/jacky_studio/s7_elephant/rev2/info.json
+++ b/keyboards/jacky_studio/s7_elephant/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "S7 Elephant Rev2",
+ "manufacturer": "Jacky",
"url": "https://geekhack.org/index.php?topic=103148.0",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xA13B",
+ "pid": "0x0008",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/jadookb/jkb2/config.h b/keyboards/jadookb/jkb2/config.h
index ac5808f236..ec9deec35c 100644
--- a/keyboards/jadookb/jkb2/config.h
+++ b/keyboards/jadookb/jkb2/config.h
@@ -16,17 +16,10 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x4A4B // "JK"
-#define PRODUCT_ID 0x3225 // "2%"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JadooKB
-#define PRODUCT JKB2
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 2
#define MATRIX_ROW_PINS { B1 }
#define MATRIX_COL_PINS { B3 ,B2}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jadookb/jkb2/info.json b/keyboards/jadookb/jkb2/info.json
index ed818d6412..ef27783c7a 100644
--- a/keyboards/jadookb/jkb2/info.json
+++ b/keyboards/jadookb/jkb2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jkb2",
+ "keyboard_name": "JKB2",
+ "manufacturer": "JadooKB",
"url": "https://jadookb.com/",
"maintainer": "Wizard-GG",
+ "usb": {
+ "vid": "0x4A4B",
+ "pid": "0x3225",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"label":"z","x": 0, "y": 0 }, {"label":"x","x": 1, "y": 0 }]
diff --git a/keyboards/jadookb/jkb2/keymaps/via/config.h b/keyboards/jadookb/jkb2/keymaps/via/config.h
deleted file mode 100644
index 31022ca535..0000000000
--- a/keyboards/jadookb/jkb2/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-
- /* Copyright 2021 Wizard-GG
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h
index dae3cea49a..a3fd5a0fa7 100644
--- a/keyboards/jadookb/jkb65/config.h
+++ b/keyboards/jadookb/jkb65/config.h
@@ -18,20 +18,9 @@
#include "config_common.h"
-#define VENDOR_ID 0x4A4B
-#define PRODUCT_ID 0xEF6A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JadooKB
-#define PRODUCT JKB65 RGB
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
-#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
-#define MATRIX_COL_PINS { F6,B1,F1,C7,C6,B6,B5,B4,D7,B3,D4,D5,D3,D2,D1,D0 }
-
-#define UNUSED_PINS
-
#define DIODE_DIRECTION COL2ROW
#define RGB_DI_PIN F0
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index 8bb0ab7524..c6f5813fee 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -1,9 +1,17 @@
{
- "keyboard_name": "jkb65",
+ "manufacturer": "JadooKB",
"url": "https://jadookb.com/",
"maintainer": "Wizard-GG",
+ "usb": {
+ "vid": "0x4A4B",
+ "pid": "0xEF6A"
+ },
+ "layout_aliases": {
+ "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker"
+ },
+ "community_layouts": ["65_ansi_blocker"],
"layouts": {
- "LAYOUT_67_ansi": {
+ "LAYOUT_65_ansi_blocker": {
"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":"~", "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":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "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":"\u2191", "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":"Fn", "x":10, "y":4, "w":1.25}, {"label":"Menu", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
}
}
diff --git a/keyboards/jadookb/jkb65/jkb65.h b/keyboards/jadookb/jkb65/jkb65.h
index fa88e64bf7..97f65bf4da 100644
--- a/keyboards/jadookb/jkb65/jkb65.h
+++ b/keyboards/jadookb/jkb65/jkb65.h
@@ -18,7 +18,7 @@
#include "quantum.h"
-#define LAYOUT_67_ansi( \
+#define LAYOUT_65_ansi_blocker( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
diff --git a/keyboards/jadookb/jkb65/keymaps/default/keymap.c b/keyboards/jadookb/jkb65/keymaps/default/keymap.c
index f03211d220..22016cea76 100644
--- a/keyboards/jadookb/jkb65/keymaps/default/keymap.c
+++ b/keyboards/jadookb/jkb65/keymaps/default/keymap.c
@@ -20,14 +20,14 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_67_ansi(
+ [0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT_67_ansi(
+ [1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR,
_______, RGB_RMOD, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/jadookb/jkb65/keymaps/via/config.h b/keyboards/jadookb/jkb65/keymaps/via/config.h
deleted file mode 100644
index 9d4eaf74ee..0000000000
--- a/keyboards/jadookb/jkb65/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
- /* Copyright 2021 Wizard-GG
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/jadookb/jkb65/keymaps/via/keymap.c b/keyboards/jadookb/jkb65/keymaps/via/keymap.c
index 5713fe3805..950410d1af 100644
--- a/keyboards/jadookb/jkb65/keymaps/via/keymap.c
+++ b/keyboards/jadookb/jkb65/keymaps/via/keymap.c
@@ -20,28 +20,28 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_67_ansi(
+ [0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT_67_ansi(
+ [1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR,
_______, RGB_RMOD, RGB_HUI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
MAGIC_UNNO_GUI,MAGIC_NO_GUI, _______, RGB_TOG, _______, MO(2), RGB_SPD, RGB_VAD, RGB_SPI
),
- [2] = LAYOUT_67_ansi(
+ [2] = LAYOUT_65_ansi_blocker(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
- [3] = LAYOUT_67_ansi(
+ [3] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/jadookb/jkb65/r1/config.h b/keyboards/jadookb/jkb65/r1/config.h
new file mode 100644
index 0000000000..78f13414c9
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r1/config.h
@@ -0,0 +1,20 @@
+ /* Copyright 2022 Wizad-GG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
+#define MATRIX_COL_PINS { F6,B1,F1,C7,C6,B6,B5,B4,D7,B3,D4,D5,D3,D2,D1,D0 } \ No newline at end of file
diff --git a/keyboards/jadookb/jkb65/r1/info.json b/keyboards/jadookb/jkb65/r1/info.json
new file mode 100644
index 0000000000..4bfe3aa763
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "JKB65 RGB R1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/jadookb/jkb65/r1/rules.mk b/keyboards/jadookb/jkb65/r1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r1/rules.mk
diff --git a/keyboards/jadookb/jkb65/r2/config.h b/keyboards/jadookb/jkb65/r2/config.h
index a0039001a8..5db93f75cb 100644
--- a/keyboards/jadookb/jkb65/r2/config.h
+++ b/keyboards/jadookb/jkb65/r2/config.h
@@ -16,12 +16,5 @@
#pragma once
-#undef DEVICE_VER
-#define DEVICE_VER 0x0002
-
-#undef PRODUCT
-#define PRODUCT JKB65 RGB R2
-
-
-#undef MATRIX_COL_PINS
+#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 } \ No newline at end of file
diff --git a/keyboards/jadookb/jkb65/r2/info.json b/keyboards/jadookb/jkb65/r2/info.json
new file mode 100644
index 0000000000..8a23a21d5f
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "JKB65 RGB R2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/jadookb/jkb65/r2/rules.mk b/keyboards/jadookb/jkb65/r2/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/jadookb/jkb65/r2/rules.mk
diff --git a/keyboards/jadookb/jkb65/rules.mk b/keyboards/jadookb/jkb65/rules.mk
index 239ea39a74..f230e8ae9f 100644
--- a/keyboards/jadookb/jkb65/rules.mk
+++ b/keyboards/jadookb/jkb65/rules.mk
@@ -19,3 +19,5 @@ AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
LTO_ENABLE = yes
+
+DEFAULT_FOLDER = jadookb/jkb65/r1
diff --git a/keyboards/jae/j01/config.h b/keyboards/jae/j01/config.h
index 552f6930cb..4f94a69603 100644
--- a/keyboards/jae/j01/config.h
+++ b/keyboards/jae/j01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x0143
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Evyd13
-#define PRODUCT J-01
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B2, B1, B3, B0, D0}
#define MATRIX_COL_PINS {D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jae/j01/info.json b/keyboards/jae/j01/info.json
index 03c18c46d1..94363e3aa5 100644
--- a/keyboards/jae/j01/info.json
+++ b/keyboards/jae/j01/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "J01",
+ "keyboard_name": "J-01",
+ "manufacturer": "Evyd13",
"url": "",
"maintainer": "MechMerlin",
+ "usb": {
+ "vid": "0x4705",
+ "pid": "0x0143",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":18, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":18, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.75}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2, "w":2.25}, {"x":18, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":2.25}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.75, "y":3.25}, {"x":18, "y":3}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.25}, {"x":6.25, "y":4, "w":6.25}, {"x":12.5, "y":4, "w":1.5}, {"x":14, "y":4, "w":1.5}, {"x":15.75, "y":4.25}, {"x":16.75, "y":4.25}, {"x":17.75, "y":4.25}]
diff --git a/keyboards/jagdpietr/drakon/config.h b/keyboards/jagdpietr/drakon/config.h
index 611b107137..cab8ec9d05 100644
--- a/keyboards/jagdpietr/drakon/config.h
+++ b/keyboards/jagdpietr/drakon/config.h
@@ -19,13 +19,6 @@ 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 0x7776
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jagdpietr
-#define PRODUCT drakon
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, B5, B6, B0, B1, F1 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C6, B2, B3, B7, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jagdpietr/drakon/info.json b/keyboards/jagdpietr/drakon/info.json
index 8208fa22bb..48945eaf3e 100644
--- a/keyboards/jagdpietr/drakon/info.json
+++ b/keyboards/jagdpietr/drakon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "drakon",
+ "manufacturer": "jagdpietr",
"url": "",
"maintainer": "jagdpietr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7776",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":16.25, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.25, "y":1}, {"x":16.25, "y":1}, {"x":17.25, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":16.25, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.25}, {"x":13.75, "y":3.25}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.75, "y":4.25}, {"x":13.75, "y":4.25}, {"x":14.75, "y":4.25}]
diff --git a/keyboards/janus/config.h b/keyboards/janus/config.h
new file mode 100644
index 0000000000..8124f0db57
--- /dev/null
+++ b/keyboards/janus/config.h
@@ -0,0 +1,16 @@
+// Copyright 2022 Steven Karrmann (@skarrmann)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* Serial communication */
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP0
+#define SERIAL_USART_RX_PIN GP1
+
+/* Double tap reset button to enter bootloader */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U \ No newline at end of file
diff --git a/keyboards/janus/halconf.h b/keyboards/janus/halconf.h
new file mode 100644
index 0000000000..550a6e0abf
--- /dev/null
+++ b/keyboards/janus/halconf.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Steven Karrmann (@skarrmann)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <halconf.h>
+
+#undef HAL_USE_SIO
+#define HAL_USE_SIO TRUE \ No newline at end of file
diff --git a/keyboards/janus/info.json b/keyboards/janus/info.json
new file mode 100644
index 0000000000..6169dc6ed5
--- /dev/null
+++ b/keyboards/janus/info.json
@@ -0,0 +1,75 @@
+{
+ "keyboard_name": "Janus",
+ "manufacturer": "Steven Karrmann",
+ "url": "https://github.com/skarrmann/janus",
+ "maintainer": "skarrmann",
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP6", "GP7", "GP2", "GP4", "GP3"],
+ "rows": ["GP26", "GP27", "GP28", "GP29"]
+ },
+ "indicators": {
+ "num_lock": "GP17",
+ "caps_lock": "GP16",
+ "scroll_lock": "GP25",
+ "on_state": 0
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "split": {
+ "enabled": true
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_2": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [4, 4], "x": 6, "y": 0 },
+ { "matrix": [4, 3], "x": 7, "y": 0 },
+ { "matrix": [4, 2], "x": 8, "y": 0 },
+ { "matrix": [4, 1], "x": 9, "y": 0 },
+ { "matrix": [4, 0], "x": 10, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [5, 4], "x": 6, "y": 1 },
+ { "matrix": [5, 3], "x": 7, "y": 1 },
+ { "matrix": [5, 2], "x": 8, "y": 1 },
+ { "matrix": [5, 1], "x": 9, "y": 1 },
+ { "matrix": [5, 0], "x": 10, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [6, 4], "x": 6, "y": 2 },
+ { "matrix": [6, 3], "x": 7, "y": 2 },
+ { "matrix": [6, 2], "x": 8, "y": 2 },
+ { "matrix": [6, 1], "x": 9, "y": 2 },
+ { "matrix": [6, 0], "x": 10, "y": 2 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [7, 4], "x": 6, "y": 3 },
+ { "matrix": [7, 3], "x": 7, "y": 3 }
+ ]
+ }
+ },
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x9A25",
+ "vid": "0xFEED"
+ }
+} \ No newline at end of file
diff --git a/keyboards/janus/keymaps/default/keymap.c b/keyboards/janus/keymaps/default/keymap.c
new file mode 100644
index 0000000000..440645a15d
--- /dev/null
+++ b/keyboards/janus/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
+// Copyright 2022 Steven Karrmann (@skarrmann)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _SYMBOL,
+ _NAVIGATION,
+ _FUNCTION
+};
+
+#define MO_SYM MO(_SYMBOL)
+#define MO_NAV MO(_NAVIGATION)
+#define MO_FUN MO(_FUNCTION)
+#define OS_LCTL OSM(MOD_LCTL)
+#define OS_LSFT OSM(MOD_LSFT)
+#define OS_LALT OSM(MOD_LALT)
+#define OS_LGUI OSM(MOD_LGUI)
+#define OS_RCTL OSM(MOD_RCTL)
+#define OS_RSFT OSM(MOD_RSFT)
+#define OS_RALT OSM(MOD_RALT)
+#define OS_RGUI OSM(MOD_RGUI)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_split_3x5_2(
+ 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_QUOT,
+ KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH,
+ MO_NAV , KC_LSFT, KC_SPC , MO_SYM
+ ),
+ [_SYMBOL] = LAYOUT_split_3x5_2(
+ KC_SCLN, KC_LBRC, KC_RBRC, KC_5 , XXXXXXX, XXXXXXX, KC_6 , KC_MINS, KC_EQL , KC_GRV ,
+ KC_1 , KC_2 , KC_3 , KC_4 , KC_BSLS, XXXXXXX, KC_7 , KC_8 , KC_9 , KC_0 ,
+ OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, XXXXXXX, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI,
+ MO_FUN , _______, _______, _______
+ ),
+ [_NAVIGATION] = LAYOUT_split_3x5_2(
+ KC_PSCR, KC_INS , KC_APP , KC_DEL , XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END ,
+ KC_ESC , KC_TAB , KC_ENT , KC_BSPC, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT,
+ OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, XXXXXXX, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI,
+ _______, _______, _______, MO_FUN
+ ),
+ [_FUNCTION] = LAYOUT_split_3x5_2(
+ KC_F1 , KC_F2 , KC_F3 , KC_F4 , QK_BOOT, KC_SLCK, KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
+ KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_CLCK, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS,
+ OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, KC_NLCK, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI,
+ _______, _______, _______, _______
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/janus/keymaps/default/readme.md b/keyboards/janus/keymaps/default/readme.md
new file mode 100644
index 0000000000..dc7534e317
--- /dev/null
+++ b/keyboards/janus/keymaps/default/readme.md
@@ -0,0 +1,13 @@
+# Janus Default Keymap
+
+![Janus default keymap image](https://i.imgur.com/7FevUIZh.png)
+
+The default Janus keymap is simple and organized. The only QMK special features used are layers and one shot keys for modifiers.
+
+It is inspired by [Callum's keymap](https://github.com/qmk/qmk_firmware/tree/master/users/callum), with a few differences:
+
+* Modifier keys are moved to the bottom row on every layer, and are mirrored on both sides.
+* Symbol layer only contains non-shifted symbol keys.
+* General differences in key positions.
+
+For simplicity's sake, the keymap uses QMK's native one shot key implementation. There are other excellent one shot implementations out there, including Callum's in the aforementioned keymap. \ No newline at end of file
diff --git a/keyboards/janus/mcuconf.h b/keyboards/janus/mcuconf.h
new file mode 100644
index 0000000000..c41253d4fb
--- /dev/null
+++ b/keyboards/janus/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Steven Karrmann (@skarrmann)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef RP_SIO_USE_UART0
+#define RP_SIO_USE_UART0 TRUE \ No newline at end of file
diff --git a/keyboards/janus/readme.md b/keyboards/janus/readme.md
new file mode 100644
index 0000000000..aa9e65cdc4
--- /dev/null
+++ b/keyboards/janus/readme.md
@@ -0,0 +1,27 @@
+# Janus
+
+![Janus](https://i.imgur.com/7Lzhafeh.jpg)
+
+A 34-key split ortholinear keyboard, powered by two Seeed XIAO RP2040.
+
+* Keyboard Maintainer: [Steven Karrmann](https://github.com/skarrmann)
+* Hardware Supported: Janus PCBs, Seeed XIAO RP2040
+* Hardware Availability: [Janus GitHub repository](https://github.com/skarrmann/janus)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make janus:default
+
+Flashing example for this keyboard:
+
+ make janus:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key on the left half, or top right key on the right half, and then plug in the USB cable on that keyboard half.
+* **Physical reset button**: Double tap the reset button on the XIAO RP2040.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/janus/rules.mk b/keyboards/janus/rules.mk
new file mode 100644
index 0000000000..59b74ac86b
--- /dev/null
+++ b/keyboards/janus/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = usart \ No newline at end of file
diff --git a/keyboards/jc65/v32a/config.h b/keyboards/jc65/v32a/config.h
index b4cef251b5..01b73b34db 100644
--- a/keyboards/jc65/v32a/config.h
+++ b/keyboards/jc65/v32a/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5679
-#define DEVICE_VER 0x0200
-#define MANUFACTURER RAMA
-#define PRODUCT JC65 BMC
-
/* matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
diff --git a/keyboards/jc65/v32a/info.json b/keyboards/jc65/v32a/info.json
index 9c22289d8f..a6130b77c6 100644
--- a/keyboards/jc65/v32a/info.json
+++ b/keyboards/jc65/v32a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jc65",
+ "keyboard_name": "JC65 BMC",
+ "manufacturer": "RAMA",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1234",
+ "pid": "0x5679",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "y":3}, {"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":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/jc65/v32a/keymaps/ptillemans/keymap.c b/keyboards/jc65/v32a/keymaps/ptillemans/keymap.c
index c384d36d3f..cbb5e8c237 100644
--- a/keyboards/jc65/v32a/keymaps/ptillemans/keymap.c
+++ b/keyboards/jc65/v32a/keymaps/ptillemans/keymap.c
@@ -17,8 +17,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = 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_BSLS,KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,KC_PSCR,KC_LBRC,KC_RBRC, RESET,KC_PGUP,
- KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, RESET, KC_ENT,KC_PGDN,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,KC_PSCR,KC_LBRC,KC_RBRC, QK_BOOT,KC_PGUP,
+ KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, QK_BOOT, 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_HOME,
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT
),
diff --git a/keyboards/jc65/v32a/keymaps/rys/keymap.c b/keyboards/jc65/v32a/keymaps/rys/keymap.c
index f946c8eebf..a88c7a8685 100644
--- a/keyboards/jc65/v32a/keymaps/rys/keymap.c
+++ b/keyboards/jc65/v32a/keymaps/rys/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FUNC] = LAYOUT(
- RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, RESET,
+ RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, QK_BOOT,
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
diff --git a/keyboards/jc65/v32u4/config.h b/keyboards/jc65/v32u4/config.h
index 108e4126be..d59d30a12e 100644
--- a/keyboards/jc65/v32u4/config.h
+++ b/keyboards/jc65/v32u4/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER dou
-#define PRODUCT KEYCLACK65-V1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* QMK JC65 PCB default pin-out */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4, F5 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B2
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/jc65/v32u4/info.json b/keyboards/jc65/v32u4/info.json
index 84d832eede..83e248fc30 100644
--- a/keyboards/jc65/v32u4/info.json
+++ b/keyboards/jc65/v32u4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jc65",
+ "keyboard_name": "JC65",
+ "manufacturer": "dou",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "y":3}, {"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":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/jc65/v32u4/keymaps/coth/keymap.c b/keyboards/jc65/v32u4/keymaps/coth/keymap.c
index 800516a2be..990d32220b 100644
--- a/keyboards/jc65/v32u4/keymaps/coth/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/coth/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),
[2] = LAYOUT(
- RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_MOD, RGB_RMOD, BL_STEP, BL_TOGG, KC_TRNS, KC_TRNS, RESET,
+ RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_MOD, RGB_RMOD, BL_STEP, BL_TOGG, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, RGB_HUD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c b/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c
index 528bde8852..d02b67a930 100644
--- a/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/dead_encryption/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, KC_SPACE, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
- 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_PAUS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_MOD, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS,
KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_DOWN, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
index 7572b9e073..7d0902b967 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
@@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR1,
_______, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMR2,
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMP2
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMP2
),
};
@@ -224,7 +224,7 @@ void matrix_scan_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _BL:
custom_backlight_level(0);
rgblight_sethsv_noeeprom(180,100,255);
diff --git a/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/keymap.c b/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/keymap.c
index 992640523a..7e24d2f96b 100644
--- a/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_HOME, KC_PGDN, KC_END
),
[2] = 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, 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, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
MO(1), RGB_SAD, RGB_SAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c b/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c
index 68560464b6..e7e907972d 100644
--- a/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/na7thana/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LALT, KC_SPACE, KC_SPACE, KC_SPACE, KC_SPACE, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
- 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_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_DEL, KC_TRNS,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_VOLU, KC_TRNS,
diff --git a/keyboards/jc65/v32u4/keymaps/naut/keymap.c b/keyboards/jc65/v32u4/keymaps/naut/keymap.c
index 2fa5ec47c4..33e0a264ff 100644
--- a/keyboards/jc65/v32u4/keymaps/naut/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/naut/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
};
diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h
index dd6984f108..340123270e 100644
--- a/keyboards/jd40/config.h
+++ b/keyboards/jd40/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER geekhack
-#define PRODUCT jd40v2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F5, B4 }
#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jd40/info.json b/keyboards/jd40/info.json
index 6cfdcdc3ee..b94e9076f7 100644
--- a/keyboards/jd40/info.json
+++ b/keyboards/jd40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "jd40",
+ "manufacturer": "geekhack",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
index 3deea19740..a1b59f236f 100644
--- a/keyboards/jd45/config.h
+++ b/keyboards/jd45/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER geekhack
-#define PRODUCT JD45
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { F0, F1, F5, B4 }
#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2, B0 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/jd45/info.json b/keyboards/jd45/info.json
index 99059b0960..3fa16119f6 100644
--- a/keyboards/jd45/info.json
+++ b/keyboards/jd45/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jd45",
+ "keyboard_name": "JD45",
+ "manufacturer": "geekhack",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jd45/keymaps/blakedietz/keymap.c b/keyboards/jd45/keymaps/blakedietz/keymap.c
index a40a2c604e..a6631c9d99 100644
--- a/keyboards/jd45/keymaps/blakedietz/keymap.c
+++ b/keyboards/jd45/keymaps/blakedietz/keymap.c
@@ -196,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT),
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
/* VIM
diff --git a/keyboards/jd45/keymaps/jeebak/keymap.c b/keyboards/jd45/keymaps/jeebak/keymap.c
index bb6c829382..a14009a43b 100644
--- a/keyboards/jd45/keymaps/jeebak/keymap.c
+++ b/keyboards/jd45/keymaps/jeebak/keymap.c
@@ -277,7 +277,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET)
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT)
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
};
diff --git a/keyboards/jd45/keymaps/mjt6u/keymap.c b/keyboards/jd45/keymaps/mjt6u/keymap.c
index dc7c3bb7e3..64b6139a50 100644
--- a/keyboards/jd45/keymaps/mjt6u/keymap.c
+++ b/keyboards/jd45/keymaps/mjt6u/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, KC_PSCR, _______, _______, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, KC_PSCR, _______, _______, \
_______, _______, _______, _______, USEFNMODS, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, MACSLEEP, _______, _______, \
_______, _______, _______, _______, _______, _______, USENUMMODS, _______, _______, _______, _______, _______, \
XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, __MOD__, __MOD__, XXXXXXX \
diff --git a/keyboards/jels/jels60/config.h b/keyboards/jels/jels60/config.h
index 6805018dd7..ab9c51335b 100644
--- a/keyboards/jels/jels60/config.h
+++ b/keyboards/jels/jels60/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor paramater */
-#define VENDOR_ID 0x006A //Jels (J)
-#define PRODUCT_ID 0x0060 //Jels 60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jels
-#define PRODUCT jels60
-
/* Define Matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/jels/jels60/info.json b/keyboards/jels/jels60/info.json
index b958bb6905..d8c6590ccb 100644
--- a/keyboards/jels/jels60/info.json
+++ b/keyboards/jels/jels60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jels60",
+ "manufacturer": "Jels",
"url": "",
"maintainer": "Jels",
+ "usb": {
+ "vid": "0x006A",
+ "pid": "0x0060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/jels/jels60/readme.md b/keyboards/jels/jels60/readme.md
index 0b72d3e346..8def326cba 100644
--- a/keyboards/jels/jels60/readme.md
+++ b/keyboards/jels/jels60/readme.md
@@ -20,4 +20,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top left key (ESC/Tilde) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/jels/jels88/config.h b/keyboards/jels/jels88/config.h
index 3018e15c86..54c2fecc5c 100644
--- a/keyboards/jels/jels88/config.h
+++ b/keyboards/jels/jels88/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor paramater */
-#define VENDOR_ID 0x006a // Jels (J)
-#define PRODUCT_ID 0x0088 // Jels 88
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jels
-#define PRODUCT Jels88
-
/* Define Matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/jels/jels88/info.json b/keyboards/jels/jels88/info.json
index 827e911494..dc4887cbb7 100644
--- a/keyboards/jels/jels88/info.json
+++ b/keyboards/jels/jels88/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jels88",
+ "manufacturer": "Jels",
"url": "",
"maintainer": "Jels",
+ "usb": {
+ "vid": "0x006A",
+ "pid": "0x0088",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/jels/jels88/readme.md b/keyboards/jels/jels88/readme.md
index 37d18dbf40..fa590aa303 100644
--- a/keyboards/jels/jels88/readme.md
+++ b/keyboards/jels/jels88/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top right key (ESC) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/jian/handwired/config.h b/keyboards/jian/handwired/config.h
index ebcda62f44..055568b06c 100644
--- a/keyboards/jian/handwired/config.h
+++ b/keyboards/jian/handwired/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0DE
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0010
-#define MANUFACTURER KgOfHedgehogs
-#define PRODUCT Huma
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 4
diff --git a/keyboards/jian/handwired/info.json b/keyboards/jian/handwired/info.json
new file mode 100644
index 0000000000..120c6c4a24
--- /dev/null
+++ b/keyboards/jian/handwired/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Huma",
+ "usb": {
+ "device_version": "0.1.0"
+ }
+}
diff --git a/keyboards/jian/info.json b/keyboards/jian/info.json
index e9c875e792..2e59944921 100644
--- a/keyboards/jian/info.json
+++ b/keyboards/jian/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "jian",
+ "manufacturer": "KgOfHedgehogs",
"url": "t.me/s/kgofhedgehogs",
"maintainer": "KGOH",
+ "usb": {
+ "vid": "0xC0DE",
+ "pid": "0x1337"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c
index 4aad7b65ad..721adaaee7 100644
--- a/keyboards/jian/keymaps/advanced/keymap.c
+++ b/keyboards/jian/keymaps/advanced/keymap.c
@@ -212,7 +212,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_symmetric(
- RESET, DEBUG, KC_ASUP, CH_WMN, CH_CMK, CH_QWE, CH_DVK,
+ QK_BOOT, DEBUG, KC_ASUP, CH_WMN, CH_CMK, CH_QWE, CH_DVK,
KC_ASRP, KC_ASTG, XXXXXXX, XXXXXXX, QWERTY, PLOVER,
BL_ADJ, KC_ASDN, XXXXXXX, XXXXXXX, ISO, THUMB_ALT,
_______, SW_TG, _______
diff --git a/keyboards/jian/keymaps/left_hand/keymap.c b/keyboards/jian/keymaps/left_hand/keymap.c
index d2518a2535..ab24c63ed4 100644
--- a/keyboards/jian/keymaps/left_hand/keymap.c
+++ b/keyboards/jian/keymaps/left_hand/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, LT(_ADJUST, KC_ESC)
),
[_ADJUST] = LAYOUT_symmetric_left(
- RESET, DEBUG, XXXXXXX, BL_INC, RGB_VAI, RGB_HUD, RGB_HUI,
+ QK_BOOT, DEBUG, XXXXXXX, BL_INC, RGB_VAI, RGB_HUD, RGB_HUI,
XXXXXXX, XXXXXXX, BL_DEC, RGB_VAD, RGB_SAD, RGB_SAI,
XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
_______, _______, _______
diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h
index 7a2cabeb4c..6b36049f94 100644
--- a/keyboards/jian/nsrev2/config.h
+++ b/keyboards/jian/nsrev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0DE
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0210
-#define MANUFACTURER KgOfHedgehogs
-#define PRODUCT Huma
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/jian/nsrev2/info.json b/keyboards/jian/nsrev2/info.json
new file mode 100644
index 0000000000..06fbfeb833
--- /dev/null
+++ b/keyboards/jian/nsrev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Huma",
+ "usb": {
+ "device_version": "2.1.0"
+ }
+}
diff --git a/keyboards/jian/rev1/config.h b/keyboards/jian/rev1/config.h
index 5758115035..988b6d5176 100644
--- a/keyboards/jian/rev1/config.h
+++ b/keyboards/jian/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0DE
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0100
-#define MANUFACTURER KgOfHedgehogs
-#define PRODUCT Jian
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/jian/rev1/info.json b/keyboards/jian/rev1/info.json
new file mode 100644
index 0000000000..32540b3f78
--- /dev/null
+++ b/keyboards/jian/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Jian",
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h
index ec3c206d46..52c8b6ad0e 100644
--- a/keyboards/jian/rev2/config.h
+++ b/keyboards/jian/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0DE
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0200
-#define MANUFACTURER KgOfHedgehogs
-#define PRODUCT Jian
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/jian/rev2/info.json b/keyboards/jian/rev2/info.json
new file mode 100644
index 0000000000..db130bf467
--- /dev/null
+++ b/keyboards/jian/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Jian",
+ "usb": {
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/jiran/config.h b/keyboards/jiran/config.h
index da100292e2..0579f44a77 100644
--- a/keyboards/jiran/config.h
+++ b/keyboards/jiran/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x3735
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Ladniy
-#define PRODUCT Jiran
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/jiran/info.json b/keyboards/jiran/info.json
index 8dd6a43fe8..93b8ad11ce 100644
--- a/keyboards/jiran/info.json
+++ b/keyboards/jiran/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jiran",
+ "keyboard_name": "Jiran",
+ "manufacturer": "Ladniy",
"url": "t.me/s/ladniys",
"maintainer": "Ladniy",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x3735",
+ "device_version": "3.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jkdlab/binary_monkey/config.h b/keyboards/jkdlab/binary_monkey/config.h
index ba8bfcd8d1..1c12761600 100644
--- a/keyboards/jkdlab/binary_monkey/config.h
+++ b/keyboards/jkdlab/binary_monkey/config.h
@@ -20,12 +20,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x4934
-#define PRODUCT_ID 0x0101
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JKDLAB.
-#define PRODUCT Binary_Monkey
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { D0 }
diff --git a/keyboards/jkdlab/binary_monkey/info.json b/keyboards/jkdlab/binary_monkey/info.json
index 9d563c0b12..24671d285d 100644
--- a/keyboards/jkdlab/binary_monkey/info.json
+++ b/keyboards/jkdlab/binary_monkey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Binary_Monkey",
+ "manufacturer": "JKDLAB.",
"url": "https://gumroad.com/jkdlab",
"maintainer": "JKDLAB.",
+ "usb": {
+ "vid": "0x4934",
+ "pid": "0x0101",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jkeys_design/gentleman65/config.h b/keyboards/jkeys_design/gentleman65/config.h
new file mode 100644
index 0000000000..eed1d351a7
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/config.h
@@ -0,0 +1,51 @@
+/*
+Copyright 2021 Omar Afzal
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D3, D2, D1, F7, F1 }
+#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, D5, C7, F0, B2, B1, B3, B0, B7, D0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN F4
+#define RGBLED_NUM 14
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define ENCODERS_PAD_A { F6 }
+#define ENCODERS_PAD_B { F5 }
+#define ENCODER_RESOLUTION 4
+
+#define DRIVER_LED_TOTAL 14
diff --git a/keyboards/gentleman65/gentleman65.c b/keyboards/jkeys_design/gentleman65/gentleman65.c
index 9e9baa011e..9e9baa011e 100644
--- a/keyboards/gentleman65/gentleman65.c
+++ b/keyboards/jkeys_design/gentleman65/gentleman65.c
diff --git a/keyboards/gentleman65/gentleman65.h b/keyboards/jkeys_design/gentleman65/gentleman65.h
index c313e41102..c313e41102 100644
--- a/keyboards/gentleman65/gentleman65.h
+++ b/keyboards/jkeys_design/gentleman65/gentleman65.h
diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/info.json
new file mode 100644
index 0000000000..3a8e6168aa
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/info.json
@@ -0,0 +1,16 @@
+{
+ "name": "Gentleman 65",
+ "manufacturer": "JJ48_24 & Omar Afzal",
+ "url": "https://jkeys.design/products/gentleman-65",
+ "maintainer": "0marA",
+ "usb": {
+ "vid": "0x00FA",
+ "pid": "0x2020",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c
new file mode 100644
index 0000000000..bd036c8cb2
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c
@@ -0,0 +1,96 @@
+/* Copyright 2021 Omar Afzal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define FN_ESC LT(_FUNC, KC_ESC)
+
+enum gentleman_layers {
+ _QWERTY,
+ _WORKMAN,
+ _FUNC,
+};
+
+enum gentleman_keycodes {
+ QWERTY = SAFE_RANGE,
+ WORKMAN,
+ FUNC,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TRNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ FN_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,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_WORKMAN] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TRNS,
+ KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ FN_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FUNC] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, QK_BOOT,
+ KC_TRNS, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, AG_NORM, AG_SWAP, QWERTY, WORKMAN, KC_TRNS, KC_INS,
+ KC_TRNS, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_TRNS, KC_HOME,
+ KC_TRNS, KC_WH_L, KC_BTN3, KC_WH_R, KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SAI, RGB_SAD, KC_TRNS, RGB_HUI, KC_END,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_MPRV, RGB_HUD, KC_MNXT
+ ),
+};
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+ case _FUNC:
+ // Vertical Scroll
+ clockwise ? tap_code(KC_WH_D) : tap_code(KC_WH_U);
+ return false;
+ break;
+ default:
+ // Horizontal Scroll
+ if ((get_mods() & MOD_BIT(KC_LSFT)) == MOD_BIT(KC_LSFT)) {
+ clockwise ? tap_code(KC_WH_D) : tap_code(KC_WH_U);
+ return false;
+ }
+ // Volume
+ clockwise ? tap_code(KC_AUDIO_VOL_UP) : tap_code(KC_AUDIO_VOL_DOWN);
+ break;
+ }
+ }
+ return false;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case WORKMAN:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_WORKMAN);
+ }
+ return false;
+ }
+
+ return true;
+}
+
diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md
new file mode 100644
index 0000000000..b7c0fb5c5d
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md
@@ -0,0 +1,14 @@
+# Gentleman65 Keyboard Compilation
+
+## Features
+
+- Base Layers
+ - QWERTY
+ - Workman
+- Entertainment Keys
+
+## Building and flashing
+
+```
+make gentleman65:briianpowell:flash
+```
diff --git a/keyboards/gentleman65/keymaps/default/keymap.c b/keyboards/jkeys_design/gentleman65/keymaps/default/keymap.c
index 9f822c396c..9f822c396c 100644
--- a/keyboards/gentleman65/keymaps/default/keymap.c
+++ b/keyboards/jkeys_design/gentleman65/keymaps/default/keymap.c
diff --git a/keyboards/gentleman65/keymaps/via/keymap.c b/keyboards/jkeys_design/gentleman65/keymaps/via/keymap.c
index c965b0bf21..c965b0bf21 100644
--- a/keyboards/gentleman65/keymaps/via/keymap.c
+++ b/keyboards/jkeys_design/gentleman65/keymaps/via/keymap.c
diff --git a/keyboards/jkeys_design/gentleman65/keymaps/via/rules.mk b/keyboards/jkeys_design/gentleman65/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/jkeys_design/gentleman65/readme.md b/keyboards/jkeys_design/gentleman65/readme.md
new file mode 100644
index 0000000000..2754a0cfcd
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65/readme.md
@@ -0,0 +1,24 @@
+# Gentleman65
+
+![Render](https://i.imgur.com/uNdJqBuh.jpg)
+
+The Gentleman 65 combines the sleek look of natural wood, with the fun of frosted acrylic to produce a truly unique look that differs from existing boards on the market. The board consists of 2 3mm frosted acrylic layers, topped by 2 layers of 6mm of wood, a frosted acrylic wedge, and 2 feet that give the board an angle of 7°. The board is unique in its inclusion of a top mounting system, something rarely seen on the laser cut board.
+
+
+* Keyboard Maintainer: [Omar Afzal](https://github.com/0marA)
+* Hardware Supported: Gentleman 65 PCB for Gentleman65 & Gentleman 65 Suited Edition hotswap PCB
+* Hardware Availability: [Jkeys.Design](https://jkeys.design/)
+
+Getting the board into bootloader mode:
+
+To flash firmware onto this board, you'll need to bring the PCB into bootloader mode. To enter bootloader mode, press the reset button on the back of the PCB twice. The reset button is located in the bottom center near the spacebar switch footprint.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make jkeys_design/gentleman65:default
+
+Flashing example for this keyboard:
+
+ make jkeys_design/gentleman65: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/gentleman65/rules.mk b/keyboards/jkeys_design/gentleman65/rules.mk
index fceba7b48c..fceba7b48c 100644
--- a/keyboards/gentleman65/rules.mk
+++ b/keyboards/jkeys_design/gentleman65/rules.mk
diff --git a/keyboards/jkeys_design/gentleman65_se_s/config.h b/keyboards/jkeys_design/gentleman65_se_s/config.h
new file mode 100644
index 0000000000..effdb281e6
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/config.h
@@ -0,0 +1,52 @@
+/*
+Copyright 2021 Omar Afzal
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
+#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, B7, B2, B3, D4, D6, D7, C7, C6, B6, B5, B4 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN F7
+#define RGBLED_NUM 14
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define ENCODERS_PAD_A { B0 }
+#define ENCODERS_PAD_B { B1 }
+#define ENCODER_RESOLUTION 4
+
+#define DRIVER_LED_TOTAL 14
diff --git a/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.c b/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.c
new file mode 100644
index 0000000000..1b6133cf2a
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.c
@@ -0,0 +1,32 @@
+
+/* Copyright 2021 Omar Afzal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "gentleman65_se_s.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) { /* First encoder */
+ if (clockwise) {
+ tap_code_delay(KC_AUDIO_VOL_UP, 10);
+ } else {
+ tap_code_delay(KC_AUDIO_VOL_DOWN, 10);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.h b/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.h
new file mode 100644
index 0000000000..c313e41102
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/gentleman65_se_s.h
@@ -0,0 +1,33 @@
+/* Copyright 2021 Omar Afzal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+ K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
+ K400, K401, K403, K406, K410, K412, K413, K414, K415 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+ { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+ { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \
+ { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
+ { K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
+}
diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/info.json
new file mode 100644
index 0000000000..477940ffa6
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Gentleman 65",
+ "manufacturer": "JJ48_24 & Omar Afzal",
+ "url": "https://jkeys.design/products/gentleman-65-suited-edition",
+ "maintainer": "OmarA",
+ "usb": {
+ "vid": "0x00FA",
+ "pid": "0x2322",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/jkeys_design/gentleman65_se_s/keymaps/default/keymap.c b/keyboards/jkeys_design/gentleman65_se_s/keymaps/default/keymap.c
new file mode 100644
index 0000000000..2123947ac1
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2021 Omar Afzal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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_HUI, RGB_VAD,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI
+ ),
+
+};
diff --git a/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/keymap.c b/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9f996bb43b
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 Omar Afzal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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_HUI, RGB_VAD,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI
+ ),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
+
diff --git a/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/rules.mk b/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/jkeys_design/gentleman65_se_s/readme.md b/keyboards/jkeys_design/gentleman65_se_s/readme.md
new file mode 100644
index 0000000000..b7c9411701
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/readme.md
@@ -0,0 +1,24 @@
+# Gentleman65
+
+![Render](https://cdn.shopify.com/s/files/1/0526/3389/5105/products/render_1080x.png?v=1633234311)
+
+The Gentleman 65 Suited Edition aims to provide high levels of customization, unique features, and end game quality all at an accessible price. The board features a burger top mount for plates and an option for plateless mounting on soldered PCBs. The rear exposed brass weight and the knob add to the board's premium and minimalistic aesthetic, while the board's sound profile is accentuated with precut tape PCB backings.
+
+
+* Keyboard Maintainer: [Omar Afzal](https://github.com/0marA)
+* Hardware Supported: Gentleman 65 SE Solderd PCB for Gentleman 65 Suited Edition
+* Hardware Availability: [Jkeys.Design](https://jkeys.design/)
+
+Getting the board into bootloader mode:
+
+To flash firmware onto this board, you'll need to bring the PCB into bootloader mode. To enter bootloader mode, press the reset button on the back of the PCB twice. The reset button is located in the bottom center near the spacebar switch footprint.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make jkeys_design/gentleman65_se_s:default
+
+Flashing example for this keyboard:
+
+ make jkeys_design/gentleman65_se_s: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/jkeys_design/gentleman65_se_s/rules.mk b/keyboards/jkeys_design/gentleman65_se_s/rules.mk
new file mode 100644
index 0000000000..fceba7b48c
--- /dev/null
+++ b/keyboards/jkeys_design/gentleman65_se_s/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = no
+RGB_MATRIX_DRIVER = WS2812
+ENCODER_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/jm60/config.h b/keyboards/jm60/config.h
index 113c6b4dfb..bee9ee0ac0 100644
--- a/keyboards/jm60/config.h
+++ b/keyboards/jm60/config.h
@@ -17,13 +17,6 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JMWS
-#define PRODUCT JM60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B11, B10, B2, B1, B0 }
#define MATRIX_COL_PINS { A15, C10, C11, C12, D2, B3, B4, B5, B6, B7, B8, B9, A2, A3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/jm60/info.json b/keyboards/jm60/info.json
index cdb0da4671..5ad1053aa9 100644
--- a/keyboards/jm60/info.json
+++ b/keyboards/jm60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JM60",
+ "manufacturer": "JMWS",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/jolofsor/denial75/config.h b/keyboards/jolofsor/denial75/config.h
index 702fee324f..4e7852dbc1 100644
--- a/keyboards/jolofsor/denial75/config.h
+++ b/keyboards/jolofsor/denial75/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4A48
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jsor-hpoli
-#define PRODUCT denial75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { F7, C7, C6, B5, B4, D7, D6, D4, E6, B1, B2, B3, B7, D0, D1, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jolofsor/denial75/info.json b/keyboards/jolofsor/denial75/info.json
index 71c9651a8a..0224187eff 100644
--- a/keyboards/jolofsor/denial75/info.json
+++ b/keyboards/jolofsor/denial75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "denial75",
+ "manufacturer": "jsor-hpoli",
"url": "",
"maintainer": "jolofsor",
+ "usb": {
+ "vid": "0x4A48",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_denial75_ansi": {
"layout": [
diff --git a/keyboards/jones/v03/config.h b/keyboards/jones/v03/config.h
index 706c1d05e9..2c44bbd6bd 100644
--- a/keyboards/jones/v03/config.h
+++ b/keyboards/jones/v03/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB9DD
-#define PRODUCT_ID 0x175A
-#define DEVICE_VER 0x0030
-#define MANUFACTURER jpskenn
-#define PRODUCT Jones
-
/* key matrix size */
// Same size for Jones' custom Round-Robin matrix.
#define MATRIX_ROWS 11
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Same pins for Jones' custom Round-Robin matrix.
#define MATRIX_ROW_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 }
#define MATRIX_COL_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
// No need to define DIODE_DIRECTION for Jones' custom Round-Robin matrix.
diff --git a/keyboards/jones/v03/info.json b/keyboards/jones/v03/info.json
index c3d0477afc..c2884886b6 100644
--- a/keyboards/jones/v03/info.json
+++ b/keyboards/jones/v03/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jones",
+ "manufacturer": "jpskenn",
"url": "https://github.com/jpskenn/Jones",
"maintainer": "jpskenn",
+ "usb": {
+ "vid": "0xB9DD",
+ "pid": "0x175A",
+ "device_version": "0.3.0"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/jones/v03/keymaps/default_jp/config.h b/keyboards/jones/v03/keymaps/default_jp/config.h
index aa06121c1c..7545003ac7 100644
--- a/keyboards/jones/v03/keymaps/default_jp/config.h
+++ b/keyboards/jones/v03/keymaps/default_jp/config.h
@@ -21,3 +21,4 @@
// time for long press
#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/jones/v03/keymaps/default_jp/keymap.c b/keyboards/jones/v03/keymaps/default_jp/keymap.c
index 3f5b10208c..bdcb9e88b1 100644
--- a/keyboards/jones/v03/keymaps/default_jp/keymap.c
+++ b/keyboards/jones/v03/keymaps/default_jp/keymap.c
@@ -51,9 +51,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data);
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
- [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275),
+ [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_ESC_NUM):
+ return 275;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
MAC = SAFE_RANGE,
@@ -303,7 +312,7 @@ static tap ql_tap_state = {
// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM): // ESC key action
switch (ql_tap_state.state) {
case SINGLE_TAP:
@@ -332,7 +341,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
}
void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM):
// If the key was held down and now is released then switch off the layer
if (ql_tap_state.state == TAP_HOLD) {
diff --git a/keyboards/jones/v03_1/config.h b/keyboards/jones/v03_1/config.h
index 33dd0994a5..9359b0a51b 100644
--- a/keyboards/jones/v03_1/config.h
+++ b/keyboards/jones/v03_1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB9DD
-#define PRODUCT_ID 0x175A
-#define DEVICE_VER 0x0031
-#define MANUFACTURER jpskenn
-#define PRODUCT Jones
-
/* key matrix size */
// Same size for Jones' custom Round-Robin matrix.
#define MATRIX_ROWS 11
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Same pins for Jones' custom Round-Robin matrix.
#define MATRIX_ROW_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 }
#define MATRIX_COL_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
// No need to define DIODE_DIRECTION for Jones' custom Round-Robin matrix.
diff --git a/keyboards/jones/v03_1/info.json b/keyboards/jones/v03_1/info.json
index c3d0477afc..365178b9d5 100644
--- a/keyboards/jones/v03_1/info.json
+++ b/keyboards/jones/v03_1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jones",
+ "manufacturer": "jpskenn",
"url": "https://github.com/jpskenn/Jones",
"maintainer": "jpskenn",
+ "usb": {
+ "vid": "0xB9DD",
+ "pid": "0x175A",
+ "device_version": "0.3.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/config.h b/keyboards/jones/v03_1/keymaps/default_ansi/config.h
index 0b51190bbe..ee7b09a90c 100644
--- a/keyboards/jones/v03_1/keymaps/default_ansi/config.h
+++ b/keyboards/jones/v03_1/keymaps/default_ansi/config.h
@@ -21,6 +21,7 @@
// time for long press
#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
// music map for music-mode
#define MUSIC_MAP
diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
index 5b1486bb86..a592418c4d 100644
--- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c
@@ -50,9 +50,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data);
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
- [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275),
+ [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_ESC_NUM):
+ return 275;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
MAC = SAFE_RANGE,
@@ -244,7 +253,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
}
if (index == 1) { /* Second encoder, Left side */
- switch(biton32(layer_state)) {
+ switch(get_highest_layer(layer_state)) {
case _LOWER:
if (clockwise) {
rgblight_decrease_hue();
@@ -322,7 +331,7 @@ static tap ql_tap_state = {
// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM): // ESC key action
switch (ql_tap_state.state) {
case SINGLE_TAP:
@@ -351,7 +360,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
}
void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM):
// If the key was held down and now is released then switch off the layer
if (ql_tap_state.state == TAP_HOLD) {
diff --git a/keyboards/jones/v03_1/keymaps/default_jp/config.h b/keyboards/jones/v03_1/keymaps/default_jp/config.h
index 0b51190bbe..ee7b09a90c 100644
--- a/keyboards/jones/v03_1/keymaps/default_jp/config.h
+++ b/keyboards/jones/v03_1/keymaps/default_jp/config.h
@@ -21,6 +21,7 @@
// time for long press
#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
// music map for music-mode
#define MUSIC_MAP
diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
index 436586a721..56f51d56ce 100644
--- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
+++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c
@@ -51,9 +51,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data);
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
- [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275),
+ [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset),
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_ESC_NUM):
+ return 275;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
MAC = SAFE_RANGE,
@@ -246,7 +255,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
}
if (index == 1) { /* Second encoder, Left side */
- switch(biton32(layer_state)) {
+ switch(get_highest_layer(layer_state)) {
case _LOWER:
if (clockwise) {
rgblight_decrease_hue();
@@ -324,7 +333,7 @@ static tap ql_tap_state = {
// Functions that control what our tap dance key does
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM): // ESC key action
switch (ql_tap_state.state) {
case SINGLE_TAP:
@@ -353,7 +362,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
}
void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
- switch(state->keycode) {
+ switch(TAP_DANCE_KEYCODE(state)) {
case TD(TD_ESC_NUM):
// If the key was held down and now is released then switch off the layer
if (ql_tap_state.state == TAP_HOLD) {
diff --git a/keyboards/jones/v1/config.h b/keyboards/jones/v1/config.h
index 16610eef4a..0d4ab90a60 100644
--- a/keyboards/jones/v1/config.h
+++ b/keyboards/jones/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB9DD
-#define PRODUCT_ID 0x175A
-#define DEVICE_VER 0x0100
-#define MANUFACTURER jpskenn
-#define PRODUCT Jones
-
/* key matrix size */
// Same number for Round-Robin matrix.
#define MATRIX_ROWS 10
diff --git a/keyboards/jones/v1/info.json b/keyboards/jones/v1/info.json
index 6aba4fd74b..e323445fc9 100644
--- a/keyboards/jones/v1/info.json
+++ b/keyboards/jones/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jones",
+ "manufacturer": "jpskenn",
"url": "https://github.com/jpskenn/Jones",
"maintainer": "jpskenn",
+ "usb": {
+ "vid": "0xB9DD",
+ "pid": "0x175A",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/jorne/info.json b/keyboards/jorne/info.json
deleted file mode 100644
index a28af0a320..0000000000
--- a/keyboards/jorne/info.json
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- "keyboard_name": "Jorne",
- "url": "https://github.com/joric/jorne/wiki",
- "maintainer": "joric",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {
- "label": "GUI",
- "x": 0,
- "y": 2.13
- },
- {
- "label": "~",
- "x": 1,
- "y": 1.38
- },
- {
- "label": "Q",
- "x": 2,
- "y": 1.38
- },
- {
- "label": "W",
- "x": 3,
- "y": 1.13
- },
- {
- "label": "E",
- "x": 4,
- "y": 1
- },
- {
- "label": "R",
- "x": 5,
- "y": 1.13
- },
- {
- "label": "T",
- "x": 6,
- "y": 1.25
- },
-
- {
- "label": "Y",
- "x": 10.5,
- "y": 1.25
- },
- {
- "label": "U",
- "x": 11.5,
- "y": 1.125
- },
- {
- "label": "I",
- "x": 12.5,
- "y": 1
- },
- {
- "label": "O",
- "x": 13.5,
- "y": 1.125
- },
- {
- "label": "P",
- "x": 14.5,
- "y": 1.375
- },
- {
- "label": "{[",
- "x": 15.5,
- "y": 1.375
- },
- {
- "label": "}]",
- "x": 16.5,
- "y": 2.13
- },
-
- {
- "label": "Ctrl",
- "x": 1,
- "y": 2.38
- },
- {
- "label": "A",
- "x": 2,
- "y": 2.38
- },
- {
- "label": "S",
- "x": 3,
- "y": 2.13
- },
- {
- "label": "D",
- "x": 4,
- "y": 2
- },
- {
- "label": "F",
- "x": 5,
- "y": 2.13
- },
- {
- "label": "G",
- "x": 6,
- "y": 2.25
- },
-
- {
- "label": "H",
- "x": 10.5,
- "y": 2.25
- },
- {
- "label": "J",
- "x": 11.5,
- "y": 2.13
- },
- {
- "label": "K",
- "x": 12.5,
- "y": 2
- },
- {
- "label": "L",
- "x": 13.5,
- "y": 2.125
- },
- {
- "label": ":;",
- "x": 14.5,
- "y": 2.375
- },
- {
- "label": "\"'",
- "x": 15.5,
- "y": 2.375
- },
-
- {
- "label": "Alt",
- "x": 1,
- "y": 3.38
- },
- {
- "label": "Z",
- "x": 2,
- "y": 3.38
- },
- {
- "label": "X",
- "x": 3,
- "y": 3.13
- },
- {
- "label": "C",
- "x": 4,
- "y": 3
- },
- {
- "label": "V",
- "x": 5,
- "y": 3.13
- },
- {
- "label": "B",
- "x": 6,
- "y": 3.25
- },
-
- {
- "label": "N",
- "x": 10.5,
- "y": 3.25
- },
- {
- "label": "M",
- "x": 11.5,
- "y": 3.13
- },
- {
- "label": "<,",
- "x": 12.5,
- "y": 3
- },
- {
- "label": ">.",
- "x": 13.5,
- "y": 3.13
- },
- {
- "label": "?/",
- "x": 14.5,
- "y": 3.38
- },
- {
- "label": "|\\",
- "x": 15.5,
- "y": 3.38
- },
-
- {
- "label": "Rise",
- "x": 5,
- "y": 5
- },
- {
- "label": "Space",
- "x": 6,
- "y": 5
- },
- {
- "label": "Lower",
- "x": 7,
- "y": 4.5,
- "h": 1.5
- },
-
- {
- "label": "Lower",
- "x": 9.5,
- "y": 4.5,
- "h": 1.5
- },
- {
- "label": "Bcs",
- "x": 10.5,
- "y": 5
- },
- {
- "label": "Rise",
- "x": 11.5,
- "y": 5
- }
- ]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/jorne/keymaps/manna-harbour_miryoku/config.h b/keyboards/jorne/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..76b24aa99e
--- /dev/null
+++ b/keyboards/jorne/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,21 @@
+// Copyright 2022 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, XXX, \
+ XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
+ XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
+ K32, K33, K34, K35, K36, K37 \
+)
diff --git a/keyboards/jorne/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/jorne/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..dbab7f9820
--- /dev/null
+++ b/keyboards/jorne/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/jorne/readme.md b/keyboards/jorne/readme.md
index 71c698e67e..77d56b9d51 100644
--- a/keyboards/jorne/readme.md
+++ b/keyboards/jorne/readme.md
@@ -14,7 +14,7 @@ Jorne is essentially [Corne](https://github.com/foostan/crkbd) but with an extra
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the reset button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET`
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
## Make
diff --git a/keyboards/jorne/rev1/config.h b/keyboards/jorne/rev1/config.h
index 7144d9fe0a..81483f04cc 100644
--- a/keyboards/jorne/rev1/config.h
+++ b/keyboards/jorne/rev1/config.h
@@ -2,14 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4753
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER joric
-#define PRODUCT Jorne Keyboard
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -17,7 +9,6 @@
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/jorne/rev1/info.json b/keyboards/jorne/rev1/info.json
new file mode 100644
index 0000000000..9e0cf7be41
--- /dev/null
+++ b/keyboards/jorne/rev1/info.json
@@ -0,0 +1,246 @@
+{
+ "keyboard_name": "Jorne",
+ "manufacturer": "joric",
+ "url": "https://github.com/joric/jorne/wiki",
+ "maintainer": "joric",
+ "usb": {
+ "vid": "0x4753",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "GUI",
+ "x": 0,
+ "y": 2.13
+ },
+ {
+ "label": "~",
+ "x": 1,
+ "y": 1.38
+ },
+ {
+ "label": "Q",
+ "x": 2,
+ "y": 1.38
+ },
+ {
+ "label": "W",
+ "x": 3,
+ "y": 1.13
+ },
+ {
+ "label": "E",
+ "x": 4,
+ "y": 1
+ },
+ {
+ "label": "R",
+ "x": 5,
+ "y": 1.13
+ },
+ {
+ "label": "T",
+ "x": 6,
+ "y": 1.25
+ },
+
+ {
+ "label": "Y",
+ "x": 10.5,
+ "y": 1.25
+ },
+ {
+ "label": "U",
+ "x": 11.5,
+ "y": 1.125
+ },
+ {
+ "label": "I",
+ "x": 12.5,
+ "y": 1
+ },
+ {
+ "label": "O",
+ "x": 13.5,
+ "y": 1.125
+ },
+ {
+ "label": "P",
+ "x": 14.5,
+ "y": 1.375
+ },
+ {
+ "label": "{[",
+ "x": 15.5,
+ "y": 1.375
+ },
+ {
+ "label": "}]",
+ "x": 16.5,
+ "y": 2.13
+ },
+
+ {
+ "label": "Ctrl",
+ "x": 1,
+ "y": 2.38
+ },
+ {
+ "label": "A",
+ "x": 2,
+ "y": 2.38
+ },
+ {
+ "label": "S",
+ "x": 3,
+ "y": 2.13
+ },
+ {
+ "label": "D",
+ "x": 4,
+ "y": 2
+ },
+ {
+ "label": "F",
+ "x": 5,
+ "y": 2.13
+ },
+ {
+ "label": "G",
+ "x": 6,
+ "y": 2.25
+ },
+
+ {
+ "label": "H",
+ "x": 10.5,
+ "y": 2.25
+ },
+ {
+ "label": "J",
+ "x": 11.5,
+ "y": 2.13
+ },
+ {
+ "label": "K",
+ "x": 12.5,
+ "y": 2
+ },
+ {
+ "label": "L",
+ "x": 13.5,
+ "y": 2.125
+ },
+ {
+ "label": ":;",
+ "x": 14.5,
+ "y": 2.375
+ },
+ {
+ "label": "\"'",
+ "x": 15.5,
+ "y": 2.375
+ },
+
+ {
+ "label": "Alt",
+ "x": 1,
+ "y": 3.38
+ },
+ {
+ "label": "Z",
+ "x": 2,
+ "y": 3.38
+ },
+ {
+ "label": "X",
+ "x": 3,
+ "y": 3.13
+ },
+ {
+ "label": "C",
+ "x": 4,
+ "y": 3
+ },
+ {
+ "label": "V",
+ "x": 5,
+ "y": 3.13
+ },
+ {
+ "label": "B",
+ "x": 6,
+ "y": 3.25
+ },
+
+ {
+ "label": "N",
+ "x": 10.5,
+ "y": 3.25
+ },
+ {
+ "label": "M",
+ "x": 11.5,
+ "y": 3.13
+ },
+ {
+ "label": "<,",
+ "x": 12.5,
+ "y": 3
+ },
+ {
+ "label": ">.",
+ "x": 13.5,
+ "y": 3.13
+ },
+ {
+ "label": "?/",
+ "x": 14.5,
+ "y": 3.38
+ },
+ {
+ "label": "|\\",
+ "x": 15.5,
+ "y": 3.38
+ },
+
+ {
+ "label": "Rise",
+ "x": 5,
+ "y": 5
+ },
+ {
+ "label": "Space",
+ "x": 6,
+ "y": 5
+ },
+ {
+ "label": "Lower",
+ "x": 7,
+ "y": 4.5,
+ "h": 1.5
+ },
+
+ {
+ "label": "Lower",
+ "x": 9.5,
+ "y": 4.5,
+ "h": 1.5
+ },
+ {
+ "label": "Bcs",
+ "x": 10.5,
+ "y": 5
+ },
+ {
+ "label": "Rise",
+ "x": 11.5,
+ "y": 5
+ }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/k34/config.h b/keyboards/k34/config.h
index 4d9910d50d..b7cbe618c2 100644
--- a/keyboards/k34/config.h
+++ b/keyboards/k34/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jp_smasher
-#define PRODUCT k34
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F4, B2, E6, B4 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS { B5, B6, D2, D3 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/k34/info.json b/keyboards/k34/info.json
index 0917e44961..fe80b8b999 100644
--- a/keyboards/k34/info.json
+++ b/keyboards/k34/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "k34",
+ "manufacturer": "jp_smasher",
"url": "https://github.com/wongjingping/k34",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/k34/readme.md b/keyboards/k34/readme.md
index 8f17c7e5de..8576def947 100644
--- a/keyboards/k34/readme.md
+++ b/keyboards/k34/readme.md
@@ -11,7 +11,7 @@ All hardware supported can be found in the [k34 repository](https://github.com/w
## Flashing Instructions
-To enter the bootloader, short the RST and GND pins, or press the key mapped to `RESET`.
+To enter the bootloader, short the RST and GND pins, or press the key mapped to `QK_BOOT`.
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kabedon/kabedon78s/config.h b/keyboards/kabedon/kabedon78s/config.h
index e0076afed8..fe34ddf67c 100644
--- a/keyboards/kabedon/kabedon78s/config.h
+++ b/keyboards/kabedon/kabedon78s/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B44 //KD
-#define PRODUCT_ID 0x3738 //78
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kabe_Don
-#define PRODUCT 78S
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/kabedon/kabedon78s/info.json b/keyboards/kabedon/kabedon78s/info.json
index beaf71bd14..83668c5458 100644
--- a/keyboards/kabedon/kabedon78s/info.json
+++ b/keyboards/kabedon/kabedon78s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KabeDon78s",
+ "keyboard_name": "78S",
+ "manufacturer": "Kabe_Don",
"url": "",
"maintainer": "370490639",
+ "usb": {
+ "vid": "0x4B44",
+ "pid": "0x3738",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kabedon/kabedon980/config.h b/keyboards/kabedon/kabedon980/config.h
index db93dfcf85..ad667ae252 100644
--- a/keyboards/kabedon/kabedon980/config.h
+++ b/keyboards/kabedon/kabedon980/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B44 //KD
-#define PRODUCT_ID 0x3938 //98
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kabe_Don
-#define PRODUCT 980
-
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 13
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS {D0,D2,F7,B1,B0,D6,C7,D7,B5,B2}
#define MATRIX_COL_PINS {F5,F4,F6,C6,B6,B4,D3,D1,D4,F1,B3,D5,F0}
-#define UNUSED_PINS
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kabedon/kabedon980/info.json b/keyboards/kabedon/kabedon980/info.json
index 5be1ee11dd..879ea537be 100644
--- a/keyboards/kabedon/kabedon980/info.json
+++ b/keyboards/kabedon/kabedon980/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KabeDon980",
+ "keyboard_name": "980",
+ "manufacturer": "Kabe_Don",
"url": "https://kabedon.taobao.com",
"maintainer": "370490639",
+ "usb": {
+ "vid": "0x4B44",
+ "pid": "0x3938",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kabedon/kabedon98e/config.h b/keyboards/kabedon/kabedon98e/config.h
index a34e99bccd..e5cd98c40b 100644
--- a/keyboards/kabedon/kabedon98e/config.h
+++ b/keyboards/kabedon/kabedon98e/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B44
-#define PRODUCT_ID 0x3935
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Kabe_Don
-#define PRODUCT 98e
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 11
diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json
index de8f975b2d..60a1cd25c6 100644
--- a/keyboards/kabedon/kabedon98e/info.json
+++ b/keyboards/kabedon/kabedon98e/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KabeDon98E",
+ "keyboard_name": "98e",
+ "manufacturer": "Kabe_Don",
"url": "",
"maintainer": "370490639",
+ "usb": {
+ "vid": "0x4B44",
+ "pid": "0x3935",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kagizaraya/chidori/config.h b/keyboards/kagizaraya/chidori/config.h
index fba0ab1e39..cf9c38b64f 100644
--- a/keyboards/kagizaraya/chidori/config.h
+++ b/keyboards/kagizaraya/chidori/config.h
@@ -19,13 +19,6 @@ 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 0x3942
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kagizaraya
-#define PRODUCT Chidori
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS \
{ F1, F0, B0 }
*/
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
// #define DIODE_DIRECTION COL2ROW
@@ -160,3 +152,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0
+
+/* USB config */
+#define USB_MAX_POWER_CONSUMPTION 100
+#define USB_COUNT_SOF 0
+#define USB_INTR_CFG_SET (1 << ISC01)
+#define USB_INTR_ENABLE_BIT INT0
+#define USB_INTR_PENDING_BIT INTF0
+#define USB_INTR_VECTOR INT0_vect
diff --git a/keyboards/kagizaraya/chidori/info.json b/keyboards/kagizaraya/chidori/info.json
index 9c879c7649..a57b82bf04 100644
--- a/keyboards/kagizaraya/chidori/info.json
+++ b/keyboards/kagizaraya/chidori/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chidori",
+ "manufacturer": "Kagizaraya",
"url": "",
"maintainer": "ka2hiro",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3942",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c b/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
index 174e9ff2e6..33fa31c261 100644
--- a/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
+++ b/keyboards/kagizaraya/chidori/keymaps/extended/keymap.c
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_extended(
- _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NLCK, KC_ESC,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NLCK, KC_ESC,
KC_CAPS, _______, _______, _______, _______, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS, KC_P4, KC_P5, KC_P6, _______, KC_PSLS, KC_TAB,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PAST, KC_PEQL,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_P0, _______, KC_PDOT,_______, KC_PMNS, KC_BSPC
diff --git a/keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c b/keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c
index 78107a18ec..ee96358e81 100644
--- a/keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c
+++ b/keyboards/kagizaraya/chidori/keymaps/oled_sample/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT(
- _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS,
KC_CAPS, _______, _______, _______, _______, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
diff --git a/keyboards/kagizaraya/halberd/config.h b/keyboards/kagizaraya/halberd/config.h
index 085688e335..932c8cac3a 100644
--- a/keyboards/kagizaraya/halberd/config.h
+++ b/keyboards/kagizaraya/halberd/config.h
@@ -18,13 +18,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kagizaraya
-#define PRODUCT Halberd
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D6, D4, D5, E6 }
#define MATRIX_COL_PINS { D7, B4, C7, C6, B6, B5, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kagizaraya/halberd/info.json b/keyboards/kagizaraya/halberd/info.json
index cd8ae3b27a..e345972680 100644
--- a/keyboards/kagizaraya/halberd/info.json
+++ b/keyboards/kagizaraya/halberd/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Halberd",
+ "manufacturer": "Kagizaraya",
"url": "",
"maintainer": "ka2hiro",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"!", "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":"Tab", "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":"Tab", "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":"BkSp", "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":"Caps", "x":0, "y":2}, {"label":"-", "x":1, "y":2}, {"label":"=", "x":2, "y":2}, {"label":"\\", "x":3, "y":2}, {"label":"`", "x":4, "y":2}, {"label":"Enter", "x":5, "y":2}, {"label":";", "x":6, "y":2}, {"label":"'", "x":7, "y":2}, {"label":"<", "x":8, "y":2}, {"label":"[", "x":9, "y":2}, {"label":"]", "x":10, "y":2}, {"label":"GUI", "x":2, "y":3}, {"label":"Lower", "x":3, "y":3}, {"label":"Esc", "x":4, "y":3}, {"x":5, "y":3}, {"label":"Shift", "x":6, "y":3}, {"label":"Raise", "x":7, "y":3}, {"label":"Alt", "x":8, "y":3}]
diff --git a/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c
index f74eef4541..d75b5b6079 100644
--- a/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c
+++ b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c
@@ -105,7 +105,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, _______,
KC_F11, KC_F12, RGB_RMOD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______,
_______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/kagizaraya/scythe/config.h b/keyboards/kagizaraya/scythe/config.h
index fb75e32b62..1df0fb6593 100644
--- a/keyboards/kagizaraya/scythe/config.h
+++ b/keyboards/kagizaraya/scythe/config.h
@@ -18,13 +18,6 @@ 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 0x3941
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kagizaraya
-#define PRODUCT Scythe
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
#define SOFT_SERIAL_PIN D0
diff --git a/keyboards/kagizaraya/scythe/info.json b/keyboards/kagizaraya/scythe/info.json
index 23151ea841..8b91a851ec 100644
--- a/keyboards/kagizaraya/scythe/info.json
+++ b/keyboards/kagizaraya/scythe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Scythe",
+ "manufacturer": "Kagizaraya",
"url": "",
"maintainer": "ka2hiro",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3941",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":2, "y":0}, {"label":"1", "x":3, "y":0}, {"label":"2", "x":4, "y":0}, {"label":"3", "x":5, "y":0}, {"label":"4", "x":6, "y":0}, {"label":"5", "x":7, "y":0}, {"label":"_", "x":8, "y":0}, {"label":"+", "x":9.5, "y":0}, {"label":"6", "x":10.5, "y":0}, {"label":"7", "x":11.5, "y":0}, {"label":"8", "x":12.5, "y":0}, {"label":"9", "x":13.5, "y":0}, {"label":"0", "x":14.5, "y":0}, {"label":"\\", "x":15.5, "y":0}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"{", "x":7.75, "y":1}, {"label":"}", "x":9.75, "y":1}, {"label":"Y", "x":10.75, "y":1}, {"label":"U", "x":11.75, "y":1}, {"label":"I", "x":12.75, "y":1}, {"label":"O", "x":13.75, "y":1}, {"label":"P", "x":14.75, "y":1}, {"label":"Backace", "x":15.75, "y":1, "w":1.5}, {"label":"Control", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"~", "x":7.5, "y":2}, {"label":"\"", "x":10, "y":2}, {"label":"H", "x":11, "y":2}, {"label":"J", "x":12, "y":2}, {"label":"K", "x":13, "y":2}, {"label":"L", "x":14, "y":2}, {"label":":", "x":15, "y":2}, {"label":"Return", "x":16, "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":"Caps", "x":7.25, "y":3}, {"label":"Del", "x":10.25, "y":3}, {"label":"N", "x":11.25, "y":3}, {"label":"M", "x":12.25, "y":3}, {"label":"<", "x":13.25, "y":3}, {"label":">", "x":14.25, "y":3}, {"label":"?", "x":15.25, "y":3}, {"label":"Shift", "x":16.25, "y":3, "w":1.75}, {"label":"Fn", "x":18, "y":3}, {"label":"", "x":2.75, "y":4, "w":1.25}, {"label":"", "x":4, "y":4, "w":1.25}, {"label":"Fn", "x":5.25, "y":4, "w":1.25}, {"x":6.5, "y":4, "w":2}, {"x":10, "y":4, "w":2}, {"label":"Fn", "x":12, "y":4, "w":1.25}, {"label":"", "x":13.25, "y":4, "w":1.25}, {"label":"", "x":14.5, "y":4, "w":1.25}]
diff --git a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c
index 4d2fc88243..ba1c970cf7 100644
--- a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c
+++ b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c
@@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, KC_F10, KC_F12, BL_TOGG, _______, BL_INC , BL_DEC , _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______,
+ _______, QK_BOOT, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/kakunpc/angel17/alpha/config.h b/keyboards/kakunpc/angel17/alpha/config.h
index 192464c216..ae74b25e1a 100644
--- a/keyboards/kakunpc/angel17/alpha/config.h
+++ b/keyboards/kakunpc/angel17/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT angel17
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kakunpc/angel17/info.json b/keyboards/kakunpc/angel17/info.json
index 24a6c6be08..f3532f8fb6 100644
--- a/keyboards/kakunpc/angel17/info.json
+++ b/keyboards/kakunpc/angel17/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "angel17",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/kakunpc/angel17/rev1/config.h b/keyboards/kakunpc/angel17/rev1/config.h
index f042a089c4..0d5f8d597f 100644
--- a/keyboards/kakunpc/angel17/rev1/config.h
+++ b/keyboards/kakunpc/angel17/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT angel17
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kakunpc/angel64/alpha/config.h b/keyboards/kakunpc/angel64/alpha/config.h
index d2057266ce..796bd9dc51 100644
--- a/keyboards/kakunpc/angel64/alpha/config.h
+++ b/keyboards/kakunpc/angel64/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0A64
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT angel64
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
@@ -36,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
diff --git a/keyboards/kakunpc/angel64/alpha/info.json b/keyboards/kakunpc/angel64/alpha/info.json
index 6fceff4490..a73004f092 100644
--- a/keyboards/kakunpc/angel64/alpha/info.json
+++ b/keyboards/kakunpc/angel64/alpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "angel64_alpha",
+ "keyboard_name": "angel64 alpha",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0A64",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":"back", "x":13, "y":0}, {"label":"Q", "x":0, "y":1, "w":1.5}, {"label":"W", "x":1.5, "y":1}, {"label":"E", "x":2.5, "y":1}, {"label":"R", "x":3.5, "y":1}, {"label":"T", "x":4.5, "y":1}, {"label":"Y", "x":5.5, "y":1}, {"label":"U", "x":6.5, "y":1}, {"label":"I", "x":7.5, "y":1}, {"label":"O", "x":8.5, "y":1}, {"label":"P", "x":9.5, "y":1}, {"label":"[", "x":10.5, "y":1}, {"label":"]", "x":11.5, "y":1}, {"label":"|", "x":12.5, "y":1, "w":1.5}, {"label":"Ctrl", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":6, "y":2}, {"label":"J", "x":7, "y":2}, {"label":"K", "x":8, "y":2}, {"label":"L", "x":9, "y":2}, {"label":";:", "x":10, "y":2}, {"label":"`", "x":11, "y":2}, {"label":"Enter", "x":12, "y":2, "w":2}, {"label":"Shift", "x":0, "y":3, "w":1.5}, {"label":"Z", "x":1.5, "y":3}, {"label":"X", "x":2.5, "y":3}, {"label":"C", "x":3.5, "y":3}, {"label":"V", "x":4.5, "y":3}, {"label":"B", "x":5.5, "y":3}, {"label":"N", "x":6.5, "y":3}, {"label":"M", "x":7.5, "y":3}, {"label":"<", "x":8.5, "y":3}, {"label":">", "x":9.5, "y":3}, {"label":"?", "x":10.5, "y":3}, {"label":"\u2191", "x":11.5, "y":3}, {"label":"Fn", "x":12.5, "y":3, "w":1.5}, {"label":"Caps", "x":0, "y":4}, {"label":"Alt", "x":1, "y":4}, {"label":"Start", "x":2, "y":4, "w":1.5}, {"label":"Ctrl", "x":3.5, "y":4, "w":1.5}, {"label":"Space", "x":5, "y":4, "w":2}, {"label":"Ctrl", "x":7, "y":4, "w":1.5}, {"label":"Alt", "x":8.5, "y":4, "w":1.5}, {"label":"\u2190", "x":10, "y":4}, {"label":"\u2193", "x":11, "y":4}, {"label":"\u2192", "x":12, "y":4}, {"label":"Alt", "x":13, "y":4}]
diff --git a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
index 0f2a8dada1..92dfa7da6e 100644
--- a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef OLED_ENABLE
bool oled_task_user(void) {
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case BASE:
oled_write_P(PSTR("Default\n"), false);
break;
diff --git a/keyboards/kakunpc/angel64/rev1/config.h b/keyboards/kakunpc/angel64/rev1/config.h
index d2057266ce..796bd9dc51 100644
--- a/keyboards/kakunpc/angel64/rev1/config.h
+++ b/keyboards/kakunpc/angel64/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0A64
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT angel64
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
@@ -36,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
diff --git a/keyboards/kakunpc/angel64/rev1/info.json b/keyboards/kakunpc/angel64/rev1/info.json
index fe6b4f5e05..688674c8c7 100644
--- a/keyboards/kakunpc/angel64/rev1/info.json
+++ b/keyboards/kakunpc/angel64/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "angel64_rev1",
+ "keyboard_name": "angel64 rev1",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0A64",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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":"Caps Lock", "x":0, "y":2, "w":2}, {"label":"A", "x":2, "y":2}, {"label":"S", "x":3, "y":2}, {"label":"D", "x":4, "y":2}, {"label":"F", "x":5, "y":2}, {"label":"G", "x":6, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":":", "x":11, "y":2}, {"label":"\"", "x":12, "y":2}, {"label":"Enter", "x":13, "y":2, "w":2}, {"label":"Shift", "x":0, "y":3, "w":2.5}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":"<", "x":9.5, "y":3}, {"label":">", "x":10.5, "y":3}, {"label":"?", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Alt", "x":1.25, "y":4, "w":1.5}, {"label":"Win", "x":2.75, "y":4, "w":1.5}, {"x":4.25, "y":4}, {"x":5.25, "y":4, "w":1.5}, {"x":6.75, "y":4, "w":1.5}, {"x":8.25, "y":4, "w":1.5}, {"x":9.75, "y":4}, {"label":"Alt", "x":10.75, "y":4, "w":1.5}, {"label":"Menu", "x":12.25, "y":4, "w":1.5}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
index 6c5184c1b3..601bf5f02f 100644
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
+++ b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c
@@ -175,7 +175,7 @@ void matrix_scan_user(void) {
#ifdef OLED_ENABLE
bool oled_task_user(void) {
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case BASE:
oled_write_P(PSTR("Default\n"), false);
break;
diff --git a/keyboards/kakunpc/business_card/alpha/config.h b/keyboards/kakunpc/business_card/alpha/config.h
index e7b5f7147d..9673d0328e 100644
--- a/keyboards/kakunpc/business_card/alpha/config.h
+++ b/keyboards/kakunpc/business_card/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT business_card
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B6 }
#define MATRIX_COL_PINS { E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kakunpc/business_card/alpha/info.json b/keyboards/kakunpc/business_card/alpha/info.json
index 57f0fbd9a6..efa3ad965a 100644
--- a/keyboards/kakunpc/business_card/alpha/info.json
+++ b/keyboards/kakunpc/business_card/alpha/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "business_card alpha",
+ "manufacturer": "kakunpc",
"url": "",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kakunpc/business_card/beta/config.h b/keyboards/kakunpc/business_card/beta/config.h
index 2bee5f5337..3f78333468 100644
--- a/keyboards/kakunpc/business_card/beta/config.h
+++ b/keyboards/kakunpc/business_card/beta/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT business_card
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 2
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B6 }
#define MATRIX_COL_PINS { B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kakunpc/business_card/beta/info.json b/keyboards/kakunpc/business_card/beta/info.json
index 58f2a5b20d..87c8c07930 100644
--- a/keyboards/kakunpc/business_card/beta/info.json
+++ b/keyboards/kakunpc/business_card/beta/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "business_card beta",
+ "manufacturer": "kakunpc",
"url": "",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kakunpc/choc_taro/config.h b/keyboards/kakunpc/choc_taro/config.h
index e81abe07a6..5ccbbee0cd 100644
--- a/keyboards/kakunpc/choc_taro/config.h
+++ b/keyboards/kakunpc/choc_taro/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter
- VID & PID are lisenced from microchip sublisence program, Don't use other project! */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT choc_taro
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 5
@@ -42,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
diff --git a/keyboards/kakunpc/choc_taro/info.json b/keyboards/kakunpc/choc_taro/info.json
index 3a193ee05e..d08b6a093d 100644
--- a/keyboards/kakunpc/choc_taro/info.json
+++ b/keyboards/kakunpc/choc_taro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "choc_taro",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB60",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kakunpc/rabbit_capture_plan/config.h b/keyboards/kakunpc/rabbit_capture_plan/config.h
index a115454fcc..89aaf90ee3 100644
--- a/keyboards/kakunpc/rabbit_capture_plan/config.h
+++ b/keyboards/kakunpc/rabbit_capture_plan/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter
- VID & PID are lisenced from microchip sublisence program, Don't use other project! */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB59
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT rabbit_capture_plan
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kakunpc/rabbit_capture_plan/info.json b/keyboards/kakunpc/rabbit_capture_plan/info.json
index 4a660cf85e..d587ec1797 100644
--- a/keyboards/kakunpc/rabbit_capture_plan/info.json
+++ b/keyboards/kakunpc/rabbit_capture_plan/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rabbit_capture_plan",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB59",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kakunpc/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h
index 3d821566ae..2d20aa16e9 100644
--- a/keyboards/kakunpc/suihankey/alpha/config.h
+++ b/keyboards/kakunpc/suihankey/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT Suihankey
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
// #define USE_I2C
// #undef USE_SERIAL
diff --git a/keyboards/kakunpc/suihankey/alpha/info.json b/keyboards/kakunpc/suihankey/alpha/info.json
index 70029e17c9..299c847aab 100644
--- a/keyboards/kakunpc/suihankey/alpha/info.json
+++ b/keyboards/kakunpc/suihankey/alpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "suihankey",
+ "keyboard_name": "Suihankey",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
index b682f0f15d..d937b68813 100644
--- a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef OLED_ENABLE
bool oled_task_user(void) {
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case BASE:
oled_write_P(PSTR("Default\n"), false);
break;
diff --git a/keyboards/kakunpc/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h
index 106cfc2c3b..a1e7183124 100644
--- a/keyboards/kakunpc/suihankey/rev1/config.h
+++ b/keyboards/kakunpc/suihankey/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT Suihankey
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
//#define USE_I2C
//#undef USE_SERIAL
diff --git a/keyboards/kakunpc/suihankey/rev1/info.json b/keyboards/kakunpc/suihankey/rev1/info.json
index 70029e17c9..299c847aab 100644
--- a/keyboards/kakunpc/suihankey/rev1/info.json
+++ b/keyboards/kakunpc/suihankey/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "suihankey",
+ "keyboard_name": "Suihankey",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
index b682f0f15d..d937b68813 100644
--- a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
+++ b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef OLED_ENABLE
bool oled_task_user(void) {
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case BASE:
oled_write_P(PSTR("Default\n"), false);
break;
diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h
index 4131283166..b58b370e66 100644
--- a/keyboards/kakunpc/suihankey/split/alpha/config.h
+++ b/keyboards/kakunpc/suihankey/split/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT Suihankey
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
#define USE_I2C
#undef USE_SERIAL
diff --git a/keyboards/kakunpc/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json
index 2f40949f6b..c440c905fa 100644
--- a/keyboards/kakunpc/suihankey/split/info.json
+++ b/keyboards/kakunpc/suihankey/split/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "suihankey_split",
+ "keyboard_name": "Suihankey",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h
index 83dc587e57..14b5b2ad9d 100644
--- a/keyboards/kakunpc/suihankey/split/rev1/config.h
+++ b/keyboards/kakunpc/suihankey/split/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT Suihankey
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
-#define UNUSED_PINS
#define USE_I2C
#undef USE_SERIAL
diff --git a/keyboards/kakunpc/thedogkeyboard/config.h b/keyboards/kakunpc/thedogkeyboard/config.h
index fdf0336f5f..a0cfbc6405 100644
--- a/keyboards/kakunpc/thedogkeyboard/config.h
+++ b/keyboards/kakunpc/thedogkeyboard/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kakunpc
-#define PRODUCT thedogkeyboard
-
/* key matrix size */
#define MATRIX_ROWS 20
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B4, B5 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6 }
-#define UNUSED_PINS
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
diff --git a/keyboards/kakunpc/thedogkeyboard/info.json b/keyboards/kakunpc/thedogkeyboard/info.json
index df6cc6ffdc..5712db3d1b 100644
--- a/keyboards/kakunpc/thedogkeyboard/info.json
+++ b/keyboards/kakunpc/thedogkeyboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TheDogKeyboard",
+ "manufacturer": "kakunpc",
"url": "https://kakunpc.booth.pm/",
"maintainer": "kakunpc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"1", "x":0, "y":0}, {"label":"7", "x":2, "y":0}, {"label":"13", "x":3, "y":0}, {"label":"19", "x":4, "y":0}, {"label":"24", "x":5, "y":0}, {"label":"29", "x":6.5, "y":0}, {"label":"35", "x":7.5, "y":0}, {"label":"40", "x":8.5, "y":0}, {"label":"45", "x":9.5, "y":0}, {"label":"50", "x":11, "y":0}, {"label":"56", "x":12, "y":0}, {"label":"62", "x":13, "y":0}, {"label":"66", "x":14, "y":0}, {"label":"70", "x":15.25, "y":0}, {"label":"76", "x":16.25, "y":0}, {"label":"82", "x":17.25, "y":0}, {"label":"2", "x":0, "y":1.5}, {"label":"8", "x":1, "y":1.5}, {"label":"14", "x":2, "y":1.5}, {"label":"20", "x":3, "y":1.5}, {"label":"25", "x":4, "y":1.5}, {"label":"30", "x":5, "y":1.5}, {"label":"36", "x":6, "y":1.5}, {"label":"41", "x":7, "y":1.5}, {"label":"46", "x":8, "y":1.5}, {"label":"51", "x":9, "y":1.5}, {"label":"57", "x":10, "y":1.5}, {"label":"63", "x":11, "y":1.5}, {"label":"67", "x":12, "y":1.5}, {"label":"71", "x":13, "y":1.5, "w":2}, {"label":"77", "x":15.25, "y":1.5}, {"label":"84", "x":16.25, "y":1.5}, {"label":"83", "x":17.25, "y":1.5}, {"label":"88", "x":18.5, "y":1.5}, {"label":"93", "x":19.5, "y":1.5}, {"label":"97", "x":20.5, "y":1.5}, {"label":"102", "x":21.5, "y":1.5}, {"label":"3", "x":0, "y":2.5, "w":1.5}, {"label":"9", "x":1.5, "y":2.5}, {"label":"15", "x":2.5, "y":2.5}, {"label":"21", "x":3.5, "y":2.5}, {"label":"26", "x":4.5, "y":2.5}, {"label":"31", "x":5.5, "y":2.5}, {"label":"37", "x":6.5, "y":2.5}, {"label":"42", "x":7.5, "y":2.5}, {"label":"47", "x":8.5, "y":2.5}, {"label":"52", "x":9.5, "y":2.5}, {"label":"58", "x":10.5, "y":2.5}, {"label":"64", "x":11.5, "y":2.5}, {"label":"68", "x":12.5, "y":2.5}, {"label":"72", "x":13.5, "y":2.5, "w":1.5}, {"label":"78", "x":15.25, "y":2.5}, {"label":"86", "x":16.25, "y":2.5}, {"label":"85", "x":17.25, "y":2.5}, {"label":"89", "x":18.5, "y":2.5}, {"label":"94", "x":19.5, "y":2.5}, {"label":"98", "x":20.5, "y":2.5}, {"label":"103", "x":21.5, "y":2.5}, {"label":"4", "x":0, "y":3.5, "w":1.75}, {"label":"10", "x":1.75, "y":3.5}, {"label":"16", "x":2.75, "y":3.5}, {"label":"22", "x":3.75, "y":3.5}, {"label":"27", "x":4.75, "y":3.5}, {"label":"32", "x":5.75, "y":3.5}, {"label":"38", "x":6.75, "y":3.5}, {"label":"43", "x":7.75, "y":3.5}, {"label":"48", "x":8.75, "y":3.5}, {"label":"53", "x":9.75, "y":3.5}, {"label":"59", "x":10.75, "y":3.5}, {"label":"65", "x":11.75, "y":3.5}, {"label":"73", "x":12.75, "y":3.5, "w":2.25}, {"label":"90", "x":18.5, "y":3.5}, {"label":"95", "x":19.5, "y":3.5}, {"label":"99", "x":20.5, "y":3.5}, {"label":"110", "x":21.5, "y":3.5}, {"label":"5", "x":0, "y":4.5, "w":2.25}, {"label":"11", "x":2.25, "y":4.5}, {"label":"17", "x":3.25, "y":4.5}, {"label":"23", "x":4.25, "y":4.5}, {"label":"28", "x":5.25, "y":4.5}, {"label":"33", "x":6.25, "y":4.5}, {"label":"39", "x":7.25, "y":4.5}, {"label":"44", "x":8.25, "y":4.5}, {"label":"49", "x":9.25, "y":4.5}, {"label":"54", "x":10.25, "y":4.5}, {"label":"60", "x":11.25, "y":4.5}, {"label":"74", "x":12.25, "y":4.5, "w":2.75}, {"label":"87", "x":16.25, "y":4.5}, {"label":"91", "x":18.5, "y":4.5}, {"label":"96", "x":19.5, "y":4.5}, {"label":"100", "x":20.5, "y":4.5}, {"label":"104", "x":21.5, "y":4.5}, {"label":"6", "x":0, "y":5.5, "w":1.25}, {"label":"12", "x":1.25, "y":5.5, "w":1.25}, {"label":"18", "x":2.5, "y":5.5, "w":1.25}, {"label":"105", "x":3.75, "y":5.5, "w":1.25}, {"label":"106", "x":5, "y":5.5, "w":1.25}, {"label":"34", "x":6.25, "y":5.5, "w":1.25}, {"label":"107", "x":7.5, "y":5.5, "w":1.25}, {"label":"108", "x":8.75, "y":5.5, "w":1.25}, {"label":"55", "x":10, "y":5.5, "w":1.25}, {"label":"61", "x":11.25, "y":5.5, "w":1.25}, {"label":"69", "x":12.5, "y":5.5, "w":1.25}, {"label":"75", "x":13.75, "y":5.5, "w":1.25}, {"label":"79", "x":15.25, "y":5.5}, {"label":"80", "x":16.25, "y":5.5}, {"label":"81", "x":17.25, "y":5.5}, {"label":"92", "x":18.5, "y":5.5}, {"label":"109", "x":19.5, "y":5.5}, {"label":"101", "x":20.5, "y":5.5}, {"label":"111", "x":21.5, "y":5.5}]
diff --git a/keyboards/kapcave/arya/config.h b/keyboards/kapcave/arya/config.h
index c6b6c61cf5..32bc9f3aa5 100644
--- a/keyboards/kapcave/arya/config.h
+++ b/keyboards/kapcave/arya/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B43
-#define PRODUCT_ID 0x4152
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KapCave
-#define PRODUCT Arya
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
diff --git a/keyboards/kapcave/arya/info.json b/keyboards/kapcave/arya/info.json
index 72ee2e1d74..8efa84b8b0 100644
--- a/keyboards/kapcave/arya/info.json
+++ b/keyboards/kapcave/arya/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Arya",
+ "manufacturer": "KapCave",
"url": "https://kapcave.com/products/arya",
"maintainer": "nachie",
+ "usb": {
+ "vid": "0x4B43",
+ "pid": "0x4152",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/kapcave/gskt00/config.h b/keyboards/kapcave/gskt00/config.h
index 91c34182e7..5a77496032 100755
--- a/keyboards/kapcave/gskt00/config.h
+++ b/keyboards/kapcave/gskt00/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B43
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KapCave
-#define PRODUCT GSKT00
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, D1, D2, D4, D6, F7, B0, F4 }
#define MATRIX_COL_PINS { F6, D7, F5, C7, B4, C6, B6, B5 }
-#define UNUSED_PINS
#define BOOTMAGIC_LITE_ROW 3
#define BOOTMAGIC_LITE_COLUMN 6
diff --git a/keyboards/kapcave/gskt00/info.json b/keyboards/kapcave/gskt00/info.json
index ba1455fae9..5c011e4e1b 100644
--- a/keyboards/kapcave/gskt00/info.json
+++ b/keyboards/kapcave/gskt00/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GSKT-00",
+ "manufacturer": "KapCave",
"url": "https://kapcave.com/products/gskt-00-pcb-usb-c",
"maintainer": "nachie",
+ "usb": {
+ "vid": "0x4B43",
+ "pid": "0x6061",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [{"label":"~", "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":"Caps Lock", "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.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
index 8606d24841..d1b02d00bf 100755
--- a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
+++ b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* FUNCTION */
LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSPC,
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG)
diff --git a/keyboards/kapcave/paladin64/config.h b/keyboards/kapcave/paladin64/config.h
index 7c3d1a0fa1..4ab6863c4f 100755
--- a/keyboards/kapcave/paladin64/config.h
+++ b/keyboards/kapcave/paladin64/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B43
-#define PRODUCT_ID 0x5036
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KapCave
-#define PRODUCT paladin64
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -91,7 +84,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, B0, D3 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kapcave/paladin64/info.json b/keyboards/kapcave/paladin64/info.json
index 207010c24e..c207cbb062 100644
--- a/keyboards/kapcave/paladin64/info.json
+++ b/keyboards/kapcave/paladin64/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Paladin64",
+ "manufacturer": "KapCave",
"url": "https://kapcave.com/products/paladin64-pcb",
"maintainer": "nachie",
+ "usb": {
+ "vid": "0x4B43",
+ "pid": "0x5036",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/kapcave/paladinpad/config.h b/keyboards/kapcave/paladinpad/config.h
index 2b7d6e363a..5b36ee1113 100644
--- a/keyboards/kapcave/paladinpad/config.h
+++ b/keyboards/kapcave/paladinpad/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B43
-#define PRODUCT_ID 0x5050
-#define MANUFACTURER KapCave
-#define PRODUCT paladinpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/kapcave/paladinpad/info.json b/keyboards/kapcave/paladinpad/info.json
index 7d1afccf60..23aacf4456 100644
--- a/keyboards/kapcave/paladinpad/info.json
+++ b/keyboards/kapcave/paladinpad/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "PaladinPad",
+ "manufacturer": "KapCave",
"url": "https://kapcave.com/products/paladinpad-pcb",
"maintainer": "nachie",
+ "usb": {
+ "vid": "0x4B43",
+ "pid": "0x5050"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c b/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
index 79c3baae44..bb4ca32cf0 100644
--- a/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
+++ b/keyboards/kapcave/paladinpad/keymaps/aek/keymap.c
@@ -33,6 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RESET, KC_NLCK)
+ KC_TRNS, QK_BOOT, KC_NLCK)
};
diff --git a/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c b/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c
index a65b53b341..e2a43886ec 100644
--- a/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c
+++ b/keyboards/kapcave/paladinpad/keymaps/ortho/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RESET, KC_NLCK)
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_NLCK)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/kapcave/paladinpad/rev1/config.h b/keyboards/kapcave/paladinpad/rev1/config.h
index 84af56ec25..5a59246355 100644
--- a/keyboards/kapcave/paladinpad/rev1/config.h
+++ b/keyboards/kapcave/paladinpad/rev1/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define DEVICE_VER 0x0001
-
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, B6, B4, D7, D6 }
#define MATRIX_COL_PINS { D4, D5, D3, B7 }
diff --git a/keyboards/kapcave/paladinpad/rev1/info.json b/keyboards/kapcave/paladinpad/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kapcave/paladinpad/rev2/config.h b/keyboards/kapcave/paladinpad/rev2/config.h
index a27ac03ab1..a04bfcd46e 100644
--- a/keyboards/kapcave/paladinpad/rev2/config.h
+++ b/keyboards/kapcave/paladinpad/rev2/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define DEVICE_VER 0x0002
-
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F6, D7, B4, D6 }
#define MATRIX_COL_PINS { F7, F5, D3, B7 }
diff --git a/keyboards/kapcave/paladinpad/rev2/info.json b/keyboards/kapcave/paladinpad/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/kapcave/paladinpad/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/kapl/info.json b/keyboards/kapl/info.json
deleted file mode 100644
index 67e5470288..0000000000
--- a/keyboards/kapl/info.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "keyboard_name": "Kapl",
- "url": "https://github.com/keyzog/kapl",
- "maintainer": "keyzog",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"L00", "x":0, "y":0.38},
- {"label":"L01", "x":1, "y":0.38},
- {"label":"L02", "x":2, "y":0.13},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0.13},
- {"label":"L05", "x":5, "y":0.25},
- {"label":"L06", "x":6, "y":0.35},
- {"label":"R00", "x":8.67, "y":0.35},
- {"label":"R01", "x":9.67, "y":0.25},
- {"label":"R02", "x":10.67, "y":0.13},
- {"label":"R03", "x":11.67, "y":0},
- {"label":"R04", "x":12.67, "y":0.13},
- {"label":"R05", "x":13.67, "y":0.38},
- {"label":"R06", "x":14.67, "y":0.38},
-
- {"label":"L10", "x":0, "y":1.38},
- {"label":"L11", "x":1, "y":1.38},
- {"label":"L12", "x":2, "y":1.13},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1.13},
- {"label":"L15", "x":5, "y":1.25},
- {"label":"L16", "x":6, "y":1.35},
- {"label":"R10", "x":8.67, "y":1.35},
- {"label":"R11", "x":9.67, "y":1.25},
- {"label":"R12", "x":10.67, "y":1.13},
- {"label":"R13", "x":11.67, "y":1},
- {"label":"R14", "x":12.67, "y":1.13},
- {"label":"R15", "x":13.67, "y":1.38},
- {"label":"R16", "x":14.67, "y":1.38},
-
- {"label":"L20", "x":0, "y":2.38},
- {"label":"L21", "x":1, "y":2.38},
- {"label":"L22", "x":2, "y":2.13},
- {"label":"L23", "x":3, "y":2.0},
- {"label":"L24", "x":4, "y":2.13},
- {"label":"L25", "x":5, "y":2.25},
- {"label":"L26", "x":6, "y":2.35},
- {"label":"R20", "x":8.67, "y":2.35},
- {"label":"R21", "x":9.67, "y":2.25},
- {"label":"R22", "x":10.67, "y":2.13},
- {"label":"R23", "x":11.67, "y":2.0},
- {"label":"R24", "x":12.67, "y":2.13},
- {"label":"R25", "x":13.67, "y":2.38},
- {"label":"R26", "x":14.67, "y":2.38},
-
- {"label":"L30", "x":0, "y":3.38},
- {"label":"L31", "x":1, "y":3.38},
- {"label":"L32", "x":2, "y":3.13},
- {"label":"L33", "x":3, "y":3.0},
- {"label":"L34", "x":4, "y":3.13},
- {"label":"L35", "x":5, "y":3.25},
- {"label":"L36", "x":6, "y":3.35},
- {"label":"R30", "x":8.67, "y":3.35},
- {"label":"R31", "x":9.67, "y":3.25},
- {"label":"R32", "x":10.67, "y":3.13},
- {"label":"R33", "x":11.67, "y":3.0},
- {"label":"R34", "x":12.67, "y":3.13},
- {"label":"R35", "x":13.67, "y":3.38},
- {"label":"R36", "x":14.67, "y":3.38},
-
- {"label":"L40", "x":0, "y":4.38},
- {"label":"L41", "x":1, "y":4.38},
- {"label":"L42", "x":2, "y":4.13},
- {"label":"L43", "x":3, "y":4.0},
- {"label":"L44", "x":4, "y":4.13},
- {"label":"L45", "x":5.35, "y":4.92},
- {"label":"L46", "x":6.35, "y":4.45, "h":1.5},
- {"label":"R40", "x":8.02, "y":4.45, "h":1.5},
- {"label":"R41", "x":9.02, "y":4.92},
- {"label":"R42", "x":10.67, "y":4.13},
- {"label":"R43", "x":11.67, "y":4.0},
- {"label":"R44", "x":12.67, "y":4.13},
- {"label":"R45", "x":13.67, "y":4.38},
- {"label":"R46", "x":14.67, "y":4.38}
- ]
- }
- }
-}
diff --git a/keyboards/kapl/readme.md b/keyboards/kapl/readme.md
index c42a5d8947..4ccfb8dcba 100644
--- a/keyboards/kapl/readme.md
+++ b/keyboards/kapl/readme.md
@@ -24,4 +24,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the reset button on the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h
index 4984459275..ef6e5449f6 100644
--- a/keyboards/kapl/rev1/config.h
+++ b/keyboards/kapl/rev1/config.h
@@ -2,14 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C41 // "LA" Lozyuk Alexander
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keyzog
-#define PRODUCT Kapl Keyboard
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 10
diff --git a/keyboards/kapl/rev1/info.json b/keyboards/kapl/rev1/info.json
new file mode 100644
index 0000000000..2b497b9848
--- /dev/null
+++ b/keyboards/kapl/rev1/info.json
@@ -0,0 +1,91 @@
+{
+ "keyboard_name": "Kapl",
+ "manufacturer": "keyzog",
+ "url": "https://github.com/keyzog/kapl",
+ "maintainer": "keyzog",
+ "usb": {
+ "vid": "0x4C41",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"L00", "x":0, "y":0.38},
+ {"label":"L01", "x":1, "y":0.38},
+ {"label":"L02", "x":2, "y":0.13},
+ {"label":"L03", "x":3, "y":0},
+ {"label":"L04", "x":4, "y":0.13},
+ {"label":"L05", "x":5, "y":0.25},
+ {"label":"L06", "x":6, "y":0.35},
+ {"label":"R00", "x":8.67, "y":0.35},
+ {"label":"R01", "x":9.67, "y":0.25},
+ {"label":"R02", "x":10.67, "y":0.13},
+ {"label":"R03", "x":11.67, "y":0},
+ {"label":"R04", "x":12.67, "y":0.13},
+ {"label":"R05", "x":13.67, "y":0.38},
+ {"label":"R06", "x":14.67, "y":0.38},
+
+ {"label":"L10", "x":0, "y":1.38},
+ {"label":"L11", "x":1, "y":1.38},
+ {"label":"L12", "x":2, "y":1.13},
+ {"label":"L13", "x":3, "y":1},
+ {"label":"L14", "x":4, "y":1.13},
+ {"label":"L15", "x":5, "y":1.25},
+ {"label":"L16", "x":6, "y":1.35},
+ {"label":"R10", "x":8.67, "y":1.35},
+ {"label":"R11", "x":9.67, "y":1.25},
+ {"label":"R12", "x":10.67, "y":1.13},
+ {"label":"R13", "x":11.67, "y":1},
+ {"label":"R14", "x":12.67, "y":1.13},
+ {"label":"R15", "x":13.67, "y":1.38},
+ {"label":"R16", "x":14.67, "y":1.38},
+
+ {"label":"L20", "x":0, "y":2.38},
+ {"label":"L21", "x":1, "y":2.38},
+ {"label":"L22", "x":2, "y":2.13},
+ {"label":"L23", "x":3, "y":2.0},
+ {"label":"L24", "x":4, "y":2.13},
+ {"label":"L25", "x":5, "y":2.25},
+ {"label":"L26", "x":6, "y":2.35},
+ {"label":"R20", "x":8.67, "y":2.35},
+ {"label":"R21", "x":9.67, "y":2.25},
+ {"label":"R22", "x":10.67, "y":2.13},
+ {"label":"R23", "x":11.67, "y":2.0},
+ {"label":"R24", "x":12.67, "y":2.13},
+ {"label":"R25", "x":13.67, "y":2.38},
+ {"label":"R26", "x":14.67, "y":2.38},
+
+ {"label":"L30", "x":0, "y":3.38},
+ {"label":"L31", "x":1, "y":3.38},
+ {"label":"L32", "x":2, "y":3.13},
+ {"label":"L33", "x":3, "y":3.0},
+ {"label":"L34", "x":4, "y":3.13},
+ {"label":"L35", "x":5, "y":3.25},
+ {"label":"L36", "x":6, "y":3.35},
+ {"label":"R30", "x":8.67, "y":3.35},
+ {"label":"R31", "x":9.67, "y":3.25},
+ {"label":"R32", "x":10.67, "y":3.13},
+ {"label":"R33", "x":11.67, "y":3.0},
+ {"label":"R34", "x":12.67, "y":3.13},
+ {"label":"R35", "x":13.67, "y":3.38},
+ {"label":"R36", "x":14.67, "y":3.38},
+
+ {"label":"L40", "x":0, "y":4.38},
+ {"label":"L41", "x":1, "y":4.38},
+ {"label":"L42", "x":2, "y":4.13},
+ {"label":"L43", "x":3, "y":4.0},
+ {"label":"L44", "x":4, "y":4.13},
+ {"label":"L45", "x":5.35, "y":4.92},
+ {"label":"L46", "x":6.35, "y":4.45, "h":1.5},
+ {"label":"R40", "x":8.02, "y":4.45, "h":1.5},
+ {"label":"R41", "x":9.02, "y":4.92},
+ {"label":"R42", "x":10.67, "y":4.13},
+ {"label":"R43", "x":11.67, "y":4.0},
+ {"label":"R44", "x":12.67, "y":4.13},
+ {"label":"R45", "x":13.67, "y":4.38},
+ {"label":"R46", "x":14.67, "y":4.38}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kb58/config.h b/keyboards/kb58/config.h
index 81d946aaab..b50f1021af 100644
--- a/keyboards/kb58/config.h
+++ b/keyboards/kb58/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER beanaccle
-#define PRODUCT kb58
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F5, F6, F7, B1, D7, D4, D0 }
#define MATRIX_ROW_PINS_RIGHT { F7, B5, B3, B2, B6 }
#define MATRIX_COL_PINS_RIGHT { F6, B1, E6, D7, C6, D4, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb58/info.json b/keyboards/kb58/info.json
index 5114eec6ae..1ee4082433 100644
--- a/keyboards/kb58/info.json
+++ b/keyboards/kb58/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KB58",
+ "manufacturer": "beanaccle",
"url": "https://github.com/beanaccle/kb58_pico",
"maintainer": "beanaccle",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb58/readme.md b/keyboards/kb58/readme.md
index 6d02b1787a..4ea36cbbde 100644
--- a/keyboards/kb58/readme.md
+++ b/keyboards/kb58/readme.md
@@ -18,6 +18,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kb_elmo/67mk_e/config.h b/keyboards/kb_elmo/67mk_e/config.h
index 60c90ed522..9d0ab1a10c 100644
--- a/keyboards/kb_elmo/67mk_e/config.h
+++ b/keyboards/kb_elmo/67mk_e/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0xD03E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb_elmo
-#define PRODUCT 67mk_E
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/kb_elmo/67mk_e/info.json b/keyboards/kb_elmo/67mk_e/info.json
index fd417097b8..ca0437811e 100644
--- a/keyboards/kb_elmo/67mk_e/info.json
+++ b/keyboards/kb_elmo/67mk_e/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "67mk_e",
+ "keyboard_name": "67mk_E",
+ "manufacturer": "kb_elmo",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0xD03E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kb_elmo/aek2_usb/config.h b/keyboards/kb_elmo/aek2_usb/config.h
index 9cad5d5c72..345195b428 100644
--- a/keyboards/kb_elmo/aek2_usb/config.h
+++ b/keyboards/kb_elmo/aek2_usb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0xDB52
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT AEK II USB
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 14
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, C1, C4, D0, C3, C2, B3, B4 }
#define MATRIX_COL_PINS { A1, A0, A2, A3, A4, A5, A6, A7, C7, C6, C5, C0, D6, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/aek2_usb/info.json b/keyboards/kb_elmo/aek2_usb/info.json
index 82050e6fae..ef94b0994e 100644
--- a/keyboards/kb_elmo/aek2_usb/info.json
+++ b/keyboards/kb_elmo/aek2_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "aek 2 usb",
+ "keyboard_name": "AEK II USB",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/aek2_usb",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0xDB52",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb_elmo/elmopad/config.h b/keyboards/kb_elmo/elmopad/config.h
index 1dd6cff5b3..4581fbf94f 100644
--- a/keyboards/kb_elmo/elmopad/config.h
+++ b/keyboards/kb_elmo/elmopad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x8B35
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT ElmoPad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C5, C4, B2, B1, D7, B0 }
#define MATRIX_COL_PINS { C0, C1, C2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/elmopad/info.json b/keyboards/kb_elmo/elmopad/info.json
index 6193342c6b..bfe97e3161 100644
--- a/keyboards/kb_elmo/elmopad/info.json
+++ b/keyboards/kb_elmo/elmopad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "elmopad",
+ "keyboard_name": "ElmoPad",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/numpad",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x8B35",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/kb_elmo/isolation/config.h b/keyboards/kb_elmo/isolation/config.h
index 2f083955b0..6088cd5de2 100644
--- a/keyboards/kb_elmo/isolation/config.h
+++ b/keyboards/kb_elmo/isolation/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x4EE6
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT ISOlation
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
/* direct key pin */
#define DIRECT_PINS {{ B0 }}
-#define UNUSED_PINS
/* RGB backlight */
#define RGB_DI_PIN B2
diff --git a/keyboards/kb_elmo/isolation/info.json b/keyboards/kb_elmo/isolation/info.json
index 1cca4610d7..4042b2677c 100644
--- a/keyboards/kb_elmo/isolation/info.json
+++ b/keyboards/kb_elmo/isolation/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "isolation",
+ "keyboard_name": "ISOlation",
+ "manufacturer": "kb-elmo",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x4EE6",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb_elmo/m0110a_usb/config.h b/keyboards/kb_elmo/m0110a_usb/config.h
index 0010f0d27e..4509b76933 100644
--- a/keyboards/kb_elmo/m0110a_usb/config.h
+++ b/keyboards/kb_elmo/m0110a_usb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0xDB4B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT M0110A USB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, D5 }
#define MATRIX_COL_PINS { D7, C0, C1, C2, C3, D1, B4, C6, C7, A7, A6, A5, A4, A3, A2, A1, A0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/m0110a_usb/info.json b/keyboards/kb_elmo/m0110a_usb/info.json
index 1970c4960c..e515a1e142 100644
--- a/keyboards/kb_elmo/m0110a_usb/info.json
+++ b/keyboards/kb_elmo/m0110a_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "m0110a usb",
+ "keyboard_name": "M0110A USB",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/m0110a_usb",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0xDB4B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb_elmo/m0116_usb/config.h b/keyboards/kb_elmo/m0116_usb/config.h
index 693d3ab6a8..7d3581efff 100644
--- a/keyboards/kb_elmo/m0116_usb/config.h
+++ b/keyboards/kb_elmo/m0116_usb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x8F7E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT M0116 USB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, A0, B2, A2, A1 }
#define MATRIX_COL_PINS { D6, D5, D1, D0, D7, C0, C1, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/m0116_usb/info.json b/keyboards/kb_elmo/m0116_usb/info.json
index 9a5386b838..1b52a8c0e6 100644
--- a/keyboards/kb_elmo/m0116_usb/info.json
+++ b/keyboards/kb_elmo/m0116_usb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "m0116 usb",
+ "keyboard_name": "M0116 USB",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/m0116_usb",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x8F7E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kb_elmo/noah_avr/config.h b/keyboards/kb_elmo/noah_avr/config.h
index 5c6dfe8b5e..6c462d7176 100644
--- a/keyboards/kb_elmo/noah_avr/config.h
+++ b/keyboards/kb_elmo/noah_avr/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x1DB0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT Noah AVR
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { B4, B6, D7, D5, D0 }
#define MATRIX_COL_PINS { D1, D2, D3, D4, C6, C7, F7, F6, F5, F4, F0, F1, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/noah_avr/info.json b/keyboards/kb_elmo/noah_avr/info.json
index 6bc9b32b07..91875a6505 100644
--- a/keyboards/kb_elmo/noah_avr/info.json
+++ b/keyboards/kb_elmo/noah_avr/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Noah AVR",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/noah_avr",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x1DB0",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi": "LAYOUT_65_ansi_blocker",
"LAYOUT_ansi_splitbs": "LAYOUT_65_ansi_blocker_split_bs",
diff --git a/keyboards/kb_elmo/qez/config.h b/keyboards/kb_elmo/qez/config.h
index 055ebe2a4b..4b51eb3ff4 100644
--- a/keyboards/kb_elmo/qez/config.h
+++ b/keyboards/kb_elmo/qez/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x675F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb_elmo
-#define PRODUCT QEZ
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
diff --git a/keyboards/kb_elmo/qez/info.json b/keyboards/kb_elmo/qez/info.json
index a7cdd219d4..a0c2da02f9 100644
--- a/keyboards/kb_elmo/qez/info.json
+++ b/keyboards/kb_elmo/qez/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "qez",
+ "keyboard_name": "QEZ",
+ "manufacturer": "kb_elmo",
"url": "",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x675F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [
diff --git a/keyboards/kb_elmo/sesame/config.h b/keyboards/kb_elmo/sesame/config.h
index 5015cc87b9..432bb769c3 100644
--- a/keyboards/kb_elmo/sesame/config.h
+++ b/keyboards/kb_elmo/sesame/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0xE2BD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT Sesame
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C4, C5, C6, C7, A7 }
#define MATRIX_COL_PINS { D1, D5, D6, D7, C0, C1, C2, C3, A6, A5, A4, A3, A2, A1, A0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
@@ -46,3 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 1
+
+/* Workaround for https://github.com/qmk/qmk_firmware/issues/11389 */
+#define IGNORE_ATOMIC_BLOCK
diff --git a/keyboards/kb_elmo/sesame/info.json b/keyboards/kb_elmo/sesame/info.json
index 639c8b4d7c..d537ed1973 100644
--- a/keyboards/kb_elmo/sesame/info.json
+++ b/keyboards/kb_elmo/sesame/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sesame",
+ "keyboard_name": "Sesame",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/sesame",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0xE2BD",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice": {
"layout": [
diff --git a/keyboards/kb_elmo/twelvekey/config.h b/keyboards/kb_elmo/twelvekey/config.h
index 4be5f4f313..2ffc1e4589 100644
--- a/keyboards/kb_elmo/twelvekey/config.h
+++ b/keyboards/kb_elmo/twelvekey/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x9879
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb-elmo
-#define PRODUCT Twelvekey
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
diff --git a/keyboards/kb_elmo/twelvekey/info.json b/keyboards/kb_elmo/twelvekey/info.json
index c44d88ce45..27a67923d0 100644
--- a/keyboards/kb_elmo/twelvekey/info.json
+++ b/keyboards/kb_elmo/twelvekey/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "twelvekey",
+ "keyboard_name": "Twelvekey",
+ "manufacturer": "kb-elmo",
"url": "https://github.com/kb-elmo/twelvekey",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x9879",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x4": {
"layout": [{"x":0, "y":0},
diff --git a/keyboards/kb_elmo/vertex/config.h b/keyboards/kb_elmo/vertex/config.h
index 9d8eafe5bf..9bf46423b4 100644
--- a/keyboards/kb_elmo/vertex/config.h
+++ b/keyboards/kb_elmo/vertex/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA68C
-#define PRODUCT_ID 0x6B47
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kb_elmo
-#define PRODUCT Vertex
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D2, D4, B7, C6 }
#define MATRIX_COL_PINS { C4, C7, D3, D5, B6, D6, B5, B0, B4, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kb_elmo/vertex/info.json b/keyboards/kb_elmo/vertex/info.json
index a7bea40772..e443ae5f72 100644
--- a/keyboards/kb_elmo/vertex/info.json
+++ b/keyboards/kb_elmo/vertex/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "vertex",
+ "keyboard_name": "Vertex",
+ "manufacturer": "kb_elmo",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xA68C",
+ "pid": "0x6B47",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_8keys": {
"layout": [
diff --git a/keyboards/kb_elmo/vertex/readme.md b/keyboards/kb_elmo/vertex/readme.md
index 0710e48070..cbcdd9a179 100644
--- a/keyboards/kb_elmo/vertex/readme.md
+++ b/keyboards/kb_elmo/vertex/readme.md
@@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button labeled "Reset" on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kbdclack/kaishi65/config.h b/keyboards/kbdclack/kaishi65/config.h
index d9ac9b8137..aa8c1e4dd0 100644
--- a/keyboards/kbdclack/kaishi65/config.h
+++ b/keyboards/kbdclack/kaishi65/config.h
@@ -19,13 +19,6 @@ 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 0x1A81
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDClack
-#define PRODUCT kaishi65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, B0, F0, F1 }
#define MATRIX_COL_PINS { B2, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdclack/kaishi65/info.json b/keyboards/kbdclack/kaishi65/info.json
index f1e30b7e5e..e8d1ad8699 100644
--- a/keyboards/kbdclack/kaishi65/info.json
+++ b/keyboards/kbdclack/kaishi65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kaishi65",
+ "manufacturer": "KBDClack",
"url": "https://github.com/powerlemming/KBDClack",
"maintainer": "KBDClack",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1A81",
+ "device_version": "0.0.1"
+ },
"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":"Home", "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":"Del", "x":15, "y":1}, {"label":"Caps Lock", "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":"Pg up", "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":"Pg dn", "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":"Alt", "x":10, "y":4}, {"label":"Fn", "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/kbdfans/baguette66/rgb/config.h b/keyboards/kbdfans/baguette66/rgb/config.h
new file mode 100644
index 0000000000..4f23460964
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/config.h
@@ -0,0 +1,82 @@
+/* Copyright 2022 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
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { F0, F1, F4, F5, B6 }
+#define MATRIX_COL_PINS { C6, C7, F7, F6, B0, B1, B2, B3, D0, D1, D2, D3, D5, D4, D6}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+/* disable these deprecated features by default */
+#define USB_SUSPEND_WAKEUP_DELAY 5000
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
+
+#define RGB_DI_PIN E6
+#define RGBLED_NUM 66
+#define DRIVER_LED_TOTAL RGBLED_NUM
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGB_MATRIX_KEYPRESSES
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspendedz
+#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_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+#define RGB_MATRIX_HUE_STEP 8
+#define RGB_MATRIX_SAT_STEP 8
+#define RGB_MATRIX_VAL_STEP 8
+#define RGB_MATRIX_SPD_STEP 10
diff --git a/keyboards/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/info.json
new file mode 100644
index 0000000000..c9b4c545a9
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "Baguette66 RGB",
+ "manufacturer": "KBDfans",
+ "maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0106",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"~", "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}, {"x":14, "y":0}, {"x":15.5, "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}, {"x":15.5, "y":1}, {"label":"Caps Lock", "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":1.25}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":6.25}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Win", "x":11, "y":4}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3e0eb8d96f
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2022 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/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, 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_BSLASH, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+ [1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [2] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [3] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+};
diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c
new file mode 100644
index 0000000000..73c34ec12a
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2022 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/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, 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_BSLASH, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+ [1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [2] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [3] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGDN,
+ KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+};
diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/via/rules.mk b/keyboards/kbdfans/baguette66/rgb/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/baguette66/rgb/readme.md b/keyboards/kbdfans/baguette66/rgb/readme.md
new file mode 100644
index 0000000000..a5b67d03b8
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/readme.md
@@ -0,0 +1,23 @@
+# BAGUETTE66_RGB
+
+A customizable 66% RGB keyboard.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/baguette66/rgb: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/kbdfans/baguette66/rgb/rgb.c b/keyboards/kbdfans/baguette66/rgb/rgb.c
new file mode 100644
index 0000000000..def3e10c97
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/rgb.c
@@ -0,0 +1,48 @@
+/* Copyright 2022 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/>.
+ */
+
+#include "rgb.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 },
+ { 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16 },
+ { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,NO_LED, 14 },
+ { 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, NO_LED},
+ { NO_LED, 58, 59, NO_LED, NO_LED, 60, NO_LED, NO_LED, 61, NO_LED, 62, NO_LED, 63, 64, 65 }
+}, {
+ {0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{195,0}, {210,0},{224,0},
+ {224,16}, {206,16},{188,16},{173,16},{158,16},{143,16},{128,16},{113,16},{98,16},{83,16},{68,16},{53,16},{38,16},{23,16},{4,16},
+ {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},
+ {220,48},{205,48},{187,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{9,48},
+ {21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64}
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 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, 1, 1, 1
+} };
+
+__attribute__ ((weak))
+void rgb_matrix_indicators_user(void)
+{
+ if (host_keyboard_led_state().caps_lock)
+ {
+ rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF);
+ }
+}
+#endif
diff --git a/keyboards/kbdfans/baguette66/rgb/rgb.h b/keyboards/kbdfans/baguette66/rgb/rgb.h
new file mode 100644
index 0000000000..1ba364d8bd
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/rgb.h
@@ -0,0 +1,32 @@
+/* Copyright 2022 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 XXX KC_NO
+#include "quantum.h"
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2E,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, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K41, K42, K45, K48, K4A, 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, K2C, XXX, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
+ { XXX, K41, K42, XXX, XXX, K45, XXX, XXX, K48, XXX, K4A, XXX, K4C, K4D, K4E } \
+}
diff --git a/keyboards/kbdfans/baguette66/rgb/rules.mk b/keyboards/kbdfans/baguette66/rgb/rules.mk
new file mode 100644
index 0000000000..17a78c939f
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/rgb/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Use RGB matrix
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/kbdfans/baguette66/soldered/config.h b/keyboards/kbdfans/baguette66/soldered/config.h
new file mode 100644
index 0000000000..0d96871a74
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/config.h
@@ -0,0 +1,36 @@
+/* Copyright 2022 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
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { F0, F1, F4, F5, B6 }
+#define MATRIX_COL_PINS { C6, C7, F7, F6, B0, B1, B2, B3, D0, D1, D2, D3, D5, D4, D6}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+/* disable these deprecated features by default */
+#define USB_SUSPEND_WAKEUP_DELAY 5000
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
+
+#define LED_CAPS_LOCK_PIN B7
+#define LED_PIN_ON_STATE 0
diff --git a/keyboards/kbdfans/baguette66/soldered/info.json b/keyboards/kbdfans/baguette66/soldered/info.json
new file mode 100644
index 0000000000..dbad08e260
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "Baguette66 Soldered",
+ "manufacturer": "KBDfans",
+ "maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0107",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"~", "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}, {"x":14, "y":0}, {"x":15.5, "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}, {"x":15.5, "y":1}, {"label":"Caps Lock", "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":1.25}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":6.25}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Win", "x":11, "y":4}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c
new file mode 100644
index 0000000000..56ed15ad30
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2022 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/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, 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_BSLASH, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+ [1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [2] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [3] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+};
diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c
new file mode 100644
index 0000000000..56ed15ad30
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2022 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/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, 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_BSLASH, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+ [1] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [2] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ [3] = LAYOUT_all(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, 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, EEP_RST,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+};
diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/via/rules.mk b/keyboards/kbdfans/baguette66/soldered/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/baguette66/soldered/readme.md b/keyboards/kbdfans/baguette66/soldered/readme.md
new file mode 100644
index 0000000000..148e042c6c
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/readme.md
@@ -0,0 +1,23 @@
+# BAGUETTE66_SOLDERED
+
+A customizable 66% Mechnical keyboard.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/baguette66/soldered: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/kbdfans/baguette66/soldered/rules.mk b/keyboards/kbdfans/baguette66/soldered/rules.mk
new file mode 100644
index 0000000000..e0403a960b
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/kbdfans/baguette66/soldered/soldered.c b/keyboards/kbdfans/baguette66/soldered/soldered.c
new file mode 100644
index 0000000000..f2848c1b32
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/soldered.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 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/>.
+ */
+
+#include "soldered.h"
diff --git a/keyboards/kbdfans/baguette66/soldered/soldered.h b/keyboards/kbdfans/baguette66/soldered/soldered.h
new file mode 100644
index 0000000000..1ba364d8bd
--- /dev/null
+++ b/keyboards/kbdfans/baguette66/soldered/soldered.h
@@ -0,0 +1,32 @@
+/* Copyright 2022 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 XXX KC_NO
+#include "quantum.h"
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2E,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, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K41, K42, K45, K48, K4A, 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, K2C, XXX, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
+ { XXX, K41, K42, XXX, XXX, K45, XXX, XXX, K48, XXX, K4A, XXX, K4C, K4D, K4E } \
+}
diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h
index 18add4d136..837701c7c4 100644
--- a/keyboards/kbdfans/bella/rgb/config.h
+++ b/keyboards/kbdfans/bella/rgb/config.h
@@ -16,19 +16,12 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT BELLA RGB ANSI
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/bella/rgb/info.json b/keyboards/kbdfans/bella/rgb/info.json
index 2db8efb3f8..1e080471ce 100644
--- a/keyboards/kbdfans/bella/rgb/info.json
+++ b/keyboards/kbdfans/bella/rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BELLA RGB ANSI",
+ "keyboard_name": "Bella RGB ANSI",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":"~", "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.25, "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":"Page Up", "x":15.25, "y":2}, {"label":"Caps Lock", "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":"Page Down", "x":15.25, "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":"\u2191", "x":14.25, "y":4.25}, {"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, "w":1.5}, {"label":"Fn", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.25}, {"label":"\u2193", "x":14.25, "y":5.25}, {"label":"\u2192", "x":15.25, "y":5.25}]
diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h
index 78082a0a01..b1024b4e21 100644
--- a/keyboards/kbdfans/bella/rgb_iso/config.h
+++ b/keyboards/kbdfans/bella/rgb_iso/config.h
@@ -16,19 +16,12 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT BELLA RGB ISO
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/bella/rgb_iso/info.json b/keyboards/kbdfans/bella/rgb_iso/info.json
index bca3e220ce..632f41a09e 100644
--- a/keyboards/kbdfans/bella/rgb_iso/info.json
+++ b/keyboards/kbdfans/bella/rgb_iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BELLA RGB ISO",
+ "keyboard_name": "Bella RGB ISO",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":"Page Up", "x":15.25, "y":0}, {"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":"Insert", "x":15.25, "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":"Delete", "x":15.25, "y":2}, {"label":"Caps Lock", "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":"~", "x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Down", "x":15.25, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"|", "x":1.25, "y":4}, {"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":"\u2191", "x":14.25, "y":4.25}, {"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, "w":1.5}, {"label":"Fn", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.25}, {"label":"\u2193", "x":14.25, "y":5.25}, {"label":"\u2192", "x":15.25, "y":5.25}]
diff --git a/keyboards/kbdfans/bella/soldered/config.h b/keyboards/kbdfans/bella/soldered/config.h
index 0d729bebe8..3f499624b9 100755
--- a/keyboards/kbdfans/bella/soldered/config.h
+++ b/keyboards/kbdfans/bella/soldered/config.h
@@ -16,19 +16,12 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT BELLA SOLDERED
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, D1, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/bella/soldered/info.json b/keyboards/kbdfans/bella/soldered/info.json
index 4a967e2685..c958b17d4a 100644
--- a/keyboards/kbdfans/bella/soldered/info.json
+++ b/keyboards/kbdfans/bella/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bella_soldered",
+ "keyboard_name": "Bella Soldered",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "kbdfans",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kbdfans/boop65/rgb/config.h b/keyboards/kbdfans/boop65/rgb/config.h
index b74da64e20..2d4cbe4e85 100644
--- a/keyboards/kbdfans/boop65/rgb/config.h
+++ b/keyboards/kbdfans/boop65/rgb/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT BOOP65RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, F1, F4, E6, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, C7, B0, B1, B2, B3, B4, D7, D6, D4, D5, D3, D2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/boop65/rgb/info.json b/keyboards/kbdfans/boop65/rgb/info.json
index 8cec411098..97eddd4fe4 100644
--- a/keyboards/kbdfans/boop65/rgb/info.json
+++ b/keyboards/kbdfans/boop65/rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "boop65_rgb",
+ "keyboard_name": "Boop65 RGB",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/kbdfans/boop65/rgb/readme.md b/keyboards/kbdfans/boop65/rgb/readme.md
index 9b24b62af4..b8a2e5993c 100644
--- a/keyboards/kbdfans/boop65/rgb/readme.md
+++ b/keyboards/kbdfans/boop65/rgb/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kbdfans/bounce/75/hotswap/config.h b/keyboards/kbdfans/bounce/75/hotswap/config.h
new file mode 100644
index 0000000000..7921b12edb
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/config.h
@@ -0,0 +1,56 @@
+/* Copyright 2022 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
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B6 }
+#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN C6
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN F0
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 )
+#define RGBLIGHT_DEFAULT_SPD 15
+#define RGBLED_NUM 4
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 10
+#define RGBLIGHT_VAL_STEP 10
+#define RGBLIGHT_SLEEP
+#endif
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/hotswap/hotswap.c b/keyboards/kbdfans/bounce/75/hotswap/hotswap.c
new file mode 100644
index 0000000000..702a9b096d
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/hotswap.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 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/>.
+ */
+#include "hotswap.h" \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/hotswap/hotswap.h b/keyboards/kbdfans/bounce/75/hotswap/hotswap.h
new file mode 100644
index 0000000000..7f9f64a9d6
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/hotswap.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 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
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ 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, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
+ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, \
+ K500, K501, K502, K505, K508, K510, K511, K513, K514 \
+) { \
+ { 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 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \
+ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO}, \
+ { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, K508, KC_NO, K510, K511, KC_NO, K513, K514 } \
+}
diff --git a/keyboards/kbdfans/bounce/75/hotswap/info.json b/keyboards/kbdfans/bounce/75/hotswap/info.json
new file mode 100644
index 0000000000..bc9622f874
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "Bounce75 Hotswap",
+ "manufacturer": "KBDfans",
+ "maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x7001",
+ "device_version": "0.0.3"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"PrtSc", "x":14, "y":0}, {"label":"Pause", "x":15.25, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Page Up", "x":15.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Page Down", "x":15.25, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/hotswap/keymaps/default/keymap.c b/keyboards/kbdfans/bounce/75/hotswap/keymaps/default/keymap.c
new file mode 100644
index 0000000000..8b0ddf88fe
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/keymap.c b/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8b0ddf88fe
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/rules.mk b/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/bounce/75/hotswap/readme.md b/keyboards/kbdfans/bounce/75/hotswap/readme.md
new file mode 100644
index 0000000000..7e631099cc
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/readme.md
@@ -0,0 +1,21 @@
+# BOUNCE75 HOTSWAP
+
+A customizable 75% HOTSWAP keyboard.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/bounce/75/hotswap:default
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+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). \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/hotswap/rules.mk b/keyboards/kbdfans/bounce/75/hotswap/rules.mk
new file mode 100644
index 0000000000..85eec9079f
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/hotswap/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/kbdfans/bounce/75/soldered/config.h b/keyboards/kbdfans/bounce/75/soldered/config.h
new file mode 100644
index 0000000000..b0ad114346
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/config.h
@@ -0,0 +1,56 @@
+/* Copyright 2022 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
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B6 }
+#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN C6
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN B7
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 )
+#define RGBLIGHT_DEFAULT_SPD 15
+#define RGBLED_NUM 4
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 10
+#define RGBLIGHT_VAL_STEP 10
+#define RGBLIGHT_SLEEP
+#endif
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/soldered/info.json b/keyboards/kbdfans/bounce/75/soldered/info.json
new file mode 100644
index 0000000000..00ae5d3f6f
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/info.json
@@ -0,0 +1,469 @@
+{
+ "keyboard_name": "Bounce75 Soldered",
+ "manufacturer": "KBDfans",
+ "url": "",
+ "maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x7000",
+ "device_version": "0.0.3"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+ {"label":"Pause", "x":15.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace2", "x":13, "y":1.25},
+ {"label":"Backspace", "x":14, "y":1.25},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Page Up", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"Page Down", "x":15.25, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+ {"label":"Pause", "x":15.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Page Up", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"Page Down", "x":15.25, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_ansi_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+ {"label":"Pause", "x":15.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2@", "x":2, "y":1.25},
+ {"label":"3#", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25},
+ {"label":"Backspace", "x":14, "y":1.25},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Page Up", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"Page Down", "x":15.25, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+ {"label":"Pause", "x":15.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25, "w":2},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Page Up", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+ {"label":"Page Down", "x":15.25, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"AltGr", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_iso_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":6.5, "y":0},
+ {"label":"F7", "x":7.5, "y":0},
+ {"label":"F8", "x":8.5, "y":0},
+ {"label":"F9", "x":9.75, "y":0},
+ {"label":"F10", "x":10.75, "y":0},
+ {"label":"F11", "x":11.75, "y":0},
+ {"label":"F12", "x":12.75, "y":0},
+ {"label":"PrtSc", "x":14, "y":0},
+ {"label":"Pause", "x":15.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.25},
+ {"label":"1!", "x":1, "y":1.25},
+ {"label":"2\"", "x":2, "y":1.25},
+ {"label":"3\u00a3", "x":3, "y":1.25},
+ {"label":"4$", "x":4, "y":1.25},
+ {"label":"5%", "x":5, "y":1.25},
+ {"label":"6^", "x":6, "y":1.25},
+ {"label":"7&", "x":7, "y":1.25},
+ {"label":"8*", "x":8, "y":1.25},
+ {"label":"9(", "x":9, "y":1.25},
+ {"label":"0)", "x":10, "y":1.25},
+ {"label":"-_", "x":11, "y":1.25},
+ {"label":"=+", "x":12, "y":1.25},
+ {"label":"Backspace", "x":13, "y":1.25},
+ {"label":"Backspace", "x":14, "y":1.25},
+ {"label":"Home", "x":15.25, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"[{", "x":11.5, "y":2.25},
+ {"label":"]}", "x":12.5, "y":2.25},
+ {"label":"Page Up", "x":15.25, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":";:", "x":10.75, "y":3.25},
+ {"label":"'@", "x":11.75, "y":3.25},
+ {"label":"#~", "x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
+ {"label":"Page Down", "x":15.25, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":",<", "x":9.25, "y":4.25},
+ {"label":".>", "x":10.25, "y":4.25},
+ {"label":"/?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"\u2191", "x":14.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"AltGr", "x":10, "y":5.25, "w":1.5},
+ {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5},
+ {"label":"\u2190", "x":13.25, "y":5.5},
+ {"label":"\u2193", "x":14.25, "y":5.5},
+ {"label":"\u2192", "x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/default/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/default/keymap.c
new file mode 100644
index 0000000000..91339709c4
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ 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_DEL, KC_BSPC, 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_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi/keymap.c
new file mode 100644
index 0000000000..25d4f63b7c
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi_split_bs/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi_split_bs/keymap.c
new file mode 100644
index 0000000000..1ef7179a10
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_ansi_split_bs/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_ansi_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ 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_DEL, KC_BSPC, 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_ansi_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_ansi_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso/keymap.c
new file mode 100644
index 0000000000..b4d9c5f581
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso_split_bs/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso_split_bs/keymap.c
new file mode 100644
index 0000000000..1caa9f8519
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/default_iso_split_bs/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_iso_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ 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_DEL, KC_BSPC, 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_iso_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_iso_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_iso_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/via/keymap.c b/keyboards/kbdfans/bounce/75/soldered/keymaps/via/keymap.c
new file mode 100644
index 0000000000..91339709c4
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME,
+ 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_DEL, KC_BSPC, 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_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/kbdfans/bounce/75/soldered/keymaps/via/rules.mk b/keyboards/kbdfans/bounce/75/soldered/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/bounce/75/soldered/readme.md b/keyboards/kbdfans/bounce/75/soldered/readme.md
new file mode 100644
index 0000000000..f18847b8fb
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/readme.md
@@ -0,0 +1,21 @@
+# BOUNCE75 SOLDERED
+
+A customizable 75% HOTSWAP keyboard.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/bounce/75/soldered:default
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+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/kbdfans/bounce/75/soldered/rules.mk b/keyboards/kbdfans/bounce/75/soldered/rules.mk
new file mode 100644
index 0000000000..cb5238f27d
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/soldered/soldered.c b/keyboards/kbdfans/bounce/75/soldered/soldered.c
new file mode 100644
index 0000000000..a24bc9a36c
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/soldered.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 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/>.
+ */
+
+#include "soldered.h" \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/75/soldered/soldered.h b/keyboards/kbdfans/bounce/75/soldered/soldered.h
new file mode 100644
index 0000000000..01fe2df7f9
--- /dev/null
+++ b/keyboards/kbdfans/bounce/75/soldered/soldered.h
@@ -0,0 +1,121 @@
+/* Copyright 2022 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
+#include "quantum.h"
+
+#define ___ KC_NO
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │3C │1D ││1E │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤ └─┬─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤ ┌──┴â”3D │ ISO Enter
+ * LShift │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D ││3E │ │2D │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘ └───┴────┘
+ * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │┌───â”
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│4D │
+ * │50 │51 │52 │56 │5A │5B │┌───┼───┼───â”
+ * └────┴────┴────┴────────────────────────┴─────┴─────┘│5C │5D │5E │
+ * └───┴───┴───┘
+ * ┌────┬───┬────┬───────────────────────────┬────┬────â”
+ * │50 │51 │52 │56 │5A │5B │ 7u Spacebar
+ * └────┴───┴────┴───────────────────────────┴────┴────┘
+ */
+
+#define LAYOUT_all( \
+ 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, K3C, 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, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_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, 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, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, 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, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_ansi_split_bs( \
+ 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, K3C, 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, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso( \
+ 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, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E } \
+}
+
+#define LAYOUT_iso_split_bs( \
+ 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, K3C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___ }, \
+ { K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E } \
+}
diff --git a/keyboards/kbdfans/bounce/pad/config.h b/keyboards/kbdfans/bounce/pad/config.h
new file mode 100644
index 0000000000..dab7f6f9fe
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/config.h
@@ -0,0 +1,29 @@
+/* Copyright 2022 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
+#include "config_common.h"
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 4
+#define MATRIX_ROW_PINS { C7, B7, B6, B0, B1, B2 }
+#define MATRIX_COL_PINS { B5, B4, D0, C2 }
+#define DIODE_DIRECTION COL2ROW
+#define LED_NUM_LOCK_PIN C6
+#define LED_PIN_ON_STATE 1
+#define DEBOUNCE 5
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/kbdfans/bounce/pad/info.json b/keyboards/kbdfans/bounce/pad/info.json
new file mode 100644
index 0000000000..9857f94cb4
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/info.json
@@ -0,0 +1,42 @@
+{
+ "keyboard_name": "Bounce Pad",
+ "manufacturer": "KBDfans",
+ "maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x7002",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_numpad_6x4": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"Ctrl", "x":1, "y":0},
+ {"label":"Alt", "x":2, "y":0},
+ {"label":"Backspace", "x":3, "y":0},
+
+ {"label":"Num Lock", "x":0, "y":1.25},
+ {"label":"/", "x":1, "y":1.25},
+ {"label":"*", "x":2, "y":1.25},
+ {"label":"-", "x":3, "y":1.25},
+
+ {"label":"7", "x":0, "y":2.25},
+ {"label":"8", "x":1, "y":2.25},
+ {"label":"9", "x":2, "y":2.25},
+
+ {"label":"4", "x":0, "y":3.25},
+ {"label":"5", "x":1, "y":3.25},
+ {"label":"6", "x":2, "y":3.25},
+ {"label":"+", "x":3, "y":2.25, "h":2},
+
+ {"label":"1", "x":0, "y":4.25},
+ {"label":"2", "x":1, "y":4.25},
+ {"label":"3", "x":2, "y":4.25},
+
+ {"label":"0", "x":0, "y":5.25, "w":2},
+ {"label":".", "x":2, "y":5.25},
+ {"label":"Enter", "x":3, "y":4.25, "h":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c b/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..118c74debb
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_numpad_6x4( /* Base */
+ KC_ESC, KC_LCTL, KC_LALT, KC_BSPC,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/pad/keymaps/via/keymap.c b/keyboards/kbdfans/bounce/pad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..12916db402
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_numpad_6x4( /* Base */
+ KC_ESC, KC_LCTL, KC_LALT, KC_BSPC,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT
+ ),
+ [1] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [2] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [3] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+}; \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/pad/keymaps/via/rules.mk b/keyboards/kbdfans/bounce/pad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/bounce/pad/pad.c b/keyboards/kbdfans/bounce/pad/pad.c
new file mode 100644
index 0000000000..18c18838ca
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/pad.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 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/>.
+ */
+#include "pad.h" \ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/pad/pad.h b/keyboards/kbdfans/bounce/pad/pad.h
new file mode 100644
index 0000000000..a4bf9af55b
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/pad.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 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
+
+#include "quantum.h"
+
+#define LAYOUT_numpad_6x4( \
+ K00, K01, K02, K03, \
+ K10, K11, K12, K13, \
+ K20, K21, K22, \
+ K30, K31, K32, K33, \
+ K40, K41, K42, \
+ K51, K52, K53 \
+) \
+{ \
+ { K00, K01, K02, K03 }, \
+ { K10, K11, K12, K13 }, \
+ { K20, K21, K22, KC_NO }, \
+ { K30, K31, K32, K33 }, \
+ { K40, K41, K42, KC_NO }, \
+ { KC_NO,K51, K52, K53 } \
+}
diff --git a/keyboards/kbdfans/bounce/pad/readme.md b/keyboards/kbdfans/bounce/pad/readme.md
new file mode 100644
index 0000000000..54ba70a011
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/readme.md
@@ -0,0 +1,21 @@
+# BOUNCE PAD
+
+A customizable pad keyboard, include hotswap and soldered version.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/bounce/pad:default
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+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/kbdfans/bounce/pad/rules.mk b/keyboards/kbdfans/bounce/pad/rules.mk
new file mode 100644
index 0000000000..e71a8b4313
--- /dev/null
+++ b/keyboards/kbdfans/bounce/pad/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = numpad_6x4
diff --git a/keyboards/kbdfans/kbd19x/config.h b/keyboards/kbdfans/kbd19x/config.h
index e738f77177..675128d354 100644
--- a/keyboards/kbdfans/kbd19x/config.h
+++ b/keyboards/kbdfans/kbd19x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0191
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT kbd19x
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 }
#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd19x/info.json b/keyboards/kbdfans/kbd19x/info.json
index 68832438d0..d5c0c68197 100644
--- a/keyboards/kbdfans/kbd19x/info.json
+++ b/keyboards/kbdfans/kbd19x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KBD19x",
+ "manufacturer": "KBDfans",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdfans/kbd19x",
"maintainer": "jshuf, mechmerlin",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0191",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/kbdfans/kbd19x/readme.md b/keyboards/kbdfans/kbd19x/readme.md
index 910b2f1b89..1c2f7f2c1c 100644
--- a/keyboards/kbdfans/kbd19x/readme.md
+++ b/keyboards/kbdfans/kbd19x/readme.md
@@ -25,6 +25,6 @@ Flashing example for this keyboard:
To reset the board into bootloader mode, do one of the following:
* **Bootmagic reset**: Hold the `Esc` key while connecting the USB cable (also erases persistent settings)
-* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Backspace` by default)
+* **Keycode in keymap**: Press the key mapped to `QK_BOOT` if it is available (`Fn`+`Backspace` by 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/kbdfans/kbd4x/config.h b/keyboards/kbdfans/kbd4x/config.h
index 86989e2b08..a2da25a983 100644
--- a/keyboards/kbdfans/kbd4x/config.h
+++ b/keyboards/kbdfans/kbd4x/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT KBD4x
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B3, B1, B0, D5, B7, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd4x/info.json b/keyboards/kbdfans/kbd4x/info.json
index 939420c971..0a776250a2 100644
--- a/keyboards/kbdfans/kbd4x/info.json
+++ b/keyboards/kbdfans/kbd4x/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd4x",
+ "keyboard_name": "KBD4x",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/kbdfans/kbd66/config.h b/keyboards/kbdfans/kbd66/config.h
index 2a10bf08ae..4c2cb170d8 100644
--- a/keyboards/kbdfans/kbd66/config.h
+++ b/keyboards/kbdfans/kbd66/config.h
@@ -19,13 +19,6 @@ 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 0xBD66
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT KBD66
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, F0, F1, D4 } // From qmkeyboard.cn
#define MATRIX_COL_PINS { C6, C7, E2, F5, F6, F4, D3, D2, D5, D0, D1, B4, D7, D6, E6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd66/info.json b/keyboards/kbdfans/kbd66/info.json
index 5e4d9aacf3..bed764ef6a 100644
--- a/keyboards/kbdfans/kbd66/info.json
+++ b/keyboards/kbdfans/kbd66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KBD66",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xBD66",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "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}, {"x":15.5, "y":1}, {"label":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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.25}, {"x":13.5, "y":3}, {"x":14.5, "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.5}, {"x":4, "y":4, "w":2.75}, {"x":6.75, "y":4, "w":2.75}, {"label":"Alt", "x":9.5, "y":4, "w":1.5}, {"label":"Win", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
diff --git a/keyboards/kbdfans/kbd67/hotswap/config.h b/keyboards/kbdfans/kbd67/hotswap/config.h
index 4c0e0b794d..d22de44672 100644
--- a/keyboards/kbdfans/kbd67/hotswap/config.h
+++ b/keyboards/kbdfans/kbd67/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT KBD67 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, E6, D1, D0, D2, D3, D5, D6, D7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/hotswap/info.json b/keyboards/kbdfans/kbd67/hotswap/info.json
index cf27cfe231..4a115a31bc 100644
--- a/keyboards/kbdfans/kbd67/hotswap/info.json
+++ b/keyboards/kbdfans/kbd67/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd67 hotswap",
+ "keyboard_name": "KBD67 Hotswap",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/brandonschlack/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/brandonschlack/keymap.c
index a73c961db0..5f2deda04b 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/brandonschlack/keymap.c
+++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/brandonschlack/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN1] = LAYOUT(
QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_MSSN, MC_SLPD, \
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_DEL, KC_VOLU, \
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_DEL, KC_VOLU, \
_______, _______, _______, _______, _______, _______, _______, _______, QM_KYMP, _______, _______, _______, TG_ADJT, KC_VOLD, \
_______, _______, _______, _______, QM_VRSN, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ),
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_ADJT, XXXXXXX, \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, \
_______, _______, _______, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX),
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/keymap.c
index 84c1791f81..cced6df8d7 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/keymap.c
+++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = 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_TRNS, KC_TRNS, KC_MFFD,
- KC_TRNS, 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_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, QK_BOOT, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
index 0d542bf843..dc27913cca 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
+++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------'
*/
[_FUNCTION] = LAYOUT(
- 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_F13, KC_PSCR, KC_MPLY, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_MPLY, \
DEBUG, 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__VOLUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
_______, KC_MRWD, KC__VOLDOWN, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, \
@@ -141,7 +141,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
shifted = record->event.pressed;
} else if (keycode == MAGIC) {
magic = record->event.pressed;
- } else if (keycode == RESET) {
+ } else if (keycode == QK_BOOT) {
// Safe reset: Only actually let this keycode through if shift is held as well. Since there's no
// right-shift in the function layer, this means that reset is Fn+LShift+Esc, something you're
// not likely to hit by accident. (Especially since AltGr+Esc is backtick!)
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/config.h b/keyboards/kbdfans/kbd67/mkii_soldered/config.h
index ef47d33292..0af4b7ad7b 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/config.h
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103 // ai03
-#define PRODUCT_ID 0x0013
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDfans
-#define PRODUCT KBD67-MKII
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/info.json b/keyboards/kbdfans/kbd67/mkii_soldered/info.json
index c31fb4f3fb..3a0ffe0943 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/info.json
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KBD67 MKII Soldered Variant",
+ "keyboard_name": "KBD67-MKII Soldered",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0013",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "x":0, "y":0},
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
index ec5c0c8a8e..3248acff84 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/adamdehaven/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 1: _FN1
* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────────────────┬─────────â”
- * │ 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 │ _______ (2) │ KC_MUTE │
+ * │ QK_BOOT │ KC_F1 │ KC_F2 │ KC_F3 │ KC_F4 │ KC_F5 │ KC_F6 │ KC_F7 │ KC_F8 │ KC_F9 │ KC_F10 │ KC_F11 │ KC_F12 │ _______ (2) │ KC_MUTE │
* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┤
* │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_PSCR │ _______ │ _______ │ _______ │ KC_VOLU │
* ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────────┼─────────┤
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
*/
[_FN1] = 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_MUTE,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______,
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ai03/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ai03/keymap.c
index 0e6cdf776a..d04874f182 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ai03/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ai03/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_GRV, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all( /* FN */
- 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, _______, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
KC_CAPS, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, BL_INC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, BL_DEC,
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi_split_bs/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi_split_bs/keymap.c
index 1c443ae734..2d00724086 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi_split_bs/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/ansi_split_bs/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_65_ansi_blocker_split_bs( /* FN */
- 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, _______, _______, BL_INC,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_INC,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c
index 70e2237d3a..2158d6d126 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keymaps/king/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 1: _FN1
* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────┬───────┬─────────â”
- * │ GRAVE │ KC_F1 │ KC_F2 │ KC_F3 │ KC_F4 │ KC_F5 │ KC_F6 │ KC_F7 │ KC_F8 │ KC_F9 │ KC_F10 │ KC_F11 │ KC_F12 │ ____│__ (2) │ RESET │
+ * │ GRAVE │ KC_F1 │ KC_F2 │ KC_F3 │ KC_F4 │ KC_F5 │ KC_F6 │ KC_F7 │ KC_F8 │ KC_F9 │ KC_F10 │ KC_F11 │ KC_F12 │ ____│__ (2) │ QK_BOOT │
* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──┴───────┼─────────┤
* │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ _______ │ KC_VOLU │
* ├──────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴──────────┼─────────┤
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────┴─────────┴─────────┴─────────┘
*/
[1] = 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_MUTE,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE,
_______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/info.json b/keyboards/kbdfans/kbd67/mkiirgb/info.json
index 7010ba59d9..34e29bca8e 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "kbd67mkiirgb",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/codecoffeecode/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/codecoffeecode/keymap.c
index 4ad4663ca8..ab13116a07 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/codecoffeecode/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_65_ansi_blocker( /* MO(1) - Fn */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- _______, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_PGUP,
CTL_T(KC_CAPS),RGB_SPI, RGB_SPD, _______,_______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN,
KC_LSFT, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/keymap.c
index c77bbc756c..aeba99b928 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------┘ └-------------+------´
*/
[_FN2] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, EEP_RST,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_P,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_VAI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_VAD,
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
index 25f645f734..bb3409256c 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
@@ -16,8 +16,6 @@
#pragma once
/* place overrides here */
-#undef QMK_KEYS_PER_SCAN
-#define QMK_KEYS_PER_SCAN 4
#undef DEBOUNCE
#define DEBOUNCE 8
#undef TAPPING_TOGGLE
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c
index 889a1e5f1b..be5f251dac 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI),
[_LAYER2] = LAYOUT_65_ansi_blocker( /* Media, Programming */
_______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC__MUTE, KC_VOLD, KC_VOLU, KC_EJCT, _______,
- _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c
index 98711fcd86..c2e409ed35 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_65_ansi_blocker(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_CALC,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RESET, KC_HOME,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, QK_BOOT, KC_HOME,
KC_CAPS, RGB_SPI, RGB_SPD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_END,
KC_LSFT, RGB_NITE, _______, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, KC_MPLY, _______, KC_VOLU, KC_MUTE,
_______, KC_WINLCK, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json
index 65797f216d..e8df1d05bb 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/import-for-qmk-configurator/kemmeldev-4-layered-layout.json
@@ -1 +1 @@
-{"keyboard":"kbdfans/kbd67/mkiirgb","keymap":"default_37b6a2a","layout":"LAYOUT_65_ansi_blocker","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_CALC","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","MO(1)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["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_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","RESET","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(2)","KC_MPRV","KC_VOLD","KC_MNXT"],["KC_GESC","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_BSPC","KC_CALC","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","MO(3)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_TRNS","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_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","RESET","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(0)","KC_MPRV","KC_VOLD","KC_MNXT"]],"author":"","notes":""} \ No newline at end of file
+{"keyboard":"kbdfans/kbd67/mkiirgb","keymap":"default_37b6a2a","layout":"LAYOUT_65_ansi_blocker","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_CALC","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","MO(1)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["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_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","QK_BOOT","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(2)","KC_MPRV","KC_VOLD","KC_MNXT"],["KC_GESC","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_BSPC","KC_CALC","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","MO(3)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_TRNS","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_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","QK_BOOT","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(0)","KC_MPRV","KC_VOLD","KC_MNXT"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c
index 0aabb6d6fd..8c74707f26 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/keymap.c
@@ -2,7 +2,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi_blocker(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_CALC, 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, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(2), KC_MPRV, KC_VOLD, KC_MNXT),
+ [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(2), KC_MPRV, KC_VOLD, KC_MNXT),
[2] = LAYOUT_65_ansi_blocker(KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_CALC, 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, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT),
- [3] = LAYOUT_65_ansi_blocker(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_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(0), KC_MPRV, KC_VOLD, KC_MNXT)
+ [3] = LAYOUT_65_ansi_blocker(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_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(0), KC_MPRV, KC_VOLD, KC_MNXT)
};
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json
index 9711685d4b..e6351271ea 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/kemmeldev/layers.json
@@ -1 +1 @@
-[["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_CALC", "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", "MO(1)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["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_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "RESET", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(2)", "KC_MPRV", "KC_VOLD", "KC_MNXT"], ["KC_GESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_BSPC", "KC_CALC", "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", "MO(3)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_TRNS", "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_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "RESET", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(0)", "KC_MPRV", "KC_VOLD", "KC_MNXT"]] \ No newline at end of file
+[["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_CALC", "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", "MO(1)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["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_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "QK_BOOT", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(2)", "KC_MPRV", "KC_VOLD", "KC_MNXT"], ["KC_GESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_BSPC", "KC_CALC", "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", "MO(3)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_TRNS", "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_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "QK_BOOT", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(0)", "KC_MPRV", "KC_VOLD", "KC_MNXT"]] \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
index 2cd513223a..cda14c4bc0 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
@@ -19,9 +19,6 @@
/* 1000Hz USB polling */
#define USB_POLLING_INTERVAL_MS 1
-/* Send up to 4 key press events per scan */
-#define QMK_KEYS_PER_SCAN 4
-
/* Force NKRO on boot up */
#define FORCE_NKRO
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h
new file mode 100644
index 0000000000..2d2dc00132
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/config.h
@@ -0,0 +1,41 @@
+/* Copyright 2022 spx01 (@spx01)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/* --- custom defines only used in my own code --- */
+
+/* easily switch on debugging features */
+#define CUSTOM_DEBUG false
+
+/* hexrgb mode special keys, these shouldn't be KC_A to KC_F or KC_0 to KC_9 */
+/* keycode that triggers saving the current rgb_static color into eeprom */
+#define HEXRGB_SAVE_KC KC_S
+/* keycode that triggers resetting rgb_static to the color saved in the eeprom */
+#define HEXRGB_RESET_KC KC_R
+
+/* --- keyboard configuration macros --- */
+
+#if CUSTOM_DEBUG
+# define NO_DEBUG
+# define NO_PRINT
+#endif
+
+#define RETRO_TAPPING
+#define PERMISSIVE_HOLD
+
+#undef RGB_MATRIX_STARTUP_MODE
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CUSTOM_RGB_STATIC
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c
new file mode 100644
index 0000000000..04b1afc691
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/keymap.c
@@ -0,0 +1,158 @@
+/* Copyright 2022 spx01 (@spx01)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+
+enum CustomKeycodes {
+ CK_HEXRGB = SAFE_RANGE,
+ /* esc when shift is held, grave otherwise; particularly useful for windows' task manager shortcut */
+ CK_ESCG,
+};
+
+enum Layers {
+ _LAYER1,
+ _LAYER2,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [_LAYER1] = LAYOUT_65_ansi_blocker(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_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_BSLASH, KC_PGUP,
+ LT(_LAYER2, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
+ [_LAYER2] = LAYOUT_65_ansi_blocker(
+ CK_ESCG, 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_INS,
+ KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, CK_HEXRGB, KC_MPLY, KC_VOLU, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
+ /* [] = LAYOUT_65_ansi_blocker(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), */
+ // clang-format on
+};
+
+/* exported by the rgb_static effect */
+void RGB_STATIC_save_eeprom(void);
+void RGB_STATIC_reset(void);
+extern uint8_t g_rgb_static_color[3];
+
+/* returns number corresponding to hex digit represented by keycode or -1 if keycode isn't a valid hex digit */
+static int8_t key_hexdigit(uint16_t keycode) {
+ if (keycode >= KC_A && keycode <= KC_F) {
+ return keycode - KC_A + 10;
+ }
+ if (keycode >= KC_1 && keycode <= KC_0) {
+ int8_t res = keycode - KC_1 + 1;
+ /* mod 10 considering res is between 1 and 10 */
+ res *= res != 10;
+ return res;
+ }
+ return -1;
+}
+
+typedef struct {
+ bool active;
+ uint8_t color[3];
+ uint8_t count;
+} RGBHexState;
+static RGBHexState hexrgb;
+
+/* handles input mode for an rgb value */
+static void hexrgb_input(uint16_t keycode) {
+ /* only check for special keys when input mode has just been triggered */
+ if (hexrgb.count == 0) {
+ switch (keycode) {
+ case HEXRGB_SAVE_KC:
+ RGB_STATIC_save_eeprom();
+ hexrgb.active = false;
+ return;
+ case HEXRGB_RESET_KC:
+ RGB_STATIC_reset();
+ hexrgb.active = false;
+ return;
+ default:
+ }
+ }
+
+ int8_t digit = key_hexdigit(keycode);
+ /* exit input mode if an invalid key has been pressed */
+ if (digit == -1) {
+ hexrgb.count = 0;
+ hexrgb.active = false;
+ return;
+ }
+
+ /* append digit to current color */
+ uint8_t idx = hexrgb.count / 2;
+ hexrgb.color[idx] <<= 4;
+ hexrgb.color[idx] |= digit;
+
+ ++hexrgb.count;
+ /* done with input */
+ if (hexrgb.count == 6) {
+ hexrgb.active = false;
+ hexrgb.count = 0;
+ /* copy color to rgb_static's buffer */
+ for (int8_t i = 0; i < 3; ++i) {
+ g_rgb_static_color[i] = hexrgb.color[i];
+ hexrgb.color[i] = 0;
+ }
+ }
+}
+
+void keyboard_post_init_user(void) {
+#if CUSTOM_DEBUG
+ debug_enable = true;
+ debug_matrix = true;
+#endif
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ /* shift status last time ck_escg was pressed so that the correct key can be released */
+ static bool ck_escg_last_shifted;
+
+ if (hexrgb.active && record->event.pressed) {
+ hexrgb_input(keycode);
+ /* while in input mode nothing passes through */
+ return false;
+ }
+
+ switch (keycode) {
+ case CK_HEXRGB:
+ hexrgb.active = record->event.pressed;
+ return false;
+ case CK_ESCG:
+ /* if pressed, inject key, otherwise delete it */
+ if (record->event.pressed) {
+ bool shifted = get_mods() & MOD_BIT(KC_LSHIFT);
+ add_key(shifted ? KC_ESC : KC_GRV);
+ ck_escg_last_shifted = shifted;
+ } else {
+ del_key(ck_escg_last_shifted ? KC_ESC : KC_GRV);
+ }
+ send_keyboard_report();
+ return false;
+ default:
+ }
+ return true;
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md
new file mode 100644
index 0000000000..86b90772b0
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/readme.md
@@ -0,0 +1,23 @@
+# spx01's KBD67 MKIIRGB Layout
+
+This is a fairly simple QWERTY 2 layer layout, full list of particularities below:
+
+* Besides Fn acting like a standard layer switch, CapsLock is set to switch to layer 2 while held and activate CapsLock when tapped.
+* The Esc key/grave key (top left) is set to QMK's "Grave Escape" (sends Esc when tapped alone, Grave when tapped together with Shift/Ctrl/GUI), but on the 2nd layer it's set to the CK_ESCG custom keycode, acting like grave when tapped alone and as Esc when Shift is also held down. This means that there is easy access to both the characters (grave and tilde) and the Esc key while also allowing for shortcuts such as Ctrl+Shift+Esc with Ctrl+Shift+Caps+Esc (the Windows Task Manager shortcut).
+* The default RGB Matrix effect is set to a custom one, RGB_STATIC, which sets a solid RGB color based on a global variable, featuring EEPROM saving and automatic loading independent on the HSV EEPROM memory that the standard effects use. This was done in order to accomodate the next feature.
+* The HexRGB mode is triggered by pressing the '/' key in the second layer (CK_HEXRGB) and enables the user to type a 6 digit hexadecimal color code that is then stored as the color for the RGB_STATIC effect. If any invalid key is pressed during color input, the keymap will go back to its normal behavior without any changes to RGB.
+* Besides keys representing hexadecimal digits (0-9 and a-f), there are also 2 more keys that provide functionality in the HexRGB input mode (only as a first keypress). HEXRGB_SAVE_KC (set by default to S) triggers the RGB_STATIC effect to save the currently set RGB color to EEPROM and the HEXRGB_RESET_KC (set by default to R) resets the RGB color to the one currently saved in EEPROM. These 2 keys can be reassigned in config.h.
+
+Various 2nd layer keys:
+* 1 to '+' for F1-12
+* P for PrtSc/Print
+* Backspace for Delete
+* Home (top right key) for Insert
+* E for resetting EEPROM
+* '\\' for bootloader mode
+* Space for toggling RGB on or off
+* Right Shift for pausing media
+* Left/Right for previous track/next track
+* Up/Down for volume up/down
+
+**Note: I disabled VIA in rules.mk because I don't use it, but there is enough memory space for it to be enabled.**
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc
new file mode 100644
index 0000000000..85c4dc2cad
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rgb_matrix_user.inc
@@ -0,0 +1,68 @@
+/* Copyright 2022 spx01 (@spx01)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_EFFECT(RGB_STATIC)
+
+#define UNWRAP_RGB_PARAMS(x) x[0], x[1], x[2]
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+/* eeprom saved data structure */
+typedef struct {
+ union {
+ uint32_t whole;
+ uint8_t rgb[3];
+ };
+} UserData;
+
+uint8_t g_rgb_static_color[3];
+
+/* save current colors to eeprom */
+void RGB_STATIC_save_eeprom(void) {
+ UserData data = {0};
+ for (int8_t i = 0; i < 3; ++i) {
+ data.rgb[i] = g_rgb_static_color[i];
+ }
+ eeconfig_update_user(data.whole);
+}
+
+/* initialize by loading the eeprom colors */
+static void RGB_STATIC_init(void) {
+ UserData data;
+ data.whole = eeconfig_read_user();
+ for (int8_t i = 0; i < 3; ++i) {
+ g_rgb_static_color[i] = data.rgb[i];
+ }
+}
+
+/* reset colors to eeprom values */
+void RGB_STATIC_reset(void) {
+ RGB_STATIC_init();
+}
+
+static bool RGB_STATIC(effect_params_t *params) {
+ if (params->init) {
+ RGB_STATIC_init();
+ }
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+ for (uint8_t i = led_min; i < led_max; i++) {
+ RGB_MATRIX_TEST_LED_FLAGS();
+ rgb_matrix_set_color(i, UNWRAP_RGB_PARAMS(g_rgb_static_color));
+ }
+ return rgb_matrix_check_finished_leds(led_max);
+}
+
+#endif
+#undef UNWRAP_RGB_PARAMS
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk
new file mode 100644
index 0000000000..2700c035cc
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/spx01/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = no
+LTO_ENABLE = yes
+CONSOLE_ENABLE = no
+RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
index d88d384f98..a6a56cdced 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
@@ -1,10 +1,5 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x4B42 // KB
-#define PRODUCT_ID 0x1224
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDfans
-#define PRODUCT kbd67mkiirgb v1
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
new file mode 100644
index 0000000000..88d1bb38f4
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "kbd67mkiirgb v1",
+ "usb": {
+ "pid": "0x1224",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
index ffdace7a5f..a5dfdae5ed 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
@@ -1,10 +1,5 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x4B42 // KB
-#define PRODUCT_ID 0x1225
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KBDfans
-#define PRODUCT kbd67mkiirgb v2
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
new file mode 100644
index 0000000000..62f1bf6cbb
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "kbd67mkiirgb v2",
+ "usb": {
+ "pid": "0x1225",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
index 23b0a8a30c..cb847e9b45 100755
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42 // KB
-#define PRODUCT_ID 0x1226
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KBDfans
-#define PRODUCT kbd67mkiirgb v3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, F1, F4, E6, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, C7, B0, B1, B2, B3, B4, D7, D6, D4, D5, D3, D2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
new file mode 100644
index 0000000000..496016ea8c
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "kbd67mkiirgb v3",
+ "usb": {
+ "pid": "0x1226",
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
index a63a3ee61b..f7e0e06278 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x1227
-#define DEVICE_VER 0x0004
-#define MANUFACTURER KBDFANS
-#define PRODUCT KBD67 MKII RGB V4
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, F1, B2, B3, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, B0, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
new file mode 100644
index 0000000000..1bb937c0c2
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "kbd67mkiirgb v4",
+ "usb": {
+ "pid": "0x1227",
+ "device_version": "0.0.4"
+ }
+}
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md
index b603992f69..ad8b38a62e 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md
@@ -15,4 +15,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down esc in the keyboard then replug
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` \ No newline at end of file
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
index 0877d04cca..415da00b48 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0105
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT KBD67MKIIRGB_ISO
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, F1, B2, B3, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, B0, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
index 36ff2f1fe5..26eabc6293 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd67mkiirgb_iso",
+ "keyboard_name": "KBD67MKIIRGB ISO",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0105",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_iso_blocker": {
"layout": [
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/readme.md b/keyboards/kbdfans/kbd67/mkiirgb_iso/readme.md
index 7673acc580..b542cb5aaa 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/readme.md
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/readme.md
@@ -15,4 +15,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down esc in the keyboard then replug
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET`
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/kbdfans/kbd67/rev1/config.h b/keyboards/kbdfans/kbd67/rev1/config.h
index b7ad8de4e2..145a928e22 100644
--- a/keyboards/kbdfans/kbd67/rev1/config.h
+++ b/keyboards/kbdfans/kbd67/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6066
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kbdfans
-#define PRODUCT kbd67
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/rev1/info.json b/keyboards/kbdfans/kbd67/rev1/info.json
index 6b7219f891..78d36aeeb2 100644
--- a/keyboards/kbdfans/kbd67/rev1/info.json
+++ b/keyboards/kbdfans/kbd67/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd67",
+ "keyboard_name": "KBD67 Rev1",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6066",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c
index 15e995bb1c..e44da80cf8 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------' `------------'
*/
[1] = 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, XXXXXXX,_______,KC_INS, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,_______,KC_INS, \
_______, RGB_RMO,RGB_MOD,RGB_TOG,RGB_HUD,RGB_HUI,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,XXXXXXX,XXXXXXX,XXXXXXX, _______, \
KC_CAPS, KC_VOLD,KC_VOLU,KC_MUTE,RGB_SAD,RGB_SAI,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,XXXXXXX,XXXXXXX, KC_PENT, _______, \
_______,_______,BL_DEC, BL_INC, BL_TOGG,RGB_VAD,RGB_VAI,KC_PPLS,KC_PMNS,KC_END, KC_PGDN,JP_UNDS,_______, KC_PGUP,_______, \
diff --git a/keyboards/kbdfans/kbd67/rev2/config.h b/keyboards/kbdfans/kbd67/rev2/config.h
index ce6c990d69..f156afd9b1 100644
--- a/keyboards/kbdfans/kbd67/rev2/config.h
+++ b/keyboards/kbdfans/kbd67/rev2/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6067
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KBDFans
-#define PRODUCT KBD67v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B7, D0, F0, F1, F4 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D1, D2, D3, D6, D7, B4, B6, C6, C7, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd67/rev2/info.json b/keyboards/kbdfans/kbd67/rev2/info.json
index 7e23e70c40..6cad9be45d 100644
--- a/keyboards/kbdfans/kbd67/rev2/info.json
+++ b/keyboards/kbdfans/kbd67/rev2/info.json
@@ -1,7 +1,17 @@
{
- "keyboard_name": "kbd67v2",
+ "keyboard_name": "KBD67 Rev2",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6067",
+ "device_version": "0.0.2"
+ },
+ "layout_aliases": {
+ "LAYOUT_65_ansi_blocker_splitbs": "LAYOUT_65_ansi_blocker_split_bs",
+ "LAYOUT_65_ansi_split_bs_2_right_mods": "LAYOUT_65_ansi_rwkl_split_bs"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -384,7 +394,7 @@
{"x":14, "y":4},
{"x":15, "y":4}]
},
- "LAYOUT_65_ansi_split_bs_2_right_mods": {
+ "LAYOUT_65_ansi_rwkl_split_bs": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
@@ -536,6 +546,163 @@
{"x":15, "y":4}
]
},
+ "LAYOUT_65_iso_split_bs": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":15, "y":1},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2},
+ {"x":13.75, "y":1, "w":1.25, "h":2},
+ {"x":15, "y":2},
+
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "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, "w":1.75},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_split_space": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0, "w":2},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":15, "y":1},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2},
+ {"x":13.75, "y":1, "w":1.25, "h":2},
+ {"x":15, "y":2},
+
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "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, "w":1.75},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":2.25},
+ {"x":6, "y":4, "w":1.25},
+ {"x":7.25, "y":4, "w":2.75},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
+ },
"LAYOUT_65_ansi_split_space": {
"layout": [
{"x":0, "y":0},
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c
index 807b67d6f1..d5d07e1312 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_65_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_PGUP,
KC_TRNS, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, KC_PGDN,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_MPLY, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, KC_VOLD, KC_MFFD
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/brandonschlack/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/brandonschlack/keymap.c
index 235cb2e87e..94b94a8212 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/brandonschlack/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/brandonschlack/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN1] = LAYOUT_all(
QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_MSSN, MC_SLPD, \
- RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RESET, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_DEL, KC_VOLU, \
+ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, QK_BOOT, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_DEL, KC_VOLU, \
_______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, QM_KYMP, _______, _______, _______, TG_ADJT, KC_VOLD, \
_______, XXXXXXX, RGB_TOG, RGB_LYR, RGB_THM, QM_VRSN, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
_______, _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END ),
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_all(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_ADJT, XXXXXXX, \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, \
_______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c
index 15e995bb1c..e44da80cf8 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------' `------------'
*/
[1] = 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, XXXXXXX,_______,KC_INS, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,_______,KC_INS, \
_______, RGB_RMO,RGB_MOD,RGB_TOG,RGB_HUD,RGB_HUI,XXXXXXX,XXXXXXX,KC_PSCR,KC_SLCK,KC_PAUS,XXXXXXX,XXXXXXX,XXXXXXX, _______, \
KC_CAPS, KC_VOLD,KC_VOLU,KC_MUTE,RGB_SAD,RGB_SAI,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,XXXXXXX,XXXXXXX, KC_PENT, _______, \
_______,_______,BL_DEC, BL_INC, BL_TOGG,RGB_VAD,RGB_VAI,KC_PPLS,KC_PMNS,KC_END, KC_PGDN,JP_UNDS,_______, KC_PGUP,_______, \
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c
new file mode 100644
index 0000000000..27fbf0be53
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/keymap.c
@@ -0,0 +1,58 @@
+/* Copyright 2018 'mechmerlin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap (Base Layer) Default Layer
+ * ,----------------------------------------------------------------.
+ * |GESC| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp| Del|
+ * |----------------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Ent |PgUp|
+ * |-------------------------------------------------------. |----|
+ * |Caps | A| S| D| F| G| H| J| K| L| ;| '| | |PgDn|
+ * |----------------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|End |
+ * |----------------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |MS3| Space |Alt |MO1|Ctrl|Lef|Dow|Rig|
+ * `----------------------------------------------------------------'
+ */
+[0] = LAYOUT_65_iso_split_space(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DELETE,
+ 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_MS_BTN3, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap Fn Layer
+ * ,----------------------------------------------------------------.
+ * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Mute|
+ * |----------------------------------------------------------------|
+ * | | |Up | | | | | | | | | | | |Vol+|
+ * |----------------------------------------------------------------|
+ * | |Lef|Dow|Rig| | | | | | | | | |Vol-|
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * | | | | Space |Space| Space | | | | | | |
+ * `----------------------------------------------------------------'
+ */
+[1] = LAYOUT_65_iso_split_space(
+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_SPC, KC_SPC, KC_SPC, _______, _______, _______, _______, _______, _______),
+};
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md
new file mode 100644
index 0000000000..d7b9c29e38
--- /dev/null
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/naphtaline/readme.md
@@ -0,0 +1,4 @@
+# Not the default keymap for kbd67
+
+ - this is my personnal layout, but is meant to be used as a base for the new layout LAYOUT_65_iso_split_space
+ - 3 splitted space bar. (Space - Mouse click 3 - Space)
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c
index 7c6ef155b7..0a4648d41e 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______,_______, KC_HOME,
_______, VLK_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD,_______,_______,_______,_______,_______, _______, KC_END,
_______,_______,BL_TOGG, BL_DEC, BL_INC, BL_BRTG,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,_______,
- KC_SLEP,RESET ,_______, LCA(KC_DEL), LCA(KC_DEL), LCA(KC_DEL), LCA(KC_INS),KC_APP, _______,KC_HOME,KC_PGDN,KC_END),
+ KC_SLEP,QK_BOOT,_______, LCA(KC_DEL), LCA(KC_DEL), LCA(KC_DEL), LCA(KC_INS),KC_APP, _______,KC_HOME,KC_PGDN,KC_END),
/* Keymap Numpad Layer
* ,----------------------------------------------------------------.
diff --git a/keyboards/kbdfans/kbd67/rev2/rev2.h b/keyboards/kbdfans/kbd67/rev2/rev2.h
index 1c1c0bf418..ce2ddfab05 100644
--- a/keyboards/kbdfans/kbd67/rev2/rev2.h
+++ b/keyboards/kbdfans/kbd67/rev2/rev2.h
@@ -17,6 +17,29 @@
#include "quantum.h"
+#define ___ KC_NO
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0E │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤
+ * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴â”2D │ ISO Enter
+ * LShift │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │ │1E │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘
+ * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │3F │
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+ * │40 │41 │43 │44 │46 │48 │4A │4B │4C │4D │4E │4F │
+ * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘
+ * ┌───────────────────┴───────────────────â”┌────┴──────â”
+ * ┌────┬────┬────┬────────────────────────â”┌─────┬─────â”
+ * Standard │40 │41 │43 │46 ││4A │4C │ RWKL (2x 1.5u)
+ * └────┴────┴────┴────────────────────────┘└─────┴─────┘
+ * ┌─────┬─────┬───────────────────────────â”┌────┬────â”
+ * WKL │40 │41 │46 ││4A │4B │ Blocker (2x 1.25u)
+ * └─────┴─────┴───────────────────────────┘└────┴────┘
+ */
+
/* This a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
@@ -33,11 +56,11 @@
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
#define LAYOUT_65_ansi( \
@@ -48,11 +71,11 @@
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
#define LAYOUT_65_ansi_blocker( \
@@ -63,11 +86,11 @@
K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, ___, K4D, K4E, K4F }, \
}
#define LAYOUT_65_ansi_blocker_split_bs( \
@@ -78,11 +101,11 @@
K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, ___, K4D, K4E, K4F }, \
}
#define LAYOUT_65_ansi_split_bs( \
@@ -93,14 +116,14 @@
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
-#define LAYOUT_65_ansi_split_bs_2_right_mods( \
+#define LAYOUT_65_ansi_rwkl_split_bs( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
@@ -108,11 +131,26 @@
K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, KC_NO, K4B, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, ___, K4B, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_65_iso_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
#define LAYOUT_65_iso( \
@@ -123,13 +161,29 @@
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
+#define LAYOUT_65_iso_split_space( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
+}
+
+
#define LAYOUT_65_ansi_split_space( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
@@ -138,11 +192,9 @@
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
) \
{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
- { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
- { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
- { K40, K41, KC_NO, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, K3F }, \
+ { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F }, \
}
-
-#define LAYOUT_65_ansi_blocker_splitbs LAYOUT_65_ansi_blocker_split_bs
diff --git a/keyboards/kbdfans/kbd6x/config.h b/keyboards/kbdfans/kbd6x/config.h
index 080bdb33b2..7eb6019c74 100644
--- a/keyboards/kbdfans/kbd6x/config.h
+++ b/keyboards/kbdfans/kbd6x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x3658
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT kbd6x
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D0, D1, D2, D3, D5, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd6x/info.json b/keyboards/kbdfans/kbd6x/info.json
index 2781eead10..a6e410878c 100644
--- a/keyboards/kbdfans/kbd6x/info.json
+++ b/keyboards/kbdfans/kbd6x/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd6x",
+ "keyboard_name": "KBD6X",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x3658",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/kbdfans/kbd6x/keymaps/dbroqua/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/dbroqua/keymap.c
index e7f6d90103..ef5533a59e 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/dbroqua/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/dbroqua/keymap.c
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------´
*/
[_RGB] = LAYOUT(
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/kbdfans/kbd6x/keymaps/hhkb-default-improved/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/hhkb-default-improved/keymap.c
index 80c22e5d90..0e2d450496 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/hhkb-default-improved/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/hhkb-default-improved/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = 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_INS, RESET,
+ 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_INS, QK_BOOT,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_DEL,
KC_RCTL, KC_VOLU, KC_VOLD, KC_MUTE, KC_MPLY, KC_MSTP, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PLUS, KC_UNDS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
diff --git a/keyboards/kbdfans/kbd6x/keymaps/hhkb-default/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/hhkb-default/keymap.c
index 03153b67ac..f59fa64ef2 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/hhkb-default/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/hhkb-default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = 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_INS, KC_DEL,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, RESET,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_MSTP, KC_TRNS, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PLUS, KC_UNDS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/kbdfans/kbd6x/keymaps/mekberg/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/mekberg/keymap.c
index f3be992639..d78c51ef2d 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/mekberg/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/mekberg/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[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, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────|
// | 1,5u | | | | | | | | | | | | | 1,5u |
_______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
index 6bbbdd87c1..6282e1b895 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
@@ -38,7 +38,7 @@ void eeconfig_init_user(void) {
#define DE_UDIA_CAP UC(0x00DC)
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case NM_MODE:
rgblight_setrgb (0x00, 0x66, 0x00);
break;
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT) , _______
),
[NM_MODE] = LAYOUT(
- KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, KC_END, _______, _______, _______, _______, _______, KC_HOME, _______, _______, RESET, KC_INS,
+ KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, KC_END, _______, _______, _______, _______, _______, KC_HOME, _______, _______, QK_BOOT, KC_INS,
LGUI(KC_TAB), _______, LCTL(KC_RGHT), _______, _______, _______, _______, KC_UP, KC_PGUP, _______, _______, _______, TG(CL), KC_DEL,
_______, KC_LEFT, _______, KC_RGHT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_ENT, KC_QUOT, KC_LGUI,
KC_LSFT, _______, _______, _______, _______, LCTL(KC_LEFT), _______, _______, _______, _______, _______, TG(VI_MODE), TO(CL),
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[VI_MODE] = LAYOUT(
- KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, LSFT(KC_END), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, LSFT(KC_HOME), KC_F11, KC_F12, RESET, KC_INS,
+ KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, LSFT(KC_END), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, LSFT(KC_HOME), KC_F11, KC_F12, QK_BOOT, KC_INS,
LGUI(KC_TAB), _______, LSFT(LCTL(KC_RGHT)), _______, _______, _______, _______, LSFT(KC_UP), _______, _______, _______, _______, TG(CL), KC_BSPC,
_______, _______, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), LSFT(KC_DOWN), LSFT(KC_RGHT), _______, KC_SCLN, KC_QUOT, KC_LGUI,
KC_LSFT, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), _______, _______, _______, _______, KC_SLSH, OSM(MOD_LSFT), TO(CL),
@@ -187,4 +187,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______
),
};
-
diff --git a/keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c
index c33982a517..2e52bacd21 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c
@@ -19,5 +19,5 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, LT(2,KC_HOME), LCTL_T(KC_MPRV), LGUI_T(KC_MPLY), LALT_T(KC_MNXT), LT(1,KC_SPC), RALT_T(KC_DEL), KC_APP, RCTL_T(KC_END)),
[1] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_UP, KC_RBRC, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_PSCR, KC_ENT, KC_BSPC, KC_TRNS, KC_WREF, KC_WBAK, KC_WFWD, KC_WHOM, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_VOLU, KC_TRNS, KC_PGDN),
- [2] = LAYOUT(RGB_TOG, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_UP, KC_TRNS, KC_TRNS, KC_CAPS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS)
+ [2] = LAYOUT(RGB_TOG, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_UP, KC_TRNS, KC_TRNS, KC_CAPS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/kbdfans/kbd6x/keymaps/wanleg/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/wanleg/keymap.c
index f3aa991f31..4bf95fb4c9 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/wanleg/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/wanleg/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[ONE] = LAYOUT_wrapper(
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, BL_BRTG, BL_DEC, BL_INC, BL_TOGG, BL_STEP, BL_ON, KC_PGUP, KC_HOME, _______, _______, _______, _______, _______,
_______, RGB_M_B, RGB_VAD, RGB_VAI, RGB_TOG, RGB_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
_______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, KC_PGDN, KC_END, _______, gGHERKIN,_______, _______,
diff --git a/keyboards/kbdfans/kbd75/config.h b/keyboards/kbdfans/kbd75/config.h
index b54ce4d24c..a743691e70 100644
--- a/keyboards/kbdfans/kbd75/config.h
+++ b/keyboards/kbdfans/kbd75/config.h
@@ -5,11 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define MANUFACTURER qmkbuilder
-#define PRODUCT KBD75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -17,7 +12,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c b/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
index d12ee6e1fb..32f59cfb10 100644
--- a/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/aaronireland/keymap.c
@@ -160,11 +160,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* QRT - QWERTY Layout
* CLK - COLEMAK Layout
* DVK - DVORAK Layout
- * RESET - Put PCB into Bootstrap mode
+ * QK_BOOT - Put PCB into Bootstrap mode
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
* │ │ │ │ │ │ │ │ │ │ │ │ │ │PSN│ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
- * │ │TOG│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ RESET │F13│
+ * │ │TOG│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ QK_BOOT │F13│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
* │ TAB │QRT│ │ │ │ │ │ │ │ │ │ │ │ │SNU│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
@@ -178,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_ansi_1u(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPP, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET , KC_F13 ,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, KC_F13 ,
KC_TAB , QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SNU ,
KC_CAPS, _______, _______, DVORAK , _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SND ,
_______, _______, _______, COLEMAK, BL_DEC , BL_TOGG, BL_INC , BL_STEP, _______, _______, _______, _______, KC_PAUS, KC_MUTE,
diff --git a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c b/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
index af4243c49d..c9f201ac60 100644
--- a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c b/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c
index 3828cb4a1f..bfbdd9111a 100644
--- a/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/broswen/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c b/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c
index cb43052c22..ba751369bd 100644
--- a/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/digital/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_INS,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
index 998f1a25d2..9a3c61f7d4 100644
--- a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[MAC_FN_LAYER] = LAYOUT(
- RESET, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, KC_MPLY, KC_MFFD, KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_TRNS, KC_TRNS, KC_INS,
+ QK_BOOT, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, KC_MPLY, KC_MFFD, KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_TRNS, KC_TRNS, KC_INS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case WINDOWS_LAYER:
rgblight_setrgb_blue();
break;
diff --git a/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c b/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c
index 4a987b9a90..79424226da 100644
--- a/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/ethan605/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ FN │
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ RESET │ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ QK_BOOT │ │
* ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬────────┼─────┤
* │ │ TOG │ MOD │ HU+ │ HU- │ SA+ │ SA- │ VA+ │ VA- │ │ │ │ │ │ │ // RGB controls
* ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴────────┼─────┤
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c b/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c
index fb074e1210..486294c980 100644
--- a/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/kingwangwong/keymap.c
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 3: Control layer
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- * │RESET│QWERT│FORTY│ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * │QK_BOOT│QWERT│FORTY│ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┼─────┤
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 3: Control layer */
[_CL] = LAYOUT(
- RESET, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ QK_BOOT, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD,
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, _______, _______, KC_VOLU,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, KC_VOLD,
@@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 3: D control layer */
[_DL] = LAYOUT(
- RESET, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ QK_BOOT, TO(_QW), TO(_FO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD,
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_VOLD,
diff --git a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
index 87cab80f59..de656357f9 100644
--- a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2020-2021 James Young (@noroadsleft)
+/* Copyright 2020-2022 James Young (@noroadsleft)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,22 +16,6 @@
#include "noroadsleft.h"
-#define LAYOUT_75_ansi_wkl( \
- 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, K114, K115, \
- K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
- K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
- K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
- K500, K501, K506, K510, K512, K513, K514, K515 \
-) { \
- { 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, KC_NO, K114, K115 }, \
- { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
- { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
- { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
- { K500, K501, KC_NO, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \
-}
-
enum layer_names {
_DV,
_QW,
@@ -88,13 +72,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, DM_REC1,
_______, KC_CALC, KC_APP, G_PUSH, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, DM_REC2,
- _______, M_SALL, _______, G_FTCH, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1,
+ _______, M_SALL, _______, G_FTCH, G_PWD, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1,
_______, M_UNDO, M_CUT, M_COPY, M_PASTE, G_BRCH, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, DM_PLY2,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_SY] = LAYOUT_75_ansi_wkl(
- TG(_SY), TO(_DV), TO(_QW), XXXXXXX, TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, RESET, EEP_RST, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX, XXXXXXX,
+ TG(_SY), TO(_DV), TO(_QW), XXXXXXX, TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, EE_CLR, DB_TOGG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, XXXXXXX,
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/kbdfans/kbd75/keymaps/smt/keymap.c b/keyboards/kbdfans/kbd75/keymaps/smt/keymap.c
index edf01c854e..87edeed1c9 100644
--- a/keyboards/kbdfans/kbd75/keymaps/smt/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/smt/keymap.c
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ RGB │
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │ │RESET│ │ │QWRTY│COLMK│DVORK│ │ │ │ │█████│RGBV+│
+ * │ │ │ │ │QK_BOOT│ │ │QWRTY│COLMK│DVORK│ │ │ │ │█████│RGBV+│
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
* │ │ │ _CL │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│RGBV-│
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CL] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, \
- _______, _______, _______, _______, RESET, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, RGB_VAI, \
+ _______, _______, _______, _______, QK_BOOT, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, RGB_VAI, \
_______, _______, MO(_CL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, \
MO(_FL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, \
_______, _______, _______, _______, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c b/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c
index 05e7c56713..e0541293c7 100644
--- a/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/spacemanspiff/keymap.c
@@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c
index 1221e753a4..476b50b8e4 100644
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FUNC] = LAYOUT_ansi_1u(
- RESET, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS,
+ QK_BOOT, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS,
KC_TRNS, MACRO1, MACRO2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
MACROTAB, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, KC_TRNS,
KC_TRNS, VLK_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, DYN_REC_START2, DYN_MACRO_PLAY2, KC_TRNS, KC_TRNS,
diff --git a/keyboards/kbdfans/kbd75/rev1/config.h b/keyboards/kbdfans/kbd75/rev1/config.h
deleted file mode 100644
index 9e036b5839..0000000000
--- a/keyboards/kbdfans/kbd75/rev1/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2020 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
diff --git a/keyboards/kbdfans/kbd75/rev1/info.json b/keyboards/kbdfans/kbd75/rev1/info.json
index 499b9e9a43..fe1541b78f 100644
--- a/keyboards/kbdfans/kbd75/rev1/info.json
+++ b/keyboards/kbdfans/kbd75/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KBD75 rev1",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi_1u": "LAYOUT_75_ansi"
},
diff --git a/keyboards/kbdfans/kbd75/rev2/config.h b/keyboards/kbdfans/kbd75/rev2/config.h
deleted file mode 100644
index c65ac48677..0000000000
--- a/keyboards/kbdfans/kbd75/rev2/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2020 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0002
diff --git a/keyboards/kbdfans/kbd75/rev2/info.json b/keyboards/kbdfans/kbd75/rev2/info.json
index 8518527eed..ac07971b59 100644
--- a/keyboards/kbdfans/kbd75/rev2/info.json
+++ b/keyboards/kbdfans/kbd75/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KBD75 rev2",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6061",
+ "device_version": "0.0.2"
+ },
"layout_aliases": {
"LAYOUT_ansi_1u": "LAYOUT_75_ansi"
},
diff --git a/keyboards/kbdfans/kbd75hs/config.h b/keyboards/kbdfans/kbd75hs/config.h
index bf14934d2b..6cb9064461 100644
--- a/keyboards/kbdfans/kbd75hs/config.h
+++ b/keyboards/kbdfans/kbd75hs/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6062
-#define DEVICE_VER 0x0003
-#define MANUFACTURER KBDFANS
-#define PRODUCT KBD75_HOTSWAP
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { E6, B0, B1, B2, B3, B6 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd75hs/info.json b/keyboards/kbdfans/kbd75hs/info.json
index f1d3368827..d9982d3d6f 100644
--- a/keyboards/kbdfans/kbd75hs/info.json
+++ b/keyboards/kbdfans/kbd75hs/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "KBD75HS",
+ "keyboard_name": "KBD75 Hotswap",
+ "manufacturer": "KBDfans",
"maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6062",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":4}, {"label":"End", "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":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/kbdfans/kbd75hs/readme.md b/keyboards/kbdfans/kbd75hs/readme.md
index 4f7943d4fe..0326a1e008 100644
--- a/keyboards/kbdfans/kbd75hs/readme.md
+++ b/keyboards/kbdfans/kbd75hs/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h
index 2499c25933..eff9c8eae1 100644
--- a/keyboards/kbdfans/kbd75rgb/config.h
+++ b/keyboards/kbdfans/kbd75rgb/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6063
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT KBD75RGB
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, F1, B0, B1, B2, C6 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, E6, B3, B7, D0, D1, D2, D3, D5, D4, D6, D7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json
new file mode 100644
index 0000000000..32201ff192
--- /dev/null
+++ b/keyboards/kbdfans/kbd75rgb/info.json
@@ -0,0 +1,106 @@
+{
+ "keyboard_name": "KBD75RGB",
+ "manufacturer": "KBDfans",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6063",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_75_ansi": {
+ "layout": [
+ {"label": "Esc", "x":0, "y":0},
+ {"label": "F1", "x":1, "y":0},
+ {"label": "F2", "x":2, "y":0},
+ {"label": "F3", "x":3, "y":0},
+ {"label": "F4", "x":4, "y":0},
+ {"label": "F5", "x":5, "y":0},
+ {"label": "F6", "x":6, "y":0},
+ {"label": "F7", "x":7, "y":0},
+ {"label": "F8", "x":8, "y":0},
+ {"label": "F9", "x":9, "y":0},
+ {"label": "F10", "x":10, "y":0},
+ {"label": "F11", "x":11, "y":0},
+ {"label": "F12", "x":12, "y":0},
+ {"label": "PrintScr", "x":13, "y":0},
+ {"label": "Ins", "x":14, "y":0},
+ {"label": "Home", "x":15, "y":0},
+
+ {"label": "`~", "x":0, "y":1},
+ {"label": "1!", "x":1, "y":1},
+ {"label": "2@", "x":2, "y":1},
+ {"label": "3#", "x":3, "y":1},
+ {"label": "4$", "x":4, "y":1},
+ {"label": "5%", "x":5, "y":1},
+ {"label": "6^", "x":6, "y":1},
+ {"label": "7&", "x":7, "y":1},
+ {"label": "8*", "x":8, "y":1},
+ {"label": "9(", "x":9, "y":1},
+ {"label": "0)", "x":10, "y":1},
+ {"label": "-_", "x":11, "y":1},
+ {"label": "+=", "x":12, "y":1},
+ {"label": "Backspace", "x":13, "y":1, "w":2},
+ {"label": "End", "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": "Pg Up", "x":15, "y":2},
+
+ {"label": "Caps Lock", "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": "Pg Dn", "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": "Del", "x":15, "y":4},
+
+ {"label": "Ctrl", "x":0, "y":5, "w":1.25},
+ {"label": "GUI", "x":1.25, "y":5, "w":1.25},
+ {"label": "Alt", "x":2.5, "y":5, "w":1.25},
+ {"label": "Space", "x":3.75, "y":5, "w":6.25},
+ {"label": "Alt", "x":10, "y":5},
+ {"label": "GUI", "x":11, "y":5},
+ {"label": "Ctrl", "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/kbdfans/kbd75rgb/readme.md b/keyboards/kbdfans/kbd75rgb/readme.md
index 2dc002022f..acd3d30329 100644
--- a/keyboards/kbdfans/kbd75rgb/readme.md
+++ b/keyboards/kbdfans/kbd75rgb/readme.md
@@ -13,7 +13,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kbdfans/kbd8x/config.h b/keyboards/kbdfans/kbd8x/config.h
index b53a898a27..e37124632b 100644
--- a/keyboards/kbdfans/kbd8x/config.h
+++ b/keyboards/kbdfans/kbd8x/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT kbd8x
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B7, D4, F0, D6, D7 }
#define MATRIX_COL_PINS { D1, D0, F7, F6, F5, D5, D3, D2, C7, C6, B5, F4, F1, B4, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd8x/info.json b/keyboards/kbdfans/kbd8x/info.json
index fb2e97a296..8749577d63 100644
--- a/keyboards/kbdfans/kbd8x/info.json
+++ b/keyboards/kbdfans/kbd8x/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KBD 8X",
+ "keyboard_name": "KBD8X",
+ "manufacturer": "KBDfans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"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":1.25}, {"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":1.75}, {"x":14, "y":4.5}, {"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":"Win", "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}]
diff --git a/keyboards/kbdfans/kbd8x_mk2/config.h b/keyboards/kbdfans/kbd8x_mk2/config.h
index 010bba4617..7a2b2aa3c8 100644
--- a/keyboards/kbdfans/kbd8x_mk2/config.h
+++ b/keyboards/kbdfans/kbd8x_mk2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDfans
-#define PRODUCT KBD8X-MKII
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbd8x_mk2/info.json b/keyboards/kbdfans/kbd8x_mk2/info.json
index 82aacc550d..162b037dc2 100644
--- a/keyboards/kbdfans/kbd8x_mk2/info.json
+++ b/keyboards/kbdfans/kbd8x_mk2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbd8x_mk2",
+ "keyboard_name": "KBD8X-MKII",
+ "manufacturer": "KBDfans",
"url": "https://kb.ai03.me/projects/kbd8x-mkii.html",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h
index a3e0a0237e..1f7d095e9f 100644
--- a/keyboards/kbdfans/kbdmini/config.h
+++ b/keyboards/kbdfans/kbdmini/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DZTECH
-#define PRODUCT KBDMINI
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { B7, E6, F5, F4 }
#define MATRIX_COL_PINS { B3, B2, B1, B0, F1, F0, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbdmini/info.json b/keyboards/kbdfans/kbdmini/info.json
index c3d04c9d16..4b2bac56a9 100644
--- a/keyboards/kbdfans/kbdmini/info.json
+++ b/keyboards/kbdfans/kbdmini/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KBDMini",
+ "keyboard_name": "KBDMINI",
+ "manufacturer": "DZTECH",
"url": "",
"maintainer": "KBDFans",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kbdfans/kbdpad/mk1/config.h b/keyboards/kbdfans/kbdpad/mk1/config.h
index 80a1abef57..28ce21e88e 100644
--- a/keyboards/kbdfans/kbdpad/mk1/config.h
+++ b/keyboards/kbdfans/kbdpad/mk1/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER KBDfans
-#define PRODUCT KBDPAD Mk. I
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/info.json
index 760d1d94ea..97736cf44f 100644
--- a/keyboards/kbdfans/kbdpad/mk1/info.json
+++ b/keyboards/kbdfans/kbdpad/mk1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KBDfans KBDPad MKI",
+ "keyboard_name": "KBDPAD Mk. I",
+ "manufacturer": "KBDfans",
"url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kbdfans/kbdpad/mk2/config.h b/keyboards/kbdfans/kbdpad/mk2/config.h
index 99f3792d55..c0f1632169 100644
--- a/keyboards/kbdfans/kbdpad/mk2/config.h
+++ b/keyboards/kbdfans/kbdpad/mk2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDfans
-#define PRODUCT KBDPAD-MKII
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D1, D2, C6, C7, B6 }
#define MATRIX_COL_PINS { C4, C5, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/kbdpad/mk2/info.json b/keyboards/kbdfans/kbdpad/mk2/info.json
index 2f61318575..11522e14f8 100644
--- a/keyboards/kbdfans/kbdpad/mk2/info.json
+++ b/keyboards/kbdfans/kbdpad/mk2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kbdpad_mk2",
+ "keyboard_name": "KBDPAD-MKII",
+ "manufacturer": "KBDfans",
"url": "https://kb.ai03.me/projects/kbdpad-mkii.html",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/kbdfans/maja/config.h b/keyboards/kbdfans/maja/config.h
index 19a5e1dfa4..0800de1ece 100755
--- a/keyboards/kbdfans/maja/config.h
+++ b/keyboards/kbdfans/maja/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6068
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT MAJA
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, B6, B5, B4, D7 }
diff --git a/keyboards/kbdfans/maja/info.json b/keyboards/kbdfans/maja/info.json
index 3245687689..edd26a26fe 100644
--- a/keyboards/kbdfans/maja/info.json
+++ b/keyboards/kbdfans/maja/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MAJA",
+ "keyboard_name": "Maja",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6068",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kbdfans/maja_soldered/config.h b/keyboards/kbdfans/maja_soldered/config.h
index bc284893d5..62a0201c17 100755
--- a/keyboards/kbdfans/maja_soldered/config.h
+++ b/keyboards/kbdfans/maja_soldered/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x6069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT MAJA_SOLDERED
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, B6, D6, B4, D7 }
diff --git a/keyboards/kbdfans/maja_soldered/info.json b/keyboards/kbdfans/maja_soldered/info.json
index 407a189f60..296ece294c 100644
--- a/keyboards/kbdfans/maja_soldered/info.json
+++ b/keyboards/kbdfans/maja_soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MAJA_SOLDERED",
+ "keyboard_name": "Maja Soldered",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "DZTECH",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x6069",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kbdfans/niu_mini/config.h b/keyboards/kbdfans/niu_mini/config.h
index 82f23e3d5c..945c932da9 100644
--- a/keyboards/kbdfans/niu_mini/config.h
+++ b/keyboards/kbdfans/niu_mini/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E6D
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT NIU Mini
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NIU Mini PCB default pin-out */
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B3, B1, B0, D5, B7, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/niu_mini/info.json b/keyboards/kbdfans/niu_mini/info.json
index 1c4310576e..12a004d63e 100644
--- a/keyboards/kbdfans/niu_mini/info.json
+++ b/keyboards/kbdfans/niu_mini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NIU Mini",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6E6D",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c
index 6d3ff8a376..a373b463ab 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c
index 7c794b2037..523b6cf1a0 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Layer 2 (r_ Indicates RGB Controls)
diff --git a/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c
index d859062d39..752aa519c8 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/dyesub/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
_______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
/* Layer 2 (r_ Indicates RGB Controls)
diff --git a/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c
index aca4a86b0e..69613cfbcf 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/edvard/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_PWR, KC_NO, RGB_M_G, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_BSPC,
KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO, KC_NO,
KC_TRNS, KC_NO, RGB_RMOD, RGB_MOD, RGB_TOG, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_NO, RESET
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_NO, QK_BOOT
),
/* ARROWS
diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c
index 5ffbd1b49a..ec06d54d0c 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c
index 4f2e2b37b5..d8b5b37c54 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/mason/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_POWER,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_POWER,
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_MOD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c
index f7f933c7b1..bfd95e137f 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
index 935dd5c506..67f0111112 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c
@@ -8,7 +8,7 @@
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -103,8 +103,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
_______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY)
-),
-
+),
+
/* Lower
* ,-----------------------------------------------------------------------------------.
@@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- TO(_GAMEMODE), RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, WRKMOD,
+ TO(_GAMEMODE), QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, WRKMOD,
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_MOD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_MODE_FORWARD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_R, TO(_QWERTY)
@@ -257,10 +257,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
else {
workmode = false;
- return false;
- }
+ return false;
+ }
}
-
+
}
return true;
}
@@ -293,7 +293,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
layer_state_t layer_state_set_user(layer_state_t state) {
// if(rgblight_get_mode() == 1) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _QWERTY:
if(!workmode){
rgblight_mode(9);
@@ -312,7 +312,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
tap_code(KC_NLCK);
}
rgbflag(0xFF, 0x00, 0x00);
-
+
break;
case _ADJUST:
rgblight_mode(1);
@@ -350,7 +350,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_mode(1);
if(bnumlock) {
tap_code(KC_NLCK);
- }
+ }
rgbflag(0xFF, 0xFF, 0xFF);
break;
}
@@ -363,8 +363,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
//Layer LED indicators
uint32_t layer = layer_state;
-
-
+
+
if (layer & (1<<2)) {
if(!bnumlock) {
numlock_changed = true;
@@ -373,10 +373,10 @@ layer_state_t layer_state_set_user(layer_state_t state) {
bnumlock = true;
}
}
-}
+}
*/
-
-
+
+
void led_set_user(uint8_t usb_led) {
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
@@ -410,4 +410,4 @@ void led_set_user(uint8_t usb_led) {
}
-} \ No newline at end of file
+}
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c
index 94743fe2c8..47adafeffa 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, BL_STEP, _______, KC_SLEP, _______, _______, _______, DYN_REC_START1, DYN_MACRO_PLAY1, DYN_REC_STOP, _______, KC_VOLU,
_______, VLK_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, DYN_REC_START2, DYN_MACRO_PLAY2, _______, _______, KC_VOLD,
_______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MSTP, KC_MUTE,
- RESET, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
+ QK_BOOT, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
)
};
diff --git a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
index bfda812738..639d3b69e8 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_mit(
- RGB_MODE_PLAIN, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ RGB_MODE_PLAIN, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
RGB_MODE_REVERSE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
RGB_MODE_FORWARD, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, RGB_VAD,
RGB_TOG, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY), X_____X
@@ -187,7 +187,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb
void set_state_leds(void) {
if (rgblight_get_mode() == 1) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _RAISE:
rgbflag(C_BLU, C_GRN);
break;
diff --git a/keyboards/kbdfans/odin/rgb/config.h b/keyboards/kbdfans/odin/rgb/config.h
index 9e2a12fcca..571f6d0d1c 100644
--- a/keyboards/kbdfans/odin/rgb/config.h
+++ b/keyboards/kbdfans/odin/rgb/config.h
@@ -15,18 +15,11 @@
*/
#include "config_common.h"
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0102
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT ODIN_RGB
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
#define MATRIX_ROW_PINS { A10, A9, A8, B14, B13, A2 }
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B12, A15, B3, B4, B5, B6, B7, B8, C13, C14, C15, A0}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/odin/rgb/info.json b/keyboards/kbdfans/odin/rgb/info.json
index d5c63b5700..b4845f9468 100644
--- a/keyboards/kbdfans/odin/rgb/info.json
+++ b/keyboards/kbdfans/odin/rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ODIN_RGB",
- "maintainer": "moyi4681",
+ "keyboard_name": "Odin RGB",
+ "manufacturer": "KBDFans",
"url": "",
+ "maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0102",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kbdfans/odin/rgb/readme.md b/keyboards/kbdfans/odin/rgb/readme.md
index 3530fcca40..e37fc13ce1 100644
--- a/keyboards/kbdfans/odin/rgb/readme.md
+++ b/keyboards/kbdfans/odin/rgb/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**:press and hold the button on the back of the PCB, then plugin to PC
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kbdfans/odin/soldered/config.h b/keyboards/kbdfans/odin/soldered/config.h
index d51dd06e82..57ad7e8533 100644
--- a/keyboards/kbdfans/odin/soldered/config.h
+++ b/keyboards/kbdfans/odin/soldered/config.h
@@ -15,19 +15,11 @@
*/
#include "config_common.h"
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0101
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT ODIN_SOLDERED
-
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
#define MATRIX_ROW_PINS { A10, A9, A8, B14, B13, A2 }
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B12, A15, B3, B4, B5, B6, B7, B8, C13, C14, C15, A0}
-#define UNUSED_PINS
#define LED_NUM_LOCK_PIN B9
#define LED_CAPS_LOCK_PIN B10
diff --git a/keyboards/kbdfans/odin/soldered/info.json b/keyboards/kbdfans/odin/soldered/info.json
index 1e4da0d275..bfc6f6f1bc 100644
--- a/keyboards/kbdfans/odin/soldered/info.json
+++ b/keyboards/kbdfans/odin/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ODIN_SOLDERED",
- "maintainer": "moyi4681",
+ "keyboard_name": "Odin Soldered",
+ "manufacturer": "KBDFans",
"url": "",
+ "maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0101",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kbdfans/odin/soldered/readme.md b/keyboards/kbdfans/odin/soldered/readme.md
index 1ffc34597f..723bceecb2 100644
--- a/keyboards/kbdfans/odin/soldered/readme.md
+++ b/keyboards/kbdfans/odin/soldered/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**:press and hold the button on the back of the PCB, then plugin to PC
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kbdfans/phaseone/config.h b/keyboards/kbdfans/phaseone/config.h
index 42fcdedc6a..34ab024a60 100644
--- a/keyboards/kbdfans/phaseone/config.h
+++ b/keyboards/kbdfans/phaseone/config.h
@@ -16,18 +16,12 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0103
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT phaseone
+
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, C6, C7, F7, F6, F5, F4, F1, E6, B7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
#define LED_NUM_LOCK_PIN D7
#define LED_CAPS_LOCK_PIN D6
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/kbdfans/phaseone/info.json b/keyboards/kbdfans/phaseone/info.json
index 31f64801c9..45ad884530 100644
--- a/keyboards/kbdfans/phaseone/info.json
+++ b/keyboards/kbdfans/phaseone/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Phase One",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "moyi4681",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0103",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_wkl": "LAYOUT_65_ansi_blocker_tsangan_wkl"
},
diff --git a/keyboards/kbdfans/phaseone/readme.md b/keyboards/kbdfans/phaseone/readme.md
index b5b21da672..451a3e2a44 100644
--- a/keyboards/kbdfans/phaseone/readme.md
+++ b/keyboards/kbdfans/phaseone/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kbdfans/tiger80/config.h b/keyboards/kbdfans/tiger80/config.h
index ea68effd4f..207f627f7e 100644
--- a/keyboards/kbdfans/tiger80/config.h
+++ b/keyboards/kbdfans/tiger80/config.h
@@ -18,18 +18,10 @@
#include "config_common.h"
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFANS
-#define PRODUCT TIGER80
-
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, E6, B1, B4, D1, D2 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D3, D5, D4, D6, D7, B5, B6, C6, E2, D0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kbdfans/tiger80/info.json b/keyboards/kbdfans/tiger80/info.json
index 2d331500c5..42ed680b28 100644
--- a/keyboards/kbdfans/tiger80/info.json
+++ b/keyboards/kbdfans/tiger80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "tiger80",
+ "keyboard_name": "Tiger80",
+ "manufacturer": "KBDFans",
"url": "",
"maintainer": "kbdfans",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan"
},
diff --git a/keyboards/kbdfans/tiger80/readme.md b/keyboards/kbdfans/tiger80/readme.md
index 60190805d7..c5fc056875 100644
--- a/keyboards/kbdfans/tiger80/readme.md
+++ b/keyboards/kbdfans/tiger80/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kbnordic/nordic60/info.json b/keyboards/kbnordic/nordic60/info.json
deleted file mode 100644
index aa5a82a002..0000000000
--- a/keyboards/kbnordic/nordic60/info.json
+++ /dev/null
@@ -1,361 +0,0 @@
-{
- "keyboard_name": "Nordic60 Rev A",
- "url": "kbnordic.se",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label":"`~", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0},
-
- {"label":"Tab", "w":1.5, "x":0, "y":1},
- {"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":"\\|", "w":1.5, "x":13.5, "y":1},
-
- {"label":"Caps Lock", "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", "w":1.25, "x":0, "y":3},
- {"label":"\\|", "x":1.25, "y":3},
- {"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", "w":1.75, "x":12.25, "y":3},
- {"label":"Fn", "x":14, "y":3},
-
- {"label":"Ctrl", "w":1.25, "x":0, "y":4},
- {"label":"Win", "w":1.25, "x":1.25, "y":4},
- {"label":"Alt", "w":1.25, "x":2.5, "y":4},
- {"label":"Space", "w":6.25, "x":3.75, "y":4},
- {"label":"Alt", "w":1.25, "x":10, "y":4},
- {"label":"Win", "w":1.25, "x":11.25, "y":4},
- {"label":"Menu", "w":1.25, "x":12.5, "y":4},
- {"label":"Ctrl", "w":1.25, "x":13.75, "y":4}
- ]
- },
- "LAYOUT_60_iso": {
- "layout": [
- {"label":"`\u00ac", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2\"", "x":2, "y":0},
- {"label":"3\u00a3", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
-
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"\\|", "x":1.25, "y":3},
- {"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":"Win", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"Win", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- },
- "LAYOUT_60_iso_split_bs_rshift": {
- "layout": [
- {"label":"`\u00ac", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2\"", "x":2, "y":0},
- {"label":"3\u00a3", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
-
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"\\|", "x":1.25, "y":3},
- {"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":"Fn", "x":14, "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},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"Win", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- },
- "LAYOUT_60_ansi": {
- "layout": [
- {"label":"`~", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "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":"Caps Lock", "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":"Win", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"Win", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- },
- "LAYOUT_60_ansi_split_bs_rshift": {
- "layout": [
- {"label":"`~", "x":0, "y":0},
- {"label":"1!", "x":1, "y":0},
- {"label":"2@", "x":2, "y":0},
- {"label":"3#", "x":3, "y":0},
- {"label":"4$", "x":4, "y":0},
- {"label":"5%", "x":5, "y":0},
- {"label":"6^", "x":6, "y":0},
- {"label":"7&", "x":7, "y":0},
- {"label":"8*", "x":8, "y":0},
- {"label":"9(", "x":9, "y":0},
- {"label":"0)", "x":10, "y":0},
- {"label":"-_", "x":11, "y":0},
- {"label":"=+", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Backspace", "x":14, "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":"Caps Lock", "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":1.75},
- {"label":"Fn", "x":14, "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},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"Win", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/kbnordic/nordic60/keymaps/all/keymap.c b/keyboards/kbnordic/nordic60/keymaps/all/keymap.c
index 57475e95ed..2d677ab328 100644
--- a/keyboards/kbnordic/nordic60/keymaps/all/keymap.c
+++ b/keyboards/kbnordic/nordic60/keymaps/all/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
// basic function layer
[1] = 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_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/kbnordic/nordic60/readme.md b/keyboards/kbnordic/nordic60/readme.md
index 7b4f29d22e..43b2bb761d 100644
--- a/keyboards/kbnordic/nordic60/readme.md
+++ b/keyboards/kbnordic/nordic60/readme.md
@@ -17,4 +17,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the ESC key
* **Physical reset button**: Briefly press the button on the back of the PCB (S301) or short the two pads in the "RST" header.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kbnordic/nordic60/rev_a/config.h b/keyboards/kbnordic/nordic60/rev_a/config.h
index be555417d7..d2b6b5712b 100644
--- a/keyboards/kbnordic/nordic60/rev_a/config.h
+++ b/keyboards/kbnordic/nordic60/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4445
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBNORDIC
-#define PRODUCT Nordic60 Rev A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kbnordic/nordic60/rev_a/info.json b/keyboards/kbnordic/nordic60/rev_a/info.json
new file mode 100644
index 0000000000..99d8fe874c
--- /dev/null
+++ b/keyboards/kbnordic/nordic60/rev_a/info.json
@@ -0,0 +1,367 @@
+{
+ "keyboard_name": "Nordic60 Rev A",
+ "manufacturer": "KBNORDIC",
+ "url": "kbnordic.se",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4445",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+
+ {"label":"Tab", "w":1.5, "x":0, "y":1},
+ {"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":"\\|", "w":1.5, "x":13.5, "y":1},
+
+ {"label":"Caps Lock", "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", "w":1.25, "x":0, "y":3},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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", "w":1.75, "x":12.25, "y":3},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "w":1.25, "x":0, "y":4},
+ {"label":"Win", "w":1.25, "x":1.25, "y":4},
+ {"label":"Alt", "w":1.25, "x":2.5, "y":4},
+ {"label":"Space", "w":6.25, "x":3.75, "y":4},
+ {"label":"Alt", "w":1.25, "x":10, "y":4},
+ {"label":"Win", "w":1.25, "x":11.25, "y":4},
+ {"label":"Menu", "w":1.25, "x":12.5, "y":4},
+ {"label":"Ctrl", "w":1.25, "x":13.75, "y":4}
+ ]
+ },
+ "LAYOUT_60_iso": {
+ "layout": [
+ {"label":"`\u00ac", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_iso_split_bs_rshift": {
+ "layout": [
+ {"label":"`\u00ac", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "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":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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":"Win", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "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":"Caps Lock", "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":1.75},
+ {"label":"Fn", "x":14, "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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Win", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kc60/config.h b/keyboards/kc60/config.h
index c536ab83f0..8939dd2fbe 100644
--- a/keyboards/kc60/config.h
+++ b/keyboards/kc60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x530A
-#define PRODUCT_ID 0x6FFC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NPKC
-#define PRODUCT KC60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, F6, F7, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kc60/info.json b/keyboards/kc60/info.json
index a92a72f6a1..e3c4efa411 100644
--- a/keyboards/kc60/info.json
+++ b/keyboards/kc60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KC60",
+ "manufacturer": "NPKC",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x530A",
+ "pid": "0x6FFC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kc60/keymaps/noroadsleft/keymap.c b/keyboards/kc60/keymaps/noroadsleft/keymap.c
index 1721861b9a..37091fccdd 100644
--- a/keyboards/kc60/keymaps/noroadsleft/keymap.c
+++ b/keyboards/kc60/keymaps/noroadsleft/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2018-2021 James Young (@noroadsleft)
+/* Copyright 2018-2022 James Young (@noroadsleft)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -101,13 +101,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MA] = LAYOUT_60_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______,
_______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_RSTP,
- _______, _______, _______, G_FTCH, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, G_FTCH, G_PWD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, G_BRCH, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_SY] = LAYOUT_60_ansi(
- TG(_SY), TO(_DV), TO(_QW), TO(_CM), TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX,
+ TG(_SY), TO(_DV), TO(_QW), TO(_CM), TG(_Q2), XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, DB_TOGG, XXXXXXX, VRSN, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
diff --git a/keyboards/kc60/keymaps/sgoodwin/keymap.c b/keyboards/kc60/keymaps/sgoodwin/keymap.c
index 79b0b8af4e..be439c365e 100644
--- a/keyboards/kc60/keymaps/sgoodwin/keymap.c
+++ b/keyboards/kc60/keymaps/sgoodwin/keymap.c
@@ -25,6 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, BL_INC, BL_DEC, BL_STEP, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_TRNS, \
KC_TRNS, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_NO, DEBUG, RESET, KC_TRNS, KC_NO \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_NO, DEBUG, QK_BOOT, KC_TRNS, KC_NO \
),
};
diff --git a/keyboards/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c
index 54428f2875..ccc2644d6a 100644
--- a/keyboards/kc60/keymaps/stanleylai/keymap.c
+++ b/keyboards/kc60/keymaps/stanleylai/keymap.c
@@ -33,13 +33,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// RGB Layer
[_RGBL] = LAYOUT(
#ifdef RGBLIGHT_ENABLE
- RESET, 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, \
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_TRNS,KC_NO, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
#else
- RESET, 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, \
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP,BL_TOGG, KC_TRNS, KC_TRNS,\
diff --git a/keyboards/kc60/keymaps/wigguno/keymap.c b/keyboards/kc60/keymaps/wigguno/keymap.c
index 00cf194336..add7ccec9a 100644
--- a/keyboards/kc60/keymaps/wigguno/keymap.c
+++ b/keyboards/kc60/keymaps/wigguno/keymap.c
@@ -47,6 +47,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, \
- RESET, KC_TRNS, KC_TRNS, BL_TOGG, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
+ QK_BOOT, KC_TRNS, KC_TRNS, BL_TOGG, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
),
};
diff --git a/keyboards/kc60/keymaps/workman-dead/keymap.c b/keyboards/kc60/keymaps/workman-dead/keymap.c
index b524b61cf7..6c3560d393 100644
--- a/keyboards/kc60/keymaps/workman-dead/keymap.c
+++ b/keyboards/kc60/keymaps/workman-dead/keymap.c
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_CMDQ, KC_CMDD, KC_CSTB, KC_C_TB, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_INS, \
KC_LSFT, KC_CMDA, KC_CMDS, KC_C_LF, KC_C_RT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, _______, KC_BSPC, \
KC_LSFT, _______, KC_CMDZ, KC_CMDX, _______, KC_CMDC, KC_CMDV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, \
- KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, _______, KC_RALT, KC_RGUI, KC_RCTL, RESET),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, _______, KC_RALT, KC_RGUI, KC_RCTL, QK_BOOT),
// mouse layer
/*
diff --git a/keyboards/kc60/keymaps/ws2812/keymap.c b/keyboards/kc60/keymaps/ws2812/keymap.c
index e0a5f600e7..aca89bf9a0 100644
--- a/keyboards/kc60/keymaps/ws2812/keymap.c
+++ b/keyboards/kc60/keymaps/ws2812/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL
),
[1] = 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, XXXXXXX, XXXXXXX,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX,
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS,
XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______, _______,
diff --git a/keyboards/kc60se/config.h b/keyboards/kc60se/config.h
index 876aa891df..f6d4e2e42b 100644
--- a/keyboards/kc60se/config.h
+++ b/keyboards/kc60se/config.h
@@ -19,19 +19,11 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unknown
-#define PRODUCT kc60se
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
/* * Keyboard Matrix Assignments */
-#define UNUSED_PINS
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
diff --git a/keyboards/kc60se/info.json b/keyboards/kc60se/info.json
index 1c8cde0989..f36972e0a0 100644
--- a/keyboards/kc60se/info.json
+++ b/keyboards/kc60se/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kc60se",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/keebio/bamfk1/config.h b/keyboards/keebio/bamfk1/config.h
index 5cd86a9d16..908b969da9 100644
--- a/keyboards/keebio/bamfk1/config.h
+++ b/keyboards/keebio/bamfk1/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1111
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keebio
-#define PRODUCT BAMFK-1
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
diff --git a/keyboards/keebio/bamfk1/info.json b/keyboards/keebio/bamfk1/info.json
index 817eb98af0..858dcfc948 100644
--- a/keyboards/keebio/bamfk1/info.json
+++ b/keyboards/keebio/bamfk1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BAMFK-1",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1111",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/bamfk1/readme.md b/keyboards/keebio/bamfk1/readme.md
index a90ee8ac8c..5fdd285afd 100644
--- a/keyboards/keebio/bamfk1/readme.md
+++ b/keyboards/keebio/bamfk1/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/keebio/bamfk4/bamfk4.c b/keyboards/keebio/bamfk4/bamfk4.c
new file mode 100644
index 0000000000..6a382bfaf6
--- /dev/null
+++ b/keyboards/keebio/bamfk4/bamfk4.c
@@ -0,0 +1,37 @@
+// Copyright 2022 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bamfk4.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { NO_LED, NO_LED, NO_LED, NO_LED },
+}, {
+ // LED Index to Physical Position
+ //through switch
+ { 26.6, 10 }, { 4.3, 10 }, { 3.8, 49.3 }, { 23.3, 49.3 },
+ { 69.4, 49.3 }, { 68.9, 10 }, { 90.6, 10 }, { 89.5, 49.3 },
+ { 134, 49.3 }, { 132.9, 10 }, { 155.7, 10 }, { 155.1, 49.3 },
+ { 199.6, 49.3 }, { 199.6, 10 }, { 219.1, 10 }, { 219.1, 49.3 },
+
+ //underglow
+ { 218, 62.2 }, { 188.7, 62.2 }, { 159.5, 62.2 }, { 123.7, 62.2 }, //bottom right
+ { 100.3, 62.2 }, { 59.1, 62.2 }, { 35.3, 62.2 }, { 5.4, 62.2 }, //bottom left
+ { 6, 6.4 }, { 35.3, 6.4 }, { 59.1, 6.4 }, { 100.3, 6.4 }, //top left
+ { 123.7, 6.4 }, { 159.5, 6.4 }, { 188.7, 6.4 }, { 218, 6.4 } //top right
+}, {
+ // LED Index to Flag
+ 4, 4, 4, 4,
+ 4, 4, 4, 4,
+ 4, 4, 4, 4,
+ 4, 4, 4, 4,
+ 2, 2, 2, 2,
+ 2, 2, 2, 2,
+ 2, 2, 2, 2,
+ 2, 2, 2, 2
+} };
+
+
+
+#endif \ No newline at end of file
diff --git a/keyboards/keebio/bamfk4/bamfk4.h b/keyboards/keebio/bamfk4/bamfk4.h
new file mode 100644
index 0000000000..0bdc2f602f
--- /dev/null
+++ b/keyboards/keebio/bamfk4/bamfk4.h
@@ -0,0 +1,12 @@
+// Copyright 2022 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00, k01, k02, k03 \
+) { \
+ { k00, k01, k02, k03 }, \
+}
diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h
new file mode 100644
index 0000000000..b18b94da10
--- /dev/null
+++ b/keyboards/keebio/bamfk4/config.h
@@ -0,0 +1,146 @@
+// Copyright 2022 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+
+/* key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 4
+
+/*
+ * Keyboard Matrix Assignments
+ */
+#define MATRIX_ROW_PINS { F0 }
+#define MATRIX_COL_PINS { E6, D5, B6, B7 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 32
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== enabled 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
+# define RGBLIGHT_EFFECT_TWINKLE
+# define RGBLIGHT_DEFAULT_VAL 120
+# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+// RGB Matrix
+//# ifdef RGB_MATRIX_ENABLE
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_KEYPRESSES
+//# endif
+#endif
+
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json
new file mode 100644
index 0000000000..1d04f4348b
--- /dev/null
+++ b/keyboards/keebio/bamfk4/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "BAMFK-4",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1114",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0, "w": 2, "h": 2},
+ {"x": 2, "y": 0, "w": 2, "h": 2},
+ {"x": 4, "y": 0, "w": 2, "h": 2},
+ {"x": 6, "y": 0, "w": 2, "h": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/bamfk4/keymaps/default/keymap.c b/keyboards/keebio/bamfk4/keymaps/default/keymap.c
new file mode 100644
index 0000000000..960c436da3
--- /dev/null
+++ b/keyboards/keebio/bamfk4/keymaps/default/keymap.c
@@ -0,0 +1,18 @@
+// Copyright 2021 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _MAIN,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_MAIN] = LAYOUT(
+ KC_A,
+ KC_B,
+ KC_C,
+ KC_D
+ )
+}; \ No newline at end of file
diff --git a/keyboards/keebio/bamfk4/keymaps/via/keymap.c b/keyboards/keebio/bamfk4/keymaps/via/keymap.c
new file mode 100644
index 0000000000..454d9c6d62
--- /dev/null
+++ b/keyboards/keebio/bamfk4/keymaps/via/keymap.c
@@ -0,0 +1,15 @@
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _MAIN,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_MAIN] = LAYOUT(
+ KC_A,
+ KC_B,
+ KC_C,
+ KC_D
+ )
+}; \ No newline at end of file
diff --git a/keyboards/keebio/bamfk4/keymaps/via/rules.mk b/keyboards/keebio/bamfk4/keymaps/via/rules.mk
new file mode 100644
index 0000000000..25da8e7e85
--- /dev/null
+++ b/keyboards/keebio/bamfk4/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebio/bamfk4/rules.mk b/keyboards/keebio/bamfk4/rules.mk
new file mode 100644
index 0000000000..b8ae254413
--- /dev/null
+++ b/keyboards/keebio/bamfk4/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/bdn9/info.json b/keyboards/keebio/bdn9/info.json
index e383395eea..4bb378ea7a 100644
--- a/keyboards/keebio/bdn9/info.json
+++ b/keyboards/keebio/bdn9/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Keebio BDN9",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/bdn9/keymaps/bcat/keymap.c b/keyboards/keebio/bdn9/keymaps/bcat/keymap.c
index 2028deb4f1..2313dec9d3 100644
--- a/keyboards/keebio/bdn9/keymaps/bcat/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/bcat/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3
),
[LAYER_FUNCTION_1] = LAYOUT(
- EEP_RST, _______, RESET,
+ EEP_RST, _______, QK_BOOT,
KC_F10, KC_F11, KC_F12,
KC_F7, KC_F8, KC_F9
),
diff --git a/keyboards/keebio/bdn9/keymaps/codecoffeecode/keymap.c b/keyboards/keebio/bdn9/keymaps/codecoffeecode/keymap.c
index bce81500d5..89956afd7c 100644
--- a/keyboards/keebio/bdn9/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/codecoffeecode/keymap.c
@@ -28,12 +28,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPRV, MO(1), KC_MNXT
),
/*
- | RESET | Home | Media Stop |
+ | QK_BOOT | Home | Media Stop |
| | End | |
| CTRL_END | | CTRL_HOME |
*/
[1] = LAYOUT(
- RESET , KC_HOME, KC_STOP,
+ QK_BOOT, KC_HOME, KC_STOP,
_______, KC_END, _______,
LCTL(KC_END), _______, LCTL(KC_HOME)
),
diff --git a/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c b/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
index 4d323a3126..1a1df0d501 100644
--- a/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
@@ -34,12 +34,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LEFT, KC_DOWN, KC_RGHT
),
/*
- | RESET | Shift+CMD+B (Build VS Code) | Media Stop |
+ | QK_BOOT | Shift+CMD+B (Build VS Code) | Media Stop |
| Held: Layer 2 | Home | RGB Mode |
| Media Previous | End | Media Next |
*/
[1] = LAYOUT(
- RESET , S(G(KC_B)), KC_STOP,
+ QK_BOOT, S(G(KC_B)), KC_STOP,
_______, KC_HOME, RGB_MOD,
KC_MPRV, KC_END , KC_MNXT
),
diff --git a/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c
index 50d44bea14..1b44e88ccf 100644
--- a/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//`-------+-------+-------'
),
/*
- | RESET | N/A | Media Stop |
+ | QK_BOOT | N/A | Media Stop |
| Held: Layer 2 | Home | RGB Mode |
| Media Previous | End | Media Next |
*/
diff --git a/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c b/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c
index 760bb3d5e5..268dd8002a 100644
--- a/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/mousepad/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_WH_D, TT(1), KC_WH_R
),
[1] = LAYOUT(
- RESET, KC_ACL0, KC_ACL1,
+ QK_BOOT, KC_ACL0, KC_ACL1,
KC_VOLU, KC_ACL2, KC_BRIU,
KC_VOLD, TO(1), KC_BRID
),
diff --git a/keyboards/keebio/bdn9/keymaps/rishka/keymap.c b/keyboards/keebio/bdn9/keymaps/rishka/keymap.c
index 9777debc3e..f164f66567 100644
--- a/keyboards/keebio/bdn9/keymaps/rishka/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/rishka/keymap.c
@@ -28,12 +28,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LEFT, KC_DOWN, KC_RGHT
),
/*
- | RESET | N/A | Media Stop |
+ | QK_BOOT | N/A | Media Stop |
| Held: Layer 2 | Home | RGB Mode |
| Media Previous | End | Media Next |
*/
[1] = LAYOUT(
- RESET , KC_HOME, _______,
+ QK_BOOT, KC_HOME, _______,
_______, _______, _______,
KC_MPRV, KC_END , KC_MNXT
),
diff --git a/keyboards/keebio/bdn9/keymaps/via/keymap.c b/keyboards/keebio/bdn9/keymaps/via/keymap.c
index fc5f22cd8b..6efb6003de 100644
--- a/keyboards/keebio/bdn9/keymaps/via/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/via/keymap.c
@@ -1,42 +1,45 @@
#include QMK_KEYBOARD_H
-enum encoder_names {
- _LEFT,
- _RIGHT,
- _MIDDLE,
-};
-
enum layer_names {
- _ZERO,
- _ONE,
- _TWO,
- _THREE
+ _MAIN,
+ _FN1,
+ _FN2,
+ _FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_ZERO] = LAYOUT(
+[_MAIN] = LAYOUT(
KC_MPLY, KC_HOME, KC_MUTE,
MO(1), KC_UP, RGB_MOD,
KC_LEFT, KC_DOWN, KC_RGHT
),
-[_ONE] = LAYOUT(
- QK_BOOT, BL_STEP, KC_STOP,
+[_FN1] = LAYOUT(
+ QK_BOOT, BL_STEP, KC_STOP,
_______, KC_HOME, RGB_MOD,
KC_MPRV, KC_END , KC_MNXT
),
-[_TWO] = LAYOUT(
+[_FN2] = LAYOUT(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
),
-[_THREE] = LAYOUT(
+[_FN3] = LAYOUT(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_MAIN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [_FN1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [_FN3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+};
+#endif
diff --git a/keyboards/keebio/bdn9/keymaps/via/rules.mk b/keyboards/keebio/bdn9/keymaps/via/rules.mk
index d96967a608..a7017de2b6 100644
--- a/keyboards/keebio/bdn9/keymaps/via/rules.mk
+++ b/keyboards/keebio/bdn9/keymaps/via/rules.mk
@@ -3,3 +3,4 @@ LTO_ENABLE = yes
MOUSEKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = no
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c
index f473c9a1f9..4b0fb147ec 100644
--- a/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/vosechu-browser/keymap.c
@@ -11,7 +11,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- RESET , PAWFIVE, RELOAD ,
+ QK_BOOT, PAWFIVE, RELOAD ,
SLACKUP, KC_UP , KC_PGUP,
SLACKDN, KC_DOWN, KC_PGDN
),
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
index a449c3ec3d..66483b51de 100644
--- a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX
),
[_PANIC] = LAYOUT(
- RESET , BASE , XXXXXXX,
+ QK_BOOT, BASE , XXXXXXX,
_______, XXXXXXX, _______,
KC_F2 , KC_F5 , KC_F9
),
@@ -64,7 +64,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
flight_mode = false;
rcs_mode = false;
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _PANIC:
panic_mode = true; // For use in encoder evaluation
rgblight_sethsv_noeeprom(HSV_RED);
diff --git a/keyboards/keebio/bdn9/rev1/config.h b/keyboards/keebio/bdn9/rev1/config.h
index ed5d5953f7..a674477d99 100644
--- a/keyboards/keebio/bdn9/rev1/config.h
+++ b/keyboards/keebio/bdn9/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1133
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT BDN9 Rev. 1
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/keebio/bdn9/rev1/info.json b/keyboards/keebio/bdn9/rev1/info.json
new file mode 100644
index 0000000000..768ad3ad9b
--- /dev/null
+++ b/keyboards/keebio/bdn9/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "BDN9 Rev. 1",
+ "usb": {
+ "pid": "0x1133",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h
index f9eb3babca..e3d004fc27 100644
--- a/keyboards/keebio/bdn9/rev2/config.h
+++ b/keyboards/keebio/bdn9/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2133
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT BDN9 Rev. 2
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -55,6 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// RGB Matrix
# ifdef RGB_MATRIX_ENABLE
# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json
new file mode 100644
index 0000000000..2a610ba304
--- /dev/null
+++ b/keyboards/keebio/bdn9/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "BDN9 Rev. 2",
+ "usb": {
+ "pid": "0x2133",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/bfo9000/config.h b/keyboards/keebio/bfo9000/config.h
index 7bb150d8cf..74d8bfbc46 100644
--- a/keyboards/keebio/bfo9000/config.h
+++ b/keyboards/keebio/bfo9000/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1169
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT BFO-9000
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/keebio/bfo9000/info.json b/keyboards/keebio/bfo9000/info.json
index c492ccae18..3e455b3d6e 100644
--- a/keyboards/keebio/bfo9000/info.json
+++ b/keyboards/keebio/bfo9000/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keebio BFO-9000",
+ "keyboard_name": "BFO-9000",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1169",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
index 29531b9973..ad56226ac6 100644
--- a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
@@ -42,7 +42,7 @@ void matrix_post_init_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _LIST:
rgblight_sethsv_noeeprom(0,255,255);
rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL);
@@ -87,6 +87,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
}
-
-
-
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
index ba272ca63c..60bbbbdebe 100644
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
@@ -272,7 +272,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
- | |Colemak| Qwerty| |ColmkGM| QWGM | | | | | | | | Numpad| | | | | RESET |
+ | |Colemak| Qwerty| |ColmkGM| QWGM | | | | | | | | Numpad| | | | | QK_BOOT |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
@@ -285,7 +285,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -294,7 +294,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c b/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c
new file mode 100644
index 0000000000..8cdf12545b
--- /dev/null
+++ b/keyboards/keebio/bfo9000/keymaps/rogthefrog6x9/keymap.c
@@ -0,0 +1,20 @@
+// Copyright 2022 rogthefrog
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _BASE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_BASE] = LAYOUT(
+ KC_ESC, KC_CALC, 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_PSCR, KC_VOLU, KC_MUTE,
+ KC_NUM, KC_INS, 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_VOLD, KC_HOME,
+ KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
+ KC_P4, KC_P5, KC_P6, 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, KC_INS, KC_PGUP,
+ KC_P1, KC_P2, KC_P3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_APP, KC_UP, KC_PGDN,
+ KC_P0, KC_PDOT, KC_ENT, KC_LCTL, KC_LGUI, KC_LALT, KC_CAPS, KC_ENT, KC_BSPC, KC_SPC, KC_BSPC, KC_RGUI, KC_CUT, KC_COPY, KC_PSTE, KC_LEFT, KC_DOWN, KC_RGHT
+)
+};
diff --git a/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c b/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c
index 56b21454d2..faa858da72 100644
--- a/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/shadyproject/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QWERTY
(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
- | ESC | RESET | F1 | F2 | F3 | F4 | F5 | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ | ESC | QK_BOOT | F1 | F2 | F3 | F4 | F5 | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | | 1 | 2 | 3 | 4 | 5 | | | | | | 6 | 7 | 8 | 9 | 0 | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -45,7 +45,7 @@ QWERTY
`--------------------------------------------------------------------------------' `--------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT(
- KC_ESC, 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_ESC, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______,
_______, KC_GRV, 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_EQL, _______,
_______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, MO(_FUNC), MO(_FUNC), KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, // TODO: use OSL instead of MO
diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
index fe951ac019..604717b0c5 100644
--- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
@@ -273,7 +273,7 @@ Adjust layer
,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | | Colemak| Qwerty | | Gaming | | | | | | | | | Numpad | | | | | RESET |
+ | | Colemak| Qwerty | | Gaming | | | | | | | | | Numpad | | | | | QK_BOOT |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -286,7 +286,7 @@ Adjust layer
*/
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -295,7 +295,7 @@ Adjust layer
[_ADJUST2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, GAMING, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/keebio/bigswitchseat/config.h b/keyboards/keebio/bigswitchseat/config.h
index dbf8311c8d..ff4896c056 100644
--- a/keyboards/keebio/bigswitchseat/config.h
+++ b/keyboards/keebio/bigswitchseat/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keebio
-#define PRODUCT Big Switch Seat
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/keyboards/keebio/bigswitchseat/info.json b/keyboards/keebio/bigswitchseat/info.json
index 10328da26f..d66ef5b5ce 100644
--- a/keyboards/keebio/bigswitchseat/info.json
+++ b/keyboards/keebio/bigswitchseat/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Big Switch Seat",
+ "manufacturer": "Keebio",
"url": "https://robotcandy.company/",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x": 0, "y": 0, "w": 4, "h": 4}]
diff --git a/keyboards/keebio/bigswitchseat/readme.md b/keyboards/keebio/bigswitchseat/readme.md
index 43e62d4e53..dc20a9cb93 100644
--- a/keyboards/keebio/bigswitchseat/readme.md
+++ b/keyboards/keebio/bigswitchseat/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/keebio/choconum/config.h b/keyboards/keebio/choconum/config.h
index dcd116534a..afad80daef 100644
--- a/keyboards/keebio/choconum/config.h
+++ b/keyboards/keebio/choconum/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1154
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Choconum
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/keebio/choconum/info.json b/keyboards/keebio/choconum/info.json
index b036cf0b79..b6408f31cd 100644
--- a/keyboards/keebio/choconum/info.json
+++ b/keyboards/keebio/choconum/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Choconum",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1154",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/keebio/chocopad/config.h b/keyboards/keebio/chocopad/config.h
index e07bd5da5b..bbbc022849 100644
--- a/keyboards/keebio/chocopad/config.h
+++ b/keyboards/keebio/chocopad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1144
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Chocopad
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/keebio/chocopad/info.json b/keyboards/keebio/chocopad/info.json
index 6fbbbbd4fc..426d9d72e8 100644
--- a/keyboards/keebio/chocopad/info.json
+++ b/keyboards/keebio/chocopad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chocopad",
+ "manufacturer": "Keebio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1144",
+ "device_version": "1.0.0"
+ },
"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/keebio/chocopad/keymaps/khord/keymap.c b/keyboards/keebio/chocopad/keymaps/khord/keymap.c
index 04811dfb4f..3459ffe8a6 100644
--- a/keyboards/keebio/chocopad/keymaps/khord/keymap.c
+++ b/keyboards/keebio/chocopad/keymaps/khord/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2] = LAYOUT_ortho_4x4(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
BL_STEP, _______, XXXXXXX, XXXXXXX
diff --git a/keyboards/keebio/dilly/config.h b/keyboards/keebio/dilly/config.h
index 9d7b08509d..2dacb39e07 100644
--- a/keyboards/keebio/dilly/config.h
+++ b/keyboards/keebio/dilly/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x113a
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Dilly
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D7, E6, B4, B1, B3, B2 }
#define MATRIX_COL_PINS { D2, D4, C6, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebio/dilly/info.json b/keyboards/keebio/dilly/info.json
index fd12fce337..af8a7a8416 100644
--- a/keyboards/keebio/dilly/info.json
+++ b/keyboards/keebio/dilly/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dilly",
+ "manufacturer": "Keebio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x113A",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ortho_3x10": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}]
diff --git a/keyboards/keebio/dsp40/info.json b/keyboards/keebio/dsp40/info.json
deleted file mode 100644
index e595a4d2a6..0000000000
--- a/keyboards/keebio/dsp40/info.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "keyboard_name": "DSP40",
- "url": "https://keeb.io",
- "maintainer": "nooges",
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "Q", "x": 1, "y": 0 },
- { "label": "W", "x": 2, "y": 0 },
- { "label": "E", "x": 3, "y": 0 },
- { "label": "R", "x": 4, "y": 0 },
- { "label": "T", "x": 5, "y": 0 },
- { "label": "Y", "x": 6, "y": 0 },
- { "label": "U", "x": 7, "y": 0 },
- { "label": "I", "x": 8, "y": 0 },
- { "label": "O", "x": 9, "y": 0 },
- { "label": "P", "x": 10, "y": 0 },
- { "label": "Back<br>Space", "x": 11, "y": 0 },
- { "label": "Tab", "x": 0, "y": 1, "w": 1.25 },
- { "label": "A", "x": 1.25, "y": 1 },
- { "label": "S", "x": 2.25, "y": 1 },
- { "label": "D", "x": 3.25, "y": 1 },
- { "label": "F", "x": 4.25, "y": 1 },
- { "label": "G", "x": 5.25, "y": 1 },
- { "label": "H", "x": 6.25, "y": 1 },
- { "label": "J", "x": 7.25, "y": 1 },
- { "label": "K", "x": 8.25, "y": 1 },
- { "label": "L", "x": 9.25, "y": 1 },
- { "label": "Enter", "x": 10.25, "y": 1, "w": 1.75 },
- { "label": "Shift", "x": 0, "y": 2, "w": 1.75 },
- { "label": "Z", "x": 1.75, "y": 2 },
- { "label": "X", "x": 2.75, "y": 2 },
- { "label": "C", "x": 3.75, "y": 2 },
- { "label": "V", "x": 4.75, "y": 2 },
- { "label": "B", "x": 5.75, "y": 2 },
- { "label": "N", "x": 6.75, "y": 2 },
- { "label": "M", "x": 7.75, "y": 2 },
- { "label": "<", "x": 8.75, "y": 2 },
- { "label": "Shift", "x": 9.75, "y": 2, "w": 1.25 },
- { "label": "Fn", "x": 11, "y": 2 },
- { "label": "Hyper", "x": 0, "y": 3, "w": 1.25 },
- { "label": "Super", "x": 1.25, "y": 3 },
- { "label": "Meta", "x": 2.25, "y": 3, "w": 1.25 },
- { "x": 3.5, "y": 3, "w": 2.25 },
- { "x": 5.75, "y": 3, "w": 2.75 },
- { "label": "Super", "x": 8.5, "y": 3, "w": 1.25 },
- { "label": "Meta", "x": 9.75, "y": 3 },
- { "label": "Super", "x": 10.75, "y": 3, "w": 1.25 }
- ]
- },
- "LAYOUT_ortho_4x12": {
- "layout": [
- { "label": "Tab", "x": 0, "y": 0 },
- { "label": "Q", "x": 1, "y": 0 },
- { "label": "W", "x": 2, "y": 0 },
- { "label": "E", "x": 3, "y": 0 },
- { "label": "R", "x": 4, "y": 0 },
- { "label": "T", "x": 5, "y": 0 },
- { "label": "Y", "x": 6, "y": 0 },
- { "label": "U", "x": 7, "y": 0 },
- { "label": "I", "x": 8, "y": 0 },
- { "label": "O", "x": 9, "y": 0 },
- { "label": "P", "x": 10, "y": 0 },
- { "label": "Back Space", "x": 11, "y": 0 },
- { "label": "Esc", "x": 0, "y": 1 },
- { "label": "A", "x": 1, "y": 1 },
- { "label": "S", "x": 2, "y": 1 },
- { "label": "D", "x": 3, "y": 1 },
- { "label": "F", "x": 4, "y": 1 },
- { "label": "G", "x": 5, "y": 1 },
- { "label": "H", "x": 6, "y": 1 },
- { "label": "J", "x": 7, "y": 1 },
- { "label": "K", "x": 8, "y": 1 },
- { "label": "L", "x": 9, "y": 1 },
- { "label": ";", "x": 10, "y": 1 },
- { "label": "'", "x": 11, "y": 1 },
- { "label": "Shift", "x": 0, "y": 2 },
- { "label": "Z", "x": 1, "y": 2 },
- { "label": "X", "x": 2, "y": 2 },
- { "label": "C", "x": 3, "y": 2 },
- { "label": "V", "x": 4, "y": 2 },
- { "label": "B", "x": 5, "y": 2 },
- { "label": "N", "x": 6, "y": 2 },
- { "label": "M", "x": 7, "y": 2 },
- { "label": ",", "x": 8, "y": 2 },
- { "label": ".", "x": 9, "y": 2 },
- { "label": "/", "x": 10, "y": 2 },
- { "label": "Enter", "x": 11, "y": 2 },
- { "x": 0, "y": 3 },
- { "label": "Ctrl", "x": 1, "y": 3 },
- { "label": "Alt", "x": 2, "y": 3 },
- { "label": "Super", "x": 3, "y": 3 },
- { "label": "Lower", "x": 4, "y": 3 },
- { "label": "Space", "x": 5, "y": 3 },
- { "label": "Space", "x": 6, "y": 3 },
- { "label": "Raise", "x": 7, "y": 3 },
- { "label": "Left", "x": 8, "y": 3 },
- { "label": "Down", "x": 9, "y": 3 },
- { "label": "Up", "x": 10, "y": 3 },
- { "label": "Right", "x": 11, "y": 3 }
- ]
- }
- }
-}
diff --git a/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c b/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c
index 7081eedbdd..29414c0976 100644
--- a/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c
+++ b/keyboards/keebio/dsp40/keymaps/bakingpy/keymap.c
@@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MAC, WINDOWS, TESTMODE,_______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/dsp40/rev1/config.h b/keyboards/keebio/dsp40/rev1/config.h
index 753af5ce2f..88dec69f59 100644
--- a/keyboards/keebio/dsp40/rev1/config.h
+++ b/keyboards/keebio/dsp40/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x144C
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT DSP40 Rev. 1
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/keebio/dsp40/rev1/info.json b/keyboards/keebio/dsp40/rev1/info.json
new file mode 100644
index 0000000000..3d5ce68f5f
--- /dev/null
+++ b/keyboards/keebio/dsp40/rev1/info.json
@@ -0,0 +1,111 @@
+{
+ "keyboard_name": "DSP40 Rev. 1",
+ "manufacturer": "Keebio",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x144C",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "Q", "x": 1, "y": 0 },
+ { "label": "W", "x": 2, "y": 0 },
+ { "label": "E", "x": 3, "y": 0 },
+ { "label": "R", "x": 4, "y": 0 },
+ { "label": "T", "x": 5, "y": 0 },
+ { "label": "Y", "x": 6, "y": 0 },
+ { "label": "U", "x": 7, "y": 0 },
+ { "label": "I", "x": 8, "y": 0 },
+ { "label": "O", "x": 9, "y": 0 },
+ { "label": "P", "x": 10, "y": 0 },
+ { "label": "Back<br>Space", "x": 11, "y": 0 },
+ { "label": "Tab", "x": 0, "y": 1, "w": 1.25 },
+ { "label": "A", "x": 1.25, "y": 1 },
+ { "label": "S", "x": 2.25, "y": 1 },
+ { "label": "D", "x": 3.25, "y": 1 },
+ { "label": "F", "x": 4.25, "y": 1 },
+ { "label": "G", "x": 5.25, "y": 1 },
+ { "label": "H", "x": 6.25, "y": 1 },
+ { "label": "J", "x": 7.25, "y": 1 },
+ { "label": "K", "x": 8.25, "y": 1 },
+ { "label": "L", "x": 9.25, "y": 1 },
+ { "label": "Enter", "x": 10.25, "y": 1, "w": 1.75 },
+ { "label": "Shift", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "Z", "x": 1.75, "y": 2 },
+ { "label": "X", "x": 2.75, "y": 2 },
+ { "label": "C", "x": 3.75, "y": 2 },
+ { "label": "V", "x": 4.75, "y": 2 },
+ { "label": "B", "x": 5.75, "y": 2 },
+ { "label": "N", "x": 6.75, "y": 2 },
+ { "label": "M", "x": 7.75, "y": 2 },
+ { "label": "<", "x": 8.75, "y": 2 },
+ { "label": "Shift", "x": 9.75, "y": 2, "w": 1.25 },
+ { "label": "Fn", "x": 11, "y": 2 },
+ { "label": "Hyper", "x": 0, "y": 3, "w": 1.25 },
+ { "label": "Super", "x": 1.25, "y": 3 },
+ { "label": "Meta", "x": 2.25, "y": 3, "w": 1.25 },
+ { "x": 3.5, "y": 3, "w": 2.25 },
+ { "x": 5.75, "y": 3, "w": 2.75 },
+ { "label": "Super", "x": 8.5, "y": 3, "w": 1.25 },
+ { "label": "Meta", "x": 9.75, "y": 3 },
+ { "label": "Super", "x": 10.75, "y": 3, "w": 1.25 }
+ ]
+ },
+ "LAYOUT_ortho_4x12": {
+ "layout": [
+ { "label": "Tab", "x": 0, "y": 0 },
+ { "label": "Q", "x": 1, "y": 0 },
+ { "label": "W", "x": 2, "y": 0 },
+ { "label": "E", "x": 3, "y": 0 },
+ { "label": "R", "x": 4, "y": 0 },
+ { "label": "T", "x": 5, "y": 0 },
+ { "label": "Y", "x": 6, "y": 0 },
+ { "label": "U", "x": 7, "y": 0 },
+ { "label": "I", "x": 8, "y": 0 },
+ { "label": "O", "x": 9, "y": 0 },
+ { "label": "P", "x": 10, "y": 0 },
+ { "label": "Back Space", "x": 11, "y": 0 },
+ { "label": "Esc", "x": 0, "y": 1 },
+ { "label": "A", "x": 1, "y": 1 },
+ { "label": "S", "x": 2, "y": 1 },
+ { "label": "D", "x": 3, "y": 1 },
+ { "label": "F", "x": 4, "y": 1 },
+ { "label": "G", "x": 5, "y": 1 },
+ { "label": "H", "x": 6, "y": 1 },
+ { "label": "J", "x": 7, "y": 1 },
+ { "label": "K", "x": 8, "y": 1 },
+ { "label": "L", "x": 9, "y": 1 },
+ { "label": ";", "x": 10, "y": 1 },
+ { "label": "'", "x": 11, "y": 1 },
+ { "label": "Shift", "x": 0, "y": 2 },
+ { "label": "Z", "x": 1, "y": 2 },
+ { "label": "X", "x": 2, "y": 2 },
+ { "label": "C", "x": 3, "y": 2 },
+ { "label": "V", "x": 4, "y": 2 },
+ { "label": "B", "x": 5, "y": 2 },
+ { "label": "N", "x": 6, "y": 2 },
+ { "label": "M", "x": 7, "y": 2 },
+ { "label": ",", "x": 8, "y": 2 },
+ { "label": ".", "x": 9, "y": 2 },
+ { "label": "/", "x": 10, "y": 2 },
+ { "label": "Enter", "x": 11, "y": 2 },
+ { "x": 0, "y": 3 },
+ { "label": "Ctrl", "x": 1, "y": 3 },
+ { "label": "Alt", "x": 2, "y": 3 },
+ { "label": "Super", "x": 3, "y": 3 },
+ { "label": "Lower", "x": 4, "y": 3 },
+ { "label": "Space", "x": 5, "y": 3 },
+ { "label": "Space", "x": 6, "y": 3 },
+ { "label": "Raise", "x": 7, "y": 3 },
+ { "label": "Left", "x": 8, "y": 3 },
+ { "label": "Down", "x": 9, "y": 3 },
+ { "label": "Up", "x": 10, "y": 3 },
+ { "label": "Right", "x": 11, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/ergodicity/config.h b/keyboards/keebio/ergodicity/config.h
index 014eb13759..80603481f1 100644
--- a/keyboards/keebio/ergodicity/config.h
+++ b/keyboards/keebio/ergodicity/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x125F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keebio
-#define PRODUCT Ergodicity
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, C7, B6, B4 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D7, D6, D4, D3, D2, D1, D0, B7, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebio/ergodicity/info.json b/keyboards/keebio/ergodicity/info.json
index 83b5049e20..55090a01dc 100644
--- a/keyboards/keebio/ergodicity/info.json
+++ b/keyboards/keebio/ergodicity/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ergodicity",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x125F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/foldkb/info.json b/keyboards/keebio/foldkb/info.json
deleted file mode 100644
index e94389ef4e..0000000000
--- a/keyboards/keebio/foldkb/info.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "keyboard_name": "FoldKB",
- "url": "https://keeb.io",
- "maintainer": "nooges",
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "label": "Mute", "x": 0, "y": 0 },
- { "label": "Esc", "x": 1.25, "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": 9, "y": 0 },
- { "label": "7", "x": 10, "y": 0 },
- { "label": "8", "x": 11, "y": 0 },
- { "label": "9", "x": 12, "y": 0 },
- { "label": "0", "x": 13, "y": 0 },
- { "label": "-", "x": 14, "y": 0 },
- { "label": "=", "x": 15, "y": 0 },
- { "label": "Bksp", "x": 16, "y": 0 },
-
- { "label": "Home", "x": 0, "y": 1 },
- { "label": "Tab", "x": 1.75, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 3.25, "y": 1 },
- { "label": "W", "x": 4.25, "y": 1 },
- { "label": "E", "x": 5.25, "y": 1 },
- { "label": "R", "x": 6.25, "y": 1 },
- { "label": "T", "x": 7.25, "y": 1 },
- { "label": "Y", "x": 9, "y": 1 },
- { "label": "U", "x": 10, "y": 1 },
- { "label": "I", "x": 11, "y": 1 },
- { "label": "O", "x": 12, "y": 1 },
- { "label": "P", "x": 13, "y": 1 },
- { "label": "[", "x": 14, "y": 1 },
- { "label": "]", "x": 15, "y": 1 },
- { "label": "\\", "x": 16, "y": 1, "w": 1.5 },
-
- { "label": "End", "x": 0, "y": 2 },
- { "label": "Caps", "x": 1.5, "y": 2, "w": 1.75 },
- { "label": "A", "x": 3.25, "y": 2 },
- { "label": "S", "x": 4.25, "y": 2 },
- { "label": "D", "x": 5.25, "y": 2 },
- { "label": "F", "x": 6.25, "y": 2 },
- { "label": "G", "x": 7.25, "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": "Enter", "x": 15, "y": 2, "w": 2.25 },
-
- { "label": "PgUp", "x": 0, "y": 3 },
- { "label": "Shift", "x": 1, "y": 3, "w": 2.25 },
- { "label": "Z", "x": 3.25, "y": 3 },
- { "label": "X", "x": 4.25, "y": 3 },
- { "label": "C", "x": 5.25, "y": 3 },
- { "label": "V", "x": 6.25, "y": 3 },
- { "label": "B", "x": 7.25, "y": 3 },
- { "label": "N", "x": 9, "y": 3 },
- { "label": "M", "x": 10, "y": 3 },
- { "label": ",", "x": 11, "y": 3 },
- { "label": ".", "x": 12, "y": 3 },
- { "label": "/", "x": 13, "y": 3 },
- { "label": "Shift", "x": 14, "y": 3, "w": 1.75 },
- { "label": "Fn1", "x": 15.75, "y": 3 },
-
- { "label": "PgDn", "x": 0, "y": 4 },
- { "label": "Ctrl", "x": 1.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 2.75, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 4, "y": 4, "w": 1.25 },
- { "label": "Fn1", "x": 5.25, "y": 4 },
- { "label": "Space", "x": 6.25, "y": 4 },
- { "label": "Space", "x": 7.25, "y": 4 },
- { "label": "Space", "x": 9, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 10.25, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 11.75, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 13, "y": 4, "w": 1.25 },
- { "label": "Menu", "x": 14.25, "y": 4, "w": 1.25 },
- { "label": "Ctrl", "x": 15.5, "y": 4, "w": 1.25 }
- ]
- }
- }
-}
diff --git a/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c b/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c
index 9ff1315f73..228cbd6079 100644
--- a/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c
+++ b/keyboards/keebio/foldkb/keymaps/forrcaho/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_PG] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────â”
- KC_MUTE, 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_DEL,
+ KC_MUTE, QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, PG_SLAS, PG_LPAR, PG_RPAR, PG_NEEQ, _______, KC_HOME, KC_UP, KC_PGUP, KC_INS, _______, _______, _______,
// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
diff --git a/keyboards/keebio/foldkb/rev1/config.h b/keyboards/keebio/foldkb/rev1/config.h
index ab4751f1f3..7985c3eb42 100644
--- a/keyboards/keebio/foldkb/rev1/config.h
+++ b/keyboards/keebio/foldkb/rev1/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1258
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT FoldKB Rev. 1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/foldkb/rev1/info.json b/keyboards/keebio/foldkb/rev1/info.json
new file mode 100644
index 0000000000..da06fadac1
--- /dev/null
+++ b/keyboards/keebio/foldkb/rev1/info.json
@@ -0,0 +1,93 @@
+{
+ "keyboard_name": "FoldKB Rev. 1",
+ "manufacturer": "Keebio",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1258",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "Mute", "x": 0, "y": 0 },
+ { "label": "Esc", "x": 1.25, "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": 9, "y": 0 },
+ { "label": "7", "x": 10, "y": 0 },
+ { "label": "8", "x": 11, "y": 0 },
+ { "label": "9", "x": 12, "y": 0 },
+ { "label": "0", "x": 13, "y": 0 },
+ { "label": "-", "x": 14, "y": 0 },
+ { "label": "=", "x": 15, "y": 0 },
+ { "label": "Bksp", "x": 16, "y": 0 },
+
+ { "label": "Home", "x": 0, "y": 1 },
+ { "label": "Tab", "x": 1.75, "y": 1, "w": 1.5 },
+ { "label": "Q", "x": 3.25, "y": 1 },
+ { "label": "W", "x": 4.25, "y": 1 },
+ { "label": "E", "x": 5.25, "y": 1 },
+ { "label": "R", "x": 6.25, "y": 1 },
+ { "label": "T", "x": 7.25, "y": 1 },
+ { "label": "Y", "x": 9, "y": 1 },
+ { "label": "U", "x": 10, "y": 1 },
+ { "label": "I", "x": 11, "y": 1 },
+ { "label": "O", "x": 12, "y": 1 },
+ { "label": "P", "x": 13, "y": 1 },
+ { "label": "[", "x": 14, "y": 1 },
+ { "label": "]", "x": 15, "y": 1 },
+ { "label": "\\", "x": 16, "y": 1, "w": 1.5 },
+
+ { "label": "End", "x": 0, "y": 2 },
+ { "label": "Caps", "x": 1.5, "y": 2, "w": 1.75 },
+ { "label": "A", "x": 3.25, "y": 2 },
+ { "label": "S", "x": 4.25, "y": 2 },
+ { "label": "D", "x": 5.25, "y": 2 },
+ { "label": "F", "x": 6.25, "y": 2 },
+ { "label": "G", "x": 7.25, "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": "Enter", "x": 15, "y": 2, "w": 2.25 },
+
+ { "label": "PgUp", "x": 0, "y": 3 },
+ { "label": "Shift", "x": 1, "y": 3, "w": 2.25 },
+ { "label": "Z", "x": 3.25, "y": 3 },
+ { "label": "X", "x": 4.25, "y": 3 },
+ { "label": "C", "x": 5.25, "y": 3 },
+ { "label": "V", "x": 6.25, "y": 3 },
+ { "label": "B", "x": 7.25, "y": 3 },
+ { "label": "N", "x": 9, "y": 3 },
+ { "label": "M", "x": 10, "y": 3 },
+ { "label": ",", "x": 11, "y": 3 },
+ { "label": ".", "x": 12, "y": 3 },
+ { "label": "/", "x": 13, "y": 3 },
+ { "label": "Shift", "x": 14, "y": 3, "w": 1.75 },
+ { "label": "Fn1", "x": 15.75, "y": 3 },
+
+ { "label": "PgDn", "x": 0, "y": 4 },
+ { "label": "Ctrl", "x": 1.5, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 2.75, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 4, "y": 4, "w": 1.25 },
+ { "label": "Fn1", "x": 5.25, "y": 4 },
+ { "label": "Space", "x": 6.25, "y": 4 },
+ { "label": "Space", "x": 7.25, "y": 4 },
+ { "label": "Space", "x": 9, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 10.25, "y": 4, "w": 1.5 },
+ { "label": "Alt", "x": 11.75, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 13, "y": 4, "w": 1.25 },
+ { "label": "Menu", "x": 14.25, "y": 4, "w": 1.25 },
+ { "label": "Ctrl", "x": 15.5, "y": 4, "w": 1.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/fourier/config.h b/keyboards/keebio/fourier/config.h
index faa3ef4004..ca55824404 100644
--- a/keyboards/keebio/fourier/config.h
+++ b/keyboards/keebio/fourier/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1247
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Fourier
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/keebio/fourier/info.json b/keyboards/keebio/fourier/info.json
index 2449a399dd..598ca2af78 100644
--- a/keyboards/keebio/fourier/info.json
+++ b/keyboards/keebio/fourier/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Fourier",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1247",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/fourier/keymaps/maxim/keymap.c b/keyboards/keebio/fourier/keymaps/maxim/keymap.c
index 68bd649ecc..23e65be477 100644
--- a/keyboards/keebio/fourier/keymaps/maxim/keymap.c
+++ b/keyboards/keebio/fourier/keymaps/maxim/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = 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_EQL,
- RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
+ QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______,
RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT
),
diff --git a/keyboards/keebio/iris/info.json b/keyboards/keebio/iris/info.json
index ec52ef04d1..8641eed9c1 100644
--- a/keyboards/keebio/iris/info.json
+++ b/keyboards/keebio/iris/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Iris",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/iris/iris.h b/keyboards/keebio/iris/iris.h
index e17b3b69c6..b7be3fc59e 100644
--- a/keyboards/keebio/iris/iris.h
+++ b/keyboards/keebio/iris/iris.h
@@ -16,6 +16,10 @@
#include "rev6.h"
#elif defined(KEYBOARD_keebio_iris_rev6a)
#include "rev6a.h"
+#elif defined(KEYBOARD_keebio_iris_rev6b)
+ #include "rev6b.h"
+#elif defined(KEYBOARD_keebio_iris_rev7)
+ #include "rev7.h"
#endif
#include "quantum.h"
diff --git a/keyboards/keebio/iris/keymaps/adamgate/config.h b/keyboards/keebio/iris/keymaps/adamgate/config.h
new file mode 100644
index 0000000000..48653a123e
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/adamgate/config.h
@@ -0,0 +1,24 @@
+/*
+Copyright 2022 Adam Applegate
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_I2C
+#define EE_HANDS
+#define TAPPING_TOGGLE 3 //# of button presses needed to permanently toggle a layer
+// #define TAPPING_TERM 150 //# of ms before another input is accepted for tap dancing
+// #define RGBLIGHT_LAYERS 4 //# of layer of rgb (max of 8)ASDASDASDASDFASDF \ No newline at end of file
diff --git a/keyboards/keebio/iris/keymaps/adamgate/keymap.c b/keyboards/keebio/iris/keymaps/adamgate/keymap.c
new file mode 100644
index 0000000000..84c3b74711
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/adamgate/keymap.c
@@ -0,0 +1,82 @@
+/*
+ Copyright (c) 2022 Adam Applegate
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+*/
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _GAMING,
+ _RISE,
+}
+
+/*****************
+*** TAPDANCES ***
+*****************/
+enum custom_tapdances {
+ TD_SHFT_CAPS = 0,
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), //shift if pressed 1x, caps lock if pressed 2x
+};
+
+/*****************
+*** KEYMAPS ***
+*****************/
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // layout for everyday use
+ [_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,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
+ TD(TD_SHFT_CAPS), 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_DEL, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_RALT, KC_LGUI, KC_BSPC, KC_SPC, TT(_LOWER), _______
+ ),
+
+ [_LOWER] = LAYOUT(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL,
+ KC_F11, KC_F12, KC_UP, _______, _______, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_PSLS, KC_PAST,
+ KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LCBR, KC_RCBR, KC_4, KC_5, KC_6, KC_PMNS, KC_PPLS,
+ KC_LCTL, _______, _______, _______, _______, KC_LBRC, KC_DEL, KC_ENT, KC_RBRC, KC_1, KC_2, KC_3, KC_PDOT, _______,
+ _______, TO(_QWERTY), KC_BSPC, KC_SPC, TG(_GAMING), KC_0
+ ),
+
+ //makes gaming easier, adding a space for jumping closer to the movement keys
+ [_GAMING] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
+ KC_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_DEL, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_RALT, KC_SPC, KC_BSPC, KC_SPC, TG(_RAISE), TO(_LOWER)
+ ),
+
+ //used for editing rgb settings, sound, and misc commands
+ [_RAISE] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_MUTE, KC_VOLU, KC_MNXT, _______, KC_BRIU, KC_CALC,
+ _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_MSTP, KC_VOLD, KC_MPRV, _______, KC_BRID, KC_MYCM,
+ DM_REC1, DM_REC2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WSCH,
+ DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ DM_RSTP, TO(_GAMING), _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/keebio/iris/keymaps/adamgate/rules.mk b/keyboards/keebio/iris/keymaps/adamgate/rules.mk
new file mode 100644
index 0000000000..916d614967
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/adamgate/rules.mk
@@ -0,0 +1,6 @@
+TAP_DANCE_ENABLE = yes
+# COMBO_ENABLE = yes
+# RGBLIGHT_ENABLE = yes
+
+# Disable unnecessary things to save space
+# LTO_ENABLE = yes #link time optimization
diff --git a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
index 3e06ffff29..81426852a6 100644
--- a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
+++ b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
@@ -11,7 +11,7 @@
#define KC_LOWR MO(_LOWER)
#define KC_RASE MO(_RAISE)
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_LBR SE_LBRC
#define KC_RBR SE_RBRC
diff --git a/keyboards/keebio/iris/keymaps/ave-63/keymap.c b/keyboards/keebio/iris/keymaps/ave-63/keymap.c
index 3d393a71c7..a3919c413c 100644
--- a/keyboards/keebio/iris/keymaps/ave-63/keymap.c
+++ b/keyboards/keebio/iris/keymaps/ave-63/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_MEH] = LAYOUT(
- LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, MEH(KC_Q), LCTL(KC_W), LSFT(KC_TAB), KC_DEL, MEH(KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, MEH(KC_A),LSFT(LCTL(KC_TAB)),KC_TAB,LCTL(KC_TAB),MEH(KC_G), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,MEH(KC_Z),MEH(KC_X),MEH(KC_C),MEH(KC_V),MEH(KC_B),KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/keebio/iris/keymaps/bmoorey/keymap.c b/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
index 9484ccb3f4..5f7b026022 100644
--- a/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
+++ b/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
KC_TILD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_DEL,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, _______, KC_UP, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
+ QK_BOOT, _______, KC_UP, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PLUS, KC_PIPE,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/boo/keymap.c b/keyboards/keebio/iris/keymaps/boo/keymap.c
index 27cbc5daf2..7fc9162b47 100644
--- a/keyboards/keebio/iris/keymaps/boo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/boo/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_GRAVE,KC_RABK, KC_RCBR, KC_RBRC, KC_RPRN, KC_PIPE, KC_CIRC, KC_PLUS, KC_ASTR, KC_PERC, KC_UP, KC_EQL,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_KAK, COPY, PASTE, KC_LEFT, KC_DOWN, KC_RIGHT,
+ QK_BOOT, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_KAK, COPY, PASTE, KC_LEFT, KC_DOWN, KC_RIGHT,
// └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, KC_DEL, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
diff --git a/keyboards/keebio/iris/keymaps/compilation-error/keymap.c b/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
index 1b3f114607..c549b0dde0 100644
--- a/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
+++ b/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, RESET, EEP_RST, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
+ KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, QK_BOOT, EEP_RST, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
diff --git a/keyboards/keebio/iris/keymaps/csc027/config.h b/keyboards/keebio/iris/keymaps/csc027/config.h
index ec4c2bbc65..80a8c57cba 100644
--- a/keyboards/keebio/iris/keymaps/csc027/config.h
+++ b/keyboards/keebio/iris/keymaps/csc027/config.h
@@ -28,10 +28,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
-
-#define USB_POLLING_INTERVAL_MS 1
-
-#if defined(TAP_CODE_DELAY)
-# undef TAP_CODE_DELAY
-#endif
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/keebio/iris/keymaps/csc027/rules.mk b/keyboards/keebio/iris/keymaps/csc027/rules.mk
index e922161e3c..6fff152f60 100644
--- a/keyboards/keebio/iris/keymaps/csc027/rules.mk
+++ b/keyboards/keebio/iris/keymaps/csc027/rules.mk
@@ -1,6 +1,6 @@
BACKLIGHT_ENABLE = yes
CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = yes
NKRO_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
index b36abd4c56..188e3c3345 100644
--- a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVMAC] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, C_TAB, ALEFT , KC_UP , ARGHT , KC_DEL , _______,
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVPC] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, C_TAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
diff --git a/keyboards/keebio/iris/keymaps/dcompact/keymap.c b/keyboards/keebio/iris/keymaps/dcompact/keymap.c
index baa7e5e583..447aff6f9a 100644
--- a/keyboards/keebio/iris/keymaps/dcompact/keymap.c
+++ b/keyboards/keebio/iris/keymaps/dcompact/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, BL_STEP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/ddone/keymap.c b/keyboards/keebio/iris/keymaps/ddone/keymap.c
index 815174bf74..a3905181ea 100644
--- a/keyboards/keebio/iris/keymaps/ddone/keymap.c
+++ b/keyboards/keebio/iris/keymaps/ddone/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, RGB_VAD, RGB_VAI ,_______ , KC_PSCR, KC_BTN1, KC_BTN2, KC_BTN3, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/default/config.h b/keyboards/keebio/iris/keymaps/default/config.h
deleted file mode 100644
index 149a54be7f..0000000000
--- a/keyboards/keebio/iris/keymaps/default/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define USE_I2C
-#define EE_HANDS
diff --git a/keyboards/keebio/iris/keymaps/default/keymap.c b/keyboards/keebio/iris/keymaps/default/keymap.c
index f1a2bf2164..7c95c6189b 100644
--- a/keyboards/keebio/iris/keymaps/default/keymap.c
+++ b/keyboards/keebio/iris/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
@@ -111,21 +111,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return true;
}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return false;
-}
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
index be5cc37938..942116ef87 100644
--- a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
+++ b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
@@ -72,7 +72,7 @@
"KC_LPRN",
"KC_RPRN",
"KC_BSPC",
- "RESET",
+ "QK_BOOT",
"KC_1",
"KC_2",
"KC_3",
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keymap.c b/keyboards/keebio/iris/keymaps/dvorak/keymap.c
index 3f0886521c..ce99d1a563 100644
--- a/keyboards/keebio/iris/keymaps/dvorak/keymap.c
+++ b/keyboards/keebio/iris/keymaps/dvorak/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRAVE,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRAVE,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
index 0c0fc5a746..013d6c00a5 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
@@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_init_keymap() {}
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case L_EDVORAKJP_LOWER:
rgblight_sethsv_noeeprom_red();
break;
diff --git a/keyboards/keebio/iris/keymaps/emp/config.h b/keyboards/keebio/iris/keymaps/emp/config.h
new file mode 100644
index 0000000000..a08db4d170
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/emp/config.h
@@ -0,0 +1,97 @@
+/*
+Copyright 2017 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+#undef USE_I2C
+#define USE_SERIAL
+
+/* Select hand configuration */
+#undef MASTER_LEFT
+#undef MASTER_RIGHT
+#define EE_HANDS
+
+/* disable debugging features */
+#ifndef NO_DEBUG
+#define NO_DEBUG
+#endif // #ifndef NO_DEBUG
+
+/* disable printing features */
+#ifndef NO_PRINT
+#define NO_PRINT
+#endif // #ifndef NO_PRINT
+
+/* force n-key rollover to be enabled every boot */
+#undef FORCE_NKRO
+
+/* disable tap dance and other tapping features */
+#undef NO_ACTION_TAPPING
+
+/* disable one-shot modifiers */
+#undef NO_ACTION_ONESHOT
+
+/* PERMISSIVE_HOLD
+ * when on: tap-hold keys are held when typed fast, so long as the modifier key
+ * is pressed before and released after the rodified key(s)
+ * when off: tap-hold keys are both tapped when typed fast (within tapping term)
+ */
+#undef PERMISSIVE_HOLD
+
+/* IGNORE_MOD_TAP_INTERRUPT
+ * when on: rolling tap-hold keys taps all keys
+ * when off: rolling tap-hold keys modifies keys
+*/
+#undef IGNORE_MOD_TAP_INTERRUPT
+
+/* TAPPING_TERM x (ms)
+ * how long before a tap becomes a hold. if set above 500, a key tapped during
+ * the tapping term will turn it into a hold too
+ */
+#define TAPPING_TERM 200
+
+/* TAPPING_TOGGLE x (count)
+ * If you hold a TT key down, layer is activated, and then is de-activated when
+ * you let go (like MO()). If you repeatedly tap it, the layer will be toggled
+ * on or off (like TG()). It needs 5 taps by default, but you can change this by
+ * defining TAPPING_TOGGLE to another number.
+ */
+// #define TAPPING_TOGGLE 1
+
+/* RETRO_TAPPING
+ * tap anyway, even after TAPPING_TERM, if there was no other key interruption
+ * between press and release
+ */
+#undef RETRO_TAPPING
+
+/* ONESHOT_TIMEOUT x (ms)
+ * how long before oneshot times out
+ */
+// #define ONESHOT_TIMEOUT 2000
+
+/* TAP_CODE_DELAY x (ms)
+ * how long tapped keycodes are held down for
+ */
+// #define TAP_CODE_DELAY 100
+
+/* NO_USB_STARTUP_CHECK
+ * according to:
+ * https://github.com/qmk/qmk_firmware/issues/12732
+ * defining this can help with boards not being recognized by virtual keymapping
+ * software
+ */
+#define NO_USB_STARTUP_CHECK
diff --git a/keyboards/keebio/iris/keymaps/emp/keymap.c b/keyboards/keebio/iris/keymaps/emp/keymap.c
new file mode 100644
index 0000000000..d89477ed96
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/emp/keymap.c
@@ -0,0 +1,277 @@
+/* Copyright 2022 elliotpatros
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 definitions
+enum custom_layers {
+ _COLEMAK,
+ _FUNCTION,
+};
+
+// Custom keycodes, implemented later, in function: process_record_user()
+enum custom_keycodes {
+ CTL_ESC = SAFE_RANGE, // mod tap: left control / esc
+ SFT_ENT, // mod tap: left shift / enter
+ LST_PRN, // mod tap: left shift / left parenthesis
+ RST_PRN, // mod tap: right shift / right parenthesis
+};
+
+// Shorthand keycode definitions
+#define OSM_CAG OSM(MOD_LCTL | MOD_LALT | MOD_LGUI)
+#define LT_BSFN LT(_FUNCTION, KC_BSLS)
+
+// The layout
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [_COLEMAK] = 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_EQL,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────â”┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ LST_PRN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_ENT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, RST_PRN,
+// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
+ KC_LALT, KC_LGUI, SFT_ENT, KC_SPC, LT_BSFN, KC_BSPC
+// └────────┴────────┴────────┘└────────┴────────┴────────┘
+ ),
+
+ // Function (and I guess also media & navigation) layer
+ [_FUNCTION] = LAYOUT (
+
+// ┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_GRV, KC_LPRN, KC_RPRN, KC_F11, KC_F12, KC_INS, KC_HOME, KC_UP, KC_PGUP, _______, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, OSM_CAG, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────â”┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_VOLD, KC_DEL, KC_END, KC_PGDN, _______, _______,
+// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+// └────────┴────────┴────────┘└────────┴────────┴────────┘
+ )
+
+};
+
+static inline bool dualfunckey_was_tapped(const uint16_t time_when_pressed) {
+ return timer_elapsed(time_when_pressed) < TAPPING_TERM;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t* record) {
+
+ // Static variables
+ static uint16_t timer_control_escape = 0;
+ static uint16_t timer_shift_enter = 0;
+ static uint16_t timer_shift_lparen = 0;
+ static uint16_t timer_shift_rparen = 0;
+
+ static bool dualfunckey_pending = false;
+
+ static bool shift_enter_is_pressed = false;
+ static bool shift_lparen_is_pressed = false;
+
+ // Was this function called to handle a keydown? If not, it was called by a
+ // key up.
+ const bool pressed = record->event.pressed;
+
+ // Any keydown (at all) spends a pending dual function key check. Why? If,
+ // for example, you use shift to type a capital letter, and shift keys down
+ // and up faster than the tapping term, did you mean to call shift's tapping
+ // key? No. You just meant to call shift.
+ if (pressed) {
+ dualfunckey_pending = false;
+ }
+
+ // Only keycodes >= SAFE_RANGE are handled in this function
+ if (keycode < SAFE_RANGE) {
+ // This keypress was not handled
+ return true;
+ }
+
+ // Handle custom keypresses here
+ switch (keycode) {
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left shift; tap: enter)
+ // -------------------------------------------------------------------------
+ case SFT_ENT:
+
+ // There are multiple keys that are mapped to left shift. Keep track of
+ // which are pressed
+ shift_enter_is_pressed = pressed;
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [left shift/enter] key was pressed
+ register_code(KC_LSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_enter = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [left shift/enter] key was unpressed
+ // Note: unregister shift before pressing ENT so that ENT registers
+ // correctly
+
+ // If no other left shift keys are currently pressed, unregister it
+ if (! shift_lparen_is_pressed) {
+ unregister_code(KC_LSFT);
+ }
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_enter)) {
+ tap_code(KC_ENT);
+ dualfunckey_pending = false;
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left control; tap: escape)
+ // -------------------------------------------------------------------------
+ case CTL_ESC:
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // Control/escape key was pressed
+ register_code(KC_LCTL);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_control_escape = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // Control/escape key was unpressed
+ unregister_code(KC_LCTL);
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_control_escape)) {
+ tap_code(KC_ESC);
+ dualfunckey_pending = false;
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left shift; tap: left parenthesis)
+ // -------------------------------------------------------------------------
+ case LST_PRN:
+
+ // There are multiple keys that are mapped to left shift. Keep track of
+ // which are pressed
+ shift_lparen_is_pressed = pressed;
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [left shift/left parenthesis] key was pressed
+ register_code(KC_LSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_lparen = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [left shift/left parenthesis] key was unpressed
+ // Note: unregister shift after tapping 9 so that left parenthesis
+ // registers correctly
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_lparen)) {
+ tap_code(KC_9);
+ dualfunckey_pending = false;
+ }
+
+ // If no other left shift keys are currently pressed, unregister it
+ if (! shift_enter_is_pressed) {
+ unregister_code(KC_LSFT);
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: right shift; tap: right parenthesis)
+ // -------------------------------------------------------------------------
+ case RST_PRN:
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [right shift/right parenthesis] key was pressed
+ register_code(KC_RSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_rparen = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [right shift/right parenthesis] key was unpressed
+ // Note: unregister shift after tapping 0 so that right parenthesis
+ // registers correctly
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_rparen)) {
+
+ // Space cadet shift: If the [left shift/left parenthesis] key
+ // is currently pressed, then tap the sequence ()
+ if (shift_lparen_is_pressed) {
+ tap_code(KC_9);
+ }
+
+ tap_code(KC_0);
+ dualfunckey_pending = false;
+ }
+
+ unregister_code(KC_RSFT);
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Some other key was pressed (this shouldn't happen)
+ // -------------------------------------------------------------------------
+ default:
+ // This keypress was not handled
+ return true;
+ }
+}
diff --git a/keyboards/keebio/iris/keymaps/fluffactually/keymap.c b/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
index 8761dcbd6c..6caaed18d4 100644
--- a/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
+++ b/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[4] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_TOG,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
index 7c477f8502..ef98331ca7 100644
--- a/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
@@ -23,7 +23,7 @@ enum custom_keycodes {
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
// Left and right shift as mot-tap square braces
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RESET , DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------'
diff --git a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
index e0c09638b2..5fe88a2289 100644
--- a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
+++ b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
@@ -5,13 +5,13 @@
#define _RAISE 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[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_DEL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT, LCTL_T(KC_LGUI), KC_Z, KC_X, KC_C, KC_D, KC_V, LGUI(KC_L), MEH_T(KC_MINS), KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_LGUI, LT(1, KC_QUOT), KC_SFTENT, KC_SPC, LT(2, KC_BSLS), LALT_T(KC_APP)),
- [1] = LAYOUT(KC_MPLY, KC_NO, KC_DQUO, KC_NO, LALT(KC_F4), KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, RESET, KC_MPRV, KC_END, KC_UP, KC_HOME, KC_PGUP, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_SAI, RGB_SAD, KC_MNXT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, RGB_HUI, RGB_HUD, KC_NO, KC_WBAK, KC_WFWD, KC_WSTP, KC_WREF, KC_NO, LCA(KC_DEL), KC_NLCK, KC_P0, KC_P0, KC_PDOT, KC_PENT, RGB_SPI, RGB_SPD, KC_PSCR, KC_NO, KC_LGUI, RGB_TOG, RGB_VAI, RGB_VAD),
+ [1] = LAYOUT(KC_MPLY, KC_NO, KC_DQUO, KC_NO, LALT(KC_F4), KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, QK_BOOT, KC_MPRV, KC_END, KC_UP, KC_HOME, KC_PGUP, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_SAI, RGB_SAD, KC_MNXT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, RGB_HUI, RGB_HUD, KC_NO, KC_WBAK, KC_WFWD, KC_WSTP, KC_WREF, KC_NO, LCA(KC_DEL), KC_NLCK, KC_P0, KC_P0, KC_PDOT, KC_PENT, RGB_SPI, RGB_SPD, KC_PSCR, KC_NO, KC_LGUI, RGB_TOG, RGB_VAI, RGB_VAD),
[2] = LAYOUT(KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_K, KC_NO, KC_WH_D, KC_MS_U, KC_WH_U, KC_NO, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)};
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LOWER:
clockwise ? tap_code(KC_MS_WH_UP) : tap_code(KC_MS_WH_DOWN);
break;
@@ -23,7 +23,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
break;
}
} else if (index == 1) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LOWER:
clockwise ? tap_code(KC_UP) : tap_code(KC_DOWN);
break;
diff --git a/keyboards/keebio/iris/keymaps/khang/keymap.c b/keyboards/keebio/iris/keymaps/khang/keymap.c
index 71c36c8ff9..69c7d8fe64 100644
--- a/keyboards/keebio/iris/keymaps/khang/keymap.c
+++ b/keyboards/keebio/iris/keymaps/khang/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_NO , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , KC_NO ,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- ______ , ______ , ______ , RESET , ______ , ______
+ ______ , ______ , ______ , QK_BOOT, ______ , ______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
};
diff --git a/keyboards/keebio/iris/keymaps/khord/keymap.c b/keyboards/keebio/iris/keymaps/khord/keymap.c
index 379617a8b7..10ef4ce099 100644
--- a/keyboards/keebio/iris/keymaps/khord/keymap.c
+++ b/keyboards/keebio/iris/keymaps/khord/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/krusli/keymap.c b/keyboards/keebio/iris/keymaps/krusli/keymap.c
index 095716621d..ef51a973f6 100644
--- a/keyboards/keebio/iris/keymaps/krusli/keymap.c
+++ b/keyboards/keebio/iris/keymaps/krusli/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUD, RGB_SAD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______,
- BL_STEP, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_STEP, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
index 2a737462dd..17a89bb1e1 100644
--- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keebio/iris/keymaps/mattly/keymap.c b/keyboards/keebio/iris/keymaps/mattly/keymap.c
index 4c1057062f..a499d021a1 100644
--- a/keyboards/keebio/iris/keymaps/mattly/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mattly/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNCT] = 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,
- RESET, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_K, RESET,
+ QK_BOOT, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_K, QK_BOOT,
DEBUG, XXXXXXX, M_PVTAB, M_PVWIN, M_NXTAB, XXXXXXX, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, KC_MPLY, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/iris/keymaps/mnil/keymap.c b/keyboards/keebio/iris/keymaps/mnil/keymap.c
index 973122f0c4..1cac3be141 100644
--- a/keyboards/keebio/iris/keymaps/mnil/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mnil/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
[_NUMPAD] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- RGB_TOG, RGB_M_P, RGB_M_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
+ RGB_TOG, RGB_M_P, RGB_M_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_TRNS, QUIT, WIN, MVWSL , MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, KC_NO,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/mojitas/keymap.c b/keyboards/keebio/iris/keymaps/mojitas/keymap.c
index e3ec651834..959abd1a00 100644
--- a/keyboards/keebio/iris/keymaps/mojitas/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mojitas/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
- _______, GAMING , DVORAK , COLEMAK , QWERTY , RESET, _______, _______, _______, _______, KC_PWR, RESET,
+ _______, GAMING , DVORAK , COLEMAK , QWERTY , QK_BOOT, _______, _______, _______, _______, KC_PWR, QK_BOOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, _______, _______,LGUI(KC_UP),_______,LALT(KC_F4), _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
index dd7996a28d..c5911ae5d3 100644
--- a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
+++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
@@ -36,7 +36,7 @@ enum custom_keycodes {
#define KC_LOWER LOWER
#define KC_RAISE RAISE
#define KC_ADJ ADJUST
-#define KC_RST RESET
+#define KC_RST QK_BOOT
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/keebio/iris/keymaps/omgvee/keymap.c b/keyboards/keebio/iris/keymaps/omgvee/keymap.c
index 6f29ccecd3..7434a8d19e 100644
--- a/keyboards/keebio/iris/keymaps/omgvee/keymap.c
+++ b/keyboards/keebio/iris/keymaps/omgvee/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- BL_BRTG, _______, _______, _______, DEBUG, RESET, RESET, DEBUG, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ BL_BRTG, _______, _______, _______, DEBUG, QK_BOOT, QK_BOOT, DEBUG, _______, RGB_HUI, RGB_SAI, RGB_VAI,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
BL_INC, _______, _______, _______, _______, EEP_RST, EEP_RST, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_HWCT] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- BL_BRTG, _______, _______, _______, _______, RESET, RESET, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ BL_BRTG, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/osiris/keymap.c b/keyboards/keebio/iris/keymaps/osiris/keymap.c
index 09ad74733d..3df073dbdf 100644
--- a/keyboards/keebio/iris/keymaps/osiris/keymap.c
+++ b/keyboards/keebio/iris/keymaps/osiris/keymap.c
@@ -19,7 +19,7 @@ enum custom_keycodes {
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
// left shift as a left key too - makes perfect sense
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
_______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_SAI,RGB_VAI, _______,_______,_______,_______,_______,_______,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- RESET ,DEBUG ,_______,RGB_HUD,RGB_SAD,RGB_VAD, _______,_______,_______,_______,_______,_______,
+ QK_BOOT,DEBUG ,_______,RGB_HUD,RGB_SAD,RGB_VAD, _______,_______,_______,_______,_______,_______,
//|-------+-------+-------+-------+-------+-------+-------. ,-------|-------+-------+-------+-------+-------+-------|
BL_STEP,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,
//`--------+-------+-------+----+--+-------+-------+-------/ \-------+-------+-------+---+---+-------+-------+-------'
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/config.h b/keyboards/keebio/iris/keymaps/radlinskii/config.h
new file mode 100644
index 0000000000..c3d6b34070
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/config.h
@@ -0,0 +1,37 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// #define USE_I2C
+#define EE_HANDS
+
+#define TAPPING_TOGGLE 1 // tap just once for TT() to toggle the layer
+#define TAPPING_TERM 200
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define RGBLIGHT_LAYERS
+
+#define RGBLIGHT_DEFAULT_HUE 85
+#define RGBLIGHT_DEFAULT_SAT 255
+
+#undef RGBLIGHT_DEFAULT_MODE
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
+
+#undef RGBLIGHT_ANIMATIONS
+#undef RGBLIGHT_EFFECT_BREATHING // fading in and out
+#undef RGBLIGHT_EFFECT_RAINBOW_MOOD // rainbow all keys at the same time
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL // rainbow top bottom
+#undef RGBLIGHT_EFFECT_SNAKE
+#undef RGBLIGHT_EFFECT_KNIGHT
+#undef RGBLIGHT_EFFECT_CHRISTMAS
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RGB_TEST // red -> green -> blue
+#undef RGBLIGHT_EFFECT_ALTERNATING // blinking
+#undef RGBLIGHT_EFFECT_TWINKLE // randomly fading in and out single keys
+
+#define MOUSEKEY_DELAY 20
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_MAX_SPEED 5
+#define MOUSEKEY_TIME_TO_MAX 40
+#define MOUSEKEY_WHEEL_MAX_SPEED 10
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/keymap.c b/keyboards/keebio/iris/keymaps/radlinskii/keymap.c
new file mode 100644
index 0000000000..b7d3e8f9b8
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/keymap.c
@@ -0,0 +1,193 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#include "light_layers.h"
+
+enum my_layers {
+ _COLEMAK,
+ _QWERTY,
+ _NUM_SYM,
+ _NAV,
+ _MOUSE,
+ _MEDIA_MISC,
+};
+
+enum custom_keycodes {
+ COLEMAK = SAFE_RANGE,
+ QWERTY,
+ DEFAULT
+};
+
+#define LALT_KA LALT_T(KC_A)
+#define LCTL_KS LCTL_T(KC_S)
+#define LGUI_KD LGUI_T(KC_D)
+#define LSFT_KF LSFT_T(KC_F)
+#define RSFT_KJ RSFT_T(KC_J)
+#define RGUI_KK RGUI_T(KC_K)
+#define RCTL_KL RCTL_T(KC_L)
+#define RA_SCLN RALT_T(KC_SCLN)
+
+#define LALT_K1 LALT_T(KC_1)
+#define LCTL_K2 LCTL_T(KC_2)
+#define LGUI_K3 LGUI_T(KC_3)
+#define LSFT_K4 LSFT_T(KC_4)
+#define RSFT_K7 RSFT_T(KC_7)
+#define RGUI_K8 RGUI_T(KC_8)
+#define RCTL_K9 RCTL_T(KC_9)
+#define RALT_K0 RALT_T(KC_0)
+
+#define LCTL_KR LCTL_T(KC_R)
+#define LGUI_KS LGUI_T(KC_S)
+#define LSFT_KT LSFT_T(KC_T)
+#define RSFT_KN RSFT_T(KC_N)
+#define RGUI_KE RGUI_T(KC_E)
+#define RCTL_KI RCTL_T(KC_I)
+#define RALT_KO RALT_T(KC_O)
+
+#define LGUI_BS LGUI_T(KC_BSPC)
+#define RALT_TB RALT_T(KC_TAB)
+
+#define TT_N_S TT(_NUM_SYM)
+#define TT_NAV TT(_NAV)
+#define TO_QWRT TO(_QWERTY)
+#define TO_N_S TO(_NUM_SYM)
+#define TO_NAV TO(_NAV)
+#define TO_MOUSE TO(_MOUSE)
+#define TO_M_M TO(_MEDIA_MISC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_COLEMAK] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, XXXXXXX,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_CAPS, LALT_KA, LCTL_KR, LGUI_KS, LSFT_KT, KC_G, KC_M, RSFT_KN, RGUI_KE, RCTL_KI, RALT_KO, KC_QUOT,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_DEL, KC_ESC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_BSPC, TT_N_S, KC_ENT, KC_SPC, TT_NAV, KC_TAB
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+
+ [_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_GRV,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL, LALT_KA, LCTL_KS, LGUI_KD, LSFT_KF, KC_G, KC_H, RSFT_KJ, RGUI_KK, RCTL_KL, RA_SCLN, KC_QUOT,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ LGUI_BS, TT_N_S, KC_ENT, KC_SPC, TT_NAV, RALT_TB
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+
+ [_NUM_SYM] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, LALT_K1, LCTL_K2, LGUI_K3, LSFT_K4, KC_5, KC_6, RSFT_K7, RGUI_K8, RCTL_K9, RALT_K0, KC_PIPE,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, KC_GRV, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, KC_MINS, KC_EQL, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, TO_NAV, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_NAV] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, TO_MOUSE, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_MOUSE] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_L, TO_M_M,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, KC_BTN2, KC_BTN1, TO_NAV, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_MEDIA_MISC] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ QK_BOOT, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_CAPS, KC_MPLY, KC_MNXT, KC_VOLU, KC_BRIU, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_MSTP, KC_MPRV, KC_VOLD, KC_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, DEFAULT, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = MY_LIGHT_LAYERS;
+}
+
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_COLEMAK, layer_state_cmp(state, _COLEMAK));
+ rgblight_set_layer_state(_QWERTY, layer_state_cmp(state, _QWERTY));
+
+ return state;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_NUM_SYM, layer_state_cmp(state, _NUM_SYM));
+ rgblight_set_layer_state(_NAV, layer_state_cmp(state, _NAV));
+ rgblight_set_layer_state(_MOUSE, layer_state_cmp(state, _MOUSE));
+ rgblight_set_layer_state(_MEDIA_MISC, layer_state_cmp(state, _MEDIA_MISC));
+
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ layer_move(_COLEMAK);
+ }
+ return false;
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ layer_move(_QWERTY);
+ }
+ return false;
+ case DEFAULT:
+ if (record->event.pressed) {
+ if (layer_state_cmp(default_layer_state, _COLEMAK)) {
+ layer_move(_COLEMAK);
+ } else if (layer_state_cmp(default_layer_state, _QWERTY)) {
+ layer_move(_QWERTY);
+ }
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h b/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h
new file mode 100644
index 0000000000..a1b754545a
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h
@@ -0,0 +1,179 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+
+LED index mapping:
+
+ (31) (32) (33) (67) (66) (65)
+┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+│0 │1 │2 │3 │4 │5 │ │39 │38 │37 │36 │35 │34 │
+├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+│11 │10 │9 │8 │7 │6 │ │40 │41 │42 │43 │44 │45 │
+├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+│12 │13 │14 │15 │16 │17 │ │51 │50 │49 │48 │47 │46 │
+├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+│23 │22 │21 │20 │19 │18 │27 │ │61 │52 │53 │54 │55 │56 │57 │
+└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ │24 │25 │26 │ │60 │59 │58 │
+ └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ (30) (29) (28) (62) (63) (64)
+
+*/
+
+const rgblight_segment_t PROGMEM COLEMAK_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 127, 255, 255},
+ {6, 6, 115, 255, 255},
+ {12, 6, 97, 255, 255},
+ {18, 6, 90, 255, 255},
+ {24, 1, 85, 255, 255},
+ {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
+ {26, 2, 85, 255, 255},
+ {28, 3, 85, 255, 255}, // underglow
+ {31, 3, 127, 255, 255}, // underglow
+ // right side
+ {34, 6, 127, 255, 255},
+ {40, 6, 115, 255, 255},
+ {46, 6, 97, 255, 255},
+ {52, 6, 90, 255, 255},
+ {58, 1, 85, 255, 255},
+ {59, 1, 201, 255, 255}, // TT(_NAV)
+ {60, 2, 85, 255, 255},
+ {62, 3, 85, 255, 255}, // underglow
+ {65, 3, 127, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM QWERTY_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 85, 0, 255},
+ {6, 6, 85, 70, 255},
+ {12, 6, 85, 150, 255},
+ {18, 6, 85, 240, 255},
+ {24, 1, 85, 255, 255},
+ {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
+ {26, 2, 85, 255, 255},
+ {28, 3, 85, 255, 255}, // underglow
+ {31, 3, 85, 0, 255}, // underglow
+ // right side
+ {34, 6, 85, 0, 255},
+ {40, 6, 85, 70, 255},
+ {46, 6, 85, 150, 255},
+ {52, 6, 85, 240, 255},
+ {58, 1, 85, 255, 255},
+ {59, 1, 201, 255, 255}, // TT(_NAV)
+ {60, 2, 85, 255, 255},
+ {62, 3, 85, 255, 255}, // underglow
+ {65, 3, 85, 0, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM NUM_SYM_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 201, 255, 255},
+ {6, 6, 191, 255, 255},
+ {12, 6, 181, 255, 255},
+ {18, 6, 171, 255, 255},
+ {24, 1, 169, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 169, 255, 255},
+ {28, 3, 169, 255, 255}, // underglow
+ {31, 3, 201, 255, 255}, // underglow
+ // right side
+ {34, 6, 201, 255, 255},
+ {40, 6, 191, 255, 255},
+ {46, 6, 181, 255, 255},
+ {52, 6, 171, 255, 255},
+ {58, 1, 169, 255, 255},
+ {59, 1, 201, 255, 255}, // TO(_NAV)
+ {60, 2, 169, 255, 255},
+ {62, 3, 169, 255, 255}, // underglow
+ {65, 3, 201, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM NAV_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 248, 255, 255},
+ {6, 6, 240, 255, 255},
+ {12, 6, 225, 255, 255},
+ {18, 6, 210, 255, 255},
+ {24, 1, 201, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 201, 255, 255},
+ {28, 3, 201, 255, 255}, // underglow
+ {31, 3, 248, 255, 255}, // underglow
+ // right side
+ {34, 6, 248, 255, 255},
+ {40, 6, 240, 255, 255},
+ {46, 6, 225, 255, 255},
+ {52, 6, 210, 255, 255},
+ {58, 1, 201, 255, 255},
+ {59, 1, 43, 255, 255}, // TO(_MOUSE)
+ {60, 2, 201, 255, 255},
+ {62, 3, 201, 255, 255}, // underglow
+ {65, 3, 248, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM MOUSE_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 4, 255, 255},
+ {6, 6, 10, 255, 255},
+ {12, 6, 25, 255, 255},
+ {18, 6, 40, 255, 255},
+ {24, 1, 43, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 43, 255, 255},
+ {28, 3, 43, 255, 255}, // underglow
+ {31, 3, 4, 255, 255}, // underglow
+ // right side
+ {34, 6, 4, 255, 255},
+ {40, 6, 10, 255, 255},
+ {46, 1, 0, 255, 255}, // TO(_MEDIA_MISC)
+ {47, 5, 25, 255, 255},
+ {52, 6, 40, 255, 255},
+ {58, 1, 43, 255, 255},
+ {59, 1, 201, 255, 255}, // TO(_NAV)
+ {60, 2, 43, 255, 255},
+ {62, 3, 43, 255, 255}, // underglow
+ {65, 3, 4, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM MEDIA_MISC_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // both sides
+ {0, 1, 0, 255, 255}, // RESET
+ {1, 4, 0, 0, 0},
+ {5, 1, 85, 0, 255}, // set QWERTY as default
+ {6, 2, 0, 0, 0},
+ {8, 1, 160, 150, 150}, // MUTE
+ {9, 3, 0, 0, 0},
+ {12, 1, 201, 255, 255}, // CAPS
+ {13, 1, 120, 255, 255}, // PLAY
+ {14, 1, 0, 255, 255}, // NEXT
+ {15, 1, 160, 255, 255}, // VOLUME_UP
+ {16, 1, 43, 255, 255}, // BRIGHTNESS_UP
+ {17, 2, 0, 0, 0},
+ {19, 1, 43, 200, 200}, // BRIGHTNESS_DOWN
+ {20, 1, 160, 220, 200}, // VOLUME_DOWN
+ {21, 1, 0, 220, 200}, // PREV
+ {22, 1, 120, 220, 200}, // STOP
+ {23, 2, 0, 0, 0},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 0, 0, 0},
+ {28, 6, 0, 255, 255}, // underglow
+ {34, 5, 0, 0, 0},
+ {39, 1, 127, 255, 255}, // set COLEMAK as default
+ {40, 19, 0, 0, 0},
+ {59, 1, 85, 255, 255}, // TO(DEFAULT)
+ {60, 2, 0, 0, 0},
+ {62, 6, 0, 255, 255} // underglow
+);
+
+const rgblight_segment_t* const PROGMEM MY_LIGHT_LAYERS[] = RGBLIGHT_LAYERS_LIST(
+ COLEMAK_LIGHT_LAYER,
+ QWERTY_LIGHT_LAYER,
+ NUM_SYM_LIGHT_LAYER,
+ NAV_LIGHT_LAYER,
+ MOUSE_LIGHT_LAYER,
+ MEDIA_MISC_LIGHT_LAYER
+);
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/readme.md b/keyboards/keebio/iris/keymaps/radlinskii/readme.md
new file mode 100644
index 0000000000..5a0e929991
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/readme.md
@@ -0,0 +1,137 @@
+# Iris rev. 6 keymap by radlinskii
+
+![iris rev. 6 by radlinskii lightning demo](https://user-images.githubusercontent.com/26116041/171883033-3c5ababe-88ae-4c9d-8436-3d6ab83dbf4b.gif)
+
+## Features:
+
+- [RGB Lightning layers](https://docs.qmk.fm/#/feature_rgblight?id=lighting-layers)
+- [MOUSE KEYS](https://docs.qmk.fm/#/keycodes?id=mouse-keys)
+- [MOD-TAPS](https://docs.qmk.fm/#/mod_tap)
+
+## Layers:
+
+### colemak - default
+
+> [Colemak DH](https://colemakmods.github.io/mod-dh/) keyboard layout.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="colemak layer keymap" src="https://user-images.githubusercontent.com/26116041/173403537-f2222651-c8ea-4c8b-b828-97520a222344.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+
+<img width="800" alt="colemak layer lightning" src="https://user-images.githubusercontent.com/26116041/173681398-cdcff1a5-ae79-4409-950a-1b671c350f07.jpeg">
+
+</details>
+
+### qwerty - alternative default
+
+> Can be set as persistent default layer.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="qwerty layer keymap" src="https://user-images.githubusercontent.com/26116041/173403371-1551976a-2f95-4dbd-ba07-96936651871d.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="qwerty layer lightning" src="https://user-images.githubusercontent.com/26116041/173681525-aee3c927-995a-4f83-b688-ed8bfd3f8bb6.jpeg">
+
+</details>
+
+### numeric + symbols
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="numeric and symbols layer keymap" src="https://user-images.githubusercontent.com/26116041/173403164-b0520501-761b-4567-bf04-57f7b6f7dd4d.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="numeric and symbols layer lightning" src="https://user-images.githubusercontent.com/26116041/173681689-0b864e35-0e02-4204-a469-6e872e704903.jpeg">
+
+</details>
+
+### navigation
+
+> Layer with arrow navigation.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="navigation layer keymap" src="https://user-images.githubusercontent.com/26116041/173408142-1e1c297e-57db-42f8-bc18-a04dd4e202c9.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="navigation layer lightning" src="https://user-images.githubusercontent.com/26116041/173681859-fa6f071a-98e9-48f8-a9a0-76d7510b302a.jpeg">
+
+</details>
+
+### mouse
+
+> Layer with mouse navigation on the same keys as arrow navigation.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="mouse layer keymap" src="https://user-images.githubusercontent.com/26116041/173402955-050ffd77-7b60-45dc-8e89-54cd43793132.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="mouse layer lightning" src="https://user-images.githubusercontent.com/26116041/173682436-07c32e5e-f415-463d-8c93-d2cbd4e406a1.jpeg">
+
+</details>
+
+### media and miscellaneous
+
+> Used for media keys, switching default layer and keyboard reset.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="media and miscellaneous layer keymap" src="https://user-images.githubusercontent.com/26116041/173402837-75ce8ab1-7fbe-454b-b165-b22d171f9ad1.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="media and miscellaneous layer lightning" src="https://user-images.githubusercontent.com/26116041/173682188-3eab9c09-d466-4729-89ac-48e09f55564c.jpeg">
+
+</details>
+
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/rules.mk b/keyboards/keebio/iris/keymaps/radlinskii/rules.mk
new file mode 100644
index 0000000000..f1a0d40690
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/rules.mk
@@ -0,0 +1,3 @@
+RGBLIGHT_ENABLE = yes # by default this is no, but for the rgb light layers to work it needs to be `yes`
+RGB_MATRIX_ENABLE = no # by default this is yes, but for the rgb light layers to work it needs to be `no`
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
index 19a939a55b..752fc392f3 100644
--- a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
+++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = LAYOUT(
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, RESET,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, QK_BOOT,
_______, KC_SLSH, KC_6, KC_5, KC_4, KC_EQL, KC_CIRC, KC_PGUP, KC_UP, KC_PGDN, _______, RGB_VAI,
_______, KC_3, KC_2, KC_1, KC_0, KC_DOT, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, KC_ASTR, KC_9, KC_8, KC_7, KC_PLUS, _______, _______, KC_PLUS, KC_HOME, KC_COLN, KC_END, _______, RGB_MOD,
@@ -134,7 +134,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
// tmux screen
else if (index == 1) {
- switch(biton32(layer_state)){
+ switch(get_highest_layer(layer_state)){
case 0:
if (clockwise) {
send_string(SS_LCTL("B")"p");
@@ -182,4 +182,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(2, layer_state_cmp(state, 4));
return state;
}
-
diff --git a/keyboards/keebio/iris/keymaps/two_knob/config.h b/keyboards/keebio/iris/keymaps/two_knob/config.h
new file mode 100644
index 0000000000..37ffb20a2f
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/config.h
@@ -0,0 +1,62 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define EE_HANDS
+
+/* Turn off RGB light when host is asleep. (Doesn't seem to work for mac)? */
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_LAYERS
+/* Decrease decay of heatmap rgb effect */
+#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
+/* If you're setting colors per key, this is required. */
+#define SPLIT_LAYER_STATE_ENABLE
+
+/* If you type too fast, it confuses the Mod key combos. This resolves it: */
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/* Set tapdance speed */
+#define TAPPING_TERM 210
+
+/* Allows for the setting of constant mouse speed levels. */
+/* Delay between pressing a movement key and cursor movement */
+#define MOUSEKEY_DELAY 10
+/* Time between cursor movements in milliseconds */
+#define MOUSEKEY_INTERVAL 16
+/* Step size */
+#define MOUSEKEY_MOVE_DELTA 8
+/* Maximum cursor speed at which acceleration stops */
+#define MOUSEKEY_MAX_SPEED 2
+/* Time until maximum cursor speed is reached */
+#define MOUSEKEY_TIME_TO_MAX 40
+/* Maximum number of scroll steps per scroll action */
+#define MOUSEKEY_WHEEL_MAX_SPEED 42
+/* Time until maximum scroll speed is reached */
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 15
+
+// Tweak how the mouse cursor moves. https://docs.qmk.fm/#/feature_mouse_keys
+// Accelerated mode (default).
+// MOUSEKEY_DELAY 10 Delady between pressing a movement key and cursor movement
+// MOUSEKEY_INTERVAL 20 Time between cursor movements in milliseconds
+// MOUSEKEY_MOVE_DELTA 8 Step size
+// MOUSEKEY_MAX_SPEED 10 Maximum cursor speed at which acceleration stops
+// MOUSEKEY_TIME_TO_MAX 30 Time until maximum cursor speed is reached
+// MOUSEKEY_WHEEL_DELAY 10 Delay between pressing a wheel key and wheel movement
+// MOUSEKEY_WHEEL_INTERVAL 80 Time between wheel movements
+// MOUSEKEY_WHEEL_MAX_SPEED 8 Maximum number of scroll steps per scroll action
+// MOUSEKEY_WHEEL_TIME_TO_MAX 40 Time until maximum scroll speed is reached
+
+// Kinetic mode, alternate to the default mode.
+// MK_KINETIC_SPEED undefined Enable kinetic mode
+// MOUSEKEY_DELAY 5 Delay between pressing a movement key and cursor movement
+// MOUSEKEY_INTERVAL 10 Time between cursor movements in milliseconds
+// MOUSEKEY_MOVE_DELTA 5 Step size for accelerating from initial to base speed
+// MOUSEKEY_INITIAL_SPEED 100 Initial speed of the cursor in pixel per second
+// MOUSEKEY_BASE_SPEED 1000 Maximum cursor speed at which acceleration stops
+// MOUSEKEY_DECELERATED_SPEED 400 Decelerated cursor speed
+// MOUSEKEY_ACCELERATED_SPEED 3000 Accelerated cursor speed
+// MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 Initial number of movements of the mouse wheel
+// MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 Maximum number of movements at which acceleration stops
+// MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 Accelerated wheel movements
+// MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 Decelerated wheel movements
diff --git a/keyboards/keebio/iris/keymaps/two_knob/keymap.c b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
new file mode 100644
index 0000000000..aeeb2df905
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
@@ -0,0 +1,261 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+/* Defines macros for use with the configurators "Any" key. (These are non-standard macros). */
+/* Move active application right half. */
+#define KC_CSGRA LCTL(LSFT(LGUI(KC_RGHT)))
+/* Move active application to left half. */
+#define KC_CSGLA LCTL(LSFT(LGUI(KC_LEFT)))
+/* Maximize active application. */
+#define KC_MAXIM LCTL(LSFT(LGUI(KC_UP)))
+/* Minimize active application. */
+#define KC_MINIM LCTL(LSFT(LGUI(KC_DOWN)))
+
+/* Rotary encoder variables used to hold down Command (GUI) key while cycling through open programs. */
+bool is_cmd_tab_active = false;
+uint16_t cmd_tab_timer = 0;
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+ CMD_TAB_CW,
+ CMD_TAB_CCW,
+};
+
+/**
+ * Tap Dance declarations
+ */
+enum tapdances {
+ _TD_FIVE_ENTER,
+};
+
+/* Tapdance */
+#define TD_FIVE_ENTER TD(_TD_FIVE_ENTER)
+
+/**
+ * Tap Dance definitions
+ *
+ * NOTE - if your not using tapdance, comment out:
+ * TAP_DANCE_ENABLE = yes in rules.mk
+ * define TAPPING_TERM 175 in config.h
+ * else you'll get a compile error.
+ *
+ * To use this in the configurator, enter the name 'TD_FIVE_ENTER' in the "Any" key.
+ */
+qk_tap_dance_action_t tap_dance_actions[] = {
+ /* Tap once for 5, twice for Enter. */
+ [_TD_FIVE_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
+};
+
+/**
+ * Keymap. Generated via configurator.
+ *
+ * You can download/upload the two_know.json to the configurator:
+ * https://config.qmk.fm/#/keebio/iris/rev6a/LAYOUT
+ *
+ * If you make changes and download the json, you can run qmk json2c two_knob.json to get converted text.
+ * You can copy and paste it here.
+ * You will have to reneame the array keys from ints to the custom keycode names.
+ *
+ * The rotary encoders are programmed manually below because the configurator does not support them yet.
+ */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(KC_EQL, KC_1, KC_2, KC_3, KC_4, TD_FIVE_ENTER, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, LT(1, KC_DEL), LT(2, KC_A), LCTL_T(KC_S), KC_D, LGUI_T(KC_F), KC_G, KC_H, RGUI_T(KC_J), KC_K, RCTL_T(KC_L), LT(2, KC_SCLN), LT(1, KC_QUOT), KC_LSPO, LALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_MINIM, KC_MAXIM, KC_N, KC_M, KC_COMM, KC_DOT, RALT_T(KC_SLSH), KC_RSPC, QK_GESC, KC_SPC, KC_BSPC, KC_TAB, KC_ENT, KC_DEL),
+ [_LOWER] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, DT_PRNT, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, DT_UP, KC_4, KC_5, KC_6, KC_PPLS, KC_TRNS, KC_TRNS, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, DT_DOWN, KC_1, KC_2, KC_3, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0),
+ [_RAISE] = LAYOUT(RGB_TOG, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_UP, KC_BTN2, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_CSGLA, KC_CSGRA, KC_TRNS, KC_TRNS),
+ [_ADJUST] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case 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;
+ break;
+ case 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 CMD_TAB_CW:
+ if (record->event.pressed) {
+ if (!is_cmd_tab_active) {
+ is_cmd_tab_active = true;
+ register_code(KC_LGUI);
+ }
+ cmd_tab_timer = timer_read();
+ register_code(KC_TAB);
+ } else {
+ unregister_code(KC_TAB);
+ }
+ break;
+ case CMD_TAB_CCW:
+ if (record->event.pressed) {
+ if (!is_cmd_tab_active) {
+ is_cmd_tab_active = true;
+ register_code(KC_LGUI);
+ }
+ cmd_tab_timer = timer_read();
+ tap_code16(S(KC_TAB));
+ } else {
+ unregister_code(KC_TAB);
+ }
+ break;
+ }
+ return true;
+}
+
+/**
+ * Define lighting layers.
+ *
+ * Iris rev6a uses WS2812 RGB Matrix lighting.
+ * The RGB Matrix lighting option has already been enabled in ../../rev6a/config.h
+ * You'll need to add #define SPLIT_LAYER_STATE_ENABLE to config.h if you
+ * will be customizing the LED's per key.
+ *
+ * Here's how to customize the colors per layer and per key:
+ * https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md#direct-operation-iddirect-operation
+ *
+ * If you start getting real weird with it, your likely to exceed the firmware limit of 28672.
+ * You may need to selectively disable some effects:
+ * https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md#rgb-matrix-effects-idrgb-matrix-effects
+ *
+ * There are 68 Leds. Printed on the board itself, the led numbers are 1-68.
+ * For color addressing, use 0-67 as the index number.
+ * rgb_matrix_set_color(index, r, g, b)
+ *
+ * Here's an LED number guide:
+ * FRONT
+ * Left Hand Right Hand
+ * |00|01|02|03|04|05| |39|38|37|36|35|34|
+ * |11|10|09|08|07|06| |40|41|42|43|44|45|
+ * |12|13|14|15|16|17| |51|50|49|48|47|46|
+ * |23|22|21|20|19|18|27| |61|52|53|54|55|56|57|
+ * |24|25|26| |60|59|58|
+ * REVERSE
+ * Right Hand Left Hand
+ * |65|--|--|66|--|67| |33|--|32|--|--|31|
+ * |--|--|--|--|--|--| |--|--|--|--|--|--|
+ * |--|--|--|--|--|--| |--|--|--|--|--|--|
+ * |64|--|--|63|--|--|--| |--|--|--|29|--|--|30|
+ * |--|62|--| |--|28|--|
+ */
+// void rgb_matrix_indicators_user(void) {
+// if (IS_LAYER_ON(1)) {
+// /* Upperleft most key red: */
+// rgb_matrix_set_color(0,255,0,0);
+// /* Upperright most front key blue: */
+// rgb_matrix_set_color(0,0,255,0);
+// /* Bottom right on lefthand Green: */
+// rgb_matrix_set_color(0, RGB_GREEN);
+// }
+// else if (IS_LAYER_ON(2)) {
+// /* RGB +/- controls. */
+// rgb_matrix_set_color(35, RGB_RED);
+// rgb_matrix_set_color(34, RGB_BLUE);
+// rgb_matrix_set_color(37, RGB_RED);
+// rgb_matrix_set_color(36, RGB_BLUE);
+// rgb_matrix_set_color(44, RGB_RED);
+// rgb_matrix_set_color(45, RGB_BLUE);
+// rgb_matrix_set_color(47, RGB_RED);
+// rgb_matrix_set_color(46, RGB_BLUE);
+// rgb_matrix_set_color(56, RGB_RED);
+// rgb_matrix_set_color(57, RGB_BLUE);
+// /* RGB Toggle. */
+// rgb_matrix_set_color(00, RGB_PURPLE);
+// /* Move screen left/right. */
+// rgb_matrix_set_color(26, RGB_YELLOW);
+// rgb_matrix_set_color(60, RGB_YELLOW);
+// /* Arrow keys. */
+// rgb_matrix_set_color(50, RGB_PURPLE);
+// rgb_matrix_set_color(49, RGB_PURPLE);
+// rgb_matrix_set_color(48, RGB_PURPLE);
+// rgb_matrix_set_color(42, RGB_PURPLE);
+// /* Mouse movement arrows. */
+// rgb_matrix_set_color(14, RGB_ORANGE);
+// rgb_matrix_set_color(15, RGB_ORANGE);
+// rgb_matrix_set_color(16, RGB_ORANGE);
+// rgb_matrix_set_color(8, RGB_ORANGE);
+// /* Mouse buttons. */
+// rgb_matrix_set_color(41, RGB_ORANGE);
+// rgb_matrix_set_color(43, RGB_ORANGE);
+// /* Mouse acceleration. */
+// rgb_matrix_set_color(01, 200, 165, 0);
+// rgb_matrix_set_color(02, 255, 200, 0);
+// rgb_matrix_set_color(03, 255, 235, 0);
+// }
+// }
+
+/**
+ * Rotary Encoder.
+ *
+ * This can't be programmed through configurator. You must do it here.
+ *
+ * This uses the amazing "Encoder map" feature which replicates the normal keyswitch layer handling functionality, but with encoders.
+ * https://docs.qmk.fm/#/feature_encoders?id=encoder-map
+ *
+ * Uses a variant of the Super-alt-tab macro to switch between open applications on a mac. (Command-tab)
+ * https://docs.qmk.fm/#/feature_macros?id=super-alt%e2%86%aftab
+ */
+#if defined(ENCODER_MAP_ENABLE)
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ /* Left Hand */ /* Right Hand */
+ /* Switch between tabs. (Control + Tab). */ /* Switch between open apps on Mac. (Command + Tab + timer logic) */
+ [_QWERTY] = { ENCODER_CCW_CW(S(C(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(CMD_TAB_CCW, CMD_TAB_CW) },
+ /* Scrolls left & right. (Shift + Mouse Wheel Up). */ /* Scrolls up and down. (Page Down & Page Up - mouse wheel scroll incraments are too small) */
+ [_LOWER] = { ENCODER_CCW_CW(S(KC_MS_WH_UP), S(KC_MS_WH_DOWN)), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ /* Selects adjacent words. (Command + Shift + Right Arrow). */ /* Jumps to end/start of line. Hold shift to select. (Gui + arrow). */
+ [_RAISE] = { ENCODER_CCW_CW(C(S(KC_LEFT)), C(S(KC_RGHT))), ENCODER_CCW_CW(G(KC_LEFT), G(KC_RGHT)) },
+ /* Scroll through RGB Modes */ /* Right & left arrow */
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
+ };
+#endif
+
+
+/**
+ * Helper function for rotary encoder.
+ *
+ * If the timer has elapsed, the Command/Gui tab will be released.
+ * You can adjust the milliseconds to speed up the CMD key release.
+ */
+void matrix_scan_user(void) {
+ if (is_cmd_tab_active) {
+ if (timer_elapsed(cmd_tab_timer) > 900) {
+ unregister_code(KC_LGUI);
+ is_cmd_tab_active = false;
+ }
+ }
+}
diff --git a/keyboards/keebio/iris/keymaps/two_knob/readme.md b/keyboards/keebio/iris/keymaps/two_knob/readme.md
new file mode 100644
index 0000000000..728650fcb9
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/readme.md
@@ -0,0 +1,15 @@
+# Two Knob Keymap for Iris Rev6a
+![two_knobs](https://i.imgur.com/JqGPWCn.png)
+
+This keymap is derived from Ergodox layouts and is adapted for the [Iris6a](https://docs.keeb.io/iris-rev6-build-guide). It is notable for it's semi-complex programming examples that include the use of rotary encoders.
+
+Plenty of useful examples:
+* Advanced knob programming! (Three-layer usage + clicks)
+* Advanced RGB! (Per-key lighting)
+* Macros! (Fancy key combos tied to the rotary encoders)
+* Tap Dance! (Double tap your '5' key for 'Enter')
+* Dynamic Tapping term! (Dial in the double tap speed)
+
+The qwerty key layout is my adaptation of the ergodox defaults. If this is your first split keyboard, you probably want a different key layout.
+
+I stopped using the fancy RGB programming pretty quickly. It was a complex to get working initially, so I'm leaving the examples here for others. (As a touch typist - not terribly helpful, but it looks nice). YMMV.
diff --git a/keyboards/keebio/iris/keymaps/two_knob/rules.mk b/keyboards/keebio/iris/keymaps/two_knob/rules.mk
new file mode 100644
index 0000000000..dd49f77547
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/rules.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 Ryan Neff (@JellyTitan)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Turn on mouse:
+MOUSEKEY_ENABLE = yes
+# Turn on tap dance:
+TAP_DANCE_ENABLE = yes
+# Dynamic Tapping Term:
+DYNAMIC_TAPPING_TERM_ENABLE = yes
+# Replicates the normal keyswitch layer handling functionality, but with encoders:
+ENCODER_MAP_ENABLE = yes
+# Console for debug:
+# This is enabled by the parent iris rev6a config - turning it off saves us some space.
+# You can find the other iris default options here: keyboards/keebio/iris/rev6a/rules.mk
+CONSOLE_ENABLE = no
diff --git a/keyboards/keebio/iris/keymaps/two_knob/two_knob.json b/keyboards/keebio/iris/keymaps/two_knob/two_knob.json
new file mode 100644
index 0000000000..62fb931873
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/two_knob.json
@@ -0,0 +1,185 @@
+{
+ "version": 1,
+ "notes": "Based on legacy Ergodox layouts.",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "keebio/iris/rev6a",
+ "keymap": "two_knob",
+ "layout": "LAYOUT",
+ "layers": [
+ [
+ "KC_EQL",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_4",
+ "ANY(TD_FIVE_ENTER)",
+ "KC_6",
+ "KC_7",
+ "KC_8",
+ "KC_9",
+ "KC_0",
+ "KC_MINS",
+ "KC_TAB",
+ "KC_Q",
+ "KC_W",
+ "KC_E",
+ "KC_R",
+ "KC_T",
+ "KC_Y",
+ "KC_U",
+ "KC_I",
+ "KC_O",
+ "KC_P",
+ "KC_BSLS",
+ "LT(1,KC_DEL)",
+ "LT(2,KC_A)",
+ "LCTL_T(KC_S)",
+ "KC_D",
+ "LGUI_T(KC_F)",
+ "KC_G",
+ "KC_H",
+ "RGUI_T(KC_J)",
+ "KC_K",
+ "RCTL_T(KC_L)",
+ "LT(2,KC_SCLN)",
+ "LT(1,KC_QUOT)",
+ "KC_LSPO",
+ "LALT_T(KC_Z)",
+ "KC_X",
+ "KC_C",
+ "KC_V",
+ "KC_B",
+ "ANY(KC_MINIM)",
+ "ANY(KC_MAXIM)",
+ "KC_N",
+ "KC_M",
+ "KC_COMM",
+ "KC_DOT",
+ "RALT_T(KC_SLSH)",
+ "KC_RSPC",
+ "QK_GESC",
+ "KC_SPC",
+ "KC_BSPC",
+ "KC_TAB",
+ "KC_ENT",
+ "KC_DEL"
+ ],
+ [
+ "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_TRNS",
+ "KC_EXLM",
+ "KC_AT",
+ "KC_LCBR",
+ "KC_RCBR",
+ "KC_PIPE",
+ "ANY(DT_PRNT)",
+ "KC_7",
+ "KC_8",
+ "KC_9",
+ "KC_ASTR",
+ "KC_F12",
+ "KC_TRNS",
+ "KC_HASH",
+ "KC_DLR",
+ "KC_LPRN",
+ "KC_RPRN",
+ "KC_GRV",
+ "ANY(DT_UP)",
+ "KC_4",
+ "KC_5",
+ "KC_6",
+ "KC_PPLS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_HASH",
+ "KC_DLR",
+ "KC_LBRC",
+ "KC_RBRC",
+ "KC_TILD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "ANY(DT_DOWN)",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_PSLS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_P0"
+ ],
+ [
+ "RGB_TOG",
+ "KC_ACL0",
+ "KC_ACL1",
+ "KC_ACL2",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RGB_MOD",
+ "RGB_RMOD",
+ "RGB_HUI",
+ "RGB_HUD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_U",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_BTN1",
+ "KC_UP",
+ "KC_BTN2",
+ "RGB_SAI",
+ "RGB_SAD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_L",
+ "KC_MS_D",
+ "KC_MS_R",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT",
+ "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",
+ "RGB_SPI",
+ "RGB_SPD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "ANY(KC_CSGLA)",
+ "ANY(KC_CSGRA)",
+ "KC_TRNS",
+ "KC_TRNS"
+ ]
+ ],
+ "author": "https://github.com/JellyTitan"
+}
diff --git a/keyboards/keebio/iris/keymaps/via/keymap.c b/keyboards/keebio/iris/keymaps/via/keymap.c
index 1305a3b909..cfd274cd9a 100644
--- a/keyboards/keebio/iris/keymaps/via/keymap.c
+++ b/keyboards/keebio/iris/keymaps/via/keymap.c
@@ -1,11 +1,11 @@
#include QMK_KEYBOARD_H
-extern keymap_config_t keymap_config;
-
-#define _MAIN 0
-#define _FN1 1
-#define _FN2 2
-#define _FN3 3
+enum custom_layer {
+ _MAIN,
+ _FN1,
+ _FN2,
+ _FN3,
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
@@ -65,3 +65,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+# if defined(KEYBOARD_keebio_iris_rev7)
+ [_MAIN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END) },
+ [_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_UP, KC_DOWN) },
+# else
+ [_MAIN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [_FN2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+# endif
+};
+#endif
diff --git a/keyboards/keebio/iris/keymaps/via/rules.mk b/keyboards/keebio/iris/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/keebio/iris/keymaps/via/rules.mk
+++ b/keyboards/keebio/iris/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/xyverz/keymap.c b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
index e5e8aebd28..d59fd8fedf 100644
--- a/keyboards/keebio/iris/keymaps/xyverz/keymap.c
+++ b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
@@ -25,7 +25,7 @@ enum custom_keycodes {
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
#define KC_QWRT QWERTY
#define KC_CLMK COLEMAK
diff --git a/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c b/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
index 58f115d6d1..07cd2cb094 100644
--- a/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
+++ b/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN3] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/rev1/config.h b/keyboards/keebio/iris/rev1/config.h
index c1d39cfbe7..6e0e720175 100644
--- a/keyboards/keebio/iris/rev1/config.h
+++ b/keyboards/keebio/iris/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1256
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Iris Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev1/info.json b/keyboards/keebio/iris/rev1/info.json
new file mode 100644
index 0000000000..414db5ad6a
--- /dev/null
+++ b/keyboards/keebio/iris/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 1",
+ "usb": {
+ "pid": "0x1256",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev1_led/config.h b/keyboards/keebio/iris/rev1_led/config.h
index 02bc73021c..2d88d72ac9 100644
--- a/keyboards/keebio/iris/rev1_led/config.h
+++ b/keyboards/keebio/iris/rev1_led/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1256
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Iris Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev1_led/info.json b/keyboards/keebio/iris/rev1_led/info.json
new file mode 100644
index 0000000000..38b09bbe35
--- /dev/null
+++ b/keyboards/keebio/iris/rev1_led/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 1",
+ "usb": {
+ "pid": "0x1256",
+ "device_version": "1.1.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev2/config.h b/keyboards/keebio/iris/rev2/config.h
index 793d653c0b..0c795940cd 100644
--- a/keyboards/keebio/iris/rev2/config.h
+++ b/keyboards/keebio/iris/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2256
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT Keebio Iris Rev. 2
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev2/info.json b/keyboards/keebio/iris/rev2/info.json
new file mode 100644
index 0000000000..dd223d4f94
--- /dev/null
+++ b/keyboards/keebio/iris/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 2",
+ "usb": {
+ "pid": "0x2256",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h
index 921627382c..e08660612d 100644
--- a/keyboards/keebio/iris/rev3/config.h
+++ b/keyboards/keebio/iris/rev3/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1256
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Keebio
-#define PRODUCT Keebio Iris Rev. 3
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev3/info.json b/keyboards/keebio/iris/rev3/info.json
new file mode 100644
index 0000000000..af6215b201
--- /dev/null
+++ b/keyboards/keebio/iris/rev3/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 3",
+ "usb": {
+ "pid": "0x3256",
+ "device_version": "3.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h
index 0ad59b9774..0af962ac52 100644
--- a/keyboards/keebio/iris/rev4/config.h
+++ b/keyboards/keebio/iris/rev4/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x4256
-#define DEVICE_VER 0x0400
-#define MANUFACTURER Keebio
-#define PRODUCT Keebio Iris Rev. 4
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev4/info.json b/keyboards/keebio/iris/rev4/info.json
new file mode 100644
index 0000000000..aa42788154
--- /dev/null
+++ b/keyboards/keebio/iris/rev4/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 4",
+ "usb": {
+ "pid": "0x4256",
+ "device_version": "4.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h
index 15eed8349f..2d06626486 100644
--- a/keyboards/keebio/iris/rev5/config.h
+++ b/keyboards/keebio/iris/rev5/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x5256
-#define DEVICE_VER 0x0500
-#define MANUFACTURER Keebio
-#define PRODUCT Iris Rev. 5
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev5/info.json b/keyboards/keebio/iris/rev5/info.json
new file mode 100644
index 0000000000..60a73d4252
--- /dev/null
+++ b/keyboards/keebio/iris/rev5/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 5",
+ "usb": {
+ "pid": "0x5256",
+ "device_version": "5.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h
index e26dc5fa50..7bc8c4132b 100644
--- a/keyboards/keebio/iris/rev6/config.h
+++ b/keyboards/keebio/iris/rev6/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x6256
-#define DEVICE_VER 0x0600
-#define MANUFACTURER Keebio
-#define PRODUCT Iris Rev. 6
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json
new file mode 100644
index 0000000000..86dc585c81
--- /dev/null
+++ b/keyboards/keebio/iris/rev6/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 6",
+ "usb": {
+ "pid": "0x6256",
+ "device_version": "6.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev6/rev6.c b/keyboards/keebio/iris/rev6/rev6.c
index 8b612c3555..0900ae5895 100644
--- a/keyboards/keebio/iris/rev6/rev6.c
+++ b/keyboards/keebio/iris/rev6/rev6.c
@@ -39,9 +39,9 @@ led_config_t g_led_config = { {
{ 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
// Right Half
{ 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
- { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 244, 17 },
+ { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
{ 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
- { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 244, 43 },
+ { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
{ 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
{ 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
}, {
diff --git a/keyboards/keebio/iris/rev6a/config.h b/keyboards/keebio/iris/rev6a/config.h
index d846891d92..08863797fb 100644
--- a/keyboards/keebio/iris/rev6a/config.h
+++ b/keyboards/keebio/iris/rev6a/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x6356
-#define DEVICE_VER 0x0610
-#define MANUFACTURER Keebio
-#define PRODUCT Iris Rev. 6a
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -118,7 +111,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_SPLIT { 34, 34 }
@@ -126,9 +119,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES
//# endif
#endif
-
-#define VIA_QMK_RGBLIGHT_ENABLE
-
-// Enable the workaround for the speed parameter mismatch between RGBLIGHT and
-// RGB Matrix, so that the speed slider in VIA behaves in a more useful way.
-#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/keebio/iris/rev6a/info.json b/keyboards/keebio/iris/rev6a/info.json
new file mode 100644
index 0000000000..c580018ea7
--- /dev/null
+++ b/keyboards/keebio/iris/rev6a/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 6a",
+ "usb": {
+ "pid": "0x6356",
+ "device_version": "6.1.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev6a/rev6a.c b/keyboards/keebio/iris/rev6a/rev6a.c
index cc9c3f6b8f..a78c6a7c08 100644
--- a/keyboards/keebio/iris/rev6a/rev6a.c
+++ b/keyboards/keebio/iris/rev6a/rev6a.c
@@ -39,9 +39,9 @@ led_config_t g_led_config = { {
{ 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
// Right Half
{ 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
- { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 244, 17 },
+ { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
{ 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
- { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 244, 43 },
+ { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
{ 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
{ 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
}, {
@@ -63,61 +63,6 @@ led_config_t g_led_config = { {
} };
-
-# if defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
-
-// VIA supports only 4 discrete values for effect speed; map these to some
-// useful speed values for RGB Matrix.
-enum speed_values {
- RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects
- RGBLIGHT_SPEED_1 = UINT8_MAX / 4,
- RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value
- RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast
-};
-
-static uint8_t speed_from_rgblight(uint8_t rgblight_speed) {
- switch (rgblight_speed) {
- case 0:
- return RGBLIGHT_SPEED_0;
- case 1:
- return RGBLIGHT_SPEED_1;
- case 2:
- default:
- return RGBLIGHT_SPEED_2;
- case 3:
- return RGBLIGHT_SPEED_3;
- }
-}
-
-static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) {
- if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) {
- return 0;
- } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) {
- return 1;
- } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) {
- return 2;
- } else {
- return 3;
- }
-}
-
-void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
- switch (data[0]) {
- case id_lighting_get_value:
- if (data[1] == id_qmk_rgblight_effect_speed) {
- data[2] = speed_to_rgblight(rgb_matrix_get_speed());
- }
- break;
- case id_lighting_set_value:
- if (data[1] == id_qmk_rgblight_effect_speed) {
- rgb_matrix_set_speed_noeeprom(speed_from_rgblight(data[2]));
- }
- break;
- }
-}
-
-# endif // defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
-
#endif
#ifdef ENCODER_ENABLE
diff --git a/keyboards/keebio/iris/rev6b/config.h b/keyboards/keebio/iris/rev6b/config.h
new file mode 100644
index 0000000000..08863797fb
--- /dev/null
+++ b/keyboards/keebio/iris/rev6b/config.h
@@ -0,0 +1,121 @@
+/*
+Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { B1, F0, F5, B4, D7 }
+#define MATRIX_COL_PINS { F1, F4, B5, C7, D4, D6 }
+#define MATRIX_ROW_PINS_RIGHT { B1, F0, F5, B4, B5 }
+#define MATRIX_COL_PINS_RIGHT { D4, D6, D7, C7, F1, F4 }
+#define SPLIT_HAND_PIN D5
+
+#define ENCODERS_PAD_A { B3 }
+#define ENCODERS_PAD_B { B2 }
+#define ENCODERS_PAD_A_RIGHT { B3 }
+#define ENCODERS_PAD_B_RIGHT { B2 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* serial.c configuration for split keyboard */
+#define SOFT_SERIAL_PIN D0
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 68
+# define RGBLED_SPLIT { 34, 34 }
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== enabled 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
+# define RGBLIGHT_EFFECT_TWINKLE
+# define RGBLIGHT_DEFAULT_VAL 120
+# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+// RGB Matrix
+//# ifdef RGB_MATRIX_ENABLE
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT { 34, 34 }
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_KEYPRESSES
+//# endif
+#endif
diff --git a/keyboards/keebio/iris/rev6b/info.json b/keyboards/keebio/iris/rev6b/info.json
new file mode 100644
index 0000000000..eafae19202
--- /dev/null
+++ b/keyboards/keebio/iris/rev6b/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 6b",
+ "usb": {
+ "pid": "0x6456",
+ "device_version": "6.2.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev6b/rev6b.c b/keyboards/keebio/iris/rev6b/rev6b.c
new file mode 100644
index 0000000000..f4d9a6830b
--- /dev/null
+++ b/keyboards/keebio/iris/rev6b/rev6b.c
@@ -0,0 +1,85 @@
+/*
+Copyright 2021 Danny Nguyen <danny@keeb.io>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "rev6b.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ // Left Half
+ { 0, 1, 2, 3, 4, 5 },
+ { 11, 10, 9, 8, 7, 6 },
+ { 12, 13, 14, 15, 16, 17 },
+ { 23, 22, 21, 20, 19, 18 },
+ { NO_LED, NO_LED, 24, 25, 26, 27 },
+ // Right Half
+ { 34, 35, 36, 37, 38, 39 },
+ { 45, 44, 43, 42, 41, 40 },
+ { 46, 47, 48, 49, 50, 51 },
+ { 57, 56, 55, 54, 53, 52 },
+ { NO_LED, NO_LED, 58, 59, 60, 61 }
+}, {
+ // LED Index to Physical Position
+ // Left Half
+ { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 },
+ { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 },
+ { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 },
+ { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 },
+ { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 },
+ { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
+ // Right Half
+ { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
+ { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
+ { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
+ { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
+ { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
+ { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
+}, {
+ // LED Index to Flag
+ // Left Half
+ 4, 4, 4, 4, 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, 2, 2, 2, 2,
+ // Right Half
+ 4, 4, 4, 4, 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, 2, 2, 2, 2
+
+} };
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/keebio/iris/rev6b/rev6b.h b/keyboards/keebio/iris/rev6b/rev6b.h
new file mode 100644
index 0000000000..d13e24410e
--- /dev/null
+++ b/keyboards/keebio/iris/rev6b/rev6b.h
@@ -0,0 +1,42 @@
+/*
+Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "iris.h"
+#include "quantum.h"
+
+
+#define LAYOUT( \
+ LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \
+ LB1, LB2, LB3, LB4, LB5, LB6, RB6, RB5, RB4, RB3, RB2, RB1, \
+ LC1, LC2, LC3, LC4, LC5, LC6, RC6, RC5, RC4, RC3, RC2, RC1, \
+ LD1, LD2, LD3, LD4, LD5, LD6, LE6, RE6, RD6, RD5, RD4, RD3, RD2, RD1, \
+ LE3, LE4, LE5, RE5, RE4, RE3 \
+ ) \
+ { \
+ { LA1, LA2, LA3, LA4, LA5, LA6 }, \
+ { LB1, LB2, LB3, LB4, LB5, LB6 }, \
+ { LC1, LC2, LC3, LC4, LC5, LC6 }, \
+ { LD1, LD2, LD3, LD4, LD5, LD6 }, \
+ { KC_NO, KC_NO, LE3, LE4, LE5, LE6 }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6 }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6 }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6 }, \
+ { RD1, RD2, RD3, RD4, RD5, RD6 }, \
+ { KC_NO, KC_NO, RE3, RE4, RE5, RE6 } \
+ }
diff --git a/keyboards/keebio/iris/rev6b/rules.mk b/keyboards/keebio/iris/rev6b/rules.mk
new file mode 100644
index 0000000000..87f19b5fc1
--- /dev/null
+++ b/keyboards/keebio/iris/rev6b/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h
new file mode 100644
index 0000000000..005f78e8a9
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/config.h
@@ -0,0 +1,122 @@
+/*
+Copyright 2022 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { B1, F0, F5, B4, D7 }
+#define MATRIX_COL_PINS { F1, F4, B5, C7, D4, D6 }
+#define MATRIX_ROW_PINS_RIGHT { B1, F0, F5, B4, B5 }
+#define MATRIX_COL_PINS_RIGHT { D4, D6, D7, C7, F1, F4 }
+#define SPLIT_HAND_PIN D5
+
+#define ENCODERS_PAD_A { B3, F6 }
+#define ENCODERS_PAD_B { B2, F7 }
+#define ENCODERS_PAD_A_RIGHT { B3, F6 }
+#define ENCODERS_PAD_B_RIGHT { B2, F7 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* serial.c configuration for split keyboard */
+#define SOFT_SERIAL_PIN D0
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 68
+# define RGBLED_SPLIT { 34, 34 }
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== enabled 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
+# define RGBLIGHT_EFFECT_TWINKLE
+# define RGBLIGHT_DEFAULT_VAL 120
+# define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+// RGB Matrix
+//# ifdef RGB_MATRIX_ENABLE
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+//# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT { 34, 34 }
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_KEYPRESSES
+//# endif
+#endif
+
diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json
new file mode 100644
index 0000000000..b0ba3ca359
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Iris Rev. 7",
+ "usb": {
+ "pid": "0x7256",
+ "device_version": "7.0.0"
+ }
+}
diff --git a/keyboards/keebio/iris/rev7/rev7.c b/keyboards/keebio/iris/rev7/rev7.c
new file mode 100644
index 0000000000..25f3760025
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/rev7.c
@@ -0,0 +1,99 @@
+/*
+Copyright 2021 Danny Nguyen <danny@keeb.io>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "rev7.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ // Left Half
+ { 0, 1, 2, 3, 4, 5 },
+ { 11, 10, 9, 8, 7, 6 },
+ { 12, 13, 14, 15, 16, 17 },
+ { 23, 22, 21, 20, 19, 18 },
+ { NO_LED, NO_LED, 24, 25, 26, 27 },
+ // Right Half
+ { 34, 35, 36, 37, 38, 39 },
+ { 45, 44, 43, 42, 41, 40 },
+ { 46, 47, 48, 49, 50, 51 },
+ { 57, 56, 55, 54, 53, 52 },
+ { NO_LED, NO_LED, 58, 59, 60, 61 }
+}, {
+ // LED Index to Physical Position
+ // Left Half
+ { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 },
+ { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 },
+ { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 },
+ { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 },
+ { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 },
+ { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
+ // Right Half
+ { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
+ { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
+ { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
+ { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
+ { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
+ { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
+}, {
+ // LED Index to Flag
+ // Left Half
+ 4, 4, 4, 4, 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, 2, 2, 2, 2,
+ // Right Half
+ 4, 4, 4, 4, 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, 2, 2, 2, 2
+
+} };
+
+
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ } else if (index == 2) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 3) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/keebio/iris/rev7/rev7.h b/keyboards/keebio/iris/rev7/rev7.h
new file mode 100644
index 0000000000..d13e24410e
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/rev7.h
@@ -0,0 +1,42 @@
+/*
+Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "iris.h"
+#include "quantum.h"
+
+
+#define LAYOUT( \
+ LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \
+ LB1, LB2, LB3, LB4, LB5, LB6, RB6, RB5, RB4, RB3, RB2, RB1, \
+ LC1, LC2, LC3, LC4, LC5, LC6, RC6, RC5, RC4, RC3, RC2, RC1, \
+ LD1, LD2, LD3, LD4, LD5, LD6, LE6, RE6, RD6, RD5, RD4, RD3, RD2, RD1, \
+ LE3, LE4, LE5, RE5, RE4, RE3 \
+ ) \
+ { \
+ { LA1, LA2, LA3, LA4, LA5, LA6 }, \
+ { LB1, LB2, LB3, LB4, LB5, LB6 }, \
+ { LC1, LC2, LC3, LC4, LC5, LC6 }, \
+ { LD1, LD2, LD3, LD4, LD5, LD6 }, \
+ { KC_NO, KC_NO, LE3, LE4, LE5, LE6 }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6 }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6 }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6 }, \
+ { RD1, RD2, RD3, RD4, RD5, RD6 }, \
+ { KC_NO, KC_NO, RE3, RE4, RE5, RE6 } \
+ }
diff --git a/keyboards/keebio/iris/rev7/rules.mk b/keyboards/keebio/iris/rev7/rules.mk
new file mode 100644
index 0000000000..87f19b5fc1
--- /dev/null
+++ b/keyboards/keebio/iris/rev7/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/kbo5000/info.json b/keyboards/keebio/kbo5000/info.json
deleted file mode 100644
index f4d37e012d..0000000000
--- a/keyboards/keebio/kbo5000/info.json
+++ /dev/null
@@ -1,337 +0,0 @@
-{
- "keyboard_name": "KBO-5000",
- "url": "https://keeb.io",
- "maintainer": "nooges",
- "layouts": {
- "LAYOUT_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":10, "y":0},
- {"label":"F8", "x":11, "y":0},
- {"label":"F9", "x":12.5, "y":0},
- {"label":"F10", "x":13.5, "y":0},
- {"label":"F11", "x":14.5, "y":0},
- {"label":"F12", "x":15.5, "y":0},
- {"label":"Prt Sc", "x":17.5, "y":0},
- {"label":"Scr Lk", "x":18.5, "y":0},
- {"label":"Pause", "x":19.5, "y":0},
-
- {"label":"F13", "x":0, "y":1.25},
- {"label":"~", "x":1.5, "y":1.25},
- {"label":"!", "x":2.5, "y":1.25},
- {"label":"@", "x":3.5, "y":1.25},
- {"label":"#", "x":4.5, "y":1.25},
- {"label":"$", "x":5.5, "y":1.25},
- {"label":"%", "x":6.5, "y":1.25},
- {"label":"^", "x":7.5, "y":1.25},
-
- {"label":"&", "x":10, "y":1.25},
- {"label":"*", "x":11, "y":1.25},
- {"label":"(", "x":12, "y":1.25},
- {"label":")", "x":13, "y":1.25},
- {"label":"_", "x":14, "y":1.25},
- {"label":"+", "x":15, "y":1.25},
- {"label":"Del", "x":16, "y":1.25},
- {"label":"Bksp", "x":17, "y":1.25},
- {"label":"Ins", "x":18.5, "y":1.25},
- {"label":"Pg Up", "x":19.5, "y":1.25},
-
- {"label":"F14", "x":0, "y":2.25},
- {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
- {"label":"Q", "x":3, "y":2.25},
- {"label":"W", "x":4, "y":2.25},
- {"label":"E", "x":5, "y":2.25},
- {"label":"R", "x":6, "y":2.25},
- {"label":"T", "x":7, "y":2.25},
-
- {"label":"Y", "x":9.5, "y":2.25},
- {"label":"U", "x":10.5, "y":2.25},
- {"label":"I", "x":11.5, "y":2.25},
- {"label":"O", "x":12.5, "y":2.25},
- {"label":"P", "x":13.5, "y":2.25},
- {"label":"{", "x":14.5, "y":2.25},
- {"label":"}", "x":15.5, "y":2.25},
- {"label":"|", "x":16.5, "y":2.25, "w":1.5},
- {"label":"Del", "x":18.5, "y":2.25},
- {"label":"Pg Dn", "x":19.5, "y":2.25},
-
- {"label":"F15", "x":0, "y":3.25},
- {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
- {"label":"A", "x":3.25, "y":3.25},
- {"label":"S", "x":4.25, "y":3.25},
- {"label":"D", "x":5.25, "y":3.25},
- {"label":"F", "x":6.25, "y":3.25},
- {"label":"G", "x":7.25, "y":3.25},
-
- {"label":"H", "x":9.75, "y":3.25},
- {"label":"J", "x":10.75, "y":3.25},
- {"label":"K", "x":11.75, "y":3.25},
- {"label":"L", "x":12.75, "y":3.25},
- {"label":":", "x":13.75, "y":3.25},
- {"label":"\"", "x":14.75, "y":3.25},
- {"label":"Enter", "x":15.75, "y":3.25, "w":2.25},
- {"label":"Home", "x":18.5, "y":3.25},
- {"label":"End", "x":19.5, "y":3.25},
-
- {"label":"F16", "x":0, "y":4.25},
- {"label":"Shift", "x":1.5, "y":4.25, "w":2.25},
- {"label":"Z", "x":3.75, "y":4.25},
- {"label":"X", "x":4.75, "y":4.25},
- {"label":"C", "x":5.75, "y":4.25},
- {"label":"V", "x":6.75, "y":4.25},
- {"label":"B", "x":7.75, "y":4.25},
- {"label":"N", "x":10.25, "y":4.25},
- {"label":"M", "x":11.25, "y":4.25},
- {"label":"<", "x":12.25, "y":4.25},
- {"label":">", "x":13.25, "y":4.25},
- {"label":"?", "x":14.25, "y":4.25},
- {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
- {"label":"Up", "x":18.5, "y":4.25},
-
- {"label":"F17", "x":0, "y":5.25},
- {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":2.75, "y":5.25},
- {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
- {"label":"Fn", "x":5, "y":5.25, "w":1.25},
- {"label":"Space", "x":6.25, "y":5.25},
- {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
- {"label":"Fn", "x":10, "y":5.25, "w":1.25},
- {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
- {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":14.75, "y":5.25},
- {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
- {"label":"Left", "x":17.5, "y":5.25},
- {"label":"Down", "x":18.5, "y":5.25},
- {"label":"Right", "x":19.5, "y":5.25}
- ]
- },
- "LAYOUT_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":10, "y":0},
- {"label":"F8", "x":11, "y":0},
- {"label":"F9", "x":12.5, "y":0},
- {"label":"F10", "x":13.5, "y":0},
- {"label":"F11", "x":14.5, "y":0},
- {"label":"F12", "x":15.5, "y":0},
- {"label":"Prt Sc", "x":17.5, "y":0},
- {"label":"Scr Lk", "x":18.5, "y":0},
- {"label":"Pause", "x":19.5, "y":0},
-
- {"label":"F13", "x":0, "y":1.25},
- {"label":"~", "x":1.5, "y":1.25},
- {"label":"!", "x":2.5, "y":1.25},
- {"label":"@", "x":3.5, "y":1.25},
- {"label":"#", "x":4.5, "y":1.25},
- {"label":"$", "x":5.5, "y":1.25},
- {"label":"%", "x":6.5, "y":1.25},
- {"label":"^", "x":7.5, "y":1.25},
-
- {"label":"&", "x":10, "y":1.25},
- {"label":"*", "x":11, "y":1.25},
- {"label":"(", "x":12, "y":1.25},
- {"label":")", "x":13, "y":1.25},
- {"label":"_", "x":14, "y":1.25},
- {"label":"+", "x":15, "y":1.25},
- {"label":"Del", "x":16, "y":1.25},
- {"label":"Bksp", "x":17, "y":1.25},
- {"label":"Ins", "x":18.5, "y":1.25},
- {"label":"Pg Up", "x":19.5, "y":1.25},
-
- {"label":"F14", "x":0, "y":2.25},
- {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
- {"label":"Q", "x":3, "y":2.25},
- {"label":"W", "x":4, "y":2.25},
- {"label":"E", "x":5, "y":2.25},
- {"label":"R", "x":6, "y":2.25},
- {"label":"T", "x":7, "y":2.25},
-
- {"label":"Y", "x":9.5, "y":2.25},
- {"label":"U", "x":10.5, "y":2.25},
- {"label":"I", "x":11.5, "y":2.25},
- {"label":"O", "x":12.5, "y":2.25},
- {"label":"P", "x":13.5, "y":2.25},
- {"label":"{", "x":14.5, "y":2.25},
- {"label":"}", "x":15.5, "y":2.25},
- {"label":"Del", "x":18.5, "y":2.25},
- {"label":"Pg Dn", "x":19.5, "y":2.25},
-
- {"label":"F15", "x":0, "y":3.25},
- {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
- {"label":"A", "x":3.25, "y":3.25},
- {"label":"S", "x":4.25, "y":3.25},
- {"label":"D", "x":5.25, "y":3.25},
- {"label":"F", "x":6.25, "y":3.25},
- {"label":"G", "x":7.25, "y":3.25},
-
- {"label":"H", "x":9.75, "y":3.25},
- {"label":"J", "x":10.75, "y":3.25},
- {"label":"K", "x":11.75, "y":3.25},
- {"label":"L", "x":12.75, "y":3.25},
- {"label":":", "x":13.75, "y":3.25},
- {"label":"\"", "x":14.75, "y":3.25},
- {"label":"#", "x":15.75, "y":3.25},
- {"label":"Enter", "x":16.75, "y":2.25, "w":1.25, "h":2},
- {"label":"Home", "x":18.5, "y":3.25},
- {"label":"End", "x":19.5, "y":3.25},
-
- {"label":"F16", "x":0, "y":4.25},
- {"label":"Shift", "x":1.5, "y":4.25, "w":1.25},
- {"label":"\\", "x":2.75, "y":4.25},
- {"label":"Z", "x":3.75, "y":4.25},
- {"label":"X", "x":4.75, "y":4.25},
- {"label":"C", "x":5.75, "y":4.25},
- {"label":"V", "x":6.75, "y":4.25},
- {"label":"B", "x":7.75, "y":4.25},
- {"label":"N", "x":10.25, "y":4.25},
- {"label":"M", "x":11.25, "y":4.25},
- {"label":"<", "x":12.25, "y":4.25},
- {"label":">", "x":13.25, "y":4.25},
- {"label":"?", "x":14.25, "y":4.25},
- {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
- {"label":"Up", "x":18.5, "y":4.25},
-
- {"label":"F17", "x":0, "y":5.25},
- {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":2.75, "y":5.25},
- {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
- {"label":"Fn", "x":5, "y":5.25, "w":1.25},
- {"label":"Space", "x":6.25, "y":5.25},
- {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
- {"label":"Fn", "x":10, "y":5.25, "w":1.25},
- {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
- {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":14.75, "y":5.25},
- {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
- {"label":"Left", "x":17.5, "y":5.25},
- {"label":"Down", "x":18.5, "y":5.25},
- {"label":"Right", "x":19.5, "y":5.25}
- ]
- },
- "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":10, "y":0},
- {"label":"F8", "x":11, "y":0},
- {"label":"F9", "x":12.5, "y":0},
- {"label":"F10", "x":13.5, "y":0},
- {"label":"F11", "x":14.5, "y":0},
- {"label":"F12", "x":15.5, "y":0},
- {"label":"Prt Sc", "x":17.5, "y":0},
- {"label":"Scr Lk", "x":18.5, "y":0},
- {"label":"Pause", "x":19.5, "y":0},
-
- {"label":"F13", "x":0, "y":1.25},
- {"label":"~", "x":1.5, "y":1.25},
- {"label":"!", "x":2.5, "y":1.25},
- {"label":"@", "x":3.5, "y":1.25},
- {"label":"#", "x":4.5, "y":1.25},
- {"label":"$", "x":5.5, "y":1.25},
- {"label":"%", "x":6.5, "y":1.25},
- {"label":"^", "x":7.5, "y":1.25},
-
- {"label":"&", "x":10, "y":1.25},
- {"label":"*", "x":11, "y":1.25},
- {"label":"(", "x":12, "y":1.25},
- {"label":")", "x":13, "y":1.25},
- {"label":"_", "x":14, "y":1.25},
- {"label":"+", "x":15, "y":1.25},
- {"label":"Del", "x":16, "y":1.25},
- {"label":"Bksp", "x":17, "y":1.25},
- {"label":"Ins", "x":18.5, "y":1.25},
- {"label":"Pg Up", "x":19.5, "y":1.25},
-
- {"label":"F14", "x":0, "y":2.25},
- {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
- {"label":"Q", "x":3, "y":2.25},
- {"label":"W", "x":4, "y":2.25},
- {"label":"E", "x":5, "y":2.25},
- {"label":"R", "x":6, "y":2.25},
- {"label":"T", "x":7, "y":2.25},
-
- {"label":"Y", "x":9.5, "y":2.25},
- {"label":"U", "x":10.5, "y":2.25},
- {"label":"I", "x":11.5, "y":2.25},
- {"label":"O", "x":12.5, "y":2.25},
- {"label":"P", "x":13.5, "y":2.25},
- {"label":"{", "x":14.5, "y":2.25},
- {"label":"}", "x":15.5, "y":2.25},
- {"label":"|", "x":16.5, "y":2.25, "w":1.5},
- {"label":"Del", "x":18.5, "y":2.25},
- {"label":"Pg Dn", "x":19.5, "y":2.25},
-
- {"label":"F15", "x":0, "y":3.25},
- {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
- {"label":"A", "x":3.25, "y":3.25},
- {"label":"S", "x":4.25, "y":3.25},
- {"label":"D", "x":5.25, "y":3.25},
- {"label":"F", "x":6.25, "y":3.25},
- {"label":"G", "x":7.25, "y":3.25},
-
- {"label":"H", "x":9.75, "y":3.25},
- {"label":"J", "x":10.75, "y":3.25},
- {"label":"K", "x":11.75, "y":3.25},
- {"label":"L", "x":12.75, "y":3.25},
- {"label":":", "x":13.75, "y":3.25},
- {"label":"\"", "x":14.75, "y":3.25},
- {"label":"#", "x":15.75, "y":3.25},
- {"label":"Enter", "x":16.75, "y":3.25, "w":1.25},
- {"label":"Home", "x":18.5, "y":3.25},
- {"label":"End", "x":19.5, "y":3.25},
-
- {"label":"F16", "x":0, "y":4.25},
- {"label":"Shift", "x":1.5, "y":4.25, "w":1.25},
- {"label":"\\", "x":2.75, "y":4.25},
- {"label":"Z", "x":3.75, "y":4.25},
- {"label":"X", "x":4.75, "y":4.25},
- {"label":"C", "x":5.75, "y":4.25},
- {"label":"V", "x":6.75, "y":4.25},
- {"label":"B", "x":7.75, "y":4.25},
- {"label":"N", "x":10.25, "y":4.25},
- {"label":"M", "x":11.25, "y":4.25},
- {"label":"<", "x":12.25, "y":4.25},
- {"label":">", "x":13.25, "y":4.25},
- {"label":"?", "x":14.25, "y":4.25},
- {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
- {"label":"Up", "x":18.5, "y":4.25},
-
- {"label":"F17", "x":0, "y":5.25},
- {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":2.75, "y":5.25},
- {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
- {"label":"Fn", "x":5, "y":5.25, "w":1.25},
- {"label":"Space", "x":6.25, "y":5.25},
- {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
- {"label":"Fn", "x":10, "y":5.25, "w":1.25},
- {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
- {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
- {"label":"Win", "x":14.75, "y":5.25},
- {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
- {"label":"Left", "x":17.5, "y":5.25},
- {"label":"Down", "x":18.5, "y":5.25},
- {"label":"Right", "x":19.5, "y":5.25}
- ]
- }
- }
-}
diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h
index 5d065fe1c2..3d3253d2c3 100644
--- a/keyboards/keebio/kbo5000/rev1/config.h
+++ b/keyboards/keebio/kbo5000/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x126A
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT KBO-5000 Rev. 1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/keebio/kbo5000/rev1/info.json b/keyboards/keebio/kbo5000/rev1/info.json
new file mode 100644
index 0000000000..b07e73f17e
--- /dev/null
+++ b/keyboards/keebio/kbo5000/rev1/info.json
@@ -0,0 +1,343 @@
+{
+ "keyboard_name": "KBO-5000 Rev. 1",
+ "manufacturer": "Keebio",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x126A",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT_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":10, "y":0},
+ {"label":"F8", "x":11, "y":0},
+ {"label":"F9", "x":12.5, "y":0},
+ {"label":"F10", "x":13.5, "y":0},
+ {"label":"F11", "x":14.5, "y":0},
+ {"label":"F12", "x":15.5, "y":0},
+ {"label":"Prt Sc", "x":17.5, "y":0},
+ {"label":"Scr Lk", "x":18.5, "y":0},
+ {"label":"Pause", "x":19.5, "y":0},
+
+ {"label":"F13", "x":0, "y":1.25},
+ {"label":"~", "x":1.5, "y":1.25},
+ {"label":"!", "x":2.5, "y":1.25},
+ {"label":"@", "x":3.5, "y":1.25},
+ {"label":"#", "x":4.5, "y":1.25},
+ {"label":"$", "x":5.5, "y":1.25},
+ {"label":"%", "x":6.5, "y":1.25},
+ {"label":"^", "x":7.5, "y":1.25},
+
+ {"label":"&", "x":10, "y":1.25},
+ {"label":"*", "x":11, "y":1.25},
+ {"label":"(", "x":12, "y":1.25},
+ {"label":")", "x":13, "y":1.25},
+ {"label":"_", "x":14, "y":1.25},
+ {"label":"+", "x":15, "y":1.25},
+ {"label":"Del", "x":16, "y":1.25},
+ {"label":"Bksp", "x":17, "y":1.25},
+ {"label":"Ins", "x":18.5, "y":1.25},
+ {"label":"Pg Up", "x":19.5, "y":1.25},
+
+ {"label":"F14", "x":0, "y":2.25},
+ {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
+ {"label":"Q", "x":3, "y":2.25},
+ {"label":"W", "x":4, "y":2.25},
+ {"label":"E", "x":5, "y":2.25},
+ {"label":"R", "x":6, "y":2.25},
+ {"label":"T", "x":7, "y":2.25},
+
+ {"label":"Y", "x":9.5, "y":2.25},
+ {"label":"U", "x":10.5, "y":2.25},
+ {"label":"I", "x":11.5, "y":2.25},
+ {"label":"O", "x":12.5, "y":2.25},
+ {"label":"P", "x":13.5, "y":2.25},
+ {"label":"{", "x":14.5, "y":2.25},
+ {"label":"}", "x":15.5, "y":2.25},
+ {"label":"|", "x":16.5, "y":2.25, "w":1.5},
+ {"label":"Del", "x":18.5, "y":2.25},
+ {"label":"Pg Dn", "x":19.5, "y":2.25},
+
+ {"label":"F15", "x":0, "y":3.25},
+ {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
+ {"label":"A", "x":3.25, "y":3.25},
+ {"label":"S", "x":4.25, "y":3.25},
+ {"label":"D", "x":5.25, "y":3.25},
+ {"label":"F", "x":6.25, "y":3.25},
+ {"label":"G", "x":7.25, "y":3.25},
+
+ {"label":"H", "x":9.75, "y":3.25},
+ {"label":"J", "x":10.75, "y":3.25},
+ {"label":"K", "x":11.75, "y":3.25},
+ {"label":"L", "x":12.75, "y":3.25},
+ {"label":":", "x":13.75, "y":3.25},
+ {"label":"\"", "x":14.75, "y":3.25},
+ {"label":"Enter", "x":15.75, "y":3.25, "w":2.25},
+ {"label":"Home", "x":18.5, "y":3.25},
+ {"label":"End", "x":19.5, "y":3.25},
+
+ {"label":"F16", "x":0, "y":4.25},
+ {"label":"Shift", "x":1.5, "y":4.25, "w":2.25},
+ {"label":"Z", "x":3.75, "y":4.25},
+ {"label":"X", "x":4.75, "y":4.25},
+ {"label":"C", "x":5.75, "y":4.25},
+ {"label":"V", "x":6.75, "y":4.25},
+ {"label":"B", "x":7.75, "y":4.25},
+ {"label":"N", "x":10.25, "y":4.25},
+ {"label":"M", "x":11.25, "y":4.25},
+ {"label":"<", "x":12.25, "y":4.25},
+ {"label":">", "x":13.25, "y":4.25},
+ {"label":"?", "x":14.25, "y":4.25},
+ {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
+ {"label":"Up", "x":18.5, "y":4.25},
+
+ {"label":"F17", "x":0, "y":5.25},
+ {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":2.75, "y":5.25},
+ {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":6.25, "y":5.25},
+ {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":10, "y":5.25, "w":1.25},
+ {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
+ {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":14.75, "y":5.25},
+ {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
+ {"label":"Left", "x":17.5, "y":5.25},
+ {"label":"Down", "x":18.5, "y":5.25},
+ {"label":"Right", "x":19.5, "y":5.25}
+ ]
+ },
+ "LAYOUT_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":10, "y":0},
+ {"label":"F8", "x":11, "y":0},
+ {"label":"F9", "x":12.5, "y":0},
+ {"label":"F10", "x":13.5, "y":0},
+ {"label":"F11", "x":14.5, "y":0},
+ {"label":"F12", "x":15.5, "y":0},
+ {"label":"Prt Sc", "x":17.5, "y":0},
+ {"label":"Scr Lk", "x":18.5, "y":0},
+ {"label":"Pause", "x":19.5, "y":0},
+
+ {"label":"F13", "x":0, "y":1.25},
+ {"label":"~", "x":1.5, "y":1.25},
+ {"label":"!", "x":2.5, "y":1.25},
+ {"label":"@", "x":3.5, "y":1.25},
+ {"label":"#", "x":4.5, "y":1.25},
+ {"label":"$", "x":5.5, "y":1.25},
+ {"label":"%", "x":6.5, "y":1.25},
+ {"label":"^", "x":7.5, "y":1.25},
+
+ {"label":"&", "x":10, "y":1.25},
+ {"label":"*", "x":11, "y":1.25},
+ {"label":"(", "x":12, "y":1.25},
+ {"label":")", "x":13, "y":1.25},
+ {"label":"_", "x":14, "y":1.25},
+ {"label":"+", "x":15, "y":1.25},
+ {"label":"Del", "x":16, "y":1.25},
+ {"label":"Bksp", "x":17, "y":1.25},
+ {"label":"Ins", "x":18.5, "y":1.25},
+ {"label":"Pg Up", "x":19.5, "y":1.25},
+
+ {"label":"F14", "x":0, "y":2.25},
+ {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
+ {"label":"Q", "x":3, "y":2.25},
+ {"label":"W", "x":4, "y":2.25},
+ {"label":"E", "x":5, "y":2.25},
+ {"label":"R", "x":6, "y":2.25},
+ {"label":"T", "x":7, "y":2.25},
+
+ {"label":"Y", "x":9.5, "y":2.25},
+ {"label":"U", "x":10.5, "y":2.25},
+ {"label":"I", "x":11.5, "y":2.25},
+ {"label":"O", "x":12.5, "y":2.25},
+ {"label":"P", "x":13.5, "y":2.25},
+ {"label":"{", "x":14.5, "y":2.25},
+ {"label":"}", "x":15.5, "y":2.25},
+ {"label":"Del", "x":18.5, "y":2.25},
+ {"label":"Pg Dn", "x":19.5, "y":2.25},
+
+ {"label":"F15", "x":0, "y":3.25},
+ {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
+ {"label":"A", "x":3.25, "y":3.25},
+ {"label":"S", "x":4.25, "y":3.25},
+ {"label":"D", "x":5.25, "y":3.25},
+ {"label":"F", "x":6.25, "y":3.25},
+ {"label":"G", "x":7.25, "y":3.25},
+
+ {"label":"H", "x":9.75, "y":3.25},
+ {"label":"J", "x":10.75, "y":3.25},
+ {"label":"K", "x":11.75, "y":3.25},
+ {"label":"L", "x":12.75, "y":3.25},
+ {"label":":", "x":13.75, "y":3.25},
+ {"label":"\"", "x":14.75, "y":3.25},
+ {"label":"#", "x":15.75, "y":3.25},
+ {"label":"Enter", "x":16.75, "y":2.25, "w":1.25, "h":2},
+ {"label":"Home", "x":18.5, "y":3.25},
+ {"label":"End", "x":19.5, "y":3.25},
+
+ {"label":"F16", "x":0, "y":4.25},
+ {"label":"Shift", "x":1.5, "y":4.25, "w":1.25},
+ {"label":"\\", "x":2.75, "y":4.25},
+ {"label":"Z", "x":3.75, "y":4.25},
+ {"label":"X", "x":4.75, "y":4.25},
+ {"label":"C", "x":5.75, "y":4.25},
+ {"label":"V", "x":6.75, "y":4.25},
+ {"label":"B", "x":7.75, "y":4.25},
+ {"label":"N", "x":10.25, "y":4.25},
+ {"label":"M", "x":11.25, "y":4.25},
+ {"label":"<", "x":12.25, "y":4.25},
+ {"label":">", "x":13.25, "y":4.25},
+ {"label":"?", "x":14.25, "y":4.25},
+ {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
+ {"label":"Up", "x":18.5, "y":4.25},
+
+ {"label":"F17", "x":0, "y":5.25},
+ {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":2.75, "y":5.25},
+ {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":6.25, "y":5.25},
+ {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":10, "y":5.25, "w":1.25},
+ {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
+ {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":14.75, "y":5.25},
+ {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
+ {"label":"Left", "x":17.5, "y":5.25},
+ {"label":"Down", "x":18.5, "y":5.25},
+ {"label":"Right", "x":19.5, "y":5.25}
+ ]
+ },
+ "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":10, "y":0},
+ {"label":"F8", "x":11, "y":0},
+ {"label":"F9", "x":12.5, "y":0},
+ {"label":"F10", "x":13.5, "y":0},
+ {"label":"F11", "x":14.5, "y":0},
+ {"label":"F12", "x":15.5, "y":0},
+ {"label":"Prt Sc", "x":17.5, "y":0},
+ {"label":"Scr Lk", "x":18.5, "y":0},
+ {"label":"Pause", "x":19.5, "y":0},
+
+ {"label":"F13", "x":0, "y":1.25},
+ {"label":"~", "x":1.5, "y":1.25},
+ {"label":"!", "x":2.5, "y":1.25},
+ {"label":"@", "x":3.5, "y":1.25},
+ {"label":"#", "x":4.5, "y":1.25},
+ {"label":"$", "x":5.5, "y":1.25},
+ {"label":"%", "x":6.5, "y":1.25},
+ {"label":"^", "x":7.5, "y":1.25},
+
+ {"label":"&", "x":10, "y":1.25},
+ {"label":"*", "x":11, "y":1.25},
+ {"label":"(", "x":12, "y":1.25},
+ {"label":")", "x":13, "y":1.25},
+ {"label":"_", "x":14, "y":1.25},
+ {"label":"+", "x":15, "y":1.25},
+ {"label":"Del", "x":16, "y":1.25},
+ {"label":"Bksp", "x":17, "y":1.25},
+ {"label":"Ins", "x":18.5, "y":1.25},
+ {"label":"Pg Up", "x":19.5, "y":1.25},
+
+ {"label":"F14", "x":0, "y":2.25},
+ {"label":"Tab", "x":1.5, "y":2.25, "w":1.5},
+ {"label":"Q", "x":3, "y":2.25},
+ {"label":"W", "x":4, "y":2.25},
+ {"label":"E", "x":5, "y":2.25},
+ {"label":"R", "x":6, "y":2.25},
+ {"label":"T", "x":7, "y":2.25},
+
+ {"label":"Y", "x":9.5, "y":2.25},
+ {"label":"U", "x":10.5, "y":2.25},
+ {"label":"I", "x":11.5, "y":2.25},
+ {"label":"O", "x":12.5, "y":2.25},
+ {"label":"P", "x":13.5, "y":2.25},
+ {"label":"{", "x":14.5, "y":2.25},
+ {"label":"}", "x":15.5, "y":2.25},
+ {"label":"|", "x":16.5, "y":2.25, "w":1.5},
+ {"label":"Del", "x":18.5, "y":2.25},
+ {"label":"Pg Dn", "x":19.5, "y":2.25},
+
+ {"label":"F15", "x":0, "y":3.25},
+ {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75},
+ {"label":"A", "x":3.25, "y":3.25},
+ {"label":"S", "x":4.25, "y":3.25},
+ {"label":"D", "x":5.25, "y":3.25},
+ {"label":"F", "x":6.25, "y":3.25},
+ {"label":"G", "x":7.25, "y":3.25},
+
+ {"label":"H", "x":9.75, "y":3.25},
+ {"label":"J", "x":10.75, "y":3.25},
+ {"label":"K", "x":11.75, "y":3.25},
+ {"label":"L", "x":12.75, "y":3.25},
+ {"label":":", "x":13.75, "y":3.25},
+ {"label":"\"", "x":14.75, "y":3.25},
+ {"label":"#", "x":15.75, "y":3.25},
+ {"label":"Enter", "x":16.75, "y":3.25, "w":1.25},
+ {"label":"Home", "x":18.5, "y":3.25},
+ {"label":"End", "x":19.5, "y":3.25},
+
+ {"label":"F16", "x":0, "y":4.25},
+ {"label":"Shift", "x":1.5, "y":4.25, "w":1.25},
+ {"label":"\\", "x":2.75, "y":4.25},
+ {"label":"Z", "x":3.75, "y":4.25},
+ {"label":"X", "x":4.75, "y":4.25},
+ {"label":"C", "x":5.75, "y":4.25},
+ {"label":"V", "x":6.75, "y":4.25},
+ {"label":"B", "x":7.75, "y":4.25},
+ {"label":"N", "x":10.25, "y":4.25},
+ {"label":"M", "x":11.25, "y":4.25},
+ {"label":"<", "x":12.25, "y":4.25},
+ {"label":">", "x":13.25, "y":4.25},
+ {"label":"?", "x":14.25, "y":4.25},
+ {"label":"Shift", "x":15.25, "y":4.25, "w":1.75},
+ {"label":"Up", "x":18.5, "y":4.25},
+
+ {"label":"F17", "x":0, "y":5.25},
+ {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":2.75, "y":5.25},
+ {"label":"Alt", "x":3.75, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":5, "y":5.25, "w":1.25},
+ {"label":"Space", "x":6.25, "y":5.25},
+ {"label":"Fn", "x":7.25, "y":5.25, "w":1.25},
+ {"label":"Fn", "x":10, "y":5.25, "w":1.25},
+ {"label":"Space", "x":11.25, "y":5.25, "w":2.25},
+ {"label":"Alt", "x":13.5, "y":5.25, "w":1.25},
+ {"label":"Win", "x":14.75, "y":5.25},
+ {"label":"Ctrl", "x":15.75, "y":5.25, "w":1.25},
+ {"label":"Left", "x":17.5, "y":5.25},
+ {"label":"Down", "x":18.5, "y":5.25},
+ {"label":"Right", "x":19.5, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/laplace/config.h b/keyboards/keebio/laplace/config.h
index 9948067668..1c7c9e4432 100644
--- a/keyboards/keebio/laplace/config.h
+++ b/keyboards/keebio/laplace/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1147
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Laplace
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
diff --git a/keyboards/keebio/laplace/info.json b/keyboards/keebio/laplace/info.json
index c4df4c3a9d..364bc08c0b 100644
--- a/keyboards/keebio/laplace/info.json
+++ b/keyboards/keebio/laplace/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Laplace",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1147",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/levinson/info.json b/keyboards/keebio/levinson/info.json
index 1d98ca9f4e..7a21ac0efa 100644
--- a/keyboards/keebio/levinson/info.json
+++ b/keyboards/keebio/levinson/info.json
@@ -1,7 +1,11 @@
{
"keyboard_name": "Levinson",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT": {
"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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/keebio/levinson/keymaps/atreus/keymap.c b/keyboards/keebio/levinson/keymaps/atreus/keymap.c
index 1eb12669ac..fc8d45b21a 100644
--- a/keyboards/keebio/levinson/keymaps/atreus/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/atreus/keymap.c
@@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT_ortho_4x12( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_NO, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_NO, KC_NO, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
- KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS )
};
diff --git a/keyboards/keebio/levinson/keymaps/dcompact/keymap.c b/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
index a0556c09b4..74b554ba34 100644
--- a/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/dcompact/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, RGB_TOG, RGB_MOD, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_VAD, RGB_VAI, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/keebio/levinson/keymaps/default/keymap.c b/keyboards/keebio/levinson/keymaps/default/keymap.c
index ed4c7243d1..72da4addc3 100644
--- a/keyboards/keebio/levinson/keymaps/default/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/default/keymap.c
@@ -5,12 +5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
index d9edfebaa0..1c71a5aa2b 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
@@ -30,7 +30,7 @@ _______ , ___________________BLANK___________________, _______ , _______ , KC_ES
// Run `./qmk show levinson` from parent dir to see this layer.
[_NUMP] = LAYOUT_ortho_4x12_wrapper(
-_______ , _________________NUMP_L1___________________ , _________________NUMP_R1___________________ , RESET ,
+_______ , _________________NUMP_L1___________________ , _________________NUMP_R1___________________ , QK_BOOT,
_______ , _________________NUMP_L2___________________ , _________________NUMP_R2___________________ , _______ ,
_______ , _________________NUMP_L3___________________ , _________________NUMP_R3___________________ , _______ ,
_______ , ___________________BLANK___________________ , _______ , _______ , _______ , _______ , TO(_OVERWATCH) , _______
@@ -91,7 +91,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef RGBLIGHT_ENABLE
layer_state_set_rgb(state);
#endif
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
combo_enable(); // by default, enable combos.
switch (layer) {
case 0:
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
index de3a5342c0..3695731353 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c
@@ -45,7 +45,7 @@ void matrix_scan_rgb(void) {
}
void set_rgb_indicators(uint8_t this_mod, uint8_t this_osm) {
- if (biton32(layer_state) == _QWERTY) {
+ if (get_highest_layer(layer_state) == _QWERTY) {
if ((this_mod | this_osm) & MOD_MASK_SHIFT) {
rgblight_setrgb_gold_at(SHFT_LED1);
} else {
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
index 254d3cbac0..8b14d8571d 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h
@@ -6,7 +6,7 @@
void keyboard_post_init_rgb(void);
// If rgb enabled, set underglow for layer
-uint32_t layer_state_set_rgb(uint32_t state);
+layer_state_t layer_state_set_rgb(layer_state_t state);
// Enhance matrix scan code. Note: keep this light, since it runs every 100ms
void matrix_scan_rgb(void);
diff --git a/keyboards/keebio/levinson/keymaps/jyh/keymap.c b/keyboards/keebio/levinson/keymaps/jyh/keymap.c
index 310356cd68..452bda619c 100644
--- a/keyboards/keebio/levinson/keymaps/jyh/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/jyh/keymap.c
@@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_ortho_4x12(
- RESET , XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL ,
+ QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL ,
_______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/levinson/keymaps/jyh2/keymap.c b/keyboards/keebio/levinson/keymaps/jyh2/keymap.c
index 4b7442928e..b82ad24602 100644
--- a/keyboards/keebio/levinson/keymaps/jyh2/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/jyh2/keymap.c
@@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- RESET , XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DREC_1 , DREC_2 , RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
+ QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DREC_1 , DREC_2 , RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, MKITPNK, DPLAY_1, DPLAY_2, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DSTOP , DSTOP , RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c b/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
index 4fc77fb830..3833b6a223 100644
--- a/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_AD] = LAYOUT_ortho_4x12(
- RESET , XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DM_REC1, DM_REC2, RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
+ QK_BOOT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DM_REC1, DM_REC2, RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, MKITPNK, DM_PLY1, DM_PLY2, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_RSTP, DM_RSTP, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/levinson/keymaps/losinggeneration/keymap.c b/keyboards/keebio/levinson/keymaps/losinggeneration/keymap.c
index aea6aed78c..0ea5e733f5 100644
--- a/keyboards/keebio/levinson/keymaps/losinggeneration/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/losinggeneration/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------..-----------------------------------------.
- * | | F1 | F2 | F3 | F4 |BL Off|| RESET| Game |Numpad|Mouse | |Sleep |
+ * | | F1 | F2 | F3 | F4 |BL Off|| QK_BOOT| Game |Numpad|Mouse | |Sleep |
* |------+------+------+------+------+------||------+------+------+------+------+------|
* | | F5 | F6 | F7 | F8 |BL Tg ||Aud on|Qwerty|Colmak|Workmn|Dvorak| |
* |------+------+------+------+------+------||------+------+------+------+------+------|
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------''-----------------------------------------'
*/
[_ADJUST] = CATMAP( \
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , BL_OFF , RESET , TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , BL_OFF , QK_BOOT, TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , BL_TOGG, AU_ON , QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \
KC_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , BL_ON , AU_OFF , _______, _______, _______, KC_UP , _______, \
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT \
diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c b/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c
index 76d9c72998..3edaa6fed0 100644
--- a/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/mmacdougall/keymap.c
@@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
BL_STEP, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/keebio/levinson/keymaps/numpad/keymap.c b/keyboards/keebio/levinson/keymaps/numpad/keymap.c
index da11ac35fe..ad7442a7c8 100644
--- a/keyboards/keebio/levinson/keymaps/numpad/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/numpad/keymap.c
@@ -55,14 +55,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|
* | Right| M(3) | M(6) | M(9) | | |
* |------+------+------+------+------+------|
- * | NumLock | RESET| | | Calc |
+ * | NumLock | QK_BOOT| | | Calc |
* `-----------------------------------------'
*/
[1] = LAYOUT_ortho_4x12(
M0, M1, M4, M7, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LEFT, M2, M5, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_RIGHT, M3, M6, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NUMLOCK, RESET, KC_NO, KC_NO, KC_CALC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ KC_NUMLOCK, QK_BOOT, KC_NO, KC_NO, KC_CALC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
)
};
diff --git a/keyboards/keebio/levinson/keymaps/treadwell/keymap.c b/keyboards/keebio/levinson/keymaps/treadwell/keymap.c
index 55ac74e9d8..f94239af7b 100644
--- a/keyboards/keebio/levinson/keymaps/treadwell/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/treadwell/keymap.c
@@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, GAME , _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
index 16aa965d7d..84e37ce5ef 100644
--- a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC, \
KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN, \
- RESET, TO(_QWERTY), _______, _______, _______, _______, _______, MO(_RAISE), _______, _______, TO(_QWERTY), X_____X \
+ QK_BOOT, TO(_QWERTY), _______, _______, _______, _______, _______, MO(_RAISE), _______, _______, TO(_QWERTY), X_____X \
),
/* Raise
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, 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, \
_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN, \
- X_____X, TO(_QWERTY), _______, _______, MO(_LOWER), _______, _______, _______, _______, _______, TO(_QWERTY), RESET \
+ X_____X, TO(_QWERTY), _______, _______, MO(_LOWER), _______, _______, _______, _______, _______, TO(_QWERTY), QK_BOOT \
),
@@ -182,7 +182,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb
void set_state_leds(void) {
if (rgblight_get_mode() == 1) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _RAISE:
rgbflag(C_BLU, C_GRN);
break;
diff --git a/keyboards/keebio/levinson/rev1/config.h b/keyboards/keebio/levinson/rev1/config.h
index 2b10dcec0c..59781590d7 100644
--- a/keyboards/keebio/levinson/rev1/config.h
+++ b/keyboards/keebio/levinson/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1146
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Levinson
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev1/info.json b/keyboards/keebio/levinson/rev1/info.json
new file mode 100644
index 0000000000..cd51368b09
--- /dev/null
+++ b/keyboards/keebio/levinson/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Levinson Rev. 1",
+ "usb": {
+ "pid": "0x1146",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/levinson/rev2/config.h b/keyboards/keebio/levinson/rev2/config.h
index c993861b82..01c901c234 100644
--- a/keyboards/keebio/levinson/rev2/config.h
+++ b/keyboards/keebio/levinson/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2146
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT Levinson
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev2/info.json b/keyboards/keebio/levinson/rev2/info.json
new file mode 100644
index 0000000000..ec18ce1898
--- /dev/null
+++ b/keyboards/keebio/levinson/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Levinson Rev. 2",
+ "usb": {
+ "pid": "0x2146",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h
index 60e6c150f5..a5144ec9fb 100644
--- a/keyboards/keebio/levinson/rev3/config.h
+++ b/keyboards/keebio/levinson/rev3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x3146
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Keebio
-#define PRODUCT Levinson
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/keebio/levinson/rev3/info.json b/keyboards/keebio/levinson/rev3/info.json
new file mode 100644
index 0000000000..c814ce24e3
--- /dev/null
+++ b/keyboards/keebio/levinson/rev3/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Levinson Rev. 3",
+ "usb": {
+ "pid": "0x3146",
+ "device_version": "3.0.0"
+ }
+}
diff --git a/keyboards/keebio/nyquist/info.json b/keyboards/keebio/nyquist/info.json
index 43561a553f..449c779b69 100644
--- a/keyboards/keebio/nyquist/info.json
+++ b/keyboards/keebio/nyquist/info.json
@@ -1,6 +1,9 @@
{
- "keyboard_name": "Nyquist",
+ "manufacturer": "Keebio",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT": {
"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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "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":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}]
diff --git a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c
index 605e9f1004..8e8743766b 100644
--- a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c
@@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------. ,----------------------------------------.
- * | | | | | |RESET | | | | | | | |
+ * | | | | | |QK_BOOT | | | | | | | |
* |------+------+------+------+------+------| |-----+------+------+------+------+------|
* | | | | | | | | |TermOn|TermOf| | | Del |
* |------+------+------+------+------+------| |-----+------+------+------+------+------|
@@ -219,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
index c671b7798c..108f910400 100644
--- a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_EMOJI] = LAYOUT( \
- TO(0) , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , /**/ RESET , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , \
+ TO(0) , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , /**/ QK_BOOT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , \
_______ , X(CLAP) , X(CUM) , X(BNIS) , X(BUTT) , X(CAR) , /**/ X(FIRE) , X(REDB) , X(MONY) , X(HNDR) , X(SOS) , _______ , \
XXXXXXX , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , /**/ X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , KC_DEL , \
_______ , X(TRIU) , X(SCRM) , X(VOMI) , X(DTIV) , X(EXPL) , /**/ X(HAIR) , X(DANC) , X(STRN) , X(LEFT) , X(RGHT) , _______ , \
diff --git a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h
index 09abbccb72..398b285b89 100644
--- a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h
+++ b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h
@@ -14,13 +14,11 @@ GNU General Public License for more details.
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 TAPPING_TERM 150
#define USE_SERIAL
#define EE_HANDS
-#define BOOTMAGIC_KEY_SALT KC_ENT
-
#ifdef SUBPROJECT_rev1
#include "../../rev1/config.h"
diff --git a/keyboards/keebio/nyquist/keymaps/default/keymap.c b/keyboards/keebio/nyquist/keymaps/default/keymap.c
index 03de74a80d..a06cde9555 100644
--- a/keyboards/keebio/nyquist/keymaps/default/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/default/keymap.c
@@ -5,12 +5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c b/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c
index a0d8c46475..537d5cf2e4 100644
--- a/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/jojiichan/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_O, KC_7, KC_8, KC_9, KC_PLUS,
KC_TRNS, KC_A, KC_S, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_PLUS,
KC_LSFT, KC_TRNS, KC_X, KC_C, KC_TRNS, KC_TRNS, KC_N, KC_TRNS, KC_1, KC_2, KC_3, KC_ENT,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_0, KC_0, KC_DOT, KC_ENT)
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_0, KC_0, KC_DOT, KC_ENT)
};
diff --git a/keyboards/keebio/nyquist/keymaps/losinggeneration/keymap.c b/keyboards/keebio/nyquist/keymaps/losinggeneration/keymap.c
index 3e2c6edb70..852b856c6a 100644
--- a/keyboards/keebio/nyquist/keymaps/losinggeneration/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/losinggeneration/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------..-----------------------------------------.
- * | RESET|DEBUG | | | | || | | | | | |
+ * | QK_BOOT|DEBUG | | | | || | | | | | |
* |------+------+------+------+------+------||------+------+------+------+------+------|
* | | F1 | F2 | F3 | F4 | || | Game |Numpad| Mouse| |Sleep |
* |------+------+------+------+------+------||------+------+------+------+------+------|
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------''-----------------------------------------'
*/
[_ADJUST] = CATMAP( \
- RESET , DEBUG , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT , DEBUG , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \
KC_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, KC_UP , _______, \
diff --git a/keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c b/keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c
index cff2e400c1..221e45a199 100644
--- a/keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LEFTHAND] = LAYOUT(
- KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_BSLS,
+ KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_BSLS,
KC_TRNS, KC_TRNS, KC_LBRC, KC_UP, KC_RBRC, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, KC_RBRC,
KC_LCTL, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_ENT,
KC_LSFT, KC_CALC, KC_MYCM, KC_PSCR, KC_ENT, KC_BSPC, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_PGUP, KC_HOME,
@@ -99,6 +99,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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, RESET
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
),
}; \ No newline at end of file
diff --git a/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c b/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c
index 1aa9fffdb3..f8b3b5240d 100644
--- a/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/pipicanim/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
),
[3] = LAYOUT_ortho_4x12(
- RGB_TOG,RGB_MOD,RGB_RMOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RESET,
+ RGB_TOG,RGB_MOD,RGB_RMOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,QK_BOOT,
RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MPLY,KC_MNXT,KC_TRNS,KC_TRNS,
RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD,KC_TRNS,KC_TRNS,KC_TRNS,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
diff --git a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
index 31912bb63e..2016cd1c46 100644
--- a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
@@ -143,7 +143,7 @@ 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) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _LOWER:
rgblight_set_purple;
rgblight_mode(5);
diff --git a/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c b/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c
index 44a30063b8..96cf700bb8 100644
--- a/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, _______, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT
diff --git a/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c b/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
index 87e44ff043..47510a22db 100644
--- a/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT( \
QWERTY, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, KC_7, KC_8, KC_9, _______, KC_DEL, \
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, KC_7, KC_8, KC_9, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_6, KC_5, KC_4, _______, _______, \
_______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, _______, _______, \
_______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_0, KC_DOT, _______, _______, _______ \
diff --git a/keyboards/keebio/nyquist/keymaps/skug/keymap.c b/keyboards/keebio/nyquist/keymaps/skug/keymap.c
index f9f66892a3..70ad4b2a8a 100644
--- a/keyboards/keebio/nyquist/keymaps/skug/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/skug/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/keebio/nyquist/keymaps/tester/keymap.c b/keyboards/keebio/nyquist/keymaps/tester/keymap.c
index ae692782fa..6109661ffd 100644
--- a/keyboards/keebio/nyquist/keymaps/tester/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/tester/keymap.c
@@ -144,7 +144,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, KC_F11, KC_F12,
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL,
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/nyquist/keymaps/winternebs/keymap.c b/keyboards/keebio/nyquist/keymaps/winternebs/keymap.c
index bb1ab6ca4d..b673a5f25f 100755
--- a/keyboards/keebio/nyquist/keymaps/winternebs/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/winternebs/keymap.c
@@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
- RESET, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, _______, _______, _______, _______, KC_WH_L, KC_WH_R, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, _______, _______, _______, _______, KC_WH_L, KC_WH_R, _______,
RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, AG_NORM, AG_SWAP, KC_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______,
_______, _______, _______, QWERTY, WORKMAN, _______, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, KC_MPLY,
diff --git a/keyboards/keebio/nyquist/keymaps/yshrsmz/keymap.c b/keyboards/keebio/nyquist/keymaps/yshrsmz/keymap.c
index d4c2d4ba23..77eb7fd16b 100644
--- a/keyboards/keebio/nyquist/keymaps/yshrsmz/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/yshrsmz/keymap.c
@@ -121,7 +121,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, KC_F11, KC_F12, \
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, \
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/keebio/nyquist/rev1/config.h b/keyboards/keebio/nyquist/rev1/config.h
index 47622ba1e9..02d5a0510e 100644
--- a/keyboards/keebio/nyquist/rev1/config.h
+++ b/keyboards/keebio/nyquist/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1156
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT The Nyquist Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev1/info.json b/keyboards/keebio/nyquist/rev1/info.json
new file mode 100644
index 0000000000..76affd233c
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Nyquist Rev. 1",
+ "usb": {
+ "pid": "0x1156",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/nyquist/rev2/config.h b/keyboards/keebio/nyquist/rev2/config.h
index e47110b8a5..82f4778992 100644
--- a/keyboards/keebio/nyquist/rev2/config.h
+++ b/keyboards/keebio/nyquist/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2156
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT The Nyquist Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev2/info.json b/keyboards/keebio/nyquist/rev2/info.json
new file mode 100644
index 0000000000..579fa5acb2
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Nyquist Rev. 2",
+ "usb": {
+ "pid": "0x2156",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h
index 3536f5c629..8d70316b55 100644
--- a/keyboards/keebio/nyquist/rev3/config.h
+++ b/keyboards/keebio/nyquist/rev3/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x3156
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Keebio
-#define PRODUCT The Nyquist Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/nyquist/rev3/info.json b/keyboards/keebio/nyquist/rev3/info.json
new file mode 100644
index 0000000000..1de3fe17c5
--- /dev/null
+++ b/keyboards/keebio/nyquist/rev3/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Nyquist Rev. 3",
+ "usb": {
+ "pid": "0x3156",
+ "device_version": "3.0.0"
+ }
+}
diff --git a/keyboards/keebio/quefrency/keymaps/bcat/keymap.c b/keyboards/keebio/quefrency/keymaps/bcat/keymap.c
index 3dd48623fa..cfa70f4cff 100644
--- a/keyboards/keebio/quefrency/keymaps/bcat/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/bcat/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Function layer: http://www.keyboard-layout-editor.com/#/gists/59636898946da51f91fb290f8e078b4d */
[LAYER_FUNCTION_1] = LAYOUT_65(
_______, 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, RGB_HUI,
- KC_CAPS, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, RESET, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RGB_SAI,
+ KC_CAPS, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RGB_SAI,
_______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAD,
_______, KC_APP, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
diff --git a/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c b/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c
index e47cba88c0..bafbbe8cb1 100644
--- a/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
-#define KC_RST RESET
+#define KC_RST QK_BOOT
// 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.
diff --git a/keyboards/keebio/quefrency/keymaps/default/config.h b/keyboards/keebio/quefrency/keymaps/default/config.h
index f9efe78c5b..53bf8fb933 100644
--- a/keyboards/keebio/quefrency/keymaps/default/config.h
+++ b/keyboards/keebio/quefrency/keymaps/default/config.h
@@ -21,7 +21,4 @@ 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
diff --git a/keyboards/keebio/quefrency/keymaps/default/keymap.c b/keyboards/keebio/quefrency/keymaps/default/keymap.c
index 008cf5128d..a152c304a7 100644
--- a/keyboards/keebio/quefrency/keymaps/default/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/default/keymap.c
@@ -1,31 +1,53 @@
-#include QMK_KEYBOARD_H
+// Copyright 2022 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
+enum custom_layer {
+ _BASE,
+ _FN1,
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = 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_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ [_BASE] = LAYOUT_65_with_macro(
+ KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_HOME,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN1] = LAYOUT(
- KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
- RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ [_FN1] = LAYOUT_65_with_macro(
+ _______, _______, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
+ _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ return false;
+}
diff --git a/keyboards/keebio/quefrency/keymaps/default60/config.h b/keyboards/keebio/quefrency/keymaps/default60/config.h
new file mode 100644
index 0000000000..f9efe78c5b
--- /dev/null
+++ b/keyboards/keebio/quefrency/keymaps/default60/config.h
@@ -0,0 +1,27 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+Copyright 2018 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
diff --git a/keyboards/keebio/quefrency/keymaps/default60/keymap.c b/keyboards/keebio/quefrency/keymaps/default60/keymap.c
new file mode 100644
index 0000000000..f987d9aa4d
--- /dev/null
+++ b/keyboards/keebio/quefrency/keymaps/default60/keymap.c
@@ -0,0 +1,35 @@
+// Copyright 2022 Danny Nguyen (@nooges)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum custom_layer {
+ _BASE,
+ _FN1,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_60(
+ 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_DEL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_60(
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
+ RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/keebio/quefrency/keymaps/default65macro/config.h b/keyboards/keebio/quefrency/keymaps/default65macro/config.h
deleted file mode 100644
index 53bf8fb933..0000000000
--- a/keyboards/keebio/quefrency/keymaps/default65macro/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// #define USE_I2C
diff --git a/keyboards/keebio/quefrency/keymaps/default65macro/keymap.c b/keyboards/keebio/quefrency/keymaps/default65macro/keymap.c
deleted file mode 100644
index f452232b2d..0000000000
--- a/keyboards/keebio/quefrency/keymaps/default65macro/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65_with_macro(
- KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_HOME,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65_with_macro(
- _______, _______, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
- _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return false;
-}
diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c b/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c
index 445709bc3d..f679130130 100644
--- a/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_65_with_macro(
- _______, _______, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, RESET, \
+ _______, _______, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, QK_BOOT, \
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
index a367e877fe..7d6f9da30e 100644
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
@@ -64,7 +64,7 @@ void keyboard_post_init_user(void) {
}
void update_led(void) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _BASE:
rgblight_sethsv_noeeprom(HSV_BLUE);
break;
diff --git a/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c b/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c
index 7bdc115ab9..72197c0956 100644
--- a/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/kingwangwong/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/keebio/quefrency/keymaps/peott-fr/keymap.c b/keyboards/keebio/quefrency/keymaps/peott-fr/keymap.c
index 98f17f1870..6708d7a0ee 100644
--- a/keyboards/keebio/quefrency/keymaps/peott-fr/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/peott-fr/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
[_NUM] = LAYOUT_60_with_macro(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, 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_PCMM, 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_PEQL, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/keebio/quefrency/keymaps/via/keymap.c b/keyboards/keebio/quefrency/keymaps/via/keymap.c
index 5ac83ef57c..ad6cfd84eb 100644
--- a/keyboards/keebio/quefrency/keymaps/via/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/via/keymap.c
@@ -33,3 +33,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+};
+#endif
diff --git a/keyboards/keebio/quefrency/keymaps/via/rules.mk b/keyboards/keebio/quefrency/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/keebio/quefrency/keymaps/via/rules.mk
+++ b/keyboards/keebio/quefrency/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/quefrency/quefrency.h b/keyboards/keebio/quefrency/quefrency.h
index 2c77dc2ad3..d9a14c439c 100644
--- a/keyboards/keebio/quefrency/quefrency.h
+++ b/keyboards/keebio/quefrency/quefrency.h
@@ -14,3 +14,6 @@
#ifdef KEYBOARD_keebio_quefrency_rev4
#include "rev4.h"
#endif
+#ifdef KEYBOARD_keebio_quefrency_rev5
+ #include "rev5.h"
+#endif
diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h
index c3ddd8b1a3..872ca73ece 100644
--- a/keyboards/keebio/quefrency/rev1/config.h
+++ b/keyboards/keebio/quefrency/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1257
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Quefrency Rev. 1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/keebio/quefrency/rev1/info.json b/keyboards/keebio/quefrency/rev1/info.json
index 1e50e2e698..4483234499 100644
--- a/keyboards/keebio/quefrency/rev1/info.json
+++ b/keyboards/keebio/quefrency/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quefrency rev1",
+ "keyboard_name": "Quefrency Rev. 1",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1257",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h
index 1fb6896775..30044f174f 100644
--- a/keyboards/keebio/quefrency/rev2/config.h
+++ b/keyboards/keebio/quefrency/rev2/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2257
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT Quefrency Rev. 2
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -53,10 +46,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
-#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
diff --git a/keyboards/keebio/quefrency/rev2/info.json b/keyboards/keebio/quefrency/rev2/info.json
index 120add8eaa..e68f0ce892 100644
--- a/keyboards/keebio/quefrency/rev2/info.json
+++ b/keyboards/keebio/quefrency/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quefrency rev2",
+ "keyboard_name": "Quefrency Rev. 2",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x2257",
+ "device_version": "2.0.0"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
},
diff --git a/keyboards/keebio/quefrency/rev2/rev2.c b/keyboards/keebio/quefrency/rev2/rev2.c
index 590c9850c2..d2badbeb25 100644
--- a/keyboards/keebio/quefrency/rev2/rev2.c
+++ b/keyboards/keebio/quefrency/rev2/rev2.c
@@ -31,6 +31,7 @@ void eeconfig_init_kb(void) {
eeconfig_init_user();
}
+#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -48,3 +49,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
+#endif
diff --git a/keyboards/keebio/quefrency/rev3/config.h b/keyboards/keebio/quefrency/rev3/config.h
index 2f1311e943..30044f174f 100644
--- a/keyboards/keebio/quefrency/rev3/config.h
+++ b/keyboards/keebio/quefrency/rev3/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x3257
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Keebio
-#define PRODUCT Quefrency Rev. 3
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -53,10 +46,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
-#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
diff --git a/keyboards/keebio/quefrency/rev3/info.json b/keyboards/keebio/quefrency/rev3/info.json
index 5f59c90e80..5baacbb4de 100644
--- a/keyboards/keebio/quefrency/rev3/info.json
+++ b/keyboards/keebio/quefrency/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quefrency rev3",
+ "keyboard_name": "Quefrency Rev. 3",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x3357",
+ "device_version": "3.1.0"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
},
diff --git a/keyboards/keebio/quefrency/rev3/rev3.c b/keyboards/keebio/quefrency/rev3/rev3.c
index 0f8f964d92..8911dbd018 100644
--- a/keyboards/keebio/quefrency/rev3/rev3.c
+++ b/keyboards/keebio/quefrency/rev3/rev3.c
@@ -47,6 +47,7 @@ void eeconfig_init_kb(void) {
eeconfig_init_user();
}
+#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -64,3 +65,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
+#endif
diff --git a/keyboards/keebio/quefrency/rev4/config.h b/keyboards/keebio/quefrency/rev4/config.h
index f92490c8ec..f047ffbdf0 100644
--- a/keyboards/keebio/quefrency/rev4/config.h
+++ b/keyboards/keebio/quefrency/rev4/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x4257
-#define DEVICE_VER 0x0400
-#define MANUFACTURER Keebio
-#define PRODUCT Quefrency Rev. 4
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -53,8 +46,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
-#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/keebio/quefrency/rev4/info.json b/keyboards/keebio/quefrency/rev4/info.json
index 3c2364ef15..8cc78205ea 100644
--- a/keyboards/keebio/quefrency/rev4/info.json
+++ b/keyboards/keebio/quefrency/rev4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Quefrency rev4",
+ "keyboard_name": "Quefrency Rev. 4",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x4357",
+ "device_version": "4.1.0"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
},
@@ -365,473 +371,6 @@
{ "label": "Down", "x": 17.25, "y": 4 },
{ "label": "Right", "x": 18.25, "y": 4 }
]
- },
- "LAYOUT_60_iso": {
- "layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "1", "x": 1, "y": 0 },
- { "label": "2", "x": 2, "y": 0 },
- { "label": "3", "x": 3, "y": 0 },
- { "label": "4", "x": 4, "y": 0 },
- { "label": "5", "x": 5, "y": 0 },
- { "label": "6", "x": 6, "y": 0 },
-
- { "label": "7", "x": 8, "y": 0 },
- { "label": "8", "x": 9, "y": 0 },
- { "label": "9", "x": 10, "y": 0 },
- { "label": "0", "x": 11, "y": 0 },
- { "label": "-", "x": 12, "y": 0 },
- { "label": "=", "x": 13, "y": 0 },
- { "label": "Del", "x": 14, "y": 0 },
- { "label": "Bksp", "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": 7.5, "y": 1 },
- { "label": "U", "x": 8.5, "y": 1 },
- { "label": "I", "x": 9.5, "y": 1 },
- { "label": "O", "x": 10.5, "y": 1 },
- { "label": "P", "x": 11.5, "y": 1 },
- { "label": "[", "x": 12.5, "y": 1 },
- { "label": "]", "x": 13.5, "y": 1 },
-
- { "label": "Caps Lock", "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": 7.75, "y": 2 },
- { "label": "J", "x": 8.75, "y": 2 },
- { "label": "K", "x": 9.75, "y": 2 },
- { "label": "L", "x": 10.75, "y": 2 },
- { "label": ";", "x": 11.75, "y": 2 },
- { "label": "'", "x": 12.75, "y": 2 },
- { "label": "NUHS", "x": 13.75, "y": 2 },
- { "label": "Enter", "x": 14.75, "y": 1, "w": 1.25, "h": 2 },
-
- { "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
- { "label": "NUBS", "x": 1.25, "y": 3 },
- { "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": 8.25, "y": 3 },
- { "label": "M", "x": 9.25, "y": 3 },
- { "label": ",", "x": 10.25, "y": 3 },
- { "label": ".", "x": 11.25, "y": 3 },
- { "label": "/", "x": 12.25, "y": 3 },
- { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 15, "y": 3 },
-
- { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
-
- { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
- { "label": "Alt", "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 }
- ]
- },
- "LAYOUT_65_iso": {
- "layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "1", "x": 1, "y": 0 },
- { "label": "2", "x": 2, "y": 0 },
- { "label": "3", "x": 3, "y": 0 },
- { "label": "4", "x": 4, "y": 0 },
- { "label": "5", "x": 5, "y": 0 },
- { "label": "6", "x": 6, "y": 0 },
-
- { "label": "7", "x": 8, "y": 0 },
- { "label": "8", "x": 9, "y": 0 },
- { "label": "9", "x": 10, "y": 0 },
- { "label": "0", "x": 11, "y": 0 },
- { "label": "-", "x": 12, "y": 0 },
- { "label": "=", "x": 13, "y": 0 },
- { "label": "Del", "x": 14, "y": 0 },
- { "label": "Bksp", "x": 15, "y": 0 },
- { "label": "Home", "x": 16, "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": 7.5, "y": 1 },
- { "label": "U", "x": 8.5, "y": 1 },
- { "label": "I", "x": 9.5, "y": 1 },
- { "label": "O", "x": 10.5, "y": 1 },
- { "label": "P", "x": 11.5, "y": 1 },
- { "label": "[", "x": 12.5, "y": 1 },
- { "label": "]", "x": 13.5, "y": 1 },
- { "label": "End", "x": 16, "y": 1 },
-
- { "label": "Caps Lock", "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": 7.75, "y": 2 },
- { "label": "J", "x": 8.75, "y": 2 },
- { "label": "K", "x": 9.75, "y": 2 },
- { "label": "L", "x": 10.75, "y": 2 },
- { "label": ";", "x": 11.75, "y": 2 },
- { "label": "'", "x": 12.75, "y": 2 },
- { "label": "NUHS", "x": 13.75, "y": 2 },
- { "label": "Enter", "x": 14.75, "y": 1, "w": 1.25, "h": 2 },
- { "label": "Page Up", "x": 16, "y": 2 },
-
- { "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
- { "label": "NUBS", "x": 1.25, "y": 3 },
- { "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": 8.25, "y": 3 },
- { "label": "M", "x": 9.25, "y": 3 },
- { "label": ",", "x": 10.25, "y": 3 },
- { "label": ".", "x": 11.25, "y": 3 },
- { "label": "/", "x": 12.25, "y": 3 },
- { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 15, "y": 3 },
- { "label": "Page Down", "x": 16, "y": 3 },
-
- { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
-
- { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 11, "y": 4 },
- { "label": "Ctrl", "x": 12, "y": 4 },
- { "label": "Win", "x": 13, "y": 4 },
- { "label": "Left", "x": 14, "y": 4 },
- { "label": "Down", "x": 15, "y": 4 },
- { "label": "Right", "x": 16, "y": 4 }
- ]
- },
- "LAYOUT_60_iso_with_macro": {
- "layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
-
- { "label": "Esc", "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": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
-
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "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": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
-
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "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": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "NUHS", "x": 16, "y": 2 },
- { "label": "Enter", "x": 17, "y": 1, "w": 1.25, "h": 2 },
-
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
-
- { "label": "Shift", "x": 2.25, "y": 3, "w": 1.25 },
- { "label": "NUBS", "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": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
-
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
-
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
-
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Left", "x": 15.25, "y": 4 },
- { "label": "Down", "x": 16.25, "y": 4 },
- { "label": "Right", "x": 17.25, "y": 4 }
- ]
- },
- "LAYOUT_65_iso_with_macro": {
- "layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
-
- { "label": "Esc", "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": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
- { "label": "Home", "x": 18.25, "y": 0 },
-
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "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": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
- { "label": "PgUp", "x": 18.25, "y": 1 },
-
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "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": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "NUHS", "x": 16, "y": 2 },
- { "label": "Enter", "x": 17, "y": 1, "w": 1.25, "h": 2 },
- { "label": "PgDn", "x": 18.25, "y": 2 },
-
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
-
- { "label": "Shift", "x": 2.25, "y": 3, "w": 1.25 },
- { "label": "NUBS", "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": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
- { "label": "End", "x": 18.25, "y": 3 },
-
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
-
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
-
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Win", "x": 15.25, "y": 4 },
- { "label": "Left", "x": 16.25, "y": 4 },
- { "label": "Down", "x": 17.25, "y": 4 },
- { "label": "Right", "x": 18.25, "y": 4 }
- ]
- },
- "LAYOUT_all": {
- "layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
-
- { "label": "Esc", "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": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
- { "label": "Home", "x": 18.25, "y": 0 },
-
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "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": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
- { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
- { "label": "PgUp", "x": 18.25, "y": 1 },
-
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "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": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "NUHS", "x": 16, "y": 2 },
- { "label": "Enter", "x": 17, "y": 2, "w": 1.25 },
- { "label": "PgDn", "x": 18.25, "y": 2 },
-
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
-
- { "label": "Shift", "x": 2.25, "y": 3, "w": 1.25 },
- { "label": "NUBS", "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": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
- { "label": "End", "x": 18.25, "y": 3 },
-
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
-
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4 },
- { "label": "Space", "x": 8.25, "y": 4, "w": 1.25 },
-
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Win", "x": 15.25, "y": 4 },
- { "label": "Left", "x": 16.25, "y": 4 },
- { "label": "Down", "x": 17.25, "y": 4 },
- { "label": "Right", "x": 18.25, "y": 4 }
- ]
}
}
}
diff --git a/keyboards/keebio/quefrency/rev4/rev4.c b/keyboards/keebio/quefrency/rev4/rev4.c
index 190135420f..66d73a934a 100644
--- a/keyboards/keebio/quefrency/rev4/rev4.c
+++ b/keyboards/keebio/quefrency/rev4/rev4.c
@@ -16,6 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quefrency.h"
+#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -33,3 +34,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
+#endif
diff --git a/keyboards/keebio/quefrency/rev4/rev4.h b/keyboards/keebio/quefrency/rev4/rev4.h
index 12f76d5c85..2284a6da43 100644
--- a/keyboards/keebio/quefrency/rev4/rev4.h
+++ b/keyboards/keebio/quefrency/rev4/rev4.h
@@ -99,86 +99,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}
-#define LAYOUT_60_iso( \
- LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
- LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
- LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
- LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
- LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
- ) \
- { \
- { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
- { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
- { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
- { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
- { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
- { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
- { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
- { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
- { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
- { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
- }
-
-#define LAYOUT_65_iso( \
- LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
- LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
- LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
- LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
- LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
- ) \
- { \
- { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
- { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
- { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
- { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
- { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
- { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
- { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
- { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
- { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
- { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
- }
-
-#define LAYOUT_60_iso_with_macro( \
- LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
- LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
- LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
- LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
- LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
- ) \
- { \
- { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
- { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
- { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
- { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
- { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
- { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
- { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
- { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
- { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
- { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
- }
-
-#define LAYOUT_65_iso_with_macro( \
- LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
- LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
- LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
- LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
- LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
- ) \
- { \
- { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
- { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
- { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
- { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
- { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
- { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
- { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
- { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
- { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
- { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
- }
-
#define LAYOUT_all( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
diff --git a/keyboards/keebio/quefrency/rev5/config.h b/keyboards/keebio/quefrency/rev5/config.h
new file mode 100644
index 0000000000..f047ffbdf0
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/config.h
@@ -0,0 +1,62 @@
+/* Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 9
+
+#define DIODE_DIRECTION COL2ROW
+// wiring of each half
+#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7 }
+#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 }
+#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7 }
+#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 }
+#define SPLIT_HAND_PIN F7
+#define ENCODERS_PAD_A { F5 }
+#define ENCODERS_PAD_B { F6 }
+#define ENCODERS_PAD_A_RIGHT { D6 }
+#define ENCODERS_PAD_B_RIGHT { D4 }
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* 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 E6
+#define RGBLED_NUM 16 // Number of LEDs
+#define RGBLED_SPLIT { 8, 8 }
+#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/keebio/quefrency/rev5/info.json b/keyboards/keebio/quefrency/rev5/info.json
new file mode 100644
index 0000000000..c7cc7b4bd2
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/info.json
@@ -0,0 +1,376 @@
+{
+ "keyboard_name": "Quefrency Rev. 5",
+ "manufacturer": "Keebio",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x5357",
+ "device_version": "5.1.0"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_60"
+ },
+ "layouts": {
+ "LAYOUT_60": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "1", "x": 1, "y": 0 },
+ { "label": "2", "x": 2, "y": 0 },
+ { "label": "3", "x": 3, "y": 0 },
+ { "label": "4", "x": 4, "y": 0 },
+ { "label": "5", "x": 5, "y": 0 },
+ { "label": "6", "x": 6, "y": 0 },
+
+ { "label": "7", "x": 8, "y": 0 },
+ { "label": "8", "x": 9, "y": 0 },
+ { "label": "9", "x": 10, "y": 0 },
+ { "label": "0", "x": 11, "y": 0 },
+ { "label": "-", "x": 12, "y": 0 },
+ { "label": "=", "x": 13, "y": 0 },
+ { "label": "Del", "x": 14, "y": 0 },
+ { "label": "Bksp", "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": 7.5, "y": 1 },
+ { "label": "U", "x": 8.5, "y": 1 },
+ { "label": "I", "x": 9.5, "y": 1 },
+ { "label": "O", "x": 10.5, "y": 1 },
+ { "label": "P", "x": 11.5, "y": 1 },
+ { "label": "[", "x": 12.5, "y": 1 },
+ { "label": "]", "x": 13.5, "y": 1 },
+ { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 },
+
+ { "label": "Caps Lock", "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": 7.75, "y": 2 },
+ { "label": "J", "x": 8.75, "y": 2 },
+ { "label": "K", "x": 9.75, "y": 2 },
+ { "label": "L", "x": 10.75, "y": 2 },
+ { "label": ";", "x": 11.75, "y": 2 },
+ { "label": "'", "x": 12.75, "y": 2 },
+ { "label": "Enter", "x": 13.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": 8.25, "y": 3 },
+ { "label": "M", "x": 9.25, "y": 3 },
+ { "label": ",", "x": 10.25, "y": 3 },
+ { "label": ".", "x": 11.25, "y": 3 },
+ { "label": "/", "x": 12.25, "y": 3 },
+ { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
+ { "label": "Up", "x": 15, "y": 3 },
+
+ { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
+ { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
+
+ { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
+ { "label": "Alt", "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 }
+ ]
+ },
+ "LAYOUT_65": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "1", "x": 1, "y": 0 },
+ { "label": "2", "x": 2, "y": 0 },
+ { "label": "3", "x": 3, "y": 0 },
+ { "label": "4", "x": 4, "y": 0 },
+ { "label": "5", "x": 5, "y": 0 },
+ { "label": "6", "x": 6, "y": 0 },
+
+ { "label": "7", "x": 8, "y": 0 },
+ { "label": "8", "x": 9, "y": 0 },
+ { "label": "9", "x": 10, "y": 0 },
+ { "label": "0", "x": 11, "y": 0 },
+ { "label": "-", "x": 12, "y": 0 },
+ { "label": "=", "x": 13, "y": 0 },
+ { "label": "Del", "x": 14, "y": 0 },
+ { "label": "Bksp", "x": 15, "y": 0 },
+ { "label": "Home", "x": 16, "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": 7.5, "y": 1 },
+ { "label": "U", "x": 8.5, "y": 1 },
+ { "label": "I", "x": 9.5, "y": 1 },
+ { "label": "O", "x": 10.5, "y": 1 },
+ { "label": "P", "x": 11.5, "y": 1 },
+ { "label": "[", "x": 12.5, "y": 1 },
+ { "label": "]", "x": 13.5, "y": 1 },
+ { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 },
+ { "label": "End", "x": 16, "y": 1 },
+
+ { "label": "Caps Lock", "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": 7.75, "y": 2 },
+ { "label": "J", "x": 8.75, "y": 2 },
+ { "label": "K", "x": 9.75, "y": 2 },
+ { "label": "L", "x": 10.75, "y": 2 },
+ { "label": ";", "x": 11.75, "y": 2 },
+ { "label": "'", "x": 12.75, "y": 2 },
+ { "label": "Enter", "x": 13.75, "y": 2, "w": 2.25 },
+ { "label": "Page Up", "x": 16, "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": 8.25, "y": 3 },
+ { "label": "M", "x": 9.25, "y": 3 },
+ { "label": ",", "x": 10.25, "y": 3 },
+ { "label": ".", "x": 11.25, "y": 3 },
+ { "label": "/", "x": 12.25, "y": 3 },
+ { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
+ { "label": "Up", "x": 15, "y": 3 },
+ { "label": "Page Down", "x": 16, "y": 3 },
+
+ { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
+ { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
+
+ { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
+ { "label": "Alt", "x": 11, "y": 4 },
+ { "label": "Ctrl", "x": 12, "y": 4 },
+ { "label": "Win", "x": 13, "y": 4 },
+ { "label": "Left", "x": 14, "y": 4 },
+ { "label": "Down", "x": 15, "y": 4 },
+ { "label": "Right", "x": 16, "y": 4 }
+ ]
+ },
+ "LAYOUT_60_with_macro": {
+ "layout": [
+ { "label": "F1", "x": 0, "y": 0 },
+ { "label": "F6", "x": 1, "y": 0 },
+
+ { "label": "Esc", "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": 10.25, "y": 0 },
+ { "label": "8", "x": 11.25, "y": 0 },
+ { "label": "9", "x": 12.25, "y": 0 },
+ { "label": "0", "x": 13.25, "y": 0 },
+ { "label": "-", "x": 14.25, "y": 0 },
+ { "label": "=", "x": 15.25, "y": 0 },
+ { "label": "Del", "x": 16.25, "y": 0 },
+ { "label": "Bksp", "x": 17.25, "y": 0 },
+
+ { "label": "F2", "x": 0, "y": 1 },
+ { "label": "F7", "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": 9.75, "y": 1 },
+ { "label": "U", "x": 10.75, "y": 1 },
+ { "label": "I", "x": 11.75, "y": 1 },
+ { "label": "O", "x": 12.75, "y": 1 },
+ { "label": "P", "x": 13.75, "y": 1 },
+ { "label": "[", "x": 14.75, "y": 1 },
+ { "label": "]", "x": 15.75, "y": 1 },
+ { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
+
+ { "label": "F3", "x": 0, "y": 2 },
+ { "label": "F8", "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": 10, "y": 2 },
+ { "label": "J", "x": 11, "y": 2 },
+ { "label": "K", "x": 12, "y": 2 },
+ { "label": "L", "x": 13, "y": 2 },
+ { "label": ";", "x": 14, "y": 2 },
+ { "label": "'", "x": 15, "y": 2 },
+ { "label": "Enter", "x": 16, "y": 2, "w": 2.25 },
+
+ { "label": "F4", "x": 0, "y": 3 },
+ { "label": "F9", "x": 1, "y": 3 },
+
+ { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 },
+ { "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": 10.5, "y": 3 },
+ { "label": "M", "x": 11.5, "y": 3 },
+ { "label": ",", "x": 12.5, "y": 3 },
+ { "label": ".", "x": 13.5, "y": 3 },
+ { "label": "/", "x": 14.5, "y": 3 },
+ { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
+ { "label": "Up", "x": 17.25, "y": 3 },
+
+ { "label": "F5", "x": 0, "y": 4 },
+ { "label": "F10", "x": 1, "y": 4 },
+
+ { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
+ { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
+
+ { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
+ { "label": "Alt", "x": 13.25, "y": 4 },
+ { "label": "Ctrl", "x": 14.25, "y": 4 },
+ { "label": "Left", "x": 15.25, "y": 4 },
+ { "label": "Down", "x": 16.25, "y": 4 },
+ { "label": "Right", "x": 17.25, "y": 4 }
+ ]
+ },
+ "LAYOUT_65_with_macro": {
+ "layout": [
+ { "label": "F1", "x": 0, "y": 0 },
+ { "label": "F6", "x": 1, "y": 0 },
+
+ { "label": "Esc", "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": 10.25, "y": 0 },
+ { "label": "8", "x": 11.25, "y": 0 },
+ { "label": "9", "x": 12.25, "y": 0 },
+ { "label": "0", "x": 13.25, "y": 0 },
+ { "label": "-", "x": 14.25, "y": 0 },
+ { "label": "=", "x": 15.25, "y": 0 },
+ { "label": "Del", "x": 16.25, "y": 0 },
+ { "label": "Bksp", "x": 17.25, "y": 0 },
+ { "label": "Home", "x": 18.25, "y": 0 },
+
+ { "label": "F2", "x": 0, "y": 1 },
+ { "label": "F7", "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": 9.75, "y": 1 },
+ { "label": "U", "x": 10.75, "y": 1 },
+ { "label": "I", "x": 11.75, "y": 1 },
+ { "label": "O", "x": 12.75, "y": 1 },
+ { "label": "P", "x": 13.75, "y": 1 },
+ { "label": "[", "x": 14.75, "y": 1 },
+ { "label": "]", "x": 15.75, "y": 1 },
+ { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
+ { "label": "PgUp", "x": 18.25, "y": 1 },
+
+ { "label": "F3", "x": 0, "y": 2 },
+ { "label": "F8", "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": 10, "y": 2 },
+ { "label": "J", "x": 11, "y": 2 },
+ { "label": "K", "x": 12, "y": 2 },
+ { "label": "L", "x": 13, "y": 2 },
+ { "label": ";", "x": 14, "y": 2 },
+ { "label": "'", "x": 15, "y": 2 },
+ { "label": "Enter", "x": 16, "y": 2, "w": 2.25 },
+ { "label": "PgDn", "x": 18.25, "y": 2 },
+
+ { "label": "F4", "x": 0, "y": 3 },
+ { "label": "F9", "x": 1, "y": 3 },
+
+ { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 },
+ { "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": 10.5, "y": 3 },
+ { "label": "M", "x": 11.5, "y": 3 },
+ { "label": ",", "x": 12.5, "y": 3 },
+ { "label": ".", "x": 13.5, "y": 3 },
+ { "label": "/", "x": 14.5, "y": 3 },
+ { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
+ { "label": "Up", "x": 17.25, "y": 3 },
+ { "label": "End", "x": 18.25, "y": 3 },
+
+ { "label": "F5", "x": 0, "y": 4 },
+ { "label": "F10", "x": 1, "y": 4 },
+
+ { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
+ { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
+
+ { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
+ { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
+ { "label": "Alt", "x": 13.25, "y": 4 },
+ { "label": "Ctrl", "x": 14.25, "y": 4 },
+ { "label": "Win", "x": 15.25, "y": 4 },
+ { "label": "Left", "x": 16.25, "y": 4 },
+ { "label": "Down", "x": 17.25, "y": 4 },
+ { "label": "Right", "x": 18.25, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/quefrency/rev5/readme.md b/keyboards/keebio/quefrency/rev5/readme.md
new file mode 100644
index 0000000000..77e296f5f1
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/readme.md
@@ -0,0 +1,18 @@
+# Quefrency Rev. 5
+
+Quefrency Rev. 5 features Kailh hotswap sockets with a fixed layout. The left macro portion and right column can be broken off, and split backspace or 2u backspace can be used.
+
+* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
+* Hardware Availability: [Keebio](https://keeb.io/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keebio/quefrency/rev5:default
+
+Example of flashing this keyboard:
+
+ make keebio/quefrency/rev5: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).
+
+A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io)
diff --git a/keyboards/keebio/quefrency/rev5/rev5.c b/keyboards/keebio/quefrency/rev5/rev5.c
new file mode 100644
index 0000000000..66d73a934a
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/rev5.c
@@ -0,0 +1,37 @@
+/* Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "quefrency.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/keebio/quefrency/rev5/rev5.h b/keyboards/keebio/quefrency/rev5/rev5.h
new file mode 100644
index 0000000000..2284a6da43
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/rev5.h
@@ -0,0 +1,120 @@
+/* Copyright 2021 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quefrency.h"
+#include "quantum.h"
+
+#define LAYOUT_60( \
+ LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
+ LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
+ LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
+ LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
+ LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
+ ) \
+ { \
+ { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
+ { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
+ { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
+ { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
+ { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
+ { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
+ { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
+ }
+
+#define LAYOUT_65( \
+ LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
+ LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
+ LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
+ LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
+ LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
+ ) \
+ { \
+ { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
+ { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
+ { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
+ { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
+ { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
+ { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
+ { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
+ }
+
+#define LAYOUT_60_with_macro( \
+ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
+ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
+ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
+ LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
+ LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
+ ) \
+ { \
+ { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
+ { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
+ { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
+ { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
+ { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
+ { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
+ { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
+ }
+
+#define LAYOUT_65_with_macro( \
+ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
+ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
+ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
+ LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
+ LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
+ ) \
+ { \
+ { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
+ { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
+ { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
+ { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
+ { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
+ { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
+ { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
+ }
+
+#define LAYOUT_all( \
+ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
+ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
+ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
+ LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
+ LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
+ ) \
+ { \
+ { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
+ { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
+ { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
+ { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
+ { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \
+ { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
+ { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
+ { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
+ { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
+ { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
+ }
diff --git a/keyboards/keebio/quefrency/rev5/rules.mk b/keyboards/keebio/quefrency/rev5/rules.mk
new file mode 100644
index 0000000000..f071ae81b8
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev5/rules.mk
@@ -0,0 +1,4 @@
+BOOTLOADER = atmel-dfu
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = yes
+ENCODER_ENABLE = yes
diff --git a/keyboards/keebio/rorschach/info.json b/keyboards/keebio/rorschach/info.json
deleted file mode 100644
index 9675f96b8a..0000000000
--- a/keyboards/keebio/rorschach/info.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "keyboard_name": "Rorschach",
- "url": "https://keeb.io",
- "maintainer": "nooges",
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "w": 1, "x": 0, "y": 0 },
- { "w": 1, "x": 1, "y": 0 },
- { "w": 1, "x": 2, "y": 0 },
- { "w": 1, "x": 3, "y": 0 },
- { "w": 1, "x": 4, "y": 0 },
- { "w": 1, "x": 5, "y": 0 },
-
- { "w": 1, "x": 9, "y": 0 },
- { "w": 1, "x": 10, "y": 0 },
- { "w": 1, "x": 11, "y": 0 },
- { "w": 1, "x": 12, "y": 0 },
- { "w": 1, "x": 13, "y": 0 },
- { "w": 1, "x": 14, "y": 0 },
-
- { "w": 1, "x": 0, "y": 1 },
- { "w": 1, "x": 1, "y": 1 },
- { "w": 1, "x": 2, "y": 1 },
- { "w": 1, "x": 3, "y": 1 },
- { "w": 1, "x": 4, "y": 1 },
- { "w": 1, "x": 5, "y": 1 },
-
- { "w": 1, "x": 9, "y": 1 },
- { "w": 1, "x": 10, "y": 1 },
- { "w": 1, "x": 11, "y": 1 },
- { "w": 1, "x": 12, "y": 1 },
- { "w": 1, "x": 13, "y": 1 },
- { "w": 1, "x": 14, "y": 1 },
-
- { "w": 1, "x": 0, "y": 2 },
- { "w": 1, "x": 1, "y": 2 },
- { "w": 1, "x": 2, "y": 2 },
- { "w": 1, "x": 3, "y": 2 },
- { "w": 1, "x": 4, "y": 2 },
- { "w": 1, "x": 5, "y": 2 },
-
- { "w": 1, "x": 9, "y": 2 },
- { "w": 1, "x": 10, "y": 2 },
- { "w": 1, "x": 11, "y": 2 },
- { "w": 1, "x": 12, "y": 2 },
- { "w": 1, "x": 13, "y": 2 },
- { "w": 1, "x": 14, "y": 2 },
-
- { "w": 1, "x": 0, "y": 3 },
- { "w": 1, "x": 1, "y": 3 },
- { "w": 1, "x": 2, "y": 3 },
- { "w": 1, "x": 3, "y": 3 },
- { "w": 1, "x": 4, "y": 3 },
- { "w": 1, "x": 5, "y": 3 },
-
- { "w": 1, "x": 9, "y": 3 },
- { "w": 1, "x": 10, "y": 3 },
- { "w": 1, "x": 11, "y": 3 },
- { "w": 1, "x": 12, "y": 3 },
- { "w": 1, "x": 13, "y": 3 },
- { "w": 1, "x": 14, "y": 3 },
-
- { "w": 1, "x": 5.5, "y": 4 },
- { "w": 1, "x": 6, "y": 5 },
-
- { "w": 1, "x": 8, "y": 5 },
- { "w": 1, "x": 8.5, "y": 4 }
-
- ]
- }
- }
-}
diff --git a/keyboards/keebio/rorschach/keymaps/default/keymap.c b/keyboards/keebio/rorschach/keymaps/default/keymap.c
index 00f2a9cffb..c1efce8f2b 100644
--- a/keyboards/keebio/rorschach/keymaps/default/keymap.c
+++ b/keyboards/keebio/rorschach/keymaps/default/keymap.c
@@ -1,10 +1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
index d03916617f..d8cc5b0989 100644
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
@@ -213,7 +213,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust layer
* (Enter/Number + Delete/Number2 to access; Numpad is a toggle)
* ,-----------------------------------------------. ,-----------------------------------------------.
-* | |Colemak| Qwerty| | | | | Numpad| | | Ctrl+Y| | RESET |
+* | |Colemak| Qwerty| | | | | Numpad| | | Ctrl+Y| | QK_BOOT |
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
* | | | | | | | | |NKROTog| | | | |
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
@@ -225,7 +225,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------' `---------------'
*/
[_ADJUST] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -233,7 +233,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST2] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
index ceb75d4f46..9621fb9ba0 100644
--- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
@@ -241,7 +241,7 @@ Numpad layer
Adjust layer
(Enter/Number + Delete/Number2 to access; Numpad is a toggle)
,-----------------------------------------------------. ,-----------------------------------------------------.
- | | Colemak| Qwerty | | | | | Numpad | | | | | RESET |
+ | | Colemak| Qwerty | | | | | Numpad | | | | | QK_BOOT |
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
| | | | | | | | |NKRO Tog| | | | |
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -253,7 +253,7 @@ Adjust layer
`-----------------' `-----------------'
*/
[_ADJUST] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -261,7 +261,7 @@ Adjust layer
),
[_ADJUST2] = LAYOUT(
- _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/keebio/rorschach/rev1/config.h b/keyboards/keebio/rorschach/rev1/config.h
index fa93d82de0..77db35cc9b 100644
--- a/keyboards/keebio/rorschach/rev1/config.h
+++ b/keyboards/keebio/rorschach/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1246
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Rorschach Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/rorschach/rev1/info.json b/keyboards/keebio/rorschach/rev1/info.json
new file mode 100644
index 0000000000..8e04c211dd
--- /dev/null
+++ b/keyboards/keebio/rorschach/rev1/info.json
@@ -0,0 +1,79 @@
+{
+ "keyboard_name": "Rorschach Rev. 1",
+ "manufacturer": "Keebio",
+ "url": "https://keeb.io",
+ "maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1246",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "w": 1, "x": 0, "y": 0 },
+ { "w": 1, "x": 1, "y": 0 },
+ { "w": 1, "x": 2, "y": 0 },
+ { "w": 1, "x": 3, "y": 0 },
+ { "w": 1, "x": 4, "y": 0 },
+ { "w": 1, "x": 5, "y": 0 },
+
+ { "w": 1, "x": 9, "y": 0 },
+ { "w": 1, "x": 10, "y": 0 },
+ { "w": 1, "x": 11, "y": 0 },
+ { "w": 1, "x": 12, "y": 0 },
+ { "w": 1, "x": 13, "y": 0 },
+ { "w": 1, "x": 14, "y": 0 },
+
+ { "w": 1, "x": 0, "y": 1 },
+ { "w": 1, "x": 1, "y": 1 },
+ { "w": 1, "x": 2, "y": 1 },
+ { "w": 1, "x": 3, "y": 1 },
+ { "w": 1, "x": 4, "y": 1 },
+ { "w": 1, "x": 5, "y": 1 },
+
+ { "w": 1, "x": 9, "y": 1 },
+ { "w": 1, "x": 10, "y": 1 },
+ { "w": 1, "x": 11, "y": 1 },
+ { "w": 1, "x": 12, "y": 1 },
+ { "w": 1, "x": 13, "y": 1 },
+ { "w": 1, "x": 14, "y": 1 },
+
+ { "w": 1, "x": 0, "y": 2 },
+ { "w": 1, "x": 1, "y": 2 },
+ { "w": 1, "x": 2, "y": 2 },
+ { "w": 1, "x": 3, "y": 2 },
+ { "w": 1, "x": 4, "y": 2 },
+ { "w": 1, "x": 5, "y": 2 },
+
+ { "w": 1, "x": 9, "y": 2 },
+ { "w": 1, "x": 10, "y": 2 },
+ { "w": 1, "x": 11, "y": 2 },
+ { "w": 1, "x": 12, "y": 2 },
+ { "w": 1, "x": 13, "y": 2 },
+ { "w": 1, "x": 14, "y": 2 },
+
+ { "w": 1, "x": 0, "y": 3 },
+ { "w": 1, "x": 1, "y": 3 },
+ { "w": 1, "x": 2, "y": 3 },
+ { "w": 1, "x": 3, "y": 3 },
+ { "w": 1, "x": 4, "y": 3 },
+ { "w": 1, "x": 5, "y": 3 },
+
+ { "w": 1, "x": 9, "y": 3 },
+ { "w": 1, "x": 10, "y": 3 },
+ { "w": 1, "x": 11, "y": 3 },
+ { "w": 1, "x": 12, "y": 3 },
+ { "w": 1, "x": 13, "y": 3 },
+ { "w": 1, "x": 14, "y": 3 },
+
+ { "w": 1, "x": 5.5, "y": 4 },
+ { "w": 1, "x": 6, "y": 5 },
+
+ { "w": 1, "x": 8, "y": 5 },
+ { "w": 1, "x": 8.5, "y": 4 }
+
+ ]
+ }
+ }
+}
diff --git a/keyboards/keebio/sinc/info.json b/keyboards/keebio/sinc/info.json
index 9b89484bba..a8d346ebe5 100644
--- a/keyboards/keebio/sinc/info.json
+++ b/keyboards/keebio/sinc/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Sinc",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT_75": {
"layout": [
diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h
index 92a9eb5675..0d31d1ad80 100644
--- a/keyboards/keebio/sinc/rev1/config.h
+++ b/keyboards/keebio/sinc/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1267
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Sinc Rev. 1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/keebio/sinc/rev1/info.json b/keyboards/keebio/sinc/rev1/info.json
new file mode 100644
index 0000000000..d7a119807f
--- /dev/null
+++ b/keyboards/keebio/sinc/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Sinc Rev. 1",
+ "usb": {
+ "pid": "0x1267",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h
index d78e0316f3..800400e905 100644
--- a/keyboards/keebio/sinc/rev2/config.h
+++ b/keyboards/keebio/sinc/rev2/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2267
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT Sinc Rev. 2
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/keebio/sinc/rev2/info.json b/keyboards/keebio/sinc/rev2/info.json
new file mode 100644
index 0000000000..378b02d2e7
--- /dev/null
+++ b/keyboards/keebio/sinc/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Sinc Rev. 2",
+ "usb": {
+ "pid": "0x2267",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h
index cd641ea28b..8166510921 100644
--- a/keyboards/keebio/stick/config.h
+++ b/keyboards/keebio/stick/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x111C
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT The Stick
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 12
diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json
index 494dbe664b..0a45edc35f 100644
--- a/keyboards/keebio/stick/info.json
+++ b/keyboards/keebio/stick/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Stick",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x111C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/tragicforce68/config.h b/keyboards/keebio/tragicforce68/config.h
index 3975175976..d39b78c010 100644
--- a/keyboards/keebio/tragicforce68/config.h
+++ b/keyboards/keebio/tragicforce68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x0510
-#define DEVICE_VER 0x0101
-#define MANUFACTURER Keebio
-#define PRODUCT Tragicforce 68
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, B4, E6, C6, D7, D4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebio/tragicforce68/info.json b/keyboards/keebio/tragicforce68/info.json
index cb806cc5cb..7b41614dae 100644
--- a/keyboards/keebio/tragicforce68/info.json
+++ b/keyboards/keebio/tragicforce68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tragicforce 68",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x0510",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c b/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c
index d74c0186d6..515f770eb2 100644
--- a/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c
+++ b/keyboards/keebio/tragicforce68/keymaps/buswerks/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = 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, _______, RESET, KC_HOME,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, KC_HOME,
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
//├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
diff --git a/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c b/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c
index 127a0fd1ee..b0bc70b179 100755
--- a/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c
+++ b/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOD] = LAYOUT_split_space(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┠┌────────┬────────â”
- RESET, _______, _______, _______, _______, _______,_______, _______,KC_F8 , _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
+ QK_BOOT, _______, _______, _______, _______, _______,_______, _______,KC_F8 , _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
_______, _______, WREFRESH,_______, DF(_REV), _______, _______, UNDO, _______, _______, _______, _______, _______, _______, _______, _______,
//├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
diff --git a/keyboards/keebio/tukey/config.h b/keyboards/keebio/tukey/config.h
index e6ee9a8f29..aefc51d5f5 100644
--- a/keyboards/keebio/tukey/config.h
+++ b/keyboards/keebio/tukey/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1112
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Tukey
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 2
diff --git a/keyboards/keebio/tukey/info.json b/keyboards/keebio/tukey/info.json
index a17d5afa44..4427d0cc8b 100644
--- a/keyboards/keebio/tukey/info.json
+++ b/keyboards/keebio/tukey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tukey",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1112",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json
index f28a7410d1..1c42bd8f87 100644
--- a/keyboards/keebio/viterbi/info.json
+++ b/keyboards/keebio/viterbi/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Viterbi",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
+ "usb": {
+ "vid": "0xCB10"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/viterbi/keymaps/default/keymap.c b/keyboards/keebio/viterbi/keymaps/default/keymap.c
index 1db80b7452..d23ebe6797 100644
--- a/keyboards/keebio/viterbi/keymaps/default/keymap.c
+++ b/keyboards/keebio/viterbi/keymaps/default/keymap.c
@@ -5,10 +5,12 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c b/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c
index bbaa448574..32172690e5 100644
--- a/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c
+++ b/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
A(KC_LEFT), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F9 ,
SFT_SPC , A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), _______ , _______ ,
A(KC_RGHT), C(KC_F1), C(KC_F2), C(KC_F3), C(KC_F4), _______ , _______ ,
- _______ , RESET , _______ , _______ , _LAYER_ , KC_DEL , KC_ENT
+ _______ , QK_BOOT, _______ , _______ , _LAYER_ , KC_DEL , KC_ENT
),
[LFT] = LAYOUT_ortho_half_5x7( // Media
_______ , KC_F10 , KC_F11 , KC_F12 , KC_PSCR , KC_SLCK , KC_PAUS ,
diff --git a/keyboards/keebio/viterbi/rev1/config.h b/keyboards/keebio/viterbi/rev1/config.h
index 15dea932f3..5aa5ef234c 100644
--- a/keyboards/keebio/viterbi/rev1/config.h
+++ b/keyboards/keebio/viterbi/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1157
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT The Viterbi Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/viterbi/rev1/info.json b/keyboards/keebio/viterbi/rev1/info.json
new file mode 100644
index 0000000000..5801f5f638
--- /dev/null
+++ b/keyboards/keebio/viterbi/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Viterbi Rev. 1",
+ "usb": {
+ "pid": "0x1157",
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h
index ed4f87abab..9d87517c0a 100644
--- a/keyboards/keebio/viterbi/rev2/config.h
+++ b/keyboards/keebio/viterbi/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x2157
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Keebio
-#define PRODUCT The Viterbi Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/keebio/viterbi/rev2/info.json b/keyboards/keebio/viterbi/rev2/info.json
new file mode 100644
index 0000000000..9759016521
--- /dev/null
+++ b/keyboards/keebio/viterbi/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Viterbi Rev. 2",
+ "usb": {
+ "pid": "0x2157",
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keebio/wavelet/config.h b/keyboards/keebio/wavelet/config.h
index d533d29350..37937eb371 100644
--- a/keyboards/keebio/wavelet/config.h
+++ b/keyboards/keebio/wavelet/config.h
@@ -21,13 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1046
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Wavelet
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
diff --git a/keyboards/keebio/wavelet/info.json b/keyboards/keebio/wavelet/info.json
index a4bc57b86f..f5df12cffb 100644
--- a/keyboards/keebio/wavelet/info.json
+++ b/keyboards/keebio/wavelet/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wavelet",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1046",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebio/wavelet/keymaps/default/keymap.c b/keyboards/keebio/wavelet/keymaps/default/keymap.c
index ed4c7243d1..72da4addc3 100644
--- a/keyboards/keebio/wavelet/keymaps/default/keymap.c
+++ b/keyboards/keebio/wavelet/keymaps/default/keymap.c
@@ -5,12 +5,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/keebio/wtf60/config.h b/keyboards/keebio/wtf60/config.h
index d801a929e7..1ae31980c1 100644
--- a/keyboards/keebio/wtf60/config.h
+++ b/keyboards/keebio/wtf60/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keebio
-#define PRODUCT WTF60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/keebio/wtf60/info.json b/keyboards/keebio/wtf60/info.json
index ad7e9c8c89..440ecfb873 100644
--- a/keyboards/keebio/wtf60/info.json
+++ b/keyboards/keebio/wtf60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "WTF60",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "Keebio",
+ "usb": {
+ "vid": "0xCB10",
+ "pid": "0x1337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_full_wtf": {
"layout": [{"label":"Bksp", "x":0, "y":0}, {"label":"Del", "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":"!", "x":13, "y":0}, {"label":"Esc", "x":14, "y":0}, {"label":"|", "x":0, "y":1, "w":1.5}, {"label":"}", "x":1.5, "y":1}, {"label":"{", "x":2.5, "y":1}, {"label":"P", "x":3.5, "y":1}, {"label":"O", "x":4.5, "y":1}, {"label":"I", "x":5.5, "y":1}, {"label":"U", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"T", "x":8.5, "y":1}, {"label":"R", "x":9.5, "y":1}, {"label":"E", "x":10.5, "y":1}, {"label":"W", "x":11.5, "y":1}, {"label":"Q", "x":12.5, "y":1}, {"label":"Tab", "x":13.5, "y":1, "w":1.5}, {"label":"Enter", "x":0, "y":2, "w":1.25}, {"label":"~", "x":1.25, "y":2}, {"label":"\"", "x":2.25, "y":2}, {"label":":", "x":3.25, "y":2}, {"label":"L", "x":4.25, "y":2}, {"label":"K", "x":5.25, "y":2}, {"label":"J", "x":6.25, "y":2}, {"label":"H", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"F", "x":9.25, "y":2}, {"label":"D", "x":10.25, "y":2}, {"label":"S", "x":11.25, "y":2}, {"label":"A", "x":12.25, "y":2}, {"label":"Caps Lock", "x":13.25, "y":2, "w":1.75}, {"label":"Fn", "x":0, "y":3}, {"label":"Shift", "x":1, "y":3, "w":1.75}, {"label":"?", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"<", "x":4.75, "y":3}, {"label":"M", "x":5.75, "y":3}, {"label":"N", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"V", "x":8.75, "y":3}, {"label":"C", "x":9.75, "y":3}, {"label":"X", "x":10.75, "y":3}, {"label":"Z", "x":11.75, "y":3}, {"label":"|", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Menu", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":6.25}, {"label":"Alt", "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/keebmonkey/kbmg68/config.h b/keyboards/keebmonkey/kbmg68/config.h
new file mode 100644
index 0000000000..3700587f58
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/config.h
@@ -0,0 +1,61 @@
+/* Copyright 2022 Your Mom Loves My Keyboard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* 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 { B1, B2, B3, B4, B5 }
+#define MATRIX_COL_PINS { B6, B7, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F7, F6, F5, F4 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN B0
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 68
+ #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
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#endif
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/keebmonkey/kbmg68/info.json b/keyboards/keebmonkey/kbmg68/info.json
new file mode 100644
index 0000000000..4c331d1f6e
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/info.json
@@ -0,0 +1,86 @@
+{
+ "keyboard_name": "kbmg68",
+ "manufacturer": "KeebMonkey",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_65_ansi": {
+ "layout": [
+ { "label": "K00 (B1,B6)", "x": 0, "y": 0 },
+ { "label": "K01 (B1,B7)", "x": 1, "y": 0 },
+ { "label": "K02 (B1,D0)", "x": 2, "y": 0 },
+ { "label": "K03 (B1,D1)", "x": 3, "y": 0 },
+ { "label": "K04 (B1,D2)", "x": 4, "y": 0 },
+ { "label": "K05 (B1,D3)", "x": 5, "y": 0 },
+ { "label": "K06 (B1,D4)", "x": 6, "y": 0 },
+ { "label": "K07 (B1,D5)", "x": 7, "y": 0 },
+ { "label": "K08 (B1,D6)", "x": 8, "y": 0 },
+ { "label": "K09 (B1,D7)", "x": 9, "y": 0 },
+ { "label": "K0A (B1,C6)", "x": 10, "y": 0 },
+ { "label": "K0B (B1,C7)", "x": 11, "y": 0 },
+ { "label": "K0C (B1,F7)", "x": 12, "y": 0 },
+ { "label": "K0E (B1,F5)", "x": 13, "y": 0, "w": 2 },
+ { "label": "K0F (B1,F4)", "x": 15, "y": 0 },
+ { "label": "K10 (B2,B6)", "x": 0, "y": 1, "w": 1.5 },
+ { "label": "K12 (B2,D0)", "x": 1.5, "y": 1 },
+ { "label": "K13 (B2,D1)", "x": 2.5, "y": 1 },
+ { "label": "K14 (B2,D2)", "x": 3.5, "y": 1 },
+ { "label": "K15 (B2,D3)", "x": 4.5, "y": 1 },
+ { "label": "K16 (B2,D4)", "x": 5.5, "y": 1 },
+ { "label": "K17 (B2,D5)", "x": 6.5, "y": 1 },
+ { "label": "K18 (B2,D6)", "x": 7.5, "y": 1 },
+ { "label": "K19 (B2,D7)", "x": 8.5, "y": 1 },
+ { "label": "K1A (B2,C6)", "x": 9.5, "y": 1 },
+ { "label": "K1B (B2,C7)", "x": 10.5, "y": 1 },
+ { "label": "K1C (B2,F7)", "x": 11.5, "y": 1 },
+ { "label": "K1D (B2,F6)", "x": 12.5, "y": 1 },
+ { "label": "K1E (B2,F5)", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "K1F (B2,F4)", "x": 15, "y": 1 },
+ { "label": "K20 (B3,B6)", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "K22 (B3,D0)", "x": 1.75, "y": 2 },
+ { "label": "K23 (B3,D1)", "x": 2.75, "y": 2 },
+ { "label": "K24 (B3,D2)", "x": 3.75, "y": 2 },
+ { "label": "K25 (B3,D3)", "x": 4.75, "y": 2 },
+ { "label": "K26 (B3,D4)", "x": 5.75, "y": 2 },
+ { "label": "K27 (B3,D5)", "x": 6.75, "y": 2 },
+ { "label": "K28 (B3,D6)", "x": 7.75, "y": 2 },
+ { "label": "K29 (B3,D7)", "x": 8.75, "y": 2 },
+ { "label": "K2A (B3,C6)", "x": 9.75, "y": 2 },
+ { "label": "K2B (B3,C7)", "x": 10.75, "y": 2 },
+ { "label": "K2C (B3,F7)", "x": 11.75, "y": 2 },
+ { "label": "K2D (B3,F6)", "x": 12.75, "y": 2, "w": 2.25 },
+ { "label": "K2F (B3,F4)", "x": 15, "y": 2 },
+ { "label": "K31 (B4,B7)", "x": 0, "y": 3, "w": 2.25 },
+ { "label": "K32 (B4,D0)", "x": 2.25, "y": 3 },
+ { "label": "K33 (B4,D1)", "x": 3.25, "y": 3 },
+ { "label": "K34 (B4,D2)", "x": 4.25, "y": 3 },
+ { "label": "K35 (B4,D3)", "x": 5.25, "y": 3 },
+ { "label": "K36 (B4,D4)", "x": 6.25, "y": 3 },
+ { "label": "K37 (B4,D5)", "x": 7.25, "y": 3 },
+ { "label": "K38 (B4,D6)", "x": 8.25, "y": 3 },
+ { "label": "K39 (B4,D7)", "x": 9.25, "y": 3 },
+ { "label": "K3A (B4,C6)", "x": 10.25, "y": 3 },
+ { "label": "K3B (B4,C7)", "x": 11.25, "y": 3 },
+ { "label": "K3D (B4,F6)", "x": 12.25, "y": 3, "w": 1.75 },
+ { "label": "K3E (B4,F5)", "x": 14, "y": 3 },
+ { "label": "K3F (B4,F4)", "x": 15, "y": 3 },
+ { "label": "K40 (B5,B6)", "x": 0, "y": 4, "w": 1.25 },
+ { "label": "K41 (B5,B7)", "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "K43 (B5,D1)", "x": 2.5, "y": 4, "w": 1.25 },
+ { "label": "K46 (B5,D4)", "x": 3.75, "y": 4, "w": 6.25 },
+ { "label": "K4A (B5,C6)", "x": 10, "y": 4 },
+ { "label": "K4B (B5,C7)", "x": 11, "y": 4 },
+ { "label": "K4C (B5,F7)", "x": 12, "y": 4 },
+ { "label": "K4D (B5,F6)", "x": 13, "y": 4 },
+ { "label": "K4E (B5,F5)", "x": 14, "y": 4 },
+ { "label": "K4F (B5,F4)", "x": 15, "y": 4 }
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/keebmonkey/kbmg68/kbmg68.c b/keyboards/keebmonkey/kbmg68/kbmg68.c
new file mode 100644
index 0000000000..452624d771
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/kbmg68.c
@@ -0,0 +1,20 @@
+/* Copyright 2022 Your Mom Loves My Keyboard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "kbmg68.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/keebmonkey/kbmg68/kbmg68.h b/keyboards/keebmonkey/kbmg68/kbmg68.h
new file mode 100644
index 0000000000..a817a73d78
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/kbmg68.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 Your Mom Loves My Keyboard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT_65_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
+ K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
+ K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F }, \
+ { K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, K2F }, \
+ { XXX, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
+ { K40, K41, XXX, K43, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/keebmonkey/kbmg68/keymaps/default/keymap.c b/keyboards/keebmonkey/kbmg68/keymaps/default/keymap.c
new file mode 100644
index 0000000000..945449dfdc
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2022 Your Mom Loves My Keyboard
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_65_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_65_ansi(
+ RGB_TOG, 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_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
+ MO(2), _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______
+ ),
+
+ [2] = LAYOUT_65_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
+ ),
+
+};
diff --git a/keyboards/keebmonkey/kbmg68/readme.md b/keyboards/keebmonkey/kbmg68/readme.md
new file mode 100644
index 0000000000..59852c09a1
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/readme.md
@@ -0,0 +1,27 @@
+# KBMG68
+
+![KBMG68](https://cdn.shopify.com/s/files/1/0463/5980/6101/products/IMG_2062_600x.jpg?v=1636042030)
+
+The Keebmonkey KBMG68 should be the cheapest gasket keyboard you can ever have. Both the plate and the PCB are gasket mounted, resulting in a deep thocky sound. The shell of the kit is made of 6-layers of acrylic boards, leaving huge space for modding and continuous improvements (even though this kit already sounds perfect when it's out of the box).
+
+* Keyboard Maintainer: Unknown
+* Hardware Supported: Unknown
+* Hardware Availability: [Keebmonkey KBMG68 Double Mounted Gasket Keyboard Kit](https://www.keebmonkey.com/products/kbmg68)
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keebmonkey/kbmg68:default
+
+Flashing example for this keyboard:
+
+ make keebmonkey/kbmg68: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).
+
+### Reset to Bootloader
+
+Hold the Escape key while plugging the board in.
diff --git a/keyboards/keebmonkey/kbmg68/rules.mk b/keyboards/keebmonkey/kbmg68/rules.mk
new file mode 100644
index 0000000000..0adb2c9996
--- /dev/null
+++ b/keyboards/keebmonkey/kbmg68/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 65_ansi
diff --git a/keyboards/keebsforall/coarse60/config.h b/keyboards/keebsforall/coarse60/config.h
index 7d14ea4cbd..b31e8c19cb 100644
--- a/keyboards/keebsforall/coarse60/config.h
+++ b/keyboards/keebsforall/coarse60/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B66
-#define PRODUCT_ID 0x5341
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeebsforAll
-#define PRODUCT coarse60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/keebsforall/coarse60/info.json b/keyboards/keebsforall/coarse60/info.json
index 8718b79f44..594f08a2fc 100644
--- a/keyboards/keebsforall/coarse60/info.json
+++ b/keyboards/keebsforall/coarse60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "coarse60",
+ "manufacturer": "KeebsForAll",
"url":"https://keebsforall.com",
"maintainer": "keebsforall",
+ "usb": {
+ "vid": "0x6B66",
+ "pid": "0x5341",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/keebsforall/coarse60/readme.md b/keyboards/keebsforall/coarse60/readme.md
index cde6152499..4d4f864eed 100644
--- a/keyboards/keebsforall/coarse60/readme.md
+++ b/keyboards/keebsforall/coarse60/readme.md
@@ -17,6 +17,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key (Escape by default) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB (S1)
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/keebsforall/freebird60/config.h b/keyboards/keebsforall/freebird60/config.h
index 5d9f98cacf..44331c8612 100644
--- a/keyboards/keebsforall/freebird60/config.h
+++ b/keyboards/keebsforall/freebird60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xADAD
-#define PRODUCT_ID 0xFB60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KnoblesseOblige
-#define PRODUCT Freebird60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F5, F4, F1, F0, F6 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebsforall/freebird60/info.json b/keyboards/keebsforall/freebird60/info.json
index 9b8b3ab5cc..a6d6b97325 100644
--- a/keyboards/keebsforall/freebird60/info.json
+++ b/keyboards/keebsforall/freebird60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "freebird60",
+ "keyboard_name": "Freebird60",
+ "manufacturer": "KnoblesseOblige",
"url": "",
"maintainer": "KnoblesseOblige",
+ "usb": {
+ "vid": "0xADAD",
+ "pid": "0xFB60",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/keebsforall/freebirdnp/lite/config.h b/keyboards/keebsforall/freebirdnp/lite/config.h
index 317132eff3..031b2ba596 100644
--- a/keyboards/keebsforall/freebirdnp/lite/config.h
+++ b/keyboards/keebsforall/freebirdnp/lite/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B66
-#define PRODUCT_ID 0x1013
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeebsForAll
-#define PRODUCT Freebird Numpad Lite
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B7, B6, B5, B4, B3 }
#define MATRIX_COL_PINS { C7, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebsforall/freebirdnp/lite/info.json b/keyboards/keebsforall/freebirdnp/lite/info.json
index 1553264e08..4cab1d4cdb 100644
--- a/keyboards/keebsforall/freebirdnp/lite/info.json
+++ b/keyboards/keebsforall/freebirdnp/lite/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "FreebirdNP Lite",
+ "keyboard_name": "Freebird Numpad Lite",
+ "manufacturer": "KeebsForAll",
"url": "https://keebsforall.com/products/fb-numpad-lite",
"maintainer": "e11i0t23",
- "manufacturer": "KeebsForAll",
+ "usb": {
+ "vid": "0x6B66",
+ "pid": "0x1013",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/keebsforall/freebirdnp/lite/readme.md b/keyboards/keebsforall/freebirdnp/lite/readme.md
index e0d0dda059..b2860abc84 100644
--- a/keyboards/keebsforall/freebirdnp/lite/readme.md
+++ b/keyboards/keebsforall/freebirdnp/lite/readme.md
@@ -14,6 +14,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
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/keebsforall/freebirdnp/pro/config.h b/keyboards/keebsforall/freebirdnp/pro/config.h
index 53ced8ac03..8986e2ef64 100644
--- a/keyboards/keebsforall/freebirdnp/pro/config.h
+++ b/keyboards/keebsforall/freebirdnp/pro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B66
-#define PRODUCT_ID 0x1014
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeebsForAll
-#define PRODUCT Freebird Numpad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, B7, B6, B5, B4, B3 }
#define MATRIX_COL_PINS { C7, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebsforall/freebirdnp/pro/info.json b/keyboards/keebsforall/freebirdnp/pro/info.json
index ed2a6e0b41..c2432d6adc 100644
--- a/keyboards/keebsforall/freebirdnp/pro/info.json
+++ b/keyboards/keebsforall/freebirdnp/pro/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "FreebirdNP Pro",
+ "keyboard_name": "Freebird Numpad Pro",
+ "manufacturer": "KeebsForAll",
"url": "https://keebsforall.com/products/fb-numpad-pro",
"maintainer": "e11i0t23",
- "manufacturer": "KeebsForAll",
+ "usb": {
+ "vid": "0x6B66",
+ "pid": "0x1014",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/keebsforall/freebirdnp/pro/readme.md b/keyboards/keebsforall/freebirdnp/pro/readme.md
index 3b06a72d11..b53e4b9fd9 100644
--- a/keyboards/keebsforall/freebirdnp/pro/readme.md
+++ b/keyboards/keebsforall/freebirdnp/pro/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
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/keebsforall/freebirdtkl/config.h b/keyboards/keebsforall/freebirdtkl/config.h
index 47c83ea5b7..06b8d65619 100644
--- a/keyboards/keebsforall/freebirdtkl/config.h
+++ b/keyboards/keebsforall/freebirdtkl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x75FA /* "K"FA */
-#define PRODUCT_ID 0x0088
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeebsForAll
-#define PRODUCT FreebirdTKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B1, B0, B3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D3, D2, D1 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebsforall/freebirdtkl/info.json b/keyboards/keebsforall/freebirdtkl/info.json
index 0c21d22393..4c7f8de39e 100644
--- a/keyboards/keebsforall/freebirdtkl/info.json
+++ b/keyboards/keebsforall/freebirdtkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "FreebirdTKL",
+ "manufacturer": "KeebsForAll",
"url": "https://keebsforall.com",
"maintainer": "KnoblesseOblige",
+ "usb": {
+ "vid": "0x75FA",
+ "pid": "0x0088",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi": "LAYOUT_tkl_f13_ansi",
"LAYOUT_tsangan": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift",
diff --git a/keyboards/keebsforall/freebirdtkl/readme.md b/keyboards/keebsforall/freebirdtkl/readme.md
index 5b5bade278..1b61d3c141 100644
--- a/keyboards/keebsforall/freebirdtkl/readme.md
+++ b/keyboards/keebsforall/freebirdtkl/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/keebwerk/mega/ansi/config.h b/keyboards/keebwerk/mega/ansi/config.h
index 9f9a225ef1..15df557676 100755
--- a/keyboards/keebwerk/mega/ansi/config.h
+++ b/keyboards/keebwerk/mega/ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4B41
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Keebwerk Mega ANSI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/keebwerk/mega/ansi/info.json b/keyboards/keebwerk/mega/ansi/info.json
index 5ac104c07b..852fad11a4 100755
--- a/keyboards/keebwerk/mega/ansi/info.json
+++ b/keyboards/keebwerk/mega/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keebwerk Mega",
+ "keyboard_name": "Keebwerk Mega ANSI",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4B41",
+ "device_version": "0.0.1"
+ },
"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":"Home", "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":"Page Up", "x":15, "y":1}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
index 54e6ee4ac2..dde2e84e09 100644
--- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
+++ b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_65_ansi( /* FN */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_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, QK_BOOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/keebwerk/nano_slider/config.h b/keyboards/keebwerk/nano_slider/config.h
index 53b887692b..7d6a9a8330 100644
--- a/keyboards/keebwerk/nano_slider/config.h
+++ b/keyboards/keebwerk/nano_slider/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A8
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keebwerk.
-#define PRODUCT nano. slider
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1 }
#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
#define SLIDER_PIN D4
diff --git a/keyboards/keebwerk/nano_slider/info.json b/keyboards/keebwerk/nano_slider/info.json
index b91ecffee3..257bc71110 100644
--- a/keyboards/keebwerk/nano_slider/info.json
+++ b/keyboards/keebwerk/nano_slider/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nano. slider",
+ "manufacturer": "keebwerk.",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c b/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
index 0623f7556c..07ba118e35 100644
--- a/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
+++ b/keyboards/keebwerk/nano_slider/keymaps/midi2vol/keymap.c
@@ -41,11 +41,11 @@ uint8_t midi2vol = 0x3E;
enum custom_layers {
_MEDIA, /* Controls Pause, Mute , Forward ... */
_NAV, /* Nav arrows, Enter, Space*/
- _VOLUME /* Changes midi2vol int to interface with midi2vol program: Chrome Volume, General Volume */
+ _VOLUME, /* Changes midi2vol int to interface with midi2vol program: Chrome Volume, General Volume */
_DISCORD, /* FXX unsused keys to interface with Discord: Mute , Silence */
_LIGHTS, /* Edits underglow and retroilumination */
_EDIT, /* Cut, Copy ,Paste */
- _RESET, /* Layer to set nano in bootloader mode */
+ _QK_BOOT, /* Layer to set nano in bootloader mode */
_TOOGLE, /* Momentary layer to switch between layers */
};
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RESET] = LAYOUT(
MO(_TOOGLE),
KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, RESET
+ KC_NO, KC_NO, KC_NO, QK_BOOT
),
[_TOOGLE] = LAYOUT(
MO(_TOOGLE),
diff --git a/keyboards/keebwerk/nano_slider/keymaps/via/keymap.c b/keyboards/keebwerk/nano_slider/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ea1faadfda
--- /dev/null
+++ b/keyboards/keebwerk/nano_slider/keymaps/via/keymap.c
@@ -0,0 +1,67 @@
+/* Copyright 2020 Duckle
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "analog.h"
+#include "qmk_midi.h"
+
+enum layer_names {
+ _BASE,
+ _FN,
+ _MEDIA,
+ _FN2
+};
+
+/* Defines the keycodes used by our macros in process_record_user */
+enum custom_keycodes { /* In order to add more volume controls, add here a custom keycode, ex: VLC */
+ DEFAULT= SAFE_RANGE,SPOTIFY,DISCORD,CHROME/*,VLC*/
+};
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ TO(_FN),
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, KC_6, KC_0
+ ),
+ [_FN] = LAYOUT(
+ TO(_MEDIA),
+ RGB_TOG, RGB_MOD, RGB_VAI,
+ RGB_SAI, BL_BRTG, BL_STEP, KC_LSFT
+ ),
+ [_MEDIA] = LAYOUT(
+ TO(_BASE),
+ KC_VOLD, KC_VOLU, KC_F24,
+ KC_MRWD, KC_MFFD, KC_F23, KC_MPLY
+ ),
+ [_FN2] = LAYOUT(
+ _______,
+ _______, _______, _______,
+ _______, _______, _______, _______
+ )
+};
+
+uint8_t divisor = 0;
+
+void slider(void) {
+ if (divisor++) { // only run the slider function 1/256 times it's called
+ return;
+ }
+
+ midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
+}
+
+void matrix_scan_user(void) {
+ slider();
+}
diff --git a/keyboards/keebwerk/nano_slider/keymaps/via/rules.mk b/keyboards/keebwerk/nano_slider/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/keebwerk/nano_slider/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebzdotnet/fme/config.h b/keyboards/keebzdotnet/fme/config.h
index bbc273fa07..1723e314ef 100644
--- a/keyboards/keebzdotnet/fme/config.h
+++ b/keyboards/keebzdotnet/fme/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B5A
-#define PRODUCT_ID 0x8008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keebzdotnet
-#define PRODUCT FMe
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B6, B5, B7, D2 }
#define MATRIX_COL_PINS { B0, B4, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebzdotnet/fme/info.json b/keyboards/keebzdotnet/fme/info.json
index f07d3fd791..3c24379865 100644
--- a/keyboards/keebzdotnet/fme/info.json
+++ b/keyboards/keebzdotnet/fme/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "FMe",
+ "manufacturer": "keebzdotnet",
"url": "",
"maintainer": "keebzdotnet",
+ "usb": {
+ "vid": "0x4B5A",
+ "pid": "0x8008",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/keebzdotnet/wazowski/config.h b/keyboards/keebzdotnet/wazowski/config.h
index fe8b5cbcd5..9670585b45 100644
--- a/keyboards/keebzdotnet/wazowski/config.h
+++ b/keyboards/keebzdotnet/wazowski/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B5A // "KZ"
-#define PRODUCT_ID 0x53FC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keebzdotnet
-#define PRODUCT wazowski 23-19
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keebzdotnet/wazowski/info.json b/keyboards/keebzdotnet/wazowski/info.json
index 2081cf92d3..699a588cf4 100644
--- a/keyboards/keebzdotnet/wazowski/info.json
+++ b/keyboards/keebzdotnet/wazowski/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wazowski",
+ "keyboard_name": "wazowski 23-19",
+ "manufacturer": "keebzdotnet",
"url": "https://www.keebz.net/shop/wazoski-pcb",
"maintainer": "keebzdotnet",
+ "usb": {
+ "vid": "0x4B5A",
+ "pid": "0x53FC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kegen/gboy/config.h b/keyboards/kegen/gboy/config.h
new file mode 100644
index 0000000000..77f9ef3b21
--- /dev/null
+++ b/keyboards/kegen/gboy/config.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2022 Matt 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F1, F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { E2, E6, C6, C7, D7, B6, B5, B4, B3, B2, B1, B0, D4, D6, D5, F0 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#define BACKLIGHT_PIN B7
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 15
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN D1
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 14
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/kegen/gboy/gboy.c b/keyboards/kegen/gboy/gboy.c
new file mode 100644
index 0000000000..cd6869748d
--- /dev/null
+++ b/keyboards/kegen/gboy/gboy.c
@@ -0,0 +1,18 @@
+/*
+ * Copyright (C) 2022 Matt 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include "gboy.h"
diff --git a/keyboards/kegen/gboy/gboy.h b/keyboards/kegen/gboy/gboy.h
new file mode 100644
index 0000000000..5a51343e95
--- /dev/null
+++ b/keyboards/kegen/gboy/gboy.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2022 Matt 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/*
+ * This diagram is based off the QK65 layout but without the blocker.
+ *
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │1D │0D │0E │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1E │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴â”2D │ ISO Enter
+ * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │2C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ ┌─┴───┴────┤
+ * │30 │ │30 │3C │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ │3B │ 2.75u Shift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ └──────────┘
+ * │40 │41 │42 │46 │47 │49 │4C │4D │4E │
+ * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
+ * 1.25u, 1.25u, 1.25u, 6.25u, 1.5u, 1.5u
+ *
+ * ┌────┬────┬────┬────────────────────────┬───┬───┬───â”
+ * │40 │41 │42 │46 │47 │48 │49 │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┘
+ * 1.25u, 1.25u, 1.25u, 6.25u, 1u, 1u, 1u
+ *
+ * ┌─────┬─────┬───────────────────────────┬───┬───┬───â”
+ * │40 │42 │46 │47 │48 │49 │
+ * └─────┴─────┴───────────────────────────┴───┴───┴───┘
+ * 1.5u, 1.5u, 7u, 1u, 1u, 1u
+ *
+ * ┌─────┬─────┬───────────────────────────┬─────┬─────â”
+ * │40 │42 │46 │47 │49 │
+ * └─────┴─────┴───────────────────────────┴─────┴─────┘
+ * 1.5u, 1.5u, 7u, 1.5u, 1.5u
+ */
+
+
+
+#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, K212, K213, K215, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
+ K400, K401, K402, K406, K409, K410, K411, K412, K413, K414 \
+) { \
+ { 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, K212, K213, KC_NO, K215 }, \
+ { K300, K301, 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, K410, K411, K412, K413, K414, KC_NO } \
+}
diff --git a/keyboards/kegen/gboy/info.json b/keyboards/kegen/gboy/info.json
new file mode 100644
index 0000000000..880fd9611c
--- /dev/null
+++ b/keyboards/kegen/gboy/info.json
@@ -0,0 +1,92 @@
+{
+ "keyboard_name": "Kegen G-Boy",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kegen/gboy",
+ "maintainer": "@mattchan",
+ "maintainer": "mattchan",
+ "usb": {
+ "vid": "0x4B65",
+ "pid": "0x6762",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "GESC", "x":0, "y":0},
+ {"label": "1", "x":1, "y":0},
+ {"label": "2", "x":2, "y":0},
+ {"label": "3", "x":3, "y":0},
+ {"label": "4", "x":4, "y":0},
+ {"label": "5", "x":5, "y":0},
+ {"label": "6", "x":6, "y":0},
+ {"label": "7", "x":7, "y":0},
+ {"label": "8", "x":8, "y":0},
+ {"label": "9", "x":9, "y":0},
+ {"label": "0", "x":10, "y":0},
+ {"label": "MINS", "x":11, "y":0},
+ {"label": "EQL", "x":12, "y":0},
+ {"label": "BSPC", "x":13, "y":0},
+ {"label": "BSPC", "x":14, "y":0},
+ {"label": "HOME", "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": "LBRC", "x":11.5, "y":1},
+ {"label": "RBRC", "x":12.5, "y":1},
+ {"label": "BSLS", "x":13.5, "y":1, "w":1.5},
+ {"label": "PGUP", "x":15, "y":1},
+
+ {"label": "CAPS", "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": "SCLN", "x":10.75, "y":2},
+ {"label": "QUOT", "x":11.75, "y":2},
+ {"label": "BSLS", "x":12.75, "y":2},
+ {"label": "ENT", "x":13.75, "y":2, "w":1.25},
+ {"label": "PGDN", "x":15, "y":2},
+
+ {"label": "LSFT", "x":0, "y":3, "w":1.25},
+ {"label": "SLSH", "x":1.25, "y":3},
+ {"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": "COMM", "x":9.25, "y":3},
+ {"label": "DOT", "x":10.25, "y":3},
+ {"label": "SLSH", "x":11.25, "y":3},
+ {"label": "RSFT", "x":12.25, "y":3, "w":1.75},
+ {"label": "UP", "x":14, "y":3},
+ {"label": "END", "x":15, "y":3},
+
+ {"label": "LCTL", "x":0, "y":4, "w":1.25},
+ {"label": "LGUI", "x":1.25, "y":4, "w":1.25},
+ {"label": "LALT", "x":2.5, "y":4, "w":1.25},
+ {"label": "SPC", "x":3.75, "y":4, "w":6.25},
+ {"label": "RALT", "x":10, "y":4},
+ {"label": "MO(1)", "x":11, "y":4},
+ {"label": "RCTL", "x":12, "y":4},
+ {"label": "LEFT", "x":13, "y":4},
+ {"label": "DOWN", "x":14, "y":4},
+ {"label": "RGHT", "x":15, "y":4}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/kegen/gboy/keymaps/default/keymap.c b/keyboards/kegen/gboy/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f4b5d3c090
--- /dev/null
+++ b/keyboards/kegen/gboy/keymaps/default/keymap.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2022 Matt 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_SLSH, 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_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, QK_BOOT,
+ RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_SPD, 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_VOLU, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+ [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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+};
diff --git a/keyboards/kegen/gboy/keymaps/via/keymap.c b/keyboards/kegen/gboy/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f4b5d3c090
--- /dev/null
+++ b/keyboards/kegen/gboy/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2022 Matt 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_SLSH, 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_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, QK_BOOT,
+ RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_SPD, 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_VOLU, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+ [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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+
+};
diff --git a/keyboards/kegen/gboy/keymaps/via/rules.mk b/keyboards/kegen/gboy/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/kegen/gboy/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/kegen/gboy/readme.md b/keyboards/kegen/gboy/readme.md
new file mode 100644
index 0000000000..b636d0462d
--- /dev/null
+++ b/keyboards/kegen/gboy/readme.md
@@ -0,0 +1,28 @@
+# G-Boy
+
+![G-Boy](https://i.imgur.com/APwppRwh.png)
+
+65% board that resembles a handheld gaming console
+
+* Keyboard Maintainer: [Matt Chan](https://github.com/mattchan)
+* Hardware Supported: Kegen G-Boy
+* Hardware Availability: Unfortunately, there is no site for this, and the Kegen Discord is no longer active. The group buy runners appear to have disappeared after round two units were delivered.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kegen/gboy:default
+
+Flashing example for this keyboard:
+
+ make kegen/gboy:default:flash
+
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kegen/gboy/rules.mk b/keyboards/kegen/gboy/rules.mk
new file mode 100644
index 0000000000..8723047c1e
--- /dev/null
+++ b/keyboards/kegen/gboy/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/keybage/radpad/config.h b/keyboards/keybage/radpad/config.h
index e0f4b76361..269f5a7967 100644
--- a/keyboards/keybage/radpad/config.h
+++ b/keyboards/keybage/radpad/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4253 // "BS"
-#define PRODUCT_ID 0x5250 // "RP"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keybage
-#define PRODUCT RadPad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { F5, B5, B6, B2, B3 }
#define MATRIX_COL_PINS { E6, B4, D7, B1 }
-#define UNUSED_PINS { B0, B7, C7, D2, D3, D5, F0 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keybage/radpad/info.json b/keyboards/keybage/radpad/info.json
index 2236a43418..233144e95e 100644
--- a/keyboards/keybage/radpad/info.json
+++ b/keyboards/keybage/radpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "radpad",
+ "keyboard_name": "RadPad",
+ "manufacturer": "Keybage",
"url": "",
"maintainer": "Brandon Schlack",
+ "usb": {
+ "vid": "0x4253",
+ "pid": "0x5250",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_4x4_encoders": {
"layout": [
diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h
index 54f847a2dd..1e54bbfb15 100644
--- a/keyboards/keybee/keybee65/config.h
+++ b/keyboards/keybee/keybee65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6265 // KeyBee
-#define PRODUCT_ID 0x0001 // Keybee65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER KeyBee
-#define PRODUCT KeyBee65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { D3, D2, D0, B0, F0 }
#define MATRIX_COL_PINS { E6, D1, D5, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keybee/keybee65/info.json b/keyboards/keybee/keybee65/info.json
index 63f05c9c2a..0a49a2bcad 100644
--- a/keyboards/keybee/keybee65/info.json
+++ b/keyboards/keybee/keybee65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KeyBee65",
+ "manufacturer": "KeyBee",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x6265",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/keybee/keybee65/readme.md b/keyboards/keybee/keybee65/readme.md
index afe9cfd225..a6fe9cb0c6 100644
--- a/keyboards/keybee/keybee65/readme.md
+++ b/keyboards/keybee/keybee65/readme.md
@@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `RESET` \ No newline at end of file
+* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` \ No newline at end of file
diff --git a/keyboards/keyboardio/atreus/config.h b/keyboards/keyboardio/atreus/config.h
index 74b56ceb7d..6e6e68dcaf 100644
--- a/keyboards/keyboardio/atreus/config.h
+++ b/keyboards/keyboardio/atreus/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2303
-#define DEVICE_VER 0x0000
-#define MANUFACTURER Keyboardio
-#define PRODUCT Atreus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -57,7 +49,6 @@
#define MATRIX_ROW_PINS { F6, F5, F4, F1 }
#define MATRIX_COL_PINS { F7, E2, C7, C6, B6, B5, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyboardio/atreus/info.json b/keyboards/keyboardio/atreus/info.json
index a23d81ac9d..8431c1e62d 100644
--- a/keyboards/keyboardio/atreus/info.json
+++ b/keyboards/keyboardio/atreus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keyboardio Atreus",
+ "keyboard_name": "Atreus",
+ "manufacturer": "Keyboardio",
"url": "",
"maintainer": "keyboardio",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x2303",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
index 6faabbc3ed..373438e4b4 100644
--- a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
+++ b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT( /* [> LOWER <] */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO ,
- KC_NO, KC_NO, KC_NO, DEBUG, RESET, EEP_RST, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
+ KC_NO, KC_NO, KC_NO, DEBUG, QK_BOOT, EEP_RST, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
_______, _______, _______, _______, _______, FN2, FN2, _______, _______, KC_NO, KC_ESC, _______
)
};
diff --git a/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c b/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c
index e9daa7fab8..0077c4d836 100644
--- a/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c
+++ b/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c
@@ -19,7 +19,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEF] = 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,
+ MT_A, MT_S, MT_D, MT_F, KC_G, KC_H, MT_J, MT_K, MT_L, MT_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TAB, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
OSMLCTL, MT_ESC, OSMLALT, OSL_FUN, MT_BSPC, OSL_LWR, OSL_RSE, MT_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FUN] = 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_F13, KC_F14, KC_F15, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
- _______, _______, _______, _______, _______, RESET, EEP_RST, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
+ _______, _______, _______, _______, _______, QK_BOOT, EEP_RST, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
)
};
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h b/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h
new file mode 100644
index 0000000000..f66f840bfd
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/kkokdae/config.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 kkokdae <kkokdae@me.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 PERMISSIVE_HOLD
+#define IGNORE_MOD_TAP_INTERRUPT
+#define TAPPING_TERM 200
+#define ONESHOT_TAP_TOGGLE 5
+#define ONESHOT_TIMEOUT 5000
+
+#define AUTO_SHIFT_DISABLED_AT_STARTUP
+#define AUTO_SHIFT_TIMEOUT 0
+#define NO_AUTO_SHIFT_SPECIAL
+#define NO_AUTO_SHIFT_NUMERIC
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c b/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
new file mode 100644
index 0000000000..0110c64395
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
@@ -0,0 +1,127 @@
+/* Copyright 2022 kkokdae <kkokdae@me.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 my_layers {
+ _COLEMAK,
+ _QWERTY,
+ _FUNC,
+ _NUMPAD,
+ _SYMBOL
+};
+
+enum my_tds {
+ TdH,
+ TdL
+};
+
+#define FUNC LT(_FUNC, KC_SPC)
+#define NUMPAD LT(_NUMPAD, KC_BSPC)
+#define DNUMPAD LT(_NUMPAD, KC_DEL)
+#define SYMBOL OSL(_SYMBOL)
+
+#define OSMCMD OSM(MOD_LGUI)
+#define OSMOPT OSM(MOD_LALT)
+#define OSMCTL OSM(MOD_LCTL)
+#define OSMSFT OSM(MOD_LSFT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_COLEMAK] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
+ KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
+ KC_Z, KC_X, KC_C, KC_D, KC_V, _______, _______, KC_K, KC_H, KC_COMM, KC_DOT, KC_ENT,
+ OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
+ ),
+
+ [_QWERTY] = 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_QUOT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
+ OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
+ ),
+
+ [_FUNC] = LAYOUT(
+ KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD, KC_MPLY, KC_INS, KC_F7, KC_F8, KC_F9, KC_CAPS,
+ KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_BRIU, KC_F12, KC_F4, KC_F5, KC_F6, TD(TdL),
+ KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_BRID, _______, _______, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11,
+ _______, _______, _______, KC_ASTG, _______, _______, _______, DNUMPAD, _______, _______, _______, _______
+ ),
+
+ [_NUMPAD] = LAYOUT(
+ _______, _______, _______, _______, _______, S(KC_E), KC_7, KC_8, KC_9, S(KC_F),
+ TD(TdL), KC_EQL, KC_ASTR, KC_PLUS, _______, S(KC_C), KC_4, KC_5, KC_6, S(KC_D),
+ TD(TdH), KC_DOT, KC_SLSH, KC_MINS, _______, _______, _______, S(KC_A), KC_1, KC_2, KC_3, S(KC_B),
+ _______, _______, _______, KC_ASTG, _______, _______, _______, _______, KC_0, _______, _______, _______
+ ),
+
+ [_SYMBOL] = LAYOUT(
+ KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_CIRC, KC_DLR, KC_BSLS, KC_PERC, KC_AT, KC_DQUO,
+ KC_QUES, KC_EXLM, KC_HASH, KC_ASTR, KC_AMPR, KC_PIPE, KC_MINS, KC_PLUS, KC_UNDS, KC_EQL,
+ KC_LT, KC_LPRN, KC_RPRN, KC_GT, KC_GRV, _______, _______, KC_TILD, KC_SLSH, C(KC_B), KC_COLN, KC_SCLN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case KC_MINS:
+ case KC_UNDS:
+ case KC_BSPC:
+ return false;
+ }
+
+ switch(keycode & 0xFF) {
+ case KC_1 ... KC_UP:
+ autoshift_disable();
+ default:
+ return false;
+ }
+}
+
+void dance_hex(qk_tap_dance_state_t *state, void *user_data) {
+ switch(state->count) {
+ case 1:
+ SEND_STRING("0x");
+ break;
+ case 2:
+ SEND_STRING("\\x");
+ break;
+ }
+}
+
+void dance_lang(qk_tap_dance_state_t *state, void *user_data) {
+ uint32_t default_layer;
+ switch(state->count) {
+ case 1:
+ SEND_STRING(SS_LCTL(" ") SS_DELAY(200) SS_TAP(X_ENT));
+ case 2:
+ default_layer = get_highest_layer(default_layer_state);
+ if (default_layer == _COLEMAK) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ else if (default_layer == _QWERTY) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ }
+}
+
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TdH] = ACTION_TAP_DANCE_FN(dance_hex),
+ [TdL] = ACTION_TAP_DANCE_FN(dance_lang)
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md b/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md
new file mode 100644
index 0000000000..b67e31c49f
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/kkokdae/readme.md
@@ -0,0 +1,7 @@
+# kkokdae keymap - Keyboardio Atreus
+
+This is the keymap available for keyboardio/atreus keyboards.
+
+The default layout used [Colemak Mod-DH](https://colemakmods.github.io/mod-dh/). The prefix keys for vim/tmux users. The symbol is designed for ease of use by programmers.
+
+It used the idea of [Caps Work Behavior](https://zmk.dev/docs/behaviors/caps-word) by ZMK Firmware. I want to officially add this feature to QMK in the future
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk b/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk
new file mode 100644
index 0000000000..d24c14122a
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/kkokdae/rules.mk
@@ -0,0 +1,3 @@
+MOUSEKEY_ENABLE = no
+TAP_DANCE_ENABLE = yes
+AUTO_SHIFT_ENABLE = yes
diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
index 3de799f942..4251834da2 100644
--- a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c b/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c
index 9e47155f44..2d4685c53a 100644
--- a/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c
+++ b/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[L_FN] = LAYOUT(
_______,_______,_______,_______,_______, KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12,
_______,_______,_______,_______,_______, KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8,
- _______,K_SECR1,K_SECR2,K_SECR3,K_SECR4,MS_JIGL,RESET, KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4,
+ _______,K_SECR1,K_SECR2,K_SECR3,K_SECR4,MS_JIGL,QK_BOOT, KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4,
DF_TYPE,DF_GAME,_______,_______,_______,KC_LCTL,KC_LALT,_______,_______,_______,_______,ooooooo
),
diff --git a/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c b/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c
index 2bd30bc586..9d7dc826fb 100644
--- a/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c
@@ -167,13 +167,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|------+------+------+------+------+------.,------+------+------+------+------+------|
| |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | |
|------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | | | RESET|
+ | | | | | | || | | | | | QK_BOOT|
`-----------------------------------------'`-----------------------------------------'*/
[_ADJUST] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_F11, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12 ,
_______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
};
diff --git a/keyboards/keyboardio/model01/config.h b/keyboards/keyboardio/model01/config.h
index 30538c56f1..2bb5cb7386 100644
--- a/keyboards/keyboardio/model01/config.h
+++ b/keyboards/keyboardio/model01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2301
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keyboardio
-#define PRODUCT Model 01
-
/* key matrix size; rows are doubled for split */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
diff --git a/keyboards/keyboardio/model01/info.json b/keyboards/keyboardio/model01/info.json
index e934a7b66d..a99ab953c7 100644
--- a/keyboards/keyboardio/model01/info.json
+++ b/keyboards/keyboardio/model01/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "model01",
+ "keyboard_name": "Model 01",
+ "manufacturer": "Keyboardio",
"url": "https://keyboard.io",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x2301",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyboardio/model01/keymaps/dshields/keymap.c b/keyboards/keyboardio/model01/keymaps/dshields/keymap.c
index 04887124f9..2d257fe371 100644
--- a/keyboards/keyboardio/model01/keymaps/dshields/keymap.c
+++ b/keyboards/keyboardio/model01/keymaps/dshields/keymap.c
@@ -3,9 +3,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEF] = LAYOUT(
- RESET , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
+ QK_BOOT, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , RGB_TOG, DM_REC1, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_EQL ,
- KC_PGUP, KC_A , KC_S , KC_D , KC_F , KC_G , KC_TAB , KC_ENT , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
+ KC_PGUP, MT_A , MT_S , MT_D , MT_F , KC_G , KC_TAB , KC_ENT , KC_H , MT_J , MT_K , MT_L , MT_SCLN, KC_QUOT,
KC_PGDN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ESC , DM_PLY1, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
OSMLCTL, OSMRCTL,
KC_BSPC, KC_SPC ,
diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c b/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
index 3171dd36f9..900a3f29aa 100644
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
+++ b/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
@@ -24,7 +24,7 @@ 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_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,
+ DE_BSLS, DE_HASH, DE_LABK, DE_LBRC, DE_RBRC, DE_RABK, _______, QK_BOOT, DE_AT , DE_EURO, DE_SCLN, DE_COLN, DE_UNDS, DE_PLUS,
_______, _______,
_______, _______,
_______, _______,
diff --git a/keyboards/keycapsss/kimiko/info.json b/keyboards/keycapsss/kimiko/info.json
deleted file mode 100644
index 7b3749f503..0000000000
--- a/keyboards/keycapsss/kimiko/info.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "keyboard_name": "Kimiko",
- "url": "https://keycapsss.com",
- "maintainer": "@ben_roe Keycapsss",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":0.8},
- {"x":1, "y":0.8},
- {"x":2, "y":0.15},
- {"x":3, "y":0},
- {"x":4, "y":0.15},
- {"x":5, "y":0.3},
- {"x":9, "y":0.3},
- {"x":10, "y":0.15},
- {"x":11, "y":0},
- {"x":12, "y":0.15},
- {"x":13, "y":0.8},
- {"x":14, "y":0.8},
-
- {"x":0, "y":1.8},
- {"x":1, "y":1.8},
- {"x":2, "y":1.15},
- {"x":3, "y":1},
- {"x":4, "y":1.15},
- {"x":5, "y":1.3},
- {"x":9, "y":1.3},
- {"x":10, "y":1.15},
- {"x":11, "y":1},
- {"x":12, "y":1.15},
- {"x":13, "y":1.8},
- {"x":14, "y":1.8},
-
- {"x":0, "y":2.8},
- {"x":1, "y":2.8},
- {"x":2, "y":2.15},
- {"x":3, "y":2},
- {"x":4, "y":2.15},
- {"x":5, "y":2.3},
- {"x":9, "y":2.3},
- {"x":10, "y":2.15},
- {"x":11, "y":2},
- {"x":12, "y":2.15},
- {"x":13, "y":2.8},
- {"x":14, "y":2.8},
-
- {"x":0, "y":3.8},
- {"x":1, "y":3.8},
- {"x":2, "y":3.15},
- {"x":3, "y":3},
- {"x":4, "y":3.15},
- {"x":5, "y":3.3},
- {"x":6.25, "y":3.3},
- {"x":7.75, "y":3.3},
- {"x":9, "y":3.3},
- {"x":10, "y":3.15},
- {"x":11, "y":3},
- {"x":12, "y":3.15},
- {"x":13, "y":3.8},
- {"x":14, "y":3.8},
-
- {"x":2, "y":4.15},
- {"x":3, "y":4},
- {"x":4, "y":4.15},
- {"x":5.25, "y":4.3},
- {"x":6.25, "y":4.25, "h":1.5},
- {"x":7.75, "y":4.25, "h":1.5},
- {"x":8.75, "y":4.3},
- {"x":10, "y":4.15},
- {"x":11, "y":4},
- {"x":12, "y":4.15}
- ]
- }
- }
-}
diff --git a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
index 7e767852f6..613041e858 100644
--- a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
@@ -332,78 +332,13 @@ bool oled_task_user(void) {
#endif
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
+};
+#endif // ENCODER_MAP_ENABLE
+
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- // Encoder on master side
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- // If the Default (QWERTY) layer is active
- case _QWERTY:
- // Arrow Up/Down
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- break;
-
- // If the RAISE layer is active
- case _RAISE:
- // Switch browser tabs
- if (clockwise) {
- tap_code16(LCTL(KC_TAB));
- } else {
- tap_code16(RCS(KC_TAB));
- }
- break;
- // If the ADJUST layer is active
- case _ADJUST:
- // RGB brightness up/down
- if (clockwise) {
- rgblight_decrease_val(); // tap_code(RGB_VAD);
- } else {
- rgblight_increase_val(); // tap_code(RGB_VAI);
- }
- break;
- }
- }
- // Encoder on slave side
- else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- // If the Default (QWERTY) layer is active
- case _QWERTY:
- // Scroll by Word
- if (clockwise) {
- tap_code16(LCTL(KC_RGHT));
- } else {
- tap_code16(LCTL(KC_LEFT));
- }
- break;
-
- // If the LOWER layer is active
- case _LOWER:
- // Volume up/down
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
-
- // If the ADJUST layer is active
- case _ADJUST:
- // RGB hue up/down
- if (clockwise) {
- // tap_code(RGB_HUI);
- rgblight_increase_hue();
- } else {
- // tap_code(RGB_HUD);
- rgblight_decrease_hue();
- }
- break;
- }
- }
- return true;
-}
-#endif // ENCODER_ENABLE
diff --git a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk
index 5dc0c64072..75655f2bd5 100644
--- a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk
+++ b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk
@@ -7,3 +7,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features.
# This does not affect QMK Macros and Layers
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h
new file mode 100644
index 0000000000..5e91a21c73
--- /dev/null
+++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h
@@ -0,0 +1,75 @@
+/* Copyright 2019 MechMerlin
+ * Copyright 2020 @ben_roe (keycapsss.com)
+ * Copyright 2022 @oriaj3
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Select hand configuration */
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/rgb_matrix/glcdfont.c"
+// #define OLED_FONT_WIDTH 5
+// #define OLED_FONT_HEIGHT 7
+
+
+#ifdef RGB_MATRIX_ENABLE
+
+// The pin connected to the data pin of the LEDs
+#define RGB_DI_PIN D3
+// The number of LEDs connected
+#define DRIVER_LED_TOTAL 60
+#define RGBLED_NUM 60
+#define RGB_MATRIX_SPLIT {30,30}
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_TRANSPORT_MIRROR
+
+
+# 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 // 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 80 // limits maximum brightness of LEDs to 80 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
+
+
+
+// ENABLES EFFECTS. See alls the effects -> https://github.com/samhocevar-forks/qmk-firmware/blob/master/docs/feature_rgb_matrix.md#rgb-matrix-effects
+# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
+# define ENABLE_RGB_MATRIX_BAND_SPLIT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+//# define ENABLE_RGB_MATRIX_MULTISPLASH
+//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SPLASH
+#endif
+
+// 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/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c
new file mode 100644
index 0000000000..ff2f3bdcd5
--- /dev/null
+++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c
@@ -0,0 +1,251 @@
+/* Copyright 2019 MechMerlin
+ * Copyright 2020 @ben_roe (keycapsss.com)
+ * Copyright 2022 @oriaj3
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "progmem.h"
+
+// Corne 8x6 font
+// Online editor: https://helixfonteditor.netlify.com
+// or https://joric.github.io/qle/
+// See also: https://github.com/soundmonster/glcdfont_converter
+
+const unsigned char font[] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x13, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2,
+ 0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
+ 0x22, 0x22, 0x42, 0x82, 0x02, 0x02,
+ 0x22, 0x22, 0x02, 0x04, 0xF8, 0x00,
+ 0x00, 0xF8, 0x04, 0x02, 0x02, 0x82,
+ 0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
+ 0x02, 0x82, 0x42, 0x22, 0x12, 0x22,
+ 0x42, 0x82, 0x02, 0x04, 0xF8, 0x00,
+ 0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E,
+ 0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
+ 0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+ 0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00,
+ 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E,
+ 0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+ 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+ 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
+ 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
+ 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
+ 0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
+ 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
+ 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
+ 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
+ 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
+ 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0,
+ 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06,
+ 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F,
+ 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B,
+ 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F,
+ 0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47,
+ 0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
+ 0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
+ 0x44, 0x44, 0x40, 0x20, 0x1F, 0x00,
+ 0x00, 0x1F, 0x20, 0x40, 0x41, 0x40,
+ 0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
+ 0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
+ 0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00,
+ 0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78,
+ 0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
+ 0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00,
+ 0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
+ 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
+ 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
+ 0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
+ 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
+ 0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
+ 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
+ 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
+ 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
+ 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
+ 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
+ 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
+ 0x00, 0x84, 0x87, 0x7D, 0x55, 0x57,
+ 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91,
+ 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55,
+ 0x95, 0x91, 0x00, 0x08, 0x08, 0x08,
+ 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08,
+ 0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+ 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+ 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04,
+ 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20,
+ 0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+ 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+ 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
+ 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
+ 0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE,
+ 0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00,
+ 0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77,
+ 0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+ 0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
+ 0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
+ 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
+ 0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
+ 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
+ 0x03, 0x02, 0x01, 0x01, 0x00, 0x00,
+};
diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c b/keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c
new file mode 100644
index 0000000000..fa90c8cce8
--- /dev/null
+++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c
@@ -0,0 +1,413 @@
+/* Copyright 2019 Leo Batyuk
+ * Copyright 2020 Drashna Jaelre <@drashna>
+ * Copyright 2020 @ben_roe (keycapsss.com)
+ * Copyright 2022 @oriaj3
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* QWERTY
+ * ,--------------------------------------------. ,----------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |---------+------+------+------+------+------| |------+------+------+------+------+-----------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
+ * |---------+------+------+------+------+------| |------+------+------+------+------+-----------|
+ * | LShift | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |---------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------|
+ * | LCTRL | Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift/Enter|
+ * `-------------------------------------------| / \ \-----------------------------------------------'
+ * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT |
+ * `----------------------------------' '------------------------------------'
+ */
+
+ [_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_GRV,
+ 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_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT
+),
+/* LOWER
+ * ,-------------------------------------------. ,-----------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | _ | + | { | } | \ |
+ * `-------------------------------------------| / \ \-----------------------------------------------'
+ * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT |
+ * `----------------------------------' '------------------------------------'
+ */
+
+[_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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
+ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* RAISE
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT |
+ * `----------------------------------' '------------------------------------'
+ */
+
+[_RAISE] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* ADJUST (Press LOWER and RAISE together)
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * |QK_BOOT | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |RGB ON| HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | MODE | HUE- | SAT- | VAL- | | |-------. ,-------| VOL+ | MUTE | VOL- | | | |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | | | | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * |LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT |
+ * `----------------------------------' '------------------------------------'
+ */
+
+[_ADJUST] = LAYOUT(
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
+ return state;
+}
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ } else {
+ return OLED_ROTATION_270;
+ }
+}
+
+void render_space(void) {
+ oled_write_P(PSTR(" "), false);
+}
+
+void render_mod_status_gui_alt(uint8_t modifiers) {
+ static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0};
+ static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0};
+ static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0};
+ static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0};
+
+ static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0};
+ static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0};
+ static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0};
+ static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_1, false);
+ } else {
+ oled_write_P(gui_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_1, false);
+ } else {
+ oled_write_P(alt_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(gui_on_2, false);
+ } else {
+ oled_write_P(gui_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_GUI) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_ALT) {
+ oled_write_P(alt_on_2, false);
+ } else {
+ oled_write_P(alt_off_2, false);
+ }
+}
+
+void render_mod_status_ctrl_shift(uint8_t modifiers) {
+ static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0};
+ static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0};
+ static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0};
+ static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0};
+
+ static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0};
+ static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0};
+ static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0};
+ static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0};
+
+ // fillers between the modifier icons bleed into the icon frames
+ static const char PROGMEM off_off_1[] = {0xc5, 0};
+ static const char PROGMEM off_off_2[] = {0xc6, 0};
+ static const char PROGMEM on_off_1[] = {0xc7, 0};
+ static const char PROGMEM on_off_2[] = {0xc8, 0};
+ static const char PROGMEM off_on_1[] = {0xc9, 0};
+ static const char PROGMEM off_on_2[] = {0xca, 0};
+ static const char PROGMEM on_on_1[] = {0xcb, 0};
+ static const char PROGMEM on_on_2[] = {0xcc, 0};
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_1, false);
+ } else {
+ oled_write_P(ctrl_off_1, false);
+ }
+
+ if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
+ oled_write_P(on_on_1, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_1, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_1, false);
+ } else {
+ oled_write_P(off_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_1, false);
+ } else {
+ oled_write_P(shift_off_1, false);
+ }
+
+ if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(ctrl_on_2, false);
+ } else {
+ oled_write_P(ctrl_off_2, false);
+ }
+
+ if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) {
+ oled_write_P(on_on_2, false);
+ } else if(modifiers & MOD_MASK_CTRL) {
+ oled_write_P(on_off_2, false);
+ } else if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(off_on_2, false);
+ } else {
+ oled_write_P(off_off_2, false);
+ }
+
+ if(modifiers & MOD_MASK_SHIFT) {
+ oled_write_P(shift_on_2, false);
+ } else {
+ oled_write_P(shift_off_2, false);
+ }
+}
+
+void render_logo(void) {
+ static const char PROGMEM corne_logo[] = {
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0};
+ oled_write_P(corne_logo, false);
+ // oled_write_P(PSTR("Kimiko"), false);
+}
+
+void render_layer_state(void) {
+ static const char PROGMEM default_layer[] = {
+ 0x20, 0x94, 0x95, 0x96, 0x20,
+ 0x20, 0xb4, 0xb5, 0xb6, 0x20,
+ 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0};
+ static const char PROGMEM raise_layer[] = {
+ 0x20, 0x97, 0x98, 0x99, 0x20,
+ 0x20, 0xb7, 0xb8, 0xb9, 0x20,
+ 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0};
+ static const char PROGMEM lower_layer[] = {
+ 0x20, 0x9a, 0x9b, 0x9c, 0x20,
+ 0x20, 0xba, 0xbb, 0xbc, 0x20,
+ 0x20, 0xda, 0xdb, 0xdc, 0x20, 0};
+ static const char PROGMEM adjust_layer[] = {
+ 0x20, 0x9d, 0x9e, 0x9f, 0x20,
+ 0x20, 0xbd, 0xbe, 0xbf, 0x20,
+ 0x20, 0xdd, 0xde, 0xdf, 0x20, 0};
+ if(layer_state_is(_ADJUST)) {
+ oled_write_P(adjust_layer, false);
+ } else if(layer_state_is(_LOWER)) {
+ oled_write_P(lower_layer, false);
+ } else if(layer_state_is(_RAISE)) {
+ oled_write_P(raise_layer, false);
+ } else {
+ oled_write_P(default_layer, false);
+ }
+}
+
+void render_status_main(void) {
+ render_space();
+ render_space();
+ render_logo();
+ render_space();
+ render_layer_state();
+ render_space();
+ render_mod_status_gui_alt(get_mods()|get_oneshot_mods());
+ render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods());
+}
+
+void render_status_secondary(void) {
+ render_space();
+ render_space();
+ render_logo();
+ render_space();
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
+ } else {
+ render_status_secondary();
+ }
+ return false;
+}
+
+#endif
+
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ // Encoder on master side
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+ // If the Default (QWERTY) layer is active
+ case _QWERTY:
+ // Arrow Up/Down
+ if (clockwise) {
+ tap_code(KC_DOWN);
+ } else {
+ tap_code(KC_UP);
+ }
+ break;
+
+ // If the RAISE layer is active
+ case _RAISE:
+ // Switch browser tabs
+ if (clockwise) {
+ tap_code16(LCTL(KC_TAB));
+ } else {
+ tap_code16(RCS(KC_TAB));
+ }
+ break;
+ // If the ADJUST layer is active
+ case _ADJUST:
+ // RGB brightness up/down
+ if (clockwise) {
+ rgblight_decrease_val(); // tap_code(RGB_VAD);
+ } else {
+ rgblight_increase_val(); // tap_code(RGB_VAI);
+ }
+ break;
+ }
+ }
+ // Encoder on slave side
+ else if (index == 1) {
+ switch (get_highest_layer(layer_state)) {
+ // If the Default (QWERTY) layer is active
+ case _QWERTY:
+ // Scroll by Word
+ if (clockwise) {
+ tap_code16(LCTL(KC_RGHT));
+ } else {
+ tap_code16(LCTL(KC_LEFT));
+ }
+ break;
+
+ // If the LOWER layer is active
+ case _LOWER:
+ // Volume up/down
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+
+ // If the ADJUST layer is active
+ case _ADJUST:
+ // RGB hue up/down
+ if (clockwise) {
+ // tap_code(RGB_HUI);
+ rgblight_increase_hue();
+ } else {
+ // tap_code(RGB_HUD);
+ rgblight_decrease_hue();
+ }
+ break;
+ }
+ }
+ return false;
+}
+#endif // ENCODER_ENABLE
+
+
+
diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk
new file mode 100644
index 0000000000..0229490d44
--- /dev/null
+++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk
@@ -0,0 +1,21 @@
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 # Enables the use of OLED displays
+ENCODER_ENABLE = yes # ENables the use of one or more encoders
+RGBLIGHT_ENABLE = no # Disable keyboard RGB underglow
+
+# LTO: Link Time Optimizations.
+# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features.
+# This does not affect QMK Macros and Layers
+LTO_ENABLE = yes
+
+#ENABLE RGB MATRIX WITH DRIVER WS2812
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+#DEFINE SPLIT KEYBOARD AND SPLIT TRANSPORT MIRROR
+SPLIT_KEYBOARD = yes
+
+#DEACTIVATED FOR MEMORY SAVING
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no
+
diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c
index 6d44d45333..c35cb62544 100644
--- a/keyboards/keycapsss/kimiko/kimiko.c
+++ b/keyboards/keycapsss/kimiko/kimiko.c
@@ -15,3 +15,64 @@
*/
#include "kimiko.h"
+#ifdef RGB_MATRIX_ENABLE
+
+//Thanks to Ben (keycapsss) for helpipng me to create g_led_config
+
+// Physical LED position
+// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224
+// -----------------------------------------------------------| Y
+// 5 4 3 2 1 0 0 1 2 3 4 5 | 0
+// 6 7 8 9 10 11 11 10 9 8 7 6 | 16
+// 17 16 15 14 13 12 12 13 14 15 16 17 | 32
+// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48
+// 29 28 27 26 25 25 26 27 28 29 | 64
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 5, 4, 3, 2, 1, 0 },
+ { 6, 7, 8, 9, 10, 11 },
+ { 17, 16, 15, 14, 13, 12 },
+ { 18, 19, 20, 21, 22, 23 },
+ { 29, 28, 27, 26, 25, 24 },
+ { 35, 34, 33, 32, 31, 30 },
+ { 36, 37, 38, 39, 40, 41 },
+ { 47, 46, 45, 44, 43, 42 },
+ { 48, 49, 50, 51, 52, 53 },
+ { 59, 58, 57, 56, 55, 54 }
+}, {
+ // LED Index to Physical Position
+ // Left half
+ { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 },
+ { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 },
+ { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 },
+ { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 },
+ { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 },
+ // Right half
+ { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 },
+ { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 },
+ { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 },
+ { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 },
+ { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 }
+
+}, {
+ // LED Index to Flag
+ // 0x01 = 1 = modifier key
+ // 0x02 = 2 = underglow
+ // 0x04 = 4 = key backlight
+ // 0x08 = 8 = keyboard state indication
+ // Left half
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 4, 1,
+ 4, 4, 1, 1, 1, 1,
+ // Right half
+ 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, 1, 1, 1, 1
+} };
+
+#endif // RGB_MATRIX_ENABLE \ No newline at end of file
diff --git a/keyboards/keycapsss/kimiko/kimiko.h b/keyboards/keycapsss/kimiko/kimiko.h
index a67496eb50..948f397a90 100644
--- a/keyboards/keycapsss/kimiko/kimiko.h
+++ b/keyboards/keycapsss/kimiko/kimiko.h
@@ -15,25 +15,8 @@
*/
#pragma once
-#include "quantum.h"
-
-#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, \
- L30, L31, L32, L33, L34, L35, L40, R40, R30, R31, R32, R33, R34, R35, \
- L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L41, L42, L43, L44, L45, L40 }, \
- { R05, R04, R03, R02, R01, R00 }, \
- { R15, R14, R13, R12, R11, R10 }, \
- { R25, R24, R23, R22, R21, R20 }, \
- { R35, R34, R33, R32, R31, R30 }, \
- { R45, R44, R43, R42, R41, R40 } \
- }
+#ifdef KEYBOARD_keycapsss_kimiko_rev1
+# include "rev1.h"
+#endif
+#include "quantum.h"
diff --git a/keyboards/keycapsss/kimiko/rev1/config.h b/keyboards/keycapsss/kimiko/rev1/config.h
index 502eaa1e4a..5ba2fd4abf 100644
--- a/keyboards/keycapsss/kimiko/rev1/config.h
+++ b/keyboards/keycapsss/kimiko/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7983
-#define PRODUCT_ID 0x4B69 //Ki
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keycapsss
-#define PRODUCT Kimiko
-
/* key matrix size */
// rows are doubled-up for split-keyboard
#define MATRIX_ROWS 10
diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json
new file mode 100644
index 0000000000..2aef1306ec
--- /dev/null
+++ b/keyboards/keycapsss/kimiko/rev1/info.json
@@ -0,0 +1,81 @@
+{
+ "keyboard_name": "Kimiko",
+ "manufacturer": "Keycapsss",
+ "url": "https://keycapsss.com",
+ "maintainer": "@ben_roe Keycapsss",
+ "usb": {
+ "vid": "0x7983",
+ "pid": "0x4B69",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0.8},
+ {"x":1, "y":0.8},
+ {"x":2, "y":0.15},
+ {"x":3, "y":0},
+ {"x":4, "y":0.15},
+ {"x":5, "y":0.3},
+ {"x":9, "y":0.3},
+ {"x":10, "y":0.15},
+ {"x":11, "y":0},
+ {"x":12, "y":0.15},
+ {"x":13, "y":0.8},
+ {"x":14, "y":0.8},
+
+ {"x":0, "y":1.8},
+ {"x":1, "y":1.8},
+ {"x":2, "y":1.15},
+ {"x":3, "y":1},
+ {"x":4, "y":1.15},
+ {"x":5, "y":1.3},
+ {"x":9, "y":1.3},
+ {"x":10, "y":1.15},
+ {"x":11, "y":1},
+ {"x":12, "y":1.15},
+ {"x":13, "y":1.8},
+ {"x":14, "y":1.8},
+
+ {"x":0, "y":2.8},
+ {"x":1, "y":2.8},
+ {"x":2, "y":2.15},
+ {"x":3, "y":2},
+ {"x":4, "y":2.15},
+ {"x":5, "y":2.3},
+ {"x":9, "y":2.3},
+ {"x":10, "y":2.15},
+ {"x":11, "y":2},
+ {"x":12, "y":2.15},
+ {"x":13, "y":2.8},
+ {"x":14, "y":2.8},
+
+ {"x":0, "y":3.8},
+ {"x":1, "y":3.8},
+ {"x":2, "y":3.15},
+ {"x":3, "y":3},
+ {"x":4, "y":3.15},
+ {"x":5, "y":3.3},
+ {"x":6.25, "y":3.3},
+ {"x":7.75, "y":3.3},
+ {"x":9, "y":3.3},
+ {"x":10, "y":3.15},
+ {"x":11, "y":3},
+ {"x":12, "y":3.15},
+ {"x":13, "y":3.8},
+ {"x":14, "y":3.8},
+
+ {"x":2, "y":4.15},
+ {"x":3, "y":4},
+ {"x":4, "y":4.15},
+ {"x":5.25, "y":4.3},
+ {"x":6.25, "y":4.25, "h":1.5},
+ {"x":7.75, "y":4.25, "h":1.5},
+ {"x":8.75, "y":4.3},
+ {"x":10, "y":4.15},
+ {"x":11, "y":4},
+ {"x":12, "y":4.15}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keycapsss/o4l_5x12/config.h b/keyboards/keycapsss/o4l_5x12/config.h
index 4b7b863906..84a262e874 100644
--- a/keyboards/keycapsss/o4l_5x12/config.h
+++ b/keyboards/keycapsss/o4l_5x12/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7983
-#define PRODUCT_ID 0x0512
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keycapsss
-#define PRODUCT O4L:5x12
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4, D0, D1, D2, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keycapsss/o4l_5x12/info.json b/keyboards/keycapsss/o4l_5x12/info.json
index 3553ada42b..41f7732f5f 100644
--- a/keyboards/keycapsss/o4l_5x12/info.json
+++ b/keyboards/keycapsss/o4l_5x12/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "O4L 5x12",
+ "keyboard_name": "O4L:5x12",
+ "manufacturer": "Keycapsss",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/keycapsss/o4l_5x12",
"maintainer": "BenRoe",
+ "usb": {
+ "vid": "0x7983",
+ "pid": "0x0512",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c b/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
index 75d89702c9..751e5faa00 100644
--- a/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
+++ b/keyboards/keycapsss/o4l_5x12/keymaps/2x2u/keymap.c
@@ -50,7 +50,7 @@ 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_DEL,
RGB_M_P, KC_LCBR, KC_LBRC, KC_LPRN, KC_SLSH, KC_BSLS, KC_RPRN, KC_RBRC, KC_RCBR, _______, _______, KC_PIPE,
RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_TOG, RESET, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ RGB_TOG, QK_BOOT, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
};
diff --git a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
index 050b5a2c3e..2f64a56e9a 100644
--- a/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/o4l_5x12/keymaps/default/keymap.c
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keycapsss/plaid_pad/config.h b/keyboards/keycapsss/plaid_pad/config.h
index 373d3de14f..fd9c63f339 100644
--- a/keyboards/keycapsss/plaid_pad/config.h
+++ b/keyboards/keycapsss/plaid_pad/config.h
@@ -18,11 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7983
-#define PRODUCT_ID 0x5050 // "PP"
-#define MANUFACTURER Keycapsss
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/keycapsss/plaid_pad/info.json b/keyboards/keycapsss/plaid_pad/info.json
index 1ccac5d2cc..c223b88065 100644
--- a/keyboards/keycapsss/plaid_pad/info.json
+++ b/keyboards/keycapsss/plaid_pad/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Plaid-Pad",
+ "manufacturer": "Keycapsss",
"url": "https://keycapsss.com/diy-kits/104/plaid-pad-4x4-numpad",
"maintainer": "BenRoe",
+ "usb": {
+ "vid": "0x7983",
+ "pid": "0x5050"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/keycapsss/plaid_pad/rev1/config.h b/keyboards/keycapsss/plaid_pad/rev1/config.h
index fee25316dd..5956835a0b 100644
--- a/keyboards/keycapsss/plaid_pad/rev1/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev1/config.h
@@ -16,11 +16,6 @@
#pragma once
-#define PRODUCT Plaid-Pad Rev1
-#define DEVICE_VER 0x0001
-
-#define UNUSED_PINS { B3, B4, B5, D4}
-
#define ENCODERS_PAD_A { D1, B2 }
#define ENCODERS_PAD_B { D0, B1 }
diff --git a/keyboards/keycapsss/plaid_pad/rev1/info.json b/keyboards/keycapsss/plaid_pad/rev1/info.json
new file mode 100644
index 0000000000..3d98c4cb57
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Plaid-Pad Rev1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/keycapsss/plaid_pad/rev2/config.h b/keyboards/keycapsss/plaid_pad/rev2/config.h
index f3646dd575..efb2609edd 100644
--- a/keyboards/keycapsss/plaid_pad/rev2/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev2/config.h
@@ -16,11 +16,6 @@
#pragma once
-#define PRODUCT Plaid-Pad Rev2
-#define DEVICE_VER 0x0002
-
-#define UNUSED_PINS { }
-
#define ENCODERS_PAD_A { D1, B2, B4, D4 }
#define ENCODERS_PAD_B { D0, B1, B3, B5 }
diff --git a/keyboards/keycapsss/plaid_pad/rev2/info.json b/keyboards/keycapsss/plaid_pad/rev2/info.json
new file mode 100644
index 0000000000..0a1da66f73
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Plaid-Pad Rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/keycapsss/plaid_pad/rev3/config.h b/keyboards/keycapsss/plaid_pad/rev3/config.h
index 40f96cd5c8..7e4786c5bc 100644
--- a/keyboards/keycapsss/plaid_pad/rev3/config.h
+++ b/keyboards/keycapsss/plaid_pad/rev3/config.h
@@ -16,10 +16,5 @@
#pragma once
-#define PRODUCT Plaid-Pad Rev3
-#define DEVICE_VER 0x0003
-
-#define UNUSED_PINS { }
-
#define ENCODERS_PAD_A { D1, B2, B4, D4 }
#define ENCODERS_PAD_B { D0, B1, B3, B5 }
diff --git a/keyboards/keycapsss/plaid_pad/rev3/info.json b/keyboards/keycapsss/plaid_pad/rev3/info.json
new file mode 100644
index 0000000000..2f5b474c4d
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/rev3/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Plaid-Pad Rev3",
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/keychron/q0/config.h b/keyboards/keychron/q0/config.h
new file mode 100644
index 0000000000..40f506fe80
--- /dev/null
+++ b/keyboards/keychron/q0/config.h
@@ -0,0 +1,101 @@
+/* Copyright 2022 @ Keychron(https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
+#define MATRIX_COL_PINS { A5, A6, A7, B0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* RGB Matrix Driver Configuration */
+#define DRIVER_COUNT 1
+#define DRIVER_ADDR_1 0b1110100
+
+#define CONSTANT_CURRENT_STEP \
+ { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
+
+/* NKRO */
+#define FORCE_NKRO
+
+/* turn off effects when suspended */
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+/* We have 2KB EEPROM size on STM32L432 */
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
+
+/* EEPROM Driver Configuration */
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+// #define ENABLE_RGB_MATRIX_BAND_SAT
+// #define ENABLE_RGB_MATRIX_BAND_VAL
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// #define ENABLE_RGB_MATRIX_HUE_BREATHING
+// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+// #define ENABLE_RGB_MATRIX_HUE_WAVE
+// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
+// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
+// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+// #define RGB_MATRIX_KEYPRESSES \ No newline at end of file
diff --git a/keyboards/keychron/q0/halconf.h b/keyboards/keychron/q0/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/q0/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/keychron/q0/mcuconf.h b/keyboards/keychron/q0/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q0/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c
new file mode 100644
index 0000000000..c43157ac68
--- /dev/null
+++ b/keyboards/keychron/q0/q0.c
@@ -0,0 +1,57 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "q0.h"
+
+#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX)
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ switch (keycode) {
+# ifdef RGB_MATRIX_ENABLE
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ } break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ } break;
+ }
+ }
+ return false;
+# endif
+ }
+ return true;
+}
+
+__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
+
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255);
+ } else {
+ if (!rgb_matrix_get_flags()) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0);
+ }
+ }
+}
+
+#endif // NUM_LOCK_LED_INDEX
diff --git a/keyboards/keychron/q0/q0.h b/keyboards/keychron/q0/q0.h
new file mode 100644
index 0000000000..6eaa41e87c
--- /dev/null
+++ b/keyboards/keychron/q0/q0.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#if defined(KEYBOARD_keychron_q0_rev_0130)
+# include "rev_0130.h"
+#endif
diff --git a/keyboards/keychron/q0/readme.md b/keyboards/keychron/q0/readme.md
new file mode 100644
index 0000000000..d0180d386e
--- /dev/null
+++ b/keyboards/keychron/q0/readme.md
@@ -0,0 +1,19 @@
+# Keychron Q0
+
+A customizable number keypad.
+
+* Keyboard Maintainer: [Keychron](https://github.com/keychron)
+* Hardware Supported: Keychron Q0
+* Hardware Availability: [Keychron](https://www.keychron.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keychron/q0/rev_0130:default
+
+Flashing example for this keyboard:
+
+ make keychron/q0/rev_0130:default:flash
+
+**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/keychron/q0/rev_0130/config.h b/keyboards/keychron/q0/rev_0130/config.h
new file mode 100644
index 0000000000..e7fabed664
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/config.h
@@ -0,0 +1,24 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* RGB Matrix Configuration */
+#define DRIVER_1_LED_TOTAL 21
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+
+/* Enable num-lock LED */
+#define NUM_LOCK_LED_INDEX 4
diff --git a/keyboards/keychron/q0/rev_0130/info.json b/keyboards/keychron/q0/rev_0130/info.json
new file mode 100644
index 0000000000..d42a43ef66
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/info.json
@@ -0,0 +1,43 @@
+{
+ "keyboard_name": "Q0",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0130",
+ "device_version": "1.0.2"
+ },
+ "layouts": {
+ "LAYOUT_numpad_6x4": {
+ "layout": [
+ {"label":"Fn", "x":0, "y":0},
+ {"label":"Esc", "x":1, "y":0},
+ {"label":"Backspace", "x":2, "y":0},
+ {"label":"Tab", "x":3, "y":0},
+
+ {"label":"Num Lock", "x":0, "y":1},
+ {"label":"/", "x":1, "y":1},
+ {"label":"*", "x":2, "y":1},
+ {"label":"-", "x":3, "y":1},
+
+ {"label":"7", "x":0, "y":2},
+ {"label":"8", "x":1, "y":2},
+ {"label":"9", "x":2, "y":2},
+
+ {"label":"4", "x":0, "y":3},
+ {"label":"5", "x":1, "y":3},
+ {"label":"6", "x":2, "y":3},
+ {"label":"+", "x":3, "y":2, "h":2},
+
+ {"label":"1", "x":0, "y":4},
+ {"label":"2", "x":1, "y":4},
+ {"label":"3", "x":2, "y":4},
+
+ {"label":"0", "x":0, "y":5, "w":2},
+ {"label":".", "x":2, "y":5},
+ {"label":"Enter", "x":3, "y":4, "h":2}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c b/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6a05648074
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers { _BASE, _FN1};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_numpad_6x4(
+ MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
+ KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT),
+
+ [_FN1] = LAYOUT_numpad_6x4(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ RGB_RMOD, RGB_VAD, RGB_HUD,
+ RGB_SAI, RGB_SPI, KC_MPRV, _______,
+ RGB_SAD, RGB_SPD, KC_MPLY,
+ RGB_TOG, KC_MNXT, _______)
+};
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c b/keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c
new file mode 100644
index 0000000000..078ede4041
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers { _BASE, _FN1, _RESERVED1, _RESERVED2 };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_numpad_6x4(
+ MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
+ KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT),
+
+ [_FN1] = LAYOUT_numpad_6x4(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ RGB_RMOD, RGB_VAD, RGB_HUD,
+ RGB_SAI, RGB_SPI, KC_MPRV, _______,
+ RGB_SAD, RGB_SPD, KC_MPLY,
+ RGB_TOG, KC_MNXT, _______),
+
+ [_RESERVED1] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______),
+
+ [_RESERVED2] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______)
+};
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk b/keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/keychron/q0/rev_0130/readme.md b/keyboards/keychron/q0/rev_0130/readme.md
new file mode 100644
index 0000000000..a6db5bc015
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/readme.md
@@ -0,0 +1 @@
+# The base variant of the Keychron Q0
diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.c b/keyboards/keychron/q0/rev_0130/rev_0130.c
new file mode 100644
index 0000000000..468e3cf04f
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/rev_0130.c
@@ -0,0 +1,88 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
+/* Refer to CKLED manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, F_5, D_5, E_5}, // 0
+ {0, I_5, G_5, H_5}, // 1
+ {0, L_5, J_5, K_5}, // 2
+ {0, C_5, A_5, B_5}, // 3
+
+ {0, F_4, D_4, E_4}, // 4
+ {0, I_4, G_4, H_4}, // 5
+ {0, L_4, J_4, K_4}, // 6
+ {0, C_4, A_4, B_4}, // 7
+
+ {0, F_6, D_6, E_6}, // 8
+ {0, I_6, G_6, H_6}, // 9
+ {0, L_6, J_6, K_6}, // 10
+
+ {0, F_3, D_3, E_3}, // 11
+ {0, I_3, G_3, H_3}, // 12
+ {0, L_3, J_3, K_3}, // 13
+ {0, C_6, A_6, B_6}, // 14
+
+ {0, F_2, D_2, E_2}, // 15
+ {0, I_2, G_2, H_2}, // 16
+ {0, L_2, J_2, K_2}, // 17
+
+ {0, F_1, D_1, E_1}, // 18
+ {0, L_1, J_1, K_1}, // 19
+ {0, C_2, A_2, B_2}, // 20
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {
+ {
+ // Key Matrix to LED Index
+ { 0, 1, 2, 3 },
+ { 4, 5, 6, 7 },
+ { 8, 9, 10, 14 },
+ { 11, 12, 13, __ },
+ { 15, 16, 17, 20 },
+ { 18, __, 19, __ }
+ },
+ {
+ // LED Index to Physical Position
+ {0,0}, {74,0}, {150,0}, {224,0},
+ {0,13}, {74,13}, {150,13}, {224,13},
+ {0,26}, {74,26}, {150,26},
+ {0,38}, {74,38}, {150,38}, {224,32},
+ {0,51}, {74,51}, {150,51},
+ {36,64}, {150,64}, {224,58},
+ },
+ {
+ // LED Index to Flag
+ 1, 1, 1, 1,
+ 9, 4, 4, 4,
+ 4, 4, 4,
+ 4, 4, 4, 4,
+ 4, 4, 4,
+ 4, 4, 1
+ }
+};
+
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.h b/keyboards/keychron/q0/rev_0130/rev_0130.h
new file mode 100644
index 0000000000..d66c880aa9
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/rev_0130.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+#define LAYOUT_numpad_6x4( \
+ K00, K01, K02, K03, \
+ K10, K11, K12, K13, \
+ K20, K21, K22, \
+ K30, K31, K32, K23, \
+ K40, K41, K42, \
+ K50, K52, K43 \
+) \
+{ \
+ { K00, K01, K02, K03 }, \
+ { K10, K11, K12, K13 }, \
+ { K20, K21, K22, K23 }, \
+ { K30, K31, K32, XXX }, \
+ { K40, K41, K42, K43 }, \
+ { K50, XXX, K52, XXX }, \
+}
diff --git a/keyboards/keychron/q0/rev_0130/rules.mk b/keyboards/keychron/q0/rev_0130/rules.mk
new file mode 100644
index 0000000000..5a04c755cd
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32L432
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable.
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable USB N-key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+DIP_SWITCH_ENABLE = no
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = CKLED2001
+LTO_ENABLE = yes
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q1/config.h b/keyboards/keychron/q1/config.h
index de69b9e929..cda8799a79 100644
--- a/keyboards/keychron/q1/config.h
+++ b/keyboards/keychron/q1/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3434
-#define MANUFACTURER Keychron
-#define PRODUCT Keychron Q1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/keychron/q1/rev_0100/config.h b/keyboards/keychron/q1/rev_0100/config.h
index 435f386a59..1b8c65165c 100644
--- a/keyboards/keychron/q1/rev_0100/config.h
+++ b/keyboards/keychron/q1/rev_0100/config.h
@@ -16,11 +16,6 @@
#pragma once
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0100
-#define DEVICE_VER 0x0100
-
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0100/info.json b/keyboards/keychron/q1/rev_0100/info.json
index dba3320ba7..b708f15994 100644
--- a/keyboards/keychron/q1/rev_0100/info.json
+++ b/keyboards/keychron/q1/rev_0100/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q1",
+ "keyboard_name": "Q1",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0100",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ansi_82": {
"layout": [{"label":"Esc", "x":0, "y":0},
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h
new file mode 100644
index 0000000000..c3c10a1c2b
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 200
+
+/* RGB Matrix Configuration */
+#ifdef RGB_MATRIX_ENABLE
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define MAC_LAYER_DEFAULT_COLOR RGB_CYAN
+# define WIN_LAYER_DEFAULT_COLOR RGB_GREEN
+# define CAPS_LOCK_INDICATOR_COLOR RGB_RED
+# define CAPS_LOCK_INDICATOR_LIGHT_60
+# define FN_LAYER_TRANSPARENT_KEYS_OFF
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
+#endif
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap.c
new file mode 100644
index 0000000000..3a0cddab7c
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap.c
@@ -0,0 +1,95 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_user.h"
+#ifdef RGB_MATRIX_ENABLE
+# include "rgb_matrix_user.h"
+#endif
+
+// clang-format off
+
+enum custom_keycodes {
+ KC_MISSION_CONTROL = USER00,
+ KC_LAUNCHPAD,
+};
+
+#define KC_MCTL KC_MISSION_CONTROL
+#define KC_LPAD KC_LAUNCHPAD
+#define TG_NKRO MAGIC_TOGGLE_NKRO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [MAC_BASE] = LAYOUT_ansi_82(
+ 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_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LGMAC, 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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_MACFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [MAC_FN] = LAYOUT_ansi_82(
+ _______, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MACPS, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ KC_CAPS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, KC_LMAC, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [WIN_BASE] = LAYOUT_ansi_82(
+ 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_HOME,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END,
+ KC_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_LGWIN, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WINFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [WIN_FN] = LAYOUT_ansi_82(
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ KC_CAPS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
+
+// clang-format on
+
+void matrix_init_user(void) {
+#ifdef RGB_MATRIX_ENABLE
+ rgb_matrix_init_user();
+#endif
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_MISSION_CONTROL:
+ if (record->event.pressed) {
+ host_consumer_send(0x29F);
+ } else {
+ host_consumer_send(0);
+ }
+ return false; // Skip all further processing of this key
+ case KC_LAUNCHPAD:
+ if (record->event.pressed) {
+ host_consumer_send(0x2A0);
+ } else {
+ host_consumer_send(0);
+ }
+ return false; // Skip all further processing of this key
+ default:
+ return true; // Process all other keycodes normally
+ }
+}
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h
new file mode 100644
index 0000000000..57ac5258c2
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/keymap_user.h
@@ -0,0 +1,48 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+enum layers {
+ MAC_BASE,
+ MAC_FN,
+ WIN_BASE,
+ WIN_FN
+};
+
+// clang-format on
+
+// Tap dance enums
+enum {
+ MAC_CAPS_LANGUAGE_CHANGE,
+ WIN_CAPS_LANGUAGE_CHANGE,
+};
+
+#ifdef TAP_DANCE_ENABLE
+# define KC_LGMAC TD(MAC_CAPS_LANGUAGE_CHANGE)
+# define KC_LGWIN TD(WIN_CAPS_LANGUAGE_CHANGE)
+#else
+# define KC_LGMAC KC_CAPS
+# define KC_LGWIN KC_CAPS
+#endif
+#define KC_MACFN MO(MAC_FN)
+#define KC_WINFN MO(WIN_FN)
+#define KC_LMAC C(G(KC_Q))
+#define KC_MACPS G(S(KC_5))
+#define KC_TASK G(KC_TAB)
+#define KC_FLXP G(KC_E)
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/readme.md b/keyboards/keychron/q1/rev_0100/keymaps/teimor/readme.md
new file mode 100644
index 0000000000..9aa16f9a89
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/readme.md
@@ -0,0 +1,13 @@
+# teimor's Keychron Q1 keymap
+
+- Via Enabled.
+- Tap dance enabled.
+- On macOS, F3 opens Mission Control and F4 opens Launchpad without needing to configure shortcuts in System Preferences.
+- RGB lighting turns off when the computer sleeps.
+- The RGB lighting for keys that are not assigned turns off when the Fn layer is active
+- 60% layout turns red to indicate when Caps Lock is on.
+- Windows and macOS: A single tap will quickly change the language, and holding will trigger Caps Lock. (Using Tap Dance)
+- RGB Matrix based on layout - macOS base layout will turn on cyan color, Windows base layout will turn on green color.
+- `fn + N` will toggle NKRO, useful when using the keyboard on freebsd.
+- `fn + L` on macOS will lock the system.
+- `fn + del` will trigger screenshot on macOS and Windows.
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c
new file mode 100644
index 0000000000..77f1c1011b
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c
@@ -0,0 +1,91 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "rgb_matrix_user.h"
+#include "keymap_user.h"
+
+keypos_t led_index_key_position[DRIVER_LED_TOTAL];
+
+void rgb_matrix_init_user(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ uint8_t led_index = g_led_config.matrix_co[row][col];
+ if (led_index != NO_LED) {
+ led_index_key_position[led_index] = (keypos_t){.row = row, .col = col};
+ }
+ }
+ }
+}
+
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ uint8_t current_layer = get_highest_layer(layer_state | default_layer_state);
+ switch (current_layer) {
+ case MAC_BASE:
+ case WIN_BASE:
+#if defined CAPS_LOCK_INDICATOR_COLOR && defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_caps_lock_indicator, CAPS_LOCK_INDICATOR_COLOR);
+ } else if (current_layer == MAC_BASE)
+ rgb_matrix_set_color_all(MAC_LAYER_DEFAULT_COLOR);
+ else if (current_layer == WIN_BASE)
+ rgb_matrix_set_color_all(WIN_LAYER_DEFAULT_COLOR);
+#endif
+ break;
+ case MAC_FN:
+ case WIN_FN:
+#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
+ if (current_layer == MAC_FN) {
+ rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, MAC_LAYER_DEFAULT_COLOR);
+ } else if (current_layer == WIN_FN) {
+ rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_not_transparent, WIN_LAYER_DEFAULT_COLOR);
+ }
+#endif
+#ifdef FN_LAYER_TRANSPARENT_KEYS_OFF
+ rgb_matrix_set_color_by_keycode(led_min, led_max, current_layer, is_transparent, RGB_OFF);
+#endif
+ break;
+ }
+}
+
+void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) {
+ for (uint8_t i = led_min; i < led_max; i++) {
+ uint16_t keycode = keymap_key_to_keycode(layer, led_index_key_position[i]);
+ if ((*is_keycode)(keycode)) {
+ rgb_matrix_set_color(i, red, green, blue);
+ }
+#if defined MAC_LAYER_DEFAULT_COLOR && defined WIN_LAYER_DEFAULT_COLOR
+ else {
+ if (layer == MAC_BASE)
+ rgb_matrix_set_color(i, MAC_LAYER_DEFAULT_COLOR);
+ else if (layer == WIN_BASE)
+ rgb_matrix_set_color(i, WIN_LAYER_DEFAULT_COLOR);
+ }
+#endif
+ }
+}
+
+bool is_caps_lock_indicator(uint16_t keycode) {
+ bool indicator = keycode == KC_CAPS || keycode == KC_LGMAC || keycode == KC_LGWIN;
+#ifdef CAPS_LOCK_INDICATOR_LIGHT_60
+ return (KC_A <= keycode && keycode <= KC_CAPS) || (KC_LEFT_CTRL <= keycode && keycode <= KC_RIGHT_GUI) || keycode == KC_MACFN || keycode == KC_WINFN || indicator;
+#else
+ return indicator;
+#endif
+}
+
+bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
+bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.h
new file mode 100644
index 0000000000..5b53b5b8ec
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+void rgb_matrix_init_user(void);
+
+void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue);
+
+bool is_caps_lock_indicator(uint16_t keycode);
+bool is_transparent(uint16_t keycode);
+bool is_not_transparent(uint16_t keycode);
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rules.mk b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rules.mk
new file mode 100644
index 0000000000..bafb40484b
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rules.mk
@@ -0,0 +1,14 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+TAP_DANCE_ENABLE = yes
+
+ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
+ SRC += rgb_matrix_user.c
+endif
+
+ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
+ SRC += tap_dance_user.c
+ SRC += tap_dance_setup.c
+ SRC += tap_dance_mac_caps.c
+ SRC += tap_dance_win_caps.c
+endif
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c
new file mode 100644
index 0000000000..d979820923
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.c
@@ -0,0 +1,50 @@
+/* Copyright 2021 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* macOS CapsLock language change */
+#include "tap_dance_mac_caps.h"
+
+static td_tap_t mac_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
+
+void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
+ mac_caps_language_tap_state.state = current_dance(state);
+ switch (mac_caps_language_tap_state.state) {
+ case TD_SINGLE_TAP:
+ register_code(KC_LCTL);
+ register_code(KC_SPACE);
+ break;
+ case TD_SINGLE_HOLD:
+ register_code(KC_CAPS_LOCK);
+ break;
+ default:
+ break;
+ }
+}
+
+void mac_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
+ switch (mac_caps_language_tap_state.state) {
+ case TD_SINGLE_TAP:
+ unregister_code(KC_SPACE);
+ unregister_code(KC_LCTL);
+ break;
+ case TD_SINGLE_HOLD:
+ unregister_code(KC_CAPS_LOCK);
+ break;
+ default:
+ break;
+ }
+ mac_caps_language_tap_state.state = TD_NONE;
+}
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.h
new file mode 100644
index 0000000000..a5f07a58a1
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_mac_caps.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* macOS CapsLock language change */
+#pragma once
+
+#include "tap_dance_setup.h"
+
+void mac_caps_language_finished(qk_tap_dance_state_t *state, void *user_data);
+void mac_caps_language_reset(qk_tap_dance_state_t *state, void *user_data);
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c
new file mode 100644
index 0000000000..6d879419bc
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.c
@@ -0,0 +1,49 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "tap_dance_setup.h"
+
+td_state_t current_dance(qk_tap_dance_state_t *state) {
+ if (state->count == 1) {
+ if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
+ /* Key has not been interrupted, but the key is still held. Means you w ant to send a 'HOLD'. */
+ else
+ return TD_SINGLE_HOLD;
+ } else if (state->count == 2) {
+ /* TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
+ action when hitting 'pp'. Suggested use case for this return value is when you want to send two
+ keystrokes of the key, and not the 'double tap' action/macro. */
+ if (state->interrupted)
+ return TD_DOUBLE_SINGLE_TAP;
+ else if (state->pressed)
+ return TD_DOUBLE_HOLD;
+ else
+ return TD_DOUBLE_TAP;
+ }
+
+ /* Assumes no one is trying to type the same letter three times (at least not quickly).
+ If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add
+ an exception here to return a 'TD_TRIPLE_SINGLE_TAP', and define that enum just like 'TD_DOUBLE_SINGLE_TAP' */
+ if (state->count == 3) {
+ if (state->interrupted)
+ return TD_TRIPLE_SINGLE_TAP;
+ else if (state->pressed)
+ return TD_TRIPLE_HOLD;
+ else
+ return TD_TRIPLE_TAP;
+
+ } else
+ return TD_UNKNOWN;
+}
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.h
new file mode 100644
index 0000000000..05160c77f5
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_setup.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 QMK_KEYBOARD_H
+
+typedef enum {
+ TD_NONE,
+ TD_UNKNOWN,
+ TD_SINGLE_TAP,
+ TD_SINGLE_HOLD,
+ TD_DOUBLE_TAP,
+ TD_DOUBLE_HOLD,
+ TD_DOUBLE_SINGLE_TAP, // Send two single taps
+ TD_TRIPLE_TAP,
+ TD_TRIPLE_HOLD,
+ TD_TRIPLE_SINGLE_TAP // Send three single tap
+} td_state_t;
+
+typedef struct {
+ bool is_press_action;
+ td_state_t state;
+} td_tap_t;
+
+td_state_t current_dance(qk_tap_dance_state_t *state);
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c
new file mode 100644
index 0000000000..1e9542d5ee
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_user.c
@@ -0,0 +1,28 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_user.h"
+#include "tap_dance_mac_caps.h"
+#include "tap_dance_win_caps.h"
+
+// clang-format off
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [MAC_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, mac_caps_language_finished, mac_caps_language_reset),
+ [WIN_CAPS_LANGUAGE_CHANGE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, win_caps_language_finished, win_caps_language_reset)
+};
+
+// clang-format on
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c
new file mode 100644
index 0000000000..fea72c5663
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* Windows CapsLock language change */
+#include "tap_dance_win_caps.h"
+
+static td_tap_t win_caps_language_tap_state = {.is_press_action = true, .state = TD_NONE};
+
+void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data) {
+ win_caps_language_tap_state.state = current_dance(state);
+ switch (win_caps_language_tap_state.state) {
+ case TD_SINGLE_TAP:
+ register_code(KC_LGUI);
+ register_code(KC_SPACE);
+ break;
+ case TD_SINGLE_HOLD:
+ register_code(KC_CAPS_LOCK);
+ break;
+ default:
+ break;
+ }
+}
+
+void win_caps_language_reset(qk_tap_dance_state_t *state, void *user_data) {
+ switch (win_caps_language_tap_state.state) {
+ case TD_SINGLE_TAP:
+ unregister_code(KC_SPACE);
+ unregister_code(KC_LGUI);
+ break;
+ case TD_SINGLE_HOLD:
+ unregister_code(KC_CAPS_LOCK);
+ break;
+ default:
+ break;
+ }
+ win_caps_language_tap_state.state = TD_NONE;
+}
diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.h b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.h
new file mode 100644
index 0000000000..34b734ec89
--- /dev/null
+++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/tap_dance_win_caps.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 @ Teimor Epstein
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* Windows CapsLock language change */
+#pragma once
+
+#include "tap_dance_setup.h"
+
+void win_caps_language_finished(qk_tap_dance_state_t *state, void *user_data);
+void win_caps_language_reset(qk_tap_dance_state_t *state, void *user_data);
diff --git a/keyboards/keychron/q1/rev_0101/config.h b/keyboards/keychron/q1/rev_0101/config.h
index c127a3630a..58d77477ca 100644
--- a/keyboards/keychron/q1/rev_0101/config.h
+++ b/keyboards/keychron/q1/rev_0101/config.h
@@ -16,10 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0101
-#define DEVICE_VER 0x0100
-
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0101/info.json b/keyboards/keychron/q1/rev_0101/info.json
index 75fb2d04e8..b4e5d002b7 100644
--- a/keyboards/keychron/q1/rev_0101/info.json
+++ b/keyboards/keychron/q1/rev_0101/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q1",
+ "keyboard_name": "Q1",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0101",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ansi_82": {
"layout": [
diff --git a/keyboards/keychron/q1/rev_0102/config.h b/keyboards/keychron/q1/rev_0102/config.h
index a537ab4e0d..7aa0ae8662 100644
--- a/keyboards/keychron/q1/rev_0102/config.h
+++ b/keyboards/keychron/q1/rev_0102/config.h
@@ -16,11 +16,6 @@
#pragma once
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0102
-#define DEVICE_VER 0x0100
-
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/keychron/q1/rev_0102/info.json b/keyboards/keychron/q1/rev_0102/info.json
index a71e0b24f0..9ee606b34e 100644
--- a/keyboards/keychron/q1/rev_0102/info.json
+++ b/keyboards/keychron/q1/rev_0102/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q1",
+ "keyboard_name": "Q1",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0102",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_iso_83": {
"layout": [
diff --git a/keyboards/keychron/q2/config.h b/keyboards/keychron/q2/config.h
index d019bcee15..511cc4f5ac 100644
--- a/keyboards/keychron/q2/config.h
+++ b/keyboards/keychron/q2/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3434
-#define MANUFACTURER Keychron
-#define PRODUCT Keychron Q2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -64,7 +59,8 @@
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
/* EEPROM Driver Configuration */
-#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10100010
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
diff --git a/keyboards/keychron/q2/rev_0110/config.h b/keyboards/keychron/q2/rev_0110/config.h
index e41857d9b2..f30b81b3af 100644
--- a/keyboards/keychron/q2/rev_0110/config.h
+++ b/keyboards/keychron/q2/rev_0110/config.h
@@ -16,10 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0110
-#define DEVICE_VER 0x0100
-
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 33
diff --git a/keyboards/keychron/q2/rev_0110/info.json b/keyboards/keychron/q2/rev_0110/info.json
index fb34a2427a..65e6c22519 100644
--- a/keyboards/keychron/q2/rev_0110/info.json
+++ b/keyboards/keychron/q2/rev_0110/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q2",
+ "keyboard_name": "Q2",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0110",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ansi_67": {
"layout": [
diff --git a/keyboards/keychron/q2/rev_0110/rules.mk b/keyboards/keychron/q2/rev_0110/rules.mk
index 30394028b3..38d48f0b27 100644
--- a/keyboards/keychron/q2/rev_0110/rules.mk
+++ b/keyboards/keychron/q2/rev_0110/rules.mk
@@ -20,7 +20,8 @@ ENCODER_ENABLE = no # Enable Encoder
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = CKLED2001
-EEPROM_DRIVER = i2c
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q2/rev_0111/config.h b/keyboards/keychron/q2/rev_0111/config.h
index 76cd5d0e78..249e589019 100644
--- a/keyboards/keychron/q2/rev_0111/config.h
+++ b/keyboards/keychron/q2/rev_0111/config.h
@@ -16,10 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0111
-#define DEVICE_VER 0x0100
-
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 33
diff --git a/keyboards/keychron/q2/rev_0111/info.json b/keyboards/keychron/q2/rev_0111/info.json
index f6ce1d9b27..875937baec 100644
--- a/keyboards/keychron/q2/rev_0111/info.json
+++ b/keyboards/keychron/q2/rev_0111/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q2",
+ "keyboard_name": "Q2",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0111",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ansi_67": {
"layout": [
diff --git a/keyboards/keychron/q2/rev_0111/rules.mk b/keyboards/keychron/q2/rev_0111/rules.mk
index a295f48e10..9332d29432 100644
--- a/keyboards/keychron/q2/rev_0111/rules.mk
+++ b/keyboards/keychron/q2/rev_0111/rules.mk
@@ -20,7 +20,8 @@ ENCODER_ENABLE = yes # Enable Encoder
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = CKLED2001
-EEPROM_DRIVER = i2c
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q2/rev_0112/config.h b/keyboards/keychron/q2/rev_0112/config.h
index 70a60fd026..4bab401a01 100644
--- a/keyboards/keychron/q2/rev_0112/config.h
+++ b/keyboards/keychron/q2/rev_0112/config.h
@@ -16,10 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0112
-#define DEVICE_VER 0x0100
-
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 34
diff --git a/keyboards/keychron/q2/rev_0112/info.json b/keyboards/keychron/q2/rev_0112/info.json
index 5f0d4ab249..3670c87688 100644
--- a/keyboards/keychron/q2/rev_0112/info.json
+++ b/keyboards/keychron/q2/rev_0112/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q2",
+ "keyboard_name": "Q2",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0112",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_iso_68": {
"layout": [
diff --git a/keyboards/keychron/q2/rev_0112/rules.mk b/keyboards/keychron/q2/rev_0112/rules.mk
index 30394028b3..38d48f0b27 100644
--- a/keyboards/keychron/q2/rev_0112/rules.mk
+++ b/keyboards/keychron/q2/rev_0112/rules.mk
@@ -20,7 +20,8 @@ ENCODER_ENABLE = no # Enable Encoder
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = CKLED2001
-EEPROM_DRIVER = i2c
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q2/rev_0113/config.h b/keyboards/keychron/q2/rev_0113/config.h
index 486d3fd3b8..8f7fbef73a 100644
--- a/keyboards/keychron/q2/rev_0113/config.h
+++ b/keyboards/keychron/q2/rev_0113/config.h
@@ -16,10 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0113
-#define DEVICE_VER 0x0100
-
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 34
diff --git a/keyboards/keychron/q2/rev_0113/info.json b/keyboards/keychron/q2/rev_0113/info.json
index 151f42455d..297096aac3 100644
--- a/keyboards/keychron/q2/rev_0113/info.json
+++ b/keyboards/keychron/q2/rev_0113/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keychron Q2",
+ "keyboard_name": "Q2",
+ "manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0113",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_iso_68": {
"layout": [
diff --git a/keyboards/keychron/q2/rev_0113/rules.mk b/keyboards/keychron/q2/rev_0113/rules.mk
index a295f48e10..9332d29432 100644
--- a/keyboards/keychron/q2/rev_0113/rules.mk
+++ b/keyboards/keychron/q2/rev_0113/rules.mk
@@ -20,7 +20,8 @@ ENCODER_ENABLE = yes # Enable Encoder
DIP_SWITCH_ENABLE = yes
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = CKLED2001
-EEPROM_DRIVER = i2c
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keyhive/absinthe/config.h b/keyboards/keyhive/absinthe/config.h
index d6acd350cc..98ab67871c 100644
--- a/keyboards/keyhive/absinthe/config.h
+++ b/keyboards/keyhive/absinthe/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB00B
-#define PRODUCT_ID 0xFEED
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cfbender
-#define PRODUCT absinthe
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D1, B6, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D3, D0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B7 }
#define ENCODERS_PAD_B { D5 }
diff --git a/keyboards/keyhive/absinthe/info.json b/keyboards/keyhive/absinthe/info.json
index f92e9e10ee..ed20471a3e 100644
--- a/keyboards/keyhive/absinthe/info.json
+++ b/keyboards/keyhive/absinthe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "absinthe",
+ "manufacturer": "cfbender",
"url": "https://github.com/cfbender/keyboards/tree/master/absinthe",
"maintainer": "cfbender",
+ "usb": {
+ "vid": "0xB00B",
+ "pid": "0xFEED",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/keyhive/ergosaurus/config.h b/keyboards/keyhive/ergosaurus/config.h
index 41f9a09311..ddb9ef8bfe 100644
--- a/keyboards/keyhive/ergosaurus/config.h
+++ b/keyboards/keyhive/ergosaurus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434B
-#define PRODUCT_ID 0xE590
-#define DEVICE_VER 0x0001
-#define MANUFACTURER reggalicious
-#define PRODUCT ergosaurus
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B5, B4, E6, D4, F6, D3, D2, F4, F5 }
#define MATRIX_COL_PINS \
{ D7, C6, D0, D1, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/ergosaurus/info.json b/keyboards/keyhive/ergosaurus/info.json
index 8048896be2..dba344f15c 100644
--- a/keyboards/keyhive/ergosaurus/info.json
+++ b/keyboards/keyhive/ergosaurus/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Ergosaurus",
+ "manufacturer": "reggalicious",
"maintainer": "cfbender",
+ "usb": {
+ "vid": "0x434B",
+ "pid": "0xE590",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/keyhive/honeycomb/config.h b/keyboards/keyhive/honeycomb/config.h
index 6780c2d41b..979d41f108 100755
--- a/keyboards/keyhive/honeycomb/config.h
+++ b/keyboards/keyhive/honeycomb/config.h
@@ -19,14 +19,6 @@ 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 0xACC8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keyhive
-#define PRODUCT Honeycomb Macropad
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 16
diff --git a/keyboards/keyhive/honeycomb/info.json b/keyboards/keyhive/honeycomb/info.json
index b11ece332b..e4be081425 100644
--- a/keyboards/keyhive/honeycomb/info.json
+++ b/keyboards/keyhive/honeycomb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Honeycomb",
+ "manufacturer": "Keyhive",
"url": "",
"maintainer": "filoxo",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xACC8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
index d0a5961873..429624822e 100755
--- a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
+++ b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
report_mouse_t currentReport = {};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- //uint8_t layer = biton32(layer_state); // get the current layer
+ //uint8_t layer = get_highest_layer(layer_state); // get the current layer
// Basic example functions
switch (keycode) {
diff --git a/keyboards/keyhive/lattice60/config.h b/keyboards/keyhive/lattice60/config.h
index c1e067287b..e72a6ab6b3 100644
--- a/keyboards/keyhive/lattice60/config.h
+++ b/keyboards/keyhive/lattice60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER emdarcher
-#define PRODUCT LATTICE60
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B3, B4, B5, C0, C1, C2, C3 }
#define MATRIX_COL_PINS { D7, D6, B0, D5, D1, D4, D0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/keyhive/lattice60/info.json b/keyboards/keyhive/lattice60/info.json
index 824884ecbd..e7d22d1a77 100644
--- a/keyboards/keyhive/lattice60/info.json
+++ b/keyboards/keyhive/lattice60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "lattice60",
+ "keyboard_name": "LATTICE60",
+ "manufacturer": "emdarcher",
"url": "",
"maintainer": "emdarcher",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/keyhive/maypad/config.h b/keyboards/keyhive/maypad/config.h
index b85053888f..4a177fa93d 100644
--- a/keyboards/keyhive/maypad/config.h
+++ b/keyboards/keyhive/maypad/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B48 //KH for Keyhive
-#define PRODUCT_ID 0x4D50 // MP
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KeyHive
-#define PRODUCT maypad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/maypad/info.json b/keyboards/keyhive/maypad/info.json
index 91a3eeeb09..3001bae5b5 100644
--- a/keyboards/keyhive/maypad/info.json
+++ b/keyboards/keyhive/maypad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "maypad",
+ "manufacturer": "KeyHive",
"url": "https://keyhive.xyz/shop/may-pad",
"maintainer": "codybender",
+ "usb": {
+ "vid": "0x4B48",
+ "pid": "0x4D50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
diff --git a/keyboards/keyhive/navi10/info.json b/keyboards/keyhive/navi10/info.json
index e3fc49fbed..ecafbeb089 100644
--- a/keyboards/keyhive/navi10/info.json
+++ b/keyboards/keyhive/navi10/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Navi10",
+ "manufacturer": "emdarcher",
"url": "",
"maintainer": "emdarcher",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Fn", "x":0, "y":0}, {"label":"Home", "x":1, "y":0}, {"label":"PgUp", "x":2, "y":0}, {"label":"Del", "x":0, "y":1}, {"label":"End", "x":1, "y":1}, {"label":"PgDn", "x":2, "y":1}, {"label":"Up", "x":1, "y":3}, {"label":"Left", "x":0, "y":4}, {"label":"Down", "x":1, "y":4}, {"label":"Right", "x":2, "y":4}]
diff --git a/keyboards/keyhive/navi10/keymaps/default/keymap.c b/keyboards/keyhive/navi10/keymaps/default/keymap.c
index d1b3127760..c4295b1553 100644
--- a/keyboards/keyhive/navi10/keymaps/default/keymap.c
+++ b/keyboards/keyhive/navi10/keymaps/default/keymap.c
@@ -127,5 +127,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){
//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
- [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275)
+ [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};
diff --git a/keyboards/keyhive/navi10/keymaps/devdev/keymap.c b/keyboards/keyhive/navi10/keymaps/devdev/keymap.c
index b0d43ebc69..0fc20cbbd4 100644
--- a/keyboards/keyhive/navi10/keymaps/devdev/keymap.c
+++ b/keyboards/keyhive/navi10/keymaps/devdev/keymap.c
@@ -259,5 +259,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){
//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
- [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, TAPPING_TERM)
+ [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};
diff --git a/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c b/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c
index 40efed48d5..37850e28f3 100644
--- a/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c
+++ b/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c
@@ -178,5 +178,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){
//associate the tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
- [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275)
+ [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset)
};
diff --git a/keyboards/keyhive/navi10/rev0/config.h b/keyboards/keyhive/navi10/rev0/config.h
index 22a985c280..3d64b02771 100644
--- a/keyboards/keyhive/navi10/rev0/config.h
+++ b/keyboards/keyhive/navi10/rev0/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER emdarcher
-#define PRODUCT Navi10
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B6, B2, B3, B4 }
#define MATRIX_COL_PINS \
{ D1, D0, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/navi10/rev0/info.json b/keyboards/keyhive/navi10/rev0/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev0/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/keyhive/navi10/rev2/config.h b/keyboards/keyhive/navi10/rev2/config.h
index 1dfb210b03..8d3217d65c 100644
--- a/keyboards/keyhive/navi10/rev2/config.h
+++ b/keyboards/keyhive/navi10/rev2/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0002
-#define MANUFACTURER emdarcher
-#define PRODUCT Navi10
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B6, B2, B3, B4 }
#define MATRIX_COL_PINS \
{ D4, C6, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/navi10/rev2/info.json b/keyboards/keyhive/navi10/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/keyhive/navi10/rev3/config.h b/keyboards/keyhive/navi10/rev3/config.h
index 205535273a..7336abb6d6 100644
--- a/keyboards/keyhive/navi10/rev3/config.h
+++ b/keyboards/keyhive/navi10/rev3/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0003
-#define MANUFACTURER emdarcher
-#define PRODUCT Navi10
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B6, B2, B3, B4 }
#define MATRIX_COL_PINS \
{ D4, E6, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/navi10/rev3/info.json b/keyboards/keyhive/navi10/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/keyhive/navi10/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/keyhive/opus/config.h b/keyboards/keyhive/opus/config.h
index 52ed10bc5a..5f7f279346 100644
--- a/keyboards/keyhive/opus/config.h
+++ b/keyboards/keyhive/opus/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434B
-#define PRODUCT_ID 0x4F50
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rtwayland
-#define PRODUCT Opus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@
/* PCB pin-out */
#define MATRIX_ROW_PINS {B1, B3, B2, B6}
#define MATRIX_COL_PINS {D1, D0, D4, C6, D7, E6, B4, B5, F4, F5, F6, F7}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/opus/info.json b/keyboards/keyhive/opus/info.json
index 1b2da11367..422ede053f 100644
--- a/keyboards/keyhive/opus/info.json
+++ b/keyboards/keyhive/opus/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "opus",
+ "keyboard_name": "Opus",
+ "manufacturer": "rtwayland",
"maintainer": "rtwayland",
+ "usb": {
+ "vid": "0x434B",
+ "pid": "0x4F50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c b/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
index e0adb2af32..6c8b278264 100644
--- a/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
+++ b/keyboards/keyhive/opus/keymaps/thefoxcodes/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MEDIA] = LAYOUT(
KC_TRNS, SGUI(KC_5), SGUI(KC_3), SGUI(KC_4), MEH(KC_4), KC_VOLU, LCA(KC_U), LCAG(KC_LEFT), LCAG(KC_RGHT), LCA(KC_I), LCA(KC_EQL), LALT(LGUI(KC_POWER)),
KC_CAPS, KC_F11, KC_MPRV, KC_MNXT, KC_MPLY, KC_VOLD, LCA(KC_LEFT), LCA(KC_DOWN), LCA(KC_UP), LCA(KC_RIGHT), LCA(KC_MINS), KC_TRNS,
- KC_BRID, KC_BRIU, LGUI(KC_MINS), LGUI(KC_PLUS), LGUI(KC_GRV), KC_MUTE, LCA(KC_J), LCA(KC_ENT), LCA(KC_C), LCA(KC_K), MEH(KC_UP), RESET,
+ KC_BRID, KC_BRIU, LGUI(KC_MINS), LGUI(KC_PLUS), LGUI(KC_GRV), KC_MUTE, LCA(KC_J), LCA(KC_ENT), LCA(KC_C), LCA(KC_K), MEH(KC_UP), QK_BOOT,
LCTL(LSFT(KC_TAB)), LCTL(KC_TAB), KC_NO, KC_NO, MEH(KC_RGHT), MEH(KC_LEFT)
),
[_WORD] = LAYOUT(
diff --git a/keyboards/keyhive/smallice/config.h b/keyboards/keyhive/smallice/config.h
index 5ebafba42d..ac2db030f1 100644
--- a/keyboards/keyhive/smallice/config.h
+++ b/keyboards/keyhive/smallice/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x514B // QK Quark
-#define PRODUCT_ID 0x5341 // SA smAllice
-#define DEVICE_VER 0x0001
-#define MANUFACTURER quark
-#define PRODUCT smAllice
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B6, B5, B4 }
#define MATRIX_COL_PINS { C7, C6, F7, F6, F5, F4, F1, D4, D6, D7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS { E6, F0 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/smallice/info.json b/keyboards/keyhive/smallice/info.json
index 24ce4cce22..5eb8d0a42d 100644
--- a/keyboards/keyhive/smallice/info.json
+++ b/keyboards/keyhive/smallice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "smAllice",
+ "manufacturer": "quark",
"url": "https://keyhive.xyz/shop/smallice",
"maintainer": "https://github.com/Armastardo",
+ "usb": {
+ "vid": "0x514B",
+ "pid": "0x5341",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"V+", "x":0.5, "y":0}, {"label":"Tab", "x":1.75, "y":0}, {"label":"Q", "x":2.75, "y":0}, {"label":"W", "x":3.75, "y":0}, {"label":"E", "x":4.75, "y":0}, {"label":"R", "x":5.75, "y":0}, {"label":"T", "x":6.75, "y":0}, {"label":"Y", "x":8.25, "y":0}, {"label":"U", "x":9.25, "y":0}, {"label":"I", "x":10.25, "y":0}, {"label":"O", "x":11.25, "y":0}, {"label":"P", "x":12.25, "y":0}, {"label":"[ {", "x":13.25, "y":0}, {"label":"] }", "x":14.25, "y":0}, {"label":"Bcsp", "x":15.25, "y":0}, {"label":"V-", "x":0.25, "y":1}, {"label":"Caps", "x":1.5, "y":1, "w":1.25}, {"label":"A", "x":2.75, "y":1}, {"label":"S", "x":3.75, "y":1}, {"label":"D", "x":4.75, "y":1}, {"label":"F", "x":5.75, "y":1}, {"label":"G", "x":6.75, "y":1}, {"label":"H", "x":8.75, "y":1}, {"label":"J", "x":9.75, "y":1}, {"label":"K", "x":10.75, "y":1}, {"label":"L", "x":11.75, "y":1}, {"label":": ;", "x":12.75, "y":1}, {"label":", \"", "x":13.75, "y":1}, {"label":"Enter", "x":14.75, "y":1, "w":1.75}, {"label":"V-", "x":0, "y":2}, {"label":"Shift", "x":1.25, "y":2, "w":1.75}, {"label":"Z", "x":3, "y":2}, {"label":"X", "x":4, "y":2}, {"label":"C", "x":5, "y":2}, {"label":"V", "x":6, "y":2}, {"label":"B", "x":7, "y":2}, {"label":"B", "x":8.5, "y":2}, {"label":"N", "x":9.5, "y":2}, {"label":"M", "x":10.5, "y":2}, {"label":"<", "x":11.5, "y":2}, {"label":">", "x":12.5, "y":2}, {"label":"Shift", "x":13.5, "y":2, "w":1.25}, {"label":"Up", "x":14.75, "y":2}, {"label":"?", "x":15.75, "y":2}, {"label":"Ctrl", "x":1.25, "y":3}, {"label":"Alt", "x":3, "y":3, "w":1.25}, {"x":4.25, "y":3, "w":2}, {"label":"Win", "x":6.25, "y":3}, {"x":9.5, "y":3, "w":2.75}, {"label":"Fn", "x":12.25, "y":3}, {"label":"left", "x":13.75, "y":3}, {"label":"down", "x":14.75, "y":3}, {"label":"right", "x":15.75, "y":3}]
diff --git a/keyboards/keyhive/southpole/config.h b/keyboards/keyhive/southpole/config.h
index 5603829c47..d74682cea2 100644
--- a/keyboards/keyhive/southpole/config.h
+++ b/keyboards/keyhive/southpole/config.h
@@ -2,13 +2,6 @@
//#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER u/waxpoetic
-#define PRODUCT southpole
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 20
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, D3, C6, C7, D5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, D4, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyhive/southpole/info.json b/keyboards/keyhive/southpole/info.json
index 9781fd35ab..1091c51911 100644
--- a/keyboards/keyhive/southpole/info.json
+++ b/keyboards/keyhive/southpole/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "southpole",
+ "manufacturer": "u/waxpoetic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c b/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c
index ef2710d0a3..76ff1f5637 100644
--- a/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c
+++ b/keyboards/keyhive/southpole/keymaps/foobeard/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
- RESET, _______, _______, _______, 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_CALC, \
+ QK_BOOT, _______, _______, _______, 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_CALC, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/keyhive/uno/info.json b/keyboards/keyhive/uno/info.json
index d426f9e426..9d39163a1b 100644
--- a/keyboards/keyhive/uno/info.json
+++ b/keyboards/keyhive/uno/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Uno",
+ "manufacturer": "Broekhuijsen",
"url": "https://www.reddit.com/r/mechmarket/comments/gyijm7/gb_uno/",
"maintainer": "Snipeye",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xACC8"
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }]
diff --git a/keyboards/keyhive/uno/rev1/config.h b/keyboards/keyhive/uno/rev1/config.h
index 11c84ad2ab..6e9298e261 100644
--- a/keyboards/keyhive/uno/rev1/config.h
+++ b/keyboards/keyhive/uno/rev1/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xACC8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Broekhuijsen
-#define PRODUCT Uno rev1
-
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
// #define RGBLIGHT_ANIMATIONS
@@ -35,7 +28,6 @@
#define DIRECT_PINS { \
{ B6 } \
}
-#define UNUSED_PINS
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN F6
diff --git a/keyboards/keyhive/uno/rev1/info.json b/keyboards/keyhive/uno/rev1/info.json
new file mode 100644
index 0000000000..69d6dfba0d
--- /dev/null
+++ b/keyboards/keyhive/uno/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Uno rev1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/keyhive/uno/rev2/config.h b/keyboards/keyhive/uno/rev2/config.h
index 37ea08c017..f53e38b617 100644
--- a/keyboards/keyhive/uno/rev2/config.h
+++ b/keyboards/keyhive/uno/rev2/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xACC8
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Broekhuijsen
-#define PRODUCT Uno rev2
-
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
/* ENCODER */
@@ -38,7 +31,6 @@
#define DIRECT_PINS { \
{ D0 } \
}
-#define UNUSED_PINS
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D1
diff --git a/keyboards/keyhive/uno/rev2/info.json b/keyboards/keyhive/uno/rev2/info.json
new file mode 100644
index 0000000000..787f306351
--- /dev/null
+++ b/keyboards/keyhive/uno/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Uno rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/keyhive/ut472/config.h b/keyboards/keyhive/ut472/config.h
index dc8f7f7555..a9d24c0c9e 100644
--- a/keyboards/keyhive/ut472/config.h
+++ b/keyboards/keyhive/ut472/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0472
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Keyhive
-#define PRODUCT UT47.2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D2, D3, D4 }
#define MATRIX_COL_PINS { C4, C5, B7, B6, B5, B4, B3, B2, B1, B0, D6, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/keyhive/ut472/info.json b/keyboards/keyhive/ut472/info.json
index fe60c5b7f7..e1ea825650 100644
--- a/keyboards/keyhive/ut472/info.json
+++ b/keyboards/keyhive/ut472/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UT47.2",
+ "manufacturer": "Keyhive",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0472",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.5}, {"label":"LT(3) / Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2, "w":1.5}, {"label":"Z", "x":1.5, "y":2}, {"label":"X", "x":2.5, "y":2}, {"label":"C", "x":3.5, "y":2}, {"label":"V", "x":4.5, "y":2}, {"label":"B", "x":5.5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":"<", "x":8.5, "y":2}, {"label":">", "x":9.5, "y":2}, {"label":"?", "x":10.5, "y":2}, {"label":"Shift / Enter", "x":11.5, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Alt", "x":1, "y":3}, {"label":"GUI", "x":2, "y":3}, {"label":"Menu", "x":3, "y":3}, {"label":"MO(2)", "x":4, "y":3, "w":1.25}, {"x":5.25, "y":3, "w":2}, {"label":"MO(1)", "x":7.25, "y":3, "w":1.25}, {"label":"\u2190", "x":8.5, "y":3}, {"label":"\u2193", "x":9.5, "y":3}, {"label":"\u2191", "x":10.5, "y":3}, {"label":"\u2192", "x":11.5, "y":3}]
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json b/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json
index 45569d5588..68e5272045 100755
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json
+++ b/keyboards/keyhive/ut472/keymaps/annihilator6000/UT472_Annihilator6000_Configurator_file.json
@@ -1 +1 @@
-{"keyboard":"ut472","keymap":"ut472_layout_switching","layout":"LAYOUT","layers":[["KC_ESC","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSPC","LT(3,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_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","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","LT(3,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_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_G","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_D","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_K","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_B","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_G","KC_K","KC_N","KC_E","KC_I","KC_O","KC_QUOT","KC_LSFT","KC_X","KC_C","KC_D","KC_V","KC_Z","KC_M","KC_H","KC_COMM","KC_DOT","KC_SLSH","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_QUOT","KC_COMM","KC_DOT","KC_P","KC_Y","KC_F","KC_G","KC_C","KC_R","KC_L","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_O","KC_E","KC_U","KC_I","KC_D","KC_H","KC_T","KC_N","KC_S","KC_SLSH","KC_LSFT","KC_SCLN","KC_Q","KC_J","KC_K","KC_X","KC_B","KC_M","KC_W","KC_V","KC_Z","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","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_DEL","KC_NO","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","KC_NO","KC_NO","KC_MINS","KC_EQL","KC_LBRC","KC_RBRC","KC_BSLS","KC_NO","KC_F11","KC_F12","KC_F13","KC_F14","KC_F15","KC_F16","KC_F17","KC_F18","KC_F19","KC_F20","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_NO","KC_NO","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["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_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_UNDS","KC_PLUS","KC_LCBR","KC_RCBR","KC_PIPE","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_TRNS","KC_NO","KC_NO","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["KC_ESC","KC_CALC","KC_WHOM","KC_MAIL","KC_MYCM","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PSCR","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_WH_L","KC_WH_D","KC_WH_U","KC_WH_R"],["RESET","KC_NO","KC_NO","RGB_TOG","RGB_MOD","RGB_HUI","RGB_HUD","RGB_SAI","RGB_SAD","RGB_VAI","RGB_VAD","KC_DEL","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","ANY(Qwerty)","ANY(Workman)","ANY(Colemak)","ANY(Colemak Mod-DH)","ANY(Dvorak)","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","DEBUG","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Annihilator6000","notes":"Layer 0 = Qwerty\nLayer 1 = Workman\nLayer 2 = Colemak\nLayer 3 = Colemak Mod-DH\nLayer 4 = Dvorak\nLayer 5 = Function Layer 1 (MO 1)\nLayer 6 = Function Layer 2 (MO 2)\nLayer 7 = Function Layer 3 (LT 3: Hold Tab)\nLayer 8 = Planck-style Adjust Layer (Hold MO 1 and MO 2 at the same time)"} \ No newline at end of file
+{"keyboard":"ut472","keymap":"ut472_layout_switching","layout":"LAYOUT","layers":[["KC_ESC","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSPC","LT(3,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_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","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","LT(3,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_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_G","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_D","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_K","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_Q","KC_W","KC_F","KC_P","KC_B","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_R","KC_S","KC_T","KC_G","KC_K","KC_N","KC_E","KC_I","KC_O","KC_QUOT","KC_LSFT","KC_X","KC_C","KC_D","KC_V","KC_Z","KC_M","KC_H","KC_COMM","KC_DOT","KC_SLSH","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT"],["KC_ESC","KC_QUOT","KC_COMM","KC_DOT","KC_P","KC_Y","KC_F","KC_G","KC_C","KC_R","KC_L","KC_BSPC","LT(3,KC_TAB)","KC_A","KC_O","KC_E","KC_U","KC_I","KC_D","KC_H","KC_T","KC_N","KC_S","KC_SLSH","KC_LSFT","KC_SCLN","KC_Q","KC_J","KC_K","KC_X","KC_B","KC_M","KC_W","KC_V","KC_Z","KC_SFTENT","KC_LCTL","KC_LALT","KC_LGUI","KC_APP","MO(2)","KC_SPC","MO(1)","KC_LEFT","KC_DOWN","KC_UP","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_DEL","KC_NO","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","KC_NO","KC_NO","KC_MINS","KC_EQL","KC_LBRC","KC_RBRC","KC_BSLS","KC_NO","KC_F11","KC_F12","KC_F13","KC_F14","KC_F15","KC_F16","KC_F17","KC_F18","KC_F19","KC_F20","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_NO","KC_NO","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["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_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_UNDS","KC_PLUS","KC_LCBR","KC_RCBR","KC_PIPE","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_NO","KC_NO","KC_NO","KC_NO","KC_CAPS","KC_TRNS","KC_NO","KC_NO","KC_HOME","KC_PGDN","KC_PGUP","KC_END"],["KC_ESC","KC_CALC","KC_WHOM","KC_MAIL","KC_MYCM","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PSCR","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_WH_L","KC_WH_D","KC_WH_U","KC_WH_R"],["QK_BOOT","KC_NO","KC_NO","RGB_TOG","RGB_MOD","RGB_HUI","RGB_HUD","RGB_SAI","RGB_SAD","RGB_VAI","RGB_VAD","KC_DEL","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","ANY(Qwerty)","ANY(Workman)","ANY(Colemak)","ANY(Colemak Mod-DH)","ANY(Dvorak)","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","DEBUG","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_NO","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Annihilator6000","notes":"Layer 0 = Qwerty\nLayer 1 = Workman\nLayer 2 = Colemak\nLayer 3 = Colemak Mod-DH\nLayer 4 = Dvorak\nLayer 5 = Function Layer 1 (MO 1)\nLayer 6 = Function Layer 2 (MO 2)\nLayer 7 = Function Layer 3 (LT 3: Hold Tab)\nLayer 8 = Planck-style Adjust Layer (Hold MO 1 and MO 2 at the same time)"} \ No newline at end of file
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c b/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c
index c4453279d2..8575da1901 100644
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c
+++ b/keyboards/keyhive/ut472/keymaps/annihilator6000/keymap.c
@@ -201,7 +201,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
- RESET, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ QK_BOOT, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, _______, _______, _______, _______, QWERTY, WORKMAN, COLEMAK, COLEMAK_MOD_DH, DVORAK, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c b/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c
new file mode 100644
index 0000000000..d72d4aa364
--- /dev/null
+++ b/keyboards/keyhive/ut472/keymaps/gardego5/keymap.c
@@ -0,0 +1,116 @@
+/* Copyright 2022 Garrett Davis (@Gardego5)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/* This controls special press and hold keys.
+ * Maps right arrow to F15 when held, to be used for push to talk.
+ */
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LT(0, KC_RIGHT):
+ if (!record->tap.count) {
+ if (record->event.pressed) {
+ register_code16(KC_F15);
+ } else {
+ unregister_code16(KC_F15);
+ }
+ return false;
+ }
+ return true;
+ }
+
+ return true;
+}
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Base Layer
+ * ,-------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
+ * |-------------------------------------------------------------------------+
+ * | Tab | A | S | D | F | G | H | J | K | L | ; |Sh/Ent|
+ * |-------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | ' |
+ * |-------------------------------------------------------------------------+
+ * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 | Left| Down| Up|Rt/F15|
+ * `-------------------------------------------------------------------------'
+ */
+
+LAYOUT(
+KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_SFTENT,
+KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_QUOT,
+KC_LCTL, KC_LALT, MO(3) , KC_LGUI, MO(2) , KC_SPC , MO(1) , KC_LEFT, KC_DOWN, KC_UP , LT(0, KC_RIGHT)
+),
+
+ /* FN Layer 1
+ * ,-------------------------------------------------------------------------.
+ * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete|
+ * |-------------------------------------------------------------------------+
+ * | Tab | < | > | ( | ) | | | - | = | [ | ] |Sh/Ent|
+ * |-------------------------------------------------------------------------+
+ * | Shift | | | | | | | | , | . | \ |Caps |
+ * |-------------------------------------------------------------------------+
+ * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 | Home| PgDn| PgUp| End |
+ * `-------------------------------------------------------------------------'
+ */
+
+LAYOUT( /* Right */
+KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL ,
+KC_TRNS, KC_LT , KC_GT , KC_LPRN, KC_RPRN, KC_NO , KC_NO , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_TRNS,
+KC_TRNS, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, KC_TRNS, KC_BSLS, KC_CAPS,
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+),
+
+ /* FN Layer 2
+ * ,-------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |-------------------------------------------------------------------------+
+ * | Tab | | Mute| Vol-| Vol+| | | Left| Down| Up |Right|Sh/Ent|
+ * |-------------------------------------------------------------------------+
+ * | Shift | |Med<<|Pause|Med>>| | | |LMous|RMous| | |
+ * |-------------------------------------------------------------------------+
+ * | Ctrl| Alt | L3 | Gui | L2 | Space | L1 |<Mous|vMous|^Mous|>Mous|
+ * `-------------------------------------------------------------------------'
+ */
+
+LAYOUT( /* Left */
+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_NO , KC_MUTE, KC_VOLD, KC_VOLU, KC_NO , KC_NO , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_TRNS,
+KC_TRNS, KC_NO , KC_MPRV, KC_MPLY, KC_MNXT, KC_NO , KC_NO , KC_NO , KC_BTN1, KC_BTN2, KC_NO , KC_NO ,
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
+),
+
+ /* FN Layer 3
+ * ,-------------------------------------------------------------------------.
+ * | Esc | RGB | RGB | | | |#Lock| 7 | 8 | 9 | |Bspace |
+ * |-------------------------------------------------------------------------+
+ * | Tab | / | * | - | + | = | | 4 | 5 | 6 | |Sh/Ent|
+ * |-------------------------------------------------------------------------+
+ * | Shift | | | | | | | 1 | 2 | 3 | Up | |
+ * |-------------------------------------------------------------------------+
+ * | Ctrl| Alt | L3 | Gui | L2 | Space | 0 | . | Left| Down|Right|
+ * `-------------------------------------------------------------------------'
+ */
+
+LAYOUT( /* 3 */
+KC_ESC , RGB_TOG, RGB_MOD, KC_NO , KC_NO , KC_NO , KC_NLCK, KC_P7 , KC_P8 , KC_P9 , KC_NO , KC_BSPC,
+KC_TRNS, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_PEQL, KC_NO , KC_P4 , KC_P5 , KC_P6 , KC_NO , KC_TRNS,
+KC_TRNS, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_P1 , KC_P2 , KC_P3 , KC_UP , KC_NO ,
+KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_P0 , KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT
+),
+};
diff --git a/keyboards/keyhive/ut472/keymaps/gardego5/readme.md b/keyboards/keyhive/ut472/keymaps/gardego5/readme.md
new file mode 100644
index 0000000000..44655ba346
--- /dev/null
+++ b/keyboards/keyhive/ut472/keymaps/gardego5/readme.md
@@ -0,0 +1,5 @@
+# Gardego5's modified layout
+
+![layout image](https://i.imgur.com/eM6YHcY.jpeg)
+
+This layout is designed to be familiar coming from a full-sized keyboard, if you like vim movement keys. Has (hopefully) friendly media keys, and F15 in the bottom right when held, so that you can bind F15 to push to talk.
diff --git a/keyboards/keyhive/ut472/keymaps/hvp/keymap.c b/keyboards/keyhive/ut472/keymaps/hvp/keymap.c
index 80d2d036bd..e39bb46b8d 100644
--- a/keyboards/keyhive/ut472/keymaps/hvp/keymap.c
+++ b/keyboards/keyhive/ut472/keymaps/hvp/keymap.c
@@ -55,13 +55,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_7, KC_8, KC_9, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_4, KC_5, KC_6, KC_0,
_______, _______, _______, _______, _______, _______, XXXXXXX, KC_0, KC_1, KC_2, KC_3, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[5] = LAYOUT( /* Tab */
_______, G(S(KC_1)), G(S(KC_2)), G(S(KC_3)), G(S(KC_4)), G(S(KC_5)), G(S(KC_6)), G(S(KC_7)), G(S(KC_8)), G(S(KC_9)), G(S(KC_0)), _______,
RGB_TOG, RGB_MOD, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______,
KC_PSCR, _______, RGB_RMOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, KC_CAPS,
- RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_NLCK
+ QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_NLCK
),
};
diff --git a/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c b/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
index 7cc3b70082..25bb8cd984 100644
--- a/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
+++ b/keyboards/keyhive/ut472/keymaps/stefanopace/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
/* Fn Layer (Fn)
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c b/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c
index 7fbbd0e76e..44ef2ee2ef 100644
--- a/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c
+++ b/keyboards/keyhive/ut472/keymaps/tucznak/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
_______, VLK_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_VOLD,
_______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MSTP, KC_MUTE,
KC_SLEP, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, KC_MPRV, KC_MPLY, KC_MNXT
diff --git a/keyboards/keyprez/bison/config.h b/keyboards/keyprez/bison/config.h
index b98cbc1be1..08a81a4a91 100644
--- a/keyboards/keyprez/bison/config.h
+++ b/keyboards/keyprez/bison/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER csandven
-#define PRODUCT bison
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, F7, B1, B3, D7 }
#define MATRIX_COL_PINS { D3, E6, B2, B4, D4, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyprez/bison/info.json b/keyboards/keyprez/bison/info.json
index 66a9755946..36aeb27a10 100644
--- a/keyboards/keyprez/bison/info.json
+++ b/keyboards/keyprez/bison/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bison",
+ "manufacturer": "csandven",
"url": "",
"maintainer": "Christian Sandven",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyprez/corgi/config.h b/keyboards/keyprez/corgi/config.h
index a3ebf2747f..bebc94e14b 100644
--- a/keyboards/keyprez/corgi/config.h
+++ b/keyboards/keyprez/corgi/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Christian Sandven
-#define PRODUCT corgi
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -36,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F5, F7, B2, B6, F4, F6, B1, B3 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D2, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyprez/corgi/info.json b/keyboards/keyprez/corgi/info.json
index 04d89e6b1b..f2b9c8f722 100644
--- a/keyboards/keyprez/corgi/info.json
+++ b/keyboards/keyprez/corgi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "corgi",
+ "manufacturer": "Christian Sandven",
"url": "",
"maintainer": "Christian Sandven",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyprez/rhino/config.h b/keyboards/keyprez/rhino/config.h
index 54077ac939..16782aad01 100644
--- a/keyboards/keyprez/rhino/config.h
+++ b/keyboards/keyprez/rhino/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Christian Sandven
-#define PRODUCT rhino
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
diff --git a/keyboards/keyprez/rhino/info.json b/keyboards/keyprez/rhino/info.json
index fbe403fc35..1ad313854d 100644
--- a/keyboards/keyprez/rhino/info.json
+++ b/keyboards/keyprez/rhino/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rhino",
+ "manufacturer": "Christian Sandven",
"url": "",
"maintainer": "Christian Sandven",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x2u": {
"layout": [
diff --git a/keyboards/keyprez/unicorn/config.h b/keyboards/keyprez/unicorn/config.h
index 44eadb5bfb..739d5b525e 100644
--- a/keyboards/keyprez/unicorn/config.h
+++ b/keyboards/keyprez/unicorn/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B7A
-#define PRODUCT_ID 0x7563
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keyprez
-#define PRODUCT unicorn
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -31,7 +24,6 @@
#define MATRIX_COL_PINS { F5, B2, B5, D7, B4, B6, E6, D4 }
#define MATRIX_ROW_PINS_RIGHT { F4, B2, F6, F7, B1, B3 }
#define MATRIX_COL_PINS_RIGHT { F5, D3, B5, D7, B4, B6, E6, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyprez/unicorn/info.json b/keyboards/keyprez/unicorn/info.json
index ff14396f2a..90a81b8cc8 100644
--- a/keyboards/keyprez/unicorn/info.json
+++ b/keyboards/keyprez/unicorn/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Unicorn",
+ "manufacturer": "Keyprez",
"url": "",
"maintainer": "Keyprez",
+ "usb": {
+ "vid": "0x6B7A",
+ "pid": "0x7563",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c b/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c
index f66e5670b0..6c21a3874c 100644
--- a/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c
+++ b/keyboards/keyprez/unicorn/keymaps/jorge/keymap.c
@@ -25,7 +25,7 @@ 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_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_BRIU, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_BRIU, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC
),
diff --git a/keyboards/keyquest/enclave/config.h b/keyboards/keyquest/enclave/config.h
new file mode 100644
index 0000000000..b91c01dca5
--- /dev/null
+++ b/keyboards/keyquest/enclave/config.h
@@ -0,0 +1,52 @@
+/* Copyright 2021 keyquest
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 3
+
+/* Keyboard Matrix Assignments*/
+#define MATRIX_ROW_PINS { D6, B6, F5 }
+#define MATRIX_COL_PINS { B4, B7, C7 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* RGB light setup*/
+#define RGB_DI_PIN B5
+#define RGBLED_NUM 2
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+#define RGBLIGHT_VAL_STEP 17
+#define RGBLIGHT_LIMIT_VAL 200
+
+/* RGB light 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
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* 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
diff --git a/keyboards/keyquest/enclave/info.json b/keyboards/keyquest/enclave/info.json
new file mode 100644
index 0000000000..da42594e70
--- /dev/null
+++ b/keyboards/keyquest/enclave/info.json
@@ -0,0 +1,27 @@
+{
+ "manufacturer": "keyquest",
+ "keyboard_name": "Enclave-1",
+ "maintainer": "the keyquest team",
+ "usb": {
+ "vid": "0x1117",
+ "pid": "0x0E0E",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/keyquest/enclave/keymaps/default/keymap.c b/keyboards/keyquest/enclave/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d1008fac11
--- /dev/null
+++ b/keyboards/keyquest/enclave/keymaps/default/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2021 keyquest
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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
+
+/* what each layer does */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * M = Macro
+ * ┌────┬────┬────â”
+ * │ M1 │ M2 │ M3 │
+ * ├────┼────┼────┤
+ * │ M4 │ M5 │ M6 │
+ * ├────┼────┼────┤
+ * │ M7 │ M8 │ M9 │
+ * └────┴────┴────┘
+ */
+ [0] = LAYOUT(
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
+ C(KC_C), C(KC_V), G(KC_V),
+ KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, MO(1)
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, MO(2), _______
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ MO(3), _______, _______
+ ),
+
+ [3] = LAYOUT(
+ RGB_TOG, RGB_MODE_PLAIN, RGB_MODE_BREATHE,
+ RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_GRADIENT,
+ _______, _______, _______
+ )
+};
diff --git a/keyboards/keyquest/enclave/keymaps/via/keymap.c b/keyboards/keyquest/enclave/keymaps/via/keymap.c
new file mode 100644
index 0000000000..766fbdc341
--- /dev/null
+++ b/keyboards/keyquest/enclave/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2021 keyquest
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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] = {
+ /*
+ * M = Macro
+ * ┌────┬────┬────â”
+ * │ M1 │ M2 │ M3 │
+ * ├────┼────┼────┤
+ * │ M4 │ M5 │ M6 │
+ * ├────┼────┼────┤
+ * │ M7 │ M8 │ M9 │
+ * └────┴────┴────┘
+ */
+ [0] = LAYOUT(
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
+ KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN,
+ _______, _______, _______
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ )
+};
diff --git a/keyboards/keyquest/enclave/keymaps/via/rules.mk b/keyboards/keyquest/enclave/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/keyquest/enclave/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keyquest/enclave/readme.md b/keyboards/keyquest/enclave/readme.md
new file mode 100644
index 0000000000..71d955e7a4
--- /dev/null
+++ b/keyboards/keyquest/enclave/readme.md
@@ -0,0 +1,16 @@
+# Enclave-1
+
+![ok](https://i.imgur.com/67HZEJBh.jpg)
+
+Enclave 1 is a fully programmable 9-key macropad + usb hub ideal for those constantly on the move that need to adapt to any situation. Besides being a full-fledged macropad, it can also be used as the main hub for all your other devices such as keyboards, dongles, drives, etc.
+
+* Keyboard Maintainer: [KeyQuest](https://github.com/KeyQuest)
+
+Compile example for this keyboard (after setting up your build environment):
+
+ make keyquest/enclave:default
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard.
+* **Physical reset button**: Briefly press the button on the back of the PCB.
diff --git a/keyboards/keyquest/enclave/rules.mk b/keyboards/keyquest/enclave/rules.mk
new file mode 100644
index 0000000000..0730fa9d7e
--- /dev/null
+++ b/keyboards/keyquest/enclave/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# Change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keyquest/readme.md b/keyboards/keyquest/readme.md
new file mode 100644
index 0000000000..39939eea37
--- /dev/null
+++ b/keyboards/keyquest/readme.md
@@ -0,0 +1,4 @@
+![](https://i.imgur.com/Z7J7H8F.png)
+
+
+[instagram](https://www.instagram.com/keyquest.tech/)
diff --git a/keyboards/keysofkings/twokey/config.h b/keyboards/keysofkings/twokey/config.h
index 29612187f8..f33537fabb 100755
--- a/keyboards/keysofkings/twokey/config.h
+++ b/keyboards/keysofkings/twokey/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xAE12
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keys of Kings
-#define PRODUCT Twokey
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B5 }
#define MATRIX_COL_PINS { B3, B2 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D7 }
diff --git a/keyboards/keysofkings/twokey/info.json b/keyboards/keysofkings/twokey/info.json
index 979a8e2fc1..cf1d79d250 100644
--- a/keyboards/keysofkings/twokey/info.json
+++ b/keyboards/keysofkings/twokey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Twokey",
+ "manufacturer": "Keys of Kings",
"url": "",
"maintainer": "Keys of Kings",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xAE12",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keystonecaps/gameroyadvance/config.h b/keyboards/keystonecaps/gameroyadvance/config.h
index cce7904b91..3b949040fd 100644
--- a/keyboards/keystonecaps/gameroyadvance/config.h
+++ b/keyboards/keystonecaps/gameroyadvance/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keystone Caps
-#define PRODUCT Game Roy ADVANCE
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B_RIGHT { B2 }
#define SOFT_SERIAL_PIN D2
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -62,10 +54,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-
-#define QMK_KEYS_PER_SCAN 12
-
#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/keystonecaps/gameroyadvance/info.json b/keyboards/keystonecaps/gameroyadvance/info.json
index f907de9326..33e62ed20c 100644
--- a/keyboards/keystonecaps/gameroyadvance/info.json
+++ b/keyboards/keystonecaps/gameroyadvance/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Game Roy ADVANCE",
- "maintainer": "@RoyMeetsWorld",
+ "manufacturer": "Keystone Caps",
"url": "https://keystonecaps.store/?product=game-roy-advance-game-pad-group-buy-preorder",
+ "maintainer": "@RoyMeetsWorld",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/keystonecaps/gameroyadvance/readme.md b/keyboards/keystonecaps/gameroyadvance/readme.md
index cc733cea46..9a0c74ef26 100644
--- a/keyboards/keystonecaps/gameroyadvance/readme.md
+++ b/keyboards/keystonecaps/gameroyadvance/readme.md
@@ -25,6 +25,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` (FN + Escape by default)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (FN + Escape by default)
Special thanks to @tpstevens for all of his hard work in creating these firmware files from the mess that I had made.
diff --git a/keyboards/keyten/aperture/aperture.c b/keyboards/keyten/aperture/aperture.c
new file mode 100644
index 0000000000..38415add5a
--- /dev/null
+++ b/keyboards/keyten/aperture/aperture.c
@@ -0,0 +1,17 @@
+ /* Copyright 2022 Ivan Gromov (@key10iq)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "aperture.h"
diff --git a/keyboards/keyten/aperture/aperture.h b/keyboards/keyten/aperture/aperture.h
new file mode 100644
index 0000000000..e547c91794
--- /dev/null
+++ b/keyboards/keyten/aperture/aperture.h
@@ -0,0 +1,48 @@
+ /* Copyright 2022 Ivan Gromov (@key10iq)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/* LAYOUT_all
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │0E │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │3D │3E │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤
+ * │40 │41 │42 │46 │4A │ │4C │4D │4E │
+ * └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘
+ */
+#define LAYOUT_all( \
+ 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, K2C, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K4A, 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, K3E }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, XXX, K4C, K4D, K4E } \
+}
diff --git a/keyboards/keyten/aperture/config.h b/keyboards/keyten/aperture/config.h
new file mode 100644
index 0000000000..27eecf2602
--- /dev/null
+++ b/keyboards/keyten/aperture/config.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2022 Ivan Gromov (@key10iq)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D1, D0, F7, F5, F6 }
+#define MATRIX_COL_PINS { B7, F0, F1, F4, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/keyten/aperture/info.json b/keyboards/keyten/aperture/info.json
new file mode 100644
index 0000000000..e242337659
--- /dev/null
+++ b/keyboards/keyten/aperture/info.json
@@ -0,0 +1,89 @@
+{
+ "keyboard_name": "Aperture",
+ "manufacturer": "Bizunow",
+ "url": "",
+ "maintainer": "keyten",
+ "usb": {
+ "vid": "0xEB69",
+ "pid": "0x6501",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+ {"x":15, "y":1},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+ {"x":15, "y":2},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4},
+ {"x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":7},
+ {"x":11, "y":4, "w":1.5},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
+ }
+
+ }
+}
diff --git a/keyboards/keyten/aperture/keymaps/default/keymap.c b/keyboards/keyten/aperture/keymaps/default/keymap.c
new file mode 100644
index 0000000000..732a9bbddc
--- /dev/null
+++ b/keyboards/keyten/aperture/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+ /* Copyright 2022 Ivan Gromov (@key10iq)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_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_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_DEL, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/keyten/aperture/keymaps/default/readme.md b/keyboards/keyten/aperture/keymaps/default/readme.md
new file mode 100644
index 0000000000..59f22e3e8c
--- /dev/null
+++ b/keyboards/keyten/aperture/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Aperture
diff --git a/keyboards/keyten/aperture/keymaps/via/keymap.c b/keyboards/keyten/aperture/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f72f5dbb42
--- /dev/null
+++ b/keyboards/keyten/aperture/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+ /* Copyright 2022 Ivan Gromov (@key10iq)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_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_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_DEL, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/keyten/aperture/keymaps/via/readme.md b/keyboards/keyten/aperture/keymaps/via/readme.md
new file mode 100644
index 0000000000..9ee17fca40
--- /dev/null
+++ b/keyboards/keyten/aperture/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for Aperture
diff --git a/keyboards/keyten/aperture/keymaps/via/rules.mk b/keyboards/keyten/aperture/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/keyten/aperture/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/keyten/aperture/readme.md b/keyboards/keyten/aperture/readme.md
new file mode 100644
index 0000000000..06417bae0f
--- /dev/null
+++ b/keyboards/keyten/aperture/readme.md
@@ -0,0 +1,29 @@
+# Aperture
+
+Aperture is a 65% keyboard with low height of the first row of switches.
+
+Case designed by [Bizunow](https://github.com/Bizunow) ans PCB designed by [keyten](https://github.com/key10iq).
+
+![Aperture image](https://i.imgur.com/L4Z9c96l.jpg)
+
+* Keyboard Maintainer: [keyten](https://github.com/key10iq)
+* Hardware Supported: Aperture PCB
+* Hardware Availability: [GB](https://t.me/gvalchcasciops)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aperture:default
+
+Flashing example for this keyboard:
+
+ make aperture:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
+* Physical reset button: Press the button on the back of the PCB
diff --git a/keyboards/keyten/aperture/rules.mk b/keyboards/keyten/aperture/rules.mk
new file mode 100644
index 0000000000..6983d5c803
--- /dev/null
+++ b/keyboards/keyten/aperture/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
diff --git a/keyboards/keyten/kt60_m/config.h b/keyboards/keyten/kt60_m/config.h
index 74378e7d23..9e2b068777 100644
--- a/keyboards/keyten/kt60_m/config.h
+++ b/keyboards/keyten/kt60_m/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEB69
-#define PRODUCT_ID 0x6001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER keyten
-#define PRODUCT kt60-M
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, B6, F7, F6 }
#define MATRIX_COL_PINS { B7, F0, F1, F4, F5, D1, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/keyten/kt60_m/info.json b/keyboards/keyten/kt60_m/info.json
index 7aa30e6251..ddcf445a8d 100644
--- a/keyboards/keyten/kt60_m/info.json
+++ b/keyboards/keyten/kt60_m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kt60-M",
+ "manufacturer": "keyten",
"url": "",
"maintainer": "key10iq",
+ "usb": {
+ "vid": "0xEB69",
+ "pid": "0x6001",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_tsangan_hhkb"
},
diff --git a/keyboards/keyten/kt60_m/readme.md b/keyboards/keyten/kt60_m/readme.md
index 32ca32c4b5..6a44fb2393 100644
--- a/keyboards/keyten/kt60_m/readme.md
+++ b/keyboards/keyten/kt60_m/readme.md
@@ -23,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* Keycode in layout: Press the key mapped to RESET if it is available
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
* Physical reset button: Press the button on the back of the PCB
diff --git a/keyboards/kikkou/config.h b/keyboards/kikkou/config.h
index 586c8e9661..f9dbebd28c 100644
--- a/keyboards/kikkou/config.h
+++ b/keyboards/kikkou/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D65
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechwerkes
-#define PRODUCT Kikkou
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, F4, F5, E6 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kikkou/info.json b/keyboards/kikkou/info.json
index 33b20030e3..1703a71e43 100644
--- a/keyboards/kikkou/info.json
+++ b/keyboards/kikkou/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kikkou",
+ "manufacturer": "Mechwerkes",
"url": "",
"maintainer": "Mechwerkes",
+ "usb": {
+ "vid": "0x6D65",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0, "w":2}, {"label":"0,14", "x":15, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,13", "x":12.75, "y":2, "w":2.25}, {"label":"2,14", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}]
diff --git a/keyboards/kikoslab/ellora65/config.h b/keyboards/kikoslab/ellora65/config.h
index e3f7452f41..d458250ad1 100644
--- a/keyboards/kikoslab/ellora65/config.h
+++ b/keyboards/kikoslab/ellora65/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE88F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kikos Lab
-#define PRODUCT Ellora65
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/kikoslab/ellora65/info.json b/keyboards/kikoslab/ellora65/info.json
index 2d6b676098..f4bdb9ee00 100644
--- a/keyboards/kikoslab/ellora65/info.json
+++ b/keyboards/kikoslab/ellora65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ellora65",
+ "manufacturer": "Kikos Lab",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE88F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kikoslab/ellora65/readme.md b/keyboards/kikoslab/ellora65/readme.md
index 419c5418ec..b021188cf9 100644
--- a/keyboards/kikoslab/ellora65/readme.md
+++ b/keyboards/kikoslab/ellora65/readme.md
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (1,0) in the matrix (escape key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kikoslab/kl90/config.h b/keyboards/kikoslab/kl90/config.h
index b0d983f181..dee2bf8516 100644
--- a/keyboards/kikoslab/kl90/config.h
+++ b/keyboards/kikoslab/kl90/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA53
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kikos Lab
-#define PRODUCT KL90
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/kikoslab/kl90/info.json b/keyboards/kikoslab/kl90/info.json
index 1354469367..15f573d7db 100644
--- a/keyboards/kikoslab/kl90/info.json
+++ b/keyboards/kikoslab/kl90/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KL-90",
+ "manufacturer": "Kikos Lab",
"url": "www.kikoslab.com",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA53",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kin80/blackpill103/config.h b/keyboards/kin80/blackpill103/config.h
index b8be5e6481..052828fb83 100644
--- a/keyboards/kin80/blackpill103/config.h
+++ b/keyboards/kin80/blackpill103/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0002
-
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
diff --git a/keyboards/kin80/blackpill103/info.json b/keyboards/kin80/blackpill103/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/kin80/blackpill103/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/kin80/blackpill401/config.h b/keyboards/kin80/blackpill401/config.h
index 5f5f37c6d3..2cbca43a08 100644
--- a/keyboards/kin80/blackpill401/config.h
+++ b/keyboards/kin80/blackpill401/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0003
-
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
diff --git a/keyboards/kin80/blackpill401/info.json b/keyboards/kin80/blackpill401/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/kin80/blackpill401/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/kin80/blackpill401/rules.mk b/keyboards/kin80/blackpill401/rules.mk
index 264e71d0b5..1fec226e9b 100644
--- a/keyboards/kin80/blackpill401/rules.mk
+++ b/keyboards/kin80/blackpill401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/kin80/blackpill411/config.h b/keyboards/kin80/blackpill411/config.h
index 5f5f37c6d3..2cbca43a08 100644
--- a/keyboards/kin80/blackpill411/config.h
+++ b/keyboards/kin80/blackpill411/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0003
-
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
diff --git a/keyboards/kin80/blackpill411/info.json b/keyboards/kin80/blackpill411/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/kin80/blackpill411/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/kin80/blackpill411/rules.mk b/keyboards/kin80/blackpill411/rules.mk
index 75bc794ef0..cd1657335d 100644
--- a/keyboards/kin80/blackpill411/rules.mk
+++ b/keyboards/kin80/blackpill411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/kin80/info.json b/keyboards/kin80/info.json
index f599382d3d..a8d846340e 100644
--- a/keyboards/kin80/info.json
+++ b/keyboards/kin80/info.json
@@ -1,6 +1,6 @@
{
- "keyboard_name": "Kin80",
- "url": "https://github.com/DmNosachev/kinesis80",
+ "keyboard_name": "Kin80",
+ "url": "https://github.com/DmNosachev/kinesis80",
"maintainer": "DmNosachev",
"usb": {
"vid": "0xFEED",
@@ -10,10 +10,192 @@
"diode_direction": "COL2ROW",
"layouts": {
"LAYOUT": {
- "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":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":0, "y":1.25, "w":1.25}, {"x":1.25, "y":1.25}, {"x":2.25, "y":1.25}, {"x":3.25, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":11.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25, "w":1.25}, {"x":0, "y":2.25, "w":1.25}, {"x":1.25, "y":2.25}, {"x":2.25, "y":2.25}, {"x":3.25, "y":2.25}, {"x":4.25, "y":2.25}, {"x":5.25, "y":2.25}, {"x":11.25, "y":2.25}, {"x":12.25, "y":2.25}, {"x":13.25, "y":2.25}, {"x":14.25, "y":2.25}, {"x":15.25, "y":2.25}, {"x":16.25, "y":2.25, "w":1.25}, {"x":0, "y":3.25, "w":1.25}, {"x":1.25, "y":3.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":11.25, "y":3.25}, {"x":12.25, "y":3.25}, {"x":13.25, "y":3.25}, {"x":14.25, "y":3.25}, {"x":15.25, "y":3.25}, {"x":16.25, "y":3.25, "w":1.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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":11.25, "y":4.25}, {"x":12.25, "y":4.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}, {"x":16.25, "y":4.25, "w":1.25}, {"x":1.25, "y":5.25}, {"x":2.25, "y":5.25}, {"x":3.25, "y":5.25}, {"x":4.25, "y":5.25}, {"x":12.25, "y":5.25}, {"x":13.25, "y":5.25}, {"x":14.25, "y":5.25}, {"x":15.25, "y":5.25}, {"x":6.25, "y":6}, {"x":7.25, "y":6}, {"x":9.25, "y":6}, {"x":10.25, "y":6}, {"x":5.25, "y":7, "h":2}, {"x":6.25, "y":7, "h":2}, {"x":7.25, "y":7}, {"x":9.25, "y":7}, {"x":10.25, "y":7, "h":2}, {"x":11.25, "y":7, "h":2}, {"x":7.25, "y":8}, {"x":9.25, "y":8}]
+ "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":11.5, "y":0},
+ {"x":12.5, "y":0},
+ {"x":13.5, "y":0},
+ {"x":14.5, "y":0},
+ {"x":15.5, "y":0},
+ {"x":16.5, "y":0},
+
+ {"x":0, "y":1.25, "w":1.25},
+ {"x":1.25, "y":1.25},
+ {"x":2.25, "y":1.25},
+ {"x":3.25, "y":1.25},
+ {"x":4.25, "y":1.25},
+ {"x":5.25, "y":1.25},
+ {"x":11.25, "y":1.25},
+ {"x":12.25, "y":1.25},
+ {"x":13.25, "y":1.25},
+ {"x":14.25, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25, "w":1.25},
+
+ {"x":0, "y":2.25, "w":1.25},
+ {"x":1.25, "y":2.25},
+ {"x":2.25, "y":2.25},
+ {"x":3.25, "y":2.25},
+ {"x":4.25, "y":2.25},
+ {"x":5.25, "y":2.25},
+ {"x":11.25, "y":2.25},
+ {"x":12.25, "y":2.25},
+ {"x":13.25, "y":2.25},
+ {"x":14.25, "y":2.25},
+ {"x":15.25, "y":2.25},
+ {"x":16.25, "y":2.25, "w":1.25},
+
+ {"x":0, "y":3.25, "w":1.25},
+ {"x":1.25, "y":3.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":11.25, "y":3.25},
+ {"x":12.25, "y":3.25},
+ {"x":13.25, "y":3.25},
+ {"x":14.25, "y":3.25},
+ {"x":15.25, "y":3.25},
+ {"x":16.25, "y":3.25, "w":1.25},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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":11.25, "y":4.25},
+ {"x":12.25, "y":4.25},
+ {"x":13.25, "y":4.25},
+ {"x":14.25, "y":4.25},
+ {"x":15.25, "y":4.25},
+ {"x":16.25, "y":4.25, "w":1.25},
+
+ {"x":1.25, "y":5.25},
+ {"x":2.25, "y":5.25},
+ {"x":3.25, "y":5.25},
+ {"x":4.25, "y":5.25},
+ {"x":12.25, "y":5.25},
+ {"x":13.25, "y":5.25},
+ {"x":14.25, "y":5.25},
+ {"x":15.25, "y":5.25},
+
+ {"x":6.25, "y":6},
+ {"x":7.25, "y":6},
+ {"x":9.25, "y":6},
+ {"x":10.25, "y":6},
+
+ {"x":7.25, "y":7},
+ {"x":9.25, "y":7},
+
+ {"x":5.25, "y":7, "h":2},
+ {"x":6.25, "y":7, "h":2},
+ {"x":7.25, "y":8},
+ {"x":9.25, "y":8},
+ {"x":10.25, "y":7, "h":2},
+ {"x":11.25, "y":7, "h":2}
+ ]
},
- "LAYOUT_all": {
- "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":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":0, "y":1.25, "w":1.25}, {"x":1.25, "y":1.25}, {"x":2.25, "y":1.25}, {"x":3.25, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":11.75, "y":1.25}, {"x":12.75, "y":1.25}, {"x":13.75, "y":1.25}, {"x":14.75, "y":1.25}, {"x":15.75, "y":1.25}, {"x":16.75, "y":1.25, "w":1.25}, {"x":0, "y":2.25, "w":1.25}, {"x":1.25, "y":2.25}, {"x":2.25, "y":2.25}, {"x":3.25, "y":2.25}, {"x":4.25, "y":2.25}, {"x":5.25, "y":2.25}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2.25}, {"x":13.75, "y":2.25}, {"x":14.75, "y":2.25}, {"x":15.75, "y":2.25}, {"x":16.75, "y":2.25, "w":1.25}, {"x":0, "y":3.25, "w":1.25}, {"x":1.25, "y":3.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":11.75, "y":3.25}, {"x":12.75, "y":3.25}, {"x":13.75, "y":3.25}, {"x":14.75, "y":3.25}, {"x":15.75, "y":3.25}, {"x":16.75, "y":3.25, "w":1.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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":11.75, "y":4.25}, {"x":12.75, "y":4.25}, {"x":13.75, "y":4.25}, {"x":14.75, "y":4.25}, {"x":15.75, "y":4.25}, {"x":16.75, "y":4.25, "w":1.25}, {"x":0.25, "y":5.25}, {"x":1.25, "y":5.25}, {"x":2.25, "y":5.25}, {"x":3.25, "y":5.25}, {"x":4.25, "y":5.25}, {"x":5.25, "y":5.25}, {"x":11.75, "y":5.25}, {"x":12.75, "y":5.25}, {"x":13.75, "y":5.25}, {"x":14.75, "y":5.25}, {"x":15.75, "y":5.25}, {"x":16.75, "y":5.25}, {"x":6.5, "y":6}, {"x":7.5, "y":6}, {"x":9.5, "y":6}, {"x":10.5, "y":6}, {"x":5.25, "y":7, "h":2}, {"x":6.25, "y":7, "h":2}, {"x":7.25, "y":7}, {"x":9.5, "y":7}, {"x":10.5, "y":7, "h":2}, {"x":11.5, "y":7, "h":2}, {"x":7.25, "y":8}, {"x":9.5, "y":8}]
+ "LAYOUT_all": {
+ "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":11.5, "y":0},
+ {"x":12.5, "y":0},
+ {"x":13.5, "y":0},
+ {"x":14.5, "y":0},
+ {"x":15.5, "y":0},
+ {"x":16.5, "y":0},
+
+ {"x":0, "y":1.25, "w":1.25},
+ {"x":1.25, "y":1.25},
+ {"x":2.25, "y":1.25},
+ {"x":3.25, "y":1.25},
+ {"x":4.25, "y":1.25},
+ {"x":5.25, "y":1.25},
+ {"x":11.25, "y":1.25},
+ {"x":12.25, "y":1.25},
+ {"x":13.25, "y":1.25},
+ {"x":14.25, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25, "w":1.25},
+
+ {"x":0, "y":2.25, "w":1.25},
+ {"x":1.25, "y":2.25},
+ {"x":2.25, "y":2.25},
+ {"x":3.25, "y":2.25},
+ {"x":4.25, "y":2.25},
+ {"x":5.25, "y":2.25},
+ {"x":11.25, "y":2.25},
+ {"x":12.25, "y":2.25},
+ {"x":13.25, "y":2.25},
+ {"x":14.25, "y":2.25},
+ {"x":15.25, "y":2.25},
+ {"x":16.25, "y":2.25, "w":1.25},
+
+ {"x":0, "y":3.25, "w":1.25},
+ {"x":1.25, "y":3.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":11.25, "y":3.25},
+ {"x":12.25, "y":3.25},
+ {"x":13.25, "y":3.25},
+ {"x":14.25, "y":3.25},
+ {"x":15.25, "y":3.25},
+ {"x":16.25, "y":3.25, "w":1.25},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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":11.25, "y":4.25},
+ {"x":12.25, "y":4.25},
+ {"x":13.25, "y":4.25},
+ {"x":14.25, "y":4.25},
+ {"x":15.25, "y":4.25},
+ {"x":16.25, "y":4.25, "w":1.25},
+
+ {"x":0.25, "y":5.25},
+ {"x":1.25, "y":5.25},
+ {"x":2.25, "y":5.25},
+ {"x":3.25, "y":5.25},
+ {"x":4.25, "y":5.25},
+ {"x":5.25, "y":5.25},
+ {"x":11.25, "y":5.25},
+ {"x":12.25, "y":5.25},
+ {"x":13.25, "y":5.25},
+ {"x":14.25, "y":5.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+
+ {"x":6.25, "y":6},
+ {"x":7.25, "y":6},
+ {"x":9.25, "y":6},
+ {"x":10.25, "y":6},
+
+ {"x":7.25, "y":7},
+ {"x":9.25, "y":7},
+
+ {"x":5.25, "y":7, "h":2},
+ {"x":6.25, "y":7, "h":2},
+ {"x":7.25, "y":8},
+ {"x":9.25, "y":8},
+ {"x":10.25, "y":7, "h":2},
+ {"x":11.25, "y":7, "h":2}
+ ]
}
}
-} \ No newline at end of file
+}
diff --git a/keyboards/kin80/keymaps/andrew/keymap.c b/keyboards/kin80/keymaps/andrew/keymap.c
index d8773f9d72..8c63a6edc6 100644
--- a/keyboards/kin80/keymaps/andrew/keymap.c
+++ b/keyboards/kin80/keymaps/andrew/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | | | | | | VRSN | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | | | MbL | MUp | MbR | | |RESET | | | | | |
+* | | | MbL | MUp | MbR | | |QK_BOOT | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | ML | MDn | MR | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_L2] = LAYOUT(
KC_F1, _______, _______, _______, _______, _______, EMAIL1, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
_______, _______, _______, _______, _______, _______, VRSN, _______, _______, _______, _______, _______,
- _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, RESET, _______, _______, _______, _______, _______,
+ _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, QK_BOOT, _______, _______, _______, _______, _______,
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_INS, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kin80/keymaps/maxim/keymap.c b/keyboards/kin80/keymaps/maxim/keymap.c
index a8be54a4dd..090a3bb6b6 100644
--- a/keyboards/kin80/keymaps/maxim/keymap.c
+++ b/keyboards/kin80/keymaps/maxim/keymap.c
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MC] = LAYOUT(
VRSN, _______, _______, _______, _______, _______, EMAIL1, _______, _______, PWD3, PWD2, PWD1,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC2,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, MC1, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kin80/keymaps/quartz64/keymap.c b/keyboards/kin80/keymaps/quartz64/keymap.c
index 611c86a09d..3bb2cdb4b8 100644
--- a/keyboards/kin80/keymaps/quartz64/keymap.c
+++ b/keyboards/kin80/keymaps/quartz64/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MC] = LAYOUT_all(
VRSN, _______, _______, _______, _______, _______, EMAIL1, _______, PWD4, PWD3, PWD2, PWD1,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC2,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, MC1, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kin80/micro/config.h b/keyboards/kin80/micro/config.h
index 546d0bc5f5..5c9369a077 100644
--- a/keyboards/kin80/micro/config.h
+++ b/keyboards/kin80/micro/config.h
@@ -17,11 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS { B6, B3, B1, D6, B7, B5, D1 }
#define MATRIX_COL_PINS { B4, E6, D7, C6, D4, D0, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS { C7 }
#define LED_PIN_ON_STATE 0
#define NUM_LOCK_LED_PIN D2
diff --git a/keyboards/kin80/micro/info.json b/keyboards/kin80/micro/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/kin80/micro/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kin80/readme.md b/keyboards/kin80/readme.md
index 9adee072e7..3ed52b4a59 100644
--- a/keyboards/kin80/readme.md
+++ b/keyboards/kin80/readme.md
@@ -30,4 +30,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the the top left key and plug in the keyboard.
* **Physical reset button**. Hold 'boot0' button on MCU board, press 'reset', then release 'boot0'.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/kindakeyboards/conone65/config.h b/keyboards/kindakeyboards/conone65/config.h
index 0a7127708c..5e3dacdb0e 100644
--- a/keyboards/kindakeyboards/conone65/config.h
+++ b/keyboards/kindakeyboards/conone65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9133
-#define PRODUCT_ID 0x6AAB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kindakeyboards
-#define PRODUCT Conone 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS {D5,D3,E6,D1,D2}
#define MATRIX_COL_PINS {B7,F7,D4,D6,D7,B4,B5,B6,C6,C7,F6,F5,F4,F1,F0,D0}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kindakeyboards/conone65/info.json b/keyboards/kindakeyboards/conone65/info.json
index 32644b430d..3c06e955be 100644
--- a/keyboards/kindakeyboards/conone65/info.json
+++ b/keyboards/kindakeyboards/conone65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Conone 65",
+ "manufacturer": "Kindakeyboards",
"url": "https://kindakeyboards.be/conone65",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x9133",
+ "pid": "0x6AAB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kinesis/alvicstep/config.h b/keyboards/kinesis/alvicstep/config.h
index 8a656264ee..c77eebb577 100644
--- a/keyboards/kinesis/alvicstep/config.h
+++ b/keyboards/kinesis/alvicstep/config.h
@@ -3,10 +3,6 @@
#include "../config.h"
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
@@ -26,7 +22,6 @@
// May be upside down.
#define MATRIX_COL_PINS { B0,B1, B2, B3, B4, B5, B6, B7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/alvicstep/info.json b/keyboards/kinesis/alvicstep/info.json
new file mode 100644
index 0000000000..1db31a0429
--- /dev/null
+++ b/keyboards/kinesis/alvicstep/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+ "manufacturer": "QMK",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h
index 63b296a528..aa42ade2a7 100644
--- a/keyboards/kinesis/config.h
+++ b/keyboards/kinesis/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define MANUFACTURER You
-#define PRODUCT Kinesis Advantage/Contoured
-
// Mouse
#define MOUSEKEY_DELAY 60
#define MOUSEKEY_INTERVAL 20
diff --git a/keyboards/kinesis/info.json b/keyboards/kinesis/info.json
index 93259d06bf..5b9baafae4 100644
--- a/keyboards/kinesis/info.json
+++ b/keyboards/kinesis/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Kinesis",
"url": "",
"maintainer": "qmk",
"layouts": {
diff --git a/keyboards/kinesis/keymaps/carpalx/keymap.c b/keyboards/kinesis/keymaps/carpalx/keymap.c
index 2e56946e76..28d724518a 100644
--- a/keyboards/kinesis/keymaps/carpalx/keymap.c
+++ b/keyboards/kinesis/keymaps/carpalx/keymap.c
@@ -18,7 +18,7 @@ extern keymap_config_t keymap_config;
| L0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
`---------------------------------------------------------------'
,---------------------------------------------------------------.
- | F9 | F10 | F11 | F12 | PSCR | L1 | L2 | L2 | RESET |
+ | F9 | F10 | F11 | F12 | PSCR | L1 | L2 | L2 | QK_BOOT |
`---------------------------------------------------------------'
L0 Carpalx layer:
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC, KC_ESC, MO(_KP),
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, TO(_QW), TO(_KP), TO(_KP), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, TO(_QW), TO(_KP), TO(_KP), QK_BOOT,
KC_0, KC_8, KC_6, KC_4, KC_2, KC_MINS,
KC_B, KC_Y, KC_U, KC_V, KC_SCLN, KC_EQL,
KC_I, KC_A, KC_E, KC_O, KC_H, KC_QUOT,
diff --git a/keyboards/kinesis/keymaps/carpalx/readme.md b/keyboards/kinesis/keymaps/carpalx/readme.md
index aa57b60a52..2db75c9539 100644
--- a/keyboards/kinesis/keymaps/carpalx/readme.md
+++ b/keyboards/kinesis/keymaps/carpalx/readme.md
@@ -4,7 +4,7 @@
Carpalx layout (also known as QGMLWBY) is an optimized alternative keyboard layout.
Learn more about it at:
-[http://mkweb.bcgsc.ca/carpalx/?popular_alternatives]()
+[http://mkweb.bcgsc.ca/carpalx/?popular_alternatives](http://mkweb.bcgsc.ca/carpalx/?popular_alternatives)
The layout also includes a QWERTY layer to help with the transition.
- Scroll Lock: QWERTY layer
diff --git a/keyboards/kinesis/keymaps/dvorak/keymap.c b/keyboards/kinesis/keymaps/dvorak/keymap.c
index 6f4d63a7d4..a81ac0cec5 100644
--- a/keyboards/kinesis/keymaps/dvorak/keymap.c
+++ b/keyboards/kinesis/keymaps/dvorak/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME,
KC_BSPC, KC_DEL, KC_END,
// right hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, QK_BOOT,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
KC_D, KC_H, KC_T, KC_N, KC_S, KC_BSLS,
diff --git a/keyboards/kinesis/keymaps/farmergreg/keymap.c b/keyboards/kinesis/keymaps/farmergreg/keymap.c
index c861233691..1b6442cac5 100644
--- a/keyboards/kinesis/keymaps/farmergreg/keymap.c
+++ b/keyboards/kinesis/keymaps/farmergreg/keymap.c
@@ -18,7 +18,7 @@
* qmk compile -kb kinesis/kint41 -km farmergreg
*
* Layout Details:
- * PROGM + F9 to RESET and load new firmware.
+ * PROGM + F9 to QK_BOOT and load new firmware.
* Colemak (default / PROGM+C), Dvorak (PROGM + F4) and QWERTY (PROGM+F3) layouts are available for use
* CAPS LOCK is ESC (for use in VIM). Double tap to activate CAPS Lock
* UP and DOWN arrows are swapped to be more like VIM
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[_LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = {
_______,
_______,_______,_______,
- RESET ,_______,_______,_______,_______,_______,_______,_______,_______,
+ QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,
diff --git a/keyboards/kinesis/keymaps/heatxsink/keymap.c b/keyboards/kinesis/keymaps/heatxsink/keymap.c
index 1f49c4622c..dd02def8c2 100644
--- a/keyboards/kinesis/keymaps/heatxsink/keymap.c
+++ b/keyboards/kinesis/keymaps/heatxsink/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME,
KC_BSPC,KC_DEL ,KC_END ,
// RHAND
- KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KEYPAD ,RESET ,
+ KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KEYPAD ,QK_BOOT,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
_______,_______,_______,_______,_______,KC_BSLS,
_______,_______,_______,_______,_______,KC_QUOT,
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
index 183b1c4303..7d39da8397 100644
--- a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
@@ -356,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | | | | | | | | | | | | | | | | |
`-----------------------------------------------------------------------------------------------------------'
,-------------------------------------------. ,-------------------------------------------.
- | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | RESET |
+ | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | QK_BOOT |
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
| | | | | | | | | | | | | |
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
@@ -376,7 +376,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -388,7 +388,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST2] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kinesis/keymaps/jwon/keymap.c b/keyboards/kinesis/keymaps/jwon/keymap.c
index d0e9d81231..fa75f95865 100644
--- a/keyboards/kinesis/keymaps/jwon/keymap.c
+++ b/keyboards/kinesis/keymaps/jwon/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC, KC_SPC, MACCOPY,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, QWERTY, RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, QWERTY, QK_BOOT,
KC_EQL, KC_RPRN, KC_RCBR, KC_RBRC, KC_ASTR, KC_EXLM,
KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
diff --git a/keyboards/kinesis/keymaps/milestogo/keymap.c b/keyboards/kinesis/keymaps/milestogo/keymap.c
index 8c01bcb83d..710ef97c59 100644
--- a/keyboards/kinesis/keymaps/milestogo/keymap.c
+++ b/keyboards/kinesis/keymaps/milestogo/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL,KC_LALT,
KC_DEL,
KC_BSPC, KC_DEL ,TT(_MOUSE) ,
- KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,TT(_MOUSE) ,TG(_MOUSE) ,TT(_SYMB), KC_NO, RESET,
+ KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,TT(_MOUSE) ,TG(_MOUSE) ,TT(_SYMB), KC_NO, QK_BOOT,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS,
KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_COLON, MT(MOD_LGUI,KC_LEFT), LT(_SYMB, KC_RIGHT),
_______, _______,
_______,
- _______, _______, RESET,
+ _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, TT(_MOUSE), KC_2,
_______, _______, _______, _______, _______, _______,
KC_AMPR, KC_LBRC, KC_LPRN, KC_RPRN, KC_UNDS, _______,
@@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, MT(MOD_LGUI,KC_LEFT), LT(_SYMB, KC_RIGHT),
_______, _______,
_______,
- _______, _______, RESET,
+ _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, TT(_MOUSE), KC_2,
_______, _______, _______, KC_ASTR, _______, _______,
_______, _______, KC_PLUS, KC_MINS, _______, _______,
@@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,
_______,
_______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, TT(_MOUSE),RESET,
+ _______, _______, _______, _______, _______, _______, _______, TT(_MOUSE),QK_BOOT,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ACL2,
KC_WH_U, M(A_MUL), KC_MS_U, M(A_MUR), KC_NO, KC_ACL1,
KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_ACL0,
@@ -330,7 +330,7 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
#ifdef ALVICSTEP_CONFIG_H
- int8_t layer = biton32(layer_state);
+ int8_t layer = get_highest_layer(layer_state);
switch (layer) {
case 1:
diff --git a/keyboards/kinesis/keymaps/peott-fr/keymap.c b/keyboards/kinesis/keymaps/peott-fr/keymap.c
index e813f070d0..c56d3426f1 100644
--- a/keyboards/kinesis/keymaps/peott-fr/keymap.c
+++ b/keyboards/kinesis/keymaps/peott-fr/keymap.c
@@ -23,6 +23,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, LGUI_T(KC_MPLY), LALT_T(KC_MNXT), KC_GRV, KC_BSLS, KC_LBRC, KC_RBRC, KC_HOME, LT(1,KC_SPC), KC_DEL, KC_END, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(3), KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RALT, KC_APP, KC_PGUP, KC_PGDN, KC_ENT, LT(2,KC_BSPC)),
[1] = 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_PGUP, KC_LBRC, KC_UP, KC_RBRC, KC_LPRN, KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_RPRN, KC_TRNS, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_NO, KC_NO, KC_P0, KC_PDOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
};
diff --git a/keyboards/kinesis/keymaps/stapelberg/keymap.c b/keyboards/kinesis/keymaps/stapelberg/keymap.c
index d7a0a5e5c2..9518c017bc 100644
--- a/keyboards/kinesis/keymaps/stapelberg/keymap.c
+++ b/keyboards/kinesis/keymaps/stapelberg/keymap.c
@@ -17,6 +17,7 @@
#include QMK_KEYBOARD_H
#define QWERTY 0 // Base qwerty
+#define LAYER1 1
/****************************************************************************************************
@@ -56,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL,KC_LALT,
KC_LGUI,
KC_BSPC,KC_ESC ,KC_END ,
- KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR ,KC_SLCK ,KC_PAUS, KC_NO, RESET,
+ KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR ,KC_SLCK ,KC_PAUS, MO(1), QK_BOOT,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS,
KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,
@@ -65,5 +66,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_RALT,KC_RCTL,
KC_PGUP,
KC_PGDN,KC_ENTER ,KC_SPC
- )
+ ),
+
+// LAYER1 is activated by the keypad key. It has WAKE on Escape (left-most key),
+// and volume keys on PSCR (mute), SLCK (volume down) and PAUS (volume up),
+// as printed on the Kinesis Advantage 2.
+[LAYER1] = LAYOUT(
+
+ KC_WAKE, KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
+ KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,
+ KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_MUTE ,KC_VOLD ,KC_VOLU, KC_TRNS, KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,
+ KC_NO ,KC_NO ,
+ KC_NO ,
+ KC_NO ,KC_NO ,KC_NO
+ ),
};
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
index 2e844f19b1..89a39c08b4 100644
--- a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
@@ -346,7 +346,7 @@ Adjust layer
| | | | | | | | | | | | | | | | | | | |
`--------------------------------------------------------------' `--------------------------------------------------------------'
,------------------------------------------------------. ,------------------------------------------------------.
-| | Colemak| QWERTY | | Gaming | | | Numpad | | | | | RESET |
+| | Colemak| QWERTY | | Gaming | | | Numpad | | | | | QK_BOOT |
|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
| | | | | | | | | | | | | |
|---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------|
@@ -366,7 +366,7 @@ Adjust layer
*/
[_ADJUST] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -378,7 +378,7 @@ Adjust layer
[_ADJUST2] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, RESET,
+ _______, COLEMAK, QWERTY, _______, GAMING, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kinesis/keymaps/tw1t611/keymap.c b/keyboards/kinesis/keymaps/tw1t611/keymap.c
index e7a6ffd6e9..bfa8027352 100644
--- a/keyboards/kinesis/keymaps/tw1t611/keymap.c
+++ b/keyboards/kinesis/keymaps/tw1t611/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_RCTL,KC_LALT,
KC_HOME,
KC_SPC ,KC_LSFT,KC_BSPC ,
- KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KC_NO ,RESET,
+ KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KC_NO ,QK_BOOT,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,DE_SS ,
KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA,
KC_H ,KC_J ,KC_K ,KC_L ,DE_SLSH,DE_ODIA,
diff --git a/keyboards/kinesis/keymaps/xyverz/keymap.c b/keyboards/kinesis/keymaps/xyverz/keymap.c
index ffc4459547..286d7ca7a7 100644
--- a/keyboards/kinesis/keymaps/xyverz/keymap.c
+++ b/keyboards/kinesis/keymaps/xyverz/keymap.c
@@ -23,7 +23,7 @@ enum custom_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, KEYPAD };
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
`-----------------------------------------------------------------'
,-----------------------------------------------------------------.
- | F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | RESET |
+ | F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | QK_BOOT |
`-----------------------------------------------------------------'
Dvorak layer:
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC, KC_DEL, GUI_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), QK_BOOT,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC, KC_DEL, KC_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), QK_BOOT,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS ,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BSPC, KC_DEL, KC_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), QK_BOOT,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
diff --git a/keyboards/kinesis/kinesis.h b/keyboards/kinesis/kinesis.h
index 54cf6b81a7..e3345ee27f 100644
--- a/keyboards/kinesis/kinesis.h
+++ b/keyboards/kinesis/kinesis.h
@@ -12,6 +12,8 @@
# include "kint36.h"
#elif defined(KEYBOARD_kinesis_kint41)
# include "kint41.h"
+#elif defined(KEYBOARD_kinesis_kintlc)
+# include "kintlc.h"
#endif
#include "quantum.h"
diff --git a/keyboards/kinesis/kint2pp/config.h b/keyboards/kinesis/kint2pp/config.h
index 54ba07d3d6..4bbc59e44c 100644
--- a/keyboards/kinesis/kint2pp/config.h
+++ b/keyboards/kinesis/kint2pp/config.h
@@ -1,9 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0002
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 7
@@ -21,7 +17,6 @@
#define MATRIX_ROW_PINS { D7, E0, E1, C0, C6, F6, D4, D2, D3, D0, B7, D1, E6, B4, B2 }
#define MATRIX_COL_PINS { E7, F0, F7, B1, B3, B0, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/kint2pp/info.json b/keyboards/kinesis/kint2pp/info.json
new file mode 100644
index 0000000000..b44abddfdf
--- /dev/null
+++ b/keyboards/kinesis/kint2pp/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+ "manufacturer": "QMK",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h
index 188c83345d..9b45484b55 100644
--- a/keyboards/kinesis/kint36/config.h
+++ b/keyboards/kinesis/kint36/config.h
@@ -16,18 +16,6 @@
#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 (kint36)"
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 7
@@ -45,7 +33,6 @@
#define MATRIX_ROW_PINS { D3, C3, C4, C6, D2, B0, D7, A12, A13, B17, B16, D0, B1, C2, D6 }
#define MATRIX_COL_PINS { B3, D1, C0, D5, C1, B2, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/kint36/info.json b/keyboards/kinesis/kint36/info.json
new file mode 100644
index 0000000000..2fbfcc5661
--- /dev/null
+++ b/keyboards/kinesis/kint36/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "kinT (kint36)",
+ "manufacturer": "https://github.com/stapelberg",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x345C",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
index 524792de81..57e703fd6f 100644
--- a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
+++ b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
@@ -161,7 +161,7 @@ enum my_keycodes {QWERTY = SAFE_RANGE, DVORAK, WIN, MAC, PC, STATUS, PROGRAM};
| STATUS | | | QWERTY | DVORAK | | | | |
`-------------------------------------------------------------------------------'
,-------------------------------------------------------------------------------.
- | RESET | | | | | | | | |
+ | QK_BOOT | | | | | | | | |
`-------------------------------------------------------------------------------'
,-------------------------------------------.,-------------------------------------------.
| | | | | | || | | | | | |
@@ -330,7 +330,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,
// Right Hand
- RESET, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kinesis/kint36/kint36.c b/keyboards/kinesis/kint36/kint36.c
index 108c14c7ba..cc32a60262 100644
--- a/keyboards/kinesis/kint36/kint36.c
+++ b/keyboards/kinesis/kint36/kint36.c
@@ -16,11 +16,12 @@
#include "kint36.h"
+#define LED_POWER C5
+
void matrix_init_kb(void) {
matrix_init_user();
-// Turn on the Teensy 3.6 Power LED:
-#define LED_POWER C5
+ // Turn on the Teensy 3.6 Power LED:
setPinOutput(LED_POWER);
writePinHigh(LED_POWER);
}
diff --git a/keyboards/kinesis/kint36/rules.mk b/keyboards/kinesis/kint36/rules.mk
index c50225ad8a..d495568dd3 100644
--- a/keyboards/kinesis/kint36/rules.mk
+++ b/keyboards/kinesis/kint36/rules.mk
@@ -4,6 +4,3 @@ MCU = MK66FX1M0
# Debounce eagerly (report change immediately), keep per-key timers. We can use
# this because the kinT does not have to deal with noise.
DEBOUNCE_TYPE = sym_eager_pk
-
-#Specify firmware format that is copied to root qmk_firmware folder
-FIRMWARE_FORMAT = hex
diff --git a/keyboards/kinesis/kint41/config.h b/keyboards/kinesis/kint41/config.h
index 3e13e84606..6df789d631 100644
--- a/keyboards/kinesis/kint41/config.h
+++ b/keyboards/kinesis/kint41/config.h
@@ -16,18 +16,6 @@
#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
@@ -72,7 +60,6 @@
LINE_PIN6 /* COL_6 */ \
}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/kint41/info.json b/keyboards/kinesis/kint41/info.json
new file mode 100644
index 0000000000..45481a5b84
--- /dev/null
+++ b/keyboards/kinesis/kint41/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "kinT (kint41)",
+ "manufacturer": "https://github.com/stapelberg",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x345C",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kinesis/kint41/kint41.c b/keyboards/kinesis/kint41/kint41.c
index ab6567d097..2538b492de 100644
--- a/keyboards/kinesis/kint41/kint41.c
+++ b/keyboards/kinesis/kint41/kint41.c
@@ -16,11 +16,12 @@
#include "kint41.h"
+#define LED_POWER LINE_PIN13
+
void matrix_init_kb(void) {
matrix_init_user();
-// Turn on the Teensy 4.x Power LED:
-#define LED_POWER LINE_PIN13
+ // Turn on the Teensy 4.x Power LED:
setPinOutput(LED_POWER);
writePinHigh(LED_POWER);
}
@@ -46,7 +47,10 @@ void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
// 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.
+ // On some variants of the hardware, 20μs seems to be required. This was found
+ // on a combination of KB600LF+stapelberg v2020-06-30+teensy41.
+
// 600 cycles at 0.6 cycles/ns == 1μs
const uint32_t cycles_per_us = 600;
- delay_inline(10 * cycles_per_us);
+ delay_inline(20 * cycles_per_us);
}
diff --git a/keyboards/kinesis/kint41/rules.mk b/keyboards/kinesis/kint41/rules.mk
index 2681ff6724..4b39b87be6 100644
--- a/keyboards/kinesis/kint41/rules.mk
+++ b/keyboards/kinesis/kint41/rules.mk
@@ -3,7 +3,7 @@ MCU_SERIES = MIMXRT1062
MCU_LDSCRIPT = MIMXRT1062
MCU_STARTUP = MIMXRT1062
BOARD = IC_TEENSY_4_1
-MCU = cortex-m4
+MCU = cortex-m4
ARMV = 7
# Debounce eagerly (report change immediately), keep per-key timers. We can use
@@ -11,5 +11,4 @@ ARMV = 7
# pressed.
DEBOUNCE_TYPE = sym_eager_pk
-#Specify firmware format that is copied to root qmk_firmware folder
FIRMWARE_FORMAT = hex
diff --git a/keyboards/kinesis/kintlc/chconf.h b/keyboards/kinesis/kintlc/chconf.h
new file mode 100644
index 0000000000..73408ff625
--- /dev/null
+++ b/keyboards/kinesis/kintlc/chconf.h
@@ -0,0 +1,53 @@
+/* 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_FREQUENCY 1000
+
+#define CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_TIME_QUANTUM 20
+
+#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
+
+#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
+
+#define CH_CFG_FACTORY_SEMAPHORES TRUE
+
+#define CH_CFG_FACTORY_MAILBOXES TRUE
+
+#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
+
+#define CH_CFG_FACTORY_PIPES TRUE
+
+#define CH_DBG_SYSTEM_STATE_CHECK TRUE
+
+#define CH_DBG_ENABLE_CHECKS TRUE
+
+#define CH_DBG_ENABLE_ASSERTS TRUE
+
+#define CH_DBG_ENABLE_STACK_CHECK TRUE
+
+#define CH_DBG_FILL_THREADS TRUE
+
+
+#include_next <chconf.h>
diff --git a/keyboards/kinesis/kintlc/config.h b/keyboards/kinesis/kintlc/config.h
new file mode 100644
index 0000000000..4ee9f9ca6f
--- /dev/null
+++ b/keyboards/kinesis/kintlc/config.h
@@ -0,0 +1,101 @@
+/* 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
+
+/* 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 */ \
+ }
+
+
+/* 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
+
+// The Teensy LC power consumption is unknown as per
+// https://www.pjrc.com/store/teensylc.html but since
+// https://www.pjrc.com/store/teensy41.html says 100mA, let's go with half.
+#define USB_MAX_POWER_CONSUMPTION 50
+
+/* 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
+
+// The default "1" results in LEDs being on when they should be off and
+// the other way around.
+#define LED_PIN_ON_STATE 0
+
+// Discussion about which Teensy LC pins can be used for driving staus LEDs:
+// https://github.com/kinx-project/kint/issues/55
+// Discussion about using Neopixel LEDs:
+// https://github.com/kinx-project/kint/issues/32
+// Available pins can be seen in:
+// /lib/chibios-contrib/os/hal/boards/PJRC_TEENSY_LC/board.h
+#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/kintlc/info.json b/keyboards/kinesis/kintlc/info.json
new file mode 100644
index 0000000000..721ebbfe82
--- /dev/null
+++ b/keyboards/kinesis/kintlc/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "kinT (kintlc)",
+ "manufacturer": "https://github.com/stapelberg",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x345C",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/kinesis/kintlc/kintlc.c b/keyboards/kinesis/kintlc/kintlc.c
new file mode 100644
index 0000000000..19b723600a
--- /dev/null
+++ b/keyboards/kinesis/kintlc/kintlc.c
@@ -0,0 +1,27 @@
+/* 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 "kintlc.h"
+
+#define LED_POWER LINE_PIN13
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+
+ // Turn on the Teensy LC Power LED:
+ setPinOutput(LED_POWER);
+ writePinHigh(LED_POWER);
+}
diff --git a/keyboards/kinesis/kintlc/kintlc.h b/keyboards/kinesis/kintlc/kintlc.h
new file mode 100644
index 0000000000..d427a1c2d6
--- /dev/null
+++ b/keyboards/kinesis/kintlc/kintlc.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/kintlc/mcuconf.h b/keyboards/kinesis/kintlc/mcuconf.h
new file mode 100644
index 0000000000..ea576df5bc
--- /dev/null
+++ b/keyboards/kinesis/kintlc/mcuconf.h
@@ -0,0 +1,45 @@
+/*
+ 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 KL2x_MCUCONF
+
+/*
+ * HAL driver system settings.
+ */
+/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
+#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
+#define KINETIS_PLLCLK_FREQUENCY 96000000UL
+#define KINETIS_SYSCLK_FREQUENCY 48000000UL
+
+/*
+ * SERIAL driver system settings.
+ */
+#define KINETIS_SERIAL_USE_UART0 TRUE
+
+/*
+ * USB driver settings
+ */
+#define KINETIS_USB_USE_USB0 TRUE
+
+/* Need to redefine this, since the default (configured for K20x) might not apply
+ * 2 for Teensy LC
+ * 5 for Teensy 3.x */
+#define KINETIS_USB_USB0_IRQ_PRIORITY 2
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/kinesis/kintlc/readme.md b/keyboards/kinesis/kintlc/readme.md
new file mode 100644
index 0000000000..d7b5737452
--- /dev/null
+++ b/keyboards/kinesis/kintlc/readme.md
@@ -0,0 +1,3 @@
+# kinesis_kintlc keyboard firmware
+
+Please see https://github.com/kinx-project/kint for details.
diff --git a/keyboards/kinesis/kintlc/rules.mk b/keyboards/kinesis/kintlc/rules.mk
new file mode 100644
index 0000000000..bfc10748ab
--- /dev/null
+++ b/keyboards/kinesis/kintlc/rules.mk
@@ -0,0 +1,9 @@
+# MCU name
+MCU = MKL26Z64
+# This MCU is not in the main CHIBIOS repo but in the CHIBIOS_CONTRIB repo.
+USE_CHIBIOS_CONTRIB = yes
+
+# 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 f1b41e61bc..399d10e81d 100644
--- a/keyboards/kinesis/nguyenvietyen/config.h
+++ b/keyboards/kinesis/nguyenvietyen/config.h
@@ -1,9 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
@@ -21,7 +17,6 @@
// Passed through the port multipler, so 4 pins =16
#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
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/nguyenvietyen/info.json b/keyboards/kinesis/nguyenvietyen/info.json
new file mode 100644
index 0000000000..4035bb8e11
--- /dev/null
+++ b/keyboards/kinesis/nguyenvietyen/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+ "manufacturer": "QMK",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h
index fe44131adb..ccf6a20e7a 100644
--- a/keyboards/kinesis/stapelberg/config.h
+++ b/keyboards/kinesis/stapelberg/config.h
@@ -3,10 +3,6 @@
#include "../config.h"
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0002
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 7
@@ -23,7 +19,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5, D6, D7, C0, C1, C2, C3, C4, C5, C6 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kinesis/stapelberg/info.json b/keyboards/kinesis/stapelberg/info.json
new file mode 100644
index 0000000000..b44abddfdf
--- /dev/null
+++ b/keyboards/kinesis/stapelberg/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Kinesis Classic/Advantage/Contoured",
+ "manufacturer": "QMK",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/kineticlabs/emu/hotswap/config.h b/keyboards/kineticlabs/emu/hotswap/config.h
index 57eaad44b4..23e3b22a37 100644
--- a/keyboards/kineticlabs/emu/hotswap/config.h
+++ b/keyboards/kineticlabs/emu/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE015
-#define PRODUCT_ID 0xC387
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kineticlabs
-#define PRODUCT Emu Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { E6, D4, B3, B1, B0, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kineticlabs/emu/hotswap/info.json b/keyboards/kineticlabs/emu/hotswap/info.json
index 106bdf8da9..257cf50126 100644
--- a/keyboards/kineticlabs/emu/hotswap/info.json
+++ b/keyboards/kineticlabs/emu/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Emu hotswap",
+ "keyboard_name": "Emu Hotswap",
+ "manufacturer": "Kineticlabs",
"url": "",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0xE015",
+ "pid": "0xC387",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/kineticlabs/emu/soldered/config.h b/keyboards/kineticlabs/emu/soldered/config.h
index 0921911192..23e3b22a37 100644
--- a/keyboards/kineticlabs/emu/soldered/config.h
+++ b/keyboards/kineticlabs/emu/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xE015
-#define PRODUCT_ID 0xC386
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kineticlabs
-#define PRODUCT Emu
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { E6, D4, B3, B1, B0, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kineticlabs/emu/soldered/info.json b/keyboards/kineticlabs/emu/soldered/info.json
index d1a35a91d9..1f6fde64ce 100644
--- a/keyboards/kineticlabs/emu/soldered/info.json
+++ b/keyboards/kineticlabs/emu/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Emu hotswap",
+ "keyboard_name": "Emu Soldered",
+ "manufacturer": "Kineticlabs",
"url": "",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0xE015",
+ "pid": "0xC386",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kingly_keys/ave/config.h b/keyboards/kingly_keys/ave/config.h
index 8a663da356..98e958533c 100644
--- a/keyboards/kingly_keys/ave/config.h
+++ b/keyboards/kingly_keys/ave/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4B // "KK"
-#define PRODUCT_ID 0x1225
-#define DEVICE_VER 0x0011
-#define MANUFACTURER Kingly-Keys
-#define PRODUCT The Ave.
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -36,7 +29,6 @@
#define MATRIX_ROW_PINS { B3, F4, F7, F6, F5 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kingly_keys/ave/ortho/info.json b/keyboards/kingly_keys/ave/ortho/info.json
index e45a3bbe44..bc8b83334f 100644
--- a/keyboards/kingly_keys/ave/ortho/info.json
+++ b/keyboards/kingly_keys/ave/ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "The Ave. (Ortholinear Ed. PCB)",
+ "keyboard_name": "The Ave. Ortholinear",
+ "manufacturer": "Kingly-Keys",
"url": "",
"maintainer": "the-royal",
+ "usb": {
+ "vid": "0x4B4B",
+ "pid": "0x1225",
+ "device_version": "0.1.1"
+ },
"layouts": {
"LAYOUT_ortho_all": {
"layout": [
diff --git a/keyboards/kingly_keys/ave/staggered/info.json b/keyboards/kingly_keys/ave/staggered/info.json
index bb720b196b..9757472b9f 100644
--- a/keyboards/kingly_keys/ave/staggered/info.json
+++ b/keyboards/kingly_keys/ave/staggered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "The Ave. (Staggered Ed. PCB)",
+ "keyboard_name": "The Ave. Staggered",
+ "manufacturer": "Kingly-Keys",
"url": "",
"maintainer": "the-royal",
+ "usb": {
+ "vid": "0x4B4B",
+ "pid": "0x1225",
+ "device_version": "0.1.1"
+ },
"layouts": {
"LAYOUT_staggered": {
"layout": [
diff --git a/keyboards/kingly_keys/little_foot/config.h b/keyboards/kingly_keys/little_foot/config.h
index a872579c97..68954c6b70 100644
--- a/keyboards/kingly_keys/little_foot/config.h
+++ b/keyboards/kingly_keys/little_foot/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kingly-Keys
-#define PRODUCT The Little Foot
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, B6, B2, B3, B1 }
#define MATRIX_COL_PINS { F5, F7, B5, B4, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kingly_keys/little_foot/info.json b/keyboards/kingly_keys/little_foot/info.json
index a9bb794521..6b1f887165 100644
--- a/keyboards/kingly_keys/little_foot/info.json
+++ b/keyboards/kingly_keys/little_foot/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Little Foot",
+ "keyboard_name": "The Little Foot",
+ "manufacturer": "Kingly-Keys",
"url": "",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space_base": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":2}, {"x":5, "y":4, "w":2}, {"x":7, "y":4, "w":1.5}]
diff --git a/keyboards/kingly_keys/little_foot/keymaps/yanfali/keymap.c b/keyboards/kingly_keys/little_foot/keymaps/yanfali/keymap.c
index 2ce2babf69..29df5f5713 100644
--- a/keyboards/kingly_keys/little_foot/keymaps/yanfali/keymap.c
+++ b/keyboards/kingly_keys/little_foot/keymaps/yanfali/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_split_space_base(
- LT(_LN, KC_ESC), _______, _______, _______, _______, _______, _______, _______, KC_MINS, RESET,
+ LT(_LN, KC_ESC), _______, _______, _______, _______, _______, _______, _______, KC_MINS, QK_BOOT,
KC_TAB, _______, _______, _______, _______, _______, _______, _______, LSFT(KC_MINS), KC_BSLS,
KC_LSFT, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_QUOT,
AU_TOG, CK_TOGG , _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kingly_keys/romac/config.h b/keyboards/kingly_keys/romac/config.h
index c8cb19c744..a5478582b1 100644
--- a/keyboards/kingly_keys/romac/config.h
+++ b/keyboards/kingly_keys/romac/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4b4b // "KK"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheRoyalSweatshirt
-#define PRODUCT romac
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -15,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kingly_keys/romac/info.json b/keyboards/kingly_keys/romac/info.json
index 9d93c4a13c..da73cadfb9 100644
--- a/keyboards/kingly_keys/romac/info.json
+++ b/keyboards/kingly_keys/romac/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RoMac",
+ "manufacturer": "TheRoyalSweatshirt",
"url": "",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0x4B4B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
diff --git a/keyboards/kingly_keys/romac/keymaps/stanrc85/keymap.c b/keyboards/kingly_keys/romac/keymaps/stanrc85/keymap.c
index ecca61cae0..1f19882d48 100644
--- a/keyboards/kingly_keys/romac/keymaps/stanrc85/keymap.c
+++ b/keyboards/kingly_keys/romac/keymaps/stanrc85/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1PAD] = LAYOUT(
KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, RESET,
+ KC_NO, KC_NO, QK_BOOT,
KC_NO, KC_NO, KC_MAKE,
KC_NO, KC_LSFT, D_LAYR)
};
diff --git a/keyboards/kingly_keys/romac_plus/config.h b/keyboards/kingly_keys/romac_plus/config.h
index a83801b4ce..441584a84e 100644
--- a/keyboards/kingly_keys/romac_plus/config.h
+++ b/keyboards/kingly_keys/romac_plus/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4B
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheRoyalSweatshirt
-#define PRODUCT RoMac+
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -15,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, D4, D2, D3 }
#define MATRIX_COL_PINS { F6, F5, F4 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B2 }
diff --git a/keyboards/kingly_keys/romac_plus/info.json b/keyboards/kingly_keys/romac_plus/info.json
index b24e0c942f..79aa4eccb6 100644
--- a/keyboards/kingly_keys/romac_plus/info.json
+++ b/keyboards/kingly_keys/romac_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RoMac+",
+ "manufacturer": "TheRoyalSweatshirt",
"url": "",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0x4B4B",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
diff --git a/keyboards/kingly_keys/ropro/config.h b/keyboards/kingly_keys/ropro/config.h
index c9791be8c1..092349cbc6 100644
--- a/keyboards/kingly_keys/ropro/config.h
+++ b/keyboards/kingly_keys/ropro/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kingly-Keys
-#define PRODUCT The_RoPro
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
@@ -35,7 +28,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, F1, NO_PIN }
#define MATRIX_COL_PINS { F0, D1, D0, D4, C6, D7, E6, B4, B5, B3, B2, B6, D2, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kingly_keys/ropro/info.json b/keyboards/kingly_keys/ropro/info.json
index 10fee26c94..60419947d4 100644
--- a/keyboards/kingly_keys/ropro/info.json
+++ b/keyboards/kingly_keys/ropro/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ropro",
+ "keyboard_name": "The_RoPro",
+ "manufacturer": "Kingly-Keys",
"url": "https://github.com/TheRoyalSweatshirt/The_RoPro",
"maintainer": "[TheRoyalSweatshirt](https://github.com/TheRoyalSweatshirt)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Esc", "x":1, "y":1}, {"label":"1", "x":2, "y":1}, {"label":"2", "x":3, "y":1}, {"label":"3", "x":4, "y":1}, {"label":"4", "x":5, "y":1}, {"label":"5", "x":6, "y":1}, {"label":"6;", "x":7, "y":1}, {"label":"7", "x":8, "y":1}, {"label":"8", "x":9, "y":1}, {"label":"9", "x":10, "y":1}, {"label":"0", "x":11, "y":1}, {"label":"-", "x":12, "y":1}, {"label":"CAPS", "x":0, "y":2}, {"label":"Tab", "x":1, "y":2}, {"label":"Q", "x":2, "y":2}, {"label":"W", "x":3, "y":2}, {"label":"E", "x":4, "y":2}, {"label":"R", "x":5, "y":2}, {"label":"T", "x":6, "y":2}, {"label":"Y", "x":7, "y":2}, {"label":"U", "x":8, "y":2}, {"label":"I", "x":9, "y":2}, {"label":"O", "x":10, "y":2}, {"label":"P", "x":11, "y":2}, {"label":"Bksp", "x":12, "y":2}, {"label":"PgUp", "x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"A", "x":2, "y":3}, {"label":"S", "x":3, "y":3}, {"label":"D", "x":4, "y":3}, {"label":"F", "x":5, "y":3}, {"label":"G", "x":6, "y":3}, {"label":"H;", "x":7, "y":3}, {"label":"J", "x":8, "y":3}, {"label":"K", "x":9, "y":3}, {"label":"L", "x":10, "y":3}, {"label":";", "x":11, "y":3}, {"label":"'", "x":12, "y":3}, {"label":"Home", "x":0, "y":4}, {"label":"Shift", "x":1, "y":4}, {"label":"Z", "x":2, "y":4}, {"label":"X", "x":3, "y":4}, {"label":"C", "x":4, "y":4}, {"label":"V", "x":5, "y":4}, {"label":"B", "x":6, "y":4}, {"label":"N", "x":7, "y":4}, {"label":"M", "x":8, "y":4}, {"label":",", "x":9, "y":4}, {"label":".", "x":10, "y":4}, {"label":"/", "x":11, "y":4}, {"label":"Enter", "x":12, "y":4}, {"label":"PgDn", "x":0, "y":5}, {"label":"Del", "x":1, "y":5}, {"label":"Ctrl", "x":2, "y":5}, {"label":"GUI", "x":3, "y":5}, {"label":"Alt", "x":4, "y":5}, {"label":"Lower", "x":5, "y":5}, {"x":6, "y":5}, {"x":7, "y":5}, {"label":"End", "x":8, "y":5}, {"label":"Left", "x":9, "y":5}, {"label":"Down", "x":10, "y":5}, {"label":"Up", "x":11, "y":5}, {"label":"Right", "x":12, "y":5}]
diff --git a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c b/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c
index 280fe22cc4..9cba0ccefb 100644
--- a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c
+++ b/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c
@@ -204,7 +204,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, 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_MINUS,
- KC_NO, _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ KC_NO, _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
KC_PGUP, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
KC_HOME, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kingly_keys/smd_milk/config.h b/keyboards/kingly_keys/smd_milk/config.h
index 27463b630f..a1a308f088 100644
--- a/keyboards/kingly_keys/smd_milk/config.h
+++ b/keyboards/kingly_keys/smd_milk/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xB195
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kingly-Keys
-#define PRODUCT SMD-2% Milk
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 1
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C5, D2 }
#define MATRIX_COL_PINS { D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kingly_keys/smd_milk/info.json b/keyboards/kingly_keys/smd_milk/info.json
index 6b43f9e68d..66d8116f43 100644
--- a/keyboards/kingly_keys/smd_milk/info.json
+++ b/keyboards/kingly_keys/smd_milk/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "smd_milk",
+ "keyboard_name": "SMD-2% Milk",
+ "manufacturer": "Kingly-Keys",
"url": "",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xB195",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }, {"x": 0, "y": 1 }]
diff --git a/keyboards/kingly_keys/soap/config.h b/keyboards/kingly_keys/soap/config.h
index ca6504465f..503c77a04b 100644
--- a/keyboards/kingly_keys/soap/config.h
+++ b/keyboards/kingly_keys/soap/config.h
@@ -16,13 +16,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0004
-#define MANUFACTURER Kingly-Keys
-#define PRODUCT SOAP
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6 }
#define MATRIX_COL_PINS { F4, F1, F0, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kingly_keys/soap/info.json b/keyboards/kingly_keys/soap/info.json
index afdacddb8d..0bd017e8e0 100644
--- a/keyboards/kingly_keys/soap/info.json
+++ b/keyboards/kingly_keys/soap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "soap",
+ "keyboard_name": "SOAP",
+ "manufacturer": "Kingly-Keys",
"url": "https://github.com/TheRoyalSweatshirt/SOAP",
"maintainer": "[TheRoyalSweatshirt](https://github.com/TheRoyalSweatshirt)",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0003",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":4, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":4, "y":1}]
diff --git a/keyboards/kira75/config.h b/keyboards/kira75/config.h
index 18d8b8fad9..17c73df412 100644
--- a/keyboards/kira75/config.h
+++ b/keyboards/kira75/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER thesiscamper
-#define PRODUCT kira75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4 }
#define MATRIX_COL_PINS { F6, F7, C7, C6, B6, B5, B4, F5, F4, F1, F0, E6, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kira75/info.json b/keyboards/kira75/info.json
index 131e570810..37bded93f7 100644
--- a/keyboards/kira75/info.json
+++ b/keyboards/kira75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kira 75",
+ "manufacturer": "thesiscamper",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":4}, {"label":"End", "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, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/kira80/config.h b/keyboards/kira80/config.h
index d73c2faed0..4307eabbdd 100644
--- a/keyboards/kira80/config.h
+++ b/keyboards/kira80/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6986
-#define PRODUCT_ID 0xC583
-#define DEVICE_VER 0x0102
-#define MANUFACTURER EVE
-#define PRODUCT Kira80
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, B2, B3, B5, B6, B7, B0 }
#define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, A0, C2, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kira80/info.json b/keyboards/kira80/info.json
index 04c32798a4..3f7dbe7af7 100644
--- a/keyboards/kira80/info.json
+++ b/keyboards/kira80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Kira 80",
+ "keyboard_name": "Kira80",
+ "manufacturer": "EVE",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6986",
+ "pid": "0xC583",
+ "device_version": "1.0.2"
+ },
"layouts": {
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Back", "x":13, "y":1.25}, {"label":"Back", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"FN", "x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/kira80/keymaps/ansi_wkl/keymap.c b/keyboards/kira80/keymaps/ansi_wkl/keymap.c
index 85411bbcd6..b2c2d96557 100644
--- a/keyboards/kira80/keymaps/ansi_wkl/keymap.c
+++ b/keyboards/kira80/keymaps/ansi_wkl/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_ansi_wkl(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- 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_MPLY, KC_MNXT, KC_VOLD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/kiwikeebs/macro/config.h b/keyboards/kiwikeebs/macro/config.h
index 47349d0e09..67d02c6396 100644
--- a/keyboards/kiwikeebs/macro/config.h
+++ b/keyboards/kiwikeebs/macro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B51
-#define PRODUCT_ID 0x4712
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KiwiKeebs
-#define PRODUCT MacroBoard v.1.0
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, D7 }
#define MATRIX_COL_PINS { F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kiwikeebs/macro/info.json b/keyboards/kiwikeebs/macro/info.json
index de9ce2f01f..63fedd2484 100644
--- a/keyboards/kiwikeebs/macro/info.json
+++ b/keyboards/kiwikeebs/macro/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KiwiKeebs MacroBoard v1.0",
+ "keyboard_name": "MacroBoard v.1.0",
+ "manufacturer": "KiwiKeebs",
"url": "https://www.reddit.com/r/mechmarket/comments/ibijrd/ic_kiwikeebs_6key_macroboard_rotary_encoder_diy/",
"maintainer": "KiwiKeebs",
+ "usb": {
+ "vid": "0x4B51",
+ "pid": "0x4712",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kiwikeebs/macro_v2/config.h b/keyboards/kiwikeebs/macro_v2/config.h
index a962a9a82a..9a24d57a69 100644
--- a/keyboards/kiwikeebs/macro_v2/config.h
+++ b/keyboards/kiwikeebs/macro_v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B51
-#define PRODUCT_ID 0x4712
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KiwiKeebs
-#define PRODUCT MacroBoard v.2.0
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4 }
#define MATRIX_COL_PINS { B6, C6, C7, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kiwikeebs/macro_v2/info.json b/keyboards/kiwikeebs/macro_v2/info.json
index 524e259463..8c76890abd 100644
--- a/keyboards/kiwikeebs/macro_v2/info.json
+++ b/keyboards/kiwikeebs/macro_v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KiwiKeebs MacroBoard v.2.0",
+ "keyboard_name": "MacroBoard v.2.0",
+ "manufacturer": "KiwiKeebs",
"url": "https://www.reddit.com/r/mechmarket/comments/ibijrd/ic_kiwikeebs_6key_macroboard_rotary_encoder_diy/",
"maintainer": "KiwiKeebs",
+ "usb": {
+ "vid": "0x4B51",
+ "pid": "0x4712",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kiwikey/borderland/config.h b/keyboards/kiwikey/borderland/config.h
index 648c3a88de..42bc5644bd 100644
--- a/keyboards/kiwikey/borderland/config.h
+++ b/keyboards/kiwikey/borderland/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B57 // KW - KiwiKey
-#define PRODUCT_ID 0x424C // BL - Borderland
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KiwiKey
-#define PRODUCT Borderland
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kiwikey/borderland/info.json b/keyboards/kiwikey/borderland/info.json
index c92df0521d..2123268c2e 100644
--- a/keyboards/kiwikey/borderland/info.json
+++ b/keyboards/kiwikey/borderland/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Borderland",
+ "manufacturer": "KiwiKey",
"url": "https://kiwikey.vn/borderland/",
"maintainer": "KiwiKey",
+ "usb": {
+ "vid": "0x4B57",
+ "pid": "0x424C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kiwikey/borderland/readme.md b/keyboards/kiwikey/borderland/readme.md
index 98f76e0f13..6a7b602ba9 100644
--- a/keyboards/kiwikey/borderland/readme.md
+++ b/keyboards/kiwikey/borderland/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET`, in default keymap it is `Fn+R`
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`, in default keymap it is `Fn+R`
diff --git a/keyboards/kiwikey/kawii9/config.h b/keyboards/kiwikey/kawii9/config.h
index 59adcd253e..10ab8dfd5b 100644
--- a/keyboards/kiwikey/kawii9/config.h
+++ b/keyboards/kiwikey/kawii9/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B57 // KW - KiwiKey
-#define PRODUCT_ID 0x0303 // 3x3
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KiwiKey
-#define PRODUCT Kawii9
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B5, B4 }
#define MATRIX_COL_PINS { F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kiwikey/kawii9/info.json b/keyboards/kiwikey/kawii9/info.json
index 367f402f7b..ad8ae3679a 100644
--- a/keyboards/kiwikey/kawii9/info.json
+++ b/keyboards/kiwikey/kawii9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kawii9",
+ "manufacturer": "KiwiKey",
"url": "http://kiwikey.vn/kawii9/",
"maintainer": "KiwiKey",
+ "usb": {
+ "vid": "0x4B57",
+ "pid": "0x0303",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/kiwikey/wanderland/config.h b/keyboards/kiwikey/wanderland/config.h
index e0b9ba8946..fc42b5ff19 100644
--- a/keyboards/kiwikey/wanderland/config.h
+++ b/keyboards/kiwikey/wanderland/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B57 // KW - KiwiKey
-#define PRODUCT_ID 0x574C // WL - Wanderland
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KiwiKey
-#define PRODUCT Wanderland
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F1, E6, E2, C7, D4 }
#define MATRIX_COL_PINS { F5, F6, B4, D7, D6, D5, D2, D3, B0, F0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kiwikey/wanderland/info.json b/keyboards/kiwikey/wanderland/info.json
index 01196c3418..92dfb2fff6 100644
--- a/keyboards/kiwikey/wanderland/info.json
+++ b/keyboards/kiwikey/wanderland/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wanderland",
+ "manufacturer": "KiwiKey",
"url": "http://kiwikey.vn/wanderland",
"maintainer": "KiwiKey",
+ "usb": {
+ "vid": "0x4B57",
+ "pid": "0x574C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c b/keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c
index c535306afc..ce36d1ba38 100644
--- a/keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c
+++ b/keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN2_60] = LAYOUT_alice(
BL_TOGG, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______,
- BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
_______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, TG(_DEFAULT)
diff --git a/keyboards/kkatano/bakeneko60/config.h b/keyboards/kkatano/bakeneko60/config.h
index 9e373686fd..fc3da670dc 100644
--- a/keyboards/kkatano/bakeneko60/config.h
+++ b/keyboards/kkatano/bakeneko60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3A0E
-#define PRODUCT_ID 0xCBDC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kkatano
-#define PRODUCT Bakeneko 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kkatano/bakeneko60/info.json b/keyboards/kkatano/bakeneko60/info.json
index 6bf6a08575..7d957740a6 100644
--- a/keyboards/kkatano/bakeneko60/info.json
+++ b/keyboards/kkatano/bakeneko60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bakeneko 60",
+ "manufacturer": "kkatano",
"url": "https://github.com/kkatano/bakeneko-60-pcb",
"maintainer": "kkatano",
+ "usb": {
+ "vid": "0x3A0E",
+ "pid": "0xCBDC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/kkatano/bakeneko65/rev2/config.h b/keyboards/kkatano/bakeneko65/rev2/config.h
index 7e70f549cd..442f69238f 100644
--- a/keyboards/kkatano/bakeneko65/rev2/config.h
+++ b/keyboards/kkatano/bakeneko65/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3A0E
-#define PRODUCT_ID 0x4C82
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kkatano
-#define PRODUCT Bakeneko 65 V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/kkatano/bakeneko65/rev2/info.json b/keyboards/kkatano/bakeneko65/rev2/info.json
index cbcb6a2551..064934b475 100644
--- a/keyboards/kkatano/bakeneko65/rev2/info.json
+++ b/keyboards/kkatano/bakeneko65/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bakeneko 65 V2",
+ "manufacturer": "kkatano",
"url": "https://github.com/kkatano/bakeneko-65",
"maintainer": "kkatano",
+ "usb": {
+ "vid": "0x3A0E",
+ "pid": "0x4C82",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_split_bs": {
"layout": [
diff --git a/keyboards/kkatano/bakeneko65/rev3/config.h b/keyboards/kkatano/bakeneko65/rev3/config.h
index 9fa3e68ca0..442f69238f 100644
--- a/keyboards/kkatano/bakeneko65/rev3/config.h
+++ b/keyboards/kkatano/bakeneko65/rev3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/kkatano/bakeneko65/rev3/info.json b/keyboards/kkatano/bakeneko65/rev3/info.json
index b54c21aafa..43e1170904 100644
--- a/keyboards/kkatano/bakeneko65/rev3/info.json
+++ b/keyboards/kkatano/bakeneko65/rev3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bakeneko 65 V3",
+ "manufacturer": "kkatano",
"url": "https://github.com/kkatano/bakeneko-65",
"maintainer": "kkatano",
+ "usb": {
+ "vid": "0x3A0E",
+ "pid": "0x4C83",
+ "device_version": "0.0.1"
+ },
"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/kkatano/bakeneko80/config.h b/keyboards/kkatano/bakeneko80/config.h
index 0e61db875b..89fd9070a0 100644
--- a/keyboards/kkatano/bakeneko80/config.h
+++ b/keyboards/kkatano/bakeneko80/config.h
@@ -19,13 +19,6 @@ 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 0x8DEF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koichi Katano
-#define PRODUCT Bakeneko 80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B0, B1, B7, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kkatano/bakeneko80/info.json b/keyboards/kkatano/bakeneko80/info.json
index afd608a06f..8516779a8c 100644
--- a/keyboards/kkatano/bakeneko80/info.json
+++ b/keyboards/kkatano/bakeneko80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bakeneko 80",
+ "manufacturer": "Koichi Katano",
"url": "https://github.com/kkatano/bakeneko-80-pcb",
"maintainer": "Koichi Katano",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x8DEF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [{"label":"1", "x":0, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":6.5, "y":0}, {"label":"7", "x":7.5, "y":0}, {"label":"8", "x":8.5, "y":0}, {"label":"9", "x":9.5, "y":0}, {"label":"10", "x":11, "y":0}, {"label":"11", "x":12, "y":0}, {"label":"12", "x":13, "y":0}, {"label":"13", "x":14, "y":0}, {"label":"14", "x":15.25, "y":0}, {"label":"15", "x":16.25, "y":0}, {"label":"16", "x":17.25, "y":0}, {"label":"17", "x":0, "y":1.25}, {"label":"18", "x":1, "y":1.25}, {"label":"19", "x":2, "y":1.25}, {"label":"20", "x":3, "y":1.25}, {"label":"21", "x":4, "y":1.25}, {"label":"22", "x":5, "y":1.25}, {"label":"23", "x":6, "y":1.25}, {"label":"24", "x":7, "y":1.25}, {"label":"25", "x":8, "y":1.25}, {"label":"26", "x":9, "y":1.25}, {"label":"27", "x":10, "y":1.25}, {"label":"28", "x":11, "y":1.25}, {"label":"29", "x":12, "y":1.25}, {"label":"30", "x":13, "y":1.25, "w":2}, {"label":"31", "x":15.25, "y":1.25}, {"label":"32", "x":16.25, "y":1.25}, {"label":"33", "x":17.25, "y":1.25}, {"label":"34", "x":0, "y":2.25, "w":1.5}, {"label":"35", "x":1.5, "y":2.25}, {"label":"36", "x":2.5, "y":2.25}, {"label":"37", "x":3.5, "y":2.25}, {"label":"38", "x":4.5, "y":2.25}, {"label":"39", "x":5.5, "y":2.25}, {"label":"40", "x":6.5, "y":2.25}, {"label":"41", "x":7.5, "y":2.25}, {"label":"42", "x":8.5, "y":2.25}, {"label":"43", "x":9.5, "y":2.25}, {"label":"44", "x":10.5, "y":2.25}, {"label":"45", "x":11.5, "y":2.25}, {"label":"46", "x":12.5, "y":2.25}, {"label":"47", "x":13.5, "y":2.25, "w":1.5}, {"label":"48", "x":15.25, "y":2.25}, {"label":"49", "x":16.25, "y":2.25}, {"label":"50", "x":17.25, "y":2.25}, {"label":"51", "x":0, "y":3.25, "w":1.75}, {"label":"52", "x":1.75, "y":3.25}, {"label":"53", "x":2.75, "y":3.25}, {"label":"54", "x":3.75, "y":3.25}, {"label":"55", "x":4.75, "y":3.25}, {"label":"56", "x":5.75, "y":3.25}, {"label":"57", "x":6.75, "y":3.25}, {"label":"58", "x":7.75, "y":3.25}, {"label":"59", "x":8.75, "y":3.25}, {"label":"60", "x":9.75, "y":3.25}, {"label":"61", "x":10.75, "y":3.25}, {"label":"62", "x":11.75, "y":3.25}, {"label":"63", "x":12.75, "y":3.25, "w":2.25}, {"label":"64", "x":0, "y":4.25, "w":2.25}, {"label":"65", "x":2.25, "y":4.25}, {"label":"66", "x":3.25, "y":4.25}, {"label":"67", "x":4.25, "y":4.25}, {"label":"68", "x":5.25, "y":4.25}, {"label":"69", "x":6.25, "y":4.25}, {"label":"70", "x":7.25, "y":4.25}, {"label":"71", "x":8.25, "y":4.25}, {"label":"72", "x":9.25, "y":4.25}, {"label":"73", "x":10.25, "y":4.25}, {"label":"74", "x":11.25, "y":4.25}, {"label":"75", "x":12.25, "y":4.25, "w":2.75}, {"label":"76", "x":16.25, "y":4.25}, {"label":"77", "x":0, "y":5.25, "w":1.25}, {"label":"78", "x":1.25, "y":5.25, "w":1.25}, {"label":"79", "x":2.5, "y":5.25, "w":1.25}, {"label":"80", "x":3.75, "y":5.25, "w":6.25}, {"label":"81", "x":10, "y":5.25, "w":1.25}, {"label":"82", "x":11.25, "y":5.25, "w":1.25}, {"label":"83", "x":12.5, "y":5.25, "w":1.25}, {"label":"84", "x":13.75, "y":5.25, "w":1.25}, {"label":"85", "x":15.25, "y":5.25}, {"label":"86", "x":16.25, "y":5.25}, {"label":"87", "x":17.25, "y":5.25}]
diff --git a/keyboards/kkatano/wallaby/config.h b/keyboards/kkatano/wallaby/config.h
index 00ba00ccac..fc380eecf6 100644
--- a/keyboards/kkatano/wallaby/config.h
+++ b/keyboards/kkatano/wallaby/config.h
@@ -19,13 +19,6 @@ 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 0x5967
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koichi Katano
-#define PRODUCT Wallaby
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, C7, C6, D4, D0, E6, F0, F1, F4, F5, F6, F7, D7, D6, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kkatano/wallaby/info.json b/keyboards/kkatano/wallaby/info.json
index 6ff20c91f4..3867a7cbf9 100644
--- a/keyboards/kkatano/wallaby/info.json
+++ b/keyboards/kkatano/wallaby/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wallaby",
+ "manufacturer": "Koichi Katano",
"url": "https://github.com/kkatano/wallaby",
"maintainer": "Koichi Katano",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5967",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/kkatano/yurei/config.h b/keyboards/kkatano/yurei/config.h
index 14eae7f387..95aa6b7ee3 100644
--- a/keyboards/kkatano/yurei/config.h
+++ b/keyboards/kkatano/yurei/config.h
@@ -19,13 +19,6 @@ 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 0x5D5E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koichi Katano
-#define PRODUCT Yurei
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, C7, C6, D4, D0, E6, F0, F1, F4, F5, F6, F7, D7, D6, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kkatano/yurei/info.json b/keyboards/kkatano/yurei/info.json
index bbbdb01a25..67c7669cd5 100644
--- a/keyboards/kkatano/yurei/info.json
+++ b/keyboards/kkatano/yurei/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Yurei",
+ "manufacturer": "Koichi Katano",
"url": "https://github.com/kkatano/yurei",
"maintainer": "Koichi Katano",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5D5E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h
index 3bc567333e..3d1b8eb5d5 100644
--- a/keyboards/kmac/config.h
+++ b/keyboards/kmac/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4D // KM
-#define PRODUCT_ID 0x4143 // AC
-#define DEVICE_VER 0x0104
-#define MANUFACTURER KBDMania
-#define PRODUCT KMAC
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS \
{ 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*/
//#define DIODE_DIRECTION
diff --git a/keyboards/kmac/info.json b/keyboards/kmac/info.json
index 91e7a2dedd..27e6c03524 100644
--- a/keyboards/kmac/info.json
+++ b/keyboards/kmac/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "kmac",
+ "keyboard_name": "KMAC",
+ "manufacturer": "KBDMania",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B4D",
+ "pid": "0x4143",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/kmac_pad/config.h b/keyboards/kmac_pad/config.h
index 189f2f9c08..301a7813da 100644
--- a/keyboards/kmac_pad/config.h
+++ b/keyboards/kmac_pad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4D // KM
-#define PRODUCT_ID 0x4143 // AC
-#define DEVICE_VER 0x0104
-#define MANUFACTURER KBDMania
-#define PRODUCT KMAC PAD
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E2, D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { C7, C6, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
// #define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kmac_pad/info.json b/keyboards/kmac_pad/info.json
index 26bb3b66d9..2ce217d70a 100644
--- a/keyboards/kmac_pad/info.json
+++ b/keyboards/kmac_pad/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "KMAC PAD",
+ "manufacturer": "KBDMania",
"maintainer": "talsu",
+ "usb": {
+ "vid": "0x4B4D",
+ "pid": "0x4143",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kmini/config.h b/keyboards/kmini/config.h
index c242aff0d0..7138b158a6 100755
--- a/keyboards/kmini/config.h
+++ b/keyboards/kmini/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6050
-#define DEVICE_VER 0x0104
-#define MANUFACTURER Revo
-#define PRODUCT KMAC Kmini
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -36,7 +29,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
//#define DIODE_DIRECTION
diff --git a/keyboards/kmini/info.json b/keyboards/kmini/info.json
index a3b61c3cb2..42d7da54bb 100755
--- a/keyboards/kmini/info.json
+++ b/keyboards/kmini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KMAC Mini",
+ "manufacturer": "Revo",
"url": "http://kbdmodadmin.cafe24.com/product/detail.html?product_no=12&cate_no=4&display_group=1",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6050",
+ "device_version": "1.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":0, "y":0}, {"label":"F2", "x":1, "y":0}, {"label":"Esc", "x":2.25, "y":0}, {"label":"!", "x":3.25, "y":0}, {"label":"@", "x":4.25, "y":0}, {"label":"#", "x":5.25, "y":0}, {"label":"$", "x":6.25, "y":0}, {"label":"%", "x":7.25, "y":0}, {"label":"^", "x":8.25, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "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":2}, {"label":"Insert", "x":17.25, "y":0}, {"label":"F3", "x":0, "y":1}, {"label":"F4", "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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"|", "x":15.75, "y":1, "w":1.5}, {"label":"Delete", "x":17.25, "y":1}, {"label":"F5", "x":0, "y":2}, {"label":"F6", "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":"Enter", "x":15, "y":2, "w":2.25}, {"label":"PgUp", "x":17.25, "y":2}, {"label":"F7", "x":0, "y":3}, {"label":"F8", "x":1, "y":3}, {"label":"Shift", "x":2.25, "y":3, "w":2.25}, {"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.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"PgDn", "x":17.25, "y":3}, {"label":"F9", "x":0, "y":4}, {"label":"F10", "x":1, "y":4}, {"label":"Ctrl", "x":2.25, "y":4, "w":1.5}, {"label":"GUI", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.5}, {"x":6.25, "y":4, "w":7}, {"label":"Fn", "x":13.25, "y":4, "w":1.5}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/knobgoblin/config.h b/keyboards/knobgoblin/config.h
index ed6d69d6f0..57a0a016c4 100644
--- a/keyboards/knobgoblin/config.h
+++ b/keyboards/knobgoblin/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B47 // KG
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MrT1ddl3s
-#define PRODUCT Knob Goblin
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -31,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, B6, B2, B3, B1 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { F7, F5 }
#define ENCODERS_PAD_B { F6, F4 }
diff --git a/keyboards/knobgoblin/info.json b/keyboards/knobgoblin/info.json
index cea6915409..44a9d81ed5 100644
--- a/keyboards/knobgoblin/info.json
+++ b/keyboards/knobgoblin/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "knobgoblin",
+ "keyboard_name": "Knob Goblin",
+ "manufacturer": "MrT1ddl3s",
"url": "",
"maintainer": "MrT1ddl3s",
+ "usb": {
+ "vid": "0x4B47",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho": {
"layout": [
diff --git a/keyboards/knobgoblin/keymaps/moults31/keymap.c b/keyboards/knobgoblin/keymaps/moults31/keymap.c
index 20dda4ccd0..775f9d1b5d 100644
--- a/keyboards/knobgoblin/keymaps/moults31/keymap.c
+++ b/keyboards/knobgoblin/keymaps/moults31/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[10] = LAYOUT_ortho(
- RESET, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
TO(7), TO(8), TO(9), KC_TRNS,
TO(4), TO(5), TO(6), KC_TRNS,
KC_TRNS, TO(1), TO(2), TO(3), KC_TRNS,
diff --git a/keyboards/knops/mini/config.h b/keyboards/knops/mini/config.h
index 8fb094fb94..7ca350b30c 100644
--- a/keyboards/knops/mini/config.h
+++ b/keyboards/knops/mini/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEFD
-#define PRODUCT_ID 0x9460
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alltrons IT
-#define PRODUCT Knops Mini
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/knops/mini/info.json b/keyboards/knops/mini/info.json
index 184333117e..fcc8e5229e 100644
--- a/keyboards/knops/mini/info.json
+++ b/keyboards/knops/mini/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Knops Mini",
+ "manufacturer": "Alltrons IT",
"url": "http://www.knops.io/knopsmini.html",
"maintainer": "Pawnerd",
- "bootloader": "lufa-dfu",
+ "usb": {
+ "vid": "0xFEFD",
+ "pid": "0x9460",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}]
diff --git a/keyboards/knops/mini/keymaps/mverteuil/keymap.c b/keyboards/knops/mini/keymaps/mverteuil/keymap.c
index 12afb57da2..8f28f4c617 100644
--- a/keyboards/knops/mini/keymaps/mverteuil/keymap.c
+++ b/keyboards/knops/mini/keymaps/mverteuil/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
[_LAYER_SELECT] = LAYOUT(
- _______, _______, RESET,
+ _______, _______, QK_BOOT,
TO(_MEDIA),TO(_COPYPASTA),TO(_SPECTACLES)
)
};
diff --git a/keyboards/kona_classic/config.h b/keyboards/kona_classic/config.h
index c5a783c811..f53944789e 100644
--- a/keyboards/kona_classic/config.h
+++ b/keyboards/kona_classic/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Dangerous Parts
-#define PRODUCT Kona Classic
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Column pin configuration
*/
#define MATRIX_COL_PINS { F0, F4, B5, B4, D7, D6, B0, B1, B3, D2, B7, D0, D1, D3, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kona_classic/info.json b/keyboards/kona_classic/info.json
index 9d4f7203b9..2b64911bcb 100644
--- a/keyboards/kona_classic/info.json
+++ b/keyboards/kona_classic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kona Classic",
+ "manufacturer": "Dangerous Parts",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"KA0", "x":0, "y":0}, {"label":"KA1", "x":1, "y":0}, {"label":"K00", "x":2.25, "y":0}, {"label":"K01", "x":3.25, "y":0}, {"label":"K02", "x":4.25, "y":0}, {"label":"K03", "x":5.25, "y":0}, {"label":"K04", "x":6.25, "y":0}, {"label":"K05", "x":7.25, "y":0}, {"label":"K06", "x":8.25, "y":0}, {"label":"K07", "x":9.25, "y":0}, {"label":"K08", "x":10.25, "y":0}, {"label":"K09", "x":11.25, "y":0}, {"label":"K0A", "x":12.25, "y":0}, {"label":"K0B", "x":13.25, "y":0}, {"label":"K0C", "x":14.25, "y":0}, {"label":"K0D", "x":15.25, "y":0, "w":2}, {"label":"KA2", "x":0, "y":1}, {"label":"KA3", "x":1, "y":1}, {"label":"K10", "x":2.25, "y":1, "w":1.5}, {"label":"K11", "x":3.75, "y":1}, {"label":"K12", "x":4.75, "y":1}, {"label":"K13", "x":5.75, "y":1}, {"label":"K14", "x":6.75, "y":1}, {"label":"K15", "x":7.75, "y":1}, {"label":"K16", "x":8.75, "y":1}, {"label":"K17", "x":9.75, "y":1}, {"label":"K18", "x":10.75, "y":1}, {"label":"K19", "x":11.75, "y":1}, {"label":"K1A", "x":12.75, "y":1}, {"label":"K1B", "x":13.75, "y":1}, {"label":"K1C", "x":14.75, "y":1}, {"label":"K1D", "x":15.75, "y":1, "w":1.5}, {"label":"KA4", "x":0, "y":2}, {"label":"KA5", "x":1, "y":2}, {"label":"K20", "x":2.25, "y":2, "w":1.75}, {"label":"K21", "x":4, "y":2}, {"label":"K22", "x":5, "y":2}, {"label":"K23", "x":6, "y":2}, {"label":"K24", "x":7, "y":2}, {"label":"K25", "x":8, "y":2}, {"label":"K26", "x":9, "y":2}, {"label":"K27", "x":10, "y":2}, {"label":"K28", "x":11, "y":2}, {"label":"K29", "x":12, "y":2}, {"label":"K2A", "x":13, "y":2}, {"label":"K2B", "x":14, "y":2}, {"label":"K2C", "x":15, "y":2, "w":2.25}, {"label":"KA6", "x":0, "y":3}, {"label":"KA7", "x":1, "y":3}, {"label":"K30", "x":2.25, "y":3, "w":1.25}, {"label":"K31", "x":3.5, "y":3}, {"label":"K32", "x":4.5, "y":3}, {"label":"K33", "x":5.5, "y":3}, {"label":"K34", "x":6.5, "y":3}, {"label":"K35", "x":7.5, "y":3}, {"label":"K36", "x":8.5, "y":3}, {"label":"K37", "x":9.5, "y":3}, {"label":"K38", "x":10.5, "y":3}, {"label":"K39", "x":11.5, "y":3}, {"label":"K3A", "x":12.5, "y":3}, {"label":"K3B", "x":13.5, "y":3}, {"label":"K3C", "x":15.25, "y":3}, {"label":"K3D", "x":16.25, "y":3}, {"label":"KA8", "x":0, "y":4}, {"label":"KA9", "x":1, "y":4}, {"label":"K40", "x":2.25, "y":4, "w":1.25}, {"label":"K41", "x":3.5, "y":4, "w":1.25}, {"label":"K42", "x":4.75, "y":4, "w":1.25}, {"label":"K44", "x":6, "y":4, "w":2.25}, {"label":"K46", "x":8.25, "y":4, "w":1.25}, {"label":"K47", "x":9.5, "y":4, "w":2.75}, {"label":"K49", "x":12.25, "y":4}, {"label":"K4A", "x":13.25, "y":4}, {"label":"K4B", "x":14.25, "y":4}, {"label":"K4C", "x":15.25, "y":4}, {"label":"K4D", "x":16.25, "y":4}]
diff --git a/keyboards/kona_classic/keymaps/ansi_arrows/keymap.c b/keyboards/kona_classic/keymaps/ansi_arrows/keymap.c
index ac0ebf02a9..dc60f24dc3 100644
--- a/keyboards/kona_classic/keymaps/ansi_arrows/keymap.c
+++ b/keyboards/kona_classic/keymaps/ansi_arrows/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_ansi_arrows(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/ansi_arrows_lcap/keymap.c b/keyboards/kona_classic/keymaps/ansi_arrows_lcap/keymap.c
index 1163931076..ac52ba3585 100644
--- a/keyboards/kona_classic/keymaps/ansi_arrows_lcap/keymap.c
+++ b/keyboards/kona_classic/keymaps/ansi_arrows_lcap/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_ansi_arrows(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/ansi_split/keymap.c b/keyboards/kona_classic/keymaps/ansi_split/keymap.c
index 4687b72ae7..3c331e1735 100644
--- a/keyboards/kona_classic/keymaps/ansi_split/keymap.c
+++ b/keyboards/kona_classic/keymaps/ansi_split/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN), KC_SPC, KC_LALT, KC_RGUI, MO(_FN), KC_RCTL
),
[_FN] = LAYOUT_ansi_split(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/ansi_split_arrows/keymap.c b/keyboards/kona_classic/keymaps/ansi_split_arrows/keymap.c
index b53caf9ea3..7eaea8b4f2 100644
--- a/keyboards/kona_classic/keymaps/ansi_split_arrows/keymap.c
+++ b/keyboards/kona_classic/keymaps/ansi_split_arrows/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_ansi_split_arrows(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/iso_arrows/keymap.c b/keyboards/kona_classic/keymaps/iso_arrows/keymap.c
index c117f58faa..5130cb390f 100644
--- a/keyboards/kona_classic/keymaps/iso_arrows/keymap.c
+++ b/keyboards/kona_classic/keymaps/iso_arrows/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_iso_arrows(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/iso_split/keymap.c b/keyboards/kona_classic/keymaps/iso_split/keymap.c
index 4ec69984d1..d2f7d85882 100644
--- a/keyboards/kona_classic/keymaps/iso_split/keymap.c
+++ b/keyboards/kona_classic/keymaps/iso_split/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN), KC_SPC, KC_LALT, KC_RGUI, MO(_FN), KC_RCTL
),
[_FN] = LAYOUT_iso_split(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kona_classic/keymaps/iso_split_arrows/keymap.c b/keyboards/kona_classic/keymaps/iso_split_arrows/keymap.c
index e6bd3f58e3..af0bafad40 100644
--- a/keyboards/kona_classic/keymaps/iso_split_arrows/keymap.c
+++ b/keyboards/kona_classic/keymaps/iso_split_arrows/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_iso_split_arrows(
- RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_MOD, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kopibeng/mnk65/config.h b/keyboards/kopibeng/mnk65/config.h
index 6059de6ab1..a5bc7430c8 100644
--- a/keyboards/kopibeng/mnk65/config.h
+++ b/keyboards/kopibeng/mnk65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x0651
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kopibeng
-#define PRODUCT MNK65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, B7, B3 }
#define MATRIX_COL_PINS { D0, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN D1
diff --git a/keyboards/kopibeng/mnk65/info.json b/keyboards/kopibeng/mnk65/info.json
index e0bd2f7859..90266e2438 100644
--- a/keyboards/kopibeng/mnk65/info.json
+++ b/keyboards/kopibeng/mnk65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNK65",
- "maintainer": "kopibeng",
+ "manufacturer": "kopibeng",
"url": "https://monokei.co/",
+ "maintainer": "kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0651",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kopibeng/mnk65/readme.md b/keyboards/kopibeng/mnk65/readme.md
index 80e256e617..f4c07ce6a8 100644
--- a/keyboards/kopibeng/mnk65/readme.md
+++ b/keyboards/kopibeng/mnk65/readme.md
@@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* Physical reset button: Press the RESET switch on top side of PCB.
* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard.
-* Keycode reset: Press the RESET keycode (default: MO(1) + Home keys) in layout if available.
+* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + Home keys) in layout if available.
diff --git a/keyboards/kopibeng/mnk88/config.h b/keyboards/kopibeng/mnk88/config.h
index d8b4422523..e026367dd6 100644
--- a/keyboards/kopibeng/mnk88/config.h
+++ b/keyboards/kopibeng/mnk88/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x8800
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kopibeng
-#define PRODUCT MNK88
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -50,7 +43,7 @@
#define RGB_DI_PIN A10
#ifdef RGB_DI_PIN
- #define RGBLED_NUM 19
+ #define RGBLED_NUM 20
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/kopibeng/mnk88/info.json b/keyboards/kopibeng/mnk88/info.json
index 2ee4da8050..68e64b6095 100644
--- a/keyboards/kopibeng/mnk88/info.json
+++ b/keyboards/kopibeng/mnk88/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNK88",
- "maintainer": "kopibeng",
+ "manufacturer": "kopibeng",
"url": "https://monokei.co/",
+ "maintainer": "kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x8800",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kopibeng/typ65/config.h b/keyboards/kopibeng/typ65/config.h
index 9b96483b6a..07899583ce 100644
--- a/keyboards/kopibeng/typ65/config.h
+++ b/keyboards/kopibeng/typ65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x065E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kopibeng
-#define PRODUCT Typ65+
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/kopibeng/typ65/info.json b/keyboards/kopibeng/typ65/info.json
index ce3bfbee39..b41daf736c 100644
--- a/keyboards/kopibeng/typ65/info.json
+++ b/keyboards/kopibeng/typ65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Typ65+",
- "maintainer": "kopibeng",
+ "manufacturer": "kopibeng",
"url": "https://www.axiomstudios.shop/",
+ "maintainer": "kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x065E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kopibeng/typ65/readme.md b/keyboards/kopibeng/typ65/readme.md
index af8106891d..4e9cd63374 100644
--- a/keyboards/kopibeng/typ65/readme.md
+++ b/keyboards/kopibeng/typ65/readme.md
@@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* Physical reset button: Press the RESET switch on top side of PCB.
* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard.
-* Keycode reset: Press the RESET keycode (default: MO(1) + HOME keys in default layout).
+* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + HOME keys in default layout).
diff --git a/keyboards/kopibeng/xt60/config.h b/keyboards/kopibeng/xt60/config.h
index 30aff4955e..65ea5b0aa6 100644
--- a/keyboards/kopibeng/xt60/config.h
+++ b/keyboards/kopibeng/xt60/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x0600
-#define DEVICE_VER 0x0002
-#define MANUFACTURER kopibeng
-#define PRODUCT XT60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kopibeng/xt60/info.json b/keyboards/kopibeng/xt60/info.json
index fbd8904a7f..6d946c960e 100644
--- a/keyboards/kopibeng/xt60/info.json
+++ b/keyboards/kopibeng/xt60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XT60",
- "maintainer": "Kopibeng",
+ "manufacturer": "kopibeng",
"url": "",
+ "maintainer": "Kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0600",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kopibeng/xt60/readme.md b/keyboards/kopibeng/xt60/readme.md
index 177b22be4c..6eacaded6f 100644
--- a/keyboards/kopibeng/xt60/readme.md
+++ b/keyboards/kopibeng/xt60/readme.md
@@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* Physical reset button: Press the RESET switch on top side of PCB.
* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard.
-* Keycode reset: Press the RESET keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file
+* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/config.h b/keyboards/kopibeng/xt60_singa/config.h
new file mode 100644
index 0000000000..ef20c3cdf1
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/config.h
@@ -0,0 +1,74 @@
+/* Copyright 2021 Samuel Lu
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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 { F7, F4, D0, B3, B7 }
+#define MATRIX_COL_PINS { C7, F5, F1, F0, C6, B6, B5, B4, D7, D6, D5, D3, D2, D1 }
+
+#define LED_CAPS_LOCK_PIN D4
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN F6
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 14
+ #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 */
+/*== 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
+
+/* 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
diff --git a/keyboards/kopibeng/xt60_singa/info.json b/keyboards/kopibeng/xt60_singa/info.json
new file mode 100644
index 0000000000..09191eac10
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "XT60_SINGA",
+ "manufacturer": "kopibeng",
+ "url": "",
+ "maintainer": "Kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0601",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "0,0", "x": 0, "y": 0 },
+ { "label": "0,1", "x": 1, "y": 0 },
+ { "label": "0,2", "x": 2, "y": 0 },
+ { "label": "0,3", "x": 3, "y": 0 },
+ { "label": "0,4", "x": 4, "y": 0 },
+ { "label": "0,5", "x": 5, "y": 0 },
+ { "label": "0,6", "x": 6, "y": 0 },
+ { "label": "0,7", "x": 7, "y": 0 },
+ { "label": "0,8", "x": 8, "y": 0 },
+ { "label": "0,9", "x": 9, "y": 0 },
+ { "label": "0,A", "x": 10, "y": 0 },
+ { "label": "0,B", "x": 11, "y": 0 },
+ { "label": "0,C", "x": 12, "y": 0 },
+ { "label": "0,D", "x": 13, "y": 0 },
+ { "label": "1,D", "x": 14, "y": 0 },
+
+ { "label": "1,0", "w": 1.5, "x": 0, "y": 1 },
+ { "label": "1,1", "x": 1.5, "y": 1 },
+ { "label": "1,2", "x": 2.5, "y": 1 },
+ { "label": "1,3", "x": 3.5, "y": 1 },
+ { "label": "1,4", "x": 4.5, "y": 1 },
+ { "label": "1,5", "x": 5.5, "y": 1 },
+ { "label": "1,6", "x": 6.5, "y": 1 },
+ { "label": "1,7", "x": 7.5, "y": 1 },
+ { "label": "1,8", "x": 8.5, "y": 1 },
+ { "label": "1,9", "x": 9.5, "y": 1 },
+ { "label": "1,A", "x": 10.5, "y": 1 },
+ { "label": "1,B", "x": 11.5, "y": 1 },
+ { "label": "1,C", "x": 12.5, "y": 1 },
+ { "label": "2,C", "w": 1.5, "x": 13.5, "y": 1 },
+
+ { "label": "2,0", "w": 1.75, "x": 0, "y": 2 },
+ { "label": "2,1", "x": 1.75, "y": 2 },
+ { "label": "2,2", "x": 2.75, "y": 2 },
+ { "label": "2,3", "x": 3.75, "y": 2 },
+ { "label": "2,4", "x": 4.75, "y": 2 },
+ { "label": "2,5", "x": 5.75, "y": 2 },
+ { "label": "2,6", "x": 6.75, "y": 2 },
+ { "label": "2,7", "x": 7.75, "y": 2 },
+ { "label": "2,8", "x": 8.75, "y": 2 },
+ { "label": "2,9", "x": 9.75, "y": 2 },
+ { "label": "2,A", "x": 10.75, "y": 2 },
+ { "label": "2,B", "x": 11.75, "y": 2 },
+ { "label": "2,D", "w": 2.25, "x": 12.75, "y": 2 },
+
+ { "label": "3,0", "w": 1.25, "x": 0, "y": 3 },
+ { "label": "3,1", "x": 1.25, "y": 3 },
+ { "label": "3,2", "x": 2.25, "y": 3 },
+ { "label": "3,3", "x": 3.25, "y": 3 },
+ { "label": "3,4", "x": 4.25, "y": 3 },
+ { "label": "3,5", "x": 5.25, "y": 3 },
+ { "label": "3,6", "x": 6.25, "y": 3 },
+ { "label": "3,7", "x": 7.25, "y": 3 },
+ { "label": "3,8", "x": 8.25, "y": 3 },
+ { "label": "3,9", "x": 9.25, "y": 3 },
+ { "label": "3,A", "x": 10.25, "y": 3 },
+ { "label": "3,B", "x": 11.25, "y": 3 },
+ { "label": "3,C", "w": 1.75, "x": 12.25, "y": 3 },
+ { "label": "3,D", "x": 14, "y": 3 },
+
+ { "label": "4,0", "w": 1.25, "x": 0, "y": 4 },
+ { "label": "4,1", "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "4,2", "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "4,4", "w": 2.25, "x": 3.75, "y": 4 },
+ { "label": "4,6", "w": 1.25, "x": 6, "y": 4 },
+ { "label": "4,8", "w": 2.75, "x": 7.25, "y": 4 },
+ { "label": "4,A", "w": 1.25, "x": 10, "y": 4 },
+ { "label": "4,B", "w": 1.25, "x": 11.25, "y": 4 },
+ { "label": "4,C", "w": 1.25, "x": 12.5, "y": 4 },
+ { "label": "4,D", "w": 1.25, "x": 13.75, "y": 4 }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ee43182799
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/keymaps/default/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2021 Samuel Lu
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [0] = LAYOUT_all(
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL
+ ),
+
+ // Fn1 Layer
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ // Fn2 Layer
+ [2] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ // Fn3 Layer
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
diff --git a/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ee43182799
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2021 Samuel Lu
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [0] = LAYOUT_all(
+ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL
+ ),
+
+ // Fn1 Layer
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ // Fn2 Layer
+ [2] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ // Fn3 Layer
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
diff --git a/keyboards/kopibeng/xt60_singa/keymaps/via/rules.mk b/keyboards/kopibeng/xt60_singa/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/readme.md b/keyboards/kopibeng/xt60_singa/readme.md
new file mode 100644
index 0000000000..f8efffcf1c
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/readme.md
@@ -0,0 +1,21 @@
+# XT60_SINGA
+
+![XT60_SINGA](https://i.imgur.com/n1arBEwh.png)
+
+A QMK-powered, VIA-enabled 60% PCB with support for ANSI/ISO layouts, split Backspace, split Right Shift, stepped Caps Lock, 6.25U/7U bottom row, split Spacebar and RGB underglow.
+
+* Keyboard Maintainer: kopibeng
+* Hardware Supported: A 60% keyboard with ATMEGA32U4
+* Hardware Availability: https://singakbd.com/
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kopibeng/xt60_singa:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+* Physical reset button: Press the RESET switch on top side of PCB.
+* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard.
+* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/rules.mk b/keyboards/kopibeng/xt60_singa/rules.mk
new file mode 100644
index 0000000000..72ab2800c5
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/xt60_singa.c b/keyboards/kopibeng/xt60_singa/xt60_singa.c
new file mode 100644
index 0000000000..1a3a2b613f
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/xt60_singa.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 Samuel Lu
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "xt60_singa.h" \ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/xt60_singa.h b/keyboards/kopibeng/xt60_singa/xt60_singa.h
new file mode 100644
index 0000000000..0e4b4ea2aa
--- /dev/null
+++ b/keyboards/kopibeng/xt60_singa/xt60_singa.h
@@ -0,0 +1,55 @@
+/* Copyright 2021 Samuel Lu
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ │1D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴â”2D │ ISO Enter
+ * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤
+ * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘
+ * │40 │41 │42 │44 │46 │48 │4A │4B │4C │4D │ 2.25u/1.25u/2.75u Split Spacebar
+ * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘
+ * ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────â”
+ * │40 │41 │42 │46 │4A │4B │4C │4D │ ANSI 6.25u
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │41 │42 │46 │4B │4C │4D │ 7u/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, \
+ 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, K3C, K3D, \
+ K40, K41, K42, K44, K46, K48, K4A, K4B, K4C, K4D \
+) { \
+ {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, K2C, K2D}, \
+ {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D}, \
+ {K40, K41, K42, ___, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D} \
+}
diff --git a/keyboards/kopibeng/xt65/config.h b/keyboards/kopibeng/xt65/config.h
index e134e8b864..54195ef454 100644
--- a/keyboards/kopibeng/xt65/config.h
+++ b/keyboards/kopibeng/xt65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x0650
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kopibeng
-#define PRODUCT XT65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { D1, D2, D3, B6, C6, C7, F0, F1, F4, F5, F6, F7, B2, B3, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kopibeng/xt65/info.json b/keyboards/kopibeng/xt65/info.json
index 37afadf25f..04d61df718 100644
--- a/keyboards/kopibeng/xt65/info.json
+++ b/keyboards/kopibeng/xt65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kopibeng XT65",
+ "keyboard_name": "XT65",
+ "manufacturer": "kopibeng",
"url": "",
"maintainer": "kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0650",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_7u_split_bs": "LAYOUT_65_ansi_blocker_tsangan_split_bs",
"LAYOUT_all": "LAYOUT_65_ansi_blocker_split_bs",
diff --git a/keyboards/kopibeng/xt8x/config.h b/keyboards/kopibeng/xt8x/config.h
index d1508dfdd6..4086020397 100644
--- a/keyboards/kopibeng/xt8x/config.h
+++ b/keyboards/kopibeng/xt8x/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // 'KP' kopibeng
-#define PRODUCT_ID 0x8788
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kopibeng
-#define PRODUCT XT8x
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/kopibeng/xt8x/info.json b/keyboards/kopibeng/xt8x/info.json
index d2a59eef8b..ad828e0ecb 100644
--- a/keyboards/kopibeng/xt8x/info.json
+++ b/keyboards/kopibeng/xt8x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XT8x",
- "maintainer": "kopibeng",
+ "manufacturer": "kopibeng",
"url": "",
+ "maintainer": "kopibeng",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x8788",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/kopibeng/xt8x/readme.md b/keyboards/kopibeng/xt8x/readme.md
index cdb333a260..0c94adec38 100644
--- a/keyboards/kopibeng/xt8x/readme.md
+++ b/keyboards/kopibeng/xt8x/readme.md
@@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* Physical reset button: Press the RESET switch on top side of PCB.
* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard.
-* Keycode reset: Press the RESET keycode (default: MO(1) + R keys) in layout if available.
+* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available.
diff --git a/keyboards/kprepublic/bm16a/config.h b/keyboards/kprepublic/bm16a/config.h
index 120232bb91..7e6289b793 100644
--- a/keyboards/kprepublic/bm16a/config.h
+++ b/keyboards/kprepublic/bm16a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x016A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT bm16a
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D3, D5, D1, D2}
#define MATRIX_COL_PINS { D6, D4, D7, B4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm16a/info.json b/keyboards/kprepublic/bm16a/info.json
index 520e508249..6c616e11d1 100644
--- a/keyboards/kprepublic/bm16a/info.json
+++ b/keyboards/kprepublic/bm16a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bm16a",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x016A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/kprepublic/bm16a/keymaps/factory/keymap.c b/keyboards/kprepublic/bm16a/keymaps/factory/keymap.c
index 8a01ff016d..ea61e608c3 100644
--- a/keyboards/kprepublic/bm16a/keymaps/factory/keymap.c
+++ b/keyboards/kprepublic/bm16a/keymaps/factory/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, KC_PDOT, KC_SPC, MO(_FN1)
),
[_FN1] = LAYOUT_ortho_4x4(
- RESET, KC_PAST, KC_PSLS, _______,
+ QK_BOOT, KC_PAST, KC_PSLS, _______,
BL_TOGG, BL_DEC, BL_INC, BL_STEP,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD,
RGB_SAI, RGB_SAD, _______, _______
diff --git a/keyboards/kprepublic/bm16s/config.h b/keyboards/kprepublic/bm16s/config.h
index 4ee57f3510..2de3ffe3d4 100755
--- a/keyboards/kprepublic/bm16s/config.h
+++ b/keyboards/kprepublic/bm16s/config.h
@@ -1,13 +1,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 //KP
-#define PRODUCT_ID 0x016B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT bm16s
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -15,7 +8,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, D3, D2 }
#define MATRIX_COL_PINS { F7, F6, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm16s/info.json b/keyboards/kprepublic/bm16s/info.json
index 938666a504..03d0659be0 100644
--- a/keyboards/kprepublic/bm16s/info.json
+++ b/keyboards/kprepublic/bm16s/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "bm16s",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x016B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/kprepublic/bm16s/keymaps/media/keymap.c b/keyboards/kprepublic/bm16s/keymaps/media/keymap.c
index a2a9b72db9..8c592a4151 100755
--- a/keyboards/kprepublic/bm16s/keymaps/media/keymap.c
+++ b/keyboards/kprepublic/bm16s/keymaps/media/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPRV, KC_MPLY, KC_MNXT, MO(1)
),
[1] = LAYOUT_ortho_4x4(
- RESET, _______, _______, _______,
+ QK_BOOT, _______, _______, _______,
RGB_SPD, RGB_BRU, RGB_SPI, _______,
RGB_RMOD, RGB_BRD, RGB_MOD, _______,
RGB_TOG, _______, _______, _______
diff --git a/keyboards/kprepublic/bm40hsrgb/config.h b/keyboards/kprepublic/bm40hsrgb/config.h
index 8790de8a7b..8e4710abb3 100755
--- a/keyboards/kprepublic/bm40hsrgb/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x3430 // "40"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM40 Hotswap RGB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B2, E6, B5 }
#define MATRIX_COL_PINS { B6, C6, B4, D7, D4, D6, C7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm40hsrgb/info.json b/keyboards/kprepublic/bm40hsrgb/info.json
index ddd99d3e35..2d1dd70df0 100644
--- a/keyboards/kprepublic/bm40hsrgb/info.json
+++ b/keyboards/kprepublic/bm40hsrgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM40HSRGB",
+ "keyboard_name": "BM40 Hotswap RGB",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x3430",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
new file mode 100644
index 0000000000..2534ffd554
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
@@ -0,0 +1,56 @@
+// Copyright 2021 Taeyoon Kim (@partrita)
+// SPDX-License-Identifier: GPL-2.0-or-later
+// /*
+// Set any config.h overrides for your specific keymap here.
+// See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
+// */
+#pragma once
+
+#define TAPPING_TERM 200 // time of holding key, milliseconds
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
+#define TAPPING_FORCE_HOLD
+
+// Mouse key speed and acceleration.
+#undef MOUSEKEY_DELAY
+#define MOUSEKEY_DELAY 0
+#undef MOUSEKEY_INTERVAL
+#define MOUSEKEY_INTERVAL 16
+#undef MOUSEKEY_WHEEL_DELAY
+#define MOUSEKEY_WHEEL_DELAY 0
+#undef MOUSEKEY_MAX_SPEED
+#define MOUSEKEY_MAX_SPEED 6
+#undef MOUSEKEY_TIME_TO_MAX
+#define MOUSEKEY_TIME_TO_MAX 64
+
+// The firmware is too large!
+#define COMBO_COUNT 1 // number of combo
+#define COMBO_TERM 80 // timeout period for combos to 40ms.
+
+//disable broken animations
+#ifdef RGB_MATRIX_ENABLE
+# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# undef ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# undef ENABLE_RGB_MATRIX_CYCLE_ALL
+# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+# undef RGB_MATRIX_STARTUP_MODE
+// # define RGBLIGHT_HUE_STEP 20
+#endif
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c
new file mode 100644
index 0000000000..4c06536945
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/keymap.c
@@ -0,0 +1,91 @@
+// Copyright 2021 Taeyoon Kim (@partrita)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "keymap_korean.h"
+
+enum layers {
+ _Base,
+ _Navi,
+ _Numb,
+ _Func,
+};
+
+// Left-hand home row mods - Base Layer
+#define HOME_A LGUI_T(KC_A)
+#define HOME_S LALT_T(KC_S)
+#define HOME_D LCTL_T(KC_D)
+#define HOME_F LSFT_T(KC_F)
+#define HOME_J RSFT_T(KC_J)
+#define HOME_K LCTL_T(KC_K)
+#define HOME_L LALT_T(KC_L)
+#define HOME_QU LGUI_T(KC_QUOT)
+
+// layer keys
+#define Lay_SPC LT(_Func,KC_SPC)
+#define NAVI MO(_Navi)
+#define NUMB MO(_Numb)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_Base] = LAYOUT_planck_mit(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_NO, KC_NO, KC_H, HOME_J, HOME_K, HOME_L, HOME_QU,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_NO, KC_NO, KC_NO, NAVI, Lay_SPC, KC_NO, KC_BSPC, NUMB, KC_NO, KC_NO, KC_NO
+ ),
+ [_Navi] = LAYOUT_planck_mit(
+ KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ESC, KC_NO, KC_NO, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ KC_LSFT, HOME_S, HOME_D, HOME_F, KC_TAB, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU,
+ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, KC_NO, KC_NO, KC_BTN2, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_Numb] = LAYOUT_planck_mit(
+ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NO, KC_NO, KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NO, KC_NO, KC_ENT, KC_RSFT, HOME_K, HOME_L, HOME_QU,
+ KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HAEN, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_0, KC_MINS, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [_Func] = LAYOUT_planck_mit(
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_NO, KC_NO, KC_CAPS, KC_RSFT, HOME_K, HOME_L, HOME_QU,
+ KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KC_HAEN, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, Lay_SPC, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
+
+
+// color by layer
+layer_state_t layer_state_set_user(layer_state_t state) {
+ uint8_t layer = get_highest_layer(state);
+ switch (layer) {
+ case _Navi:
+ rgblight_mode_noeeprom(RGB_MATRIX_RAINBOW_BEACON);
+ break;
+ case _Numb:
+ rgblight_mode_noeeprom(RGB_MATRIX_HUE_PENDULUM);
+ break;
+ case _Func:
+ rgblight_mode_noeeprom(RGB_MATRIX_GRADIENT_LEFT_RIGHT);
+ break;
+ default:
+ rgblight_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_WIDE);
+ }
+ return state;
+}
+
+// COMBO key for HOME ROW modifier
+// modify `config.h` file
+// by adding #define COMBO_COUNT 1 (replacing 1 with the number that you’re using).
+// modify `rules.mk` file
+// by adding # COMBO_ENABLE = yes
+
+enum combos {
+ SFT_HAN,
+};
+
+const uint16_t PROGMEM sft_han_combo[] = {LSFT_T(KC_F), LT(_Func,KC_SPC), COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ [SFT_HAN] = COMBO(sft_han_combo, KC_HAEN),
+}; \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md
new file mode 100644
index 0000000000..31ac2602b6
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/readme.md
@@ -0,0 +1,63 @@
+# The 35 keymap for bm40hsrgb
+
+This layout is made almost entirely from [miryoku](https://github.com/manna-harbour/miryoku). However, I used fewer layers and reduced 36 keys to 34.
+
+> As little as possible, as simple as possible, as easy as possible to memorize
+
+Replaced the Ctrl, GUI, Alt, and Shift keys with home mod row. A combo function was added by removing some RGB animations of the bm40's keyboard to free up memory. If animation is not removed, it is because there is not enough memory to compile. Added code that uses RGB matrix animation so that you can see at a glance which layer is being used, and you can move faster by increasing the speed of the mouse key.
+
+And because I'm Korean, a combo for Korean and English keyboard conversion has been added, but if you don't need it, you can delete it.
+
+
+- Flash:
+
+ `qmk flash -kb kprepublic/bm40hsrgb -km 34keys`
+
+# Layout
+
+Press and hold to activate the keys in parentheses.
+
+
+https://imgur.com/a/UkKfCYm
+
+
+## _BASE(QWERTY)
+
+![](https://i.imgur.com/PuHFVXT.png)
+
+
+| Q | W | E | R | T | | | Y | U | I | O | P |
+|---|---|---|---|---|---|---|---|---|---|---|---|
+| A(GUI) | S(Alt) | D(Ctrl) | F(Shift) | G | | | H | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
+| Z | X| C| V| B| | | N | M | , | . | /|
+| | | | NaviLayer| Space(_Func) | | | Backspace | NumberLayer | | | |
+
+## _Navi
+
+![](https://i.imgur.com/BwDHx64.png)
+
+| Mousewheel left | Mousewheel down | Mousewheel up | Mousewheel right | ESC | | | DEL | HOME | PageDown | PageUP | END |
+|---|---|---|---|---|---|---|---|---|---|---|---|
+| A(GUI) | S(Alt) | D(Ctrl) | F(Shift) | TAB | | | ENTER | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
+| Mouse left | Mouse down | Mouse up| Mouse right | left click | | | left click | Left | Down | Up | Right |
+| | | | | Space | | | Backspace | NumberLayer | | | |
+
+## _Numb
+
+![](https://i.imgur.com/lPPyUsk.png)
+
+| [ | 7 | 8 | 9 | ] | | | DEL | | | | |
+|---|---|---|---|---|---|---|---|---|---|---|---|
+| ; | 4 | 5 | 6 | = | | | ENTER | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
+| ` | 1 | 2 | 3 | \ | | | | | | | |
+| | | | 0| - | | | Backspace | | | | |
+
+## _Func
+
+![](https://i.imgur.com/rz0jaoe.png)
+
+| F12 | F7 | F8 | F9 | PrintScreen | | | RESET | | | | |
+|---|---|---|---|---|---|---|---|---|---|---|---|
+| F11 | F4 | F5 | F6 | ScrollLock | | | CapsLock | J(Shift) | K(Ctrl) | L(Alt) | '(GUI) |
+| F10 | F1 | F2 | F3 | PauseBreak | | | Insert | | | | |
+| | | | NaviLayer | Space | | | Backspace | NumberLayer | | | |
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk
new file mode 100644
index 0000000000..96655e7b5a
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/rules.mk
@@ -0,0 +1,4 @@
+BOOTMAGIC_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+COMBO_ENABLE = yes
+EXTRAKEY_ENABLE = yes
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h
new file mode 100644
index 0000000000..bfcec37892
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h
@@ -0,0 +1,85 @@
+// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define LAYER_STATE_8BIT
+
+// RGB Matrix effects disable
+#ifdef RGB_MATRIX_ENABLE
+# define UNDERGLOW_DISABLE
+
+# define RGB_TRIGGER_ON_KEYDOWN
+
+# define RGB_MATRIX_LED_FLUSH_LIMIT 10
+
+# undef ENABLE_RGB_MATRIX_SOLID_COLOR
+# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# undef ENABLE_RGB_MATRIX_BREATHING
+# undef ENABLE_RGB_MATRIX_BAND_SAT
+# undef ENABLE_RGB_MATRIX_BAND_VAL
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# undef ENABLE_RGB_MATRIX_DUAL_BEACON
+# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# undef ENABLE_RGB_MATRIX_RAINDROPS
+# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# undef ENABLE_RGB_MATRIX_HUE_BREATHING
+# undef ENABLE_RGB_MATRIX_HUE_PENDULUM
+# undef ENABLE_RGB_MATRIX_HUE_WAVE
+# undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+# undef ENABLE_RGB_MATRIX_PIXEL_FLOW
+# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# undef ENABLE_RGB_MATRIX_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
+
+// If RGBLight is enabled
+#ifdef RGBLIGHT_ENABLE
+# define RGBLED_NUM DRIVER_LED_TOTAL
+
+# define RGBLIGHT_EFFECT_SNAKE
+# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#endif
+
+// Feature disable
+#ifndef NO_PRINT
+# define NO_PRINT
+#endif
+
+#ifndef NO_DEBUG
+# define NO_DEBUG
+#endif
+
+#ifndef NO_ACTION_ONESHOT
+# define NO_ACTION_ONESHOT
+#endif
+
+// Configure features
+#ifdef DYNAMIC_MACRO_ENABLE
+# define DYNAMIC_MACRO_USER_CALL
+# define DYNAMIC_MACRO_NO_NESTING
+#endif
+
+#ifdef MOUSEKEY_ENABLE
+# define MOUSEKEY_INTERVAL 16 // 60 FPS
+# define MK_3_SPEED
+#endif \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
new file mode 100644
index 0000000000..9130bd678e
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
@@ -0,0 +1,165 @@
+// Copyright 2022 Fae Fankhauser (@CoffeeIsLife87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ NULLKEY = SAFE_RANGE, // An empty key to start (and maybe end) the enum
+ #ifdef DYNAMIC_MACRO_ENABLE
+ MCR_PLY, // Macro play
+ MCR_REC, // Macro record
+ MCR_SWT, // Swap active macro
+ #endif
+};
+
+enum layout_names {
+ _MAIN = 0, // Keys Layout: The main keyboard layout that has all the characters
+ _SUB, // Extension to Main
+ _CTR, // Macros, RGB, Audio controls, layer access. More or less the control center of my keyboard
+ _END,
+};
+
+#ifdef DYNAMIC_MACRO_ENABLE
+ // Macro 1 is = 1, Macro 2 = -1, No macro = 0
+ static bool MACRO1 = true;
+ static bool RECORDING = false;
+
+ static uint16_t REC = DM_REC1;
+ static uint16_t PLY = DM_PLY1;
+
+ void dynamic_macro_record_start_user(void) {
+ REC = DM_RSTP;
+ RECORDING = true;
+ }
+ void dynamic_macro_record_end_user(int8_t direction) {
+ RECORDING = false;
+ }
+#else
+ #define MCR_PLY KC_NO
+ #define MCR_REC KC_NO
+ #define MCR_SWT KC_NO
+#endif
+
+const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = {
+ [_MAIN] = LAYOUT_planck_mit(
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+ KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_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_LGUI, XXXXXXX,KC_LALT ,MO(_SUB), KC_SPC ,MO(_CTR), KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
+ ),
+ [_SUB] = LAYOUT_planck_mit(
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL,
+ XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_PGUP,
+ _______, KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PGDN,
+ _______, _______, XXXXXXX, _______, _______, _______ , _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+ [_CTR] = LAYOUT_planck_mit(
+ XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC,
+ XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY,
+ XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+#define LAYER (get_highest_layer(layer_state))
+#define LAYER_SIZE (MATRIX_ROWS * MATRIX_COLS)
+#define CHECK_LED() \
+ if ((i >= DRIVER_LED_TOTAL) \
+ || ((g_led_config.flags[pos] == LED_FLAG_NONE) || (g_led_config.flags[pos] == LED_FLAG_UNDERGLOW))) \
+ continue
+
+#ifdef RGB_MATRIX_ENABLE
+
+ #ifdef UNDERGLOW_DISABLE
+ void keyboard_pre_init_user(void) {
+
+ for (int key_id = 0; key_id < DRIVER_LED_TOTAL; key_id++ ) {
+ if (g_led_config.flags[key_id] == LED_FLAG_UNDERGLOW) {
+ g_led_config.flags[key_id] = LED_FLAG_NONE;
+ }
+ }
+ }
+ #endif
+
+ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ if (LAYER != _MAIN) {
+
+ int DimmedMax = UINT8_MAX - (UINT8_MAX - rgb_matrix_config.hsv.v);
+
+ for (uint8_t i = led_min; i <= led_max; i++) {
+
+ uint8_t pos = ((uint8_t*)g_led_config.matrix_co)[i];
+
+ CHECK_LED(); // Check LED before moving on
+ uint16_t KC = pgm_read_word(&((uint16_t*)keymaps)[(LAYER_SIZE * LAYER) + i]);
+
+ if (KC == KC_NO) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0 );
+ }
+
+ #ifdef DYNAMIC_MACRO_ENABLE
+ else if (KC == MCR_SWT) {
+ if (!MACRO1) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, DimmedMax, DimmedMax);
+ }
+ } else if (KC == MCR_REC) {
+ if (RECORDING) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(pos, DimmedMax, 0, 0);
+ }
+ }
+ #endif
+
+ }
+ }
+ }
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ #ifdef DYNAMIC_MACRO_ENABLE
+ if (keycode == MCR_REC) keycode = REC;
+ if (keycode == MCR_PLY) keycode = PLY;
+ if (!process_dynamic_macro(keycode, record)) {
+ REC = (MACRO1 ? DM_REC1 : DM_REC2);
+ return false;
+ }
+ #endif
+
+ switch (keycode) {
+ #ifdef DYNAMIC_MACRO_ENABLE
+ case MCR_SWT:
+ if (!RECORDING && record->event.pressed) {
+ // if the button is pressed and we're not recording
+ MACRO1 = !MACRO1;
+ if (MACRO1) {
+ REC = DM_REC1;
+ PLY = DM_PLY1;
+ } else {
+ REC = DM_REC2;
+ PLY = DM_PLY2;
+ }
+ }
+ return false;
+ #endif
+
+ #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) // this only needs to be defined if both are enabled
+ case RGB_TOG: // We can intercept this keycode ig? Cool :)
+ if (record->event.pressed) {
+ if (rgb_matrix_is_enabled()) {
+ rgb_matrix_disable/*_noeeprom*/();
+ rgblight_enable/*_noeeprom*/();
+ } else if (rgblight_is_enabled()) {
+ rgb_matrix_disable/*_noeeprom*/();
+ rgblight_disable/*_noeeprom*/();
+ } else {
+ rgb_matrix_enable/*_noeeprom*/();
+ rgblight_disable/*_noeeprom*/();
+ }
+ }
+ return false;
+ #endif
+
+ default:
+ return true; //Process all other keycodes normally
+ }
+} \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md
new file mode 100644
index 0000000000..2fb004cece
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md
@@ -0,0 +1,55 @@
+# Kprepublic BM40HSRGB Coffee
+
+A layout that aims to be familiar to people that have used larger boards
+
+## The layout
+
+The primary layer ( `_MAIN` ) is as close to standard qwerty as I could get.
+```
+esc | q | w | e | r | t | y | u | i | o | p | bksp
+tab | a | s | d | f | g | h | j | k | l | ; | '
+shft | z | x | c | v | b | n | m | , | . | / | rtrn
+ctrl | win | | alt | SUB | spc | CTR | lft | dwn | up | rght
+```
+
+The secondary layer ( `_SUB` ) is for syntax, F keys, and number keys
+```
+grv | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | del
+ | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | pgup
+ _ | F7 | F8 | F9 | F10 | F11 | F12 | | | | \ | pgdn
+ _ | _ | | _ | _ | _ | _ | | | |
+```
+
+The control layer ( `_CTR` ) is for lighting, media, and macros
+```
+ | SPD- | BRI+ | SPD+ | HUE+ | SAT+ | | | VOL+ | | | MCR_REC
+ | EFCT- | BRI- | EFCT+ | HUE- | SAT- | | PREV | PLAY | NEXT | | MCR_PLY
+ | | TOG | | | | | | VOL- | | | MCR_SWT
+ | | | | | _ | | | | |
+```
+
+| Key name | Explanation |
+| -------- | -------------------------------------- |
+| \_ | Passthrough the key on the layer below |
+| SUB | Goes to _SUB layer while held down |
+| CTR | Goes to _CTR layer while held down |
+| SPD +/- | Changes speed for the RGB effect |
+| BRI +/- | Changes the brightness of the lighting |
+| EFCT +/- | Moves to the next/previous effect |
+| TOG | Toggles the lighting on or off |
+| HUE +/- | Changes the hue for RGB effects |
+| SAT +/- | Changes the saturation for RGB effects |
+| MSE | Toggles the Mouse layer |
+| VOL +/- | Raises or lowers media volume |
+| PREV | Goes to previous media |
+| PLAY | Play/Pause media |
+| NEXT | Goes to next media |
+| MCR_REC | Record macro ( Press again to stop ) |
+| MCR_PLY | Play recorded macro |
+| MCR_SWT | Switch active macro |
+
+## Compiling
+
+Compiling: `make kprepublic/bm40hsrgb:coffee`
+
+Flashing: `make kprepublic/bm40hsrgb:coffee:flash`
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk
new file mode 100644
index 0000000000..5d3039b8e2
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/rules.mk
@@ -0,0 +1,4 @@
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = yes
+DYNAMIC_MACRO_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
new file mode 100644
index 0000000000..5029d557dd
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c
@@ -0,0 +1,332 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 {
+ _ALPHA,
+ _LEFTFN,
+ _RIGHTFN,
+ _NUMPAD,
+ _LEAGUE,
+ _PUBG,
+ _OVERWATCH,
+ _STARCRAFT,
+ _TETRIS,
+ _CLEAN,
+ _RGB
+};
+
+#define ALPHA TO(_ALPHA)
+#define LEFTFN MO(_LEFTFN)
+#define RIGHTFN MO(_RIGHTFN)
+#define NUMPAD MO(_NUMPAD)
+#define LEAGUE TG(_LEAGUE)
+#define PUBG TG(_PUBG)
+#define OVERWATCH TG(_OVERWATCH)
+#define STARCRAFT TG(_STARCRAFT)
+#define TETRIS TG(_TETRIS)
+#define CLEAN TG(_CLEAN)
+#define RGB MO(_RGB)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* ALPHA
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |ESC/NP| KOR | Win | Alt |LEFTFN| Space |RFN/- | = |Delete| \ | Enter|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ALPHA] = LAYOUT_planck_mit(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ LT(NUMPAD, KC_ESC), KC_LNG1, KC_LGUI, KC_LALT, LEFTFN, KC_SPC, LT(RIGHTFN, KC_MINS), KC_EQL, KC_DEL, KC_BSLS, KC_PENT
+),
+
+/* LEFTFN
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Left | Down | Up |Right |CTRL+/|HANJA | [ | ] | ) | : | " |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| PGUP | PGDN | Home | End | CAPS |PRNTSR| ( | , | . | / | Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | RGB | [ | ] | Alt | Trns | Space | _ | + | INS | | | Ent. |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LEFTFN] = LAYOUT_planck_mit(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SLSH), KC_LNG2, KC_LBRC, KC_RBRC, KC_RPRN, KC_COLN, KC_DQUO,
+ KC_LSFT, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_CAPS, KC_PSCR, KC_LPRN, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ RGB, KC_LBRC, KC_RBRC, KC_LALT, KC_TRNS, KC_SPC, KC_UNDS, KC_PLUS, KC_INS, KC_PIPE, KC_PENT
+),
+
+
+/* RIGHTFN
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | Pause|SCRLCK| | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | | | | | | | F1 | F2 | F3 | F4 | F5 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| | | | | | | F6 | F7 | F8 | F9 | F10 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | Alt | | Space | Trns | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RIGHTFN] = LAYOUT_planck_mit(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PAUS, KC_SCRL, KC_NO, KC_F11, KC_F12,
+ KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_NO, KC_NO, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO
+),
+
+/* NUMPAD
+ * ,-----------------------------------------------------------------------------------.
+ * | * | 7 | 8 | 9 | NumLk| | | | | | | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Alt | 4 | 5 | 6 | Enter| | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | - | 1 | 2 | 3 | Bksp | | | | | Ctrl | Shift|Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Trns | , | + | . | 0 | Space |LEAGUE| PUBG | OVWCh| SC |TETRIS|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_NUMPAD] = LAYOUT_planck_mit(
+ KC_PAST, KC_P7, KC_P8, KC_P9, KC_NLCK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
+ KC_LALT, KC_P4, KC_P5, KC_P6, KC_ENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_PMNS, KC_P1, KC_P2, KC_P3, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LSFT, KC_ENT,
+ KC_TRNS, KC_COMM, KC_PPLS, KC_PDOT, KC_0, KC_SPC, LEAGUE, PUBG, OVERWATCH, STARCRAFT, TETRIS
+),
+
+/* LEAGUE
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | 5 | Y | | | O | P | ESC |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | | | | | L | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | 6 | 4 | 1 | B | | | | | | Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | 3 | X | C | Alt | 2 | Space | | | | | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LEAGUE] = LAYOUT_planck_mit(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_NO, KC_NO, KC_O, KC_P, KC_ESC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_L, KC_NO, KC_NO,
+ KC_LSFT, KC_Z, KC_6, KC_4, KC_1, KC_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
+ KC_3, KC_X, KC_C, KC_LALT, KC_2, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
+),
+
+/* PUBG
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | 1 | A | S | D | F | G | H | J | K | L | | F7 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | 3 | X | C | V | B | M | . | | | F9 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | 5 | 4 | Alt | 2 | Space | 6 | 8 | 7 | 9 | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_PUBG] = LAYOUT_planck_mit(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
+ KC_1, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_F7,
+ KC_LSFT, KC_Z, KC_3, KC_X, KC_C, KC_V, KC_B, KC_M, KC_DOT, KC_NO, KC_NO, KC_F9,
+ KC_LCTL, KC_5, KC_4, KC_LALT, KC_2, KC_SPC, KC_6, KC_8, KC_7, KC_9, ALPHA
+),
+
+/* OVERWATCH
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | ESC |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | 1 | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / | Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | | | Alt | 2 | Space | Bksp | | | | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_OVERWATCH] = LAYOUT_planck_mit(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ESC,
+ KC_1, 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_NO, KC_NO, KC_LALT, KC_2, KC_SPC, KC_BSPC, KC_NO, KC_NO, KC_NO, ALPHA
+),
+
+/* STARCRAFT
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / | Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | | | Alt | F1 | Space | F10 | Pause|Delete| | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_STARCRAFT] = LAYOUT_planck_mit(
+
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ KC_ESC, KC_NO, KC_NO, KC_LALT, KC_F1, KC_SPC, KC_F10, KC_PAUS, KC_DEL, KC_NO, ALPHA
+),
+
+/* TETRIS
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | Up | E | R | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | A | Left | Down | Right| F | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | | | Alt | S | Space | | | | | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_TETRIS] = LAYOUT_planck_mit(
+
+ KC_TAB, KC_Q, KC_UP, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_A, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_S, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
+
+),
+
+/* TETRIS
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | ALPHA|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_CLEAN] = LAYOUT_planck_mit(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, ALPHA
+),
+
+/* RGB (LEFTFN + RGB)
+ * v------------------------RGB CONTROL--------------------v
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | | | | | | | | | CLEAN|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |RGBTGL| MOD+ | BRT+ | SAT+ | | | | FX+ | HUE+ | | MOD R| MODES|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | MOD- | BRT- | SAT- | Trns | | FX- | HUE- | | MOD B| MOD P|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RGB] = LAYOUT_planck_mit(
+ KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CLEAN,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_TOG, RGB_MOD, RGB_VAI, RGB_SAI, KC_NO, KC_NO, KC_NO, RGB_SPI, RGB_HUI, KC_NO, RGB_M_R, RGB_M_SW,
+ KC_NO, RGB_RMOD, RGB_VAD, RGB_SAD, KC_TRNS, KC_NO, RGB_SPD, RGB_HUD, KC_NO, RGB_M_B, RGB_M_P
+)
+
+};
+
+/*
+
+// 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}
+
+*/
+void rgb_matrix_indicators_user(void) {
+ switch (get_highest_layer(layer_state)) {
+ case _ALPHA:
+ break;
+ case _LEFTFN:
+ break;
+ case _RIGHTFN:
+ break;
+ case _NUMPAD:
+ break;
+ case _LEAGUE:
+ rgb_matrix_set_color(1, 15, 15, 15);
+ rgb_matrix_set_color(2, 15, 15, 15);
+ rgb_matrix_set_color(3, 15, 15, 15);
+ rgb_matrix_set_color(4, 15, 15, 15);
+ rgb_matrix_set_color(15, 50, 40, 0);
+ rgb_matrix_set_color(16, 50, 5, 0);
+ rgb_matrix_set_color(29, 0, 15, 50);
+ rgb_matrix_set_color(10, 20, 2, 15);
+ break;
+
+ case _PUBG:
+ rgb_matrix_set_color(12, 15, 15, 15);
+ rgb_matrix_set_color(40, 15, 15, 15);
+ rgb_matrix_set_color(42, 3, 3, 50);
+ rgb_matrix_set_color(43, 5, 50, 8);
+ rgb_matrix_set_color(44, 50, 35, 0);
+ rgb_matrix_set_color(45, 30, 30, 15);
+ break;
+
+ case _OVERWATCH:
+ rgb_matrix_set_color(11, 80, 20, 0);
+ rgb_matrix_set_color(46, 80, 20, 0);
+ break;
+
+ case _STARCRAFT:
+ rgb_matrix_set_color(11, 5, 80, 15);
+ rgb_matrix_set_color(46, 5, 80, 15);
+ break;
+
+ case _TETRIS:
+ rgb_matrix_set_color(2, 60, 10, 20);
+ rgb_matrix_set_color(13, 60, 10, 20);
+ rgb_matrix_set_color(14, 60, 10, 20);
+ rgb_matrix_set_color(15, 60, 10, 20);
+ break;
+
+ case _CLEAN:
+ rgb_matrix_set_color_all(255, 255, 255);
+ break;
+
+ case _RGB:
+ break;
+ }
+
+ led_t led_state = host_keyboard_led_state();
+
+ //Capslock led
+ if (led_state.caps_lock) {
+ rgb_matrix_set_color(12, 145, 145, 145);
+ }
+
+ //Numlock led
+ if (!led_state.num_lock) {
+ rgb_matrix_set_color(0, 145, 145, 145);
+ }
+
+ //Scroll lock led
+ if (led_state.scroll_lock) {
+ rgb_matrix_set_color(24, 145, 145, 145);
+ }
+
+}
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
new file mode 100644
index 0000000000..4a706c7315
--- /dev/null
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/readme.md
@@ -0,0 +1,3 @@
+# Dan's kprepublic bm40 layout
+
+Dan's personal keymap with LED indicator support.
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
index b38e4b8fc6..e71078415a 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
@@ -30,9 +30,6 @@
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
#define AUTO_SHIFT_NO_SETUP
-// Recommended for heavy chording.
-#define QMK_KEYS_PER_SCAN 4
-
// Mouse key speed and acceleration.
#undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0
@@ -60,10 +57,6 @@
#define RGBLIGHT_LIMIT_VAL 10
-//bootmagic
-#define BOOTMAGIC_KEY_SALT KC_V
-#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
-
#ifdef RGB_MATRIX_ENABLE
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
index 1ebea18175..12db3f2eec 100755
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[FUN] = LAYOUT_planck_mit(
- KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
KC_NO, KC_NO, KC_APP, KC_SPC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h
index 2b0d0961c4..a88ae7f2e8 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h
@@ -25,10 +25,6 @@
//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGBLIGHT_LIMIT_VAL 10
-//bootmagic
-#define BOOTMAGIC_KEY_SALT KC_V
-#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
-
#ifdef RGB_MATRIX_ENABLE
#define TAPPING_TERM 200
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c
index b04f7ffb7c..1e97aba495 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c
@@ -19,7 +19,7 @@
#include QMK_KEYBOARD_H
// non-KC_ keycodes
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_TOG RGB_TOG
#define KC_MOD RGB_MOD
#define KC_HUI RGB_HUI
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h
index d39f6b95c8..cdfa67acb0 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h
@@ -25,10 +25,6 @@
//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGBLIGHT_LIMIT_VAL 10
-//bootmagic
-#define BOOTMAGIC_KEY_SALT KC_V
-#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
-
#ifdef RGB_MATRIX_ENABLE
#define TAPPING_TERM 200
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
index 12539fe41c..e725e23214 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
@@ -19,7 +19,7 @@
#include QMK_KEYBOARD_H
// non-KC_ keycodes
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_TOG RGB_TOG
#define KC_MOD RGB_MOD
#define KC_HUI RGB_HUI
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h
index a4634c581e..dbadc3da99 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h
@@ -25,10 +25,6 @@
//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGBLIGHT_LIMIT_VAL 10
-//bootmagic
-#define BOOTMAGIC_KEY_SALT KC_V
-#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
-
#ifdef RGB_MATRIX_ENABLE
#define TAPPING_TERM 200
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
index 999e6b18af..02ea122a03 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
@@ -19,7 +19,7 @@
#include QMK_KEYBOARD_H
// non-KC_ keycodes
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_TOG RGB_TOG
#define KC_MOD RGB_MOD
#define KC_HUI RGB_HUI
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
index e72d83f9d0..ecce30e237 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
@@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// adjust layer ok
[_ADJUST] = LAYOUT_planck_mit(
- RESET, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI,
_______, MI_ON, MI_OFF, MI_TOG, MU_ON, MU_OFF, MU_TOG, MU_MOD, AU_ON, AU_OFF, _______, _______,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kprepublic/bm43a/config.h b/keyboards/kprepublic/bm43a/config.h
index e08561d916..23f1753fc7 100644
--- a/keyboards/kprepublic/bm43a/config.h
+++ b/keyboards/kprepublic/bm43a/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM43A
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/kprepublic/bm43a/info.json b/keyboards/kprepublic/bm43a/info.json
index 005945d50e..0cbeeac633 100644
--- a/keyboards/kprepublic/bm43a/info.json
+++ b/keyboards/kprepublic/bm43a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BM43A",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kprepublic/bm43a/keymaps/stevexyz/keymap.c b/keyboards/kprepublic/bm43a/keymaps/stevexyz/keymap.c
index 04df426ba9..7c7324f555 100644
--- a/keyboards/kprepublic/bm43a/keymaps/stevexyz/keymap.c
+++ b/keyboards/kprepublic/bm43a/keymaps/stevexyz/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 12+11+11+9
DF(2), KC_MUTE, KC_VOLD, KC_VOLU, KC_COMM, KC_1, KC_2, KC_3, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2,
DF(3), XXXXXXX, XXXXXXX, KC_SPC, KC_0, KC_DOT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT ),
[3] = LAYOUT(
- DF(0), KC_SLEP, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ DF(0), KC_SLEP, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, BL_TOGG, BL_DEC, BL_INC, BL_STEP, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ),
diff --git a/keyboards/kprepublic/bm43hsrgb/config.h b/keyboards/kprepublic/bm43hsrgb/config.h
index c778f56995..dc753287d2 100755
--- a/keyboards/kprepublic/bm43hsrgb/config.h
+++ b/keyboards/kprepublic/bm43hsrgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM43 Hotswap RGB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/kprepublic/bm43hsrgb/info.json b/keyboards/kprepublic/bm43hsrgb/info.json
index dbee830364..052a4f8a6a 100755
--- a/keyboards/kprepublic/bm43hsrgb/info.json
+++ b/keyboards/kprepublic/bm43hsrgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM43HSRGB",
+ "keyboard_name": "BM43 Hotswap RGB",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x6061",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
index 366c755558..f201c3d88f 100755
--- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
+++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
),
[_FN] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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/kprepublic/bm60hsrgb/rev1/config.h b/keyboards/kprepublic/bm60hsrgb/rev1/config.h
index b8f002dca6..f1a160730c 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0xEF8C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60HSRGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/info.json b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
index a5fb20a008..4c1db804bd 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BM60HSRGB",
+ "manufacturer": "KP Republic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF8C",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi_arrow"
},
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c
index c43365356e..da5aa92901 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/keymaps/jbradforddillon/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
- 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, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
index d8e7501b22..09ba659d65 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x1121
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6, D2, D3, D5, F6 }
#define MATRIX_COL_PINS { B2, B3, B7, B0, B1, F7, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/info.json b/keyboards/kprepublic/bm60hsrgb/rev2/info.json
index 7cbd7fb4f7..af88dc88b6 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bm60v2",
+ "keyboard_name": "BM60V2",
+ "manufacturer": "KP Republic",
"url": "",
"maintainer": "bdtc123",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1121",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_ansi_arrow": {
"layout": [
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
index 9aa52dae90..868ce40d8c 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0xEF9C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60HSRGB_EC
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
index e85a9fffc3..d56d62fe59 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
@@ -1,78 +1,87 @@
{
- "keyboard_name": "BM60HSRGB_EC",
+ "keyboard_name": "BM60HSRGB_EC Rev1",
+ "manufacturer": "KP Republic",
"url": "",
- "maintainer": "qmk",
+ "maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF9C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
- {"label":"K00 (B0,D0)", "x":0, "y":0},
- {"label":"K01 (B0,D1)", "x":1, "y":0},
- {"label":"K02 (B0,D2)", "x":2, "y":0},
- {"label":"K03 (B0,D3)", "x":3, "y":0},
- {"label":"K04 (B0,D5)", "x":4, "y":0},
- {"label":"K05 (B0,D4)", "x":5, "y":0},
- {"label":"K06 (B0,D6)", "x":6, "y":0},
- {"label":"K07 (B0,D7)", "x":7, "y":0},
- {"label":"K08 (B0,B4)", "x":8, "y":0},
- {"label":"K09 (B0,B5)", "x":9, "y":0},
- {"label":"K0A (B0,B6)", "x":10, "y":0},
- {"label":"K0B (B0,C6)", "x":11, "y":0},
- {"label":"K0C (B0,C7)", "x":12, "y":0},
- {"label":"K0D (B0,F7)", "x":13, "y":0},
- {"label":"K21 (B2,D1)", "x":14, "y":0},
- {"label":"K43 (E6,D3)", "x":15, "y":0},
- {"label":"K44 (E6,D5)", "x":16, "y":0},
- {"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5},
- {"label":"K11 (B1,D1)", "x":1.5, "y":1},
- {"label":"K12 (B1,D2)", "x":2.5, "y":1},
- {"label":"K13 (B1,D3)", "x":3.5, "y":1},
- {"label":"K14 (B1,D5)", "x":4.5, "y":1},
- {"label":"K15 (B1,D4)", "x":5.5, "y":1},
- {"label":"K16 (B1,D6)", "x":6.5, "y":1},
- {"label":"K17 (B1,D7)", "x":7.5, "y":1},
- {"label":"K18 (B1,B4)", "x":8.5, "y":1},
- {"label":"K19 (B1,B5)", "x":9.5, "y":1},
- {"label":"K1A (B1,B6)", "x":10.5, "y":1},
- {"label":"K1B (B1,C6)", "x":11.5, "y":1},
- {"label":"K1C (B1,C7)", "x":12.5, "y":1},
- {"label":"K1D (B1,F7)", "x":13.5, "y":1, "w":1.5},
- {"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75},
- {"label":"K22 (B2,D2)", "x":1.75, "y":2},
- {"label":"K23 (B2,D3)", "x":2.75, "y":2},
- {"label":"K24 (B2,D5)", "x":3.75, "y":2},
- {"label":"K25 (B2,D4)", "x":4.75, "y":2},
- {"label":"K26 (B2,D6)", "x":5.75, "y":2},
- {"label":"K27 (B2,D7)", "x":6.75, "y":2},
- {"label":"K28 (B2,B4)", "x":7.75, "y":2},
- {"label":"K29 (B2,B5)", "x":8.75, "y":2},
- {"label":"K2A (B2,B6)", "x":9.75, "y":2},
- {"label":"K2B (B2,C6)", "x":10.75, "y":2},
- {"label":"K2C (B2,C7)", "x":11.75, "y":2},
- {"label":"K2D (B2,F7)", "x":12.75, "y":2, "w":2.25},
- {"label":"K31 (B3,D1)", "x":0, "y":3, "w":2.25},
- {"label":"K32 (B3,D2)", "x":2.25, "y":3},
- {"label":"K33 (B3,D3)", "x":3.25, "y":3},
- {"label":"K34 (B3,D5)", "x":4.25, "y":3},
- {"label":"K35 (B3,D4)", "x":5.25, "y":3},
- {"label":"K36 (B3,D6)", "x":6.25, "y":3},
- {"label":"K37 (B3,D7)", "x":7.25, "y":3},
- {"label":"K38 (B3,B4)", "x":8.25, "y":3},
- {"label":"K39 (B3,B5)", "x":9.25, "y":3},
- {"label":"K3A (B3,B6)", "x":10.25, "y":3},
- {"label":"K3B (B3,C6)", "x":11.25, "y":3, "w":1.75},
- {"label":"K3C (B3,C7)", "x":13, "y":3},
- {"label":"K3D (B3,F7)", "x":14, "y":3},
- {"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25},
- {"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25},
- {"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25},
- {"label":"K46 (E6,D6)", "x":3.75, "y":4, "w":6.25},
- {"label":"K49 (E6,B5)", "x":10, "y":4},
- {"label":"K4A (E6,B6)", "x":11, "y":4},
- {"label":"K4B (E6,C6)", "x":12, "y":4},
- {"label":"K4C (E6,C7)", "x":13, "y":4},
- {"label":"K4D (E6,F7)", "x":14, "y":4}
+ {"label":"K00 (B0, D0)", "x":0, "y":0.5},
+ {"label":"K01 (B0, D1)", "x":1, "y":0.5},
+ {"label":"K02 (B0, D2)", "x":2, "y":0.5},
+ {"label":"K03 (B0, D3)", "x":3, "y":0.5},
+ {"label":"K04 (B0, D5)", "x":4, "y":0.5},
+ {"label":"K05 (B0, D4)", "x":5, "y":0.5},
+ {"label":"K06 (B0, D6)", "x":6, "y":0.5},
+ {"label":"K07 (B0, D7)", "x":7, "y":0.5},
+ {"label":"K08 (B0, B4)", "x":8, "y":0.5},
+ {"label":"K09 (B0, B5)", "x":9, "y":0.5},
+ {"label":"K0A (B0, B6)", "x":10, "y":0.5},
+ {"label":"K0B (B0, C6)", "x":11, "y":0.5},
+ {"label":"K0C (B0, C7)", "x":12, "y":0.5},
+ {"label":"K0D (B0, F7)", "x":13, "y":0.5},
+ {"label":"K21 (B2, D1)", "x":14, "y":0.5},
+ {"label":"K43 (E6, D3)", "x":13.9, "y":0, "w":0.6, "h":0.5},
+ {"label":"K44 (E6, D5)", "x":14.5, "y":0, "w":0.6, "h":0.5},
+
+ {"label":"K10 (B1, D0)", "x":0, "y":1.5, "w":1.5},
+ {"label":"K11 (B1, D1)", "x":1.5, "y":1.5},
+ {"label":"K12 (B1, D2)", "x":2.5, "y":1.5},
+ {"label":"K13 (B1, D3)", "x":3.5, "y":1.5},
+ {"label":"K14 (B1, D5)", "x":4.5, "y":1.5},
+ {"label":"K15 (B1, D4)", "x":5.5, "y":1.5},
+ {"label":"K16 (B1, D6)", "x":6.5, "y":1.5},
+ {"label":"K17 (B1, D7)", "x":7.5, "y":1.5},
+ {"label":"K18 (B1, B4)", "x":8.5, "y":1.5},
+ {"label":"K19 (B1, B5)", "x":9.5, "y":1.5},
+ {"label":"K1A (B1, B6)", "x":10.5, "y":1.5},
+ {"label":"K1B (B1, C6)", "x":11.5, "y":1.5},
+ {"label":"K1C (B1, C7)", "x":12.5, "y":1.5},
+ {"label":"K1D (B1, F7)", "x":13.5, "y":1.5, "w":1.5},
+
+ {"label":"K20 (B2, D0)", "x":0, "y":2.5, "w":1.75},
+ {"label":"K22 (B2, D2)", "x":1.75, "y":2.5},
+ {"label":"K23 (B2, D3)", "x":2.75, "y":2.5},
+ {"label":"K24 (B2, D5)", "x":3.75, "y":2.5},
+ {"label":"K25 (B2, D4)", "x":4.75, "y":2.5},
+ {"label":"K26 (B2, D6)", "x":5.75, "y":2.5},
+ {"label":"K27 (B2, D7)", "x":6.75, "y":2.5},
+ {"label":"K28 (B2, B4)", "x":7.75, "y":2.5},
+ {"label":"K29 (B2, B5)", "x":8.75, "y":2.5},
+ {"label":"K2A (B2, B6)", "x":9.75, "y":2.5},
+ {"label":"K2B (B2, C6)", "x":10.75, "y":2.5},
+ {"label":"K2C (B2, C7)", "x":11.75, "y":2.5},
+ {"label":"K2D (B2, F7)", "x":12.75, "y":2.5, "w":2.25},
+
+ {"label":"K31 (B3, D1)", "x":0, "y":3.5, "w":2.25},
+ {"label":"K32 (B3, D2)", "x":2.25, "y":3.5},
+ {"label":"K33 (B3, D3)", "x":3.25, "y":3.5},
+ {"label":"K34 (B3, D5)", "x":4.25, "y":3.5},
+ {"label":"K35 (B3, D4)", "x":5.25, "y":3.5},
+ {"label":"K36 (B3, D6)", "x":6.25, "y":3.5},
+ {"label":"K37 (B3, D7)", "x":7.25, "y":3.5},
+ {"label":"K38 (B3, B4)", "x":8.25, "y":3.5},
+ {"label":"K39 (B3, B5)", "x":9.25, "y":3.5},
+ {"label":"K3A (B3, B6)", "x":10.25, "y":3.5},
+ {"label":"K3B (B3, C6)", "x":11.25, "y":3.5, "w":1.75},
+ {"label":"K3C (B3, C7)", "x":13, "y":3.5},
+ {"label":"K3D (B3, F7)", "x":14, "y":3.5},
+
+ {"label":"K40 (E6, D0)", "x":0, "y":4.5, "w":1.25},
+ {"label":"K41 (E6, D1)", "x":1.25, "y":4.5, "w":1.25},
+ {"label":"K42 (E6, D2)", "x":2.5, "y":4.5, "w":1.25},
+ {"label":"K46 (E6, D6)", "x":3.75, "y":4.5, "w":6.25},
+ {"label":"K49 (E6, B5)", "x":10, "y":4.5},
+ {"label":"K4A (E6, B6)", "x":11, "y":4.5},
+ {"label":"K4B (E6, C6)", "x":12, "y":4.5},
+ {"label":"K4C (E6, C7)", "x":13, "y":4.5},
+ {"label":"K4D (E6, F7)", "x":14, "y":4.5}
]
}
}
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/default/keymap.c
index eaf57e31ac..eb7e5cc221 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/default/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/via/keymap.c
index 4f4396ad50..a82f480bf0 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/via/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keymaps/via/keymap.c
@@ -28,21 +28,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = 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_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/readme.md b/keyboards/kprepublic/bm60hsrgb_ec/rev1/readme.md
index 2c0996974b..f22bf4f97c 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/readme.md
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/readme.md
@@ -2,9 +2,9 @@
A 60% hotswap inswitch RGB keyboard with an encoder from KP Republic.
-* Keyboard Maintainer: [bdtc123](https://github.com/bdtc123)
+* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
* Hardware Supported: BM60HSRGB_EC/rev1
-* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60-rgb-60-gh60-hot-swappable-pcb-programmed-qmk-firmware-type-c)
+* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60ec-bm60-ec-rgb-60-gh60-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-rgb-switch-type-c-rotary-knob)
## Bootloader
@@ -12,7 +12,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
index 5c2bf39ced..ac80357e9f 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x1124
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60V2_ec
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -43,7 +36,6 @@
*/
#define MATRIX_ROW_PINS { E6, D2, D3, D5, F6 }
#define MATRIX_COL_PINS { B2, B3, B7, B0, B1, F7, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
index 613511b784..b8e28b0ea2 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
@@ -1,80 +1,86 @@
{
- "keyboard_name": "bm60hsrgb_ec",
+ "keyboard_name": "BM60HSRGB_EC Rev2",
+ "manufacturer": "KP Republic",
"url": "",
- "maintainer": "qmk",
+ "maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1124",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6, "y":0},
- {"x":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14.75, "y":0},
- {"x":15.75, "y":0},
- {"x":16.75, "y":0},
+ {"x":0, "y":0.5},
+ {"x":1, "y":0.5},
+ {"x":2, "y":0.5},
+ {"x":3, "y":0.5},
+ {"x":4, "y":0.5},
+ {"x":5, "y":0.5},
+ {"x":6, "y":0.5},
+ {"x":7, "y":0.5},
+ {"x":8, "y":0.5},
+ {"x":9, "y":0.5},
+ {"x":10, "y":0.5},
+ {"x":11, "y":0.5},
+ {"x":12, "y":0.5},
+ {"x":13, "y":0.5},
+ {"x":14, "y":0.5},
+ {"x":13.9, "y":0, "w":0.6, "h":0.5},
+ {"x":14.5, "y":0, "w":0.6, "h":0.5},
- {"x":0, "y":1, "w":1.5},
- {"x":1.5, "y":1},
- {"x":2.5, "y":1},
- {"x":3.5, "y":1},
- {"x":4.5, "y":1},
- {"x":5.5, "y":1},
- {"x":6.5, "y":1},
- {"x":7.5, "y":1},
- {"x":8.5, "y":1},
- {"x":9.5, "y":1},
- {"x":10.5, "y":1},
- {"x":11.5, "y":1},
- {"x":12.5, "y":1},
- {"x":13.5, "y":1, "w":1.5},
+ {"x":0, "y":1.5, "w":1.5},
+ {"x":1.5, "y":1.5},
+ {"x":2.5, "y":1.5},
+ {"x":3.5, "y":1.5},
+ {"x":4.5, "y":1.5},
+ {"x":5.5, "y":1.5},
+ {"x":6.5, "y":1.5},
+ {"x":7.5, "y":1.5},
+ {"x":8.5, "y":1.5},
+ {"x":9.5, "y":1.5},
+ {"x":10.5, "y":1.5},
+ {"x":11.5, "y":1.5},
+ {"x":12.5, "y":1.5},
+ {"x":13.5, "y":1.5, "w":1.5},
- {"x":0, "y":2, "w":1.75},
- {"x":1.75, "y":2},
- {"x":2.75, "y":2},
- {"x":3.75, "y":2},
- {"x":4.75, "y":2},
- {"x":5.75, "y":2},
- {"x":6.75, "y":2},
- {"x":7.75, "y":2},
- {"x":8.75, "y":2},
- {"x":9.75, "y":2},
- {"x":10.75, "y":2},
- {"x":11.75, "y":2},
- {"x":12.75, "y":2, "w":2.25},
+ {"x":0, "y":2.5, "w":1.75},
+ {"x":1.75, "y":2.5},
+ {"x":2.75, "y":2.5},
+ {"x":3.75, "y":2.5},
+ {"x":4.75, "y":2.5},
+ {"x":5.75, "y":2.5},
+ {"x":6.75, "y":2.5},
+ {"x":7.75, "y":2.5},
+ {"x":8.75, "y":2.5},
+ {"x":9.75, "y":2.5},
+ {"x":10.75, "y":2.5},
+ {"x":11.75, "y":2.5},
+ {"x":12.75, "y":2.5, "w":2.25},
- {"x":0, "y":3, "w":2.25},
- {"x":2.25, "y":3},
- {"x":3.25, "y":3},
- {"x":4.25, "y":3},
- {"x":5.25, "y":3},
- {"x":6.25, "y":3},
- {"x":7.25, "y":3},
- {"x":8.25, "y":3},
- {"x":9.25, "y":3},
- {"x":10.25, "y":3},
- {"x":11.25, "y":3, "w":1.75},
- {"x":13, "y":3},
- {"x":14, "y":3},
+ {"x":0, "y":3.5, "w":2.25},
+ {"x":2.25, "y":3.5},
+ {"x":3.25, "y":3.5},
+ {"x":4.25, "y":3.5},
+ {"x":5.25, "y":3.5},
+ {"x":6.25, "y":3.5},
+ {"x":7.25, "y":3.5},
+ {"x":8.25, "y":3.5},
+ {"x":9.25, "y":3.5},
+ {"x":10.25, "y":3.5},
+ {"x":11.25, "y":3.5, "w":1.75},
+ {"x":13, "y":3.5},
+ {"x":14, "y":3.5},
- {"x":0, "y":4, "w":1.25},
- {"x":1.25, "y":4, "w":1.25},
- {"x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":6.25},
- {"x":10, "y":4},
- {"x":11, "y":4},
- {"x":12, "y":4},
- {"x":13, "y":4},
- {"x":14, "y":4}
+ {"x":0, "y":4.5, "w":1.25},
+ {"x":1.25, "y":4.5, "w":1.25},
+ {"x":2.5, "y":4.5, "w":1.25},
+ {"x":3.75, "y":4.5, "w":6.25},
+ {"x":10, "y":4.5},
+ {"x":11, "y":4.5},
+ {"x":12, "y":4.5},
+ {"x":13, "y":4.5},
+ {"x":14, "y":4.5}
]
}
}
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c
index 5e84d5bbe3..8e373e8c39 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/default/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, QK_BOOT, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/via/keymap.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/via/keymap.c
index c087c857fb..74191c2ff9 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/via/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keymaps/via/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, QK_BOOT, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, RMT, RMS, RMIH, RMDH, RMIS, RMDS, RMIV, RMDV, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/readme.md b/keyboards/kprepublic/bm60hsrgb_ec/rev2/readme.md
index 39e986c1c5..caf1dae82a 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/readme.md
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/readme.md
@@ -2,13 +2,17 @@
A 60% hotswap inswitch RGB keyboard with an encoder from KP Republic.
-* Keyboard Maintainer: [bdtc123](https://github.com/bdtc123)
+* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
* Hardware Supported: BM60HSRGB_EC/rev2
-* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60-rgb-60-gh60-hot-swappable-pcb-programmed-qmk-firmware-type-c)
+* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60ec-bm60-ec-rgb-60-gh60-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-rgb-switch-type-c-rotary-knob)
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
index 42b9d2afb1..4ef984b4be 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0xEF8C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM60HSRGB_ISO
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
index b53600e44d..9531c81748 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM60HSRGB_ISO",
+ "keyboard_name": "BM60HSRGB_ISO Rev1",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF8C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_iso_arrow": {
"layout": [
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
index 4653db4fd6..80dc26907c 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x1123
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KP REPUBLIC
-#define PRODUCT BM60V2_ISO
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@
*/
#define MATRIX_ROW_PINS { E6, D2, D3, D5, F6 }
#define MATRIX_COL_PINS { B2, B3, B7, B0, B1, F7, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
index 8fd3f1786f..feee1fd9a7 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bm60v2_ISO",
+ "keyboard_name": "BM60HSRGB_ISO Rev2",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "kp republic",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1123",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_iso_arrow": {
"layout": [
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
index a3aab0e65e..88c44d4440 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0xEF8D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60HSRGB_POKER
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
index 09abf6e353..c168002147 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM60HSRGB_POKER",
+ "keyboard_name": "BM60HSRGB Poker Rev1",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF8D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c
index 5050b25a90..fb7e9c33c3 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
[1] = LAYOUT_60_ansi(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,
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_UP, KC_INS, KC_HOME, KC_END,
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_UP, KC_INS, KC_HOME, KC_END,
KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
index e59660242e..4a438b822b 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
@@ -58,14 +58,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_fn] = LAYOUT_60_ansi(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT,
qwerty, colemak, gamer, _______, _______, _______, _______, _______
),
[_rgb] = LAYOUT_60_ansi(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
index d40004f502..96d8a450c9 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x1122
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KP Republic
-#define PRODUCT BM60V2_poker
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6, D2, D3, D5, F6 }
#define MATRIX_COL_PINS { B2, B3, B7, B0, B1, F7, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
index 914334e113..8ec74866f2 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bm60v2_poker",
+ "keyboard_name": "BM60HSRGB Poker Rev2",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "bdtc123",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1122",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c
index 1e1aae0413..1b3ce7a456 100644
--- a/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/bm65hsrgb/keymaps/default/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/config.h b/keyboards/kprepublic/bm65hsrgb/rev1/config.h
index b428a78864..c5e8022d35 100644
--- a/keyboards/kprepublic/bm65hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm65hsrgb/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 //KP
-#define PRODUCT_ID 0xEF6E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM65HSRGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
B3, \
E6 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/info.json b/keyboards/kprepublic/bm65hsrgb/rev1/info.json
index 788f8be23e..0d99dd2dc2 100644
--- a/keyboards/kprepublic/bm65hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm65hsrgb/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BM65HSRGB",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "bytesapart",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF6E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h
new file mode 100644
index 0000000000..0e06652715
--- /dev/null
+++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/config.h
@@ -0,0 +1,36 @@
+/* Copyright 2021 deadolus 2022 p4yne
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// place overrides here
+
+#pragma once
+#define LSPO_KEYS KC_LSFT, KC_LSFT, KC_8
+#define RSPC_KEYS KC_RSFT, KC_LSFT, KC_9
+#define LAPO_KEYS KC_LALT, KC_RALT, KC_QUOT
+#define RAPC_KEYS KC_RALT, KC_RALT, KC_NUHS
+
+#define LEADER_TIMEOUT 1000
+#define LEADER_PER_KEY_TIMING 250
+
+// control underglow
+// i.e. switch it off
+//#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
+//#define RGBLIGHT_DEFAULT_HUE 0
+//#define RGBLIGHT_DEFAULT_SAT UINT8_MAX
+//#define RGBLIGHT_DEFAULT_SAT 0
+//#define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL
+//#define RGBLIGHT_DEFAULT_VAL 0
+//#define RGBLIGHT_DEFAULT_SPD 0
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h
new file mode 100644
index 0000000000..8f11e4072b
--- /dev/null
+++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/custom_keymap.h
@@ -0,0 +1,71 @@
+/* Copyright 2019 ash0x0 2021 peepeetee, deadolus 2022 p4yne
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "print.h"
+#include <string.h>
+// HID has not yet been implemented for this keyboard
+// #include "raw_hid.h"
+
+#define MILLISECONDS_IN_SECOND 1000
+
+// Custom HSV values
+#define C_HSV_WINERED 0, 255, 85
+#define C_HSV_DARKGOLD 36, 255, 85
+#define C_HSV_DARKBLUE 170, 255, 85
+
+// Default color HSV Values (for inspiration)
+// #define HSV_AZURE 132, 102, 255
+// #define HSV_BLACK 0, 0, 0
+// #define HSV_BLUE 170, 255, 255
+// #define HSV_CHARTREUSE 64, 255, 255
+// #define HSV_CORAL 11, 176, 255
+// #define HSV_CYAN 128, 255, 255
+// #define HSV_GOLD 36, 255, 255
+// #define HSV_GOLDENROD 30, 218, 218
+// #define HSV_GREEN 85, 255, 255
+// #define HSV_MAGENTA 213, 255, 255
+// #define HSV_ORANGE 28, 255, 255
+// #define HSV_PINK 234, 128, 255
+// #define HSV_PURPLE 191, 255, 255
+// #define HSV_RED 0, 255, 255
+// #define HSV_SPRINGGREEN 106, 255, 255
+// #define HSV_TEAL 128, 255, 128
+// #define HSV_TURQUOISE 123, 90, 112
+// #define HSV_WHITE 0, 0, 255
+// #define HSV_YELLOW 43, 255, 255
+// #define HSV_OFF HSV_BLACK
+
+
+//========================================================== CONFIGURABLE DEFAULTS ==========================================================
+#define RGB_DEFAULT_TIME_OUT 30
+#define RGB_FAST_MODE_TIME_OUT 3
+#define RGB_TIME_OUT_MAX 600
+#define RGB_TIME_OUT_MIN 10
+#define RGB_TIME_OUT_STEP 10
+
+bool disable_layer_color;
+
+uint8_t dfa_state; //state for my language switching DFA
+
+
+bool rgb_enabled_flag; // Current LED state flag. If false then LED is off.
+bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout.
+bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode
+bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable.
+uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds
+uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period
+led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again.
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
new file mode 100644
index 0000000000..442111bb6e
--- /dev/null
+++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
@@ -0,0 +1,471 @@
+/* Copyright 2019 ashlar 2021 peepeetee, deadolus 2022 p4yne
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "custom_keymap.h"
+#include "sendstring_german.h"
+
+#ifdef TAP_DANCE_ENABLE
+enum {
+ TD_HOME_END,
+};
+
+// Tap Dance definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ // tap once for home, twice for end
+ [TD_HOME_END] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
+};
+#endif
+
+// Custom layer types
+enum layertypes {
+ LYR_SOLID, // fullsize coloring
+ LYR_TRANS, // used keys in layer color, lower layer shines through on unused keys
+ LYR_BLACK // only used key in layer color
+};
+
+// Defines names for use in layer keycodes and the keymap
+enum layers {
+ _LVL0_,
+ _LVL1_,
+ _LVL2_,
+ _LVL3_,
+ _LVL4_,
+ _LVL5_,
+ _LVL6_,
+ _LVL7_
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┠Ent├───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PgD│
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│GUI │Alt │ │ Alt│Ctrl│ │ ↠│ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+#ifdef TAP_DANCE_ENABLE
+/* 0: ISO qwertz, SPACECADET and TAPDANCE */
+/* [_LVL0_] = LAYOUT_65_iso_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, TD(TD_HOME_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_NUHS, KC_ENT, KC_PGUP,
+ KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ */
+/* 0: ISO DE qwertz, SPACECADET and TAPDANCE */
+ [_LVL0_] = LAYOUT_65_iso_blocker(
+ KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_ACUT, KC_BSPC, KC_DEL,
+ KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, TD(TD_HOME_END),
+ KC_CAPS, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGUP,
+ KC_LSPO, DE_LABK, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RSPC, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+#else
+ /* 0: ISO qwertz, SPACECADET but no TAPDANCE */
+ [_LVL0_] = LAYOUT_65_iso_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGUP,
+ KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_LVL1_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+#endif
+ /* 1: Function key, multimedia control, layer switching board and LEADER */
+ [_LVL1_] = LAYOUT_65_iso_blocker(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, LGUI(KC_END),
+ S(KC_GRV), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PAUSE),
+ QK_BOOT, TO(_LVL2_), TO(_LVL3_), TO(_LVL4_), TO(_LVL5_), TO(_LVL6_), TO(_LVL7_), _______, _______, _______, KC_BRIU, _______, KC_MUTE, TO(_LVL0_), KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, S(KC_MUTE), KC_MPLY, KC_VOLD,
+ _______, _______, _______, KC_LEAD, _______, _______, KC_MPRV, KC_MSTP, KC_MNXT
+ ),
+ /* 2: Mouse layer and virtual/multiple desktop navigation */
+ [_LVL2_] = LAYOUT_65_iso_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_PGDN, KC_PGUP, KC_PSCR, KC_WH_U, _______, _______, _______,
+ _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_WH_D, _______, _______, TO(_LVL0_), _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, LCA(KC_UP), LCA(KC_E),
+ _______, _______, _______, _______, _______, _______, LCA(KC_LEFT), LCA(KC_DOWN), LCA(KC_RGHT)
+ ),
+#ifdef DYNAMIC_MACRO_ENABLE
+ /* 3: Dynamic macro, NUMPAD and settings */
+ [_LVL3_] = LAYOUT_65_iso_blocker(
+ _______, DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
+ _______, DM_REC1, DM_REC2, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
+ _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(_LVL0_), _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
+ _______, _______, _______, RGB_TOG, KC_0, KC_PCMM, _______, _______, _______
+ ),
+#else
+ /* 3: NUMPAD and settings */
+ [_LVL3_] = LAYOUT_65_iso_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
+ _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
+ _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(_LVL0_), _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
+ _______, _______, _______, RGB_TOG, KC_0, KC_PCMM, _______, _______, _______
+ ),
+#endif
+ /* Gaming layer no TAPDANCE no SPACECADET simple QWERTZ layout for custom coloring */
+ [_LVL4_] = LAYOUT_65_iso_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ /* 5: ISO qwerty DE 2 US Base Layer */
+ [_LVL5_] = LAYOUT_65_iso_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS, DE_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Y, KC_U, KC_I, KC_O, KC_P, DE_LBRC, DE_RBRC, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN, DE_QUOT, DE_BSLS, KC_ENT, KC_PGUP,
+ MO(_LVL6_), DE_GRV, DE_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_COMM, DE_DOT, DE_SLSH, MO(_LVL6_), KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ /* 6: ISO qwerty DE 2 US Shifted Layer */
+ [_LVL6_] = LAYOUT_65_iso_blocker(
+ _______, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_UNDS, DE_PLUS, _______, _______,
+ _______, S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), S(DE_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P), DE_LCBR, DE_RCBR, KC_END,
+ KC_CAPS, S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), S(KC_H), S(KC_J), S(KC_K), S(KC_L), DE_COLN, DE_DQUO, DE_PIPE, _______, _______,
+ KC_LSFT, DE_TILD, S(DE_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), S(KC_N), S(KC_M), DE_LABK, DE_RABK, DE_QUES, KC_RSFT, _______, _______,
+ _______, _______, _______, _______, _______, TO(_LVL0_), _______, _______, _______
+ ),
+/* Led Type Lighting Layer functionally equivalent to _LVL0_ / layer 0 */
+#ifdef TAP_DANCE_ENABLE
+ /* 7: ISO DE qwertz, SPACECADET and TAPDANCE */
+ [_LVL7_] = LAYOUT_65_iso_blocker(
+ KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_ACUT, KC_BSPC, KC_DEL,
+ KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, TD(TD_HOME_END),
+ KC_CAPS, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGUP,
+ KC_LSPO, DE_LABK, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RSPC, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+#else
+ /* 7: ISO qwertz, SPACECADET but no TAPDANCE */
+ [_LVL7_] = LAYOUT_65_iso_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, TO(_LVL0_), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+#endif
+
+
+ /*template
+ [_UL] = LAYOUT_65_iso_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ */
+};
+
+
+// layer color and type
+const uint8_t PROGMEM ledmap[][4] = {
+ // LEDs off on Layer 0
+ //[_LVL0_] = {{0, 0, 0}, LYR_SOLID},
+ [_LVL0_] = {C_HSV_WINERED, LYR_SOLID},
+ [_LVL1_] = {HSV_RED, LYR_TRANS},
+ [_LVL2_] = {HSV_MAGENTA, LYR_BLACK},
+ [_LVL3_] = {HSV_PURPLE, LYR_BLACK},
+ [_LVL4_] = {C_HSV_DARKGOLD, LYR_SOLID},
+ [_LVL5_] = {C_HSV_DARKBLUE, LYR_SOLID},
+ [_LVL6_] = {HSV_BLUE, LYR_TRANS},
+ [_LVL7_] = {C_HSV_WINERED, LYR_SOLID}
+};
+
+
+void keyboard_post_init_user(void) {
+ // Call the post init code.
+#ifdef CONSOLE_ENABLE
+ debug_enable=true;
+ debug_matrix=true;
+#endif
+ //rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ //rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ //rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR);
+ //rgb_matrix_sethsv(HSV_OFF);
+ //rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
+ //rgb_matrix_sethsv_noeeprom(HSV_OFF);
+ //rgb_matrix_set_color_all(RGB_BLACK);
+ rgb_matrix_enable();
+}
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+#ifdef CONSOLE_ENABLE
+ // useful for getting matrix right
+ uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %u, time: %u, interrupt: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+#endif
+
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(RGB_BLACK);
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(RGB_BLACK);
+ }
+ break;
+ case LED_FLAG_UNDERGLOW: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_disable_noeeprom();
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ default:
+ return true; // Process all other keycodes normally
+ }
+}
+
+
+void set_led_color_by_hsv(int ledkey, uint8_t h_in, uint8_t s_in, uint8_t v_in){
+ HSV hsv = { .h = h_in, .s = s_in, .v = v_in};
+ RGB rgb = hsv_to_rgb(hsv);
+ float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
+ rgb_matrix_set_color(ledkey, f * rgb.r, f * rgb.g, f * rgb.b);
+}
+
+void set_led_color_by_layer(int layer, int ledkey){
+ set_led_color_by_hsv(ledkey, pgm_read_byte(&ledmap[layer][0]),
+ pgm_read_byte(&ledmap[layer][1]),
+ pgm_read_byte(&ledmap[layer][2]));
+}
+
+void set_ledkey_by_layer_type(int layer, int ledkey, uint16_t key){
+ if (rgb_matrix_get_flags() != LED_FLAG_ALL){
+ if ( key == KC_TRNS ) {
+ if ((pgm_read_byte(&ledmap[layer][3]) == LYR_TRANS) && (layer > 0)){
+ // this key is transparent and the layer below does something
+ // - light it up in (lower) layer-1 specific color
+ set_led_color_by_layer(layer-1, ledkey);
+ }
+ if (pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){
+ // this key is transparent but the lower layer is not intended
+ // to be used, it still works but not intended; type BLACK
+ set_led_color_by_hsv(ledkey, HSV_BLACK);
+ }
+ } else {
+ // this key does something - light it up in layer specific color
+ // regular key and SOLID or BLACK as layer type
+ set_led_color_by_layer(layer, ledkey);
+ }
+ }
+}
+
+void set_caps_lock(int layer) {
+ int caps_lock_led = 30;
+ led_t host_leds = host_keyboard_led_state();
+ if (host_leds.caps_lock) {
+ set_led_color_by_hsv(caps_lock_led, HSV_WHITE);
+ } else {
+ // if capslock is not pressed don't clear it,
+ // it might be used for displaying led pattern
+ if((rgb_matrix_get_flags() != LED_FLAG_ALL)) {
+ // or to keep the correct lighting on for the layer that use all keys
+ // on all other layers turn the led off, so only switch it of when
+ // layer is BLACK
+ if(pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){
+ set_led_color_by_hsv(caps_lock_led, HSV_BLACK);
+ }
+ }
+ }
+}
+
+void set_layer_color(int layer) {
+ // key specific lighting
+ int ledkey=0;
+ for (int keyindex=0; keyindex<MATRIX_COLS*MATRIX_ROWS;keyindex++) {
+ uint8_t row = keyindex/MATRIX_COLS;
+ uint8_t col = (keyindex-(keyindex/MATRIX_COLS)*MATRIX_COLS);
+ uint16_t key=pgm_read_word(&keymaps[layer][row][col]);
+
+ // continue if this is not a valid key
+ if (key==KC_NO) { continue; }
+
+ // handle layer specific coloring
+ set_ledkey_by_layer_type(layer, ledkey, key);
+ /* === below this function add custom overriding ledkey lighting === */
+
+ // gaming layer with highlighted keys
+ //if (IS_LAYER_ON(_LVL4_)) {
+ if (layer == _LVL4_) {
+ if((key==KC_W) || (key==KC_A) || (key==KC_S) || (key==KC_D)) {
+ set_led_color_by_hsv(ledkey, HSV_GOLD);
+ }
+ if((key==KC_R) || (key==KC_SPC) || (key==KC_LSFT) || (key==KC_LCTL)) {
+ set_led_color_by_hsv(ledkey, HSV_GOLDENROD);
+ }
+ }
+
+ // color testing layer
+ /*if (layer == _LVL7_) {
+ switch (ledkey) {
+ case 16: {
+ set_led_color_by_hsv(ledkey, HSV_AZURE);
+ }
+ break;
+ case 17: {
+ set_led_color_by_hsv(ledkey, HSV_BLUE);
+ }
+ break;
+ case 18: {
+ set_led_color_by_hsv(ledkey, HSV_CHARTREUSE);
+ }
+ break;
+ case 19: {
+ set_led_color_by_hsv(ledkey, HSV_CORAL);
+ }
+ break;
+ case 20: {
+ set_led_color_by_hsv(ledkey, HSV_CYAN);
+ }
+ break;
+ case 21: {
+ set_led_color_by_hsv(ledkey, HSV_GOLD);
+ }
+ break;
+ case 22: {
+ set_led_color_by_hsv(ledkey, HSV_GOLDENROD);
+ }
+ break;
+ case 23: {
+ set_led_color_by_hsv(ledkey, HSV_MAGENTA);
+ }
+ break;
+ case 24: {
+ set_led_color_by_hsv(ledkey, HSV_ORANGE);
+ }
+ break;
+ case 25: {
+ set_led_color_by_hsv(ledkey, HSV_PINK);
+ }
+ break;
+ case 26: {
+ set_led_color_by_hsv(ledkey, HSV_RED);
+ }
+ break;
+ case 27: {
+ set_led_color_by_hsv(ledkey, HSV_SPRINGGREEN);
+ }
+ break;
+ case 32: {
+ set_led_color_by_hsv(ledkey, HSV_MAGENTA);
+ }
+ break;
+ case 33: {
+ set_led_color_by_hsv(ledkey, HSV_TEAL);
+ }
+ break;
+ case 34: {
+ set_led_color_by_hsv(ledkey, HSV_TURQUOISE);
+ }
+ break;
+ case 35: {
+ set_led_color_by_hsv(ledkey, HSV_WHITE);
+ }
+ break;
+ case 36: {
+ set_led_color_by_hsv(ledkey, HSV_YELLOW);
+ }
+ break;
+ case 37: {
+ set_led_color_by_hsv(ledkey, HSV_PURPLE);
+ }
+ break;
+ case 38: {
+ set_led_color_by_hsv(ledkey, HSV_GREEN);
+ }
+ break;
+ default: {
+ }
+ break;
+ }
+ }*/
+ ledkey++;
+ }
+ // non key specific lighting instead led flag based
+ if (layer == _LVL7_){
+ for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
+ if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
+ set_led_color_by_hsv(i, C_HSV_DARKGOLD);
+ }
+ if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
+ set_led_color_by_hsv(i, HSV_BLACK);
+ }
+ if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
+ set_led_color_by_layer(layer, i);
+ }
+ }
+ }
+
+ return;
+}
+
+void rgb_matrix_indicators_user(void) {
+ int layer = get_highest_layer(layer_state);
+ set_layer_color(layer);
+ set_caps_lock(layer);
+}
+
+#ifdef LEADER_ENABLE
+LEADER_EXTERNS();
+
+void matrix_scan_user(void) {
+ LEADER_DICTIONARY() {
+ leading = false;
+ leader_end();
+
+ SEQ_ONE_KEY(KC_F) {
+ // Anything you can do in a macro.
+ SEND_STRING("QMK is awesome.");
+ }
+ SEQ_TWO_KEYS(KC_D, KC_D) {
+ SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
+ }
+ SEQ_TWO_KEYS(KC_S, KC_S) {
+ SEND_STRING(SS_LCTL("v"));
+ }
+ SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
+ SEND_STRING("https://start.duckduckgo.com\n");
+ }
+ }
+}
+#endif
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md
new file mode 100644
index 0000000000..924e63cef7
--- /dev/null
+++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/readme.md
@@ -0,0 +1,22 @@
+# p4yne's keymap for the bm65iso
+
+* Eight layers (DE, LYR_SW_MEDIA, MOUSE_DSKTP_NAV, DYN_MACRO_NUMPAD_LEADER, GAMING, US, US_SHIFTED, DE_FLAG_LIGHTNING)
+* Different color for each layer (DRK_RED, RED, MAGENTA, PURPLE, DRK_GOLD, DRK_BLUE, BLUE, DRK_RED)
+* Keys with something else defined than KC_TRNS are lit up in the layer color, so you easily can see which keys have some function defined
+* Custom layer types for KC_TRNS keys to let lower layer shine through, or stay black/off
+* Custom lighting based on layer, key and led flag
+* Caps-Lock lights up when active
+* Some leader shortcuts defined - nothing useful yet
+* Some space cadet keys defined for easier insertion of () and {}
+* Bootmagic lite enabled via default settings so you can plug in the keyboard while holding esc to land in bootloader mode
+* Manages all this and still fits in to the program memory
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kprepublic/bm65hsrgb_iso:p4yne
+
+Flashing example for this keyboard:
+
+ make kprepublic/bm65hsrgb_iso:p4yne:flash
+
+Keyboard Maintainer: **[p4yne](https://github.com/p4yne)**
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk
new file mode 100644
index 0000000000..a94bdba88b
--- /dev/null
+++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/rules.mk
@@ -0,0 +1,23 @@
+#Features
+TAP_DANCE_ENABLE = yes
+SPACE_CADET_ENABLE = yes
+
+
+MAGIC_ENABLE = yes
+EXTRAKEY_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+LEADER_ENABLE = yes
+DYNAMIC_MACRO_ENABLE = yes
+
+#Disabled Features
+#COMBO_ENABLE = no
+# Combo Key Grave and Escape
+#GRAVE_ESC_ENABLE = no
+# no unicode support
+#UNICODE_ENABLE = no
+
+#Debugging
+#COMMAND_ENABLE = no
+#CONSOLE_ENABLE = yes
+
+
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
index aafb43bb51..0b5a3bf8e4 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x0653
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KP Republic
-#define PRODUCT BM65HSRGB_ISO
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
index 9212c43339..02d55f9b0d 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM65HSRGB_ISO",
+ "keyboard_name": "BM65HSRGB ISO",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0653",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_iso_blocker": {
"layout": [
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
index 46de987a68..680f79a668 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PAUSE),
_______, TO(_GREEN_), TO(_BLUE_), TO(_CYAN_), TO(_MAGENTA_), TO(_YELLOW_), _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
- RESET, _______, _______, KC_LEAD, _______, _______, KC_MPLY, KC_VOLD, KC_MUTE
+ QK_BOOT, _______, _______, KC_LEAD, _______, _______, KC_MPLY, KC_VOLD, KC_MUTE
),
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h
index 636ff1c785..9b9d534c42 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 //KP
-#define PRODUCT_ID 0xEF6F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM68HSRGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
B3, \
E6 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
index 0a72da6e98..c89d5262ba 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM68HSRGB",
+ "keyboard_name": "BM68HSRGB Rev1",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF6F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c
index 878967718f..feea65f84c 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
index 0748f83cdc..3ddb813486 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
@@ -35,7 +35,6 @@
// #define MOUSEKEY_MAX_SPEED 10
// #define MOUSEKEY_WHEEL_DELAY 0
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
index 934463b11f..bf842b138b 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRAVE, 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_DELETE,
RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, KC_KP_7, KC_KP_8, KC_KP_9, _______, _______, _______, _______, _______, KC_PGUP,
RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, KC_KP_4, KC_KP_5, KC_KP_6, _______, _______, _______, _______, KC_PGDOWN,
- BL_TOGG, _______, _______, _______, _______, RESET, KC_KP_1, KC_KP_2, KC_KP_3, _______, _______, _______, KC_AUDIO_VOL_UP, KC_END,
+ BL_TOGG, _______, _______, _______, _______, QK_BOOT, KC_KP_1, KC_KP_2, KC_KP_3, _______, _______, _______, KC_AUDIO_VOL_UP, KC_END,
_______, _______, _______, _______, _______, _______, _______, KC_BRIGHTNESS_DOWN, KC_AUDIO_VOL_DOWN, KC_BRIGHTNESS_UP
),
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c
index 453853fc63..09df21f267 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/via/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_65_ansi(
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h
index 900aa699cb..86fbb7ae3b 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x1131
-#define DEVICE_VER 0x0002
-#define MANUFACTURER KP republic
-#define PRODUCT bm68v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { D6, D4, D5, D3, F6 }
#define MATRIX_COL_PINS { F0, F1, B0, B1, B2, B3, E6, B7, D2, D7, B4, B5, B6, C6, C7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
index 23a4d4d38f..4239947cdb 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bm68hsrgb/rev2",
+ "keyboard_name": "BM68HSRGB Rev2",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "bdtc123",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1131",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h
index 7adc89720d..049aca9b8a 100644
--- a/keyboards/kprepublic/bm80hsrgb/config.h
+++ b/keyboards/kprepublic/bm80hsrgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 //KP
-#define PRODUCT_ID 0xEF83
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPRepublic
-#define PRODUCT BM80HSRGB
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B1, B0, C6, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, D7, D6, D4, D5, D3, D2, F5, F6, F7, D1, D0, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm80hsrgb/info.json b/keyboards/kprepublic/bm80hsrgb/info.json
index f46024a93f..d05e4c5c34 100644
--- a/keyboards/kprepublic/bm80hsrgb/info.json
+++ b/keyboards/kprepublic/bm80hsrgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "BM80HSRGB",
+ "manufacturer": "KPRepublic",
"url": "",
"maintainer": "peepeetee",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF83",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c
index 0f0467060b..e84b2b5d53 100644
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c
+++ b/keyboards/kprepublic/bm80hsrgb/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
index b322afae9b..97cae26cbd 100644
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
+++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
@@ -22,7 +22,6 @@
// #define TERMINAL_HELP
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c
index d4a188089b..38024a0911 100644
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c
+++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_AUDIO_VOL_UP,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_AUDIO_VOL_UP,
_______, _______, _______, _______, _______, _______, _______, _______, KC_BRIGHTNESS_DOWN, KC_AUDIO_VOL_DOWN, KC_BRIGHTNESS_UP
)
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c b/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c
index 824f671ece..40354e785b 100644
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c
+++ b/keyboards/kprepublic/bm80hsrgb/keymaps/via/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/kprepublic/bm80v2/bm80v2.c b/keyboards/kprepublic/bm80v2/bm80v2.c
new file mode 100644
index 0000000000..4b8e5af13f
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/bm80v2.c
@@ -0,0 +1,149 @@
+/* Copyright 2022 bdtc123 *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "bm80v2.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ {0, CS6_SW1, CS5_SW1, CS4_SW1},
+ {0, CS6_SW3, CS5_SW3, CS4_SW3},
+ {0, CS6_SW4, CS5_SW4, CS4_SW4},
+ {0, CS6_SW5, CS5_SW5, CS4_SW5},
+ {0, CS6_SW6, CS5_SW6, CS4_SW6},
+ {0, CS6_SW7, CS5_SW7, CS4_SW7},
+ {0, CS6_SW8, CS5_SW8, CS4_SW8},
+ {0, CS6_SW9, CS5_SW9, CS4_SW9},
+ {0, CS21_SW1, CS20_SW1, CS19_SW1},
+ {0, CS21_SW2, CS20_SW2, CS19_SW2},
+ {0, CS21_SW3, CS20_SW3, CS19_SW3},
+ {0, CS21_SW4, CS20_SW4, CS19_SW4},
+ {0, CS21_SW5, CS20_SW5, CS19_SW5},
+ {0, CS21_SW6, CS20_SW6, CS19_SW6},
+ {0, CS21_SW7, CS20_SW7, CS19_SW7},
+ {0, CS21_SW8, CS20_SW8, CS19_SW8},
+
+
+ {0, CS9_SW1, CS8_SW1, CS7_SW1},
+ {0, CS9_SW2, CS8_SW2, CS7_SW2},
+ {0, CS9_SW3, CS8_SW3, CS7_SW3},
+ {0, CS9_SW4, CS8_SW4, CS7_SW4},
+ {0, CS9_SW5, CS8_SW5, CS7_SW5},
+ {0, CS9_SW6, CS8_SW6, CS7_SW6},
+ {0, CS9_SW7, CS8_SW7, CS7_SW7},
+ {0, CS9_SW8, CS8_SW8, CS7_SW8},
+ {0, CS9_SW9, CS8_SW9, CS7_SW9},
+ {0,CS24_SW1, CS23_SW1, CS22_SW1},
+ {0,CS24_SW2, CS23_SW2, CS22_SW2},
+ {0,CS24_SW3, CS23_SW3, CS22_SW3},
+ {0,CS24_SW4, CS23_SW4, CS22_SW4},
+ {0,CS24_SW5, CS23_SW5, CS22_SW5},
+ {0,CS24_SW6, CS23_SW6, CS22_SW6},
+ {0,CS24_SW7, CS23_SW7, CS22_SW7},
+ {0,CS24_SW8, CS23_SW8, CS22_SW8},
+
+ {0, CS12_SW1, CS11_SW1, CS10_SW1},
+ {0, CS12_SW2, CS11_SW2, CS10_SW2},
+ {0, CS12_SW3, CS11_SW3, CS10_SW3},
+ {0, CS12_SW4, CS11_SW4, CS10_SW4},
+ {0, CS12_SW5, CS11_SW5, CS10_SW5},
+ {0, CS12_SW6, CS11_SW6, CS10_SW6},
+ {0, CS12_SW7, CS11_SW7, CS10_SW7},
+ {0, CS12_SW8, CS11_SW8, CS10_SW8},
+ {0, CS12_SW9, CS11_SW9, CS10_SW9},
+ {0, CS27_SW1, CS26_SW1, CS25_SW1},
+ {0, CS27_SW2, CS26_SW2, CS25_SW2},
+ {0, CS27_SW3, CS26_SW3, CS25_SW3},
+ {0, CS27_SW4, CS26_SW4, CS25_SW4},
+ {0, CS27_SW5, CS26_SW5, CS25_SW5},
+ {0, CS27_SW6, CS26_SW6, CS25_SW6},
+ {0, CS27_SW7, CS26_SW7, CS25_SW7},
+ {0, CS27_SW8, CS26_SW8, CS25_SW8},
+
+ {0, CS15_SW1, CS14_SW1, CS13_SW1},
+ {0, CS15_SW2, CS14_SW2, CS13_SW2},
+ {0, CS15_SW3, CS14_SW3, CS13_SW3},
+ {0, CS15_SW4, CS14_SW4, CS13_SW4},
+ {0, CS15_SW5, CS14_SW5, CS13_SW5},
+ {0, CS15_SW6, CS14_SW6, CS13_SW6},
+ {0, CS15_SW7, CS14_SW7, CS13_SW7},
+ {0, CS15_SW8, CS14_SW8, CS13_SW8},
+ {0, CS15_SW9, CS14_SW9, CS13_SW9},
+ {0, CS30_SW1, CS29_SW1, CS28_SW1},
+ {0, CS30_SW2, CS29_SW2, CS28_SW2},
+ {0, CS30_SW3, CS29_SW3, CS28_SW3},
+ {0, CS30_SW4, CS29_SW4, CS28_SW4},
+
+ {0, CS18_SW1, CS17_SW1, CS16_SW1},
+ {0, CS18_SW3, CS17_SW3, CS16_SW3},
+ {0, CS18_SW4, CS17_SW4, CS16_SW4},
+ {0, CS18_SW5, CS17_SW5, CS16_SW5},
+ {0, CS18_SW6, CS17_SW6, CS16_SW6},
+ {0, CS18_SW7, CS17_SW7, CS16_SW7},
+ {0, CS18_SW8, CS17_SW8, CS16_SW8},
+ {0, CS18_SW9, CS17_SW9, CS16_SW9},
+ {0, CS33_SW1, CS32_SW1, CS31_SW1},
+ {0, CS33_SW2, CS32_SW2, CS31_SW2},
+ {0, CS33_SW3, CS32_SW3, CS31_SW3},
+ {0, CS33_SW4, CS32_SW4, CS31_SW4},
+ {0, CS33_SW7, CS32_SW7, CS31_SW7},
+
+ {0, CS3_SW1, CS2_SW1, CS1_SW1},
+ {0, CS3_SW2, CS2_SW2, CS1_SW2},
+ {0, CS3_SW3, CS2_SW3, CS1_SW3},
+ {0, CS3_SW6, CS2_SW6, CS1_SW6},
+ {0, CS36_SW2, CS35_SW2, CS34_SW2},
+ {0, CS36_SW3, CS35_SW3, CS34_SW3},
+ {0, CS36_SW4, CS35_SW4, CS34_SW4},
+ {0, CS36_SW5, CS35_SW5, CS34_SW5},
+ {0, CS36_SW6, CS35_SW6, CS34_SW6},
+ {0, CS36_SW7, CS35_SW7, CS34_SW7},
+ {0, CS36_SW8, CS35_SW8, CS34_SW8}
+
+};
+led_config_t g_led_config = { {
+ { 0, NO_LED, 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, NO_LED, NO_LED, NO_LED, NO_LED },
+ { 63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75, NO_LED },
+ { 76, 77, 78, NO_LED,NO_LED, 79, NO_LED, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, 85, 86 }
+},
+{
+ { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
+ { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 },
+ { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 }, { 217, 30 },
+ { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
+ { 17, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
+ { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 }
+},
+{ 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1
+} };
+
+
+__attribute__ ((weak))
+void rgb_matrix_indicators_user(void)
+{
+ if (host_keyboard_led_state().caps_lock)
+ {
+ rgb_matrix_set_color(50, 0xFF, 0xFF, 0xFF);
+ }
+}
+#endif
+
diff --git a/keyboards/kprepublic/bm80v2/bm80v2.h b/keyboards/kprepublic/bm80v2/bm80v2.h
new file mode 100644
index 0000000000..ee1418f9cf
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/bm80v2.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 bdtc123 *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_ansi( \
+ K0_0, K0_2, K0_3, K0_4, K0_5, K0_6,K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K0_D, K0_E, K0_F, K0_10, \
+ K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10, \
+ K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10, \
+ K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_C, \
+ K4_0, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, K4_B, K4_C, K4_F, \
+ K5_0, K5_1, K5_2, K5_5, K5_A, K5_B, K5_C, K5_D, K5_E, K5_F, K5_10 \
+) { \
+ { K0_0, KC_NO, K0_2, K0_3, K0_4, K0_5, K0_6, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K0_D, K0_E, K0_F, K0_10 }, \
+ { K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10 }, \
+ { K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10 }, \
+ { K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K4_0, KC_NO, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, K4_B, K4_C, KC_NO, KC_NO, K4_F, KC_NO }, \
+ { K5_0, K5_1, K5_2, KC_NO, KC_NO, K5_5, KC_NO, KC_NO, KC_NO, KC_NO, K5_A, K5_B, K5_C, K5_D, K5_E, K5_F, K5_10 } \
+}
+
diff --git a/keyboards/kprepublic/bm80v2/config.h b/keyboards/kprepublic/bm80v2/config.h
new file mode 100644
index 0000000000..f04ec1d960
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/config.h
@@ -0,0 +1,75 @@
+/* Copyright 2022 bdtc123 *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+#define MATRIX_ROW_PINS { C7, C6, B6, F5, F7, F6 }
+#define MATRIX_COL_PINS { E6, F0, F1, F4, D7, D6, B7, B1, B0, B2, B3, D3, D5, D4, D2, B4, B5 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+#define RGB_MATRIX_KEYPRESSES
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define DRIVER_ADDR_1 0b0110000
+#define DRIVER_COUNT 1
+#define DRIVER_1_LED_TOTAL 87
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm80v2/info.json b/keyboards/kprepublic/bm80v2/info.json
new file mode 100644
index 0000000000..38999bf96c
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/info.json
@@ -0,0 +1,109 @@
+{
+ "keyboard_name": "BM80v2",
+ "manufacturer": "KPrepublic",
+ "url": "",
+ "maintainer": "edwardslau",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1141",
+ "device_version": "0.0.2"
+ },
+ "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":"Print Screen", "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":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":7, "y":1.5},
+ {"label":"8*", "x":8, "y":1.5},
+ {"label":"9(", "x":9, "y":1.5},
+ {"label":"0)", "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":"Page Up", "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":"Page Down", "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":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.5, "w":1.25},
+ {"label":"GUI", "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kprepublic/bm80v2/keymaps/default/keymap.c b/keyboards/kprepublic/bm80v2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..11cf4e1137
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2021 Yizhen Liu (@edwardslau)
+// SPDX-License-Identifier: GPL-2.0
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/kprepublic/bm80v2/keymaps/via/keymap.c b/keyboards/kprepublic/bm80v2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..11cf4e1137
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2021 Yizhen Liu (@edwardslau)
+// SPDX-License-Identifier: GPL-2.0
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_tkl_ansi(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/kprepublic/bm80v2/keymaps/via/rules.mk b/keyboards/kprepublic/bm80v2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kprepublic/bm80v2/readme.md b/keyboards/kprepublic/bm80v2/readme.md
new file mode 100644
index 0000000000..72ff25909f
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/readme.md
@@ -0,0 +1,20 @@
+# bm80v2
+
+A 80% hotswap inswitch RGB keyboard.
+
+* Keyboard Maintainer: [edwardslau](https://github.com/edwardslau)
+* Hardware Supported: BM80V2
+* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm80rgb-bm80-rgb-80-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c?_pos=7&_sid=767c48383&_ss=r)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kprepublic bm80v2:default
+
+Flashing example for this keyboard:
+
+ make kprepublic bm80v2:default:flash
+
+## Bootloader
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+
+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/kprepublic/bm80v2/rules.mk b/keyboards/kprepublic/bm80v2/rules.mk
new file mode 100644
index 0000000000..1632311563
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2/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 = yes # Enable Bootmagic Light
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Use RGB matrix
+RGB_MATRIX_DRIVER = IS31FL3741
+LTO_ENABLE = yes
+LAYOUTS = tkl_ansi
diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
new file mode 100644
index 0000000000..90d476aa2c
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
@@ -0,0 +1,150 @@
+/* Copyright 2022 edwardslau *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "bm80v2_iso.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ {0, CS6_SW1, CS5_SW1, CS4_SW1},
+ {0, CS6_SW3, CS5_SW3, CS4_SW3},
+ {0, CS6_SW4, CS5_SW4, CS4_SW4},
+ {0, CS6_SW5, CS5_SW5, CS4_SW5},
+ {0, CS6_SW6, CS5_SW6, CS4_SW6},
+ {0, CS6_SW7, CS5_SW7, CS4_SW7},
+ {0, CS6_SW8, CS5_SW8, CS4_SW8},
+ {0, CS6_SW9, CS5_SW9, CS4_SW9},
+ {0, CS21_SW1, CS20_SW1, CS19_SW1},
+ {0, CS21_SW2, CS20_SW2, CS19_SW2},
+ {0, CS21_SW3, CS20_SW3, CS19_SW3},
+ {0, CS21_SW4, CS20_SW4, CS19_SW4},
+ {0, CS21_SW5, CS20_SW5, CS19_SW5},
+ {0, CS21_SW6, CS20_SW6, CS19_SW6},
+ {0, CS21_SW7, CS20_SW7, CS19_SW7},
+ {0, CS21_SW8, CS20_SW8, CS19_SW8},
+
+
+ {0, CS9_SW1, CS8_SW1, CS7_SW1},
+ {0, CS9_SW2, CS8_SW2, CS7_SW2},
+ {0, CS9_SW3, CS8_SW3, CS7_SW3},
+ {0, CS9_SW4, CS8_SW4, CS7_SW4},
+ {0, CS9_SW5, CS8_SW5, CS7_SW5},
+ {0, CS9_SW6, CS8_SW6, CS7_SW6},
+ {0, CS9_SW7, CS8_SW7, CS7_SW7},
+ {0, CS9_SW8, CS8_SW8, CS7_SW8},
+ {0, CS9_SW9, CS8_SW9, CS7_SW9},
+ {0,CS24_SW1, CS23_SW1, CS22_SW1},
+ {0,CS24_SW2, CS23_SW2, CS22_SW2},
+ {0,CS24_SW3, CS23_SW3, CS22_SW3},
+ {0,CS24_SW4, CS23_SW4, CS22_SW4},
+ {0,CS24_SW5, CS23_SW5, CS22_SW5},
+ {0,CS24_SW6, CS23_SW6, CS22_SW6},
+ {0,CS24_SW7, CS23_SW7, CS22_SW7},
+ {0,CS24_SW8, CS23_SW8, CS22_SW8},
+
+ {0, CS12_SW1, CS11_SW1, CS10_SW1},
+ {0, CS12_SW2, CS11_SW2, CS10_SW2},
+ {0, CS12_SW3, CS11_SW3, CS10_SW3},
+ {0, CS12_SW4, CS11_SW4, CS10_SW4},
+ {0, CS12_SW5, CS11_SW5, CS10_SW5},
+ {0, CS12_SW6, CS11_SW6, CS10_SW6},
+ {0, CS12_SW7, CS11_SW7, CS10_SW7},
+ {0, CS12_SW8, CS11_SW8, CS10_SW8},
+ {0, CS12_SW9, CS11_SW9, CS10_SW9},
+ {0, CS27_SW1, CS26_SW1, CS25_SW1},
+ {0, CS27_SW2, CS26_SW2, CS25_SW2},
+ {0, CS27_SW3, CS26_SW3, CS25_SW3},
+ {0, CS27_SW4, CS26_SW4, CS25_SW4},
+ {0, CS27_SW5, CS26_SW5, CS25_SW5},
+ {0, CS27_SW6, CS26_SW6, CS25_SW6},
+ {0, CS27_SW7, CS26_SW7, CS25_SW7},
+ {0, CS27_SW8, CS26_SW8, CS25_SW8},
+
+ {0, CS15_SW1, CS14_SW1, CS13_SW1},
+ {0, CS15_SW2, CS14_SW2, CS13_SW2},
+ {0, CS15_SW3, CS14_SW3, CS13_SW3},
+ {0, CS15_SW4, CS14_SW4, CS13_SW4},
+ {0, CS15_SW5, CS14_SW5, CS13_SW5},
+ {0, CS15_SW6, CS14_SW6, CS13_SW6},
+ {0, CS15_SW7, CS14_SW7, CS13_SW7},
+ {0, CS15_SW8, CS14_SW8, CS13_SW8},
+ {0, CS15_SW9, CS14_SW9, CS13_SW9},
+ {0, CS30_SW1, CS29_SW1, CS28_SW1},
+ {0, CS30_SW2, CS29_SW2, CS28_SW2},
+ {0, CS30_SW3, CS29_SW3, CS28_SW3},
+ {0, CS30_SW4, CS29_SW4, CS28_SW4},
+
+ {0, CS18_SW1, CS17_SW1, CS16_SW1},
+ {0, CS18_SW2, CS17_SW2, CS16_SW2},
+ {0, CS18_SW3, CS17_SW3, CS16_SW3},
+ {0, CS18_SW4, CS17_SW4, CS16_SW4},
+ {0, CS18_SW5, CS17_SW5, CS16_SW5},
+ {0, CS18_SW6, CS17_SW6, CS16_SW6},
+ {0, CS18_SW7, CS17_SW7, CS16_SW7},
+ {0, CS18_SW8, CS17_SW8, CS16_SW8},
+ {0, CS18_SW9, CS17_SW9, CS16_SW9},
+ {0, CS33_SW1, CS32_SW1, CS31_SW1},
+ {0, CS33_SW2, CS32_SW2, CS31_SW2},
+ {0, CS33_SW3, CS32_SW3, CS31_SW3},
+ {0, CS33_SW4, CS32_SW4, CS31_SW4},
+ {0, CS33_SW7, CS32_SW7, CS31_SW7},
+
+ {0, CS3_SW1, CS2_SW1, CS1_SW1},
+ {0, CS3_SW2, CS2_SW2, CS1_SW2},
+ {0, CS3_SW3, CS2_SW3, CS1_SW3},
+ {0, CS3_SW6, CS2_SW6, CS1_SW6},
+ {0, CS36_SW2, CS35_SW2, CS34_SW2},
+ {0, CS36_SW3, CS35_SW3, CS34_SW3},
+ {0, CS36_SW4, CS35_SW4, CS34_SW4},
+ {0, CS36_SW5, CS35_SW5, CS34_SW5},
+ {0, CS36_SW6, CS35_SW6, CS34_SW6},
+ {0, CS36_SW7, CS35_SW7, CS34_SW7},
+ {0, CS36_SW8, CS35_SW8, CS34_SW8}
+
+};
+led_config_t g_led_config = { {
+ { 0, NO_LED, 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, NO_LED, NO_LED, NO_LED, NO_LED },
+ { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED },
+ { 77, 78, 79, NO_LED,NO_LED, 80, NO_LED, NO_LED, NO_LED, NO_LED, 81, 82, 83, 84, 85, 86, 87 }
+},
+{
+ { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
+ { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 },
+ { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 175, 35 }, { 193, 30 }, { 205, 30 }, { 217, 30 },
+ { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
+ { 8, 49 }, { 22, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
+ { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 }
+},
+{ 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1
+} };
+
+
+__attribute__ ((weak))
+void rgb_matrix_indicators_user(void)
+{
+ if (host_keyboard_led_state().caps_lock)
+ {
+ rgb_matrix_set_color(50, 0xFF, 0xFF, 0xFF);
+ }
+}
+#endif
+
diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.h b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.h
new file mode 100644
index 0000000000..cee54e83e8
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.h
@@ -0,0 +1,36 @@
+/* Copyright 2022 edwardslau *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_iso( \
+ K00, K02, K03, K04, K05, K06,K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K55, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, ___, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, ___, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, ___ }, \
+ { K50, K51, K52, ___, ___, K55, ___, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F, K5G } \
+}
+
diff --git a/keyboards/kprepublic/bm80v2_iso/config.h b/keyboards/kprepublic/bm80v2_iso/config.h
new file mode 100644
index 0000000000..aee11c42c9
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/config.h
@@ -0,0 +1,76 @@
+/* Copyright 2022 edwardslau *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+#define MATRIX_ROW_PINS { C7, C6, B6, F5, F7, F6 }
+#define MATRIX_COL_PINS { E6, F0, F1, F4, D7, D6, B7, B1, B0, B2, B3, D3, D5, D4, D2, B4, B5 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+/* disable these deprecated features by default */
+#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_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+#define RGB_MATRIX_KEYPRESSES
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#define DRIVER_ADDR_1 0b0110000
+#define DRIVER_COUNT 1
+#define DRIVER_1_LED_TOTAL 88
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
diff --git a/keyboards/kprepublic/bm80v2_iso/info.json b/keyboards/kprepublic/bm80v2_iso/info.json
new file mode 100644
index 0000000000..71741c126b
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/info.json
@@ -0,0 +1,110 @@
+{
+ "keyboard_name": "BM80v2 ISO",
+ "manufacturer": "KPrepublic",
+ "url": "",
+ "maintainer": "edwardslau",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x1142",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_tkl_iso": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+
+ {"x":0, "y":1.5},
+ {"x":1, "y":1.5},
+ {"x":2, "y":1.5},
+ {"x":3, "y":1.5},
+ {"x":4, "y":1.5},
+ {"x":5, "y":1.5},
+ {"x":6, "y":1.5},
+ {"x":7, "y":1.5},
+ {"x":8, "y":1.5},
+ {"x":9, "y":1.5},
+ {"x":10, "y":1.5},
+ {"x":11, "y":1.5},
+ {"x":12, "y":1.5},
+ {"x":13, "y":1.5, "w":2},
+ {"x":15.25, "y":1.5},
+ {"x":16.25, "y":1.5},
+ {"x":17.25, "y":1.5},
+
+ {"x":0, "y":2.5, "w":1.5},
+ {"x":1.5, "y":2.5},
+ {"x":2.5, "y":2.5},
+ {"x":3.5, "y":2.5},
+ {"x":4.5, "y":2.5},
+ {"x":5.5, "y":2.5},
+ {"x":6.5, "y":2.5},
+ {"x":7.5, "y":2.5},
+ {"x":8.5, "y":2.5},
+ {"x":9.5, "y":2.5},
+ {"x":10.5, "y":2.5},
+ {"x":11.5, "y":2.5},
+ {"x":12.5, "y":2.5},
+ {"x":15.25, "y":2.5},
+ {"x":16.25, "y":2.5},
+ {"x":17.25, "y":2.5},
+
+ {"x":0, "y":3.5, "w":1.75},
+ {"x":1.75, "y":3.5},
+ {"x":2.75, "y":3.5},
+ {"x":3.75, "y":3.5},
+ {"x":4.75, "y":3.5},
+ {"x":5.75, "y":3.5},
+ {"x":6.75, "y":3.5},
+ {"x":7.75, "y":3.5},
+ {"x":8.75, "y":3.5},
+ {"x":9.75, "y":3.5},
+ {"x":10.75, "y":3.5},
+ {"x":11.75, "y":3.5},
+ {"x":12.75, "y":3.5},
+ {"x":13.75, "y":2.5, "w":1.25, "h":2},
+
+ {"x":0, "y":4.5, "w":1.25},
+ {"x":1.25, "y":4.5},
+ {"x":2.25, "y":4.5},
+ {"x":3.25, "y":4.5},
+ {"x":4.25, "y":4.5},
+ {"x":5.25, "y":4.5},
+ {"x":6.25, "y":4.5},
+ {"x":7.25, "y":4.5},
+ {"x":8.25, "y":4.5},
+ {"x":9.25, "y":4.5},
+ {"x":10.25, "y":4.5},
+ {"x":11.25, "y":4.5},
+ {"x":12.25, "y":4.5, "w":2.75},
+ {"x":16.25, "y":4.5},
+
+ {"x":0, "y":5.5, "w":1.25},
+ {"x":1.25, "y":5.5, "w":1.25},
+ {"x":2.5, "y":5.5, "w":1.25},
+ {"x":3.75, "y":5.5, "w":6.25},
+ {"x":10, "y":5.5, "w":1.25},
+ {"x":11.25, "y":5.5, "w":1.25},
+ {"x":12.5, "y":5.5, "w":1.25},
+ {"x":13.75, "y":5.5, "w":1.25},
+ {"x":15.25, "y":5.5},
+ {"x":16.25, "y":5.5},
+ {"x":17.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kprepublic/bm80v2_iso/keymaps/default/keymap.c b/keyboards/kprepublic/bm80v2_iso/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5e6f21f0d4
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2021 Yizhen Liu (@edwardslau)
+// SPDX-License-Identifier: GPL-2.0
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_tkl_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_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_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_tkl_iso(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_tkl_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_tkl_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/kprepublic/bm80v2_iso/keymaps/via/keymap.c b/keyboards/kprepublic/bm80v2_iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..5e6f21f0d4
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+// Copyright 2021 Yizhen Liu (@edwardslau)
+// SPDX-License-Identifier: GPL-2.0
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_tkl_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_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_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_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_tkl_iso(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_tkl_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_tkl_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/kprepublic/bm80v2_iso/keymaps/via/rules.mk b/keyboards/kprepublic/bm80v2_iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kprepublic/bm80v2_iso/readme.md b/keyboards/kprepublic/bm80v2_iso/readme.md
new file mode 100644
index 0000000000..bb5d8e3728
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/readme.md
@@ -0,0 +1,21 @@
+# bm80v2_iso
+
+A 80% ISO hotswap inswitch RGB keyboard.
+
+* Keyboard Maintainer: [edwardslau](https://github.com/edwardslau)
+* Hardware Supported: BM80V2_ISO
+* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm80-iso-bm80rgb-80-rgb-hot-swappable-custom-mechanical-keyboard-pcb-programmed-rgb-switch-underglow-type-c-qmk-via?_pos=9&_sid=b43edd6ac&_ss=r)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kprepublic/bm80v2_iso:default
+
+Flashing example for this keyboard:
+
+ make kprepublic/bm80v2_iso:default:flash
+
+## Bootloader
+
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+
+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/kprepublic/bm80v2_iso/rules.mk b/keyboards/kprepublic/bm80v2_iso/rules.mk
new file mode 100644
index 0000000000..e726773958
--- /dev/null
+++ b/keyboards/kprepublic/bm80v2_iso/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+RGB_MATRIX_ENABLE = yes # Use RGB matrix
+RGB_MATRIX_DRIVER = IS31FL3741
+
+LTO_ENABLE = yes
+
+LAYOUTS = tkl_iso
diff --git a/keyboards/kprepublic/bm980hsrgb/config.h b/keyboards/kprepublic/bm980hsrgb/config.h
index 01266e652c..af7e3f3be3 100644
--- a/keyboards/kprepublic/bm980hsrgb/config.h
+++ b/keyboards/kprepublic/bm980hsrgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50 //KP
-#define PRODUCT_ID 0xEF61
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT bm980rgb
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, B6, B5, B4, F7, F6, D7 }
#define MATRIX_COL_PINS { B1, B2, B3, B7, D0, D1, D2, D3, D5, E6, F0, F1, F4, F5, D6 }
-// #define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/bm980hsrgb/info.json b/keyboards/kprepublic/bm980hsrgb/info.json
index 459b98a089..ba8173c6c8 100644
--- a/keyboards/kprepublic/bm980hsrgb/info.json
+++ b/keyboards/kprepublic/bm980hsrgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "BM980",
+ "keyboard_name": "BM980 Hotswap RGB",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xEF61",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c
index 9d6c64b33f..80deedc7b5 100644
--- a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c
+++ b/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/kprepublic/cospad/config.h b/keyboards/kprepublic/cospad/config.h
index bc53ef6206..895cc57a0d 100644
--- a/keyboards/kprepublic/cospad/config.h
+++ b/keyboards/kprepublic/cospad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B5C // "KP"
-#define PRODUCT_ID 0xB1E5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT Cospad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kprepublic/cospad/info.json b/keyboards/kprepublic/cospad/info.json
index bba19a4379..3009e986fa 100644
--- a/keyboards/kprepublic/cospad/info.json
+++ b/keyboards/kprepublic/cospad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cospad",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B5C",
+ "pid": "0xB1E5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
index af56305e5c..77c6ea8424 100644
--- a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
+++ b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c
@@ -266,12 +266,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_SAD, BL_ON, COLEMAK, \
RGB_SAI, RGB_TOG, DVORAK, _______, \
RGB_HUD, RGB_MOD, KC_VOLD, _______, \
- RGB_HUI, RGB_RMOD, KC_VOLU, RESET),
+ RGB_HUI, RGB_RMOD, KC_VOLU, QK_BOOT),
};
// Makes sure to update the good tri-layer if a layer changes
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(default_layer_state)) {
+ switch (get_highest_layer(default_layer_state)) {
case _QWERTY_LAYER:
state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
break;
@@ -289,8 +289,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
// Makes the tri-layer
-uint32_t default_layer_state_set_kb(uint32_t state) {
- switch (biton32(state)) {
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
+ switch (get_highest_layer(state)) {
case _QWERTY_LAYER:
state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER);
state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER);
diff --git a/keyboards/kprepublic/cospad/keymaps/split_plus_and_zero/keymap.c b/keyboards/kprepublic/cospad/keymaps/split_plus_and_zero/keymap.c
index dd2ff00cd1..d780a583e1 100644
--- a/keyboards/kprepublic/cospad/keymaps/split_plus_and_zero/keymap.c
+++ b/keyboards/kprepublic/cospad/keymaps/split_plus_and_zero/keymap.c
@@ -76,6 +76,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUD, RGB_HUI, BL_ON, _______,
RGB_SAD, RGB_SAI, BL_OFF, _______,
RGB_VAD, RGB_VAI, BL_STEP,
- _______, _______, RESET, _______
+ _______, _______, QK_BOOT, _______
)
};
diff --git a/keyboards/kprepublic/cospad/keymaps/split_zero/keymap.c b/keyboards/kprepublic/cospad/keymaps/split_zero/keymap.c
index 3a0c7d6e4e..cd64e0c9ec 100644
--- a/keyboards/kprepublic/cospad/keymaps/split_zero/keymap.c
+++ b/keyboards/kprepublic/cospad/keymaps/split_zero/keymap.c
@@ -76,6 +76,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUD, RGB_HUI, BL_ON,
RGB_SAD, RGB_SAI, BL_OFF, _______,
RGB_VAD, RGB_VAI, BL_STEP,
- _______, _______, RESET, _______
+ _______, _______, QK_BOOT, _______
)
};
diff --git a/keyboards/kprepublic/jj40/config.h b/keyboards/kprepublic/jj40/config.h
index c42b247d1a..d24ab5c5ff 100644
--- a/keyboards/kprepublic/jj40/config.h
+++ b/keyboards/kprepublic/jj40/config.h
@@ -16,12 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x0040
-#define DEVICE_VER 0x0200
-#define MANUFACTURER KPrepublic
-#define PRODUCT JJ40
-
/* matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/kprepublic/jj40/info.json b/keyboards/kprepublic/jj40/info.json
index 4b7c527ba9..a248f0cee7 100644
--- a/keyboards/kprepublic/jj40/info.json
+++ b/keyboards/kprepublic/jj40/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jj40",
+ "keyboard_name": "JJ40",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0040",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c b/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c
new file mode 100644
index 0000000000..625961ae23
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/brdlf/keymap.c
@@ -0,0 +1,168 @@
+/* Copyright 2022 Abigail Fassl
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+#define FUN MO(_FUNC)
+#define MOUSE MO(_MOUSE)
+
+enum layers {
+ _QWERTY = 0,
+ _FUNC,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+ _MOUSE,
+ _NUMPAD
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc* | Q | W | E | R | T | Y | U | I | O | P | Ent |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | ;: | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI | Func |Lower |Space | Bksp |Raise | DEL | Bksl | NUM | Ctrl |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_ortho_4x12(
+ LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT ,
+ 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_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,
+ KC_LCTL, KC_LALT, KC_LGUI, FUN, LOWER, KC_SPC, KC_BSPC, RAISE, KC_DEL, KC_BSLS, TG(_NUMPAD), KC_RCTL
+),
+
+/* Function
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| | | _ | - | + | = | \| | [{ | ]} | |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ___ | ___ | ___ | ___ | ___ |Space | Bksp |Mouse | DEL | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FUNC] = LAYOUT_ortho_4x12(
+ 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LSFT(KC_GRV), KC_INSERT ,
+ KC_LSHIFT, KC_NO, KC_NO, LSFT(KC_MINS), KC_MINS, LSFT(KC_EQL), KC_EQL, KC_BSLS, KC_LBRC, KC_RBRC, KC_NO, KC_RSHIFT ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ! | @ | # | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| PSCRN| | | \| | _ | - | + | = | |BL ON | BLSP |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | |Lower | | | ADJ | | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_4x12(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC ,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, LCTL(KC_DEL), LCTL(KC_BSPC) ,
+ KC_LSFT, KC_PSCR, S(KC_NUHS), KC_BSLS, LSFT(KC_MINS), KC_MINS, LSFT(KC_EQL), KC_EQL, _______, BL_ON, BL_STEP, KC_RSFT ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | \| | | [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | _ | = | ( | ) | | | HOME | UP | END | |ZOOM +|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ~ | - | + | { | } | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | ADJ | |CtrlBk|Raise |CtrlDl| | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_4x12(
+ KC_GRV, KC_BSLS, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_PGUP, KC_HOME, KC_PGDOWN, KC_NO, KC_PSCREEN ,
+ LSFT(KC_BSLS), LSFT(KC_MINS), KC_EQL, LSFT(KC_9), LSFT(KC_0), KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, LCTL(LSFT(KC_EQL)) ,
+ LSFT(KC_GRV), KC_MINS, LSFT(KC_EQL), LSFT(KC_LBRC), LSFT(KC_RBRC), KC_NO, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
+ _______, _______, _______, _______, _______, KC_SPC, LCTL(KC_BSPC), _______, LCTL(KC_DEL), _______, _______, _______
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | Reset| | | BLON| BLOFF| | | | | | | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | RGB | MODE | VAD | VAI | | | Vol- | Vol+ | Play | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | HUD | HUI | SAD | SAI | | | Prev | Next | Mute | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_ortho_4x12(
+ QK_BOOT, KC_NO, KC_NO, BL_ON, BL_OFF, KC_NO, KC_NO, _______, _______, _______, _______, KC_DEL ,
+ KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,
+ KC_NO, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, _______, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Mouse
+ * ,-----------------------------------------------------------------------------------.
+ * | ESC | | | | | | WH_L | WH_UP| BTN3 | WH_D | WH_R | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_MOUSE] = LAYOUT_ortho_4x12(
+ KC_ESC , _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_UP, KC_MS_BTN3, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______,
+ KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______,
+ KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Num Pad
+ * ,-----------------------------------------------------------------------------------.
+ * | ESC | | | | | |NMLOCK| 7 | 8 | 9 | / | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | 4 | 5 | 6 | * | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | 1 | 2 | 3 | + | - |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | 0 | . | , | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_NUMPAD] = LAYOUT_ortho_4x12(
+ _______, _______, _______, _______, _______, _______, KC_NLCK, KC_7, KC_8, KC_9, KC_KP_SLASH, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_KP_ASTERISK, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_KP_PLUS, KC_KP_MINUS ,
+ _______, _______, _______, _______, _______, _______, _______, KC_0, KC_KP_DOT, KC_COMM, _______, _______
+)
+
+};
+
+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, _FUNC, _RAISE, _MOUSE);
+ return state;
+} \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md b/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md
new file mode 100644
index 0000000000..a08c0422c2
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/brdlf/readme.md
@@ -0,0 +1,69 @@
+# BRDLF custom layout
+
+> This is my personal configuration for 4x12 ortho keyboard JJ40.
+
+## Layers
+
+### Default QWERTY
+
+| | | | | | | | | | | | |
+| :--------: | :-----: | :------: | :------: | :-------: | :----: | :------: | :------: | :----: | :----: | :----: | :-------: |
+| Esc<br>NUM | Q<br>q | W<br>w | E<br>e | R<br>r | T<br>t | Y<br>y | U<br>u | I<br>i | O<br>o | P<br>p | <br>Enter |
+| <br>Tab | A<br>a | S<br>s | D<br>d | F<br>f | G<br>g | H<br>h | J<br>j | K<br>k | L<br>l | :<br>; | "<br>' |
+| <br>Shift | Z<br>z | X<br>x | C<br>c | V<br>v | B<br>b | N<br>n | M<br>m | <<br>, | ><br>. | ?<br>/ | <br>Shift |
+| <br>Ctrl | <br>Alt | <br>GUI | <br>Func | <br>Lower | <br>Sp | <br>Bksp | <br>Raise| <br>Del| <br>\ |<br>NUM | <br>Ctrl |
+
+### Function
+
+| | | | | | | | | | | | |
+| :-------: | :-----: | :-----: | :---------: | :-------: | :-------: | :------: | :-------: | :-----: | :-----: | :------: | :------: |
+| <br>F1 | <br>F2 | <br>F3 | <br>F4 | <br>F5 | <br>F6 | <br>F7 | <br>F8 | <br>F9 | <br>F10 | <br>F11 | <br>F12 |
+| !<br>1 | @<br>2 | #<br>3 | \$<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>~ | <br>INS |
+| <br>Shift | | |<br>_ | <br>- | <br>+ | <br>= | |<br>\ | {<br>[ | }<br>] | | <br>Shft | |
+| <br>Ctrl | <br>Alt | <br>GUI | <br>**Fun** | <br>Lower | <br>Space | <br>Bksp | <br>Raise | <br>Del | \|<br>\ | <br>NUM | <br>Ctrl |
+
+
+### Lower
+
+| | | | | | | | | | | | |
+| :-------: | :----------: | :----: | :-----: | :-------: | :----: | :----: | :-----: | :----: | :-------: | :--------: | :--------: |
+| !<br>1 | @<br>2 | #<br>3 | $<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>Del | <br>Bksp |
+| <br>! | <br>@ | <br># | <br>\$ | <br>% | <br>^ | <br>& | <br>\* | <br>( | <br>) | Wrd<br>Del | Wrd<br>Bks |
+| <br>Shift | Prnt<br>Scrn | <br>\| | \|<br>\ | <br>\_ | <br>- | <br>+ | <br>= | | <br>BL_ON | <br>BLSP | <br>Shift |
+| | | | | **Lower** | Space | Bksp | | | Vol- | Vol+ | Play |
+
+### Raise
+
+| | | | | | | | | | | | |
+| :----: | :-----: | :---: | :---: | :--------: | :-: | :----------: | :-----------: | :---------: | :-------: | :----------: | :----------: |
+| <br>\` | \|<br>\ | | <br>[ | <br>] | | | <br>PgUp | <br>Home | <br>PgDn | | Prnt<br>Scrn |
+| <br>\| | <br>\_ | <br>= | <br>( | <br>) | | | <br>Home | <br>Up | <br>End | | <br>Zoom + |
+| <br>~ | <br>- | <br>+ | <br>{ | <br>} | | Prev<br>Word | <br>Left | <br>Down | <br>Right | Next<br>Word | <br>Zoom - |
+| | | | | <br>Adjust | | Word<br>Bksp | <br>**Raise** | Word<br>Del | | | |
+
+### Adjust
+
+| | | | | | | | | | | | |
+| :-------: | :---------: | :---------: | :---------: | :---------: | :----: | :-----: | :--------: | :--: | :--: | :-: | :-: |
+| Reset | | | BL_ON | BL_OFF | | | | | | | DEL |
+| <br>Caps | RGB<br>Togl | RGB<br>Mode | RGB<br>Brt- | RGB<br>Brt+ | | | Vol- | Vol+ | Play | | |
+| | <br>Hue- | RGB<br>Hue+ | RGB<br>Sat- | RGB<br>Sat+ | | | Prev | Next | Mute | | |
+| | | | | **Lower** | Space | Bksp | **Raise** | | | | |
+
+### Mouse
+
+| | | | | | | | | | | | |
+| :-----: | :----: | :----: | :----------: | :---: | :---: | :------------: | :-----------: | :-------------: | :------------: | :-------------: | :-: |
+| <br>ESC | | | | | | Scroll<br>Left | Scroll<br>up | Middle<br>Click | Scroll<br>Down | Scroll<br>Right | |
+| Speed0 | Speed1 | Speed2 | | | | | Left<br>Click | Mouse<br>Up | Right<br>Click | | |
+| Speed0 | Speed1 | Speed2 | | | | | Mouse<br>Left | Mouse<br>Down | Mouse<br>Right | | |
+| | | | **Function** | Lower | Space | Bksp | **Raise** | | | | |
+
+### Numpad
+
+| | | | | | | | | | | | |
+| :-: | :-: | :-: | :-: | :-: | :-: | :-----: | :-: | :-: | :-: | :-: | :-: |
+| ESC | | | | | | Numlock | 7 | 8 | 9 | / | |
+| | | | | | | | 4 | 5 | 6 | * | |
+| | | | | | | | 1 | 2 | 3 | + | - |
+| | | | | | | | 0 | . | , | | | \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk b/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk
new file mode 100644
index 0000000000..6c605daecf
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/brdlf/rules.mk
@@ -0,0 +1 @@
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c b/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c
index 1a42261940..0d8adbffbc 100644
--- a/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c
+++ b/keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Ins | | | () | [] | {} | Home | PgDn | PgUp | End | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * |RESET | Back | Fwd | | | | | | Mute | Vol- | Vol+ | |
+ * |QK_BOOT | Back | Fwd | | | | | | Mute | Vol- | Vol+ | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | Lock | | | Prev | Stop | Play | Next |
* `-----------------------------------------------------------------------------------'
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_planck_1x2uR( \
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, _______, _______, CC_PRN, CC_BRC, CC_CBR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, \
- RESET, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, \
+ QK_BOOT, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, \
_______, _______, _______, _______, KC_LOCK, _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT \
),
diff --git a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
index 84c02dddd6..a4d3d37561 100644
--- a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
+++ b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
@@ -34,8 +34,6 @@
// how long before oneshot times out
#define ONESHOT_TAP_TOGGLE 2
// how many taps before oneshot toggle is triggered
- #define QMK_KEYS_PER_SCAN 4
- // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
#define COMBO_COUNT 2
// Set this to the number of combos that you're using in the Combo feature.
#define COMBO_TERM 200
diff --git a/keyboards/kprepublic/jj40/keymaps/waples/keymap.c b/keyboards/kprepublic/jj40/keymaps/waples/keymap.c
index 1c8d58f792..ae35e5925a 100644
--- a/keyboards/kprepublic/jj40/keymaps/waples/keymap.c
+++ b/keyboards/kprepublic/jj40/keymaps/waples/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_DUAL] = LAYOUT_ortho_4x12( \
- RESET, _______, _______, _______, _______, QWERTY, DVORAK, _______, _______, RGB_HUD, RGB_TOG, RESET, \
+ QK_BOOT, _______, _______, _______, _______, QWERTY, DVORAK, _______, _______, RGB_HUD, RGB_TOG, QK_BOOT, \
_______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, AG_NORM, AG_SWAP, _______, _______, RGB_HUI, RGB_MOD, _______, \
_______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, TG_NKRO, _______, _______, RGB_SAD, RGB_VAD, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_VAI, _______ \
diff --git a/keyboards/kprepublic/jj4x4/config.h b/keyboards/kprepublic/jj4x4/config.h
index f97dd7f1cb..d9691245a7 100644
--- a/keyboards/kprepublic/jj4x4/config.h
+++ b/keyboards/kprepublic/jj4x4/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x0044 // 4x4
-#define DEVICE_VER 0x0200
-#define MANUFACTURER KPrepublic
-#define PRODUCT JJ4x4
-
/* matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
diff --git a/keyboards/kprepublic/jj4x4/info.json b/keyboards/kprepublic/jj4x4/info.json
index 9d07e297fc..d9b831d2a3 100644
--- a/keyboards/kprepublic/jj4x4/info.json
+++ b/keyboards/kprepublic/jj4x4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JJ4x4",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0044",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/kprepublic/jj50/config.h b/keyboards/kprepublic/jj50/config.h
index 9c2d6e2417..70ecf2f20c 100644
--- a/keyboards/kprepublic/jj50/config.h
+++ b/keyboards/kprepublic/jj50/config.h
@@ -22,12 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x4B50 // "KP"
-#define PRODUCT_ID 0x0050
-#define DEVICE_VER 0x0200
-#define MANUFACTURER KPrepublic
-#define PRODUCT JJ50
-
/* matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/kprepublic/jj50/info.json b/keyboards/kprepublic/jj50/info.json
index 5d84efe246..40c00718f2 100644
--- a/keyboards/kprepublic/jj50/info.json
+++ b/keyboards/kprepublic/jj50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JJ50",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x0050",
+ "device_version": "2.0.0"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_5x12"
},
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
index e257649369..603bce7798 100644
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c
@@ -42,7 +42,7 @@ void keyboard_post_init_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _RAISE:
rgblight_sethsv_noeeprom(170,255,255);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
@@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
index baedbb4dd2..7ea34220b3 100644
--- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c
@@ -42,7 +42,7 @@ void keyboard_post_init_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _FUNC:
rgblight_sethsv_noeeprom(170,255,255);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
@@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_META] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/config.h b/keyboards/kprepublic/jj50/keymaps/archetype/config.h
index a12e070b4f..17ce95a363 100644
--- a/keyboards/kprepublic/jj50/keymaps/archetype/config.h
+++ b/keyboards/kprepublic/jj50/keymaps/archetype/config.h
@@ -6,4 +6,4 @@
#define AUTO_SHIFT_TIMEOUT 150
#define NO_AUTO_SHIFT_ALPHA
#define TAPPING_TERM 150
-//#define BOOTMAGIC_KEY_SALT KC_LCTL
+#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c b/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
index 82c615f135..ff59ef43e5 100644
--- a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c
@@ -167,9 +167,18 @@ qk_tap_dance_action_t tap_dance_actions[] = {
// Single tap = ) | Double tap = ] | Triple tap = } | Single hold = KC_LALT
[TD_LALT_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, right_brackets, right_brackets_reset),
// Layer Switcher ESC
- [TD_ESC_LAYER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, layer_switcher, layer_switcher_reset, 100),
+ [TD_ESC_LAYER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, layer_switcher, layer_switcher_reset),
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_ESC_LAYER):
+ return 100;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/kprepublic/jj50/keymaps/yoonbae81/keymap.c b/keyboards/kprepublic/jj50/keymaps/yoonbae81/keymap.c
index 571f93be52..adb3b727d2 100644
--- a/keyboards/kprepublic/jj50/keymaps/yoonbae81/keymap.c
+++ b/keyboards/kprepublic/jj50/keymaps/yoonbae81/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MRWD, KC_MFFD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/ktec/daisy/config.h b/keyboards/ktec/daisy/config.h
index 2079d172aa..ec826ab1af 100644
--- a/keyboards/ktec/daisy/config.h
+++ b/keyboards/ktec/daisy/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0xD7DC
-#define DEVICE_VER 0x0501
-#define MANUFACTURER KTEC
-#define PRODUCT Daisy
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ktec/daisy/info.json b/keyboards/ktec/daisy/info.json
index 6d5d5f49e2..f9c7b3e382 100644
--- a/keyboards/ktec/daisy/info.json
+++ b/keyboards/ktec/daisy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Daisy",
+ "manufacturer": "KTEC",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0xD7DC",
+ "device_version": "5.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
index 09854ee89c..3910756f81 100644
--- a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c
@@ -179,7 +179,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
index 279c8a57c1..502c0dafe6 100644
--- a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c
@@ -204,7 +204,7 @@ void matrix_init_user(void) {
layer_state_t layer_state_set_user(layer_state_t state) {
ergodox_led_all_off();
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case FN:
// Red led on Pro Micro for Fn layer
ergodox_board_led_on();
diff --git a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
index 87e96d20fd..1347f8f501 100644
--- a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c
@@ -198,7 +198,7 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
index ee6c56bf95..a0dddd5791 100644
--- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/vega/keymap.c
@@ -1,413 +1,636 @@
+// Copyright 2021 Vega Carlson (@VegaDeftwing)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
-enum layer_names {
- BASE,
- GREL,
- GREU,
- SYMB,
- MATH,
- QWER,
- FNLR
-};
+enum layer_names { BASE, GREL, GREU, SYMB, MATH, QWER, FNLR, TINY, FULL, FULU };
enum unicode_names {
- //MATH
- neq, //≠
- intgrl, //∫
- angl, //∠
- imply, //⇒
- equiv, //⇔
- porp, //âˆ
- exists, //∃
- nexists, //∄
- forall, //∀
- and, //∧
- or, //∨
- xor, //⊕
- apeql, //≅
- root, //√
- not, //¬
- sum, //∑
- plsminus, //±
- infin, //∞
- emtyset, //∅
- Mn, //â„•
- Mz, //ℤ
- Mq, //â„š
- Mr, //â„
- Mc, //â„‚
- eleof, //∈
- member, //∋
- neleof, //∉
- nmember, //∌
- subsetof, //⊂
- suprsetof, //⊃
- intersection, //∩
- Munion, //∪
-
- //SYMB
- arwl,
- arwu,
- arwr,
- arwd,
-
- uxclm,
- cent,
- degree,
- trade,
- copy,
- numero,
- sect,
- mdot,
- rang,
-
-
- lshade,
- mshade,
- dshade,
-
- fire,
- water,
- cleft,
- baster,
- neteen,
- floppy,
-
- boxemp,
- boxchk,
- boxX,
-
- bbstr,
- bbstl,
- bbml,
- bbmr,
- bbmb,
- bbrtr,
- bbrbr,
- bbrtl,
- bbrbl,
- bbsbr,
- bbsbl,
- bbmbr,
- bbmbl,
-
- Agrave,
- Aacute,
- Acircm,
- Atilde,
- Abreve,
- Adiaer,
- Adacut,
+ // MATH
+ neq, //≠
+ intgrl, //∫
+ angl, //∠
+ imply, //⇒
+ equiv, //⇔
+ porp, //âˆ
+ exists, //∃
+ nexists, //∄
+ forall, //∀
+ and, //∧
+ or
+ , //∨
+ xor, //⊕
+ apeql, //≅
+ root, //√
+ not, //¬
+ sum, //∑
+ plsminus, //±
+ infin, //∞
+ emtyset, //∅
+ Mn, //â„•
+ Mz, //ℤ
+ Mq, //â„š
+ Mr, //â„
+ Mc, //â„‚
+ eleof, //∈
+ member, //∋
+ neleof, //∉
+ nmember, //∌
+ subsetof, //⊂
+ suprsetof, //⊃
+ intersection, //∩
+ Munion, //∪
+
+ // SYMB
+ arwl,
+ arwu,
+ arwr,
+ arwd,
+
+ uxclm,
+ cent,
+ degree,
+ trade,
+ copy,
+ numero,
+ sect,
+ mdot,
+ rang,
+
+ lshade,
+ mshade,
+ dshade,
+
+ fire,
+ water,
+ cleft,
+ baster,
+ neteen,
+ floppy,
+
+ boxemp,
+ boxchk,
+ boxX,
+
+ bbstr,
+ bbstl,
+ bbml,
+ bbmr,
+ bbmb,
+ bbrtr,
+ bbrbr,
+ bbrtl,
+ bbrbl,
+ bbsbr,
+ bbsbl,
+ bbmbr,
+ bbmbl,
+
+ Agrave,
+ Aacute,
+ Acircm,
+ Atilde,
+ Abreve,
+ Adiaer,
+ Adacut,
// not all ogham letters, as I
// actually intend to use them for hex
- OS,
- Oa,
- Ob,
- Oc,
- Od,
- Oe,
- Of,
- Og,
- Oh,
- Oi,
- OA,
- OB,
- OC,
- OD,
- OE,
- OF,
- Os,
- OED,
- Ox,
- gnd,
- sqr,
- sine,
- opt,
-
- geq,
- leq,
- brkup,
- brkdn,
- perup,
- perdn,
-
- //GREEL
- rone, // 1:: â…°
- rtwo,
- rthree,
- rfour, // 4:: â…³
- rfive, // 5:: â…´
- rsix, // 6:: â…µ
- rseven, // 7:: â…¶
- reight, // 8:: â…·
- rnine, // 9:: â…¸
- rten, // 0:: â…¹
- gq, // q:: θ
- gw, // w:: ω
- ge, // e:: ε
- gr, // r:: Ï
- gt, // t:: Ï„
- gy, // y:: ψ
- gu, // u:: Ï…
- gi, // i:: ι
- go, // o:: ο
- gp, // p:: π
- ga, // a:: α
- gs, // s:: σ
- gd, // d:: δ
- gf, // f:: φ
- gg, // g:: γ
- gh, // h:: η
- gj, // j:: Ï‘
- gk, // k:: κ
- gl, // l:: λ
- gz, // z:: ζ
- gx, // x:: ξ
- gc, // c:: χ
- gv, // v:: Ï‚
- gb, // b:: β
- gn, // n:: ν
- gm, // m:: μ
-
- //GREEU
- Rone, // 1:: â… 
- Rtwo, // 2:: â…¡
- Rthree, // 3:: â…¢
- Rfour, // 4:: â…£
- Rfive, // 5:: â…¤
- Rsix, // 6:: â…¥
- Rseven, // 7:: â…¦
- Reight, // 8:: â…§
- Rnine, // 9:: â…¨
- Rten,
- Gq, // Q:: Θ
- Gw, // W:: Ω
- Ge, // E:: Ε
- Gr, // R:: Ρ
- Gt, // T:: Τ
- Gy, // Y:: Ψ
- Gu, // U:: Υ
- Gi, // I:: Ι
- Go, // O:: Ο
- Gp, // P:: Π
- Ga, // A:: Α
- Gs, // S:: Σ
- Gd, // D:: Δ
- Gf, // F:: Φ
- Gg, // G:: Γ
- Gh, // H:: Η
- Gj, // J:: J
- Gk, // K:: Κ
- Gl, // L:: Λ
- Gz, // Z:: Ζ
- Gx, // X:: Ξ
- Gc, // C:: Χ
- Gv, // V:: V
- Gb, // B:: Î’
- Gn, // N:: Î
- Gm, // M:: Μ
+ OS,
+ Oa,
+ Ob,
+ Oc,
+ Od,
+ Oe,
+ Of,
+ Og,
+ Oh,
+ Oi,
+ OA,
+ OB,
+ OC,
+ OD,
+ OE,
+ OF,
+ Os,
+ OED,
+ Ox,
+ gnd,
+ sqr,
+ sine,
+ opt,
+
+ geq,
+ leq,
+ brkup,
+ brkdn,
+ perup,
+ perdn,
+
+ // GREEL
+ rone, // 1:: â…°
+ rtwo,
+ rthree,
+ rfour, // 4:: â…³
+ rfive, // 5:: â…´
+ rsix, // 6:: â…µ
+ rseven, // 7:: â…¶
+ reight, // 8:: â…·
+ rnine, // 9:: â…¸
+ rten, // 0:: â…¹
+ gq, // q:: θ
+ gw, // w:: ω
+ ge, // e:: ε
+ gr, // r:: Ï
+ gt, // t:: Ï„
+ gy, // y:: ψ
+ gu, // u:: Ï…
+ gi, // i:: ι
+ go, // o:: ο
+ gp, // p:: π
+ ga, // a:: α
+ gs, // s:: σ
+ gd, // d:: δ
+ gf, // f:: φ
+ gg, // g:: γ
+ gh, // h:: η
+ gj, // j:: Ï‘
+ gk, // k:: κ
+ gl, // l:: λ
+ gz, // z:: ζ
+ gx, // x:: ξ
+ gc, // c:: χ
+ gv, // v:: Ï‚
+ gb, // b:: β
+ gn, // n:: ν
+ gm, // m:: μ
+
+ // GREEU
+ Rone, // 1:: â… 
+ Rtwo, // 2:: â…¡
+ Rthree, // 3:: â…¢
+ Rfour, // 4:: â…£
+ Rfive, // 5:: â…¤
+ Rsix, // 6:: â…¥
+ Rseven, // 7:: â…¦
+ Reight, // 8:: â…§
+ Rnine, // 9:: â…¨
+ Rten,
+ Gq, // Q:: Θ
+ Gw, // W:: Ω
+ Ge, // E:: Ε
+ Gr, // R:: Ρ
+ Gt, // T:: Τ
+ Gy, // Y:: Ψ
+ Gu, // U:: Υ
+ Gi, // I:: Ι
+ Go, // O:: Ο
+ Gp, // P:: Π
+ Ga, // A:: Α
+ Gs, // S:: Σ
+ Gd, // D:: Δ
+ Gf, // F:: Φ
+ Gg, // G:: Γ
+ Gh, // H:: Η
+ Gj, // J:: J
+ Gk, // K:: Κ
+ Gl, // L:: Λ
+ Gz, // Z:: Ζ
+ Gx, // X:: Ξ
+ Gc, // C:: Χ
+ Gv, // V:: V
+ Gb, // B:: Î’
+ Gn, // N:: Î
+ Gm, // M:: Μ
+ // ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ áµ Ê° Ⱡʲ áµ Ë¡ áµ â¿ áµ’ áµ– ʳ Ë¢ áµ— ᵘ áµ› Ê· Ë£ ʸ ᶻ Ⱐ¹ ² ³ ⴠⵠⶠⷠ⸠â¹
+ tone, // 1:: ¹
+ ttwo, // 2:: ²
+ tthree, // 3:: ³
+ tfour, // 4:: â´
+ tfive, // 5:: âµ
+ tsix, // 6:: â¶
+ tseven, // 7:: â·
+ teight, // 8:: â¸
+ tnine, // 9:: â¹
+ tzero, // 0 :: â°
+ tq, // Q:: Û¹
+ tw, // W:: Ê·
+ te, // E:: ᵉ
+ tr, // R:: ʳ
+ tt, // T:: áµ—
+ ty, // Y:: ʸ
+ tu, // U:: ᵘ
+ ti, // I:: â±
+ to, // O:: áµ’
+ tp, // P:: áµ–
+ ta, // A:: ᵃ
+ ts, // S:: ˢ
+ td, // D:: ᵈ
+ tf, // F:: ᶠ
+ tg, // G:: áµ
+ th, // H:: Ê°
+ tj, // J:: ʲ
+ tk, // K:: áµ
+ tl, // L:: Ë¡
+ tz, // Z:: ᶻ
+ tx, // X:: ˣ
+ tc, // C:: ᶜ
+ tv, // V:: áµ›
+ tb, // B:: ᵇ
+ tn, // N:: â¿
+ tm, // M:: áµ
+ // Fullwitdth - note, these are *not* the monospace unicode code points.
+ // This is done to prevent something eating it and using a weird font, which,
+ // presumably, isn't desired if doing this.
+ fwone, // 1:: 1
+ fwtwo, // 2:: ï¼’
+ fwthree, // 3:: 3
+ fwfour, // 4:: ï¼”
+ fwfive, // 5:: 5
+ fwsix, // 6:: ï¼–
+ fwseven, // 7:: ï¼—
+ fweight, // 8:: 8
+ fwnine, // 9:: ï¼™
+ fwzero, // 0 :: ï¼
+ fwq, // Q:: q
+ fww, // W:: ï½—
+ fwe, // E:: ï½…
+ fwr, // R:: ï½’
+ fwt, // T:: ï½”
+ fwy, // Y:: ï½™
+ fwu, // U:: u
+ fwi, // I:: i
+ fwo, // O:: ï½
+ fwp, // P:: ï½
+ fwa, // A:: ï½
+ fws, // S:: s
+ fwd, // D:: d
+ fwf, // F:: f
+ fwg, // G:: g
+ fwh, // H:: h
+ fwj, // J:: j
+ fwk, // K:: k
+ fwl, // L:: l
+ fwz, // Z:: z
+ fwx, // X:: x
+ fwc, // C:: c
+ fwv, // V:: ï½–
+ fwb, // B:: b
+ fwn, // N:: n
+ fwm, // M:: ï½
+ // Full width caps + fractions, and a few extra symbols that lack a better place
+ Fwone, // 1:: ¼
+ Fwtwo, // 2:: ½
+ Fwthree, // 3:: ¾
+ Fwfour, // 4:: â…“
+ Fwfive, // 5:: â…”
+ Fwsix, // 6:: â…•
+ Fwseven, // 7:: â…›
+ Fweight, // 8:: ð’³
+ Fwnine, // 9:: ð’´
+ Fwzero, // 0 :: ð’µ
+ Fwq, // Q:: ï¼±
+ Fww, // W:: ï¼·
+ Fwe, // E:: ï¼¥
+ Fwr, // R:: ï¼²
+ Fwt, // T:: ï¼´
+ Fwy, // Y:: ï¼¹
+ Fwu, // U:: ï¼µ
+ Fwi, // I:: I
+ Fwo, // O:: O
+ Fwp, // P:: ï¼°
+ Fwa, // A:: A
+ Fws, // S:: ï¼³
+ Fwd, // D:: D
+ Fwf, // F:: F
+ Fwg, // G:: G
+ Fwh, // H:: H
+ Fwj, // J:: J
+ Fwk, // K:: K
+ Fwl, // L:: L
+ Fwz, // Z:: Z
+ Fwx, // X:: X
+ Fwc, // C:: ï¼£
+ Fwv, // V:: V
+ Fwb, // B:: ï¼¢
+ Fwn, // N:: ï¼®
+ Fwm, // M:: ï¼­
+ nbsp, // You know what this is &nbsp;
+ ibang, //‽
+ nullpic, // Null picture - â€
};
const uint32_t PROGMEM unicode_map[] = {
- //MATH
- [neq] = 0x2260, //≠
- [intgrl] = 0x222B, //∫
- [angl] = 0x2220, //∠
- [imply] = 0x21D2, //⇒
- [equiv] = 0x21D4, //⇔
- [porp] = 0x221D, //âˆ
- [exists] = 0x2203, //∃
- [nexists] = 0x2204, //∄
- [forall] = 0x2200, //∀
- [and] = 0x2227, //∧
- [or] = 0x2228, //∨
- [xor] = 0x2295, //⊕
- [apeql] = 0x2245, //≅
- [root] = 0x221A, //√
- [not] = 0x00AC, //¬
- [sum] = 0x2211, //∑
- [plsminus] = 0x00B1, //±
- [infin] = 0x221E, //∞
- [emtyset] = 0x2205, //∅
- [Mn] = 0x2115, //â„•
- [Mz] = 0x2124, //ℤ
- [Mq] = 0x211A, //â„š
- [Mr] = 0x211D, //â„
- [Mc] = 0x2102, //â„‚
- [eleof] = 0x2208, //∈
- [member] = 0x220B, //∋
- [neleof] = 0x2209, //∉
- [nmember] = 0x220C, //∌
- [subsetof] = 0x2282, //⊂
- [suprsetof] = 0x2283, //
- [intersection] = 0x2229, //∩
- [Munion] = 0x222A, //∪
- //Symbol
- [arwl] = 0x2190, //â†
- [arwu] = 0x2191, //↑
- [arwr] = 0x2192, //→
- [arwd] = 0x2193, //↓
-
- [uxclm] = 0x00A1, //¡
- [cent] = 0x00A2, //¢
- [degree] = 0x00B0, //°
- [trade] = 0x2122, //â„¢
- [copy] = 0x00A9, //©
- [numero] = 0x2116, //â„–
- [sect] = 0x00A7, //§
- [mdot] = 0x00B7, //·
- [rang] = 0x299C, //⦜
-
-
- [lshade] = 0x2591,//â–‘
- [mshade] = 0x2592,//â–’
- [dshade] = 0x2593,//â–“
-
- [fire] = 0x1F525, //🔥
- [water] = 0x1F322, //🌢
- [cleft] = 0x1F12F, //🄯
- [baster] = 0x1F7BC, //🞼
- [neteen] = 0x1F51E, //🔞
- [floppy] = 0x1F5AB, //🖫
-
- [boxemp] = 0x2610, //â˜
- [boxchk] = 0x2611, //☑
- [boxX] = 0x2612, //☒
-
- [bbstr] = 0x23A1, //⎡
- [bbstl] = 0x23A4, //⎤
- [bbml] = 0x23A8, //⎨
- [bbmr] = 0x23AC, //⎬
- [bbmb] = 0x23AA, //⎪
- [bbrtr] = 0x23A7, //⎧
- [bbrbr] = 0x23A9, //⎩
- [bbrtl] = 0x23AB, //⎫
- [bbrbl] = 0x23AD, //⎭
- [bbsbr] = 0x23A3, //⎣
- [bbsbl] = 0x23A6, //⎦
- [bbmbr] = 0x23A5, //⎥
- [bbmbl] = 0x23A2, //⎢
-
- [Agrave] = 0x0300,//eÌ€ //above [wtf] = 0x1242A, //ð’ª
- [Aacute] = 0x0301,//eÌ //1st
- [Acircm] = 0x0302,//ê //2nd
- [Atilde] = 0x0303,//ẽ //5th
- [Abreve] = 0x0306,//ĕ //4th
- [Adiaer] = 0x0308,//ë //3rd
- [Adacut] = 0x030B,//e̋
-
- // not all ogham letters, as I
- // actually intend to use them for hex
- [OS] = 0x1680,//space
- [Oa] = 0x1681,//1
- [Ob] = 0x1682,//2
- [Oc] = 0x1683,//3
- [Od] = 0x1684,//4
- [Oe] = 0x1685,//5
- [Of] = 0x1686,//6
- [Og] = 0x1687,//7
- [Oh] = 0x1688,//8
- [Oi] = 0x1689,//9
- [OA] = 0x168A,//A
- [OB] = 0x168B,//B
- [OC] = 0x168C,//C
- [OD] = 0x168D,//D
- [OE] = 0x168E,//E
- [OF] = 0x168F,//F
- [Os] = 0x169B,//Start
- [OED] = 0x169C,//End
- [Ox] = 0x1695,//X
-
- [gnd] = 0x23DA,//âš
- [sqr] = 0x238D,//âŽ, actually monostable
- [sine] = 0x223F,//∿
- [opt] = 0x2325,//⌥, actually option used for switch
-
- [geq] = 0x2264, //≤
- [leq] = 0x2265, //≥
- [brkup] = 0xFE38, //︸
- [brkdn] = 0xFE37, //︷
- [perup] = 0xFE35, //︵
- [perdn] = 0xFE36, //︶
- //GREEKL
- [rone] = 0x2170, // 1:: â…°
- [rtwo] = 0x2171, // 2:: â…±
- [rthree] = 0x2172, // 3:: â…²
- [rfour] = 0x2173, // 4:: â…³
- [rfive] = 0x2174, // 5:: â…´
- [rsix] = 0x2175, // 6:: â…µ
- [rseven] = 0x2176, // 7:: â…¶
- [reight] = 0x2177, // 8:: â…·
- [rnine] = 0x2178, // 9:: â…¸
- [rten] = 0x2179, // 0:: â…¹
- [gq] = 0x03B8, // q:: θ
- [gw] = 0x03C9, // w:: ω
- [ge] = 0x03B5, // e:: ε
- [gr] = 0x03C1, // r:: Ï
- [gt] = 0x03C4, // t:: Ï„
- [gy] = 0x03C8, // y:: ψ
- [gu] = 0x03C5, // u:: Ï…
- [gi] = 0x03B9, // i:: ι
- [go] = 0x03BF, // o:: ο
- [gp] = 0x03C0, // p:: π
- [ga] = 0x03B1, // a:: α
- [gs] = 0x03C3, // s:: σ
- [gd] = 0x03B4, // d:: δ
- [gf] = 0x03C6, // f:: φ
- [gg] = 0x03B3, // g:: γ
- [gh] = 0x03B7, // h:: η
- [gj] = 0x03D1, // j:: Ï‘
- [gk] = 0x03BA, // k:: κ
- [gl] = 0x03BB, // l:: λ
- [gz] = 0x03B6, // z:: ζ
- [gx] = 0x03BE, // x:: ξ
- [gc] = 0x03C7, // c:: χ
- [gv] = 0x03C2, // v:: Ï‚
- [gb] = 0x03B2, // b:: β
- [gn] = 0x03BD, // n:: ν
- [gm] = 0x03BC, // m:: μ
- //GREEKU
- [Rone] = 0x2160, // 1:: â… 
- [Rtwo] = 0x2161, // 2:: â…¡
- [Rthree] = 0x2162, // 3:: â…¢
- [Rfour] = 0x2163, // 4:: â…£
- [Rfive] = 0x2164, // 5:: â…¤
- [Rsix] = 0x2165, // 6:: â…¥
- [Rseven] = 0x2166, // 7:: â…¦
- [Reight] = 0x2167, // 8:: â…§
- [Rnine] = 0x2168, // 9:: â…¨
- [Rten] = 0x2169, // 0:: â…©
- [Gq] = 0x0398, // Q:: Θ
- [Gw] = 0x03A9, // W:: Ω
- [Ge] = 0x0395, // E:: Ε
- [Gr] = 0x03A1, // R:: Ρ
- [Gt] = 0x03A4, // T:: Τ
- [Gy] = 0x03A8, // Y:: Ψ
- [Gu] = 0x03A5, // U:: Υ
- [Gi] = 0x0399, // I:: Ι
- [Go] = 0x039F, // O:: Ο
- [Gp] = 0x03A0, // P:: Π
- [Ga] = 0x0391, // A:: Α
- [Gs] = 0x03A3, // S:: Σ
- [Gd] = 0x0394, // D:: Δ
- [Gf] = 0x03A6, // F:: Φ
- [Gg] = 0x0393, // G:: Γ
- [Gh] = 0x0397, // H:: Η
- [Gj] = 0x004A, // J:: J
- [Gk] = 0x039A, // K:: Κ
- [Gl] = 0x039B, // L:: Λ
- [Gz] = 0x0396, // Z:: Ζ
- [Gx] = 0x039E, // X:: Ξ
- [Gc] = 0x03A7, // C:: Χ
- [Gv] = 0x0056, // V:: V
- [Gb] = 0x0392, // B:: Î’
- [Gn] = 0x039D, // N:: Î
- [Gm] = 0x039C, // M:: Μ
+ // MATH
+ [neq] = 0x2260, //≠
+ [intgrl] = 0x222B, //∫
+ [angl] = 0x2220, //∠
+ [imply] = 0x21D2, //⇒
+ [equiv] = 0x21D4, //⇔
+ [porp] = 0x221D, //âˆ
+ [exists] = 0x2203, //∃
+ [nexists] = 0x2204, //∄
+ [forall] = 0x2200, //∀
+ [and] = 0x2227, //∧
+ [or] = 0x2228, //∨
+ [xor] = 0x2295, //⊕
+ [apeql] = 0x2245, //≅
+ [root] = 0x221A, //√
+ [not ] = 0x00AC, //¬
+ [sum] = 0x2211, //∑
+ [plsminus] = 0x00B1, //±
+ [infin] = 0x221E, //∞
+ [emtyset] = 0x2205, //∅
+ [Mn] = 0x2115, //â„•
+ [Mz] = 0x2124, //ℤ
+ [Mq] = 0x211A, //â„š
+ [Mr] = 0x211D, //â„
+ [Mc] = 0x2102, //â„‚
+ [eleof] = 0x2208, //∈
+ [member] = 0x220B, //∋
+ [neleof] = 0x2209, //∉
+ [nmember] = 0x220C, //∌
+ [subsetof] = 0x2282, //⊂
+ [suprsetof] = 0x2283, //
+ [intersection] = 0x2229, //∩
+ [Munion] = 0x222A, //∪
+ // Symbol
+ [arwl] = 0x2190, //â†
+ [arwu] = 0x2191, //↑
+ [arwr] = 0x2192, //→
+ [arwd] = 0x2193, //↓
+
+ [uxclm] = 0x00A1, //¡
+ [cent] = 0x00A2, //¢
+ [degree] = 0x00B0, //°
+ [trade] = 0x2122, //â„¢
+ [copy] = 0x00A9, //©
+ [numero] = 0x2116, //â„–
+ [sect] = 0x00A7, //§
+ [mdot] = 0x00B7, //·
+ [rang] = 0x299C, //⦜
+
+ [lshade] = 0x2591, //â–‘
+ [mshade] = 0x2592, //â–’
+ [dshade] = 0x2593, //â–“
+
+ [fire] = 0x1F525, //🔥
+ [water] = 0x1F322, //🌢
+ [cleft] = 0x1F12F, //🄯
+ [baster] = 0x1F7BC, //🞼
+ [neteen] = 0x1F51E, //🔞
+ [floppy] = 0x1F5AB, //🖫
+
+ [boxemp] = 0x2610, //â˜
+ [boxchk] = 0x2611, //☑
+ [boxX] = 0x2612, //☒
+
+ [bbstr] = 0x23A1, //⎡
+ [bbstl] = 0x23A4, //⎤
+ [bbml] = 0x23A8, //⎨
+ [bbmr] = 0x23AC, //⎬
+ [bbmb] = 0x23AA, //⎪
+ [bbrtr] = 0x23A7, //⎧
+ [bbrbr] = 0x23A9, //⎩
+ [bbrtl] = 0x23AB, //⎫
+ [bbrbl] = 0x23AD, //⎭
+ [bbsbr] = 0x23A3, //⎣
+ [bbsbl] = 0x23A6, //⎦
+ [bbmbr] = 0x23A5, //⎥
+ [bbmbl] = 0x23A2, //⎢
+
+ [Agrave] = 0x0300, // eÌ€ //above [wtf] = 0x1242A, //ð’ª
+ [Aacute] = 0x0301, // eÌ //1st
+ [Acircm] = 0x0302, // ê //2nd
+ [Atilde] = 0x0303, // ẽ //5th
+ [Abreve] = 0x0306, // ĕ //4th
+ [Adiaer] = 0x0308, // ë //3rd
+ [Adacut] = 0x030B, // e̋
+
+ // not all ogham letters, as I
+ // actually intend to use them for hex
+ [OS] = 0x1680, // space
+ [Oa] = 0x1681, // 1
+ [Ob] = 0x1682, // 2
+ [Oc] = 0x1683, // 3
+ [Od] = 0x1684, // 4
+ [Oe] = 0x1685, // 5
+ [Of] = 0x1686, // 6
+ [Og] = 0x1687, // 7
+ [Oh] = 0x1688, // 8
+ [Oi] = 0x1689, // 9
+ [OA] = 0x168A, // A
+ [OB] = 0x168B, // B
+ [OC] = 0x168C, // C
+ [OD] = 0x168D, // D
+ [OE] = 0x168E, // E
+ [OF] = 0x168F, // F
+ [Os] = 0x169B, // Start
+ [OED] = 0x169C, // End
+ [Ox] = 0x1695, // X
+
+ [gnd] = 0x23DA, //âš
+ [sqr] = 0x238D, //âŽ, actually monostable
+ [sine] = 0x223F, //∿
+ [opt] = 0x2325, //⌥, actually option used for switch
+
+ [geq] = 0x2264, //≤
+ [leq] = 0x2265, //≥
+ [brkup] = 0xFE38, //︸
+ [brkdn] = 0xFE37, //︷
+ [perup] = 0xFE35, //︵
+ [perdn] = 0xFE36, //︶
+ // GREEKL
+ [rone] = 0x2170, // 1:: â…°
+ [rtwo] = 0x2171, // 2:: â…±
+ [rthree] = 0x2172, // 3:: â…²
+ [rfour] = 0x2173, // 4:: â…³
+ [rfive] = 0x2174, // 5:: â…´
+ [rsix] = 0x2175, // 6:: â…µ
+ [rseven] = 0x2176, // 7:: â…¶
+ [reight] = 0x2177, // 8:: â…·
+ [rnine] = 0x2178, // 9:: â…¸
+ [rten] = 0x2179, // 0:: â…¹
+ [gq] = 0x03B8, // q:: θ
+ [gw] = 0x03C9, // w:: ω
+ [ge] = 0x03B5, // e:: ε
+ [gr] = 0x03C1, // r:: Ï
+ [gt] = 0x03C4, // t:: Ï„
+ [gy] = 0x03C8, // y:: ψ
+ [gu] = 0x03C5, // u:: Ï…
+ [gi] = 0x03B9, // i:: ι
+ [go] = 0x03BF, // o:: ο
+ [gp] = 0x03C0, // p:: π
+ [ga] = 0x03B1, // a:: α
+ [gs] = 0x03C3, // s:: σ
+ [gd] = 0x03B4, // d:: δ
+ [gf] = 0x03C6, // f:: φ
+ [gg] = 0x03B3, // g:: γ
+ [gh] = 0x03B7, // h:: η
+ [gj] = 0x03D1, // j:: Ï‘
+ [gk] = 0x03BA, // k:: κ
+ [gl] = 0x03BB, // l:: λ
+ [gz] = 0x03B6, // z:: ζ
+ [gx] = 0x03BE, // x:: ξ
+ [gc] = 0x03C7, // c:: χ
+ [gv] = 0x03C2, // v:: Ï‚
+ [gb] = 0x03B2, // b:: β
+ [gn] = 0x03BD, // n:: ν
+ [gm] = 0x03BC, // m:: μ
+ // GREEKU
+ [Rone] = 0x2160, // 1:: â… 
+ [Rtwo] = 0x2161, // 2:: â…¡
+ [Rthree] = 0x2162, // 3:: â…¢
+ [Rfour] = 0x2163, // 4:: â…£
+ [Rfive] = 0x2164, // 5:: â…¤
+ [Rsix] = 0x2165, // 6:: â…¥
+ [Rseven] = 0x2166, // 7:: â…¦
+ [Reight] = 0x2167, // 8:: â…§
+ [Rnine] = 0x2168, // 9:: â…¨
+ [Rten] = 0x2169, // 0:: â…©
+ [Gq] = 0x0398, // Q:: Θ
+ [Gw] = 0x03A9, // W:: Ω
+ [Ge] = 0x0395, // E:: Ε
+ [Gr] = 0x03A1, // R:: Ρ
+ [Gt] = 0x03A4, // T:: Τ
+ [Gy] = 0x03A8, // Y:: Ψ
+ [Gu] = 0x03A5, // U:: Υ
+ [Gi] = 0x0399, // I:: Ι
+ [Go] = 0x039F, // O:: Ο
+ [Gp] = 0x03A0, // P:: Π
+ [Ga] = 0x0391, // A:: Α
+ [Gs] = 0x03A3, // S:: Σ
+ [Gd] = 0x0394, // D:: Δ
+ [Gf] = 0x03A6, // F:: Φ
+ [Gg] = 0x0393, // G:: Γ
+ [Gh] = 0x0397, // H:: Η
+ [Gj] = 0x004A, // J:: J
+ [Gk] = 0x039A, // K:: Κ
+ [Gl] = 0x039B, // L:: Λ
+ [Gz] = 0x0396, // Z:: Ζ
+ [Gx] = 0x039E, // X:: Ξ
+ [Gc] = 0x03A7, // C:: Χ
+ [Gv] = 0x0056, // V:: V
+ [Gb] = 0x0392, // B:: Î’
+ [Gn] = 0x039D, // N:: Î
+ [Gm] = 0x039C, // M:: Μ
+
+ [tone] = 0x00B9, // 1:: ¹
+ [ttwo] = 0x00B2, // 2:: ²
+ [tthree] = 0x00B3, // 3:: ³
+ [tfour] = 0x2074, // 4:: â´
+ [tfive] = 0x2075, // 5:: âµ
+ [tsix] = 0x2076, // 6:: â¶
+ [tseven] = 0x2077, // 7:: â·
+ [teight] = 0x2078, // 8:: â¸
+ [tnine] = 0x2079, // 9:: â¹
+ [tzero] = 0x2070, // 0 :: â°
+ [tq] = 0x06F9, // Q:: Û¹ - superscript q doesn't exist.
+ [tw] = 0x02B7, // W:: Ê·
+ [te] = 0x1D49, // E:: ᵉ
+ [tr] = 0x02B3, // R:: ʳ
+ [tt] = 0x1D57, // T:: áµ—
+ [ty] = 0x02B8, // Y:: ʸ
+ [tu] = 0x1D58, // U:: ᵘ
+ [ti] = 0x2071, // I:: â±
+ [to] = 0x1D52, // O:: áµ’
+ [tp] = 0x1D56, // P:: áµ–
+ [ta] = 0x1D43, // A:: ᵃ
+ [ts] = 0x02E2, // S:: ˢ
+ [td] = 0x1D48, // D:: ᵈ
+ [tf] = 0x1DA0, // F:: ᶠ
+ [tg] = 0x1D4D, // G:: áµ
+ [th] = 0x02B0, // H:: Ê°
+ [tj] = 0x02B2, // J:: ʲ
+ [tk] = 0x1D4F, // K:: áµ
+ [tl] = 0x02E1, // L:: Ë¡
+ [tz] = 0x1DBB, // Z:: ᶻ
+ [tx] = 0x02E3, // X:: ˣ
+ [tc] = 0x1D9C, // C:: ᶜ
+ [tv] = 0x1D5B, // V:: áµ›
+ [tb] = 0x1D47, // B:: ᵇ
+ [tn] = 0x207F, // N:: â¿
+ [tm] = 0x1D50, // M:: áµ
+
+ [fwone] = 0xFF11, // 1:: 1
+ [fwtwo] = 0xFF12, // 2:: ï¼’
+ [fwthree] = 0xFF13, // 3:: 3
+ [fwfour] = 0xFF14, // 4:: ï¼”
+ [fwfive] = 0xFF15, // 5:: 5
+ [fwsix] = 0xFF16, // 6:: ï¼–
+ [fwseven] = 0xFF17, // 7:: ï¼—
+ [fweight] = 0xFF18, // 8:: 8
+ [fwnine] = 0xFF19, // 9:: ï¼™
+ [fwzero] = 0xFF10, // 0 :: ï¼
+ [fwq] = 0xFF51, // Q:: q
+ [fww] = 0xFF57, // W:: ï½—
+ [fwe] = 0xFF45, // E:: ï½…
+ [fwr] = 0xFF52, // R:: ï½’
+ [fwt] = 0xFF54, // T:: ï½”
+ [fwy] = 0xFF59, // Y:: ï½™
+ [fwu] = 0xFF55, // U:: u
+ [fwi] = 0xFF49, // I:: i
+ [fwo] = 0xFF4F, // O:: ï½
+ [fwp] = 0xFF50, // P:: ï½
+ [fwa] = 0xFF41, // A:: ï½
+ [fws] = 0xFF53, // S:: s
+ [fwd] = 0xFF44, // D:: d
+ [fwf] = 0xFF46, // F:: f
+ [fwg] = 0xFF47, // G:: g
+ [fwh] = 0xFF48, // H:: h
+ [fwj] = 0xFF4A, // J:: j
+ [fwk] = 0xFF4B, // K:: k
+ [fwl] = 0xFF4C, // L:: l
+ [fwz] = 0xFF5A, // Z:: z
+ [fwx] = 0xFF58, // X:: x
+ [fwc] = 0xFF43, // C:: c
+ [fwv] = 0xFF56, // V:: ï½–
+ [fwb] = 0xFF42, // B:: b
+ [fwn] = 0xFF4E, // N:: n
+ [fwm] = 0xFF4D, // M:: ï½
+ // Full width caps + fractions, and a few extra symbols that lack a better place
+ [Fwone] = 0x00BC, // 1:: ¼
+ [Fwtwo] = 0x00BD, // 2:: ½
+ [Fwthree] = 0x00BE, // 3:: ¾
+ [Fwfour] = 0x2153, // 4:: â…“
+ [Fwfive] = 0x2154, // 5:: â…”
+ [Fwsix] = 0x2155, // 6:: â…•
+ [Fwseven] = 0x215B, // 7:: â…›
+ [Fweight] = 0x00A0, // 8:: &nbsp
+ [Fwnine] = 0x203D, // 9:: ibang ‽
+ [Fwzero] = 0x2400, // 0 :: nullpic â€
+ [Fwq] = 0xFF31, // Q:: ï¼±
+ [Fww] = 0xFF37, // W:: ï¼·
+ [Fwe] = 0xFF25, // E:: ï¼¥
+ [Fwr] = 0xFF32, // R:: ï¼²
+ [Fwt] = 0xFF34, // T:: ï¼´
+ [Fwy] = 0xFF39, // Y:: ï¼¹
+ [Fwu] = 0xFF35, // U:: ï¼µ
+ [Fwi] = 0xFF29, // I:: I
+ [Fwo] = 0xFF2F, // O:: O
+ [Fwp] = 0xFF30, // P:: ï¼°
+ [Fwa] = 0xFF21, // A:: A
+ [Fws] = 0xFF33, // S:: ï¼³
+ [Fwd] = 0xFF24, // D:: D
+ [Fwf] = 0xFF26, // F:: F
+ [Fwg] = 0xFF27, // G:: G
+ [Fwh] = 0xFF28, // H:: H
+ [Fwj] = 0xFF2A, // J:: J
+ [Fwk] = 0xFF2B, // K:: K
+ [Fwl] = 0xFF2C, // L:: L
+ [Fwz] = 0xFF3A, // Z:: Z
+ [Fwx] = 0xFF38, // X:: X
+ [Fwc] = 0xFF23, // C:: ï¼£
+ [Fwv] = 0xFF36, // V:: V
+ [Fwb] = 0xFF22, // B:: ï¼¢
+ [Fwn] = 0xFF2E, // N:: ï¼®
+ [Fwm] = 0xFF2D, // M:: ï¼­
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+
[BASE] = LAYOUT_ergodox( // layer 0 : default
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSLS,
@@ -428,8 +651,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left hand
UC_M_LN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
UC_M_WC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15, KC_NO,
- KC_NO,KC_F21, KC_F22, KC_F23,KC_F24, KC_NO,
- KC_NO,KC_PAUSE,KC_PSCR,KC_SLCK,KC_NO,KC_NO,KC_NO,
+ TO(TINY),KC_F21, KC_F22, KC_F23,KC_F24, MAGIC_TOGGLE_NKRO,
+ TO(FULL),KC_PAUSE,KC_PSCR,KC_SLCK,KC_NO,KC_NO,KC_NO,
EEP_RST,TO(BASE),TO(BASE),TO(BASE),TO(BASE),
KC_NO,KC_NO,
KC_NO,
@@ -525,23 +748,73 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
),
+[TINY] = LAYOUT_ergodox(
+ KC_ESC, X(tone), X(ttwo), X(tthree), X(tfour), X(tfive), KC_GRV,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, X(tp), X(ty), KC_SLSH,
+ KC_SLSH, X(ta), X(to), X(te), X(tu), X(ti),
+ KC_TRNS, KC_SCLN, X(tq), X(tj), X(tk), X(tx), KC_AMPR,
+ KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
+ KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
+
+ TO(BASE), X(tsix), X(tseven), X(teight), X(tnine), X(tzero), KC_BSPC,
+ KC_PGUP, X(tf), X(tg), X(tc), X(tr), X(tl), KC_EQL,
+ X(td), X(th), X(tt), X(tn), X(ts), KC_MINS,
+ KC_PGDN, X(tb), X(tm), X(tw), X(tv), X(tz), KC_TRNS,
+ KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
+ KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
+),
+
+[FULL] = LAYOUT_ergodox(
+ KC_ESC, X(fwone), X(fwtwo), X(fwthree), X(fwfour), X(fwfive), KC_GRV,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, X(fwp), X(fwy), KC_SLSH,
+ KC_SLSH, X(fwa), X(fwo), X(fwe), X(fwu), X(fwi),
+ MO(FULU), KC_SCLN, X(fwq), X(fwj), X(fwk), X(fwx), KC_AMPR,
+ KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
+ KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
+
+ TO(BASE), X(fwsix), X(fwseven), X(fweight), X(fwnine), X(fwzero), KC_BSPC,
+ KC_PGUP, X(fwf), X(fwg), X(fwc), X(fwr), X(fwl), KC_EQL,
+ X(fwd), X(fwh), X(fwt), X(fwn), X(fws), KC_MINS,
+ KC_PGDN, X(fwb), X(fwm), X(fww), X(fwv), X(fwz), MO(FULU),
+ KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
+ KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
+),
+
+[FULU] = LAYOUT_ergodox(
+ KC_ESC, X(Fwone), X(Fwtwo), X(Fwthree), X(Fwfour), X(Fwfive), KC_GRV,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, X(Fwp), X(Fwy), KC_SLSH,
+ KC_SLSH, X(Fwa), X(Fwo), X(Fwe), X(Fwu), X(Fwi),
+ KC_TRNS, KC_SCLN, X(Fwq), X(Fwj), X(Fwk), X(Fwx), KC_AMPR,
+ KC_MS_L, TO(BASE), TO(BASE), KC_INS, KC_DEL,
+ KC_LBRC, KC_HOME, KC_UP, KC_SPC, KC_LGUI, KC_DOWN,
+
+ TO(BASE), X(Fwsix), X(Fwseven), X(Fweight), X(Fwnine), X(Fwzero), KC_BSPC,
+ KC_PGUP, X(Fwf), X(Fwg), X(Fwc), X(Fwr), X(Fwl), KC_EQL,
+ X(Fwd), X(Fwh), X(Fwt), X(Fwn), X(Fws), KC_MINS,
+ KC_PGDN, X(Fwb), X(Fwm), X(Fww), X(Fwv), X(Fwz), KC_TRNS,
+ KC_RCTL, KC_RALT, KC_APP, TO(BASE), TO(BASE),
+ KC_END, KC_RBRC, KC_LEFT, KC_RGHT, KC_ENT, KC_SPC
+),
+
+ // clang-format on
+
};
// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
+void matrix_init_user(void){
};
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
+ // TODO: Make this relevant to the ErgoDox EZ.
case 1:
ergodox_right_led_1_on();
break;
diff --git a/keyboards/ktec/staryu/config.h b/keyboards/ktec/staryu/config.h
index db48e0ea5e..876d61223f 100755
--- a/keyboards/ktec/staryu/config.h
+++ b/keyboards/ktec/staryu/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x2328
-#define DEVICE_VER 0x0205
-#define MANUFACTURER K.T.E.C.
-#define PRODUCT Staryu
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ NO_PIN, D0, D1 }, \
{ D4, D3, D2 }, \
}
-#define UNUSED_PINS
#define RGB_DI_PIN C6
#define RGBLED_NUM 1 // Number of LEDs
diff --git a/keyboards/ktec/staryu/info.json b/keyboards/ktec/staryu/info.json
index deaf3d140a..8971ec7021 100644
--- a/keyboards/ktec/staryu/info.json
+++ b/keyboards/ktec/staryu/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "staryu",
+ "keyboard_name": "Staryu",
+ "manufacturer": "K.T.E.C.",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x2328",
+ "device_version": "2.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}]
diff --git a/keyboards/kudox/columner/config.h b/keyboards/kudox/columner/config.h
index 13a02bc803..a97d03596c 100644
--- a/keyboards/kudox/columner/config.h
+++ b/keyboards/kudox/columner/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9691
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/kudox/columner/info.json b/keyboards/kudox/columner/info.json
index d11632d9da..2bc8ff50d3 100644
--- a/keyboards/kudox/columner/info.json
+++ b/keyboards/kudox/columner/info.json
@@ -1,7 +1,13 @@
{
+ "keyboard_name": "The Kudox Keyboard Columner",
+ "manufacturer": "Kumao Kobo",
"url": "http://kumaokobo.com/",
"maintainer": "Kumao Kobo",
- "keyboard_name": "Kudox Keyboard Columner",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9691",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox/rev1/config.h b/keyboards/kudox/rev1/config.h
index de5dbbbe71..36a933dc2e 100644
--- a/keyboards/kudox/rev1/config.h
+++ b/keyboards/kudox/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9690
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/kudox/rev1/info.json b/keyboards/kudox/rev1/info.json
index f92d525838..45f3a4e304 100644
--- a/keyboards/kudox/rev1/info.json
+++ b/keyboards/kudox/rev1/info.json
@@ -1,7 +1,13 @@
{
+ "keyboard_name": "The Kudox Keyboard Rev1",
+ "manufacturer": "Kumao Kobo",
"url": "http://kumaokobo.com/",
"maintainer": "Kumao Kobo",
- "keyboard_name": "Kudox Keyboard Rev1",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9690",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox/rev2/config.h b/keyboards/kudox/rev2/config.h
index c510926919..36a933dc2e 100644
--- a/keyboards/kudox/rev2/config.h
+++ b/keyboards/kudox/rev2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9690
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/kudox/rev2/info.json b/keyboards/kudox/rev2/info.json
index 73cb5a525a..2af08beaf2 100644
--- a/keyboards/kudox/rev2/info.json
+++ b/keyboards/kudox/rev2/info.json
@@ -1,7 +1,13 @@
{
+ "keyboard_name": "The Kudox Keyboard Rev2",
+ "manufacturer": "Kumao Kobo",
"url": "http://kumaokobo.com/",
"maintainer": "Kumao Kobo",
- "keyboard_name": "Kudox Keyboard Rev2",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9690",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox/rev3/config.h b/keyboards/kudox/rev3/config.h
index 969111d0c8..a97d03596c 100644
--- a/keyboards/kudox/rev3/config.h
+++ b/keyboards/kudox/rev3/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9690
-#define DEVICE_VER 0x0300
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/kudox/rev3/info.json b/keyboards/kudox/rev3/info.json
index 84b5ce0f30..31975f28d7 100644
--- a/keyboards/kudox/rev3/info.json
+++ b/keyboards/kudox/rev3/info.json
@@ -1,7 +1,13 @@
{
+ "keyboard_name": "The Kudox Keyboard Rev3",
+ "manufacturer": "Kumao Kobo",
"url": "http://kumaokobo.com/",
"maintainer": "Kumao Kobo",
- "keyboard_name": "Kudox Keyboard Rev3",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9690",
+ "device_version": "3.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox_full/readme.md b/keyboards/kudox_full/readme.md
index 185a1394d4..494d7508c8 100644
--- a/keyboards/kudox_full/readme.md
+++ b/keyboards/kudox_full/readme.md
@@ -16,7 +16,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Building Firmware
diff --git a/keyboards/kudox_full/rev1/config.h b/keyboards/kudox_full/rev1/config.h
index bd47ed6b42..79d63f3a29 100644
--- a/keyboards/kudox_full/rev1/config.h
+++ b/keyboards/kudox_full/rev1/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9693
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Full Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/kudox_full/rev1/info.json b/keyboards/kudox_full/rev1/info.json
index 7dfbf7c4e9..bb230b352c 100644
--- a/keyboards/kudox_full/rev1/info.json
+++ b/keyboards/kudox_full/rev1/info.json
@@ -1,7 +1,13 @@
{
+ "keyboard_name": "The Kudox Full Keyboard Rev1",
+ "manufacturer": "Kumao Kobo",
"url": "http://kumaokobo.com/",
"maintainer": "Kumao Kobo",
- "keyboard_name": "Kudox Full Keyboard Rev1",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9693",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox_game/info.json b/keyboards/kudox_game/info.json
index 47fdd84b34..4cfc75850a 100644
--- a/keyboards/kudox_game/info.json
+++ b/keyboards/kudox_game/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "Kudox Game Keyboard",
+ "keyboard_name": "The Kudox Game Keyboard",
+ "manufacturer": "Kumao Kobo",
"url": "",
"maintainer": "Kumao Kobo",
+ "usb": {
+ "vid": "0xABBA",
+ "pid": "0x9696"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/kudox_game/rev1/config.h b/keyboards/kudox_game/rev1/config.h
index 821a6af8bb..1fc6411359 100644
--- a/keyboards/kudox_game/rev1/config.h
+++ b/keyboards/kudox_game/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9696
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Game Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/kudox_game/rev1/info.json b/keyboards/kudox_game/rev1/info.json
new file mode 100644
index 0000000000..ad889c2304
--- /dev/null
+++ b/keyboards/kudox_game/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kudox_game/rev2/config.h
index e1907bf29f..f61b42eb7f 100644
--- a/keyboards/kudox_game/rev2/config.h
+++ b/keyboards/kudox_game/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBA
-#define PRODUCT_ID 0x9696
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT The Kudox Game Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/kudox_game/rev2/info.json b/keyboards/kudox_game/rev2/info.json
new file mode 100644
index 0000000000..3bdd63ee28
--- /dev/null
+++ b/keyboards/kudox_game/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/kv/revt/config.h b/keyboards/kv/revt/config.h
index b718de6784..19e72ad573 100644
--- a/keyboards/kv/revt/config.h
+++ b/keyboards/kv/revt/config.h
@@ -17,19 +17,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6565
-#define PRODUCT_ID 0x6520
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hybrid
-#define PRODUCT KVT
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 21
#define MATRIX_ROW_PINS { A6, B13, B8, A0, A1, A2 }
#define MATRIX_COL_PINS { B7, B6, B5, B4, B3, B2, B14, B1, B15, B0, B9, B10, B11, B12, A14, A13, A4, A5, A7, A8, A15 }
-#define UNUSED_PINS { }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kv/revt/info.json b/keyboards/kv/revt/info.json
index 6f2b30b293..2b018ee654 100644
--- a/keyboards/kv/revt/info.json
+++ b/keyboards/kv/revt/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KVT",
+ "manufacturer": "Hybrid",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6565",
+ "pid": "0x6520",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/kv/revt/keymaps/default/keymap.c b/keyboards/kv/revt/keymaps/default/keymap.c
index 7f2d130e2c..dbbd4a9ed0 100644
--- a/keyboards/kv/revt/keymaps/default/keymap.c
+++ b/keyboards/kv/revt/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, 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_MPLY, KC_MNXT, KC_VOLU,
_______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD,
-_______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, QK_BOOT, _______, _______, _______, _______,
+_______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, QK_BOOT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/kwub/bloop/config.h b/keyboards/kwub/bloop/config.h
index f3c0bae637..5abbd8d4f9 100644
--- a/keyboards/kwub/bloop/config.h
+++ b/keyboards/kwub/bloop/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B77 // Kwub
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kwub
-#define PRODUCT Bloop65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@
{ F5, F4, C6, C7, D7 }
#define MATRIX_COL_PINS \
{ B4, B5, B6, F6, F1, F7, F0, B0, B7, D3, D2, D1, D5, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/kwub/bloop/info.json b/keyboards/kwub/bloop/info.json
index aa87c2e452..ddce5d363a 100644
--- a/keyboards/kwub/bloop/info.json
+++ b/keyboards/kwub/bloop/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bloop65",
+ "manufacturer": "Kwub",
"url": "https://geekhack.org/index.php?topic=110483.0",
"maintainer": "Kwub",
+ "usb": {
+ "vid": "0x6B77",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_625": {
"layout": [
diff --git a/keyboards/ky01/config.h b/keyboards/ky01/config.h
index e0b94622c6..47edbd2605 100644
--- a/keyboards/ky01/config.h
+++ b/keyboards/ky01/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4F /* "KO" */
-#define PRODUCT_ID 0x4B59 /* "KY" */
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KnoblesseOblige
-#define PRODUCT KY-01
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B5, B4, D7, D4, D6 }
#define MATRIX_COL_PINS { B3, B7, D0, D1, D2, D3, D5, F0, F1, F4, F5, F6, F7, C7, C6, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ky01/info.json b/keyboards/ky01/info.json
index ef6498fb04..d80cb261a2 100644
--- a/keyboards/ky01/info.json
+++ b/keyboards/ky01/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ky01",
+ "keyboard_name": "KY-01",
+ "manufacturer": "KnoblesseOblige",
"url": "https://geekhack.org/index.php?topic=107809.0",
"maintainer": "KnoblesseOblige",
+ "usb": {
+ "vid": "0x4B4F",
+ "pid": "0x4B59",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/labbe/labbeminiv1/config.h b/keyboards/labbe/labbeminiv1/config.h
index ab1b25db3d..4b47be8db8 100644
--- a/keyboards/labbe/labbeminiv1/config.h
+++ b/keyboards/labbe/labbeminiv1/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xABBE
-#define PRODUCT_ID 0x4C4D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Labbe
-#define PRODUCT Labbe Mini V1
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F5, F6 }
#define MATRIX_COL_PINS { F0, F1, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/labbe/labbeminiv1/info.json b/keyboards/labbe/labbeminiv1/info.json
index 34499f2c6a..b14a43903f 100644
--- a/keyboards/labbe/labbeminiv1/info.json
+++ b/keyboards/labbe/labbeminiv1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Labbe Mini V1",
+ "manufacturer": "Labbe",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xABBE",
+ "pid": "0x4C4D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_wasd": {
"layout": [{"x":1, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}]
diff --git a/keyboards/labyrinth75/config.h b/keyboards/labyrinth75/config.h
index afc77a8dd5..c944d14ed5 100644
--- a/keyboards/labyrinth75/config.h
+++ b/keyboards/labyrinth75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53
-#define PRODUCT_ID 0x464B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Livi
-#define PRODUCT labyrinth75
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, E6, D7, C6, D4, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/labyrinth75/info.json b/keyboards/labyrinth75/info.json
index 3871300dfe..d83e27c662 100644
--- a/keyboards/labyrinth75/info.json
+++ b/keyboards/labyrinth75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "labyrinth75",
+ "manufacturer": "Livi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x464B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":5.75, "y":0}, {"label":"F6", "x":6.75, "y":0}, {"label":"F7", "x":7.75, "y":0}, {"label":"F8", "x":8.75, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"PrtSc", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Page Up", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Page Down", "x":15, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14, "y":4.25}, {"label":"End", "x":15, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":5.25, "w":1.25}, {"label":"\u2190", "x":13, "y":5.25}, {"label":"\u2193", "x":14, "y":5.25}, {"label":"\u2192", "x":15, "y":5.25}]
diff --git a/keyboards/late9/config.h b/keyboards/late9/config.h
index a4dc07a7c4..6057518955 100644
--- a/keyboards/late9/config.h
+++ b/keyboards/late9/config.h
@@ -18,12 +18,6 @@ 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 0x3777
-#define MANUFACTURER rookiebwoy
-#define PRODUCT LATE-9
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/late9/readme.md b/keyboards/late9/readme.md
index 1d85e788fb..93e5a40823 100644
--- a/keyboards/late9/readme.md
+++ b/keyboards/late9/readme.md
@@ -20,7 +20,7 @@ Flashing example for this keyboard:
make late9/rev1:default:flash
-When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device.
+When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `QK_BOOT` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device.
After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard.
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/late9/rev1/config.h b/keyboards/late9/rev1/config.h
index 20d1a553cc..7521f34330 100644
--- a/keyboards/late9/rev1/config.h
+++ b/keyboards/late9/rev1/config.h
@@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0010
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 6
#define MATRIX_COLS 3
diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json
index 66175c9afa..b439b05347 100644
--- a/keyboards/late9/rev1/info.json
+++ b/keyboards/late9/rev1/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "LATE-9",
- "keyboard_folder": "late9/rev1",
+ "manufacturer": "rookiebwoy",
"url": "https://github.com/rookiebwoy/late-9)",
"maintainer": "rookiebwoy",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3777",
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h
index 02d8522606..585f632c40 100644
--- a/keyboards/latincompass/latin17rgb/config.h
+++ b/keyboards/latincompass/latin17rgb/config.h
@@ -18,11 +18,6 @@
/* USB Device descriptor parameter */
#include "config_common.h"
-#define VENDOR_ID 0x7C88 // "hw" = haierwangwei2005
-#define PRODUCT_ID 0x7C97 // "lp" = latin17RGB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 18438880
-#define PRODUCT Latin17RGB
/* key matrix size */
#define MATRIX_ROWS 5
@@ -40,7 +35,6 @@
*/
#define MATRIX_ROW_PINS {C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS {F7, F6, F5, F4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json
index 61aae4f8d6..fa2320474f 100644
--- a/keyboards/latincompass/latin17rgb/info.json
+++ b/keyboards/latincompass/latin17rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "latin17rgb",
+ "keyboard_name": "Latin17RGB",
+ "manufacturer": "18438880",
"url": "",
"maintainer": "18438880",
+ "usb": {
+ "vid": "0x7C88",
+ "pid": "0x7C97",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/latincompass/latin47ble/config.h b/keyboards/latincompass/latin47ble/config.h
index eb10693501..019e18751d 100644
--- a/keyboards/latincompass/latin47ble/config.h
+++ b/keyboards/latincompass/latin47ble/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6C63 // "lc" = latincompass
-#define PRODUCT_ID 0x6C62 // "lb" = latin47BLE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER latincompass
-#define PRODUCT Latin47BLE
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { D6, D7, B5, B6 ,C6, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/latincompass/latin47ble/info.json b/keyboards/latincompass/latin47ble/info.json
index 56b14136d8..aeb6ad305e 100644
--- a/keyboards/latincompass/latin47ble/info.json
+++ b/keyboards/latincompass/latin47ble/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Latin47ble",
+ "keyboard_name": "Latin47BLE",
+ "manufacturer": "latincompass",
"url": "",
"maintainer": "latincompass",
+ "usb": {
+ "vid": "0x6C63",
+ "pid": "0x6C62",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h
index fa4ea39288..0058297dda 100644
--- a/keyboards/latincompass/latin60rgb/config.h
+++ b/keyboards/latincompass/latin60rgb/config.h
@@ -17,11 +17,6 @@
/* USB Device descriptor parameter */
#include "config_common.h"
-#define VENDOR_ID 0x6C63 // "lc" = latincompass
-#define PRODUCT_ID 0x6C69 // "lp" = latin60RGB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER latincompass
-#define PRODUCT Latin60RGB
/* key matrix size */
#define MATRIX_ROWS 5
@@ -39,7 +34,6 @@
*/
#define MATRIX_ROW_PINS {C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS {F7, F6, F5, F4, F1, F0, E6, B0, B1, B2, B3, D6, D4, D3}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latin60rgb/info.json b/keyboards/latincompass/latin60rgb/info.json
index a493befaf9..21765b94b9 100644
--- a/keyboards/latincompass/latin60rgb/info.json
+++ b/keyboards/latincompass/latin60rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "latin60rgb",
+ "keyboard_name": "Latin60RGB",
+ "manufacturer": "latincompass",
"url": "",
"maintainer": "latincompass",
+ "usb": {
+ "vid": "0x6C63",
+ "pid": "0x6C69",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_latin_hhkb": {
"layout": [
diff --git a/keyboards/latincompass/latin64ble/config.h b/keyboards/latincompass/latin64ble/config.h
index 68e8e7b293..5bb3ca4562 100644
--- a/keyboards/latincompass/latin64ble/config.h
+++ b/keyboards/latincompass/latin64ble/config.h
@@ -16,18 +16,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x6C63 // "lc" = latincompass
-#define PRODUCT_ID 0x6C71 // "lp" = latin64BLE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER latincompass
-#define PRODUCT Latin64BLE
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D6, D7, B5, B6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latin64ble/info.json b/keyboards/latincompass/latin64ble/info.json
index 99fe62b266..b3475a2aab 100644
--- a/keyboards/latincompass/latin64ble/info.json
+++ b/keyboards/latincompass/latin64ble/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Latin64ble",
+ "keyboard_name": "Latin64BLE",
+ "manufacturer": "latincompass",
"url": "",
"maintainer": "latincompass",
+ "usb": {
+ "vid": "0x6C63",
+ "pid": "0x6C71",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h
index 9beebe0f87..17083580a6 100644
--- a/keyboards/latincompass/latin6rgb/config.h
+++ b/keyboards/latincompass/latin6rgb/config.h
@@ -19,11 +19,6 @@
/* USB Device descriptor parameter */
#include "config_common.h"
-#define VENDOR_ID 0x7C88 // "hw" = haierwangwei
-#define PRODUCT_ID 0x7C96 // "lp" = latin6RGB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 18438880
-#define PRODUCT Latin6rgb
/* key matrix size */
#define MATRIX_ROWS 2
@@ -41,7 +36,6 @@
*/
#define MATRIX_ROW_PINS {C7, C6 }
#define MATRIX_COL_PINS {F7, F6, F5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latin6rgb/info.json b/keyboards/latincompass/latin6rgb/info.json
index 26508e9320..a2c63ae8ea 100644
--- a/keyboards/latincompass/latin6rgb/info.json
+++ b/keyboards/latincompass/latin6rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "latin6rgb",
+ "keyboard_name": "Latin6rgb",
+ "manufacturer": "18438880",
"url": "",
"maintainer": "18438880",
+ "usb": {
+ "vid": "0x7C88",
+ "pid": "0x7C96",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_2x3": {
"layout": [
diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h
index 5cff076d9d..255ddc89db 100644
--- a/keyboards/latincompass/latinpad/config.h
+++ b/keyboards/latincompass/latinpad/config.h
@@ -17,18 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x6C63 // "lc" = latincompass
-#define PRODUCT_ID 0x6C70 // "lp" = latinpad
-#define DEVICE_VER 0x0001
-#define MANUFACTURER latincompass
-#define PRODUCT latinpad
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1 }
#define MATRIX_COL_PINS { D4, C6, D7, E6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latinpad/info.json b/keyboards/latincompass/latinpad/info.json
index 0c86498e7d..0a2ef6f69b 100644
--- a/keyboards/latincompass/latinpad/info.json
+++ b/keyboards/latincompass/latinpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "latinpad",
+ "manufacturer": "latincompass",
"url": "https://github.com/latincompass/2-RotaryEncoder-pad",
"maintainer": "latincompass",
+ "usb": {
+ "vid": "0x6C63",
+ "pid": "0x6C70",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
diff --git a/keyboards/latincompass/latinpadble/config.h b/keyboards/latincompass/latinpadble/config.h
index fc833a0269..09198df612 100644
--- a/keyboards/latincompass/latinpadble/config.h
+++ b/keyboards/latincompass/latinpadble/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0x7C88 // "hw" = haierwangwei2005
-#define PRODUCT_ID 0x7C98 // "lp" = latinpadble
-#define DEVICE_VER 0x0001
-#define MANUFACTURER haierwangwei2005
-#define PRODUCT latinpadble
// #define NO_ACTION_LAYER
// #define NO_ACTION_TAPPING
@@ -32,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { F0, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { D6, D7, B5, B6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/latincompass/latinpadble/info.json b/keyboards/latincompass/latinpadble/info.json
index b640d3e46e..2f0bf01616 100644
--- a/keyboards/latincompass/latinpadble/info.json
+++ b/keyboards/latincompass/latinpadble/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "latinpadble",
+ "manufacturer": "haierwangwei2005",
"url": "https://github.com/latincompass/2-RotaryEncoder-pad",
"maintainer": "haierwangwei2005",
+ "usb": {
+ "vid": "0x7C88",
+ "pid": "0x7C98",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_pad": {
"layout": [
diff --git a/keyboards/lazydesigners/bolt/config.h b/keyboards/lazydesigners/bolt/config.h
index 37006c19e3..7139bca6ac 100644
--- a/keyboards/lazydesigners/bolt/config.h
+++ b/keyboards/lazydesigners/bolt/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0041
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LAZYDESIGNERS
-#define PRODUCT Bolt
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/lazydesigners/bolt/info.json b/keyboards/lazydesigners/bolt/info.json
index 6e669d4ca9..783293945d 100644
--- a/keyboards/lazydesigners/bolt/info.json
+++ b/keyboards/lazydesigners/bolt/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bolt",
+ "manufacturer": "LAZYDESIGNERS",
"url": "http://lazydesigners.cn",
"maintainer": "LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0041",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lazydesigners/bolt/readme.md b/keyboards/lazydesigners/bolt/readme.md
index d89bca097e..4d759ea706 100644
--- a/keyboards/lazydesigners/bolt/readme.md
+++ b/keyboards/lazydesigners/bolt/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make lazydesigners/bolt:default:flash
-**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/cassette8/config.h b/keyboards/lazydesigners/cassette8/config.h
index ee20577e3d..4ccd6687fd 100755
--- a/keyboards/lazydesigners/cassette8/config.h
+++ b/keyboards/lazydesigners/cassette8/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LAZYDESIGNERS
-#define PRODUCT Cassette8
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
diff --git a/keyboards/lazydesigners/cassette8/info.json b/keyboards/lazydesigners/cassette8/info.json
index 980d4a3d93..24ba706b64 100755
--- a/keyboards/lazydesigners/cassette8/info.json
+++ b/keyboards/lazydesigners/cassette8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cassette8",
+ "manufacturer": "LAZYDESIGNERS",
"url": "http://lazydesigners.cn",
"maintainer": "Jacky@LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lazydesigners/cassette8/readme.md b/keyboards/lazydesigners/cassette8/readme.md
index 7211bf5e97..b973c45037 100755
--- a/keyboards/lazydesigners/cassette8/readme.md
+++ b/keyboards/lazydesigners/cassette8/readme.md
@@ -16,6 +16,6 @@ Flashing example for this keyboard:
make lazydesigners/cassette8:default:flash
-**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/dimple/config.h b/keyboards/lazydesigners/dimple/config.h
index 7ed6da4064..4a8f7a1dce 100644
--- a/keyboards/lazydesigners/dimple/config.h
+++ b/keyboards/lazydesigners/dimple/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0040
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LazyDesigners
-#define PRODUCT Dimple
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lazydesigners/dimple/ortho/info.json b/keyboards/lazydesigners/dimple/ortho/info.json
index dbe70f821f..752f8293d4 100644
--- a/keyboards/lazydesigners/dimple/ortho/info.json
+++ b/keyboards/lazydesigners/dimple/ortho/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dimple",
+ "manufacturer": "LazyDesigners",
"url": "http://lazydesigners.cn",
"maintainer": "Jacky@LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0040",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2u": {
"layout": [
diff --git a/keyboards/lazydesigners/dimple/readme.md b/keyboards/lazydesigners/dimple/readme.md
index 2e15cec2b9..b6e59272d6 100644
--- a/keyboards/lazydesigners/dimple/readme.md
+++ b/keyboards/lazydesigners/dimple/readme.md
@@ -21,6 +21,6 @@ Make example for this keyboard (after setting up your build environment):
make lazydesigners/dimple/staggered/rev2:default
make lazydesigners/dimple/ortho:default
-To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
+To enter the bootloader, either short the pins on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/dimple/staggered/info.json b/keyboards/lazydesigners/dimple/staggered/info.json
index 4cfa1e6f18..cdce3c767c 100644
--- a/keyboards/lazydesigners/dimple/staggered/info.json
+++ b/keyboards/lazydesigners/dimple/staggered/info.json
@@ -1,54 +1,11 @@
{
"keyboard_name": "Dimple",
+ "manufacturer": "LazyDesigners",
"url": "http://lazydesigners.cn",
"maintainer": "Erovia",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Back<br>Space", "x":11, "y":0, "w":1.5},
- {"label":"Tab", "x":0, "y":1, "w":1.25},
- {"label":"A", "x":1.25, "y":1},
- {"label":"S", "x":2.25, "y":1},
- {"label":"D", "x":3.25, "y":1},
- {"label":"F", "x":4.25, "y":1},
- {"label":"G", "x":5.25, "y":1},
- {"label":"H", "x":6.25, "y":1},
- {"label":"J", "x":7.25, "y":1},
- {"label":"K", "x":8.25, "y":1},
- {"label":"L", "x":9.25, "y":1},
- {"label":"'", "x":10.25, "y":1},
- {"label":"Enter", "x":11.25, "y":1, "w":1.25},
- {"label":"Shift", "x":0, "y":2, "w":1.75},
- {"label":"Z", "x":1.75, "y":2},
- {"label":"X", "x":2.75, "y":2},
- {"label":"C", "x":3.75, "y":2},
- {"label":"V", "x":4.75, "y":2},
- {"label":"B", "x":5.75, "y":2},
- {"label":"N", "x":6.75, "y":2},
- {"label":"M", "x":7.75, "y":2},
- {"label":",", "x":8.75, "y":2},
- {"label":"Up", "x":9.75, "y":2},
- {"label":".", "x":10.75, "y":2, "w":1.75},
- {"label":"Ctrl", "x":0.75, "y":3},
- {"label":"Gui", "x":1.75, "y":3},
- {"label":"Alt", "x":2.75, "y":3},
- {"label":"Space", "x":3.75, "y":3, "w":2.25},
- {"label":"Space", "x":6, "y":3, "w":2.75},
- {"label":"Left", "x":8.75, "y":3},
- {"label":"Down", "x":9.75, "y":3},
- {"label":"Right", "x":10.75, "y":3}
- ]
- }
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0040",
+ "device_version": "0.0.1"
}
}
diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/erovia/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/erovia/keymap.c
index 6f893e187f..ed8a25166c 100644
--- a/keyboards/lazydesigners/dimple/staggered/keymaps/erovia/keymap.c
+++ b/keyboards/lazydesigners/dimple/staggered/keymaps/erovia/keymap.c
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- EEP_RST, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ EEP_RST, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LEAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QWERTY, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_VAD, RGB_TOG, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_VIM] = LAYOUT(
- EEP_RST, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ EEP_RST, QK_BOOT, 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_H, KC_J, KC_K, KC_L, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO,
RGB_VAD, RGB_TOG, RGB_VAI, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
index e4b4161b04..e490d68900 100644
--- a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
+++ b/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
@@ -18,6 +18,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = 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, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT(KC_SLSH), KC_DEL, KC_ESC, KC_LALT, KC_SPC, LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_LCTL),
- [1] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, RESET, RGB_SPI, RGB_SPD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_SCLN, KC_NO, KC_LSFT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, QK_BOOT, RGB_SPI, RGB_SPD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_SCLN, KC_NO, KC_LSFT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
[2] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
};
diff --git a/keyboards/lazydesigners/dimple/staggered/rev1/info.json b/keyboards/lazydesigners/dimple/staggered/rev1/info.json
new file mode 100644
index 0000000000..7fe8c59ccb
--- /dev/null
+++ b/keyboards/lazydesigners/dimple/staggered/rev1/info.json
@@ -0,0 +1,54 @@
+{
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]},
+ {"label":"Q", "x":1, "y":0, "matrix": [0, 1]},
+ {"label":"W", "x":2, "y":0, "matrix": [0, 2]},
+ {"label":"E", "x":3, "y":0, "matrix": [0, 3]},
+ {"label":"R", "x":4, "y":0, "matrix": [0, 4]},
+ {"label":"T", "x":5, "y":0, "matrix": [0, 5]},
+ {"label":"Y", "x":6, "y":0, "matrix": [0, 6]},
+ {"label":"U", "x":7, "y":0, "matrix": [0, 7]},
+ {"label":"I", "x":8, "y":0, "matrix": [0, 8]},
+ {"label":"O", "x":9, "y":0, "matrix": [0, 9]},
+ {"label":"P", "x":10, "y":0, "matrix": [0, 10]},
+ {"label":"Back<br>Space", "x":11, "y":0, "w":1.5, "matrix": [0, 11]},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.25, "matrix": [1, 0]},
+ {"label":"A", "x":1.25, "y":1, "matrix": [1, 1]},
+ {"label":"S", "x":2.25, "y":1, "matrix": [1, 2]},
+ {"label":"D", "x":3.25, "y":1, "matrix": [1, 3]},
+ {"label":"F", "x":4.25, "y":1, "matrix": [1, 4]},
+ {"label":"G", "x":5.25, "y":1, "matrix": [1, 5]},
+ {"label":"H", "x":6.25, "y":1, "matrix": [1, 6]},
+ {"label":"J", "x":7.25, "y":1, "matrix": [1, 7]},
+ {"label":"K", "x":8.25, "y":1, "matrix": [1, 8]},
+ {"label":"L", "x":9.25, "y":1, "matrix": [1, 9]},
+ {"label":"'", "x":10.25, "y":1, "matrix": [1, 10]},
+ {"label":"Enter", "x":11.25, "y":1, "w":1.25, "matrix": [1, 11]},
+
+ {"label":"Shift", "x":0, "y":2, "w":1.75, "matrix": [2, 0]},
+ {"label":"Z", "x":1.75, "y":2, "matrix": [2, 1]},
+ {"label":"X", "x":2.75, "y":2, "matrix": [2, 2]},
+ {"label":"C", "x":3.75, "y":2, "matrix": [2, 3]},
+ {"label":"V", "x":4.75, "y":2, "matrix": [2, 4]},
+ {"label":"B", "x":5.75, "y":2, "matrix": [2, 5]},
+ {"label":"N", "x":6.75, "y":2, "matrix": [2, 6]},
+ {"label":"M", "x":7.75, "y":2, "matrix": [2, 7]},
+ {"label":",", "x":8.75, "y":2, "matrix": [2, 8]},
+ {"label":"Up", "x":9.75, "y":2, "matrix": [2, 9]},
+ {"label":".", "x":10.75, "y":2, "w":1.75, "matrix": [2, 10]},
+
+ {"label":"Ctrl", "x":0.75, "y":3, "matrix": [3, 0]},
+ {"label":"Gui", "x":1.75, "y":3, "matrix": [3, 2]},
+ {"label":"Alt", "x":2.75, "y":3, "matrix": [3, 3]},
+ {"label":"Space", "x":3.75, "y":3, "w":2.25, "matrix": [3, 4]},
+ {"label":"Space", "x":6, "y":3, "w":2.75, "matrix": [3, 6]},
+ {"label":"Left", "x":8.75, "y":3, "matrix": [3, 7]},
+ {"label":"Down", "x":9.75, "y":3, "matrix": [3, 8]},
+ {"label":"Right", "x":10.75, "y":3, "matrix": [3, 9]}
+ ]
+ }
+ }
+}
diff --git a/keyboards/lazydesigners/dimple/staggered/rev2/info.json b/keyboards/lazydesigners/dimple/staggered/rev2/info.json
new file mode 100644
index 0000000000..7fe8c59ccb
--- /dev/null
+++ b/keyboards/lazydesigners/dimple/staggered/rev2/info.json
@@ -0,0 +1,54 @@
+{
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]},
+ {"label":"Q", "x":1, "y":0, "matrix": [0, 1]},
+ {"label":"W", "x":2, "y":0, "matrix": [0, 2]},
+ {"label":"E", "x":3, "y":0, "matrix": [0, 3]},
+ {"label":"R", "x":4, "y":0, "matrix": [0, 4]},
+ {"label":"T", "x":5, "y":0, "matrix": [0, 5]},
+ {"label":"Y", "x":6, "y":0, "matrix": [0, 6]},
+ {"label":"U", "x":7, "y":0, "matrix": [0, 7]},
+ {"label":"I", "x":8, "y":0, "matrix": [0, 8]},
+ {"label":"O", "x":9, "y":0, "matrix": [0, 9]},
+ {"label":"P", "x":10, "y":0, "matrix": [0, 10]},
+ {"label":"Back<br>Space", "x":11, "y":0, "w":1.5, "matrix": [0, 11]},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.25, "matrix": [1, 0]},
+ {"label":"A", "x":1.25, "y":1, "matrix": [1, 1]},
+ {"label":"S", "x":2.25, "y":1, "matrix": [1, 2]},
+ {"label":"D", "x":3.25, "y":1, "matrix": [1, 3]},
+ {"label":"F", "x":4.25, "y":1, "matrix": [1, 4]},
+ {"label":"G", "x":5.25, "y":1, "matrix": [1, 5]},
+ {"label":"H", "x":6.25, "y":1, "matrix": [1, 6]},
+ {"label":"J", "x":7.25, "y":1, "matrix": [1, 7]},
+ {"label":"K", "x":8.25, "y":1, "matrix": [1, 8]},
+ {"label":"L", "x":9.25, "y":1, "matrix": [1, 9]},
+ {"label":"'", "x":10.25, "y":1, "matrix": [1, 10]},
+ {"label":"Enter", "x":11.25, "y":1, "w":1.25, "matrix": [1, 11]},
+
+ {"label":"Shift", "x":0, "y":2, "w":1.75, "matrix": [2, 0]},
+ {"label":"Z", "x":1.75, "y":2, "matrix": [2, 1]},
+ {"label":"X", "x":2.75, "y":2, "matrix": [2, 2]},
+ {"label":"C", "x":3.75, "y":2, "matrix": [2, 3]},
+ {"label":"V", "x":4.75, "y":2, "matrix": [2, 4]},
+ {"label":"B", "x":5.75, "y":2, "matrix": [2, 5]},
+ {"label":"N", "x":6.75, "y":2, "matrix": [2, 6]},
+ {"label":"M", "x":7.75, "y":2, "matrix": [2, 7]},
+ {"label":",", "x":8.75, "y":2, "matrix": [2, 8]},
+ {"label":"Up", "x":9.75, "y":2, "matrix": [2, 9]},
+ {"label":".", "x":10.75, "y":2, "w":1.75, "matrix": [2, 10]},
+
+ {"label":"Ctrl", "x":0.75, "y":3, "matrix": [3, 0]},
+ {"label":"Gui", "x":1.75, "y":3, "matrix": [3, 2]},
+ {"label":"Alt", "x":2.75, "y":3, "matrix": [3, 3]},
+ {"label":"Space", "x":3.75, "y":3, "w":2.25, "matrix": [3, 4]},
+ {"label":"Space", "x":6, "y":3, "w":2.75, "matrix": [3, 6]},
+ {"label":"Left", "x":8.75, "y":3, "matrix": [3, 7]},
+ {"label":"Down", "x":9.75, "y":3, "matrix": [3, 8]},
+ {"label":"Right", "x":10.75, "y":3, "matrix": [3, 9]}
+ ]
+ }
+ }
+}
diff --git a/keyboards/lazydesigners/dimple/staggered/rev3/info.json b/keyboards/lazydesigners/dimple/staggered/rev3/info.json
index eb1d8b14dc..d1e1568035 100644
--- a/keyboards/lazydesigners/dimple/staggered/rev3/info.json
+++ b/keyboards/lazydesigners/dimple/staggered/rev3/info.json
@@ -1,144 +1,150 @@
{
- "keyboard_name": "Dimple",
- "url": "http://lazydesigners.cn",
- "maintainer": "Jacky@LAZYDESIGNERS",
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Back<br>Space", "x":11, "y":0, "w":1.5},
- {"label":"Tab", "x":0, "y":1, "w":1.25},
- {"label":"A", "x":1.25, "y":1},
- {"label":"S", "x":2.25, "y":1},
- {"label":"D", "x":3.25, "y":1},
- {"label":"F", "x":4.25, "y":1},
- {"label":"G", "x":5.25, "y":1},
- {"label":"H", "x":6.25, "y":1},
- {"label":"J", "x":7.25, "y":1},
- {"label":"K", "x":8.25, "y":1},
- {"label":"L", "x":9.25, "y":1},
- {"label":"'", "x":10.25, "y":1},
- {"label":"Enter", "x":11.25, "y":1, "w":1.25},
- {"label":"Shift", "x":0, "y":2, "w":1.75},
- {"label":"Z", "x":1.75, "y":2},
- {"label":"X", "x":2.75, "y":2},
- {"label":"C", "x":3.75, "y":2},
- {"label":"V", "x":4.75, "y":2},
- {"label":"B", "x":5.75, "y":2},
- {"label":"N", "x":6.75, "y":2},
- {"label":"M", "x":7.75, "y":2},
- {"label":",", "x":8.75, "y":2},
- {"label":"Up", "x":9.75, "y":2},
- {"label":".", "x":10.75, "y":2, "w":1.75},
- {"label":"Ctrl", "x":0.75, "y":3},
- {"label":"Gui", "x":1.75, "y":3},
- {"label":"Alt", "x":2.75, "y":3},
- {"label":"Space", "x":3.75, "y":3, "w":2.25},
- {"label":"Space", "x":6, "y":3, "w":2.75},
- {"label":"Left", "x":8.75, "y":3},
- {"label":"Down", "x":9.75, "y":3},
- {"label":"Right", "x":10.75, "y":3}
- ]
+ {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]},
+ {"label":"Q", "x":1, "y":0, "matrix": [0, 1]},
+ {"label":"W", "x":2, "y":0, "matrix": [0, 2]},
+ {"label":"E", "x":3, "y":0, "matrix": [0, 3]},
+ {"label":"R", "x":4, "y":0, "matrix": [0, 4]},
+ {"label":"T", "x":5, "y":0, "matrix": [0, 5]},
+ {"label":"Y", "x":6, "y":0, "matrix": [0, 6]},
+ {"label":"U", "x":7, "y":0, "matrix": [0, 7]},
+ {"label":"I", "x":8, "y":0, "matrix": [0, 8]},
+ {"label":"O", "x":9, "y":0, "matrix": [0, 9]},
+ {"label":"P", "x":10, "y":0, "matrix": [0, 10]},
+ {"label":"Back<br>Space", "x":11, "y":0, "w":1.5, "matrix": [0, 11]},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.25, "matrix": [1, 0]},
+ {"label":"A", "x":1.25, "y":1, "matrix": [1, 1]},
+ {"label":"S", "x":2.25, "y":1, "matrix": [1, 2]},
+ {"label":"D", "x":3.25, "y":1, "matrix": [1, 3]},
+ {"label":"F", "x":4.25, "y":1, "matrix": [1, 4]},
+ {"label":"G", "x":5.25, "y":1, "matrix": [1, 5]},
+ {"label":"H", "x":6.25, "y":1, "matrix": [1, 6]},
+ {"label":"J", "x":7.25, "y":1, "matrix": [1, 7]},
+ {"label":"K", "x":8.25, "y":1, "matrix": [1, 8]},
+ {"label":"L", "x":9.25, "y":1, "matrix": [1, 9]},
+ {"label":"'", "x":10.25, "y":1, "matrix": [1, 10]},
+ {"label":"Enter", "x":11.25, "y":1, "w":1.25, "matrix": [1, 11]},
+
+ {"label":"Shift", "x":0, "y":2, "w":1.75, "matrix": [2, 0]},
+ {"label":"Z", "x":1.75, "y":2, "matrix": [2, 1]},
+ {"label":"X", "x":2.75, "y":2, "matrix": [2, 2]},
+ {"label":"C", "x":3.75, "y":2, "matrix": [2, 3]},
+ {"label":"V", "x":4.75, "y":2, "matrix": [2, 4]},
+ {"label":"B", "x":5.75, "y":2, "matrix": [2, 5]},
+ {"label":"N", "x":6.75, "y":2, "matrix": [2, 6]},
+ {"label":"M", "x":7.75, "y":2, "matrix": [2, 7]},
+ {"label":",", "x":8.75, "y":2, "matrix": [2, 8]},
+ {"label":"Up", "x":9.75, "y":2, "matrix": [2, 9]},
+ {"label":".", "x":10.75, "y":2, "w":1.75, "matrix": [2, 10]},
+
+ {"label":"Ctrl", "x":0.75, "y":3, "matrix": [3, 0]},
+ {"label":"Gui", "x":1.75, "y":3, "matrix": [3, 2]},
+ {"label":"Alt", "x":2.75, "y":3, "matrix": [3, 3]},
+ {"label":"Space", "x":3.75, "y":3, "w":2.25, "matrix": [3, 4]},
+ {"label":"Space", "x":6, "y":3, "w":2.75, "matrix": [3, 6]},
+ {"label":"Left", "x":8.75, "y":3, "matrix": [3, 7]},
+ {"label":"Down", "x":9.75, "y":3, "matrix": [3, 8]},
+ {"label":"Right", "x":10.75, "y":3, "matrix": [3, 9]}
+ ]
},
"LAYOUT_iso": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.25},
- {"label":"A", "x":1.25, "y":1},
- {"label":"S", "x":2.25, "y":1},
- {"label":"D", "x":3.25, "y":1},
- {"label":"F", "x":4.25, "y":1},
- {"label":"G", "x":5.25, "y":1},
- {"label":"H", "x":6.25, "y":1},
- {"label":"J", "x":7.25, "y":1},
- {"label":"K", "x":8.25, "y":1},
- {"label":"L", "x":9.25, "y":1},
- {"label":"'", "x":10.25, "y":1},
- {"label":"Enter", "x":11.25, "y":0, "w":1.25,"h":2},
- {"label":"Shift", "x":0, "y":2, "w":1.75},
- {"label":"Z", "x":1.75, "y":2},
- {"label":"X", "x":2.75, "y":2},
- {"label":"C", "x":3.75, "y":2},
- {"label":"V", "x":4.75, "y":2},
- {"label":"B", "x":5.75, "y":2},
- {"label":"N", "x":6.75, "y":2},
- {"label":"M", "x":7.75, "y":2},
- {"label":",", "x":8.75, "y":2},
- {"label":"Up", "x":9.75, "y":2},
- {"label":".", "x":10.75, "y":2, "w":1.75},
- {"label":"Ctrl", "x":0.75, "y":3},
- {"label":"Gui", "x":1.75, "y":3},
- {"label":"Alt", "x":2.75, "y":3},
- {"label":"Space", "x":3.75, "y":3, "w":2.25},
- {"label":"Space", "x":6, "y":3, "w":2.75},
- {"label":"Left", "x":8.75, "y":3},
- {"label":"Down", "x":9.75, "y":3},
- {"label":"Right", "x":10.75, "y":3}
- ]
+ {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]},
+ {"label":"Q", "x":1, "y":0, "matrix": [0, 1]},
+ {"label":"W", "x":2, "y":0, "matrix": [0, 2]},
+ {"label":"E", "x":3, "y":0, "matrix": [0, 3]},
+ {"label":"R", "x":4, "y":0, "matrix": [0, 4]},
+ {"label":"T", "x":5, "y":0, "matrix": [0, 5]},
+ {"label":"Y", "x":6, "y":0, "matrix": [0, 6]},
+ {"label":"U", "x":7, "y":0, "matrix": [0, 7]},
+ {"label":"I", "x":8, "y":0, "matrix": [0, 8]},
+ {"label":"O", "x":9, "y":0, "matrix": [0, 9]},
+ {"label":"P", "x":10, "y":0, "matrix": [0, 10]},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.25, "matrix": [1, 0]},
+ {"label":"A", "x":1.25, "y":1, "matrix": [1, 1]},
+ {"label":"S", "x":2.25, "y":1, "matrix": [1, 2]},
+ {"label":"D", "x":3.25, "y":1, "matrix": [1, 3]},
+ {"label":"F", "x":4.25, "y":1, "matrix": [1, 4]},
+ {"label":"G", "x":5.25, "y":1, "matrix": [1, 5]},
+ {"label":"H", "x":6.25, "y":1, "matrix": [1, 6]},
+ {"label":"J", "x":7.25, "y":1, "matrix": [1, 7]},
+ {"label":"K", "x":8.25, "y":1, "matrix": [1, 8]},
+ {"label":"L", "x":9.25, "y":1, "matrix": [1, 9]},
+ {"label":"'", "x":10.25, "y":1, "matrix": [1, 10]},
+ {"label":"Enter", "x":11.25, "y":0, "w":1.25,"h":2, "matrix": [1, 11]},
+
+ {"label":"Shift", "x":0, "y":2, "w":1.75, "matrix": [2, 0]},
+ {"label":"Z", "x":1.75, "y":2, "matrix": [2, 1]},
+ {"label":"X", "x":2.75, "y":2, "matrix": [2, 2]},
+ {"label":"C", "x":3.75, "y":2, "matrix": [2, 3]},
+ {"label":"V", "x":4.75, "y":2, "matrix": [2, 4]},
+ {"label":"B", "x":5.75, "y":2, "matrix": [2, 5]},
+ {"label":"N", "x":6.75, "y":2, "matrix": [2, 6]},
+ {"label":"M", "x":7.75, "y":2, "matrix": [2, 7]},
+ {"label":",", "x":8.75, "y":2, "matrix": [2, 8]},
+ {"label":"Up", "x":9.75, "y":2, "matrix": [2, 9]},
+ {"label":".", "x":10.75, "y":2, "w":1.75, "matrix": [2, 10]},
+
+ {"label":"Ctrl", "x":0.75, "y":3, "matrix": [3, 0]},
+ {"label":"Gui", "x":1.75, "y":3, "matrix": [3, 2]},
+ {"label":"Alt", "x":2.75, "y":3, "matrix": [3, 3]},
+ {"label":"Space", "x":3.75, "y":3, "w":2.25, "matrix": [3, 4]},
+ {"label":"Space", "x":6, "y":3, "w":2.75, "matrix": [3, 6]},
+ {"label":"Left", "x":8.75, "y":3, "matrix": [3, 7]},
+ {"label":"Down", "x":9.75, "y":3, "matrix": [3, 8]},
+ {"label":"Right", "x":10.75, "y":3, "matrix": [3, 9]}
+ ]
},
"LAYOUT_7u": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Back<br>Space", "x":11, "y":0, "w":1.5},
- {"label":"Tab", "x":0, "y":1, "w":1.25},
- {"label":"A", "x":1.25, "y":1},
- {"label":"S", "x":2.25, "y":1},
- {"label":"D", "x":3.25, "y":1},
- {"label":"F", "x":4.25, "y":1},
- {"label":"G", "x":5.25, "y":1},
- {"label":"H", "x":6.25, "y":1},
- {"label":"J", "x":7.25, "y":1},
- {"label":"K", "x":8.25, "y":1},
- {"label":"L", "x":9.25, "y":1},
- {"label":"'", "x":10.25, "y":1},
- {"label":"Enter", "x":11.25, "y":1, "w":1.25},
- {"label":"Shift", "x":0, "y":2, "w":1.75},
- {"label":"Z", "x":1.75, "y":2},
- {"label":"X", "x":2.75, "y":2},
- {"label":"C", "x":3.75, "y":2},
- {"label":"V", "x":4.75, "y":2},
- {"label":"B", "x":5.75, "y":2},
- {"label":"N", "x":6.75, "y":2},
- {"label":"M", "x":7.75, "y":2},
- {"label":",", "x":8.75, "y":2},
- {"label":"Up", "x":9.75, "y":2},
- {"label":".", "x":10.75, "y":2, "w":1.75},
- {"label":"Ctrl", "x":0.75, "y":3},
- {"label":"Gui", "x":1.75, "y":3},
- {"label":"Space", "x":2.75, "y":3, "w":7},
- {"label":"Down", "x":9.75, "y":3},
- {"label":"Right", "x":10.75, "y":3}
- ]
+ {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]},
+ {"label":"Q", "x":1, "y":0, "matrix": [0, 1]},
+ {"label":"W", "x":2, "y":0, "matrix": [0, 2]},
+ {"label":"E", "x":3, "y":0, "matrix": [0, 3]},
+ {"label":"R", "x":4, "y":0, "matrix": [0, 4]},
+ {"label":"T", "x":5, "y":0, "matrix": [0, 5]},
+ {"label":"Y", "x":6, "y":0, "matrix": [0, 6]},
+ {"label":"U", "x":7, "y":0, "matrix": [0, 7]},
+ {"label":"I", "x":8, "y":0, "matrix": [0, 8]},
+ {"label":"O", "x":9, "y":0, "matrix": [0, 9]},
+ {"label":"P", "x":10, "y":0, "matrix": [0, 10]},
+ {"label":"Back<br>Space", "x":11, "y":0, "w":1.5, "matrix": [0, 11]},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.25, "matrix": [1, 0]},
+ {"label":"A", "x":1.25, "y":1, "matrix": [1, 1]},
+ {"label":"S", "x":2.25, "y":1, "matrix": [1, 2]},
+ {"label":"D", "x":3.25, "y":1, "matrix": [1, 3]},
+ {"label":"F", "x":4.25, "y":1, "matrix": [1, 4]},
+ {"label":"G", "x":5.25, "y":1, "matrix": [1, 5]},
+ {"label":"H", "x":6.25, "y":1, "matrix": [1, 6]},
+ {"label":"J", "x":7.25, "y":1, "matrix": [1, 7]},
+ {"label":"K", "x":8.25, "y":1, "matrix": [1, 8]},
+ {"label":"L", "x":9.25, "y":1, "matrix": [1, 9]},
+ {"label":"'", "x":10.25, "y":1, "matrix": [1, 10]},
+ {"label":"Enter", "x":11.25, "y":1, "w":1.25, "matrix": [1, 11]},
+
+ {"label":"Shift", "x":0, "y":2, "w":1.75, "matrix": [2, 0]},
+ {"label":"Z", "x":1.75, "y":2, "matrix": [2, 1]},
+ {"label":"X", "x":2.75, "y":2, "matrix": [2, 2]},
+ {"label":"C", "x":3.75, "y":2, "matrix": [2, 3]},
+ {"label":"V", "x":4.75, "y":2, "matrix": [2, 4]},
+ {"label":"B", "x":5.75, "y":2, "matrix": [2, 5]},
+ {"label":"N", "x":6.75, "y":2, "matrix": [2, 6]},
+ {"label":"M", "x":7.75, "y":2, "matrix": [2, 7]},
+ {"label":",", "x":8.75, "y":2, "matrix": [2, 8]},
+ {"label":"Up", "x":9.75, "y":2, "matrix": [2, 9]},
+ {"label":".", "x":10.75, "y":2, "w":1.75, "matrix": [2, 10]},
+
+ {"label":"Ctrl", "x":0.75, "y":3, "matrix": [3, 0]},
+ {"label":"Gui", "x":1.75, "y":3, "matrix": [3, 2]},
+ {"label":"Space", "x":2.75, "y":3, "w":7, "matrix": [3, 4]},
+ {"label":"Down", "x":9.75, "y":3, "matrix": [3, 8]},
+ {"label":"Right", "x":10.75, "y":3, "matrix": [3, 9]}
+ ]
}
}
}
diff --git a/keyboards/lazydesigners/dimple/staggered/rev3/rev3.c b/keyboards/lazydesigners/dimple/staggered/rev3/rev3.c
deleted file mode 100644
index afa1d38b6d..0000000000
--- a/keyboards/lazydesigners/dimple/staggered/rev3/rev3.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2019 Erovia
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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/lazydesigners/dimple/staggered/rev3/rev3.h b/keyboards/lazydesigners/dimple/staggered/rev3/rev3.h
deleted file mode 100644
index 2aec210d9e..0000000000
--- a/keyboards/lazydesigners/dimple/staggered/rev3/rev3.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright 2019 Erovia
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \
- K300, K302, K303, K304, K306, K307, K308, K309 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, KC_NO }, \
- { K300, KC_NO, K302, K303, K304, KC_NO, K306, K307, K308, K309, KC_NO, KC_NO } \
-}
-
-/*
- * ,---------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |-------------------------------------------------------- |
- * | | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------'
- */
-
-#define LAYOUT_iso( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \
- K300, K302, K303, K304, K306, K307, K308, K309 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, KC_NO }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, KC_NO }, \
- { K300, KC_NO, K302, K303, K304, KC_NO, K306, K307, K308, K309, KC_NO, KC_NO } \
-}
-
-/*
- * ,---------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | |
- * `-----------------------------------------------------'
- */
-
-#define LAYOUT_7u( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \
- K300, K302, K304, K308, K309 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, KC_NO }, \
- { K300, KC_NO, K302, KC_NO, K304, KC_NO, KC_NO, KC_NO, K308, K309, KC_NO, KC_NO } \
-}
diff --git a/keyboards/lazydesigners/dimple/staggered/staggered.h b/keyboards/lazydesigners/dimple/staggered/staggered.h
index 433de3b897..bdaddb7750 100644
--- a/keyboards/lazydesigners/dimple/staggered/staggered.h
+++ b/keyboards/lazydesigners/dimple/staggered/staggered.h
@@ -17,29 +17,5 @@
#include "quantum.h"
-/*
- * ,---------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | | | | |
- * |---------------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------'
- */
-
-#define LAYOUT( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \
- K300, K302, K303, K304, K306, K307, K308, K309 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, KC_NO }, \
- { K300, KC_NO, K302, K303, K304, KC_NO, K306, K307, K308, K309, KC_NO, KC_NO } \
-}
-
void dimple_led_on(void);
void dimple_led_off(void);
diff --git a/keyboards/lazydesigners/dimpleplus/config.h b/keyboards/lazydesigners/dimpleplus/config.h
index d85d72412d..b96be3b18f 100644
--- a/keyboards/lazydesigners/dimpleplus/config.h
+++ b/keyboards/lazydesigners/dimpleplus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LAZYDESIGNERS
-#define PRODUCT Dimpleplus
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/lazydesigners/dimpleplus/info.json b/keyboards/lazydesigners/dimpleplus/info.json
index aab9e66dfd..7ba8b08812 100644
--- a/keyboards/lazydesigners/dimpleplus/info.json
+++ b/keyboards/lazydesigners/dimpleplus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dimpleplus",
+ "manufacturer": "LAZYDESIGNERS",
"url": "http://lazydesigners.cn",
"maintainer": "LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0061",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lazydesigners/dimpleplus/readme.md b/keyboards/lazydesigners/dimpleplus/readme.md
index fc5881cdc1..78db492427 100644
--- a/keyboards/lazydesigners/dimpleplus/readme.md
+++ b/keyboards/lazydesigners/dimpleplus/readme.md
@@ -14,6 +14,6 @@ Flashing example for this keyboard:
make lazydesigners/dimpleplus:default:flash
-**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/the30/config.h b/keyboards/lazydesigners/the30/config.h
index 0fcfa7dd4f..3ba91fdae3 100644
--- a/keyboards/lazydesigners/the30/config.h
+++ b/keyboards/lazydesigners/the30/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0030
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LazyDesigners
-#define PRODUCT THE30
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 10
diff --git a/keyboards/lazydesigners/the30/info.json b/keyboards/lazydesigners/the30/info.json
index 7f423620f4..647f12ca27 100644
--- a/keyboards/lazydesigners/the30/info.json
+++ b/keyboards/lazydesigners/the30/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "THE30",
+ "manufacturer": "LazyDesigners",
"url": "http://lazydesigners.cn",
"maintainer": "Erovia",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0030",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x10": {
"layout": [
diff --git a/keyboards/lazydesigners/the40/config.h b/keyboards/lazydesigners/the40/config.h
index b199f23a09..0fe62548ea 100644
--- a/keyboards/lazydesigners/the40/config.h
+++ b/keyboards/lazydesigners/the40/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0042
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LAZYDESIGNERS
-#define PRODUCT THE40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/lazydesigners/the40/info.json b/keyboards/lazydesigners/the40/info.json
index 5af86fc923..2afadd83ee 100644
--- a/keyboards/lazydesigners/the40/info.json
+++ b/keyboards/lazydesigners/the40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "THE40",
+ "manufacturer": "LAZYDESIGNERS",
"url": "http://lazydesigners.cn",
"maintainer": "LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0042",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/lazydesigners/the40/keymaps/ortho/keymap.c b/keyboards/lazydesigners/the40/keymaps/ortho/keymap.c
index e81bdaa1c7..18f4ad9e9e 100644
--- a/keyboards/lazydesigners/the40/keymaps/ortho/keymap.c
+++ b/keyboards/lazydesigners/the40/keymaps/ortho/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_ortho(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO,
KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
diff --git a/keyboards/lazydesigners/the40/readme.md b/keyboards/lazydesigners/the40/readme.md
index e618967561..2b0a163628 100644
--- a/keyboards/lazydesigners/the40/readme.md
+++ b/keyboards/lazydesigners/the40/readme.md
@@ -21,6 +21,6 @@ Flashing example for this keyboard:
make lazydesigners/the40:default:flash
-**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/the50/config.h b/keyboards/lazydesigners/the50/config.h
index 2a546a6665..53ee2b2bbb 100644
--- a/keyboards/lazydesigners/the50/config.h
+++ b/keyboards/lazydesigners/the50/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0050
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LazyDesigners
-#define PRODUCT THE50
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
#define MATRIX_COL_PINS { B5, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lazydesigners/the50/info.json b/keyboards/lazydesigners/the50/info.json
index 536c5da1d2..ebf94646be 100644
--- a/keyboards/lazydesigners/the50/info.json
+++ b/keyboards/lazydesigners/the50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "THE50",
+ "manufacturer": "LazyDesigners",
"url": "http://lazydesigners.cn",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c b/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c
index 18261dbba6..ab1c35c51a 100644
--- a/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c
+++ b/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c
@@ -62,7 +62,7 @@ _______, _______, _______, _______, _______,
*/
[_L2] = LAYOUT(
-RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_PGUP, _______,
+QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_PGUP, _______,
_______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_END, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______,
EEP_RST, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT
diff --git a/keyboards/lazydesigners/the50/readme.md b/keyboards/lazydesigners/the50/readme.md
index d90dc59de6..5b9e7c7bf7 100644
--- a/keyboards/lazydesigners/the50/readme.md
+++ b/keyboards/lazydesigners/the50/readme.md
@@ -12,6 +12,6 @@ Make example for this keyboard (after setting up your build environment):
make lazydesigners/the50:default:dfu
-To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
+To enter the bootloader, either short the pins on the PCB or the `QK_BOOT` key on the FN layer.
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/lazydesigners/the60/rev1/config.h b/keyboards/lazydesigners/the60/rev1/config.h
index dd0b8b553d..4d50f75296 100755
--- a/keyboards/lazydesigners/the60/rev1/config.h
+++ b/keyboards/lazydesigners/the60/rev1/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C44 // "LD"
-#define PRODUCT_ID 0x0060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LazyDesigners
-#define PRODUCT THE60 rev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lazydesigners/the60/rev1/info.json b/keyboards/lazydesigners/the60/rev1/info.json
index 8ab5056bf6..b177b0c23d 100755
--- a/keyboards/lazydesigners/the60/rev1/info.json
+++ b/keyboards/lazydesigners/the60/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "THE60 rev1",
+ "manufacturer": "LazyDesigners",
"url": "http://lazydesigners.cn",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_spc_split_bspc": {
"layout": [
diff --git a/keyboards/lazydesigners/the60/rev2/config.h b/keyboards/lazydesigners/the60/rev2/config.h
index c54dbfd44f..aa12abe6e5 100755
--- a/keyboards/lazydesigners/the60/rev2/config.h
+++ b/keyboards/lazydesigners/the60/rev2/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4c44 // "LD"
-#define PRODUCT_ID 0x0062
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LAZYDESIGNERS
-#define PRODUCT THE60 rev2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/lazydesigners/the60/rev2/info.json b/keyboards/lazydesigners/the60/rev2/info.json
index 05540cd308..e2e9ff2185 100755
--- a/keyboards/lazydesigners/the60/rev2/info.json
+++ b/keyboards/lazydesigners/the60/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "THE60rev2",
+ "keyboard_name": "THE60 rev2",
+ "manufacturer": "LAZYDESIGNERS",
"url": "http://lazydesigners.cn",
"maintainer": "LAZYDESIGNERS",
+ "usb": {
+ "vid": "0x4C44",
+ "pid": "0x0062",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/lazydesigners/the60/rev2/readme.md b/keyboards/lazydesigners/the60/rev2/readme.md
index 2c01cee1d8..12f51a06af 100755
--- a/keyboards/lazydesigners/the60/rev2/readme.md
+++ b/keyboards/lazydesigners/the60/rev2/readme.md
@@ -16,6 +16,6 @@
make lazydesigners/the60/rev2:default:flash
- **Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+ **Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer.
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). \ No newline at end of file
diff --git a/keyboards/leafcutterlabs/bigknob/config.h b/keyboards/leafcutterlabs/bigknob/config.h
index 1f1ac4e98d..3034c0e2f4 100644
--- a/keyboards/leafcutterlabs/bigknob/config.h
+++ b/keyboards/leafcutterlabs/bigknob/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER leafcutterlabs
-#define PRODUCT bigKNOB
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ B7, D4, D6, F6, F7} \
}
-#define UNUSED_PINS
/* rotary encoder 1,2,3 closest to usb port is 0*/
#define ENCODERS_PAD_A { D0}
diff --git a/keyboards/leafcutterlabs/bigknob/info.json b/keyboards/leafcutterlabs/bigknob/info.json
index e080042281..39ace77b12 100644
--- a/keyboards/leafcutterlabs/bigknob/info.json
+++ b/keyboards/leafcutterlabs/bigknob/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bigknob",
+ "keyboard_name": "bigKNOB",
+ "manufacturer": "leafcutterlabs",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}]
diff --git a/keyboards/leeku/finger65/config.h b/keyboards/leeku/finger65/config.h
index 82457635b3..10cf15b91f 100644
--- a/keyboards/leeku/finger65/config.h
+++ b/keyboards/leeku/finger65/config.h
@@ -19,13 +19,6 @@ 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 0x6050
-#define DEVICE_VER 0x0100
-#define MANUFACTURER LeeKu
-#define PRODUCT Finger65
-
#define RGBLED_NUM 12
/* key matrix size */
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_ROW_PINS { C3, C4, C5, C6, C7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/leeku/finger65/info.json b/keyboards/leeku/finger65/info.json
index 5ecfb5fbad..b50c676e5b 100644
--- a/keyboards/leeku/finger65/info.json
+++ b/keyboards/leeku/finger65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Leeku Finger65",
+ "keyboard_name": "Finger65",
+ "manufacturer": "LeeKu",
"url": "",
"maintainer": "sidcarter",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6050",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
index a69fe69153..03bee2dcc7 100644
--- a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
+++ b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNMS] = LAYOUT_65_ansi_split_bs(
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_MPLY,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_VOLU,
AG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_VOLD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U,KC_MNXT,
_______, _______, _______, _______, _______, _______, KC_MS_L,KC_MS_D, KC_MS_R
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// layer_state_t layer_state_set_user(layer_state_t state) {
-// switch(biton32(state)) {
+// switch(get_highest_layer(state)) {
// case _FNMS:
// led_off();
// rgb_on();
diff --git a/keyboards/lefty/config.h b/keyboards/lefty/config.h
index 85620ca15b..894f1b8087 100644
--- a/keyboards/lefty/config.h
+++ b/keyboards/lefty/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5363 // Sc for Smollchungus
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SmollChungus
-#define PRODUCT Lefty
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 8
diff --git a/keyboards/lefty/info.json b/keyboards/lefty/info.json
index bd5d2f7c4e..210c706459 100644
--- a/keyboards/lefty/info.json
+++ b/keyboards/lefty/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "lefty",
+ "keyboard_name": "Lefty",
+ "manufacturer": "SmollChungus",
"url": "https://github.com/smollchungus",
"maintainer": "smollchungus",
+ "usb": {
+ "vid": "0x5363",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/lefty/readme.md b/keyboards/lefty/readme.md
index f8cc2ec203..7562517a22 100644
--- a/keyboards/lefty/readme.md
+++ b/keyboards/lefty/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
Physical reset button: Briefly press the button on the back of the PCB - some may have pads you must short instead
-Keycode in layout: Press the key mapped to RESET if it is available
+Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/lets_split/info.json b/keyboards/lets_split/info.json
index aa47a84834..0bb8f31219 100644
--- a/keyboards/lets_split/info.json
+++ b/keyboards/lets_split/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Let's Split",
"url": "",
"maintainer": "qmk",
"layouts": {
diff --git a/keyboards/lets_split/keymaps/DE_simple/keymap.c b/keyboards/lets_split/keymaps/DE_simple/keymap.c
index c49da49cf0..7274d1fd2e 100644
--- a/keyboards/lets_split/keymaps/DE_simple/keymap.c
+++ b/keyboards/lets_split/keymaps/DE_simple/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTZ, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/OLED_sample/config.h b/keyboards/lets_split/keymaps/OLED_sample/config.h
deleted file mode 100644
index 6aa909d284..0000000000
--- a/keyboards/lets_split/keymaps/OLED_sample/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* Use I2C or Serial, not both */
-
-#define USE_I2C
-//#define USE_SERIAL
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-#define FLIP_HALF
-
-#define SSD1306OLED
-//#define OLED_ROTATE180
-
-#define TAPPING_FORCE_HOLD
-#define TAPPING_TERM 100
-
-#ifdef SUBPROJECT_rev1
- #include "../../rev1/config.h"
-#endif
-#ifdef SUBPROJECT_rev2
- #include "../../rev2/config.h"
-#endif
-
-#undef RGBLED_NUM
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 6
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-#endif
diff --git a/keyboards/lets_split/keymaps/OLED_sample/keymap.c b/keyboards/lets_split/keymaps/OLED_sample/keymap.c
deleted file mode 100644
index a34d5a32be..0000000000
--- a/keyboards/lets_split/keymaps/OLED_sample/keymap.c
+++ /dev/null
@@ -1,415 +0,0 @@
-#include QMK_KEYBOARD_H
-#include <LUFA/Drivers/Peripheral/TWI.h>
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-extern keymap_config_t keymap_config;
-
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
- BACKLIT,
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL,
- M_SAMPLE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_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, \
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT( \
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
- KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT( \
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
- KC_DEL, 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,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT( \
- _______, RESET, _______, M_SAMPLE, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
-)
-
-
-};
-
-
-#ifdef AUDIO_ENABLE
-
-float tone_startup[][2] = SONG(STARTUP_SOUND);
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_plover[][2] = SONG(PLOVER_SOUND);
-float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-#endif
-
-// define variables for reactive RGB
-bool TOG_STATUS = false;
-int RGB_current_mode;
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- rgblight_mode(RGB_current_mode);
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- persistent_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- rgblight_mode(16);
- }
- layer_on(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- TOG_STATUS = false;
- layer_off(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- rgblight_mode(15);
- }
- layer_on(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- layer_off(_RAISE);
- TOG_STATUS = false;
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- return false;
- break;
- case M_SAMPLE:
- if (record->event.pressed){
- SEND_STRING("hello world");
- }
- return false;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
- RGB_current_mode = rgblight_config.mode;
-}
-
-//SSD1306 OLED init and update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-void matrix_master_OLED_init (void) {
- TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
- iota_gfx_init(); // turns on the display
-}
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-#endif
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
- PLAY_SONG(tone_startup);
-}
-
-void shutdown_user()
-{
- PLAY_SONG(tone_goodbye);
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-#define L_LOWER 8
-#define L_RAISE 16
-#define L_FNLAYER 64
-#define L_NUMLAY 128
-#define L_NLOWER 136
-#define L_NFNLAYER 192
-#define L_MOUSECURSOR 256
-#define L_ADJUST 65560
-
-void iota_gfx_task_user(void) {
-#if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
-#endif
-
- struct CharacterMatrix matrix;
-
- matrix_clear(&matrix);
- matrix_write_P(&matrix, PSTR("USB: "));
-#ifdef PROTOCOL_LUFA
- switch (USB_DeviceState) {
- case DEVICE_STATE_Unattached:
- matrix_write_P(&matrix, PSTR("Unattached"));
- break;
- case DEVICE_STATE_Suspended:
- matrix_write_P(&matrix, PSTR("Suspended"));
- break;
- case DEVICE_STATE_Configured:
- matrix_write_P(&matrix, PSTR("Connected"));
- break;
- case DEVICE_STATE_Powered:
- matrix_write_P(&matrix, PSTR("Powered"));
- break;
- case DEVICE_STATE_Default:
- matrix_write_P(&matrix, PSTR("Default"));
- break;
- case DEVICE_STATE_Addressed:
- matrix_write_P(&matrix, PSTR("Addressed"));
- break;
- default:
- matrix_write_P(&matrix, PSTR("Invalid"));
- }
-#endif
-
-// Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
-
- char buf[40];
- snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
- matrix_write_P(&matrix, PSTR("\n\nLayer: "));
- switch (layer_state) {
- case L_BASE:
- matrix_write_P(&matrix, PSTR("Default"));
- break;
- case L_RAISE:
- matrix_write_P(&matrix, PSTR("Raise"));
- break;
- case L_LOWER:
- matrix_write_P(&matrix, PSTR("Lower"));
- break;
- case L_ADJUST:
- matrix_write_P(&matrix, PSTR("ADJUST"));
- break;
- default:
- matrix_write(&matrix, buf);
- }
-
- // Host Keyboard LED Status
- char led[40];
- snprintf(led, sizeof(led), "\n%s %s %s",
- (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ",
- (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
- (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
- matrix_write(&matrix, led);
- matrix_update(&display, &matrix);
-}
diff --git a/keyboards/lets_split/keymaps/OLED_sample/readme.md b/keyboards/lets_split/keymaps/OLED_sample/readme.md
deleted file mode 100644
index 02888855b8..0000000000
--- a/keyboards/lets_split/keymaps/OLED_sample/readme.md
+++ /dev/null
@@ -1,25 +0,0 @@
-SSD1306 OLED Display via I2C
-======
-
-Features
---------
-
-Some features supported by the firmware:
-
-
-* I2C connection between the two halves is required as the OLED display will use this connection as well. Note this
- requires pull-up resistors on the data and clock lines.
-* OLED display will connect from either side
-
-
-Wiring
-------
-
-
-Work in progress...
-
-
-OLED Configuration
--------------------------------
-
-Work in progress...
diff --git a/keyboards/lets_split/keymaps/OLED_sample/rules.mk b/keyboards/lets_split/keymaps/OLED_sample/rules.mk
deleted file mode 100644
index e1716e0c02..0000000000
--- a/keyboards/lets_split/keymaps/OLED_sample/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-SRC += ssd1306.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 # Enable Bootmagic Lite
-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 = 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
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-SWAP_HANDS_ENABLE = no # Enable one-hand typing
-
-# 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/lets_split/keymaps/aerialviews007/keymap.c b/keyboards/lets_split/keymaps/aerialviews007/keymap.c
index cc3dabf65e..ce031dd25b 100644
--- a/keyboards/lets_split/keymaps/aerialviews007/keymap.c
+++ b/keyboards/lets_split/keymaps/aerialviews007/keymap.c
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/lets_split/keymaps/bbaserdem/README.md b/keyboards/lets_split/keymaps/bbaserdem/README.md
deleted file mode 100644
index 4b37d73555..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Lets Split Layout
-
-Check out [user readme](../../../../users/bbaserdem/README.md) for more info.
-
-# Usage
-
-**These commands depend on there being no other arduino connected!**
-Also udev rules can be set instead of using sudo.
-Please unplug all other usb devices.
-
-To make the hex files;
-```
-make lets_split/rev2:bbaserdem
-make lets_split/rev2:bbaserdem_right
-```
-
-For the left half, after plugging in and resetting; (from repo main directory)
-```
-sudo avrdude -p atmega32u4 -P "$(ls /dev/ttyACM*)" -c avr109 -D -U flash:w:.build/lets_split_rev2_bbaserdem.hex
-sudo avrdude -p atmega32u4 -P "$(ls /dev/ttyACM*)" -c avr109 -U eeprom:w:keyboards/lets_split/eeprom-lefthand.eep
-```
-
-For the right half;
-```
-sudo avrdude -p atmgea34u4 -P "$(ls /dev/ttyACM*)" -c avr109 -D -U flash:w:.build/lets_split_rev2_bbaserdem_right.hex
-sudo avrdude -p atmega32u4 -P "$(ls /dev/ttyACM*)" -c avr109 -U eeprom:w:keyboards/lets_split/eeprom-righhand.eep
-```
diff --git a/keyboards/lets_split/keymaps/bbaserdem/config.h b/keyboards/lets_split/keymaps/bbaserdem/config.h
deleted file mode 100755
index 6a90e1c356..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef CONFIG_KEYMAP_H
-#define CONFIG_KEYMAP_H
-
-#include "../../config.h"
-
-#define USE_SERIAL
-#define EE_HANDS
-
-// LED strip stuff
-#ifdef RGBLIGHT_ENABLE
-
-// Who thought it was a good idea to predefine these in the rev2/config.h ???
-#ifdef RGBLED_NUM
-#undef RGBLED_NUM
-#endif
-#define RGBLED_NUM 12
-
-#define RGBLIGHT_HUE_STEP 6
-#define RGBLIGHT_SAT_STEP 12
-#define RGBLIGHT_VAL_STEP 20
-#define RGBLIGHT_ANIMATIONS
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 6
-#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 2000
-#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
-#endif
-
-#endif
diff --git a/keyboards/lets_split/keymaps/bbaserdem/keymap.c b/keyboards/lets_split/keymaps/bbaserdem/keymap.c
deleted file mode 100755
index f9eab059ef..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Let's Split - Dvorak turkish
- * Keymap by @bbaserdem
- * Dvorak layout with multiple features
- * Most of the code is in the "user" directory.
- * Check qmk_firmware/users/bbaserdem for the main part of the code
- */
-
-#include "lets_split.h"
-#include "bbaserdem.h"
-
-
-void matrix_init_keymap (void) {
-}
-
-uint32_t layer_state_set_keymap(uint32_t state) {
- return state;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Main Dvorak layer
- [_DV] = LAYOUT_letssplit_wrapper(DVORAK),
- // Turkish and special character overlay
- [_AL] = LAYOUT_letssplit_wrapper(ALTCHAR),
- // Gaming layer
- [_GA] = LAYOUT_letssplit_wrapper(GAME),
- // Numbers layer
- [_NU] = LAYOUT_letssplit_wrapper(NUMBERS),
- // Settings layer
- [_SE] = LAYOUT_letssplit_wrapper(SETTINGS),
- // Mouse emulation layer
- [_MO] = LAYOUT_letssplit_wrapper(MOUSE),
- // Music layer
- [_MU] = LAYOUT_letssplit_wrapper(MUSIC),
-};
diff --git a/keyboards/lets_split/keymaps/bbaserdem/rules.mk b/keyboards/lets_split/keymaps/bbaserdem/rules.mk
deleted file mode 100755
index 7a37e989d8..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# Build options
-
-BACKLIGHT_ENABLE = no # Switch LEDs
-MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
-RGBLIGHT_ENABLE = yes # LED strips
-TAP_DANCE_ENABLE = no # Use multi-tap features
-AUDIO_ENABLE = no # Audio stuff
-
diff --git a/keyboards/lets_split/keymaps/bbaserdem_right/README.md b/keyboards/lets_split/keymaps/bbaserdem_right/README.md
deleted file mode 100644
index 8608f23f79..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem_right/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Lets Split - Right Half
-
-Keymap for my right half, to be used as a numpad.
-Check [main readme](../bbaserdem/README.md) for flashing info.
-
diff --git a/keyboards/lets_split/keymaps/bbaserdem_right/config.h b/keyboards/lets_split/keymaps/bbaserdem_right/config.h
deleted file mode 100755
index 47545a059b..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem_right/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef CONFIG_KEYMAP_H
-#define CONFIG_KEYMAP_H
-
-#include "../../config.h"
-
-#define USE_SERIAL
-#define EE_HANDS
-
-#endif
diff --git a/keyboards/lets_split/keymaps/bbaserdem_right/keymap.c b/keyboards/lets_split/keymaps/bbaserdem_right/keymap.c
deleted file mode 100755
index 2dcae0dca5..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem_right/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Let's Split - Dvorak turkish
- * Keymap by @bbaserdem
- * Dvorak layout with multiple features
- * Most of the code is in the "user" directory.
- * Check qmk_firmware/users/bbaserdem for the main part of the code
- */
-
-#include "lets_split.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Navigation All Supered) Numpad
- * ,-----------------------. ,-----------------------.
- * | F4| ` | Q |Alt| L | > | | ) | - | + | = |Ent|Bkp|
- * |---+---+---+---+---+---| |---+---+---+---+---+---|
- * | F3| M |Ent|Ctl| K | ^ | | ( | * | 9 | 6 | 3 | . |
- * |---+---+---+---+---+---| |---+---+---+---+---+---|
- * | F2| T |Spc|Shf| J | v | | % | / | 8 | 5 | 2 | , |
- * |---+---+---+---+---+---| |---+---+---+---+---+---|
- * | F1| F | P |Tab| H | < | |Nlc|Tab| 7 | 4 | 1 | 0 |
- * `-----------------------' `-----------------------'
- */
- // Main Dvorak layer
- [0] = LAYOUT_ortho_4x12(
- LCTL(LALT(KC_DEL)), LGUI(KC_GRV), LGUI(KC_Q), LGUI(KC_LALT), LGUI(KC_L), LGUI(KC_RGHT), KC_RPRN, KC_PMNS, KC_PPLS, KC_PEQL, KC_PENT, KC_BSPC, \
- LGUI(KC_F3), LGUI(KC_M), LGUI(KC_ENT), LGUI(KC_LCTL), LGUI(KC_K), LGUI(KC_UP), KC_LPRN, KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, \
- LGUI(KC_F2), LGUI(KC_T), LGUI(KC_SPC), LGUI(KC_LSFT), LGUI(KC_J), LGUI(KC_DOWN), KC_PERC, KC_PSLS, KC_P8, KC_P5, KC_P2, KC_PCMM, \
- LGUI(KC_F1), LGUI(KC_F), LGUI(KC_P), LGUI(KC_TAB), LGUI(KC_H), LGUI(KC_LEFT), KC_NLCK, KC_TAB, KC_P7, KC_P4, KC_P1, KC_P0 \
- )
-};
diff --git a/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk b/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk
deleted file mode 100755
index 6886a320a5..0000000000
--- a/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# Build options
-
-USER_NAME := bbaserdem-without-userspace
-
-BACKLIGHT_ENABLE = no # Switch LEDs
-MOUSEKEY_ENABLE = no # Emulates mouse key using keypresses
-RGBLIGHT_ENABLE = no # LED strips
-TAP_DANCE_ENABLE = no # Use multi-tap features
-AUDIO_ENABLE = no # Audio stuff
-BLUETOOTH_ENABLE = no # No bluetooth
-COMMAND_ENABLE = no # Some bootmagic thing
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-CONSOLE_ENABLE = no # Allows console output with a command
-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
-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 c4c26d56bc..34174ac8c9 100644
--- a/keyboards/lets_split/keymaps/cpeters1982/keymap.c
+++ b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, KC_LEFT, KC_DOWN, KC_RGHT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PERC, KC_GRV, KC_TILD, \
KC_ASDN, KC_ASUP, KC_ASRP, _______, _______, _______, _______, KC_RBRC, KC_LBRC, KC_MINS, KC_EQL, KC_BSLASH \
@@ -183,7 +183,7 @@ 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) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _RAISE:
rgblight_set_orange;
rgblight_mode(5);
diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c
index bc240b5f00..34b470d533 100644
--- a/keyboards/lets_split/keymaps/default/keymap.c
+++ b/keyboards/lets_split/keymaps/default/keymap.c
@@ -4,12 +4,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/lets_split/keymaps/dlaroe/keymap.c b/keyboards/lets_split/keymaps/dlaroe/keymap.c
index 65dad2d3d8..d68982c37d 100644
--- a/keyboards/lets_split/keymaps/dlaroe/keymap.c
+++ b/keyboards/lets_split/keymaps/dlaroe/keymap.c
@@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- LALT(LCTL(KC_INS)), QWERTY, _______, _______, RESET, M(0), _______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), \
+ LALT(LCTL(KC_INS)), QWERTY, _______, _______, QK_BOOT, M(0), _______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), \
_______, _______, _______, AU_ON, AU_OFF, GAME, AG_SWAP, AG_NORM, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
BACKLIT, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, BL_TOGG, BL_DEC , BL_INC , BL_STEP \
diff --git a/keyboards/lets_split/keymaps/fabian/keymap.c b/keyboards/lets_split/keymaps/fabian/keymap.c
index 518eb0e731..fde91d1fe0 100644
--- a/keyboards/lets_split/keymaps/fabian/keymap.c
+++ b/keyboards/lets_split/keymaps/fabian/keymap.c
@@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL , \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL , \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/geripgeri/keymap.c b/keyboards/lets_split/keymaps/geripgeri/keymap.c
index 62e3570468..d6f6f0537f 100644
--- a/keyboards/lets_split/keymaps/geripgeri/keymap.c
+++ b/keyboards/lets_split/keymaps/geripgeri/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- RESET, EEP_RST, _______, RALT(KC_SCLN), _______, _______, _______, TD(U), RALT(KC_Z), TD(O), _______, _______,
+ QK_BOOT, EEP_RST, _______, RALT(KC_SCLN), _______, _______, _______, TD(U), RALT(KC_Z), TD(O), _______, _______,
_______, RALT(KC_QUOT), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -255,7 +255,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
writePin(B0, !(state & (1UL << (_NUMPAD))));
- switch(biton32(state)) {
+ switch(get_highest_layer(state)) {
case _RAISE:
rgblight_setrgb_at(255, 255, 255, RGBLED_NUM / 2);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
diff --git a/keyboards/lets_split/keymaps/halvves/keymap.c b/keyboards/lets_split/keymaps/halvves/keymap.c
index 6fbd646519..c4702d8f2b 100644
--- a/keyboards/lets_split/keymaps/halvves/keymap.c
+++ b/keyboards/lets_split/keymaps/halvves/keymap.c
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_UTIL] = LAYOUT_ortho_4x12(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/keymap.c b/keyboards/lets_split/keymaps/heartrobotninja/keymap.c
index 3a7ef9db39..950eda4a45 100644
--- a/keyboards/lets_split/keymaps/heartrobotninja/keymap.c
+++ b/keyboards/lets_split/keymaps/heartrobotninja/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_AUX] = LAYOUT(
- RESET, ____, ____, ____, ____, ____, ____, LGUI(KC_L), ____, ____, ____, KC_VOLU,
+ QK_BOOT, ____, ____, ____, ____, ____, ____, LGUI(KC_L), ____, ____, ____, KC_VOLU,
____, ____, LGUI(KC_R), ____, ____, ____, ____, ____, ____, ____, ____, KC_VOLD,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_MUTE,
____, ____, ____, ____, KC_TAB, KC_DEL, ____, ____, ____, KC_HOME, KC_PGDOWN, KC_END)
diff --git a/keyboards/lets_split/keymaps/henxing/keymap.c b/keyboards/lets_split/keymaps/henxing/keymap.c
index e3d7885cb8..7b28259f3b 100644
--- a/keyboards/lets_split/keymaps/henxing/keymap.c
+++ b/keyboards/lets_split/keymaps/henxing/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT( \
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_NO, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, \
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_NO, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, \
- KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, RESET, KC_NO, KC_NO, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \
+ KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SLCK, KC_PAUS \
)
diff --git a/keyboards/lets_split/keymaps/hvp/keymap.c b/keyboards/lets_split/keymaps/hvp/keymap.c
index e9ebd46d64..1c86381f64 100644
--- a/keyboards/lets_split/keymaps/hvp/keymap.c
+++ b/keyboards/lets_split/keymaps/hvp/keymap.c
@@ -61,5 +61,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
_______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______,
KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
- RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______
)};
diff --git a/keyboards/lets_split/keymaps/khord/keymap.c b/keyboards/lets_split/keymaps/khord/keymap.c
index 60b2973947..1cee03fe9e 100644
--- a/keyboards/lets_split/keymaps/khord/keymap.c
+++ b/keyboards/lets_split/keymaps/khord/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, ADMIN, SMSPC1, KC_DEL, \
+ _______, QK_BOOT, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, ADMIN, SMSPC1, KC_DEL, \
_______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, \
_______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, RGB_M_G, RGB_M_X, RGB_M_K, RGB_M_SN, _______, C_A_INS, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL \
diff --git a/keyboards/lets_split/keymaps/kris/keymap.c b/keyboards/lets_split/keymaps/kris/keymap.c
index ee47d7999a..f54807758b 100644
--- a/keyboards/lets_split/keymaps/kris/keymap.c
+++ b/keyboards/lets_split/keymaps/kris/keymap.c
@@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/krusli/keymap.c b/keyboards/lets_split/keymaps/krusli/keymap.c
index 002d22d302..afcee96d09 100644
--- a/keyboards/lets_split/keymaps/krusli/keymap.c
+++ b/keyboards/lets_split/keymaps/krusli/keymap.c
@@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/mbsurfer/keymap.c b/keyboards/lets_split/keymaps/mbsurfer/keymap.c
index da49f0c7aa..43c6bde98c 100644
--- a/keyboards/lets_split/keymaps/mbsurfer/keymap.c
+++ b/keyboards/lets_split/keymaps/mbsurfer/keymap.c
@@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------ ------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- RESET, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, KC_DEL, \
+ QK_BOOT, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_S_ESC, C_A_DEL \
diff --git a/keyboards/lets_split/keymaps/mekberg/keymap.c b/keyboards/lets_split/keymaps/mekberg/keymap.c
index e530623f1d..ddde0c4bd4 100644
--- a/keyboards/lets_split/keymaps/mekberg/keymap.c
+++ b/keyboards/lets_split/keymaps/mekberg/keymap.c
@@ -219,7 +219,7 @@ SPECIAL
`-----------------------------------------------------´ `-----------------------------------------------------'
*/
[_SPECIAL] = LAYOUT_ortho_4x12(
- RESET, _______, TO_WIN, KC_VOLU, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
+ QK_BOOT, _______, TO_WIN, KC_VOLU, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
EEP_RST, _______, MY_PREV, KC_VOLD, MY_NEXT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
_______, _______, _______, KC_MUTE, _______, _______, MY_LOCK, TO_MAC, _______, _______, _______, _______,
_______, _______, _______, _______, _______, MY_PLAY, _______, _______, _______, _______, _______, KC_SLEP
diff --git a/keyboards/lets_split/keymaps/mjt/keymap.c b/keyboards/lets_split/keymaps/mjt/keymap.c
index a7fa4f55d3..13e21f8f7a 100644
--- a/keyboards/lets_split/keymaps/mjt/keymap.c
+++ b/keyboards/lets_split/keymaps/mjt/keymap.c
@@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/normacos/keymap.c b/keyboards/lets_split/keymaps/normacos/keymap.c
index b6b6b1c141..f43e72b682 100644
--- a/keyboards/lets_split/keymaps/normacos/keymap.c
+++ b/keyboards/lets_split/keymaps/normacos/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, XXXXXXX, NORMAN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/lets_split/keymaps/piemod/config.h b/keyboards/lets_split/keymaps/piemod/config.h
index 1b3fd7544e..c3975da3ca 100644
--- a/keyboards/lets_split/keymaps/piemod/config.h
+++ b/keyboards/lets_split/keymaps/piemod/config.h
@@ -42,7 +42,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 1
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 1
-// Typing Options
-#define QMK_KEYS_PER_SCAN 4
-
#endif
diff --git a/keyboards/lets_split/keymaps/piemod/keymap.c b/keyboards/lets_split/keymaps/piemod/keymap.c
index 68e7e0ba05..0711303d9c 100644
--- a/keyboards/lets_split/keymaps/piemod/keymap.c
+++ b/keyboards/lets_split/keymaps/piemod/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PSCREEN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \
KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, \
- RESET, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_DELETE, KC_INSERT, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+ QK_BOOT, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_DELETE, KC_INSERT, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
),
[_EMACS] = LAYOUT( \
diff --git a/keyboards/lets_split/keymaps/pitty/keymap.c b/keyboards/lets_split/keymaps/pitty/keymap.c
index d723e0c026..27ead4d29f 100644
--- a/keyboards/lets_split/keymaps/pitty/keymap.c
+++ b/keyboards/lets_split/keymaps/pitty/keymap.c
@@ -103,14 +103,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |DM_REC| | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | LShft| | | | | | | RESET|
+ * | | | | | LShft| | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_VIM] = LAYOUT( \
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, KC_RBRC, KC_NUBS, KC_EQL , KC_LBRC, KC_NUHS, \
_______, _______, _______, KC_LCTL, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, QK_BOOT \
)
@@ -128,7 +128,7 @@ void persistent_default_layer_set(uint16_t default_layer) {
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _NAV:
if (RGB_INIT) {} else {
diff --git a/keyboards/lets_split/keymaps/poker/keymap.c b/keyboards/lets_split/keymaps/poker/keymap.c
index 7b202409e3..9bfb951001 100644
--- a/keyboards/lets_split/keymaps/poker/keymap.c
+++ b/keyboards/lets_split/keymaps/poker/keymap.c
@@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
KC_CAPS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, KC_CAPS, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/pyrol/keymap.c b/keyboards/lets_split/keymaps/pyrol/keymap.c
index 1a6cd75866..9bf82e6812 100644
--- a/keyboards/lets_split/keymaps/pyrol/keymap.c
+++ b/keyboards/lets_split/keymaps/pyrol/keymap.c
@@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, _______, GAME, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, _______, GAME, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/shaymdev/keymap.c b/keyboards/lets_split/keymaps/shaymdev/keymap.c
index 7ab16b3fe3..cb3e1fff54 100644
--- a/keyboards/lets_split/keymaps/shaymdev/keymap.c
+++ b/keyboards/lets_split/keymaps/shaymdev/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
- TO_DV, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ TO_DV, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
RGB_TOG, RGB_MOD, VLK_TOG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______,
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/lets_split/keymaps/smt/keymap.c b/keyboards/lets_split/keymaps/smt/keymap.c
index 1b9b448008..8cdca05648 100644
--- a/keyboards/lets_split/keymaps/smt/keymap.c
+++ b/keyboards/lets_split/keymaps/smt/keymap.c
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------' `-----------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/lets_split/keymaps/that_canadian/keymap.c b/keyboards/lets_split/keymaps/that_canadian/keymap.c
index 07a165ad89..00cf26e74a 100644
--- a/keyboards/lets_split/keymaps/that_canadian/keymap.c
+++ b/keyboards/lets_split/keymaps/that_canadian/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
- * | RESET| Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * | QK_BOOT| Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT( \
- RESET, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
+ QK_BOOT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
RGB_TOG, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
BACKLIT, KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/tylerwince/keymap.c b/keyboards/lets_split/keymaps/tylerwince/keymap.c
index c781513c48..cb21a6f368 100644
--- a/keyboards/lets_split/keymaps/tylerwince/keymap.c
+++ b/keyboards/lets_split/keymaps/tylerwince/keymap.c
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------ ------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, LCA(KC_7), LCA(KC_8),
+ _______, QK_BOOT, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, LCA(KC_7), LCA(KC_8),
_______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, LCA(KC_H), LCA(KC_J), LCA(KC_K), LCA(KC_L), LCA(KC_U), LCA(KC_I),
_______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, LCA(KC_ENT),
_______, _______, _______, _______, _______, _______, _______, _______, RGB_M_K, RGB_M_B, RGB_TOG, _______
diff --git a/keyboards/lets_split/keymaps/vim-mode/keymap.c b/keyboards/lets_split/keymaps/vim-mode/keymap.c
index 4b25aa5dc7..a33d8c11f7 100644
--- a/keyboards/lets_split/keymaps/vim-mode/keymap.c
+++ b/keyboards/lets_split/keymaps/vim-mode/keymap.c
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, _______, QWERTY, COLEMAK, DVORAK, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_DEL, \
+ _______, QK_BOOT, _______, QWERTY, COLEMAK, DVORAK, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_DEL, \
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/waples/keymap.c b/keyboards/lets_split/keymaps/waples/keymap.c
index 42b86aad2a..f357607ace 100644
--- a/keyboards/lets_split/keymaps/waples/keymap.c
+++ b/keyboards/lets_split/keymaps/waples/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_DUAL] = LAYOUT( \
- RESET, _______, _______, _______, _______, QWERTY, GAME, _______, _______, _______, _______, RESET, \
+ QK_BOOT, _______, _______, _______, _______, QWERTY, GAME, _______, _______, _______, _______, QK_BOOT, \
_______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
_______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, TG_NKRO, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, DVORAK, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/xk/keymap.c b/keyboards/lets_split/keymaps/xk/keymap.c
index 89197beb07..66be11e01c 100755
--- a/keyboards/lets_split/keymaps/xk/keymap.c
+++ b/keyboards/lets_split/keymaps/xk/keymap.c
@@ -301,7 +301,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_GRVTABL] = LAYOUT( \
- TG(5),LALT(KC_PSCR), M(4), KC_PWR,KC_POWER, RESET, RESET, KC_R, KC_E, KC_I,LALT(KC_PSCR),TG(3), \
+ TG(5),LALT(KC_PSCR), M(4), KC_PWR,KC_POWER, QK_BOOT, QK_BOOT, KC_R, KC_E, KC_I,LALT(KC_PSCR),TG(3), \
TG(1), TG(6), TG(7), TG(9), TG(3), TG(2), TG(2), KC_S, KC_U, KC_B, TG(6), TG(1), \
M(3), TG(8), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, KC_CALC, XXXXXXX, XXXXXXX, TG(8), M(3), \
TT(15), TG(6), TG(7), TG(9), TG(3), TG(2), TG(2), TG(3), TG(9), TG(7), TG(6), _______ \
diff --git a/keyboards/lets_split/keymaps/yshrsmz/keymap.c b/keyboards/lets_split/keymaps/yshrsmz/keymap.c
index ccb3557b4a..b02d86398f 100644
--- a/keyboards/lets_split/keymaps/yshrsmz/keymap.c
+++ b/keyboards/lets_split/keymaps/yshrsmz/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/lets_split/keymaps/zer09/keymap.c b/keyboards/lets_split/keymaps/zer09/keymap.c
index cb6744433a..628e334a29 100644
--- a/keyboards/lets_split/keymaps/zer09/keymap.c
+++ b/keyboards/lets_split/keymaps/zer09/keymap.c
@@ -33,7 +33,7 @@ extern keymap_config_t keymap_config;
#define _astdLayer LAYOUT( \
KC_MPRV, KC_MUTE, _______, _______, _______,/**/KC_PSCR, KC_SLCK, KC_PAUSE, _______, KC_RGUP, \
KC_MPLY, KC_VOLD, _______, _______, _______,/**/_______, _______, _______, _______, KC_RGDWN, \
- KC_MNXT, KC_VOLU, RESET, _______, _______,/**/_______, _______, RESET, _______, _______, \
+ KC_MNXT, KC_VOLU, QK_BOOT, _______, _______,/**/_______, _______, QK_BOOT, _______, _______, \
_______, _______, _______, _______, _______,/**/_______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______,/**/_______, _______, _______, _______, _______)
diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h
index fc9e348a86..77b0c3b095 100644
--- a/keyboards/lets_split/rev1/config.h
+++ b/keyboards/lets_split/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Wootpatoot
-#define PRODUCT Lets Split v1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/rev1/info.json b/keyboards/lets_split/rev1/info.json
new file mode 100644
index 0000000000..ae781da15f
--- /dev/null
+++ b/keyboards/lets_split/rev1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Lets Split v1",
+ "manufacturer": "Wootpatoot",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h
index 7d8dff4f2f..6fbfaba982 100644
--- a/keyboards/lets_split/rev2/config.h
+++ b/keyboards/lets_split/rev2/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6F77
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Wootpatoot
-#define PRODUCT Lets Split v2
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/rev2/info.json b/keyboards/lets_split/rev2/info.json
new file mode 100644
index 0000000000..fd9960697b
--- /dev/null
+++ b/keyboards/lets_split/rev2/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Lets Split v2",
+ "manufacturer": "Wootpatoot",
+ "usb": {
+ "vid": "0x6F77",
+ "pid": "0x0002",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
index 70cbc18cd5..0adf933032 100644
--- a/keyboards/lets_split/sockets/config.h
+++ b/keyboards/lets_split/sockets/config.h
@@ -18,13 +18,6 @@ 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 0x0BEE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Duckle29
-#define PRODUCT Lets Split Sockets
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/lets_split/sockets/info.json b/keyboards/lets_split/sockets/info.json
new file mode 100644
index 0000000000..700fffb622
--- /dev/null
+++ b/keyboards/lets_split/sockets/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Lets Split Sockets",
+ "manufacturer": "Duckle29",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0BEE",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/lfkeyboards/lfk65_hs/config.h b/keyboards/lfkeyboards/lfk65_hs/config.h
index 18d6bbebe7..4ecf59006e 100644
--- a/keyboards/lfkeyboards/lfk65_hs/config.h
+++ b/keyboards/lfkeyboards/lfk65_hs/config.h
@@ -2,18 +2,11 @@
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6064
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LFKeyboards
-#define PRODUCT LFK65_HS
-
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS {B0, B3, B2, B1, F5}
#define MATRIX_COL_PINS {E6, F4, B7, D5, D3, D2, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4}
-#define UNUSED_PINS {}
#define RGBLED_NUM 20 // Number of LEDs
#define QMK_ESC_OUTPUT E6 // usually COL
diff --git a/keyboards/lfkeyboards/lfk65_hs/info.json b/keyboards/lfkeyboards/lfk65_hs/info.json
index 6bbfd6e2d9..550aad3df9 100644
--- a/keyboards/lfkeyboards/lfk65_hs/info.json
+++ b/keyboards/lfkeyboards/lfk65_hs/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LFK65-HS",
+ "manufacturer": "LFKeyboards",
"url": "https://github.com/lfkeyboards",
"maintainer": "LFKeyboards",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6064",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {"layout":[{"label": "~","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": "","x": 13,"y": 0,"w": 1},{"label": "","x": 14,"y": 0,"w": 1},{"label": "Home","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": "Page Up","x": 15,"y": 1},{"label": "Caps Lock","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": "","x": 12.75,"y": 2},{"label": "Enter","x": 13.75,"y": 2,"w": 1.25},{"label": "Page Down","x": 15,"y": 2},{"label": "Shift","x": 0,"y": 3,"w": 1.25},{"label": "","x": 1.25,"y": 3},{"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": "↑","x": 14,"y": 3},{"label": "End","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": "Alt","x": 10,"y": 4},{"label": "Fn","x": 11,"y": 4},{"label": "Ctrl","x": 12,"y": 4},{"label": "â†","x": 13,"y": 4},{"label": "↓","x": 14,"y": 4},{"label": "→","x": 15,"y": 4}]},
"LAYOUT_ansi": {"layout":[{"label": "~","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": "Home","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": "Page Up","x": 15,"y": 1},{"label": "Caps Lock","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": "Page Down","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": "↑","x": 14,"y": 3},{"label": "End","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": "Alt","x": 10,"y": 4},{"label": "Fn","x": 11,"y": 4},{"label": "Ctrl","x": 12,"y": 4},{"label": "â†","x": 13,"y": 4},{"label": "↓","x": 14,"y": 4},{"label": "→","x": 15,"y": 4}]}
diff --git a/keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c b/keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c
index 86573ce17f..7326e812ec 100644
--- a/keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c
+++ b/keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c
@@ -6,7 +6,7 @@
bool process_record_kb(uint16_t keycode, keyrecord_t* record)
{
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/lfkeyboards/lfk78/config.h b/keyboards/lfkeyboards/lfk78/config.h
index 1fab81a645..5c1a4da46b 100644
--- a/keyboards/lfkeyboards/lfk78/config.h
+++ b/keyboards/lfkeyboards/lfk78/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C46 // LF
-#define PRODUCT_ID 0x3738 // 78
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LFKeyboards
-#define PRODUCT LFK78
-
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
index bd35bfbf22..a55e5ab18b 100644
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
+++ b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SETTINGS] = LAYOUT_split_rshift(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI,
XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI
)
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c
index 0a9c2aa4f9..b4efe94f06 100644
--- a/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c
+++ b/keyboards/lfkeyboards/lfk78/keymaps/split_bs_osx/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SETTINGS] = LAYOUT_split_bs(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI,
XXXXXXX, XXXXXXX, MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, RGB_MOD, RGB_VAD,
- XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, XXXXXXX, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI
)
diff --git a/keyboards/lfkeyboards/lfk78/lfk78.c b/keyboards/lfkeyboards/lfk78/lfk78.c
index 96fe96f03f..54a2b45840 100644
--- a/keyboards/lfkeyboards/lfk78/lfk78.c
+++ b/keyboards/lfkeyboards/lfk78/lfk78.c
@@ -127,7 +127,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
clicking_notes(click_hz, click_time);
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
}
diff --git a/keyboards/lfkeyboards/lfk78/revb/config.h b/keyboards/lfkeyboards/lfk78/revb/config.h
index 34ca869c5f..b94cf4be27 100644
--- a/keyboards/lfkeyboards/lfk78/revb/config.h
+++ b/keyboards/lfkeyboards/lfk78/revb/config.h
@@ -16,6 +16,5 @@
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { E6, F7, D2, D3, D4, D5, D6, D7 }
-#define UNUSED_PINS
#define RGBLED_NUM 31
diff --git a/keyboards/lfkeyboards/lfk78/revb/info.json b/keyboards/lfkeyboards/lfk78/revb/info.json
index a2d28389e7..bd9edaea01 100644
--- a/keyboards/lfkeyboards/lfk78/revb/info.json
+++ b/keyboards/lfkeyboards/lfk78/revb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LFK78/68 Rev B",
+ "keyboard_name": "LFK78 Rev B",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C46",
+ "pid": "0x3738",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lfkeyboards/lfk78/revc/config.h b/keyboards/lfkeyboards/lfk78/revc/config.h
index 1a62dfe4f3..c7c7bc9b5f 100644
--- a/keyboards/lfkeyboards/lfk78/revc/config.h
+++ b/keyboards/lfkeyboards/lfk78/revc/config.h
@@ -16,6 +16,5 @@
*/
#define MATRIX_ROW_PINS { D2, D3, D4, D5, D6 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, E6, E7, F0, F1, F2, F3, C0, C1, C2, C3 }
-#define UNUSED_PINS
#define RGBLED_NUM 27
diff --git a/keyboards/lfkeyboards/lfk78/revc/info.json b/keyboards/lfkeyboards/lfk78/revc/info.json
index 9fa07967c0..1af3ffaf86 100644
--- a/keyboards/lfkeyboards/lfk78/revc/info.json
+++ b/keyboards/lfkeyboards/lfk78/revc/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LFK78/68 Rev C-H",
+ "keyboard_name": "LFK7 Rev C-H",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C46",
+ "pid": "0x3738",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lfkeyboards/lfk78/revj/config.h b/keyboards/lfkeyboards/lfk78/revj/config.h
index 1a62dfe4f3..c7c7bc9b5f 100644
--- a/keyboards/lfkeyboards/lfk78/revj/config.h
+++ b/keyboards/lfkeyboards/lfk78/revj/config.h
@@ -16,6 +16,5 @@
*/
#define MATRIX_ROW_PINS { D2, D3, D4, D5, D6 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, E6, E7, F0, F1, F2, F3, C0, C1, C2, C3 }
-#define UNUSED_PINS
#define RGBLED_NUM 27
diff --git a/keyboards/lfkeyboards/lfk78/revj/info.json b/keyboards/lfkeyboards/lfk78/revj/info.json
index 497b147ff9..d905b4977e 100644
--- a/keyboards/lfkeyboards/lfk78/revj/info.json
+++ b/keyboards/lfkeyboards/lfk78/revj/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LFK78/68 Rev J",
+ "keyboard_name": "LFK78 Rev J",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C46",
+ "pid": "0x3738",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h
index af0a4b173b..a7b7415e02 100644
--- a/keyboards/lfkeyboards/lfk87/config.h
+++ b/keyboards/lfkeyboards/lfk87/config.h
@@ -19,12 +19,6 @@ 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 LFKeyboards
-#define PRODUCT LFK87
-
#define DIODE_DIRECTION COL2ROW
#ifdef LFK_TKL_REV_A
@@ -34,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {D2, D3, D4, D5, D6, D7 }
#define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, E6, E7,\
F0, F1, F2, F3, C0, C1, C2 }
- #define UNUSED_PINS {B0, B1, B2, B3, B4, B4, B5, B6, B7, C4, C5, C6, C7,\
- D0, D1, E0, E1, E2, E3, E4, F4, F5, F6, F7}
#define RGBLED_NUM 25 // Number of LEDs
#else
/* RevC/D Matrix config */
@@ -43,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS {F2, D7, D6, D5, D4, D3, F3}
#define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, C7, C1, C0, E1, E0, C2, C3, C4}
- #define UNUSED_PINS {B0, B1, B2, B3, B4, B4, B5, B6, B7, C5, C6, D2, E3, E4, E5, E6, E7, \
- F0, F1, F4, F5, F6, F7}
#define RGBLED_NUM 24 // Number of LEDs
#endif
diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json
index a64782016e..81eeed54de 100644
--- a/keyboards/lfkeyboards/lfk87/info.json
+++ b/keyboards/lfkeyboards/lfk87/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LFK87/SMK87",
+ "keyboard_name": "LFK87",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"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":"Win", "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}]
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
index b62ea93440..4e919da84f 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
+++ b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX,
MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX,
- AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI
)
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c
index c946856dbe..b53fb19e1c 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c
+++ b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX,
MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX,
- AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI
)
diff --git a/keyboards/lfkeyboards/lfk87/lfk87.c b/keyboards/lfkeyboards/lfk87/lfk87.c
index 17eeeeffe8..553c66da6d 100644
--- a/keyboards/lfkeyboards/lfk87/lfk87.c
+++ b/keyboards/lfkeyboards/lfk87/lfk87.c
@@ -109,7 +109,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record)
if (click_toggle && record->event.pressed){
click(click_hz, click_time);
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/lfkeyboards/lfkpad/config.h b/keyboards/lfkeyboards/lfkpad/config.h
index 0ddb4b95b6..84dfdad009 100644
--- a/keyboards/lfkeyboards/lfkpad/config.h
+++ b/keyboards/lfkeyboards/lfkpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C46 // LF
-#define PRODUCT_ID 0x3231 // 21
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LFKeyboards
-#define PRODUCT LFKPad 21
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, F4, F6, F7, C7, C6 }
#define MATRIX_COL_PINS { F1, F0, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lfkeyboards/lfkpad/info.json b/keyboards/lfkeyboards/lfkpad/info.json
index 53ac3e0b8b..0ce6089c05 100644
--- a/keyboards/lfkeyboards/lfkpad/info.json
+++ b/keyboards/lfkeyboards/lfkpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LFKPad",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C46",
+ "pid": "0x3231",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h
index a9f61f849c..0f9ddaef31 100644
--- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h
+++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h
@@ -19,9 +19,6 @@
/* 1000Hz USB polling */
#define USB_POLLING_INTERVAL_MS 1
-/* Send up to 4 key press events per scan */
-#define QMK_KEYS_PER_SCAN 4
-
/* Force NKRO on boot up */
#define FORCE_NKRO
diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c
index b2b97f442d..667e8859e2 100644
--- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c
+++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RGB */
[1] = LAYOUT_numpad_6x4(
RGB_SAI, RGB_VAI, RGB_HUI, _______,
- RGB_SAD, RGB_VAD, RGB_HUD, RESET,
+ RGB_SAD, RGB_VAD, RGB_HUD, QK_BOOT,
RGB_M_X, RGB_M_G, RGB_MOD,
RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_RMOD,
RGB_M_P, RGB_M_B, RGB_M_R,
diff --git a/keyboards/lfkeyboards/mini1800/config.h b/keyboards/lfkeyboards/mini1800/config.h
index e7b0b5112a..b304db7548 100644
--- a/keyboards/lfkeyboards/mini1800/config.h
+++ b/keyboards/lfkeyboards/mini1800/config.h
@@ -19,12 +19,6 @@ 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 LFKeyboards
-#define PRODUCT Mini1800
-
#define DIODE_DIRECTION COL2ROW
/* Matrix config */
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 19
#define MATRIX_ROW_PINS {D7, E1, F2, F0, F1}
#define MATRIX_COL_PINS {E6, E0, A3, A4, A5, A6, A7, C7, C5, C4, C3, C2, C1, C0, D6, A2, A1, A0, F3}
- #define UNUSED_PINS {}
#define RGBLED_NUM 26 // Number of LEDs
#define AUDIO_VOICES
diff --git a/keyboards/lfkeyboards/mini1800/info.json b/keyboards/lfkeyboards/mini1800/info.json
index 0625ee43d4..703184dc99 100644
--- a/keyboards/lfkeyboards/mini1800/info.json
+++ b/keyboards/lfkeyboards/mini1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mini1800",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "lfkeyboards",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
index f5faf7215a..88e60c89af 100644
--- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
+++ b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SETTINGS] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX,
MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX,
- AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ AU_TOG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX
)
diff --git a/keyboards/lfkeyboards/mini1800/mini1800.c b/keyboards/lfkeyboards/mini1800/mini1800.c
index 8819d3465a..ac6b0533b4 100644
--- a/keyboards/lfkeyboards/mini1800/mini1800.c
+++ b/keyboards/lfkeyboards/mini1800/mini1800.c
@@ -115,7 +115,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record)
if (click_toggle && record->event.pressed){
click(click_hz, click_time);
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/lfkeyboards/mini1800/readme.md b/keyboards/lfkeyboards/mini1800/readme.md
index 4e35ac537e..9cf7748856 100644
--- a/keyboards/lfkeyboards/mini1800/readme.md
+++ b/keyboards/lfkeyboards/mini1800/readme.md
@@ -21,6 +21,6 @@ Flashing example for this keyboard:
To reset the board into bootloader mode, do one of the following:
* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
-* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)
+* **Keycode in keymap**: Press the key mapped to `QK_BOOT` if it is available (`Fn`+`Right Shift`, then tap `Enter` by 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/lfkeyboards/mini1800/reva/readme.md b/keyboards/lfkeyboards/mini1800/reva/readme.md
index 8460bb5326..7c1e5c10de 100644
--- a/keyboards/lfkeyboards/mini1800/reva/readme.md
+++ b/keyboards/lfkeyboards/mini1800/reva/readme.md
@@ -17,6 +17,6 @@ Flashing example for this keyboard:
To reset the board into bootloader mode, do one of the following:
* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
-* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)
+* **Keycode in keymap**: Press the key mapped to `QK_BOOT` if it is available (`Fn`+`Right Shift`, then tap `Enter` by 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/lfkeyboards/mini1800/revc/readme.md b/keyboards/lfkeyboards/mini1800/revc/readme.md
index 5d442cb6d9..c872c15ed8 100644
--- a/keyboards/lfkeyboards/mini1800/revc/readme.md
+++ b/keyboards/lfkeyboards/mini1800/revc/readme.md
@@ -19,6 +19,6 @@ Flashing example for this keyboard:
To reset the board into bootloader mode, do one of the following:
* **Physical reset button**: Briefly press the button on the bottom of the PCB (between Q and W keys)
-* **Keycode in keymap**: Press the key mapped to `RESET` if it is available (`Fn`+`Right Shift`, then tap `Enter` by default)
+* **Keycode in keymap**: Press the key mapped to `QK_BOOT` if it is available (`Fn`+`Right Shift`, then tap `Enter` by 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/lfkeyboards/smk65/info.json b/keyboards/lfkeyboards/smk65/info.json
index 038893c8f3..5522d1bbb7 100644
--- a/keyboards/lfkeyboards/smk65/info.json
+++ b/keyboards/lfkeyboards/smk65/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "SMK65",
+ "keyboard_name": "SMK65v2",
+ "manufacturer": "LFKeyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C46",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/lfkeyboards/smk65/revb/config.h b/keyboards/lfkeyboards/smk65/revb/config.h
index ecb183e8af..13846be9a8 100644
--- a/keyboards/lfkeyboards/smk65/revb/config.h
+++ b/keyboards/lfkeyboards/smk65/revb/config.h
@@ -16,20 +16,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C46 // "LF"
-#define PRODUCT_ID 0x565B // "s65b"
-#define DEVICE_VER 0x0006
-#define MANUFACTURER LFKeyboards
-#define PRODUCT SMK65v2
-
// RevA
// #define DIODE_DIRECTION COL2ROW
// #define MATRIX_ROWS 5
// #define MATRIX_COLS 16
// #define MATRIX_ROW_PINS {B7, F7, F6, F5, F4}
// #define MATRIX_COL_PINS {F0, F1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C7, B3, B2, B1, B0}
-// #define UNUSED_PINS {}
// RevB
#define DIODE_DIRECTION COL2ROW
@@ -37,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS {D6, D7, E0, C3, C4}
#define MATRIX_COL_PINS {F2, C5, E5, E4, B7, B6, B5, B4, B3, B2, B1, B0, E1, C0, C1, C2}
-#define UNUSED_PINS {}
#define RGBLED_NUM 20 // Number of LEDs
//RevB only:
diff --git a/keyboards/lfkeyboards/smk65/revb/info.json b/keyboards/lfkeyboards/smk65/revb/info.json
new file mode 100644
index 0000000000..8790e7e33a
--- /dev/null
+++ b/keyboards/lfkeyboards/smk65/revb/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x565B"
+ }
+}
diff --git a/keyboards/lfkeyboards/smk65/revb/revb.c b/keyboards/lfkeyboards/smk65/revb/revb.c
index 9b34eff1c3..9e78107eca 100644
--- a/keyboards/lfkeyboards/smk65/revb/revb.c
+++ b/keyboards/lfkeyboards/smk65/revb/revb.c
@@ -74,7 +74,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record)
if (click_toggle && record->event.pressed){
click(click_hz, click_time);
}
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/lfkeyboards/smk65/revf/config.h b/keyboards/lfkeyboards/smk65/revf/config.h
index 1b8295b152..6281324c5c 100644
--- a/keyboards/lfkeyboards/smk65/revf/config.h
+++ b/keyboards/lfkeyboards/smk65/revf/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C46 // "LF"
-#define PRODUCT_ID 0x565F // "s65f"
-#define DEVICE_VER 0x0006
-#define MANUFACTURER LFKeyboards
-#define PRODUCT SMK65v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B3, B2, B1, F5 }
#define MATRIX_COL_PINS { E6, F4, B7, D5, D3, D2, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lfkeyboards/smk65/revf/info.json b/keyboards/lfkeyboards/smk65/revf/info.json
new file mode 100644
index 0000000000..071eab2f47
--- /dev/null
+++ b/keyboards/lfkeyboards/smk65/revf/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x565F"
+ }
+}
diff --git a/keyboards/lily58/glow_enc/config.h b/keyboards/lily58/glow_enc/config.h
index 5e51acea25..67005f06b0 100644
--- a/keyboards/lily58/glow_enc/config.h
+++ b/keyboards/lily58/glow_enc/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFC51
-#define PRODUCT_ID 0x0059
-#define DEVICE_VER 0x0100
-#define MANUFACTURER ORVISEVANS+
-#define PRODUCT Lily58GlowEnc
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/lily58/glow_enc/info.json b/keyboards/lily58/glow_enc/info.json
index 503cdaae12..8e8b72434b 100644
--- a/keyboards/lily58/glow_enc/info.json
+++ b/keyboards/lily58/glow_enc/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Lily58",
+ "keyboard_name": "Lily58GlowEnc",
+ "manufacturer": "ORVISEVANS+",
"url": "https://keycapsss.com",
"maintainer": "BenRoe",
+ "usb": {
+ "vid": "0xFC51",
+ "pid": "0x0059",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lily58/keymaps/bcat/keymap.c b/keyboards/lily58/keymaps/bcat/keymap.c
index a0856d0fdd..eced2f2655 100644
--- a/keyboards/lily58/keymaps/bcat/keymap.c
+++ b/keyboards/lily58/keymaps/bcat/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/8f6a3f08350a9bbe1d414b22bca4e6c7 */
[LAYER_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, RESET, _______, _______, _______, _______,
+ _______, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______,
_______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/lily58/keymaps/druotoni/keymap.c b/keyboards/lily58/keymaps/druotoni/keymap.c
index 2db32047e0..2ab26bbd24 100644
--- a/keyboards/lily58/keymaps/druotoni/keymap.c
+++ b/keyboards/lily58/keymaps/druotoni/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DELETE,
- RESET, KC_F11, KC_F12, KC_DELETE, RCTL(FR_V), RCTL(FR_C), KC_HOME, KC_PGUP, KC_PSCR, RCTL(FR_Y), RCTL(KC_RIGHT), _______,
+ QK_BOOT, KC_F11, KC_F12, KC_DELETE, RCTL(FR_V), RCTL(FR_C), KC_HOME, KC_PGUP, KC_PSCR, RCTL(FR_Y), RCTL(KC_RIGHT), _______,
_______,RCTL(FR_A), _______,RCTL(FR_S), RCTL(FR_Z), KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
KC_F9, KC_F11, KC_F10, KC_F5, LALT(KC_TAB), RCTL(FR_X), KC_ENT, _______, KC_END, KC_PGDN, _______, _______, _______, _______,
_______,TT(_RAISE), _______, _______, _______, _______, KC_APP, _______),
diff --git a/keyboards/lily58/keymaps/hvp/keymap.c b/keyboards/lily58/keymaps/hvp/keymap.c
index 67e2541f6b..91f3590757 100644
--- a/keyboards/lily58/keymaps/hvp/keymap.c
+++ b/keyboards/lily58/keymaps/hvp/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
_______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______,
KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
- RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_VOLU, _______
)
};
diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
index 1e1a2802ff..b4249396da 100644
--- a/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/lily58/keymaps/muppetjones/README.md b/keyboards/lily58/keymaps/muppetjones/README.md
new file mode 100644
index 0000000000..38cea9cfc2
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/README.md
@@ -0,0 +1,13 @@
+# Lily58
+
+```shell
+qmk compile -kb lily58/rev1 -km muppetjones
+```
+
+```
+qmk flash -kb lily58/rev1 -km muppetjones -bl avrdude-split-left
+```
+
+```
+qmk flash -kb lily58/rev1 -km muppetjones -bl avrdude-split-right
+```
diff --git a/keyboards/lily58/keymaps/muppetjones/config.h b/keyboards/lily58/keymaps/muppetjones/config.h
new file mode 100644
index 0000000000..bee5ee45da
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/config.h
@@ -0,0 +1,44 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Select hand configuration */
+
+// 1 minute
+#ifdef OLED_ENABLE
+# define OLED_TIMEOUT 60000
+#endif
+
+
+// Change "hold" time (default is 200 ms)
+#define TAPPING_TERM 200
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
+#define TAPPING_FORCE_HOLD
+
+#undef RGBLED_NUM
+
+// Allows to use either side as the master. Look at the documentation for info:
+// https://docs.qmk.fm/#/config_options?id=setting-handedness
+#define EE_HANDS
diff --git a/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.c b/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.c
new file mode 100644
index 0000000000..23f6493efc
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.c
@@ -0,0 +1,127 @@
+/**
+ * BONGO CAT!
+
+WPM-responsive animation of bongo cat!
+
+Source:
+ https://github.com/qmk/qmk_firmware/blob/master/keyboards/kyria/keymaps/j-inc/keymap.c
+*/
+
+#include QMK_KEYBOARD_H
+
+#ifdef OLED_ENABLE
+
+# define IDLE_FRAMES 5
+# define IDLE_SPEED 30 // below this wpm value your animation will idle
+
+// #define PREP_FRAMES 1 // uncomment if >1
+
+# define TAP_FRAMES 2
+# define TAP_SPEED 40 // above this wpm value typing animation to triggere
+
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+/* Animation */
+
+static const char PROGMEM ANIM_IDLE[IDLE_FRAMES][ANIM_SIZE] = {
+ // clang-format off
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,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,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
+ 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ },
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,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,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
+ 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
+ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ },
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,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,128,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,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
+ 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ },
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,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,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
+ 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
+ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ },
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,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,128,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,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
+ 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ }
+ // clang-format on
+};
+
+// Prep animation
+static const char PROGMEM ANIM_PREP[][ANIM_SIZE] = {
+ // clang-format off
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,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,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
+ 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,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
+};
+
+// Typing animation
+static const char PROGMEM ANIM_TAP[TAP_FRAMES][ANIM_SIZE] = {
+ // clang-format off
+ {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,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,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
+ 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
+ 1,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,1,3,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,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,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,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
+ 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,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,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,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,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,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
+ }
+ // clang-format on
+};
+
+/* Functions */
+
+
+void animation_phase(uint8_t wpm) {
+ // NOTE: Optimized the conditional. We don't need to recheck each.
+ // NOTE: Move this and the animation outside of the function.
+
+ if (IDLE_SPEED >= wpm) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(ANIM_IDLE[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ } else if (TAP_SPEED > wpm) {
+ oled_write_raw_P(ANIM_PREP[0], ANIM_SIZE);
+ } else {
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(ANIM_TAP[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
+ }
+}
+
+// Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach.
+void render_bongo_cat(void) {
+ const uint8_t curr_wpm = get_current_wpm();
+
+ if (curr_wpm > 000) {
+ oled_on();
+ anim_sleep = timer_read32();
+ } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ return;
+ }
+
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase(curr_wpm);
+ }
+}
+
+#endif
diff --git a/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.h b/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.h
new file mode 100644
index 0000000000..1025ccfa1b
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/features/bongo_cat.h
@@ -0,0 +1,14 @@
+/**
+ * BONGO CAT!
+
+WPM-responsive animation of bongo cat!
+
+Source:
+ https://github.com/qmk/qmk_firmware/blob/master/keyboards/kyria/keymaps/j-inc/keymap.c
+*/
+
+#pragma once
+
+const char *wpm_state(void);
+void animation_phase(uint8_t wpm);
+void render_bongo_cat(void);
diff --git a/keyboards/lily58/keymaps/muppetjones/keymap.c b/keyboards/lily58/keymaps/muppetjones/keymap.c
new file mode 100644
index 0000000000..5a507eb9cb
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/keymap.c
@@ -0,0 +1,240 @@
+/* Copyright 2020 Stephen J. Bush
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "muppetjones.h"
+#include "features/bongo_cat.h"
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+/*
+ * qmk compile -kb lily58/rev1 -km muppetjones
+ */
+
+// GACS (Lower)
+#define HR_LBRC LCTL_T(KC_LBRC)
+#define HR_RBRC LSFT_T(KC_RBRC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+
+/* Colemak DH
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BADJ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | A | R | S | T | G |-------. ,-------| M | N | E | I | O | ' |
+ * |------+------+------+------+------+------| Raise | | Lower |------+------+------+------+------+------|
+ * |LShift| Z | X | C | D | V |-------| |-------| K | H | , | . | / |Enter |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | Alt | LGUI |LOWER | /Space / \Space \ |RAISE | Ctrl | RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+[_CLMK_DH] = LAYOUT_wrapper(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_CAPS, __BLANK____________________________________, KC_BSPC,
+ KC_CAPS, __COLEMAK_MOD_DH_L1________________________, __COLEMAK_MOD_DH_R1_W_QUOT_________________, KC_BSPC,
+ HY_ESC, __COLEMAK_MOD_DH_L2_W_GACS_________________, __COLEMAK_MOD_DH_R2_W_SCAG_________________, KC_QUOT,
+ TD_LAYR, __COLEMAK_MOD_DH_L3_W_SFTV_________________, KC_CAPS, KC_TAB, __COLEMAK_MOD_DH_R3________________________, KC_SFTENT,
+ XXXXXXX, XXXXXXX, HY_ESC, LOW_ENT, NAV_SPC, HY_BSPC, XXXXXXX, XXXXXXX
+),
+
+/* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+[_QWERTY] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __QWERTY_L1________________________________, __QWERTY_R1________________________________, _______,
+ _______, __QWERTY_L2________________________________, __QWERTY_R2________________________________, _______,
+ _______, __QWERTY_L3________________________________, _______, _______, __QWERTY_R3________________________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+),
+[_MOUSE] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __BLANK____________________________________, _______, _______, __BLANK____________________________________, _______,
+ KC_BTN1, __BLANK____________________________________, _______, KC_BTN2
+),
+
+/* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | | Mute | Vol- | Vol+ | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ~ | | | ` | | ( | | ) | 7 | 8 | 9 | \ | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | GUI | ALT | _ | - | { |-------. ,-------| } | 4 | 5 | 6 | * | ` |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | + | = | [ |-------| |-------| ] | 1 | 2 | 3 | | |Enter |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | | |LOWER | / / \ \ | 0 | . | = |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+[_LOWER] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __SYMBOLS_L1_______________________________, __NUMPAD_R1________________________________, _______,
+ _______, __SYMBOLS_L2_______________________________, __NUMPAD_R2________________________________, KC_COMM,
+ _______, __SYMBOLS_L3_______________________________, _______, _______, __NUMPAD_R3________________________________, KC_DOT,
+ _______, _______, _______, _______, KC_SPC, KC_0, KC_DOT, _______
+),
+/* RAISE
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | |MS_A_0|MS_A_1|MS_A_2| | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | |MS_W_U| | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | GUI | ALT | CTL | SFT |MS_W_D|-------. ,-------| | Left | Down | Up |Right | |
+ * |------+------+------+------+------+------|MS_W_L | |MS_W_R |------+------+------+------+------+------|
+ * | | MS_L | MS_D | MS_U | MS_R | |-------| |-------| |MS_W_L|MS_W_D|MS_W_U|MS_W_R| |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | | | MS_2 | / MS_1 / \ \ |RAISE | | |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ // */
+
+[_RAISE] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __SYMBOLS_L1_______________________________, __NAV_R1___________________________________, _______,
+ _______, __SYMBOLS_L2_______________________________, __NAV_R2___________________________________, _______,
+ _______, __SYMBOLS_L3_______________________________, _______, _______, __NAV_R3___________________________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+),
+[_NAV] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __VIM_L1___________________________________, __NAV_R1___________________________________, _______,
+ _______, __BLANK_W_GACS_____________________________, __NAV_R2___________________________________, _______,
+ _______, __BLANK____________________________________, _______, _______, __NAV_R3___________________________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | Reset| | | | | | Reset| | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+[_ADJUST] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, _______, CLMK_DH, QWERTY, _______, _______, _______,
+ QK_BOOT, __ADJUST_L1________________________________, __MEDIA_R1_________________________________, _______,
+ _______, __ADJUST_L2________________________________, __MEDIA_R2_________________________________, _______,
+ _______, __ADJUST_L3________________________________, _______, _______, __MEDIA_R3_________________________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+ // clang-format on
+};
+
+// SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in rules.mk
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (!is_keyboard_master()) return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ return rotation;
+}
+
+// When you add source files to SRC in rules.mk, you can use functions.
+const char *read_layer_state_user(void);
+void set_keylog(uint16_t keycode, keyrecord_t *record);
+const char *read_keylog(void);
+const char *read_keylogs(void);
+
+char layer_state_str[24];
+
+const char *read_layer_state_user(void) {
+ // NOTE;
+ switch (get_highest_layer(layer_state)) {
+ case _CLMK_DH:
+ return "Layer: Colemak";
+ break;
+ case _QWERTY:
+ return "Layer: QWERTY ";
+ break;
+ case _MOUSE:
+ return "Layer: Mouse ";
+ break;
+ case _LOWER:
+ return "Layer: Lower ";
+ break;
+ case _RAISE:
+ return "Layer: Raise ";
+ break;
+ case _NAV:
+ return "Layer: Nav ";
+ break;
+ case _ADJUST:
+ return "Layer: Adjust ";
+ break;
+ default:
+ break;
+ }
+
+ char *layer_state_str = "Layer: Und- ";
+ layer_state_str[10] = '0' + layer_state % 10;
+ return layer_state_str;
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ // If you want to change the display of OLED, you need to change here
+ oled_write_ln(read_layer_state_user(), false);
+ oled_write_ln(read_keylog(), false);
+ oled_write_ln(read_keylogs(), false);
+ } else {
+ render_bongo_cat();
+ oled_set_cursor(0, 6);
+ oled_write_P(PSTR("WPM: "), false);
+ oled_write(get_u8_str(get_current_wpm(), ' '), false);
+ }
+ return false;
+}
+#endif // OLED_DRIVER_ENABLE
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+#ifdef OLED_ENABLE
+ set_keylog(keycode, record);
+#endif
+ // set_timelog();
+ }
+
+ // Regular user keycode case statement
+ switch (keycode) {
+ default:
+ return true;
+ }
+
+ return true;
+}
diff --git a/keyboards/lily58/keymaps/muppetjones/rules.mk b/keyboards/lily58/keymaps/muppetjones/rules.mk
new file mode 100644
index 0000000000..1323bea893
--- /dev/null
+++ b/keyboards/lily58/keymaps/muppetjones/rules.mk
@@ -0,0 +1,17 @@
+OLED_ENABLE= yes # OLED display
+WPM_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+COMBO_ENABLE = yes
+EXTRAKEY_ENABLE = yes
+
+# If you want to change the display of OLED, you need to change here
+# SRC += ./lib/rgb_state_reader.c
+SRC += ./lib/layer_state_reader.c
+SRC += ./lib/logo_reader.c
+SRC += ./lib/keylogger.c
+SRC += ./features/bongo_cat.c
+
+# Reduce firmware size
+# https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/
+# also requires in config.h
+LTO_ENABLE = yes
diff --git a/keyboards/lily58/lib/layer_state_reader.c b/keyboards/lily58/lib/layer_state_reader.c
index 0e9dd7039b..868d8e5cb4 100644
--- a/keyboards/lily58/lib/layer_state_reader.c
+++ b/keyboards/lily58/lib/layer_state_reader.c
@@ -28,7 +28,7 @@ const char *read_layer_state(void) {
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
break;
default:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%u", layer_state);
}
return layer_state_str;
diff --git a/keyboards/lily58/light/config.h b/keyboards/lily58/light/config.h
index 1893dde8eb..32c9445152 100644
--- a/keyboards/lily58/light/config.h
+++ b/keyboards/lily58/light/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7983
-#define PRODUCT_ID 0x4C4C // "LL"
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keycapsss
-#define PRODUCT Lily58L
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/lily58/light/info.json b/keyboards/lily58/light/info.json
index 503cdaae12..a0f931a6d9 100644
--- a/keyboards/lily58/light/info.json
+++ b/keyboards/lily58/light/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Lily58",
+ "keyboard_name": "Lily58L",
+ "manufacturer": "Keycapsss",
"url": "https://keycapsss.com",
"maintainer": "BenRoe",
+ "usb": {
+ "vid": "0x7983",
+ "pid": "0x4C4C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lily58/rev1/config.h b/keyboards/lily58/rev1/config.h
index 6bfc7ffa75..8205899f5e 100644
--- a/keyboards/lily58/rev1/config.h
+++ b/keyboards/lily58/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB2D
-#define DEVICE_VER 0x0100
-#define MANUFACTURER liliums
-#define PRODUCT Lily58
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/lily58/rev1/info.json b/keyboards/lily58/rev1/info.json
index ed4deb0098..10370c6d16 100644
--- a/keyboards/lily58/rev1/info.json
+++ b/keyboards/lily58/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lily58",
+ "manufacturer": "liliums",
"url": "",
"maintainer": "liliums",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB2D",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/lime/readme.md b/keyboards/lime/readme.md
index 539ae97fd3..bd72b9d6c5 100644
--- a/keyboards/lime/readme.md
+++ b/keyboards/lime/readme.md
@@ -22,7 +22,7 @@ Flashing example for this keyboard:
Press reset button on he keyboard when asked. You can do that in 3 ways:
* **Physical reset button**: Briefly press the button near the TRRS connector on the PCB - if you haven't installed one, short the pads instead
-* **Keycode in layout**: Press the key mapped to `RESET` (`Lower` + `Raise` + `Esc` on the default layout)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (`Lower` + `Raise` + `Esc` on the default layout)
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
Disconnect the first half, connect the second one and repeat the process.
diff --git a/keyboards/lime/rev1/config.h b/keyboards/lime/rev1/config.h
index 547b881761..3eaa4e2b60 100644
--- a/keyboards/lime/rev1/config.h
+++ b/keyboards/lime/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0666
-#define PRODUCT_ID 0x2784
-#define DEVICE_VER 0x0001
-#define MANUFACTURER HellSingCoder
-#define PRODUCT Lime
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/lime/rev1/info.json b/keyboards/lime/rev1/info.json
index 0dcadc7823..3357ba536f 100644
--- a/keyboards/lime/rev1/info.json
+++ b/keyboards/lime/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lime",
+ "manufacturer": "HellSingCoder",
"url": "https://github.com/HellSingCoder/LimeKeyboard",
"maintainer": "HellSingCoder",
+ "usb": {
+ "vid": "0x0666",
+ "pid": "0x2784",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/linworks/dolice/config.h b/keyboards/linworks/dolice/config.h
index 1523c72702..b8648e64db 100644
--- a/keyboards/linworks/dolice/config.h
+++ b/keyboards/linworks/dolice/config.h
@@ -16,15 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 //"LX"
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KLC
-#define PRODUCT Dolice
-
-/* Set 1 kHz polling rate and force USB NKRO */
-#define USB_POLLING_INTERVAL_MS 1
+/* Force USB NKRO */
#define FORCE_NKRO
/* key matrix size */
@@ -33,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F5, F4, F6, F7, B0, B7, D7, D6, D4 }
#define MATRIX_COL_PINS { E6, F0, F1, B4, D5, D3, D2, B2 }
-#define UNUSED_PINS { B1, B3, D0, D1, E2 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -45,3 +36,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PIN B5 // Timer 1 on mega32u4
#define BACKLIGHT_BREATHING
#define BACKLIGHT_ON_STATE 1
+
+/* Indicator LEDs */
+#define LED_NUM_LOCK_PIN B6
+#define LED_CAPS_LOCK_PIN C7
+#define LED_SCROLL_LOCK_PIN C6
+#define LED_PIN_ON_STATE 0 \ No newline at end of file
diff --git a/keyboards/linworks/dolice/info.json b/keyboards/linworks/dolice/info.json
index 5a72496f1c..4cc1a71a55 100644
--- a/keyboards/linworks/dolice/info.json
+++ b/keyboards/linworks/dolice/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Dolice",
+ "manufacturer": "KLC",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice": {
"layout": [
diff --git a/keyboards/linworks/em8/config.h b/keyboards/linworks/em8/config.h
new file mode 100644
index 0000000000..176c814e35
--- /dev/null
+++ b/keyboards/linworks/em8/config.h
@@ -0,0 +1,8 @@
+// Copyright 2022 moritz plattner (@moritz plattner)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Move Bootmagic key from ~ to ESC (0,0 to 1,0)
+#define BOOTMAGIC_LITE_ROW 1
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/linworks/em8/info.json b/keyboards/linworks/em8/info.json
new file mode 100644
index 0000000000..e4d58708e5
--- /dev/null
+++ b/keyboards/linworks/em8/info.json
@@ -0,0 +1,190 @@
+{
+ "manufacturer": "Linworks",
+ "keyboard_name": "EM.8",
+ "maintainer": "ebastler",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": [ "B5", "B4", "D0", "D1", "D4", "D6", "D7", "F6", "F5", "F4", "F1", "B2", "B6", "C6", "C7" ],
+ "rows": [ "B7", "B0", "F0", "E6", "F7" ]
+ },
+ "processor": "atmega32u4",
+ "url": "https://klc-playground.com/",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0006",
+ "vid": "0x4C58"
+ },
+ "indicators": {
+ "num_lock": "D2",
+ "caps_lock": "D3",
+ "scroll_lock": "D5",
+ "on_state": 0
+ },
+ "layouts": {
+ "LAYOUT_em8_2u_backsp": {
+ "layout": [
+ {"x":0, "y":0, "matrix":[1,0] },
+ {"x":1.25, "y":0, "matrix":[0,0] },
+ {"x":2.25, "y":0, "matrix":[0,1] },
+ {"x":3.25, "y":0, "matrix":[0,2] },
+ {"x":4.25, "y":0, "matrix":[0,3] },
+ {"x":5.25, "y":0, "matrix":[0,4] },
+ {"x":6.25, "y":0, "matrix":[0,5] },
+ {"x":7.25, "y":0, "matrix":[0,6] },
+ {"x":10.25, "y":0, "matrix":[0,7] },
+ {"x":11.25, "y":0, "matrix":[0,8] },
+ {"x":12.25, "y":0, "matrix":[0,9] },
+ {"x":13.25, "y":0, "matrix":[0,10] },
+ {"x":14.25, "y":0, "matrix":[0,11] },
+ {"x":15.25, "y":0, "matrix":[0,12] },
+ {"x":16.25, "y":0, "w": 2, "matrix":[0,13] },
+ {"x":18.5, "y":0, "matrix":[0,14] },
+
+ {"x":0, "y":1, "matrix":[2,0] },
+ {"x":1.25, "y":1, "w":1.5, "matrix":[1,1] },
+ {"x":2.75, "y":1, "matrix":[1,2] },
+ {"x":3.75, "y":1, "matrix":[1,3] },
+ {"x":4.75, "y":1, "matrix":[1,4] },
+ {"x":5.75, "y":1, "matrix":[1,5] },
+ {"x":6.75, "y":1, "matrix":[1,6] },
+ {"x":9.75, "y":1, "matrix":[1,7] },
+ {"x":10.75, "y":1, "matrix":[1,8] },
+ {"x":11.75, "y":1, "matrix":[1,9] },
+ {"x":12.75, "y":1, "matrix":[1,10] },
+ {"x":13.75, "y":1, "matrix":[1,11] },
+ {"x":14.75, "y":1, "matrix":[1,12] },
+ {"x":15.75, "y":1, "matrix":[1,13] },
+ {"x":16.75, "y":1, "w":1.5, "matrix":[1,14] },
+ {"x":18.5, "y":1, "matrix":[2,14] },
+
+ {"x":0, "y":2, "matrix":[3,0] },
+ {"x":1.25, "y":2, "w":1.75, "matrix":[2,1] },
+ {"x":3, "y":2, "matrix":[2,2] },
+ {"x":4, "y":2, "matrix":[2,3] },
+ {"x":5, "y":2, "matrix":[2,4] },
+ {"x":6, "y":2, "matrix":[2,5] },
+ {"x":7, "y":2, "matrix":[2,6] },
+ {"x":10, "y":2, "matrix":[2,7] },
+ {"x":11, "y":2, "matrix":[2,8] },
+ {"x":12, "y":2, "matrix":[2,9] },
+ {"x":13, "y":2, "matrix":[2,10] },
+ {"x":14, "y":2, "matrix":[2,11] },
+ {"x":15, "y":2, "matrix":[2,12] },
+ {"x":16, "y":2, "w":2.25, "matrix":[2,13] },
+
+ {"x":1.25, "y":3, "w":2.25, "matrix":[3,1] },
+ {"x":3.5, "y":3, "matrix":[3,2] },
+ {"x":4.5, "y":3, "matrix":[3,3] },
+ {"x":5.5, "y":3, "matrix":[3,4] },
+ {"x":6.5, "y":3, "matrix":[3,5] },
+ {"x":7.5, "y":3, "matrix":[3,6] },
+ {"x":9.5, "y":3, "matrix":[3,7] },
+ {"x":10.5, "y":3, "matrix":[3,8] },
+ {"x":11.5, "y":3, "matrix":[3,9] },
+ {"x":12.5, "y":3, "matrix":[3,10] },
+ {"x":13.5, "y":3, "matrix":[3,11] },
+ {"x":14.5, "y":3, "matrix":[3,12] },
+ {"x":15.5, "y":3, "w":1.75, "matrix":[3,13] },
+ {"x":17.5, "y":3.25, "matrix":[3,14] },
+
+ {"x":1.25, "y":4, "w":1.5, "matrix":[4,1] },
+ {"x":4.25, "y":4, "w":1.5, "matrix":[4,3] },
+ {"x":5.75, "y":4, "w":2.25, "matrix":[4,5] },
+ {"x":8, "y":4, "w":1, "matrix":[4,6] },
+ {"x":9.5, "y":4, "w":2.75, "matrix":[4,8] },
+ {"x":12.25, "y":4, "w":1.5, "matrix":[4,10] },
+ {"x":16.5, "y":4.25, "w":1, "matrix":[4,12] },
+ {"x":17.5, "y":4.25, "w":1, "matrix":[4,13] },
+ {"x":18.5, "y":4.25, "w":1, "matrix":[4,14] }
+ ]
+ },
+
+ "LAYOUT_em8_all": {
+ "layout": [
+ {"x":0, "y":0, "matrix":[1,0] },
+ {"x":1.25, "y":0, "matrix":[0,0] },
+ {"x":2.25, "y":0, "matrix":[0,1] },
+ {"x":3.25, "y":0, "matrix":[0,2] },
+ {"x":4.25, "y":0, "matrix":[0,3] },
+ {"x":5.25, "y":0, "matrix":[0,4] },
+ {"x":6.25, "y":0, "matrix":[0,5] },
+ {"x":7.25, "y":0, "matrix":[0,6] },
+ {"x":10.25, "y":0, "matrix":[0,7] },
+ {"x":11.25, "y":0, "matrix":[0,8] },
+ {"x":12.25, "y":0, "matrix":[0,9] },
+ {"x":13.25, "y":0, "matrix":[0,10] },
+ {"x":14.25, "y":0, "matrix":[0,11] },
+ {"x":15.25, "y":0, "matrix":[0,12] },
+ {"x":16.25, "y":0, "matrix":[0,13] },
+ {"x":17.25, "y":0, "matrix":[4,11] },
+ {"x":18.5, "y":0, "matrix":[0,14] },
+
+ {"x":0, "y":1, "matrix":[2,0] },
+ {"x":1.25, "y":1, "w":1.5, "matrix":[1,1] },
+ {"x":2.75, "y":1, "matrix":[1,2] },
+ {"x":3.75, "y":1, "matrix":[1,3] },
+ {"x":4.75, "y":1, "matrix":[1,4] },
+ {"x":5.75, "y":1, "matrix":[1,5] },
+ {"x":6.75, "y":1, "matrix":[1,6] },
+ {"x":9.75, "y":1, "matrix":[1,7] },
+ {"x":10.75, "y":1, "matrix":[1,8] },
+ {"x":11.75, "y":1, "matrix":[1,9] },
+ {"x":12.75, "y":1, "matrix":[1,10] },
+ {"x":13.75, "y":1, "matrix":[1,11] },
+ {"x":14.75, "y":1, "matrix":[1,12] },
+ {"x":15.75, "y":1, "matrix":[1,13] },
+ {"x":16.75, "y":1, "w":1.5, "matrix":[1,14] },
+ {"x":18.5, "y":1, "matrix":[2,14] },
+
+ {"x":0, "y":2, "matrix":[3,0] },
+ {"x":1.25, "y":2, "w":1.75, "matrix":[2,1] },
+ {"x":3, "y":2, "matrix":[2,2] },
+ {"x":4, "y":2, "matrix":[2,3] },
+ {"x":5, "y":2, "matrix":[2,4] },
+ {"x":6, "y":2, "matrix":[2,5] },
+ {"x":7, "y":2, "matrix":[2,6] },
+ {"x":10, "y":2, "matrix":[2,7] },
+ {"x":11, "y":2, "matrix":[2,8] },
+ {"x":12, "y":2, "matrix":[2,9] },
+ {"x":13, "y":2, "matrix":[2,10] },
+ {"x":14, "y":2, "matrix":[2,11] },
+ {"x":15, "y":2, "matrix":[2,12] },
+ {"x":16, "y":2, "w":2.25, "matrix":[2,13] },
+
+ {"x":1.25, "y":3, "w":2.25, "matrix":[3,1] },
+ {"x":3.5, "y":3, "matrix":[3,2] },
+ {"x":4.5, "y":3, "matrix":[3,3] },
+ {"x":5.5, "y":3, "matrix":[3,4] },
+ {"x":6.5, "y":3, "matrix":[3,5] },
+ {"x":7.5, "y":3, "matrix":[3,6] },
+ {"x":9.5, "y":3, "matrix":[3,7] },
+ {"x":10.5, "y":3, "matrix":[3,8] },
+ {"x":11.5, "y":3, "matrix":[3,9] },
+ {"x":12.5, "y":3, "matrix":[3,10] },
+ {"x":13.5, "y":3, "matrix":[3,11] },
+ {"x":14.5, "y":3, "matrix":[3,12] },
+ {"x":15.5, "y":3, "w":1.75, "matrix":[3,13] },
+ {"x":17.5, "y":3.25, "matrix":[3,14] },
+
+ {"x":1.25, "y":4, "w":1.5, "matrix":[4,1] },
+ {"x":4.25, "y":4, "w":1.5, "matrix":[4,3] },
+ {"x":5.75, "y":4, "w":2.25, "matrix":[4,5] },
+ {"x":8, "y":4, "w":1, "matrix":[4,6] },
+ {"x":9.5, "y":4, "w":2.75, "matrix":[4,8] },
+ {"x":12.25, "y":4, "w":1.5, "matrix":[4,10] },
+ {"x":16.5, "y":4.25, "w":1, "matrix":[4,12] },
+ {"x":17.5, "y":4.25, "w":1, "matrix":[4,13] },
+ {"x":18.5, "y":4.25, "w":1, "matrix":[4,14] }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/linworks/em8/keymaps/default/keymap.c b/keyboards/linworks/em8/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f195907db9
--- /dev/null
+++ b/keyboards/linworks/em8/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_em8_all(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_em8_all(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+ [2] = LAYOUT_em8_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT_em8_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/linworks/em8/keymaps/via/keymap.c b/keyboards/linworks/em8/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f195907db9
--- /dev/null
+++ b/keyboards/linworks/em8/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_em8_all(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
+ KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_em8_all(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+ [2] = LAYOUT_em8_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT_em8_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/linworks/em8/keymaps/via/rules.mk b/keyboards/linworks/em8/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/linworks/em8/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/linworks/em8/readme.md b/keyboards/linworks/em8/readme.md
new file mode 100644
index 0000000000..cd8f6a5ba3
--- /dev/null
+++ b/keyboards/linworks/em8/readme.md
@@ -0,0 +1,22 @@
+# EM.8
+
+The Ergonomic Modified 8 is a tented ergonomic keyboard and the successor to the EM.7, designed by Syryan and Lx3.The default PCB supports hotswap and the layout options are limited to split or regular backpsace, as well as regular or stepped caps lock.
+
+* Keyboard maintainer: [ebastler](https://github.com/ebastler)
+* Hardware supported: Lin EM.8
+* Hardware availability: Groupbuy. More infos on [the Linworks Discord](https://discord.gg/UC8gTdVnsj)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make linworks/em8:default
+
+Flash example for this keyboard:
+
+ make linworks/em8: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).
+
+
+## How to enter the bootloader
+* **Bootmagic reset**: Hold down the key `ESC` key and plug in the keyboard (Top left most switch). On older firmware revisions, `~` (top left most switch of the alpha cluster) may be needed instead.
+* **Physical reset button**: Briefly press the button on the back of the PCB \ No newline at end of file
diff --git a/keyboards/linworks/em8/rules.mk b/keyboards/linworks/em8/rules.mk
new file mode 100644
index 0000000000..7ff128fa69
--- /dev/null
+++ b/keyboards/linworks/em8/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/linworks/fave104/chconf.h b/keyboards/linworks/fave104/chconf.h
new file mode 100644
index 0000000000..1716aa6cca
--- /dev/null
+++ b/keyboards/linworks/fave104/chconf.h
@@ -0,0 +1,29 @@
+/* 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/ebastler/isometria_75/rev1/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_RESOLUTION 16
+
+#define CH_CFG_INTERVALS_SIZE 16
+
+#include_next <chconf.h>
+
diff --git a/keyboards/linworks/fave104/config.h b/keyboards/linworks/fave104/config.h
new file mode 100644
index 0000000000..6a13406ead
--- /dev/null
+++ b/keyboards/linworks/fave104/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 Moritz Plattner
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 11
+
+#define MATRIX_ROW_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, A0 }
+#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A9, A10, A13, A14, A15, B3 }
+#define UNUSED_PINS
+
+#define LED_NUM_LOCK_PIN B6
+#define LED_CAPS_LOCK_PIN B5
+#define LED_SCROLL_LOCK_PIN B4
+#define LED_PIN_ON_STATE 0
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+#define DEBOUNCE 5
+
+/* Backlight */
+#define BACKLIGHT_PIN A1
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_PWM_DRIVER PWMD2
+#define BACKLIGHT_PWM_CHANNEL 2
+#define BACKLIGHT_PAL_MODE 2
+#define BACKLIGHT_LEVELS 5
+#define BACKLIGHT_ON_STATE 1
+#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it.
diff --git a/keyboards/linworks/fave104/fave104.c b/keyboards/linworks/fave104/fave104.c
new file mode 100644
index 0000000000..f6b1e8d11b
--- /dev/null
+++ b/keyboards/linworks/fave104/fave104.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "fave104.h"
diff --git a/keyboards/linworks/fave104/fave104.h b/keyboards/linworks/fave104/fave104.h
new file mode 100644
index 0000000000..bd30b1e0c4
--- /dev/null
+++ b/keyboards/linworks/fave104/fave104.h
@@ -0,0 +1,86 @@
+/* Copyright 2021 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, \
+ K42, K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62, \
+ K63, K64, K65, K66, K67, K68, K69, K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K80, \
+ K81, K82, K83, K84, K85, K86, K87, K88, K89, K90, K91, K92, K93, K94, K95, K96, K97, K98, K99, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 \
+) { \
+ { K00, K01, K03, K05, K07, K09, K11, K12, K14, K16, K18 }, \
+ { KC_NO, K02, K04, K06, K08, K10, KC_NO, K13, K15, K17, K19 }, \
+ { K20, K22, K24, K26, K28, K30, K32, K34, K36, K38, K40 }, \
+ { K21, K23, K25, K27, K29, K31, K33, K35, K37, K39, K41 }, \
+ { K42, K44, K46, K48, K50, K52, K54, K55, K57, K59, K61 }, \
+ { K43, K45, K47, K49, K51, K53, KC_NO, K56, K58, K60, K62 }, \
+ { K63, K65, K67, K69, K71, K73, K75, K76, KC_NO, K77, K79 }, \
+ { K64, K66, K68, K70, K72, K74, KC_NO, KC_NO, KC_NO, K78, K80 }, \
+ { K81, K83, K85, K87, K89, K91, K93, K94, K95, K96, K98 }, \
+ { K82, K84, K86, K88, K90, K92, KC_NO, KC_NO, KC_NO, K97, K99 }, \
+ { K100, K102, KC_NO, K103, KC_NO, K104, K106, K107, K109, K111, K113}, \
+ { K101, KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO, K108, K110, K112, K114} \
+}
+
+#define LAYOUT_fullsize_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, K32, K34, K35, K36, K37, K38, K39, K40, K41, \
+ K42, K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62, \
+ K63, K64, K65, K66, K67, K68, K69, K70, K71, K72, K73, K74, K76, K77, K78, K79, K80, \
+ K81, K83, K84, K85, K86, K87, K88, K89, K90, K91, K92, K93, K95, K96, K97, K98, K99, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 \
+) { \
+ { K00, K01, K03, K05, K07, K09, K11, K12, K14, K16, K18 }, \
+ { KC_NO, K02, K04, K06, K08, K10, KC_NO, K13, K15, K17, K19 }, \
+ { K20, K22, K24, K26, K28, K30, K32, K34, K36, K38, K40 }, \
+ { K21, K23, K25, K27, K29, K31, KC_NO, K35, K37, K39, K41 }, \
+ { K42, K44, K46, K48, K50, K52, K54, K55, K57, K59, K61 }, \
+ { K43, K45, K47, K49, K51, K53, KC_NO, K56, K58, K60, K62 }, \
+ { K63, K65, K67, K69, K71, K73, KC_NO, K76, KC_NO, K77, K79 }, \
+ { K64, K66, K68, K70, K72, K74, KC_NO, KC_NO, KC_NO, K78, K80 }, \
+ { K81, K83, K85, K87, K89, K91, K93, KC_NO, K95, K96, K98 }, \
+ { KC_NO, K84, K86, K88, K90, K92, KC_NO, KC_NO, KC_NO, K97, K99 }, \
+ { K100, K102, KC_NO, K103, KC_NO, K104, K106, K107, K109, K111, K113}, \
+ { K101, KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO, K108, K110, K112, K114} \
+}
+
+#define LAYOUT_fullsize_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, \
+ K42, K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K56, K57, K58, K59, K60, K61, K62, \
+ K63, K64, K65, K66, K67, K68, K69, K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K80, \
+ K81, K82, K83, K84, K85, K86, K87, K88, K89, K90, K91, K92, K93, K94, K95, K96, K97, K98, K99, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 \
+) { \
+ { K00, K01, K03, K05, K07, K09, K11, K12, K14, K16, K18 }, \
+ { KC_NO, K02, K04, K06, K08, K10, KC_NO, K13, K15, K17, K19 }, \
+ { K20, K22, K24, K26, K28, K30, K32, K34, K36, K38, K40 }, \
+ { K21, K23, K25, K27, K29, K31, K33, K35, K37, K39, K41 }, \
+ { K42, K44, K46, K48, K50, K52, K54, KC_NO, K57, K59, K61 }, \
+ { K43, K45, K47, K49, K51, K53, KC_NO, K56, K58, K60, K62 }, \
+ { K63, K65, K67, K69, K71, K73, K75, K76, KC_NO, K77, K79 }, \
+ { K64, K66, K68, K70, K72, K74, KC_NO, KC_NO, KC_NO, K78, K80 }, \
+ { K81, K83, K85, K87, K89, K91, K93, K94, K95, K96, K98 }, \
+ { K82, K84, K86, K88, K90, K92, KC_NO, KC_NO, KC_NO, K97, K99 }, \
+ { K100, K102, KC_NO, K103, KC_NO, K104, K106, K107, K109, K111, K113}, \
+ { K101, KC_NO, KC_NO, KC_NO, KC_NO, K105, KC_NO, K108, K110, K112, K114} \
+}
+
diff --git a/keyboards/linworks/fave104/halconf.h b/keyboards/linworks/fave104/halconf.h
new file mode 100644
index 0000000000..6fbac77afb
--- /dev/null
+++ b/keyboards/linworks/fave104/halconf.h
@@ -0,0 +1,27 @@
+/* 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/ebastler/isometria_75/rev1/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/linworks/fave104/info.json b/keyboards/linworks/fave104/info.json
new file mode 100644
index 0000000000..f675f8c51f
--- /dev/null
+++ b/keyboards/linworks/fave104/info.json
@@ -0,0 +1,382 @@
+{
+ "keyboard_name": "FAVE-104",
+ "manufacturer": "Lx3",
+ "url": "",
+ "maintainer": "keydler",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x000A",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "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},
+ {"x":18.5, "y":0},
+ {"x":19.5, "y":0},
+ {"x":20.5, "y":0},
+ {"x":21.5, "y":0},
+
+ {"label":"~", "x":0, "y":1.25},
+ {"label":"!", "x":1, "y":1.25},
+ {"label":"@", "x":2, "y":1.25},
+ {"label":"#", "x":3, "y":1.25},
+ {"label":"$", "x":4, "y":1.25},
+ {"label":"%", "x":5, "y":1.25},
+ {"label":"^", "x":6, "y":1.25},
+ {"label":"&", "x":7, "y":1.25},
+ {"label":"*", "x":8, "y":1.25},
+ {"label":"(", "x":9, "y":1.25},
+ {"label":")", "x":10, "y":1.25},
+ {"label":"_", "x":11, "y":1.25},
+ {"label":"+", "x":12, "y":1.25},
+ {"x":13, "y":1.25},
+ {"label":"Bksp", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+ {"label":"Num Lock", "x":18.5, "y":1.25},
+ {"label":"/", "x":19.5, "y":1.25},
+ {"label":"*", "x":20.5, "y":1.25},
+ {"label":"-", "x":21.5, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"{", "x":11.5, "y":2.25},
+ {"label":"}", "x":12.5, "y":2.25},
+ {"label":"|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+ {"label":"7", "x":18.5, "y":2.25},
+ {"label":"8", "x":19.5, "y":2.25},
+ {"label":"9", "x":20.5, "y":2.25},
+ {"label":"+", "x":21.5, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":":", "x":10.75, "y":3.25},
+ {"label":"\"", "x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25},
+ {"label":"Enter", "x":13.75, "y":3.25, "w":1.25},
+ {"label":"4", "x":18.5, "y":3.25},
+ {"label":"5", "x":19.5, "y":3.25},
+ {"label":"6", "x":20.5, "y":3.25},
+ {"label":"+", "x":21.5, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+ {"label":"1", "x":18.5, "y":4.25},
+ {"label":"2", "x":19.5, "y":4.25},
+ {"label":"3", "x":20.5, "y":4.25},
+ {"label":"Enter", "x":21.5, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25},
+ {"label":"0", "x":18.5, "y":5.25},
+ {"label":"0", "x":19.5, "y":5.25},
+ {"label":".", "x":20.5, "y":5.25},
+ {"label":"Enter", "x":21.5, "y":5.25}
+ ]
+ },
+
+ "LAYOUT_fullsize_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},
+ {"x":18.5, "y":0},
+ {"x":19.5, "y":0},
+ {"x":20.5, "y":0},
+ {"x":21.5, "y":0},
+
+ {"label":"~", "x":0, "y":1.25},
+ {"label":"!", "x":1, "y":1.25},
+ {"label":"@", "x":2, "y":1.25},
+ {"label":"#", "x":3, "y":1.25},
+ {"label":"$", "x":4, "y":1.25},
+ {"label":"%", "x":5, "y":1.25},
+ {"label":"^", "x":6, "y":1.25},
+ {"label":"&", "x":7, "y":1.25},
+ {"label":"*", "x":8, "y":1.25},
+ {"label":"(", "x":9, "y":1.25},
+ {"label":")", "x":10, "y":1.25},
+ {"label":"_", "x":11, "y":1.25},
+ {"label":"+", "x":12, "y":1.25},
+ {"label":"Bksp", "x":13, "y":1.25, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+ {"label":"Num Lock", "x":18.5, "y":1.25},
+ {"label":"/", "x":19.5, "y":1.25},
+ {"label":"*", "x":20.5, "y":1.25},
+ {"label":"-", "x":21.5, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"{", "x":11.5, "y":2.25},
+ {"label":"}", "x":12.5, "y":2.25},
+ {"label":"|", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+ {"label":"7", "x":18.5, "y":2.25},
+ {"label":"8", "x":19.5, "y":2.25},
+ {"label":"9", "x":20.5, "y":2.25},
+ {"label":"+", "x":21.5, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":":", "x":10.75, "y":3.25},
+ {"label":"\"", "x":11.75, "y":3.25},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
+ {"label":"4", "x":18.5, "y":3.25},
+ {"label":"5", "x":19.5, "y":3.25},
+ {"label":"6", "x":20.5, "y":3.25},
+ {"label":"+", "x":21.5, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+ {"label":"1", "x":18.5, "y":4.25},
+ {"label":"2", "x":19.5, "y":4.25},
+ {"label":"3", "x":20.5, "y":4.25},
+ {"label":"Enter", "x":21.5, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25},
+ {"label":"0", "x":18.5, "y":5.25},
+ {"label":"0", "x":19.5, "y":5.25},
+ {"label":".", "x":20.5, "y":5.25},
+ {"label":"Enter", "x":21.5, "y":5.25}
+ ]
+ },
+
+ "LAYOUT_fullsize_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},
+ {"x":18.5, "y":0},
+ {"x":19.5, "y":0},
+ {"x":20.5, "y":0},
+ {"x":21.5, "y":0},
+
+ {"label":"~", "x":0, "y":1.25},
+ {"label":"!", "x":1, "y":1.25},
+ {"label":"@", "x":2, "y":1.25},
+ {"label":"#", "x":3, "y":1.25},
+ {"label":"$", "x":4, "y":1.25},
+ {"label":"%", "x":5, "y":1.25},
+ {"label":"^", "x":6, "y":1.25},
+ {"label":"&", "x":7, "y":1.25},
+ {"label":"*", "x":8, "y":1.25},
+ {"label":"(", "x":9, "y":1.25},
+ {"label":")", "x":10, "y":1.25},
+ {"label":"_", "x":11, "y":1.25},
+ {"label":"+", "x":12, "y":1.25},
+ {"x":13, "y":1.25},
+ {"label":"Bksp", "x":14, "y":1.25},
+ {"label":"Insert", "x":15.25, "y":1.25},
+ {"label":"Home", "x":16.25, "y":1.25},
+ {"label":"PgUp", "x":17.25, "y":1.25},
+ {"label":"Num Lock", "x":18.5, "y":1.25},
+ {"label":"/", "x":19.5, "y":1.25},
+ {"label":"*", "x":20.5, "y":1.25},
+ {"label":"-", "x":21.5, "y":1.25},
+
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":6.5, "y":2.25},
+ {"label":"U", "x":7.5, "y":2.25},
+ {"label":"I", "x":8.5, "y":2.25},
+ {"label":"O", "x":9.5, "y":2.25},
+ {"label":"P", "x":10.5, "y":2.25},
+ {"label":"{", "x":11.5, "y":2.25},
+ {"label":"}", "x":12.5, "y":2.25},
+ {"label":"Delete", "x":15.25, "y":2.25},
+ {"label":"End", "x":16.25, "y":2.25},
+ {"label":"PgDn", "x":17.25, "y":2.25},
+ {"label":"7", "x":18.5, "y":2.25},
+ {"label":"8", "x":19.5, "y":2.25},
+ {"label":"9", "x":20.5, "y":2.25},
+ {"label":"+", "x":21.5, "y":2.25},
+
+ {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":6.75, "y":3.25},
+ {"label":"J", "x":7.75, "y":3.25},
+ {"label":"K", "x":8.75, "y":3.25},
+ {"label":"L", "x":9.75, "y":3.25},
+ {"label":":", "x":10.75, "y":3.25},
+ {"label":"\"", "x":11.75, "y":3.25},
+ {"label":"#", "x":12.75, "y":3.25},
+ {"label":"Enter", "x": 13.75, "y":2.25, "w":1.25, "h":2},
+ {"label":"4", "x":18.5, "y":3.25},
+ {"label":"5", "x":19.5, "y":3.25},
+ {"label":"6", "x":20.5, "y":3.25},
+ {"label":"+", "x":21.5, "y":3.25},
+
+ {"label":"Shift", "x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"label":"Z", "x":2.25, "y":4.25},
+ {"label":"X", "x":3.25, "y":4.25},
+ {"label":"C", "x":4.25, "y":4.25},
+ {"label":"V", "x":5.25, "y":4.25},
+ {"label":"B", "x":6.25, "y":4.25},
+ {"label":"N", "x":7.25, "y":4.25},
+ {"label":"M", "x":8.25, "y":4.25},
+ {"label":"<", "x":9.25, "y":4.25},
+ {"label":">", "x":10.25, "y":4.25},
+ {"label":"?", "x":11.25, "y":4.25},
+ {"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
+ {"x":14, "y":4.25},
+ {"label":"\u2191", "x":16.25, "y":4.25},
+ {"label":"1", "x":18.5, "y":4.25},
+ {"label":"2", "x":19.5, "y":4.25},
+ {"label":"3", "x":20.5, "y":4.25},
+ {"label":"Enter", "x":21.5, "y":4.25},
+
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.25, "w":1.25},
+ {"label":"Win", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"\u2190", "x":15.25, "y":5.25},
+ {"label":"\u2193", "x":16.25, "y":5.25},
+ {"label":"\u2192", "x":17.25, "y":5.25},
+ {"label":"0", "x":18.5, "y":5.25},
+ {"label":"0", "x":19.5, "y":5.25},
+ {"label":".", "x":20.5, "y":5.25},
+ {"label":"Enter", "x":21.5, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/linworks/fave104/keymaps/default/keymap.c b/keyboards/linworks/fave104/keymaps/default/keymap.c
new file mode 100644
index 0000000000..84587ef99e
--- /dev/null
+++ b/keyboards/linworks/fave104/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
+/* Copyright 2021 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_TRNS,
+ 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_PPLS,
+ 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_DEL, KC_UP, KC_P1, KC_P2, KC_P3, KC_TRNS,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT),
+
+ [1] = LAYOUT_all(
+ KC_TRNS, BL_STEP, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/linworks/fave104/keymaps/via/keymap.c b/keyboards/linworks/fave104/keymaps/via/keymap.c
new file mode 100644
index 0000000000..abe6d6ecd9
--- /dev/null
+++ b/keyboards/linworks/fave104/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+/* Copyright 2020 Moritz Plattner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_TRNS,
+ 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_PPLS,
+ 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_DEL, KC_UP, KC_P1, KC_P2, KC_P3, KC_TRNS,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT),
+
+ [1] = LAYOUT_all(
+ KC_TRNS, BL_STEP, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_MPRV, KC_VOLD, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+}; \ No newline at end of file
diff --git a/keyboards/linworks/fave104/keymaps/via/rules.mk b/keyboards/linworks/fave104/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/linworks/fave104/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/linworks/fave104/mcuconf.h b/keyboards/linworks/fave104/mcuconf.h
new file mode 100644
index 0000000000..49c9bbbc59
--- /dev/null
+++ b/keyboards/linworks/fave104/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright 2020 Moritz Plattner (ebastler)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include_next <mcuconf.h>
+
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 3
+
+
diff --git a/keyboards/linworks/fave104/readme.md b/keyboards/linworks/fave104/readme.md
new file mode 100644
index 0000000000..67b9b1e882
--- /dev/null
+++ b/keyboards/linworks/fave104/readme.md
@@ -0,0 +1,18 @@
+# FAve104
+
+The FAve104 is 108 keys, single color dimmable backlight.
+
+* Keyboard Maintainer: [keydler](https://github.com/duilchoi)
+* Hardware Supported:
+* Hardware Availability: None, feel free to order/manufacture parts yourself.
+
+Bootmagic Lite key: Escape
+Physical reset switch present on the bottom of the PCB
+
+Make example for this keyboard (after setting up your build environment):
+
+ make linworks/fave104: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/linworks/fave104/rules.mk b/keyboards/linworks/fave104/rules.mk
new file mode 100644
index 0000000000..296105bb2b
--- /dev/null
+++ b/keyboards/linworks/fave104/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = no
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/linworks/fave65h/config.h b/keyboards/linworks/fave65h/config.h
index f3bc4639cd..5fac33e7d5 100644
--- a/keyboards/linworks/fave65h/config.h
+++ b/keyboards/linworks/fave65h/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 //"LX"
-#define PRODUCT_ID 0x0007 // FAve 65H
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lx3
-#define PRODUCT FAve 65H
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { D1, D0, D2, D3, D5 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/linworks/fave65h/fave65h.h b/keyboards/linworks/fave65h/fave65h.h
index cb5ac99a8c..2d41275705 100644
--- a/keyboards/linworks/fave65h/fave65h.h
+++ b/keyboards/linworks/fave65h/fave65h.h
@@ -16,13 +16,44 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2C │0D │0E │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └───────┘
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │3D │3E │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │40 │41 │42 │46 │48 │4A │ │4C │4D │4E │
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
+ * ┌─────┬─────┬───────────────────────────┬────┬────â”
+ * │40 │41 │46 │48 │4A │ Blocker WKL
+ * └─────┴─────┴───────────────────────────┴────┴────┘
+ */
+
/* FAve 65H Keymap Definitions */
-#define LAYOUT( \
+#define LAYOUT_65_ansi_blocker( \
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, K2C, K2D, K2E, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
- K40, K41, K42, K46, K48, K4A, K4C, K4D, K4E \
+ 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, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K48, K4A, 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, KC_NO, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, K4E } \
+}
+
+#define LAYOUT_65_ansi_blocker_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K2C, 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, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K48, K4A, 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 }, \
@@ -30,3 +61,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, K4E } \
}
+
+#define LAYOUT_65_ansi_blocker_wkl( \
+ 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, K3C, K3D, K3E, \
+ K40, K41, K46, K48, K4A, 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, KC_NO, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
+ { K40, K41, KC_NO, KC_NO, KC_NO, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, K4E } \
+}
+
+#define LAYOUT_65_ansi_blocker_wkl_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K2C, 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, K3C, K3D, K3E, \
+ K40, K41, K46, K48, K4A, 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
+ { K40, K41, KC_NO, KC_NO, KC_NO, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, K4E } \
+}
diff --git a/keyboards/linworks/fave65h/info.json b/keyboards/linworks/fave65h/info.json
index fef76d7fca..23f73accb3 100644
--- a/keyboards/linworks/fave65h/info.json
+++ b/keyboards/linworks/fave65h/info.json
@@ -1,10 +1,317 @@
{
- "keyboard_name": "Lx3 FAve 65H",
+ "keyboard_name": "FAve 65H",
+ "manufacturer": "Lx3",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_65_ansi_blocker_split_bs",
+ "LAYOUT_all": "LAYOUT_65_ansi_blocker_split_bs"
+ },
"layouts": {
- "LAYOUT": {
- "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5$", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3},
+ {"label":"End", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5$", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Delete", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3},
+ {"label":"End", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_wkl": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5$", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3},
+ {"label":"End", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":1.5, "y":4, "w":1.5},
+ {"label":"Space", "x":3, "y":4, "w":7},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_wkl_split_bs": {
+ "layout": [
+ {"label":"`~", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5$", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Delete", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"label":"Home", "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":"Page Up", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3},
+ {"label":"End", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Alt", "x":1.5, "y":4, "w":1.5},
+ {"label":"Space", "x":3, "y":4, "w":7},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
}
}
-} \ No newline at end of file
+}
diff --git a/keyboards/linworks/fave65h/keymaps/default/keymap.c b/keyboards/linworks/fave65h/keymaps/default/keymap.c
index a8a6a5b6d5..1aa0b7cd73 100644
--- a/keyboards/linworks/fave65h/keymaps/default/keymap.c
+++ b/keyboards/linworks/fave65h/keymaps/default/keymap.c
@@ -22,9 +22,9 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Del│Bsp│Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
@@ -32,21 +32,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │Ctrl│GUI │Alt │ │Alt │FN │ │ ↠│ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
- [_LAYER0] = 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_HOME,
+ [_LAYER0] = LAYOUT_65_ansi_blocker_split_bs(
+ 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_DEL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
- * │ ` │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ DEL │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ` │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │DEL│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
@@ -54,16 +54,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ │ │ │ │ │Res│ │ │ │ │ │ │ V+│ V0│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │ │ │ │ │ │ │ │ PT│ V-│ NT│
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
- [_LAYER1] = 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_TRNS,
+ [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_AUDIO_VOL_UP, KC_AUDIO_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
- )
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
};
void rgb_matrix_indicators_user(void) {
diff --git a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c
new file mode 100644
index 0000000000..5c7efc6d83
--- /dev/null
+++ b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c
@@ -0,0 +1,75 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl │Alt │ │Alt │FN │ │ ↠│ ↓ │ → │
+ * └─────┴─────┴───────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [_LAYER0] = LAYOUT_65_ansi_blocker_wkl(
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
+ * │ ` │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ DEL │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │Res│ │ │ │ │ │ │ V+│ V0│
+ * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ PT│ V-│ NT│
+ * └─────┴─────┴───────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [_LAYER1] = LAYOUT_65_ansi_blocker_wkl(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+};
+
+void rgb_matrix_indicators_user(void) {
+ led_t host_leds = host_keyboard_led_state();
+ if (host_leds.caps_lock) {
+ rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B
+ }
+}
diff --git a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c
new file mode 100644
index 0000000000..b3a91f7a22
--- /dev/null
+++ b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c
@@ -0,0 +1,75 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Del│Bsp│Hom│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl │Alt │ │Alt │FN │ │ ↠│ ↓ │ → │
+ * └─────┴─────┴───────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [_LAYER0] = LAYOUT_65_ansi_blocker_wkl_split_bs(
+ 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_DEL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │ ` │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │DEL│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │Res│ │ │ │ │ │ │ V+│ V0│
+ * ├─────┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ PT│ V-│ NT│
+ * └─────┴─────┴───────────────────────────┴────┴────┘ └───┴───┴───┘
+ */
+
+ [_LAYER1] = LAYOUT_65_ansi_blocker_wkl_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+
+};
+
+void rgb_matrix_indicators_user(void) {
+ led_t host_leds = host_keyboard_led_state();
+ if (host_leds.caps_lock) {
+ rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B
+ }
+}
diff --git a/keyboards/linworks/fave65h/keymaps/via/keymap.c b/keyboards/linworks/fave65h/keymaps/via/keymap.c
index 3045ac68d1..8388a60c87 100644
--- a/keyboards/linworks/fave65h/keymaps/via/keymap.c
+++ b/keyboards/linworks/fave65h/keymaps/via/keymap.c
@@ -23,37 +23,38 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_LAYER0] = 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_HOME,
+ [_LAYER0] = LAYOUT_65_ansi_blocker_split_bs(
+ 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_DEL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
- [_LAYER1] = 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_TRNS,
+ [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_AUDIO_VOL_UP, KC_AUDIO_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
),
- [_LAYER2] = 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,
+ [_LAYER2] = LAYOUT_65_ansi_blocker_split_bs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_LAYER3] = 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,
+ [_LAYER3] = LAYOUT_65_ansi_blocker_split_bs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
};
void rgb_matrix_indicators_user(void) {
@@ -61,4 +62,4 @@ void rgb_matrix_indicators_user(void) {
if (host_leds.caps_lock) {
rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B
}
-} \ No newline at end of file
+}
diff --git a/keyboards/linworks/fave65h/readme.md b/keyboards/linworks/fave65h/readme.md
index c7726bd8ae..09649fa860 100644
--- a/keyboards/linworks/fave65h/readme.md
+++ b/keyboards/linworks/fave65h/readme.md
@@ -15,9 +15,9 @@ Make example for this keyboard (after setting up your build environment):
make linworks/fave65h:default
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
-* **Physical reset short**: Briefly short the 2 pads labelled RESET on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Physical reset short**: Briefly short the 2 pads labelled QK_BOOT on the back of the PCB
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
+
+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/linworks/fave65h/rules.mk b/keyboards/linworks/fave65h/rules.mk
index 01b02d60ca..8c6797a8fe 100644
--- a/keyboards/linworks/fave65h/rules.mk
+++ b/keyboards/linworks/fave65h/rules.mk
@@ -20,4 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812 \ No newline at end of file
+RGB_MATRIX_DRIVER = WS2812
+
+LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs
diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h
index 411977494d..e9e69f3b66 100644
--- a/keyboards/linworks/fave84h/config.h
+++ b/keyboards/linworks/fave84h/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 // LX
-#define PRODUCT_ID 0x0004 // FAve 84H
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lx3
-#define PRODUCT FAve 84H
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B1, B2, B3, D3, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, B0, B7, E6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json
index 939b99c480..04b5cabd31 100644
--- a/keyboards/linworks/fave84h/info.json
+++ b/keyboards/linworks/fave84h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Lx3 Fave 84H",
+ "keyboard_name": "FAve 84H",
+ "manufacturer": "Lx3",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Fn", "x":12.5, "y":5.25}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/linworks/fave84h/readme.md b/keyboards/linworks/fave84h/readme.md
index 3dd93ac762..22ce5fd428 100644
--- a/keyboards/linworks/fave84h/readme.md
+++ b/keyboards/linworks/fave84h/readme.md
@@ -19,5 +19,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
-* **Physical reset short**: Briefly short the 2 pads labelled RESET on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Physical reset short**: Briefly short the 2 pads labelled QK_BOOT on the back of the PCB
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/linworks/fave87/config.h b/keyboards/linworks/fave87/config.h
index ef934024f7..867f66ed1e 100644
--- a/keyboards/linworks/fave87/config.h
+++ b/keyboards/linworks/fave87/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 //"LX"
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lx3
-#define PRODUCT FAVE-87
-
/* Force USB NKRO */
#define FORCE_NKRO
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D3, D5, D1, D2, D4, D0, F5, F4, F7, F6, B5, B4 }
#define MATRIX_COL_PINS { F1, F0, E6, B0, B1, B2, B3, D6, D7 }
-#define UNUSED_PINS { B6, C6, C7 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/linworks/fave87/info.json b/keyboards/linworks/fave87/info.json
index 82a524ca5e..e330cd7a35 100644
--- a/keyboards/linworks/fave87/info.json
+++ b/keyboards/linworks/fave87/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Lx3 Fave 87",
+ "keyboard_name": "FAve 87",
+ "manufacturer": "Lx3",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h
index 272878612c..54850aec3f 100644
--- a/keyboards/linworks/fave87h/config.h
+++ b/keyboards/linworks/fave87h/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 //"LX"
-#define PRODUCT_ID 0x0003 // FAve 87H
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lx3
-#define PRODUCT FAve 87H
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B1, B2, B3, D3, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, B0, B7, E6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/linworks/fave87h/info.json b/keyboards/linworks/fave87h/info.json
index ac82fa4d8a..4035dde5ee 100644
--- a/keyboards/linworks/fave87h/info.json
+++ b/keyboards/linworks/fave87h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Lx3 FAve 87H",
+ "keyboard_name": "FAve 87H",
+ "manufacturer": "Lx3",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/linworks/fave87h/readme.md b/keyboards/linworks/fave87h/readme.md
index 8bc05fd4d4..bda921a61b 100644
--- a/keyboards/linworks/fave87h/readme.md
+++ b/keyboards/linworks/fave87h/readme.md
@@ -19,5 +19,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
-* **Physical reset short**: Briefly short the 2 pads labelled RESET on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Physical reset short**: Briefly short the 2 pads labelled QK_BOOT on the back of the PCB
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/linworks/whale75/config.h b/keyboards/linworks/whale75/config.h
index 2e0b26b397..d70ff939e3 100644
--- a/keyboards/linworks/whale75/config.h
+++ b/keyboards/linworks/whale75/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C58 //"LX"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lx3
-#define PRODUCT Whale-75
-
/* Force USB NKRO */
#define FORCE_NKRO
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B3, B4, B5, B6, B7, A0 }
#define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, B0, B1, B2, B10, B11, B12, B13, B14, B15 }
-#define UNUSED_PINS { C13, C14, C15 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/linworks/whale75/info.json b/keyboards/linworks/whale75/info.json
index 07679ca1e5..1f6c3cdf14 100644
--- a/keyboards/linworks/whale75/info.json
+++ b/keyboards/linworks/whale75/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Lx3 Whale 75",
+ "keyboard_name": "Whale 75",
+ "manufacturer": "Lx3",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x4C58",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/littlealby/mute/config.h b/keyboards/littlealby/mute/config.h
index 302b02a24a..aafdddbf9e 100644
--- a/keyboards/littlealby/mute/config.h
+++ b/keyboards/littlealby/mute/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4142 // "AB"
-#define PRODUCT_ID 0x4D55 // "MU"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Little Alby
-#define PRODUCT Mute
-
#define USB_MAX_POWER_CONSUMPTION 100
/* key matrix size */
@@ -37,7 +30,6 @@
#define DIRECT_PINS { \
{B5} \
}
-#define UNUSED_PINS
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B6
diff --git a/keyboards/littlealby/mute/info.json b/keyboards/littlealby/mute/info.json
index 7490eba408..c3f3091c98 100644
--- a/keyboards/littlealby/mute/info.json
+++ b/keyboards/littlealby/mute/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Little Alby",
+ "keyboard_name": "Mute",
+ "manufacturer": "Little Alby",
"url": "",
"maintainer": "albybarber",
+ "usb": {
+ "vid": "0x4142",
+ "pid": "0x4D55",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }]
diff --git a/keyboards/lizard_trick/tenkey_plusplus/config.h b/keyboards/lizard_trick/tenkey_plusplus/config.h
index 8883194891..3e9e0d37dc 100644
--- a/keyboards/lizard_trick/tenkey_plusplus/config.h
+++ b/keyboards/lizard_trick/tenkey_plusplus/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lizard Trick Electronics
-#define PRODUCT Tenkey++
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B7, D4, B5, B6, C6, C7 }
#define MATRIX_COL_PINS { D5, D3, D2, F7 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A \
{ B4, F0, F4 }
diff --git a/keyboards/lizard_trick/tenkey_plusplus/info.json b/keyboards/lizard_trick/tenkey_plusplus/info.json
index bfda92de93..9ebec82be7 100644
--- a/keyboards/lizard_trick/tenkey_plusplus/info.json
+++ b/keyboards/lizard_trick/tenkey_plusplus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "tenkey_plusplus",
+ "keyboard_name": "Tenkey++",
+ "manufacturer": "Lizard Trick Electronics",
"url": "https://github.com/jonbobcar/tenkey_plusplus",
"maintainer": "Jonathon Carstens",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ll3macorn/bongopad/config.h b/keyboards/ll3macorn/bongopad/config.h
index ccbd45f461..9e1affd59e 100644
--- a/keyboards/ll3macorn/bongopad/config.h
+++ b/keyboards/ll3macorn/bongopad/config.h
@@ -4,13 +4,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3728
-#define PRODUCT_ID 0x2949
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ll3macorn
-#define PRODUCT BongoPad
-
/* bootmagic */
#define BOOTMAGIC_LITE_ROW 1
#define BOOTMAGIC_LITE_COLUMN 0
@@ -26,7 +19,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, D7, C6, D4 }
#define MATRIX_COL_PINS { F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ll3macorn/bongopad/info.json b/keyboards/ll3macorn/bongopad/info.json
index 1431c3ca35..90979cd7ba 100644
--- a/keyboards/ll3macorn/bongopad/info.json
+++ b/keyboards/ll3macorn/bongopad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Bongopad",
+ "keyboard_name": "BongoPad",
+ "manufacturer": "Ll3macorn",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ll3macorn/bongopad",
"maintainer": "Ll3macorn",
+ "usb": {
+ "vid": "0x3728",
+ "pid": "0x2949",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
diff --git a/keyboards/lm_keyboard/lm60n/config.h b/keyboards/lm_keyboard/lm60n/config.h
index 171fa2fe5b..813fc5b19c 100644
--- a/keyboards/lm_keyboard/lm60n/config.h
+++ b/keyboards/lm_keyboard/lm60n/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C4D // "LM"
-#define PRODUCT_ID 0x4B01 // "K01"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER L+M Keyboard
-#define PRODUCT L+M 60N
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F5, F6, F7, B3, B2, B1 }
#define MATRIX_COL_PINS { B4, D7, D6, D4, D5, D3, D2, D1, D0, C6, B6, B5, F4, F0, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lm_keyboard/lm60n/info.json b/keyboards/lm_keyboard/lm60n/info.json
index 0a1fc4c04f..df410a3f65 100644
--- a/keyboards/lm_keyboard/lm60n/info.json
+++ b/keyboards/lm_keyboard/lm60n/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "lm60n",
+ "keyboard_name": "L+M 60N",
+ "manufacturer": "L+M Keyboard",
"url": "",
"maintainer": "gkeyboard",
+ "usb": {
+ "vid": "0x4C4D",
+ "pid": "0x4B01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/loki65/config.h b/keyboards/loki65/config.h
index 5f017d8cbf..0f4e2c8629 100644
--- a/keyboards/loki65/config.h
+++ b/keyboards/loki65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4C36
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Loki65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
@@ -51,7 +44,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
-#define WS2812_DMA_CHANNEL 5
+#define WS2812_DMA_CHANNEL 5
+#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
#define RGB_DI_PIN A9
#define RGBLED_NUM 37
diff --git a/keyboards/loki65/info.json b/keyboards/loki65/info.json
index 1b4fc1b917..29b7cf64ab 100644
--- a/keyboards/loki65/info.json
+++ b/keyboards/loki65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Loki65",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4C36",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/longnald/corin/config.h b/keyboards/longnald/corin/config.h
index 12be8ba27b..7f0ff9f034 100644
--- a/keyboards/longnald/corin/config.h
+++ b/keyboards/longnald/corin/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5633
-#define PRODUCT_ID 0x1024
-#define DEVICE_VER 0x0004
-#define MANUFACTURER Longnald
-#define PRODUCT Corin
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/longnald/corin/info.json b/keyboards/longnald/corin/info.json
index 9026209012..9610810724 100644
--- a/keyboards/longnald/corin/info.json
+++ b/keyboards/longnald/corin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Corin",
+ "manufacturer": "Longnald",
"url": "https://github.com/longnald/corin",
"maintainer": "Seaton Jiang <seaton@vtrois.com>",
+ "usb": {
+ "vid": "0x5633",
+ "pid": "0x1024",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/lucid/alexa/config.h b/keyboards/lucid/alexa/config.h
index 19b5f4f19a..07a73c30fd 100644
--- a/keyboards/lucid/alexa/config.h
+++ b/keyboards/lucid/alexa/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Lucid
-#define PRODUCT_ID 0x0005 // Phantom
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lucid
-#define PRODUCT Alexa
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/alexa/info.json b/keyboards/lucid/alexa/info.json
index 91c3836444..ffd9cb9c8d 100644
--- a/keyboards/lucid/alexa/info.json
+++ b/keyboards/lucid/alexa/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alexa",
+ "manufacturer": "Lucid",
"url": "https://www.makerkeyboards.com/products/alexa",
"maintainer": "mrnoisytiger",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
diff --git a/keyboards/lucid/alexa/readme.md b/keyboards/lucid/alexa/readme.md
index a0cef72913..6fc4aac146 100644
--- a/keyboards/lucid/alexa/readme.md
+++ b/keyboards/lucid/alexa/readme.md
@@ -20,6 +20,6 @@ Flashing example for this keyboard:
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Fn+Backslash by default)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Fn+Backslash by 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/lucid/alexa_solder/config.h b/keyboards/lucid/alexa_solder/config.h
index 63fd1f2e2d..4b04217ef7 100644
--- a/keyboards/lucid/alexa_solder/config.h
+++ b/keyboards/lucid/alexa_solder/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Maker Keyboards
-#define PRODUCT_ID 0x0006 // Alexa
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Maker Keyboards
-#define PRODUCT Alexa
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/alexa_solder/info.json b/keyboards/lucid/alexa_solder/info.json
index 319cb71206..9f1c64363f 100644
--- a/keyboards/lucid/alexa_solder/info.json
+++ b/keyboards/lucid/alexa_solder/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alexa Solder",
+ "manufacturer": "Maker Keyboards",
"url": "http://www.makerkeyboards.com",
"maintainer": "Maker Keyboards",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/lucid/kbd8x_hs/config.h b/keyboards/lucid/kbd8x_hs/config.h
index 1e5cff8e7f..99a8ff4729 100644
--- a/keyboards/lucid/kbd8x_hs/config.h
+++ b/keyboards/lucid/kbd8x_hs/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Lucid
-#define PRODUCT_ID 0x0003 // KBD8X Hotswap PCB's
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lucid
-#define PRODUCT KBD8X_HS
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 }
#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/kbd8x_hs/info.json b/keyboards/lucid/kbd8x_hs/info.json
index 1a22c78326..5adeb63b8b 100644
--- a/keyboards/lucid/kbd8x_hs/info.json
+++ b/keyboards/lucid/kbd8x_hs/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "KBD8X Hotswap PCB's",
+ "keyboard_name": "KBD8X Hotswap",
+ "manufacturer": "Lucid",
"url": "http://www.lucidkb.com",
"maintainer": "Lucid",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/lucid/phantom_hs/config.h b/keyboards/lucid/phantom_hs/config.h
index b94b345c16..f5b6189e90 100644
--- a/keyboards/lucid/phantom_hs/config.h
+++ b/keyboards/lucid/phantom_hs/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Lucid
-#define PRODUCT_ID 0x0001 // Phantom
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lucid
-#define PRODUCT Phantom
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/phantom_hs/info.json b/keyboards/lucid/phantom_hs/info.json
index 2aea46bdd1..5ab8f56608 100644
--- a/keyboards/lucid/phantom_hs/info.json
+++ b/keyboards/lucid/phantom_hs/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Phantom",
+ "manufacturer": "Lucid",
"url": "http://www.lucidkb.com",
"maintainer": "Lucid",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/lucid/phantom_solder/config.h b/keyboards/lucid/phantom_solder/config.h
index 2c78c4f5ff..6fdca244b6 100644
--- a/keyboards/lucid/phantom_solder/config.h
+++ b/keyboards/lucid/phantom_solder/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Lucid
-#define PRODUCT_ID 0x0002 // Phantom_Solder
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lucid
-#define PRODUCT Phantom
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 }
#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/phantom_solder/info.json b/keyboards/lucid/phantom_solder/info.json
index beee1ac2b2..950107367f 100644
--- a/keyboards/lucid/phantom_solder/info.json
+++ b/keyboards/lucid/phantom_solder/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Phantom Solder",
+ "manufacturer": "Lucid",
"url": "http://www.lucidkb.com",
"maintainer": "Lucid",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/lucid/scarlet/config.h b/keyboards/lucid/scarlet/config.h
index 67c2fe7b07..118b32d688 100644
--- a/keyboards/lucid/scarlet/config.h
+++ b/keyboards/lucid/scarlet/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7667 // Lucid
-#define PRODUCT_ID 0x0004 // Scarlet PCB's
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Lucid
-#define PRODUCT Scarlet
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 }
#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lucid/scarlet/info.json b/keyboards/lucid/scarlet/info.json
index 59526a9f4c..219a64a2ae 100644
--- a/keyboards/lucid/scarlet/info.json
+++ b/keyboards/lucid/scarlet/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Scarlet PCB's",
+ "keyboard_name": "Scarlet",
+ "manufacturer": "Lucid",
"url": "http://www.lucidkb.com",
"maintainer": "Lucid",
+ "usb": {
+ "vid": "0x7667",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_all": {
"layout": [
diff --git a/keyboards/lw67/config.h b/keyboards/lw67/config.h
index 3561f4a2ad..9f8ed50654 100644
--- a/keyboards/lw67/config.h
+++ b/keyboards/lw67/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C50
-#define PRODUCT_ID 0x9998
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Laneware Peripherals
-#define PRODUCT LW-67
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B7, D0, D1, D2 }
#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, B0, B1 }
-#define UNUSED_PINS
/*ENCODER*/
#define ENCODERS_PAD_A { F0 }
diff --git a/keyboards/lw67/info.json b/keyboards/lw67/info.json
index ad15cc2264..329ff4eb36 100644
--- a/keyboards/lw67/info.json
+++ b/keyboards/lw67/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "LW67",
+ "keyboard_name": "LW-67",
+ "manufacturer": "Laneware Peripherals",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C50",
+ "pid": "0x9998",
+ "device_version": "0.0.1"
+ },
"layouts":{
"LAYOUT_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":"Mute", "x":16, "y":0.5}, {"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":"Caps Lock", "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":"Delete", "x":15.5, "y":2}, {"label":"PgUp", "x":16.5, "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":2.75}, {"label":"\u2191", "x":15.25, "y":3.25}, {"label":"PgDn", "x":16.5, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4.25}, {"label":"\u2193", "x":15.25, "y":4.25}, {"label":"\u2192", "x":16.25, "y":4.25}]
diff --git a/keyboards/lyso1/lck75/config.h b/keyboards/lyso1/lck75/config.h
index 18dd381ece..a631992eb8 100644
--- a/keyboards/lyso1/lck75/config.h
+++ b/keyboards/lyso1/lck75/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x7856
-#define PRODUCT_ID 0x6163
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Lyso1
-#define PRODUCT lck75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15*/
#define MATRIX_ROW_PINS { C2, C3, C7, C4, C6, C5 }
#define MATRIX_COL_PINS { A0, B0, A1, B1, A2, B2, A3, B3, A4, B4, A5, A6, A7, D7, D6, D5 }
-#define UNUSED_PINS
#define ENCODERS_PAD_B { D1 }
#define ENCODERS_PAD_A { D0 }
diff --git a/keyboards/lyso1/lck75/info.json b/keyboards/lyso1/lck75/info.json
index 4d04175e00..07476f4ebc 100644
--- a/keyboards/lyso1/lck75/info.json
+++ b/keyboards/lyso1/lck75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LCK75",
+ "manufacturer": "Lyso1",
"url": "https://github.com/lyso1/LCK75",
"maintainer": "Lyso1",
+ "usb": {
+ "vid": "0x7856",
+ "pid": "0x6163",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "x":14, "y":0}, {"label":"Mute", "x":15.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"PgDn", "x":15.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"[", "x":11.5, "y":2.25}, {"label":"]", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":";", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Del", "x":15.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Up", "x":14.25, "y":4.5}, {"label":"MO(1)", "x":15.5, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"Left", "x":13.25, "y":5.5}, {"label":"Down", "x":14.25, "y":5.5}, {"label":"Right", "x":15.25, "y":5.5}]
diff --git a/keyboards/lyso1/lck75/keymaps/7u/keymap.c b/keyboards/lyso1/lck75/keymaps/7u/keymap.c
index 25cf66176e..44498f9a48 100644
--- a/keyboards/lyso1/lck75/keymaps/7u/keymap.c
+++ b/keyboards/lyso1/lck75/keymaps/7u/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_7u(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c b/keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c
index f42d638778..61d77cac5d 100644
--- a/keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c
+++ b/keyboards/lyso1/lck75/keymaps/7u_iso/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_iso(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c
index 3c562659dc..1f1879db3d 100644
--- a/keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c
+++ b/keyboards/lyso1/lck75/keymaps/7u_sbs/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_7u_sbs(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c
index a2b2469d3e..2f48e0fc11 100644
--- a/keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c
+++ b/keyboards/lyso1/lck75/keymaps/iso_sbs/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_iso_sbs(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/lyso1/lck75/keymaps/sbs/keymap.c b/keyboards/lyso1/lck75/keymaps/sbs/keymap.c
index 7671765619..a2f0fee195 100644
--- a/keyboards/lyso1/lck75/keymaps/sbs/keymap.c
+++ b/keyboards/lyso1/lck75/keymaps/sbs/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_sbs(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, MO(1), KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/lyso1/lefishe/config.h b/keyboards/lyso1/lefishe/config.h
index a5bafa5413..fe324c20e2 100644
--- a/keyboards/lyso1/lefishe/config.h
+++ b/keyboards/lyso1/lefishe/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x7856
-#define PRODUCT_ID 0x6169
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lyso1
-#define PRODUCT lefishe
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { F0, F1, D5, C7, C6, B6, B5, B4, D7, D6, D4, D3, D2, D1, D0, B3, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/lyso1/lefishe/info.json b/keyboards/lyso1/lefishe/info.json
index e31877a95b..5a98c2ea43 100644
--- a/keyboards/lyso1/lefishe/info.json
+++ b/keyboards/lyso1/lefishe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Le_Fishe",
+ "manufacturer": "Lyso1",
"url": "",
"maintainer": "Lyso1",
+ "usb": {
+ "vid": "0x7856",
+ "pid": "0x6169",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"label":"~", "x":2.25, "y":0}, {"label":"!", "x":3.25, "y":0}, {"label":"@", "x":4.25, "y":0}, {"label":"#", "x":5.25, "y":0}, {"label":"$", "x":6.25, "y":0}, {"label":"%", "x":7.25, "y":0}, {"label":"^", "x":8.25, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "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":2}, {"label":"Insert", "x":17.25, "y":0}, {"x":0, "y":1}, {"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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"|", "x":15.75, "y":1, "w":1.5}, {"label":"Delete", "x":17.25, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"label":"Caps", "x":2.25, "y":2, "w":1.25}, {"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":"Enter", "x":15, "y":2, "w":2.25}, {"label":"PgUp", "x":17.25, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"label":"Shift", "x":2.25, "y":3, "w":2.25}, {"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.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"PgDn", "x":17.25, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"label":"Ctrl", "x":2.25, "y":4, "w":1.5}, {"label":"LGUI", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.5}, {"x":6.25, "y":4, "w":7}, {"label":"Alt", "x":13.25, "y":4, "w":1.5}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c b/keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c
index 36c7d73b86..071746e1bf 100644
--- a/keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c
+++ b/keyboards/lyso1/lefishe/keymaps/wk_sbs/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_wk_sbs(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c b/keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c
index 91a707db78..2bd1c508b5 100644
--- a/keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c
+++ b/keyboards/lyso1/lefishe/keymaps/wkl_sbs/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_wkl_sbs(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/lyso1/lefishe/readme.md b/keyboards/lyso1/lefishe/readme.md
index eb8322b2df..07fe84ba17 100644
--- a/keyboards/lyso1/lefishe/readme.md
+++ b/keyboards/lyso1/lefishe/readme.md
@@ -15,7 +15,7 @@ Enter into the bootloader to flash new firmware in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix(The F1 key in this case) and plug the the keyboard in.
* **Physical reset button**: Briefly press the button on the back and left side of the PCB(exactly under where the "2" key would be located) while the PCB is plugged in.
- * **Keycode in layout**: Press the key mapped to `RESET` (RALT + E in this case) while the keyboard is plugged in.
+ * **Keycode in layout**: Press the key mapped to `QK_BOOT` (RALT + E in this case) while the keyboard is plugged in.
Flashing example for this keyboard:
diff --git a/keyboards/lz/erghost/config.h b/keyboards/lz/erghost/config.h
index 0936f6c271..2bc1c8b599 100644
--- a/keyboards/lz/erghost/config.h
+++ b/keyboards/lz/erghost/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6C7A
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin Studio
-#define PRODUCT erGhost
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { D5, D2, D4, D3, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/lz/erghost/info.json b/keyboards/lz/erghost/info.json
index 1a5c9abf64..11fb15898c 100644
--- a/keyboards/lz/erghost/info.json
+++ b/keyboards/lz/erghost/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Erghost",
+ "keyboard_name": "erGhost",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x6C7A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"0,2", "x":3, "y":0}, {"label":"0,3", "x":4, "y":0}, {"label":"0,4", "x":5, "y":0}, {"label":"0,5", "x":6, "y":0}, {"label":"0,6", "x":8.75, "y":0}, {"label":"0,7", "x":9.75, "y":0}, {"label":"0,8", "x":10.75, "y":0}, {"label":"0,9", "x":11.75, "y":0}, {"label":"0,10", "x":12.75, "y":0}, {"label":"0,11", "x":13.75, "y":0}, {"label":"0,12", "x":14.75, "y":0}, {"label":"0,14", "x":17, "y":0}, {"label":"0,15", "x":18, "y":0}, {"label":"0,16", "x":19, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":8.75, "y":1.25}, {"label":"1,8", "x":9.75, "y":1.25}, {"label":"1,9", "x":10.75, "y":1.25}, {"label":"1,10", "x":11.75, "y":1.25}, {"label":"1,11", "x":12.75, "y":1.25}, {"label":"1,12", "x":13.75, "y":1.25}, {"label":"1,13", "x":14.75, "y":1.25}, {"label":"0,13", "x":15.75, "y":1.25}, {"label":"1,14", "x":17, "y":1.25}, {"label":"1,15", "x":18, "y":1.25}, {"label":"1,16", "x":19, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":8.25, "y":2.25}, {"label":"2,7", "x":9.25, "y":2.25}, {"label":"2,8", "x":10.25, "y":2.25}, {"label":"2,9", "x":11.25, "y":2.25}, {"label":"2,10", "x":12.25, "y":2.25}, {"label":"2,11", "x":13.25, "y":2.25}, {"label":"2,12", "x":14.25, "y":2.25}, {"label":"2,13", "x":15.25, "y":2.25, "w":1.5}, {"label":"2,14", "x":17, "y":2.25}, {"label":"2,15", "x":18, "y":2.25}, {"label":"2,16", "x":19, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":8.5, "y":3.25}, {"label":"3,7", "x":9.5, "y":3.25}, {"label":"3,8", "x":10.5, "y":3.25}, {"label":"3,9", "x":11.5, "y":3.25}, {"label":"3,10", "x":12.5, "y":3.25}, {"label":"3,11", "x":13.5, "y":3.25}, {"label":"3,13", "x":14.5, "y":3.25, "w":1.25}, {"label":"3,12", "x":15.75, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"5,7", "x":8, "y":4.25}, {"label":"4,7", "x":9, "y":4.25}, {"label":"4,8", "x":10, "y":4.25}, {"label":"4,9", "x":11, "y":4.25}, {"label":"4,10", "x":12, "y":4.25}, {"label":"4,11", "x":13, "y":4.25}, {"label":"4,12", "x":14, "y":4.25, "w":1.75}, {"label":"4,13", "x":15.75, "y":4.25}, {"label":"4,15", "x":18, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,2", "x":3.75, "y":5.25, "w":1.25}, {"label":"5,6", "x":5, "y":5.25, "w":1.25}, {"x":6.25, "y":5.25}, {"label":"5,10", "x":8, "y":5.25, "w":1.75}, {"x":9.75, "y":5.25}, {"label":"5,11", "x":10.75, "y":5.25, "w":1.25}, {"label":"5,12", "x":12, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.25, "y":5.25, "w":1.25}, {"label":"5,13", "x":14.5, "y":5.25, "w":1.25}, {"label":"5,14", "x":17, "y":5.25}, {"label":"5,15", "x":18, "y":5.25}, {"label":"5,16", "x":19, "y":5.25}]
diff --git a/keyboards/lz/erghost/readme.md b/keyboards/lz/erghost/readme.md
index 8a48d912d0..0a4a504227 100644
--- a/keyboards/lz/erghost/readme.md
+++ b/keyboards/lz/erghost/readme.md
@@ -23,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
* **Physical reset button**: Press the button on the back of the PCB \ No newline at end of file
diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h
index e09942f93a..8a5b36f4fe 100644
--- a/keyboards/m10a/config.h
+++ b/keyboards/m10a/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x00AA // 10-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M10-A
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -34,7 +27,6 @@
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { B6, F7, F6, D6 }
#define MATRIX_COL_PINS { F5, F1, F0 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/m10a/info.json b/keyboards/m10a/info.json
index c4d82f13ab..49a8477623 100644
--- a/keyboards/m10a/info.json
+++ b/keyboards/m10a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Rama Works X Machine Industries M10-A Macropad",
+ "keyboard_name": "M10-A",
+ "manufacturer": "RAMA WORKS",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x00AA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
index f962246ef3..c5ca7df2e8 100644
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ b/keyboards/m10a/keymaps/gam3cat/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_L5] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
[_L6] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
[_L7] = {{KC_DMP1, _______, KC_DMP2}, {_______, KC_DMRS, _______}, {KC_DMR1, _______, KC_DMR2}, {XXXXXXX, XXXXXXX, MO(_L9)}},
- [_L8] = {{_______, _______, RESET }, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
+ [_L8] = {{_______, _______, QK_BOOT }, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
[_L9] = {{DF(_L6), DF(_L7), DF(_L8)}, {DF(_L3), DF(_L4), DF(_L5)}, {DF(_L0), DF(_L1), DF(_L2)}, {XXXXXXX, XXXXXXX, _______}},
};
@@ -115,7 +115,7 @@ void matrix_scan_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _L0:
custom_backlight_level(0);
break;
diff --git a/keyboards/machine_industries/m4_a/config.h b/keyboards/machine_industries/m4_a/config.h
index f27cb8ae5b..6922ab8a66 100644
--- a/keyboards/machine_industries/m4_a/config.h
+++ b/keyboards/machine_industries/m4_a/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x004A // 4-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT M4-A
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { C7, C6 }
#define MATRIX_COL_PINS { F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/machine_industries/m4_a/info.json b/keyboards/machine_industries/m4_a/info.json
index 4a2f03e741..8caf54a4a4 100644
--- a/keyboards/machine_industries/m4_a/info.json
+++ b/keyboards/machine_industries/m4_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Rama Works M4-A",
+ "keyboard_name": "M4-A",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "naut",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x004A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/machine_industries/m4_a/readme.md b/keyboards/machine_industries/m4_a/readme.md
index 37c16639d1..0081c6b7d9 100644
--- a/keyboards/machine_industries/m4_a/readme.md
+++ b/keyboards/machine_industries/m4_a/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/machkeyboards/mach3/config.h b/keyboards/machkeyboards/mach3/config.h
index d78f8dce9b..1f3533d177 100644
--- a/keyboards/machkeyboards/mach3/config.h
+++ b/keyboards/machkeyboards/mach3/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D41
-#define PRODUCT_ID 0x4D33
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MachKeyboard
-#define PRODUCT Mach33
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/machkeyboards/mach3/info.json b/keyboards/machkeyboards/mach3/info.json
index 42f29a9873..3eab9a1a3f 100644
--- a/keyboards/machkeyboards/mach3/info.json
+++ b/keyboards/machkeyboards/mach3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mach 3",
+ "manufacturer": "MachKeyboard",
"url": "https://machkeyboards.com",
"maintainer": "etiennelepagel",
+ "usb": {
+ "vid": "0x4D41",
+ "pid": "0x4D33",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_3x3": {
"layout": [
diff --git a/keyboards/machkeyboards/mach3/readme.md b/keyboards/machkeyboards/mach3/readme.md
index 16c61511b1..d4c6f6a65c 100644
--- a/keyboards/machkeyboards/mach3/readme.md
+++ b/keyboards/machkeyboards/mach3/readme.md
@@ -13,7 +13,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/macro1/config.h b/keyboards/macro1/config.h
index 54203ef2bf..66449ee8cc 100644
--- a/keyboards/macro1/config.h
+++ b/keyboards/macro1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4C50 // "LP" = Laneware Peripherals
-#define PRODUCT_ID 0x9999
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Laneware Peripherals
-#define PRODUCT MACRO-1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B7, D0, D1, D2, B3 }
#define MATRIX_COL_PINS { D3, D4, D6, D7 }
-#define UNUSED_PINS
/*ENCODER*/
#define ENCODERS_PAD_A { F0 }
diff --git a/keyboards/macro1/info.json b/keyboards/macro1/info.json
index dbb7bafa74..ddb15fb4e3 100644
--- a/keyboards/macro1/info.json
+++ b/keyboards/macro1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MACRO1",
+ "keyboard_name": "MACRO-1",
+ "manufacturer": "Laneware Peripherals",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4C50",
+ "pid": "0x9999",
+ "device_version": "0.0.1"
+ },
"layouts":{
"LAYOUT_numpad":{
"layout":[
diff --git a/keyboards/macro3/config.h b/keyboards/macro3/config.h
index 7e7b371960..bfd60418a7 100644
--- a/keyboards/macro3/config.h
+++ b/keyboards/macro3/config.h
@@ -6,13 +6,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC88B
-#define PRODUCT_ID 0x3388
-#define DEVICE_VER 0x0003
-#define MANUFACTURER DPB
-#define PRODUCT Macro3
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -26,7 +19,6 @@
#define ENCODERS_PAD_A { D2, F7 }
#define ENCODERS_PAD_B { D3, F6 }
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/macro3/info.json b/keyboards/macro3/info.json
index a29313c2b3..f3ebdb8acd 100644
--- a/keyboards/macro3/info.json
+++ b/keyboards/macro3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Macro3",
+ "manufacturer": "DPB",
"url": "https://github.com/davidphilipbarr/Macropads/tree/main/macro3",
"maintainer": "@davidphilipbarr",
+ "usb": {
+ "vid": "0xC88B",
+ "pid": "0x3388",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/macrocat/config.h b/keyboards/macrocat/config.h
new file mode 100644
index 0000000000..851cfe7427
--- /dev/null
+++ b/keyboards/macrocat/config.h
@@ -0,0 +1,11 @@
+// Copyright 2022 catmunch (@catmunch)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* rotary encoder */
+#define ENCODERS_PAD_A { D3 }
+#define ENCODERS_PAD_B { D2 }
+#define ENCODER_SWITCH B7
diff --git a/keyboards/macrocat/info.json b/keyboards/macrocat/info.json
new file mode 100644
index 0000000000..421f1283e1
--- /dev/null
+++ b/keyboards/macrocat/info.json
@@ -0,0 +1,52 @@
+{
+ "manufacturer": "Catmunch",
+ "keyboard_name": "MacroCat Keyboard",
+ "maintainer": "Catmunch, starcatmeow",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "encoder": true
+ },
+ "matrix_pins": {
+ "cols": ["B5", "B6", "C6", "C7"],
+ "rows": ["D4", "D6", "D7", "B4"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://github.com/catmunch/macrocat",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x8086",
+ "vid": "0x2022"
+ },
+ "layout_aliases": {
+ "LAYOUT_numpad_4x4": "LAYOUT_ortho_4x4"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/macrocat/keymaps/default/keymap.c b/keyboards/macrocat/keymaps/default/keymap.c
new file mode 100644
index 0000000000..538dd03295
--- /dev/null
+++ b/keyboards/macrocat/keymaps/default/keymap.c
@@ -0,0 +1,19 @@
+// Copyright 2022 catmunch (@catmunch)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_PLUS, KC_9, KC_8, KC_7 ,
+ KC_MINS, KC_6, KC_5, KC_4 ,
+ KC_DOT, KC_3, KC_2, KC_1 ,
+ KC_ENT, KC_SPACE, KC_0, MO(1)
+ ),
+ [1] = LAYOUT_ortho_4x4(
+ KC_ASTR, KC_MPRV, KC_MPLY,KC_MNXT,
+ KC_SLSH, KC_LPRN, KC_UP, KC_RPRN,
+ KC_COMM, KC_LEFT, KC_DOWN,KC_RIGHT,
+ KC_TAB, KC_BSPC, KC_0, KC_TRNS
+ )
+};
diff --git a/keyboards/macrocat/keymaps/oled/keymap.c b/keyboards/macrocat/keymaps/oled/keymap.c
new file mode 100644
index 0000000000..c9864c1dc7
--- /dev/null
+++ b/keyboards/macrocat/keymaps/oled/keymap.c
@@ -0,0 +1,31 @@
+// Copyright 2022 catmunch (@catmunch)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_PLUS, KC_9, KC_8, KC_7 ,
+ KC_MINS, KC_6, KC_5, KC_4 ,
+ KC_DOT, KC_3, KC_2, KC_1 ,
+ KC_ENT, KC_SPACE, KC_0, MO(1)
+ ),
+ [1] = LAYOUT_ortho_4x4(
+ KC_ASTR, KC_MPRV, KC_MPLY,KC_MNXT,
+ KC_SLSH, KC_LPRN, KC_UP, KC_RPRN,
+ KC_COMM, KC_LEFT, KC_DOWN,KC_RIGHT,
+ KC_TAB, KC_BSPC, KC_0, KC_TRNS
+ ),
+ [2] = LAYOUT_ortho_4x4(
+ 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
+ ),
+ [3] = LAYOUT_ortho_4x4(
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
diff --git a/keyboards/macrocat/keymaps/oled/rules.mk b/keyboards/macrocat/keymaps/oled/rules.mk
new file mode 100644
index 0000000000..ca8d16ba67
--- /dev/null
+++ b/keyboards/macrocat/keymaps/oled/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 \ No newline at end of file
diff --git a/keyboards/macrocat/keymaps/via/keymap.c b/keyboards/macrocat/keymaps/via/keymap.c
new file mode 100644
index 0000000000..3a0df45fb7
--- /dev/null
+++ b/keyboards/macrocat/keymaps/via/keymap.c
@@ -0,0 +1,31 @@
+// Copyright 2022 catmunch (@catmunch)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_PPLS, KC_9, KC_8, KC_7 ,
+ KC_PMNS, KC_6, KC_5, KC_4 ,
+ KC_PDOT, KC_3, KC_2, KC_1 ,
+ KC_PENT, KC_SPACE, KC_P0, MO(1)
+ ),
+ [1] = LAYOUT_ortho_4x4(
+ KC_PAST, KC_NO, KC_NO, KC_NO,
+ KC_PSLS, KC_LPRN, KC_UP, KC_RPRN,
+ KC_COMM, KC_LEFT, KC_DOWN,KC_RIGHT,
+ KC_TAB, KC_BSPC, KC_P0, KC_TRNS
+ ),
+ [2] = LAYOUT_ortho_4x4(
+ 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
+ ),
+ [3] = LAYOUT_ortho_4x4(
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
diff --git a/keyboards/macrocat/keymaps/via/rules.mk b/keyboards/macrocat/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/macrocat/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/macrocat/macrocat.c b/keyboards/macrocat/macrocat.c
new file mode 100644
index 0000000000..aec76d1912
--- /dev/null
+++ b/keyboards/macrocat/macrocat.c
@@ -0,0 +1,193 @@
+// Copyright 2022 catmunch (@catmunch)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+static bool encoder_pressed = 0;
+static bool encoder_switched_layer = 0;
+static uint32_t encoder_last_release_time = 0;
+static uint32_t encoder_press_combo = 0;
+static uint8_t current_layer = 0;
+
+#ifdef OLED_ENABLE
+static const char PROGMEM bongo_release[] = {
+ 0, 0, 0, 0, 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,128,192,192, 96, 96, 48, 48, 24, 12, 6, 14, 60,112, 96,224,192,192,192,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,192,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,240,124, 12, 12, 12, 12, 24,120,108, 14, 7, 3, 1, 0,128,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 7, 6, 14, 12, 28, 24, 48, 48, 24, 24, 12,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 7, 6, 6, 6, 6, 12, 12, 15, 15, 24, 24, 24, 24, 48, 48, 48, 48,112, 96, 96, 96,224,193,193,193,192,131,134,134,134, 12, 12, 0, 0, 0, 0, 0, 48, 56, 16,240,252, 12, 6,134, 6, 12, 60, 48, 32, 0, 0, 48,126,239,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 3, 6, 6, 6, 6, 12, 12, 15, 15, 24, 24, 24, 24, 56, 48, 48, 48,112, 96, 96, 96,225,207,254,248,192,128,128,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,
+};
+static const char PROGMEM bongo_press_r[] = {
+ 0, 0, 0, 0, 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,128,192,192, 96, 96, 48, 48, 24, 12, 6, 14, 60,112, 96,224,192,192,192,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,192,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,240,124, 12, 12, 12, 12, 24,120,108, 14, 7, 3, 1, 0,128,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 7, 6, 14, 12, 28, 24, 48, 48, 24, 24, 12,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 7, 6, 6, 6, 6, 12, 12, 15, 15, 24, 24, 24, 24, 48, 48, 48, 48,112, 96, 96, 96,224,193,193,193,192,131,134,134,134, 12, 12, 0, 0, 0, 0, 0, 48, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,126,239,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 3, 6, 6, 22,126,111,227,192,224, 96, 96, 96, 96,112, 48, 48, 48,112, 96, 96, 96,225,207,254,248,192,128,128,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,
+};
+static const char PROGMEM bongo_press_l[] = {
+ 0, 0, 0, 0, 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,128,192,192, 96, 96, 48, 48, 24, 12, 6, 14, 60,112, 96,224,192,192,192,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,192,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 96, 48, 24, 12, 14, 7, 3, 1, 0,128,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 7, 6, 14, 12, 28, 24, 48, 48, 24, 24, 12,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 7, 6, 6, 6, 6, 12, 12,124,252,206,131,129,192,192,192,192,224, 96, 96, 96, 96,224,193,193,193,192,131,134,134,134, 12, 12, 0, 0, 0, 0, 0, 48, 56, 16,240,252, 12, 6,134, 6, 12, 60, 48, 32, 0, 0, 48,126,239,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 3, 3, 6, 6, 6, 6, 12, 12, 15, 15, 24, 24, 24, 24, 56, 48, 48, 48,112, 96, 96, 96,225,207,254,248,192,128,128,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,
+};
+static const char PROGMEM bongo_press_lr[] = {
+ 0, 0, 0, 0, 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,128,192,192, 96, 96, 48, 48, 24, 12, 6, 14, 60,112, 96,224,192,192,192,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,192,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 96, 48, 24, 12, 14, 7, 3, 1, 0,128,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 7, 6, 14, 12, 28, 24, 48, 48, 24, 24, 12,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 3, 3, 3, 3, 7, 6, 6, 6, 6, 12, 12,124,252,206,131,129,192,192,192,192,224, 96, 96, 96, 96,224,193,193,193,192,131,134,134,134, 12, 12, 0, 0, 0, 0, 0, 48, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,126,239,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 3, 3, 6, 6, 22,126,111,227,192,224, 96, 96, 96, 96,112, 48, 48, 48,112, 96, 96, 96,225,207,254,248,192,128,128,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,
+};
+static const char PROGMEM layer[][116] = {
+ [0] = {
+ 248, 0, 0, 0, 0, 0, 0,160,160,192, 0, 0, 96,128,128,128,224, 0,192,160,160,160,192, 0,224, 64, 32, 32, 64,
+ 3, 2, 2, 2, 2, 0, 1, 2, 2, 3, 2,128,130,132,132,132,131, 0, 1, 2, 2, 2, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254,129,129, 97, 97, 25, 25,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 25, 25, 24, 24, 24, 24, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ },
+ [1] = {
+ 248, 0, 0, 0, 0, 0, 0,160,160,192, 0, 0, 96,128,128,128,224, 0,192,160,160,160,192, 0,224, 64, 32, 32, 64,
+ 3, 2, 2, 2, 2, 0, 1, 2, 2, 3, 2, 0, 2,132,132, 4, 3, 0, 1, 2, 2, 2, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 31, 31, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ },
+ [2] = {
+ 248, 0, 0, 0, 0, 0, 0,160,160,192, 0, 0, 96,128,128,128,224, 0,192,160,160,160,192, 0,224, 64, 32, 32, 64,
+ 3, 2, 2, 2, 2, 0, 1, 2, 2, 3, 2,128,130,132,132,132,131, 0, 1, 2, 2, 2, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134, 97, 97, 97, 97, 97, 97, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ },
+ [3] = {
+ 248, 0, 0, 0, 0, 0, 0,160,160,192, 0, 0, 96,128,128,128,224, 0,192,160,160,160,192, 0,224, 64, 32, 32, 64,
+ 3, 2, 2, 2, 2, 0, 1, 2, 2,131,130,128,130,132,132,132,131,128,129, 2, 2, 2, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 97, 97,121,121,135,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 24, 24, 24, 24, 24, 24, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ }
+};
+static uint8_t key_pressed_l = 0;
+static uint8_t key_pressed_r = 0;
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+
+ char buffer[512];
+ if (key_pressed_l && key_pressed_r)
+ memcpy_P(buffer, bongo_press_lr, 512);
+ else if (key_pressed_l)
+ memcpy_P(buffer, bongo_press_l, 512);
+ else if (key_pressed_r)
+ memcpy_P(buffer, bongo_press_r, 512);
+ else
+ memcpy_P(buffer, bongo_release, 512);
+ int highest_layer = 0;
+ for(int i=3;i>=0;--i){
+ if (IS_LAYER_ON(i)) {
+ highest_layer = i;
+ break;
+ }
+ }
+ // Apply the layer info (4*29)
+ for(int i=0;i<4;i++){
+ for(int j=0;j<29;j++){
+ buffer[i*128+85+j] = pgm_read_byte_near(layer[highest_layer]+i*29+j);
+ }
+ }
+ oled_write_raw(buffer, 512);
+ return false;
+}
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ if (record->event.pressed) {
+ if (record->event.key.col <= 1)
+ key_pressed_l++;
+ else
+ key_pressed_r++;
+ } else {
+ if (record->event.key.col <= 1)
+ key_pressed_l--;
+ else
+ key_pressed_r--;
+ }
+ return true;
+}
+#endif
+void encoder_single_click(void) {
+ tap_code(KC_MPLY);
+}
+void encoder_double_click(void) {
+ tap_code(KC_MNXT);
+}
+void encoder_triple_click(void) {
+ tap_code(KC_MPRV);
+}
+void matrix_init_kb() {
+ matrix_init_user();
+
+ setPinInputHigh(ENCODER_SWITCH);
+}
+void matrix_scan_kb() {
+ matrix_scan_user();
+ if (readPin(ENCODER_SWITCH)) {
+ if (encoder_pressed) { // release switch
+ encoder_pressed = 0;
+ encoder_press_combo += 1;
+ encoder_last_release_time = timer_read32();
+ }
+ if (encoder_press_combo && timer_elapsed(encoder_last_release_time) > 300) {
+ // combo timeout
+ if (encoder_switched_layer) { // switch layer
+ encoder_switched_layer = 0;
+ } else { // click
+ switch (encoder_press_combo) {
+ case 1:
+ encoder_single_click();
+ break;
+ case 2:
+ encoder_double_click();
+ break;
+ default:
+ encoder_triple_click();
+ }
+ }
+ encoder_press_combo = 0;
+ encoder_last_release_time = 0;
+ }
+ } else {
+ if (!encoder_pressed) { // press switch
+ encoder_pressed = 1;
+ }
+ }
+}
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ if (clockwise) {
+ if (encoder_pressed) {
+ if (current_layer < 3) {
+ current_layer += 1;
+ layer_move(current_layer);
+ }
+ encoder_switched_layer = 1;
+ } else {
+ tap_code(KC_VOLU);
+ }
+ } else {
+ if (encoder_pressed) {
+ if (current_layer > 0) {
+ current_layer -= 1;
+ layer_move(current_layer);
+ }
+ encoder_switched_layer = 1;
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ return false;
+}
diff --git a/keyboards/macrocat/readme.md b/keyboards/macrocat/readme.md
new file mode 100644
index 0000000000..da06c04f63
--- /dev/null
+++ b/keyboards/macrocat/readme.md
@@ -0,0 +1,27 @@
+# macrocat
+
+![macrocat](https://i.imgur.com/ItLHGBfh.jpg)
+
+A cat like macro keyboard/numpad.
+
+* Keyboard Maintainer: [catmunch](https://github.com/catmunch), [starcatmeow](https://github.com/starcatmeow)
+* Hardware Supported: Fully Supported
+* Hardware Availability: [MacroCat Keyboard](https://github.com/catmunch/macrocat)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make macrocat:default
+
+Flashing example for this keyboard:
+
+ make macrocat:default:flash
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Brand new atmega32u4 chip**: Plug the cable in, it will automatically boot into bootloader
+
+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/macrocat/rules.mk b/keyboards/macrocat/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/macrocat/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/majistic/config.h b/keyboards/majistic/config.h
index 6e823ae3d6..6c015fde36 100644
--- a/keyboards/majistic/config.h
+++ b/keyboards/majistic/config.h
@@ -20,13 +20,6 @@ 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 0x6E55
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yossiyossy
-#define PRODUCT maJIStic
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/majistic/info.json b/keyboards/majistic/info.json
index 8d8005c7f4..19b60ad2ee 100644
--- a/keyboards/majistic/info.json
+++ b/keyboards/majistic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "maJIStic",
+ "manufacturer": "yossiyossy",
"url": "https://github.com/yossiyossy/maJIStic",
"maintainer": "yossiyossy",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6E55",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/makenova/omega/omega4/readme.md b/keyboards/makenova/omega/omega4/readme.md
index 0b4db785d5..c736cedc24 100644
--- a/keyboards/makenova/omega/omega4/readme.md
+++ b/keyboards/makenova/omega/omega4/readme.md
@@ -20,4 +20,4 @@ Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/makrosu/config.h b/keyboards/makrosu/config.h
index b587477f8a..f441a16f7a 100644
--- a/keyboards/makrosu/config.h
+++ b/keyboards/makrosu/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAB69
-#define PRODUCT_ID 0x8585
-#define DEVICE_VER 0x0001
-#define MANUFACTURER valdydesu_
-#define PRODUCT makrosu
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B6 }
#define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { E6 }
#define ENCODERS_PAD_B { D1 }
diff --git a/keyboards/makrosu/info.json b/keyboards/makrosu/info.json
index 84aca4a14c..30b17ebad3 100644
--- a/keyboards/makrosu/info.json
+++ b/keyboards/makrosu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MakrOSU",
+ "manufacturer": "Valdydesu_",
"url": "",
"maintainer": "Valdydesu_",
+ "usb": {
+ "vid": "0xAB69",
+ "pid": "0x8585",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/malevolti/lyra/rev1/config.h b/keyboards/malevolti/lyra/rev1/config.h
index 18563f8270..1e0628c6d3 100644
--- a/keyboards/malevolti/lyra/rev1/config.h
+++ b/keyboards/malevolti/lyra/rev1/config.h
@@ -15,13 +15,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443 //DC
-#define PRODUCT_ID 0x4C43 //LC
-#define DEVICE_VER 0x3031 //01
-#define MANUFACTURER Dom
-#define PRODUCT Lyra
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/malevolti/lyra/rev1/info.json b/keyboards/malevolti/lyra/rev1/info.json
index 82dd811fd5..02c1a2421b 100644
--- a/keyboards/malevolti/lyra/rev1/info.json
+++ b/keyboards/malevolti/lyra/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "lyra",
+ "keyboard_name": "Lyra",
+ "manufacturer": "Dom",
"url": "",
"maintainer": "malevolti",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x4C43",
+ "device_version": "30.3.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/malevolti/superlyra/rev1/config.h b/keyboards/malevolti/superlyra/rev1/config.h
index 62c005ff9d..6aebaf28b1 100644
--- a/keyboards/malevolti/superlyra/rev1/config.h
+++ b/keyboards/malevolti/superlyra/rev1/config.h
@@ -15,13 +15,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4443 //DC
-#define PRODUCT_ID 0x4C53 //LS
-#define DEVICE_VER 0x3031 //01
-#define MANUFACTURER Dom
-#define PRODUCT SuperLyra
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
diff --git a/keyboards/malevolti/superlyra/rev1/info.json b/keyboards/malevolti/superlyra/rev1/info.json
index c7dce70de5..5baf958117 100644
--- a/keyboards/malevolti/superlyra/rev1/info.json
+++ b/keyboards/malevolti/superlyra/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "superlyra",
+ "keyboard_name": "SuperLyra",
+ "manufacturer": "Dom",
"url": "",
"maintainer": "malevolti",
+ "usb": {
+ "vid": "0x4443",
+ "pid": "0x4C53",
+ "device_version": "30.3.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/manta60/config.h b/keyboards/manta60/config.h
index 7c9a3b5ebe..ce4120249c 100644
--- a/keyboards/manta60/config.h
+++ b/keyboards/manta60/config.h
@@ -19,13 +19,6 @@ 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 0x991D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kamonanban
-#define PRODUCT manta60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 ,B4}
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/manta60/info.json b/keyboards/manta60/info.json
index 2210503b82..3b3b58a9c2 100644
--- a/keyboards/manta60/info.json
+++ b/keyboards/manta60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "manta60",
+ "manufacturer": "kamonanban",
"url": "https://github.com/KamoNanban",
"maintainer": "kamonanban",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x991D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/manyboard/macro/config.h b/keyboards/manyboard/macro/config.h
index 63db714e63..6b49e670ba 100644
--- a/keyboards/manyboard/macro/config.h
+++ b/keyboards/manyboard/macro/config.h
@@ -18,13 +18,6 @@ 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
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 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 }
diff --git a/keyboards/manyboard/macro/info.json b/keyboards/manyboard/macro/info.json
index 13f89494dc..47eb066f49 100644
--- a/keyboards/manyboard/macro/info.json
+++ b/keyboards/manyboard/macro/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "manyboard_macro",
+ "keyboard_name": "MB_Macro",
+ "manufacturer": "Manyboard",
"url": "https://github.com/WillEhman/qmk_firmware/tree/dev_create_mb_macro",
"maintainer": "William Ehman",
+ "usb": {
+ "vid": "0x4D42",
+ "pid": "0x0015",
+ "device_version": "1.0.3"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/maple_computing/6ball/config.h b/keyboards/maple_computing/6ball/config.h
index cc496d675a..40fb44e7a7 100644
--- a/keyboards/maple_computing/6ball/config.h
+++ b/keyboards/maple_computing/6ball/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER That-Canadian
-#define PRODUCT 6-Ball
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { F5 }
#define MATRIX_COL_PINS { F4, D4, B5, B6, B2, F6 }
-#define UNUSED_PINS
/* ws2812 RGB LED */
#define RGB_DI_PIN F7
diff --git a/keyboards/maple_computing/6ball/info.json b/keyboards/maple_computing/6ball/info.json
index fc742ad517..087372c186 100644
--- a/keyboards/maple_computing/6ball/info.json
+++ b/keyboards/maple_computing/6ball/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "6-Ball",
+ "manufacturer": "That-Canadian",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/maple_computing/c39/config.h b/keyboards/maple_computing/c39/config.h
index 45c503846f..538dbdbf28 100755
--- a/keyboards/maple_computing/c39/config.h
+++ b/keyboards/maple_computing/c39/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCA17
-#define PRODUCT_ID 0xCA39
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maple Computing
-#define PRODUCT C39
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 13
diff --git a/keyboards/maple_computing/c39/info.json b/keyboards/maple_computing/c39/info.json
index 3600570dde..971c483627 100755
--- a/keyboards/maple_computing/c39/info.json
+++ b/keyboards/maple_computing/c39/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "C39",
+ "manufacturer": "Maple Computing",
"url": "",
"maintainer": "Space Cat",
+ "usb": {
+ "vid": "0xCA17",
+ "pid": "0xCA39",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Back", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"M1", "x":11.25, "y":0}, {"label":"M2", "x":12.25, "y":0}, {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"Enter", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"M3", "x":11.25, "y":1}, {"label":"M4", "x":12.25, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"Fn", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":"<", "x":8, "y":2}, {"label":">", "x":9, "y":2}, {"label":"?", "x":10, "y":2}, {"label":"M5", "x":11.25, "y":2}, {"label":"M6", "x":12.25, "y":2}]
diff --git a/keyboards/maple_computing/christmas_tree/V2017/config.h b/keyboards/maple_computing/christmas_tree/V2017/config.h
deleted file mode 100644
index abc94749a8..0000000000
--- a/keyboards/maple_computing/christmas_tree/V2017/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-#define DEVICE_VER 0x2017
diff --git a/keyboards/maple_computing/christmas_tree/V2017/info.json b/keyboards/maple_computing/christmas_tree/V2017/info.json
new file mode 100644
index 0000000000..6d00c2519f
--- /dev/null
+++ b/keyboards/maple_computing/christmas_tree/V2017/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "20.1.7"
+ }
+}
diff --git a/keyboards/maple_computing/christmas_tree/config.h b/keyboards/maple_computing/christmas_tree/config.h
index 531c5996d2..8ffcd5c25a 100644
--- a/keyboards/maple_computing/christmas_tree/config.h
+++ b/keyboards/maple_computing/christmas_tree/config.h
@@ -19,12 +19,6 @@ 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 0x3070
-#define MANUFACTURER Maple Computing
-#define PRODUCT Christmas Tree
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 1
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D3, F4, D0, F6, F5, D4 }
#define MATRIX_COL_PINS { D1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN D2
diff --git a/keyboards/maple_computing/christmas_tree/info.json b/keyboards/maple_computing/christmas_tree/info.json
index 5d24218c70..2f5dfef702 100644
--- a/keyboards/maple_computing/christmas_tree/info.json
+++ b/keyboards/maple_computing/christmas_tree/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Christmas Tree",
+ "manufacturer": "Maple Computing",
"url": "https://www.reddit.com/r/MechanicalKeyboards/comments/7cqxpf/gb_christmas_tree_pcb_gb_now_live/",
"maintainer": "That-Canadian",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3070"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0}, {"x":0.5, "y":1}, {"x":1.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}]
diff --git a/keyboards/maple_computing/ivy/config.h b/keyboards/maple_computing/ivy/config.h
index 130f2e0b61..96fb23736c 100644
--- a/keyboards/maple_computing/ivy/config.h
+++ b/keyboards/maple_computing/ivy/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6012
-#define MANUFACTURER Maple Computing
-#define PRODUCT Ivy
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/maple_computing/ivy/rev1/config.h b/keyboards/maple_computing/ivy/rev1/config.h
index 9b88b89e5e..902f807051 100644
--- a/keyboards/maple_computing/ivy/rev1/config.h
+++ b/keyboards/maple_computing/ivy/rev1/config.h
@@ -17,11 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-
/* Let's Macro V2 pin-out */
#define MATRIX_ROW_PINS { F1, B2, D3 }
#define MATRIX_COL_PINS { F5, B3, D5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maple_computing/ivy/rev1/info.json b/keyboards/maple_computing/ivy/rev1/info.json
index c5045bd80f..4bacbdb9b9 100644
--- a/keyboards/maple_computing/ivy/rev1/info.json
+++ b/keyboards/maple_computing/ivy/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IVY",
+ "keyboard_name": "Ivy",
+ "manufacturer": "Maple Computing",
"url": "",
"maintainer": "That-Canadian",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/maple_computing/jnao/config.h b/keyboards/maple_computing/jnao/config.h
index 7598e049ae..e8a2ca39b8 100644
--- a/keyboards/maple_computing/jnao/config.h
+++ b/keyboards/maple_computing/jnao/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maple Computing
-#define PRODUCT JNAO Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { E6, F0, F5, F6, F7 }
#define MATRIX_COL_PINS { F1, F4, B1, B2, B3, B7, D1, D2, D4, D6, D7, B4 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN D0
diff --git a/keyboards/maple_computing/jnao/info.json b/keyboards/maple_computing/jnao/info.json
index 4d8f332391..2b2fc17742 100644
--- a/keyboards/maple_computing/jnao/info.json
+++ b/keyboards/maple_computing/jnao/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "JNAO",
+ "manufacturer": "Maple Computing",
"url": "",
"maintainer": "That-Canadian",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/maple_computing/launchpad/config.h b/keyboards/maple_computing/launchpad/config.h
index 901c63c93b..92d597508a 100644
--- a/keyboards/maple_computing/launchpad/config.h
+++ b/keyboards/maple_computing/launchpad/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6007
-#define MANUFACTURER Maple Computing
-#define PRODUCT Launch Pad
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 2
diff --git a/keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c
index 1ef77ccc6e..6fc28dccc2 100644
--- a/keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c
+++ b/keyboards/maple_computing/launchpad/keymaps/brandonschlack/keymap.c
@@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └──────┴──────┘
*/
[_ADJUST] = LAYOUT( \
- QM_MAKE, RESET, \
+ QM_MAKE, QK_BOOT, \
DF_REDR, DF_MEDA, \
DF_NAVI, DF_KBNR, \
TG_LGHT, XXXXXXX \
diff --git a/keyboards/maple_computing/launchpad/keymaps/default/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default/keymap.c
index 62dee131f8..efd67e8c1b 100644
--- a/keyboards/maple_computing/launchpad/keymaps/default/keymap.c
+++ b/keyboards/maple_computing/launchpad/keymaps/default/keymap.c
@@ -6,9 +6,10 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-
-#define _FUNC 15
+enum layer_names {
+ _QWERTY,
+ _FUNC
+};
// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c
index 529fa91f65..69fb3ce561 100644
--- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c
+++ b/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c
@@ -7,9 +7,11 @@ extern keymap_config_t keymap_config;
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _RGB 1
-#define _FUNC 15
+enum layer_names {
+ _QWERTY,
+ _RGB,
+ _FUNC
+};
// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
diff --git a/keyboards/maple_computing/launchpad/rev1/config.h b/keyboards/maple_computing/launchpad/rev1/config.h
index debc28fab3..427e04618c 100644
--- a/keyboards/maple_computing/launchpad/rev1/config.h
+++ b/keyboards/maple_computing/launchpad/rev1/config.h
@@ -19,12 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "../config.h"
-#define DEVICE_VER 0x0001
-
/* Let's Macro V2 pin-out */
#define MATRIX_ROW_PINS { C6, B1, B3, D7 }
#define MATRIX_COL_PINS { D2, F7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maple_computing/launchpad/rev1/info.json b/keyboards/maple_computing/launchpad/rev1/info.json
index c8ba35c966..4931670cb4 100644
--- a/keyboards/maple_computing/launchpad/rev1/info.json
+++ b/keyboards/maple_computing/launchpad/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Launch Pad rev1",
+ "keyboard_name": "Launch Pad",
+ "manufacturer": "Maple Computing",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/maple_computing/lets_split_eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h
index 787b9783b8..671cd4d34a 100644
--- a/keyboards/maple_computing/lets_split_eh/config.h
+++ b/keyboards/maple_computing/lets_split_eh/config.h
@@ -19,13 +19,6 @@ 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 0xE401
-#define DEVICE_VER 0x0100
-#define MANUFACTURER That-Canadian
-#define PRODUCT Lets Split Eh?
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/maple_computing/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/eh/config.h
index 43e0266502..b9e6da535d 100644
--- a/keyboards/maple_computing/lets_split_eh/eh/config.h
+++ b/keyboards/maple_computing/lets_split_eh/eh/config.h
@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Let's Split EH? pin-out */
#define MATRIX_ROW_PINS { B1, B3, D7, B4 }
#define MATRIX_COL_PINS { F4, F5, C6, B6, B5, D5 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maple_computing/lets_split_eh/eh/info.json b/keyboards/maple_computing/lets_split_eh/eh/info.json
index c241fa3813..352461ae50 100644
--- a/keyboards/maple_computing/lets_split_eh/eh/info.json
+++ b/keyboards/maple_computing/lets_split_eh/eh/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Let's Split",
+ "keyboard_name": "Lets Split Eh?",
+ "manufacturer": "That-Canadian",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xE401",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md
deleted file mode 100644
index fcb7037937..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Lets Split Eh Layout
-
-Check out [user readme](../../../../users/bbaserdem/README.md) for more info.
-
-# Usage
-
-Fill in after flashing
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h
deleted file mode 100755
index 47be76567e..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef CONFIG_KEYMAP_H
-#define CONFIG_KEYMAP_H
-#include "../../config.h"
-#endif
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c
deleted file mode 100755
index 92e72bbf1c..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "lets_split_eh.h"
-#include "bbaserdem.h"
-
-
-void matrix_init_keymap (void) {
-}
-
-uint32_t layer_state_set_keymap(uint32_t state) {
- return state;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Main Dvorak layer
- [_DV] = LAYOUT_letssplit_wrapper(DVORAK),
- // Turkish and special character overlay
- [_AL] = LAYOUT_letssplit_wrapper(ALTCHAR),
- // Gaming layer
- [_GA] = LAYOUT_letssplit_wrapper(GAME),
- // Numbers layer
- [_NU] = LAYOUT_letssplit_wrapper(NUMBERS),
- // Settings layer
- [_SE] = LAYOUT_letssplit_wrapper(SETTINGS),
- // Mouse emulation layer
- [_MO] = LAYOUT_letssplit_wrapper(MOUSE),
- // Music layer
- [_MU] = LAYOUT_letssplit_wrapper(MUSIC),
-};
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk
deleted file mode 100755
index 7a37e989d8..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# Build options
-
-BACKLIGHT_ENABLE = no # Switch LEDs
-MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
-RGBLIGHT_ENABLE = yes # LED strips
-TAP_DANCE_ENABLE = no # Use multi-tap features
-AUDIO_ENABLE = no # Audio stuff
-
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c
index 06ddace84c..552ed7b183 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c
@@ -94,14 +94,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | |BLSTEP|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
TSKMGR, _______, _______, _______, _______, _______, KC_DEL, _______, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \
_______, _______, _______, _______, _______, _______, _______, DVORAK, RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT \
),
/* Function
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c
index 9e67b7dda8..0a892da6a0 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
- * | RESET| | | | | | |RGBMOD|RGBVAI|RGBSAI|RGBHUI|caltde|
+ * | QK_BOOT| | | | | | |RGBMOD|RGBVAI|RGBSAI|RGBHUI|caltde|
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | |RGBRMO|RGBVAD|RGBSAD|RGBHUD|RGBTOG|
* |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- RESET, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \
_______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c
index af5c98241a..195de46801 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/msiu/keymap.c
@@ -99,14 +99,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | |BLSTEP|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, \
RGB_MOD, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, QWERTY, DVORAK, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT \
),
/* FUNC
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c
index 17f790675b..b434661865 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/resfury/keymap.c
@@ -132,14 +132,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |_DVORAK| | | | | | | | | |RGBMOD|BLSTEP|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * |_QWERTY| | | | | | | | | | | RESET|
+ * |_QWERTY| | | | | | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
TSKMGR, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \
DF(_COLEMAK), _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, \
DF(_DVORAK), _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, BL_STEP, \
- DF(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \
+ DF(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT \
),
/* Function
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
index ba5b75a5cf..398a324a0f 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c
@@ -5,8 +5,8 @@
void matrix_init_keymap (void) {
}
-uint32_t layer_state_set_keymap(uint32_t state) {
-
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+
return state;
}
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c
index bba9a02c8c..09f9a2329c 100644
--- a/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/that_canadian/keymap.c
@@ -90,14 +90,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | |BLSTEP|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
TSKMGR, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \
_______, _______, _______, _______, _______, _______, _______, QWERTY, RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT \
),
/* Function
diff --git a/keyboards/maple_computing/minidox/config.h b/keyboards/maple_computing/minidox/config.h
index 613e45977c..9b3adc2602 100644
--- a/keyboards/maple_computing/minidox/config.h
+++ b/keyboards/maple_computing/minidox/config.h
@@ -19,12 +19,6 @@ 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 0x3060
-#define MANUFACTURER That-Canadian
-#define PRODUCT MiniDox
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c b/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c
index c592b1a6a9..c25c0b00d0 100644
--- a/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/alairock/keymap.c
@@ -110,7 +110,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_UP, KC_F9, KC_F10, \
KC_F11, KC_F12, RGB_RMOD, RGB_SAI, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, CALTDEL, \
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_F8, TSKMGR, _______, \
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_F8, TSKMGR, _______, \
_______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/maple_computing/minidox/keymaps/default/keymap.c b/keyboards/maple_computing/minidox/keymaps/default/keymap.c
index 7886eec172..d71e5b6e55 100644
--- a/keyboards/maple_computing/minidox/keymaps/default/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/default/keymap.c
@@ -5,10 +5,12 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
index e93a09f64a..c665e955a3 100644
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* If you use QWERTY + the Vanilla numbers primarily, change NUMLK_E to NUMLK_N here.
*
* ,----------------------------------. ,----------------------------------.
- * | RESET|DEBUG |QWERTY|CMKDHM| | | | VOL--| VOL++|BRITE-|BRITE+|
+ * | QK_BOOT|DEBUG |QWERTY|CMKDHM| | | | VOL--| VOL++|BRITE-|BRITE+|
* |------+------+------+------+------| |------+------+------+------+------|
* | SHIFT| CTRL | ALT | GUI |NAV LK| | POWER| VOL- | VOL+ | MUTE | MPLY |
* |------+------+------+------+------| |------+------+------+------+------|
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------' `------'
*/
[_SYS] = LAYOUT( \
- RESET, DEBUG, QWERTY, CMK_DHM, _______, _______, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, \
+ QK_BOOT, DEBUG, QWERTY, CMK_DHM, _______, _______, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, \
KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, NAV_LK, KC_POWER, VOL_DN, VOL_UP, KC__MUTE, KC_MPLY, \
_______, _______, AU_OFF, AU_ON, _______, _______, NUMLK_E, KC_MRWD, KC_MFFD, _______, \
_______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c b/keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c
index 1c6b6749f3..05301f4b8e 100644
--- a/keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/khitsule/keymap.c
@@ -53,7 +53,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, \
_______, DSK_LFT, _______, DSK_RT, _______, TSKMGR, CALTDEL, _______, KC_F11, KC_F12, \
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/maple_computing/minidox/keymaps/norman/config.h b/keyboards/maple_computing/minidox/keymaps/norman/config.h
index 0d3542a03e..ecdf080c2c 100644
--- a/keyboards/maple_computing/minidox/keymaps/norman/config.h
+++ b/keyboards/maple_computing/minidox/keymaps/norman/config.h
@@ -1,5 +1,4 @@
#pragma once
#define PERMISSIVE_HOLD
-#define QMK_KEYS_PER_SCAN 4
#define TAPPING_TERM 160
diff --git a/keyboards/maple_computing/minidox/keymaps/norman/keymap.c b/keyboards/maple_computing/minidox/keymaps/norman/keymap.c
index 2786b7dd93..0147e8fb98 100644
--- a/keyboards/maple_computing/minidox/keymaps/norman/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/norman/keymap.c
@@ -57,7 +57,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, \
_______, DSK_LFT, _______, DSK_RT, _______, TSKMGR, CALTDEL, _______, KC_F11, KC_F12, \
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c
index d80febecaf..7d6b211379 100644
--- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F7, KC_F8, KC_F9, SCRCAP, _______, KC_F10, KC_F11, KC_F12, _______,
_______, KC_F1, KC_F2, KC_F3, _______, _______, KC_F4, KC_F5, KC_F6, _______,
- OSM(MOD_LCTL),_______, _______, _______, RESET, KILL, _______, _______, _______, OSM(MOD_RCTL),
+ OSM(MOD_LCTL),_______, _______, _______, QK_BOOT, KILL, _______, _______, _______, OSM(MOD_RCTL),
_______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c b/keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c
index 78ddca30e8..cacf1ec543 100644
--- a/keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/that_canadian/keymap.c
@@ -108,7 +108,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_UP, KC_F9, KC_F10, \
KC_F11, KC_F12, _______, RGB_SAI, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, CALTDEL, \
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_F8, TSKMGR, _______, \
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_F8, TSKMGR, _______, \
_______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c b/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c
index f479b10f67..c50571c78d 100644
--- a/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/tw1t611/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( \
_______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, \
CALTESC, CALTDEL, _______, CALT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, \
- RESET, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, \
+ QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, \
_______, _______, _______, _______, _______, _______ \
)};
diff --git a/keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c b/keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c
index 4c7a05227f..e1d1d2644c 100644
--- a/keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c
+++ b/keyboards/maple_computing/minidox/keymaps/xyverz/keymap.c
@@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------| |------+------+------+------+------|
* | F11 | | | | | | | PrSc | ScLk | Paus | F12 |
* |------+------+------+------+------| |------+------+------+------+------|
- * | |QWERTY|COLEMK|DVORAK| | |RESET | | | | |
+ * | |QWERTY|COLEMK|DVORAK| | |QK_BOOT | | | | |
* `----------------------------------' `----------------------------------'
* ,--------------------. ,------,-------------.
* | | | | | | | |
@@ -152,8 +152,8 @@ 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_UP, KC_F9, KC_F10, \
- KC_F11, RESET, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12, \
- _______, QWERTY, COLEMAK, DVORAK, _______, RESET, _______, _______, _______, _______, \
+ KC_F11, QK_BOOT, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12, \
+ _______, QWERTY, COLEMAK, DVORAK, _______, QK_BOOT, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/maple_computing/minidox/rev1/config.h b/keyboards/maple_computing/minidox/rev1/config.h
index 734ca562fd..6867fee4b5 100644
--- a/keyboards/maple_computing/minidox/rev1/config.h
+++ b/keyboards/maple_computing/minidox/rev1/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-
// wiring of each half
#define MATRIX_ROW_PINS { B2, B6, B4, B5 }
#define MATRIX_COL_PINS { F4, D3, D2, D1, D4 }
diff --git a/keyboards/maple_computing/minidox/rev1/info.json b/keyboards/maple_computing/minidox/rev1/info.json
index 47ed14dab0..6a253e14a6 100644
--- a/keyboards/maple_computing/minidox/rev1/info.json
+++ b/keyboards/maple_computing/minidox/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MiniDox",
+ "manufacturer": "That-Canadian",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [{"x":0, "y":0.375}, {"x":1, "y":0.125}, {"x":2, "y":0}, {"x":3, "y":0.125}, {"x":4, "y":0.25}, {"x":7, "y":0.25}, {"x":8, "y":0.125}, {"x":9, "y":0}, {"x":10, "y":0.125}, {"x":11, "y":0.375}, {"x":0, "y":1.375}, {"x":1, "y":1.125}, {"x":2, "y":1}, {"x":3, "y":1.125}, {"x":4, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.125}, {"x":9, "y":1}, {"x":10, "y":1.125}, {"x":11, "y":1.375}, {"x":0, "y":2.375}, {"x":1, "y":2.125}, {"x":2, "y":2}, {"x":3, "y":2.125}, {"x":4, "y":2.25}, {"x":7, "y":2.25}, {"x":8, "y":2.125}, {"x":9, "y":2}, {"x":10, "y":2.125}, {"x":11, "y":2.375}, {"x":2.5, "y":4.75}, {"x":3.5, "y":4.75}, {"x":4.5, "y":3.75, "h":2}, {"x":6.5, "y":3.75, "h":2}, {"x":7.5, "y":4.75}, {"x":8.5, "y":4.75}]
diff --git a/keyboards/maple_computing/the_ruler/config.h b/keyboards/maple_computing/the_ruler/config.h
index ec9687cc0b..f7ccfab276 100644
--- a/keyboards/maple_computing/the_ruler/config.h
+++ b/keyboards/maple_computing/the_ruler/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1337
-#define PRODUCT_ID 0x6007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maple Computing
-#define PRODUCT The PCB Ruler
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, C6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maple_computing/the_ruler/info.json b/keyboards/maple_computing/the_ruler/info.json
index 5f2b9fba8f..c0aa2b371b 100644
--- a/keyboards/maple_computing/the_ruler/info.json
+++ b/keyboards/maple_computing/the_ruler/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Ruler",
+ "manufacturer": "Maple Computing",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x1337",
+ "pid": "0x6007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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, "w":2}]
diff --git a/keyboards/marksard/leftover30/config.h b/keyboards/marksard/leftover30/config.h
index 5fc1b156a2..0e23869558 100644
--- a/keyboards/marksard/leftover30/config.h
+++ b/keyboards/marksard/leftover30/config.h
@@ -19,13 +19,6 @@ 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 0xDFA8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER marksard
-#define PRODUCT leftover30
-
/* Encoder */
#define ENCODERS_PAD_A { F4 }
#define ENCODERS_PAD_B { F5 }
@@ -47,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, F7, F6, B3, B1, D4, D0 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/leftover30/info.json b/keyboards/marksard/leftover30/info.json
index 6ff164a90a..61f2a92251 100644
--- a/keyboards/marksard/leftover30/info.json
+++ b/keyboards/marksard/leftover30/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Leftover30",
+ "manufacturer": "marksard",
"url": "https://github.com/marksard/Keyboards",
"maintainer": "marksard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDFA8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/marksard/rhymestone/info.json b/keyboards/marksard/rhymestone/info.json
deleted file mode 100644
index c10a45aa4b..0000000000
--- a/keyboards/marksard/rhymestone/info.json
+++ /dev/null
@@ -1,211 +0,0 @@
-{
- "keyboard_name": "Rhymestone",
- "url": "https://github.com/marksard/Keyboards",
- "maintainer": "marksard",
- "layouts": {
- "LAYOUT_ortho_4x10": {
- "layout": [
- {
- "label": "Q",
- "x": 0,
- "y": 0
- },
- {
- "label": "W",
- "x": 1,
- "y": 0
- },
- {
- "label": "E",
- "x": 2,
- "y": 0
- },
- {
- "label": "R",
- "x": 3,
- "y": 0
- },
- {
- "label": "T",
- "x": 4,
- "y": 0
- },
- {
- "label": "Y",
- "x": 6,
- "y": 0
- },
- {
- "label": "U",
- "x": 7,
- "y": 0
- },
- {
- "label": "I",
- "x": 8,
- "y": 0
- },
- {
- "label": "O",
- "x": 9,
- "y": 0
- },
- {
- "label": "P",
- "x": 10,
- "y": 0
- },
- {
- "label": "A",
- "x": 0,
- "y": 1
- },
- {
- "label": "S",
- "x": 1,
- "y": 1
- },
- {
- "label": "D",
- "x": 2,
- "y": 1
- },
- {
- "label": "F",
- "x": 3,
- "y": 1
- },
- {
- "label": "G",
- "x": 4,
- "y": 1
- },
- {
- "label": "H",
- "x": 6,
- "y": 1
- },
- {
- "label": "J",
- "x": 7,
- "y": 1
- },
- {
- "label": "K",
- "x": 8,
- "y": 1
- },
- {
- "label": "L",
- "x": 9,
- "y": 1
- },
- {
- "label": "Enter",
- "x": 10,
- "y": 1
- },
- {
- "label": "Z",
- "x": 0,
- "y": 2
- },
- {
- "label": "X",
- "x": 1,
- "y": 2
- },
- {
- "label": "C",
- "x": 2,
- "y": 2
- },
- {
- "label": "V",
- "x": 3,
- "y": 2
- },
- {
- "label": "B",
- "x": 4,
- "y": 2
- },
- {
- "label": "N",
- "x": 6,
- "y": 2
- },
- {
- "label": "M",
- "x": 7,
- "y": 2
- },
- {
- "label": ",",
- "x": 8,
- "y": 2
- },
- {
- "label": ".",
- "x": 9,
- "y": 2
- },
- {
- "label": "/",
- "x": 10,
- "y": 2
- },
- {
- "label": "Ctrl",
- "x": 0,
- "y": 3
- },
- {
- "label": "Win",
- "x": 1,
- "y": 3
- },
- {
- "label": "Alt",
- "x": 2,
- "y": 3
- },
- {
- "label": "Lower",
- "x": 3,
- "y": 3
- },
- {
- "label": "backspace",
- "x": 4,
- "y": 3
- },
- {
- "label": "space",
- "x": 6,
- "y": 3
- },
- {
- "label": "Upper",
- "x": 7,
- "y": 3
- },
- {
- "label": "Alt",
- "x": 8,
- "y": 3
- },
- {
- "label": "App",
- "x": 9,
- "y": 3
- },
- {
- "label": "Ctrl",
- "x": 10,
- "y": 3
- }
- ]
- }
- }
-}
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c
index 1d4e78af80..1012d63de6 100644
--- a/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c
+++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_4x10(
//,---------------------------------------------------------------------------------------------------.
- RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h
index 4448e51268..6cee7a9a92 100644
--- a/keyboards/marksard/rhymestone/rev1/config.h
+++ b/keyboards/marksard/rhymestone/rev1/config.h
@@ -19,13 +19,6 @@ 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 0xDFA1
-#define DEVICE_VER 0x0020
-#define MANUFACTURER marksard
-#define PRODUCT Rhymestone
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/rhymestone/rev1/info.json b/keyboards/marksard/rhymestone/rev1/info.json
new file mode 100644
index 0000000000..ddce4923a4
--- /dev/null
+++ b/keyboards/marksard/rhymestone/rev1/info.json
@@ -0,0 +1,217 @@
+{
+ "keyboard_name": "Rhymestone",
+ "manufacturer": "marksard",
+ "url": "https://github.com/marksard/Keyboards",
+ "maintainer": "marksard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDFA1",
+ "device_version": "0.2.0"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x10": {
+ "layout": [
+ {
+ "label": "Q",
+ "x": 0,
+ "y": 0
+ },
+ {
+ "label": "W",
+ "x": 1,
+ "y": 0
+ },
+ {
+ "label": "E",
+ "x": 2,
+ "y": 0
+ },
+ {
+ "label": "R",
+ "x": 3,
+ "y": 0
+ },
+ {
+ "label": "T",
+ "x": 4,
+ "y": 0
+ },
+ {
+ "label": "Y",
+ "x": 6,
+ "y": 0
+ },
+ {
+ "label": "U",
+ "x": 7,
+ "y": 0
+ },
+ {
+ "label": "I",
+ "x": 8,
+ "y": 0
+ },
+ {
+ "label": "O",
+ "x": 9,
+ "y": 0
+ },
+ {
+ "label": "P",
+ "x": 10,
+ "y": 0
+ },
+ {
+ "label": "A",
+ "x": 0,
+ "y": 1
+ },
+ {
+ "label": "S",
+ "x": 1,
+ "y": 1
+ },
+ {
+ "label": "D",
+ "x": 2,
+ "y": 1
+ },
+ {
+ "label": "F",
+ "x": 3,
+ "y": 1
+ },
+ {
+ "label": "G",
+ "x": 4,
+ "y": 1
+ },
+ {
+ "label": "H",
+ "x": 6,
+ "y": 1
+ },
+ {
+ "label": "J",
+ "x": 7,
+ "y": 1
+ },
+ {
+ "label": "K",
+ "x": 8,
+ "y": 1
+ },
+ {
+ "label": "L",
+ "x": 9,
+ "y": 1
+ },
+ {
+ "label": "Enter",
+ "x": 10,
+ "y": 1
+ },
+ {
+ "label": "Z",
+ "x": 0,
+ "y": 2
+ },
+ {
+ "label": "X",
+ "x": 1,
+ "y": 2
+ },
+ {
+ "label": "C",
+ "x": 2,
+ "y": 2
+ },
+ {
+ "label": "V",
+ "x": 3,
+ "y": 2
+ },
+ {
+ "label": "B",
+ "x": 4,
+ "y": 2
+ },
+ {
+ "label": "N",
+ "x": 6,
+ "y": 2
+ },
+ {
+ "label": "M",
+ "x": 7,
+ "y": 2
+ },
+ {
+ "label": ",",
+ "x": 8,
+ "y": 2
+ },
+ {
+ "label": ".",
+ "x": 9,
+ "y": 2
+ },
+ {
+ "label": "/",
+ "x": 10,
+ "y": 2
+ },
+ {
+ "label": "Ctrl",
+ "x": 0,
+ "y": 3
+ },
+ {
+ "label": "Win",
+ "x": 1,
+ "y": 3
+ },
+ {
+ "label": "Alt",
+ "x": 2,
+ "y": 3
+ },
+ {
+ "label": "Lower",
+ "x": 3,
+ "y": 3
+ },
+ {
+ "label": "backspace",
+ "x": 4,
+ "y": 3
+ },
+ {
+ "label": "space",
+ "x": 6,
+ "y": 3
+ },
+ {
+ "label": "Upper",
+ "x": 7,
+ "y": 3
+ },
+ {
+ "label": "Alt",
+ "x": 8,
+ "y": 3
+ },
+ {
+ "label": "App",
+ "x": 9,
+ "y": 3
+ },
+ {
+ "label": "Ctrl",
+ "x": 10,
+ "y": 3
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/marksard/treadstone32/info.json b/keyboards/marksard/treadstone32/info.json
index d9c1069b38..81728e0957 100644
--- a/keyboards/marksard/treadstone32/info.json
+++ b/keyboards/marksard/treadstone32/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Treadstone32",
+ "manufacturer": "marksard",
"url": "https://github.com/marksard/Keyboards",
"maintainer": "marksard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDFA5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
index 49c1870fa9..4f7465986b 100644
--- a/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,---------------------------------------------------------------------------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/marksard/treadstone32/lite/config.h b/keyboards/marksard/treadstone32/lite/config.h
index 90db1a7895..e640fdb3c1 100644
--- a/keyboards/marksard/treadstone32/lite/config.h
+++ b/keyboards/marksard/treadstone32/lite/config.h
@@ -19,13 +19,6 @@ 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 0xDFA5
-#define DEVICE_VER 0x0015
-#define MANUFACTURER marksard
-#define PRODUCT treadstone32 lite
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B2, F7, F6, B3, B1, F4, F5 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/treadstone32/lite/info.json b/keyboards/marksard/treadstone32/lite/info.json
new file mode 100644
index 0000000000..2d66455900
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "treadstone32 lite",
+ "usb": {
+ "device_version": "0.1.5"
+ }
+}
diff --git a/keyboards/marksard/treadstone32/rev1/config.h b/keyboards/marksard/treadstone32/rev1/config.h
index 3f21ad59c5..ae27cdaf9e 100644
--- a/keyboards/marksard/treadstone32/rev1/config.h
+++ b/keyboards/marksard/treadstone32/rev1/config.h
@@ -19,13 +19,6 @@ 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 0xDFA5
-#define DEVICE_VER 0x0010
-#define MANUFACTURER marksard
-#define PRODUCT treadstone32
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F0, E6, B2, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/treadstone32/rev1/info.json b/keyboards/marksard/treadstone32/rev1/info.json
new file mode 100644
index 0000000000..9a2ae10a50
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "treadstone32",
+ "usb": {
+ "device_version": "0.1.0"
+ }
+}
diff --git a/keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c
index 1e90a2416e..c8dd24ef5d 100644
--- a/keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c
+++ b/keyboards/marksard/treadstone48/keymaps/like_jis/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_base( \
//,--------------------------------------------------------------------------------------------------------------------.
- XXXXXXX, RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX,\
+ XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX,\
//|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+-----------------|
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX,\
//|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/marksard/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h
index 68d1191156..0666e18cad 100644
--- a/keyboards/marksard/treadstone48/rev1/config.h
+++ b/keyboards/marksard/treadstone48/rev1/config.h
@@ -19,13 +19,6 @@ 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 0xDFA3
-#define DEVICE_VER 0x0010
-#define MANUFACTURER marksard
-#define PRODUCT treadstone48
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/treadstone48/rev1/info.json b/keyboards/marksard/treadstone48/rev1/info.json
index 8b90429d00..9182a3e9cf 100644
--- a/keyboards/marksard/treadstone48/rev1/info.json
+++ b/keyboards/marksard/treadstone48/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Treadstone48",
+ "manufacturer": "marksard",
"url": "https://github.com/marksard/Keyboards",
"maintainer": "marksard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDFA3",
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT_base": {
"layout": [
diff --git a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c
index e1f0835881..0fa0d9a8a9 100644
--- a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c
+++ b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_rs( \
// Treadstone48 Rhymestone
//,--------------------------------------------------------------------------------------------------------------------. --------------------------------------------.
- XXXXXXX, RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
+ XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
//|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+-----------------| --------+--------+--------+--------+--------|
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
//|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| --------+--------+--------+--------+--------|
diff --git a/keyboards/marksard/treadstone48/rev2/config.h b/keyboards/marksard/treadstone48/rev2/config.h
index e0353925be..b6d8269d88 100644
--- a/keyboards/marksard/treadstone48/rev2/config.h
+++ b/keyboards/marksard/treadstone48/rev2/config.h
@@ -19,13 +19,6 @@ 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 0xDFA3
-#define DEVICE_VER 0x0020
-#define MANUFACTURER marksard
-#define PRODUCT treadstone48
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/marksard/treadstone48/rev2/info.json b/keyboards/marksard/treadstone48/rev2/info.json
index 73527155e8..37c513e24e 100644
--- a/keyboards/marksard/treadstone48/rev2/info.json
+++ b/keyboards/marksard/treadstone48/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Treadstone48",
+ "manufacturer": "marksard",
"url": "https://github.com/marksard/Keyboards",
"maintainer": "marksard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xDFA3",
+ "device_version": "0.2.0"
+ },
"layouts": {
"LAYOUT_base": {
"layout": [
diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h
index 2ab9c26d2c..2a3b5b3311 100644
--- a/keyboards/massdrop/alt/config.h
+++ b/keyboards/massdrop/alt/config.h
@@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEED3
-#define DEVICE_VER 0x0101
-
#define MANUFACTURER "Massdrop Inc."
#define PRODUCT "ALT Keyboard"
#define SERIAL_NUM "Unavailable"
@@ -35,7 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A00, A01, A02, A03, A04 }
#define MATRIX_COL_PINS { B04, B05, B06, B07, B08, B09, B10, B11, B12, B13, A05, A06, A07, A10, A11 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/massdrop/alt/info.json b/keyboards/massdrop/alt/info.json
index 9a820661bc..909ca8904a 100644
--- a/keyboards/massdrop/alt/info.json
+++ b/keyboards/massdrop/alt/info.json
@@ -2,6 +2,11 @@
"keyboard_name": "ALT",
"url": "https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard",
"maintainer": "Massdrop",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEED3",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/massdrop/alt/keymaps/b_/config.h b/keyboards/massdrop/alt/keymaps/b_/config.h
index ca4424bd3f..b7112c9ea7 100644
--- a/keyboards/massdrop/alt/keymaps/b_/config.h
+++ b/keyboards/massdrop/alt/keymaps/b_/config.h
@@ -23,7 +23,6 @@
// #define MOUSEKEY_MAX_SPEED 10
// #define MOUSEKEY_WHEEL_DELAY 0
//#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/massdrop/alt/keymaps/b_/keymap.c b/keyboards/massdrop/alt/keymaps/b_/keymap.c
index 8285d5108f..7fe909c0df 100644
--- a/keyboards/massdrop/alt/keymaps/b_/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/b_/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD // miscellaneous silly keys, subject to change
),
[4] = LAYOUT_65_ansi_blocker( /* tab+b */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, /* backspace */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, /* backspace */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/config.h b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h
new file mode 100644
index 0000000000..90b4a27f33
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2022 charlesrocket
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 UNICODE_SELECTED_MODES UC_BSD, UC_MAC, UC_LNX
diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
index bd11bad72f..51799ed089 100644
--- a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c
@@ -17,43 +17,207 @@
#include QMK_KEYBOARD_H
enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
+ L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
+ L_BRD, //LED Brightness Decrease //Working
+ L_EDG_I, //LED Edge Brightness Increase
+ L_EDG_D, //LED Edge Brightness Decrease
+ L_EDG_M, //LED Edge lighting mode
+ L_PTN, //LED Pattern Select Next //Working
+ L_PTP, //LED Pattern Select Previous //Working
+ L_PSI, //LED Pattern Speed Increase //Working
+ L_PSD, //LED Pattern Speed Decrease //Working
+ L_RATIOD,
+ L_RATIOI,
+ L_T_MD, //LED Toggle Mode //Working
+ L_T_ONF, //LED Toggle On / Off //Broken
+ L_ON, //LED On //Broken
+ L_OFF, //LED Off //Broken
+ L_T_BR, //LED Toggle Breath Effect //Working
+ L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
+ U_T_AGCR, //USB Toggle Automatic GCR control //Working
+ DBG_TOG, //DEBUG Toggle On / Off //
+ DBG_MTRX, //DEBUG Toggle Matrix Prints //
+ DBG_KBD, //DEBUG Toggle Keyboard Prints //
+ DBG_MOU, //DEBUG Toggle Mouse Prints //
+ DBG_FAC, //DEBUG Factory light testing (All on white)
+ MD_BOOT //Restart into bootloader after hold timeout //Working
};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
+ [0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT_65_ansi_blocker(
+ [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_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
- _______, LAG_SWP, LAG_NRM, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END
+ L_T_BR, L_PSD, L_BRI, L_PSI, L_EDG_I, _______, _______, _______, U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
+ L_T_PTD, L_PTP, L_BRD, L_PTN, L_EDG_D, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, L_T_MD, L_T_ONF, _______, L_EDG_M, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
+ MO(2), _______, _______, DBG_FAC, KC_APP, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UC_RMOD, UC_MOD, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, LAG_SWP, LAG_NRM, _______, _______, TG(3), _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ XP(0,1), XP(2,3), XP(4,5), XP(6,7), XP(8,9), XP(10,11), XP(12,13), XP(14,15), XP(16,17), XP(18,19), XP(20,21), XP(22,23), XP(24,25), _______, _______,
+ _______, KC_QUES, XP(27,28), XP(29,31), X(32), XP(33,34), X(35), X(36), XP(37,38), XP(39,40), XP(41,42), XP(43,44), XP(45,46), _______, _______,
+ _______, XP(47,48), X(49), X(50), KC_UNDS, XP(52,5), XP(53,54), XP(55,56), KC_QUOT, XP(59,60), XP(61,62), XP(63,64), _______, _______,
+ _______, XP(65,66), X(67), XP(68,69), X(70), X(71), X(72), X(73), KC_PIPE, XP(75,76), X(77), XP(78,79), _______, _______,
+ _______, _______, _______, _______, _______, TG(3), _______, _______, _______
),
};
-
#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
-
+ static uint8_t scroll_effect = 0;
switch (keycode) {
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
+ case L_BRI ... U_T_AGCR:
+ if (record->event.pressed) {
+ md_led_changed();
+ }
+ break;
+ }
+ switch (keycode) {
+ case L_BRI:
+ if (record->event.pressed) {
+ if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
+ else gcr_desired += LED_GCR_STEP;
+ if (led_animation_breathing) gcr_breathe = gcr_desired;
+ }
+ return false;
+ case L_BRD:
+ if (record->event.pressed) {
+ if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
+ else gcr_desired -= LED_GCR_STEP;
+ if (led_animation_breathing) gcr_breathe = gcr_desired;
+ }
+ return false;
+ case L_EDG_M:
+ if (record->event.pressed) {
+ led_edge_mode++;
+ if (led_edge_mode > LED_EDGE_MODE_MAX) {
+ led_edge_mode = LED_EDGE_MODE_ALL;
+ }
+ }
+ return false;
+ case L_EDG_I:
+ if (record->event.pressed) {
+ led_edge_brightness += 0.1;
+ if (led_edge_brightness > 1) { led_edge_brightness = 1; }
+ }
+ return false;
+ case L_EDG_D:
+ if (record->event.pressed) {
+ led_edge_brightness -= 0.1;
+ if (led_edge_brightness < 0) { led_edge_brightness = 0; }
+ }
+ return false;
+ case L_RATIOI:
+ if (record->event.pressed) {
+ led_ratio_brightness += 0.2;
+ if (led_ratio_brightness > 2.0) { led_ratio_brightness = 2.0; }
+ }
+ return false;
+ case L_RATIOD:
+ if (record->event.pressed) {
+ led_ratio_brightness -= 0.2;
+ if (led_ratio_brightness < 0.0) { led_ratio_brightness = 0.0; }
+ }
+ return false;
+ case L_PTN:
+ if (record->event.pressed) {
+ if (led_animation_id == led_setups_count - 1) led_animation_id = 0;
+ else led_animation_id++;
+ }
+ return false;
+ case L_PTP:
+ if (record->event.pressed) {
+ if (led_animation_id == 0) led_animation_id = led_setups_count - 1;
+ else led_animation_id--;
+ }
+ return false;
+ case L_PSI:
+ if (record->event.pressed) {
+ led_animation_speed += ANIMATION_SPEED_STEP;
+ }
+ return false;
+ case L_PSD:
+ if (record->event.pressed) {
+ led_animation_speed -= ANIMATION_SPEED_STEP;
+ if (led_animation_speed < 0) led_animation_speed = 0;
+ }
+ return false;
+ case L_T_MD:
+ if (record->event.pressed) {
+ led_lighting_mode++;
+ if (led_lighting_mode > LED_MODE_MAX_INDEX) led_lighting_mode = LED_MODE_NORMAL;
+ }
+ return false;
+ case L_T_ONF:
+ if (record->event.pressed) {
+ led_enabled = !led_enabled;
+ I2C3733_Control_Set(led_enabled);
+ }
+ return false;
+ case L_ON:
+ if (record->event.pressed) {
+ led_enabled = 1;
+ I2C3733_Control_Set(led_enabled);
+ }
+ return false;
+ case L_OFF:
+ if (record->event.pressed) {
+ led_enabled = 0;
+ I2C3733_Control_Set(led_enabled);
+ }
+ return false;
+ case L_T_BR:
+ if (record->event.pressed) {
+ led_animation_breathing = !led_animation_breathing;
+ if (led_animation_breathing) {
+ gcr_breathe = gcr_desired;
+ led_animation_breathe_cur = BREATHE_MIN_STEP;
+ breathe_dir = 1;
+ }
+ }
+ return false;
+ case L_T_PTD:
+ if (record->event.pressed) {
+ scroll_effect++;
+ if (scroll_effect == 1) { //Patterns with scroll move horizontal (Right to left)
+ led_animation_direction = 1;
+ led_animation_orientation = 0;
+ led_animation_circular = 0;
+ } else if (scroll_effect == 2) { //Patterns with scroll move vertical (Top to bottom)
+ led_animation_direction = 1;
+ led_animation_orientation = 1;
+ led_animation_circular = 0;
+ } else if (scroll_effect == 3) { //Patterns with scroll move vertical (Bottom to top)
+ led_animation_direction = 0;
+ led_animation_orientation = 1;
+ led_animation_circular = 0;
+ } else if (scroll_effect == 4) { //Patterns with scroll explode from center
+ led_animation_direction = 0;
+ led_animation_orientation = 0;
+ led_animation_circular = 1;
+ } else if (scroll_effect == 5) { //Patterns with scroll implode on center
+ led_animation_direction = 1;
+ led_animation_orientation = 0;
+ led_animation_circular = 1;
+ } else { //Patterns with scroll move horizontal (Left to right)
+ scroll_effect = 0;
+ led_animation_direction = 0;
+ led_animation_orientation = 0;
+ led_animation_circular = 0;
+ }
}
return false;
case U_T_AGCR:
@@ -61,6 +225,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
}
return false;
+ case DBG_FAC:
+ if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
+ led_lighting_mode = LED_MODE_NORMAL;
+ led_edge_brightness = 1;
+ led_edge_mode = LED_EDGE_MODE_ALL;
+ led_animation_breathing = 0;
+ led_animation_id = 7; //led_programs.c led_setups leds_white index
+ gcr_desired = LED_GCR_MAX;
+ led_enabled = 1;
+ I2C3733_Control_Set(led_enabled);
+ }
+ return false;
case DBG_TOG:
if (record->event.pressed) {
TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
@@ -90,33 +266,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
default:
return true;
}
}
+ led_instruction_t led_instructions[] = {
+ { .flags = LED_FLAG_USE_ROTATE_PATTERN },
+ { .flags = LED_FLAG_MATCH_ID | LED_FLAG_MATCH_LAYER | LED_FLAG_USE_RGB, .id0 = 0x1, .b = 253, .layer = 1 },
+ { .flags = LED_FLAG_MATCH_ID | LED_FLAG_MATCH_LAYER | LED_FLAG_USE_RGB, .id0 = 0x1, .r = 253, .b = 253, .layer = 2 },
+ { .flags = LED_FLAG_MATCH_LAYER | LED_FLAG_USE_PATTERN, .pattern_id = 8, .layer = 3 },
+ { .end = 1 }
+ };
diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/rules.mk b/keyboards/massdrop/alt/keymaps/charlesrocket/rules.mk
new file mode 100644
index 0000000000..d684e3a615
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/charlesrocket/rules.mk
@@ -0,0 +1,3 @@
+OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
+UNICODEMAP_ENABLE = yes
+APL_ENABLE = yes
diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h
index 19fc4fed34..936951e34a 100644
--- a/keyboards/massdrop/alt/keymaps/pregame/config.h
+++ b/keyboards/massdrop/alt/keymaps/pregame/config.h
@@ -36,7 +36,6 @@
// #define MOUSEKEY_MAX_SPEED 10
// #define MOUSEKEY_WHEEL_DELAY 0
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/massdrop/alt/keymaps/pregame/rules.mk b/keyboards/massdrop/alt/keymaps/pregame/rules.mk
index 184405662a..5981633f7c 100644
--- a/keyboards/massdrop/alt/keymaps/pregame/rules.mk
+++ b/keyboards/massdrop/alt/keymaps/pregame/rules.mk
@@ -8,7 +8,6 @@ DYNAMIC_MACRO_ENABLE = no # Dynamic macro recording and play
MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size.
TAP_DANCE_ENABLE = no # Enable tap dance keys
CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
-TERMINAL_ENABLE = no
EXTRAKEY_ENABLE = yes # Audio control and System control
# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
# COMBO_ENABLE # Key combo feature
diff --git a/keyboards/massdrop/alt/keymaps/via/config.h b/keyboards/massdrop/alt/keymaps/via/config.h
new file mode 100644
index 0000000000..6d70c52cd0
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/via/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 SlyCedix (slycedix@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
+
+// Enable additional LED functionality
+#define USB_LED_INDICATOR_ENABLE
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/massdrop/alt/keymaps/via/keymap.c b/keyboards/massdrop/alt/keymaps/via/keymap.c
index fd1bf3c0b0..f08e3715dd 100644
--- a/keyboards/massdrop/alt/keymaps/via/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/via/keymap.c
@@ -13,10 +13,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/>.
*/
+
#include QMK_KEYBOARD_H
enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
+ U_T_AUTO = USER00, //USB Extra Port Toggle Auto Detect / Always Active
U_T_AGCR, //USB Toggle Automatic GCR control
DBG_TOG, //DEBUG Toggle On / Off
DBG_MTRX, //DEBUG Toggle Matrix Prints
@@ -41,11 +42,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
[2] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/massdrop/alt/keymaps/via/readme.md b/keyboards/massdrop/alt/keymaps/via/readme.md
new file mode 100644
index 0000000000..1315fb085d
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/via/readme.md
@@ -0,0 +1,24 @@
+# VIA keymap for the Drop Alt Keyboard
+## *LED Modes:*
+Enables all RGB Matrix animation modes available in QMK, all of which are selectable through VIA or using the LED mode keys
+
+```c
+#define USB_LED_INDICATOR_ENABLE
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+```
+
+## *User Keycodes:*
+All keyboard specific keycodes are defined in the user_keycodes space, allowing for them to be placed on your keyboard through VIA
+
+```c
+enum alt_keycodes {
+ U_T_AUTO = USER00, //USB Extra Port Toggle Auto Detect / Always Active
+ U_T_AGCR, //USB Toggle Automatic GCR control
+ DBG_TOG, //DEBUG Toggle On / Off
+ DBG_MTRX, //DEBUG Toggle Matrix Prints
+ DBG_KBD, //DEBUG Toggle Keyboard Prints
+ DBG_MOU, //DEBUG Toggle Mouse Prints
+ MD_BOOT, //Restart into bootloader after hold timeout
+};
+``` \ No newline at end of file
diff --git a/keyboards/massdrop/alt/keymaps/via/rules.mk b/keyboards/massdrop/alt/keymaps/via/rules.mk
index 036bd6d1c3..7127983b80 100644
--- a/keyboards/massdrop/alt/keymaps/via/rules.mk
+++ b/keyboards/massdrop/alt/keymaps/via/rules.mk
@@ -1 +1,6 @@
-VIA_ENABLE = yes \ No newline at end of file
+VIA_ENABLE = yes
+
+# Uncomment the following to enable specific features (Increases firmware size)
+# MOUSEKEY_ENABLE = yes # Allow the use of keys
+# CONSOLE_ENABLE = yes # Console for debug
+# COMMAND_ENABLE = yes # Commands for debug and configuration \ No newline at end of file
diff --git a/keyboards/massdrop/alt/keymaps/xulkal/keymap.c b/keyboards/massdrop/alt/keymaps/xulkal/keymap.c
index 9fe1c8643a..3863086150 100644
--- a/keyboards/massdrop/alt/keymaps/xulkal/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/xulkal/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT(
_______, RGB_RMOD,RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RESET, QWERTY, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, _______, \
+ RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, QK_BOOT, QWERTY, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, _______, \
RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGBRST, GAME, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h
index 15abcaa674..8b8625e700 100644
--- a/keyboards/massdrop/ctrl/config.h
+++ b/keyboards/massdrop/ctrl/config.h
@@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEED2
-#define DEVICE_VER 0x0101
-
#define MANUFACTURER "Massdrop Inc."
#define PRODUCT "CTRL Keyboard"
#define SERIAL_NUM "Unavailable"
@@ -34,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B04, B05, B06, B07, B08, B09, A10, A11, B10, B11, B12 }
#define MATRIX_COL_PINS { A00, A01, A02, A03, A04, A05, A06, A07 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/massdrop/ctrl/info.json b/keyboards/massdrop/ctrl/info.json
index 00d74be021..7d0810c630 100644
--- a/keyboards/massdrop/ctrl/info.json
+++ b/keyboards/massdrop/ctrl/info.json
@@ -2,6 +2,11 @@
"keyboard_name": "CTRL",
"url": "https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard",
"maintainer": "Massdrop",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEED2",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
index 4850d7eed2..d0bbfd2103 100644
--- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
@@ -20,7 +20,6 @@
#define MOUSEKEY_MAX_SPEED 10
#define MOUSEKEY_WHEEL_DELAY 0
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk b/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk
index 9502c242dd..c4fab8ad53 100644
--- a/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk
+++ b/keyboards/massdrop/ctrl/keymaps/endgame/rules.mk
@@ -7,7 +7,6 @@ MOUSEKEY_ENABLE = yes # Enable mouse control keycodes. Increases firmware size
TAP_DANCE_ENABLE = yes # Enable tap dance keys
CONSOLE_ENABLE = yes # Enable debugging console. Increases firmware size.
SRC += config_led.c # Used to add files to the compilation/linking list.
-TERMINAL_ENABLE = yes
EXTRAKEY_ENABLE = yes # Audio control and System control
# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
# COMBO_ENABLE # Key combo feature
diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
index 81e7764a9e..692faa35a2 100644
--- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
@@ -37,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MOUSEKEY_MAX_SPEED 10
// #define MOUSEKEY_WHEEL_DELAY 0
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/rules.mk b/keyboards/massdrop/ctrl/keymaps/matthewrobo/rules.mk
index e834404e29..4bb43f525b 100644
--- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/rules.mk
+++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/rules.mk
@@ -7,7 +7,6 @@ MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size.
TAP_DANCE_ENABLE = no # Enable tap dance keys
CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
SRC += config_led.c # Used to add files to the compilation/linking list.
-TERMINAL_ENABLE = no
EXTRAKEY_ENABLE = yes # Audio control and System control
#RAW_ENABLE = yes #Raw HID has not yet been implemented for this keyboard
#COMBO_ENABLE #Key combo feature
diff --git a/keyboards/massdrop/ctrl/keymaps/via/config.h b/keyboards/massdrop/ctrl/keymaps/via/config.h
new file mode 100644
index 0000000000..c80e648221
--- /dev/null
+++ b/keyboards/massdrop/ctrl/keymaps/via/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 dsluo (me@dsluo.dev)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Enable additional LED functionality
+#define USB_LED_INDICATOR_ENABLE
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/massdrop/ctrl/keymaps/via/keymap.c b/keyboards/massdrop/ctrl/keymaps/via/keymap.c
new file mode 100644
index 0000000000..294ce2e772
--- /dev/null
+++ b/keyboards/massdrop/ctrl/keymaps/via/keymap.c
@@ -0,0 +1,140 @@
+/* Made by InonL (@InonL), June 2022
+ * Based on the default keymap, added two blank layers for VIA
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 ctrl_keycodes {
+ U_T_AUTO = USER00, //USB Extra Port Toggle Auto Detect / Always Active
+ U_T_AGCR, //USB Toggle Automatic GCR control
+ DBG_TOG, //DEBUG Toggle On / Off
+ DBG_MTRX, //DEBUG Toggle Matrix Prints
+ DBG_KBD, //DEBUG Toggle Keyboard Prints
+ DBG_MOU, //DEBUG Toggle Mouse Prints
+ MD_BOOT, //Restart into bootloader after hold timeout
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
+ _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
+ _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
+#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
+#define MODS_ALT (get_mods() & MOD_MASK_ALT)
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ static uint32_t key_timer;
+
+ switch (keycode) {
+ case U_T_AUTO:
+ if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
+ TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
+ }
+ return false;
+ case U_T_AGCR:
+ if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
+ TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
+ }
+ return false;
+ case DBG_TOG:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
+ }
+ return false;
+ case DBG_MTRX:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
+ }
+ return false;
+ case DBG_KBD:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
+ }
+ return false;
+ case DBG_MOU:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
+ }
+ return false;
+ case MD_BOOT:
+ if (record->event.pressed) {
+ key_timer = timer_read32();
+ } else {
+ if (timer_elapsed32(key_timer) >= 500) {
+ reset_keyboard();
+ }
+ }
+ return false;
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case LED_FLAG_UNDERGLOW: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_disable_noeeprom();
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ default:
+ return true; //Process all other keycodes normally
+ }
+}
diff --git a/keyboards/massdrop/ctrl/keymaps/via/rules.mk b/keyboards/massdrop/ctrl/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/massdrop/ctrl/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
index 37987340ce..f1cbd5f3b0 100644
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
@@ -36,7 +36,6 @@
#define MOUSEKEY_MAX_SPEED 10
#define MOUSEKEY_WHEEL_DELAY 0
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
// #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
// #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk b/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk
index 43a312ce4e..2913eff83b 100644
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk
+++ b/keyboards/massdrop/ctrl/keymaps/xanimos/rules.mk
@@ -8,7 +8,6 @@ TAP_DANCE_ENABLE = yes # Enable tap dance keys
CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
SRC += config_led.c # Used to add files to the compilation/linking list.
EXTRAKEY_ENABLE = yes # Audio control and System control
-TERMINAL_ENABLE = no
# RAW_ENABLE = yes # Raw HID has not yet been implemented for this keyboard
# COMBO_ENABLE # Key combo feature
# LEADER_ENABLE # Enable leader key chording
diff --git a/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c b/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c
index debfa3b478..9de2947cc9 100644
--- a/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, \
_______, RGB_RMOD,RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, \
- RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RESET, QWERTY, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \
+ RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, QK_BOOT, QWERTY, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \
RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGBRST, GAME, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/massdrop/thekey/config.h b/keyboards/massdrop/thekey/config.h
index a195628203..c9608fab7a 100644
--- a/keyboards/massdrop/thekey/config.h
+++ b/keyboards/massdrop/thekey/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Drop
-#define PRODUCT The Key
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
diff --git a/keyboards/massdrop/thekey/info.json b/keyboards/massdrop/thekey/info.json
index ac4c17e8c8..437b5d7409 100644
--- a/keyboards/massdrop/thekey/info.json
+++ b/keyboards/massdrop/thekey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Key",
+ "manufacturer": "Drop",
"url": "https://drop.com/buy/stack-overflow-the-key-macropad",
"maintainer": "massdrop",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c b/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c
new file mode 100644
index 0000000000..b9d419a086
--- /dev/null
+++ b/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c
@@ -0,0 +1,24 @@
+/* Copyright 2022 Benjamin Collet <benjamin.collet@protonmail.ch>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_bepo.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(KC_LCTL, BP_C, BP_V),
+
+};
diff --git a/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c b/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c
new file mode 100644
index 0000000000..feafa02ac2
--- /dev/null
+++ b/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2022 Benjamin Collet <benjamin.collet@protonmail.ch>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "sendstring_bepo.h"
+
+enum custom_keycodes {
+ TK_URL = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(TK_URL, C(BP_C), C(BP_V)),
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TK_URL:
+ if (record->event.pressed) {
+ // when keycode TK_URL is pressed
+ SEND_STRING("https://stackoverflow.com/");
+ }
+ break;
+ default:
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/massdrop/thekey_v2/config.h b/keyboards/massdrop/thekey_v2/config.h
new file mode 100644
index 0000000000..f7abf7bc82
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/config.h
@@ -0,0 +1,43 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 3
+
+/*
+ * Keyboard Matrix Assignments
+ */
+#define MATRIX_ROW_PINS { D4 }
+#define MATRIX_COL_PINS { D2, D1, D0 }
+
+#define DIODE_DIRECTION ROW2COL
+
+#define RGB_DI_PIN B1
+#define RGBLED_NUM 5
+#define RGBLIGHT_LED_MAP {4, 0, 1, 2, 3}
+#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 10
+#define RGBLIGHT_VAL_STEP 15
+#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_LAYERS /* Enable lighting layers */
+#define RGBLIGHT_LAYER_BLINK /* Enable lighting layer blink */
diff --git a/keyboards/massdrop/thekey_v2/info.json b/keyboards/massdrop/thekey_v2/info.json
new file mode 100644
index 0000000000..a808f37637
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "The Key V2",
+ "manufacturer": "Drop",
+ "url": "https://drop.com/buy/stack-overflow-the-key-v2-macropad",
+ "maintainer": "massdrop",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "K00 (D4,D2)", "x": 0, "y": 0 },
+ { "label": "K01 (D4,D1)", "x": 1, "y": 0 },
+ { "label": "K02 (D4,D0)", "x": 2, "y": 0 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c
new file mode 100644
index 0000000000..fb45d5e224
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c
@@ -0,0 +1,23 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_LGUI, KC_C, KC_V),
+
+};
diff --git a/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5e1de6068b
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_LCTL, KC_C, KC_V),
+
+};
diff --git a/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c
new file mode 100644
index 0000000000..f3699e752f
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c
@@ -0,0 +1,109 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_keycodes {
+ LAYER_SWITCH = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Default */
+ [0] = LAYOUT(LAYER_SWITCH, G(KC_C), G(KC_V)),
+
+ /* RGB Toggle + Mode Change */
+ [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD),
+
+ /* RGB Brightness */
+ [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI),
+
+ /* RGB Hue */
+ [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI),
+
+ /* RGB Saturation */
+ [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI),
+
+};
+
+/* Lighting layers */
+
+const rgblight_segment_t PROGMEM layer_indicator_0[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_WHITE},
+ {1, 4, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_1[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_OFF},
+ {1, 1, HSV_WHITE},
+ {2, 3, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_2[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 2, HSV_OFF},
+ {2, 1, HSV_WHITE},
+ {3, 2, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_3[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 3, HSV_OFF},
+ {3, 1, HSV_WHITE},
+ {4, 1, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_4[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 4, HSV_OFF},
+ {4, 1, HSV_WHITE}
+);
+
+const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ layer_indicator_0,
+ layer_indicator_1,
+ layer_indicator_2,
+ layer_indicator_3,
+ layer_indicator_4
+);
+
+void keyboard_post_init_user(void) {
+ /* Enable the LED layers */
+ rgblight_layers = rgb_layers;
+}
+
+/* Layer handler */
+
+uint16_t layer = 0;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LAYER_SWITCH:
+ if (record->event.pressed) {
+ if (layer > 0) {
+ layer_off(layer);
+ }
+
+ rgblight_unblink_layer(layer);
+ layer = (layer + 1) % 5;
+ rgblight_blink_layer_repeat(layer, 1000, 1);
+
+ if (layer > 0) {
+ layer_on(layer);
+ }
+ }
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c
new file mode 100644
index 0000000000..4246973654
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c
@@ -0,0 +1,109 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_keycodes {
+ LAYER_SWITCH = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Default */
+ [0] = LAYOUT(LAYER_SWITCH, C(KC_C), C(KC_V)),
+
+ /* RGB Toggle + Mode Change */
+ [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD),
+
+ /* RGB Brightness */
+ [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI),
+
+ /* RGB Hue */
+ [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI),
+
+ /* RGB Saturation */
+ [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI),
+
+};
+
+/* Lighting layers */
+
+const rgblight_segment_t PROGMEM layer_indicator_0[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_WHITE},
+ {1, 4, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_1[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_OFF},
+ {1, 1, HSV_WHITE},
+ {2, 3, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_2[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 2, HSV_OFF},
+ {2, 1, HSV_WHITE},
+ {3, 2, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_3[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 3, HSV_OFF},
+ {3, 1, HSV_WHITE},
+ {4, 1, HSV_OFF}
+);
+
+const rgblight_segment_t PROGMEM layer_indicator_4[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 4, HSV_OFF},
+ {4, 1, HSV_WHITE}
+);
+
+const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ layer_indicator_0,
+ layer_indicator_1,
+ layer_indicator_2,
+ layer_indicator_3,
+ layer_indicator_4
+);
+
+void keyboard_post_init_user(void) {
+ /* Enable the LED layers */
+ rgblight_layers = rgb_layers;
+}
+
+/* Layer handler */
+
+uint16_t layer = 0;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LAYER_SWITCH:
+ if (record->event.pressed) {
+ if (layer > 0) {
+ layer_off(layer);
+ }
+
+ rgblight_unblink_layer(layer);
+ layer = (layer + 1) % 5;
+ rgblight_blink_layer_repeat(layer, 1000, 1);
+
+ if (layer > 0) {
+ layer_on(layer);
+ }
+ }
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c
new file mode 100644
index 0000000000..33d19734bc
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c
@@ -0,0 +1,39 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_keycodes {
+ TK_URL = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(TK_URL, G(KC_C), G(KC_V)),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TK_URL:
+ if (record->event.pressed) {
+ // when keycode TK_URL is pressed
+ SEND_STRING("https://stackoverflow.com/\n");
+ }
+ break;
+ default:
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c
new file mode 100644
index 0000000000..5becddfa2a
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c
@@ -0,0 +1,40 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_keycodes {
+ TK_URL = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(TK_URL, C(KC_C), C(KC_V)),
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TK_URL:
+ if (record->event.pressed) {
+ // when keycode TK_URL is pressed
+ SEND_STRING("https://stackoverflow.com/");
+ }
+ break;
+ default:
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/massdrop/thekey_v2/readme.md b/keyboards/massdrop/thekey_v2/readme.md
new file mode 100644
index 0000000000..ef4d6ec716
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/readme.md
@@ -0,0 +1,38 @@
+# The Key V2
+
+![The Key V2](https://massdrop-s3.imgix.net/product-images/stack-overflow-the-key-v2-macropad/FP/vSqOp9eUQNGXW4zl3EVQ_7528-copy-pdp.jpg)
+
+
+The Stack Overflow "The Key V2" is a 3 button macropad based on atmega32u4 with hot-swappble Kailh Black Box switches.
+
+> Last year, we brought Stack Overflow’s iconic April Fool’s joke to life. Advertised as the new (and only) way to copy and paste on the site, it was an ultra-compact macropad called The Key. The punchline-turned product was a huge hit, selling over 10K units and earning a nearly 5-star average review. Now, we’re back with a second act: The Key V2. The same size as its portable predecessor, this punchline-turned-product has a few notable changes—including an acrylic case to accent its two built-in RGB LEDs. Plus, we made it hot-swappable, so you can easily change out the switches for a truly custom experience. And just like the original, a portion of all proceeds from The Key V2 will go to the data-driven social startup digitalundivided.
+
+Keyboard Maintainer: [Drop / Massdrop](https://github.com/Massdrop/qmk_firmware)
+
+Hardware Supported: Massdrop, Inc. **The Key V2**
+
+Hardware Availability: Limited Release - https://drop.com/buy/stack-overflow-the-key-v2-macropad
+
+
+Make example for this keyboard (after setting up your build environment):
+```bash
+# default provided by Drop / Stack Overflow
+make massdrop/thekey_v2:default
+# common modification where C = CTRL+C, V = CTRL+V
+make massdrop/thekey_v2:url-copy-paste
+```
+
+Flashing example for this keyboard:
+```bash
+# install in dfu mode
+make massdrop/thekey_v2:default:dfu
+```
+
+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).
+Make example for this keyboard (after setting up your build environment):
+
+## Bootloader
+
+Enter the bootloader as follows:
+* **Bootmagic reset**: Hold down the "Stack Overflow" key, the "left-most" or furthest from the USB plug while inserting the USB cable for a few seconds. The LEDs will **NOT** turn on.
+* **Physical reset button**: Briefly press and hold the reset button while pluggin in the USB port. The LEDs on the back will **NOT** turn on. Depending on your case revision, you may have to remove the 4 screws on the back plate to access the switch OR you can use the associated access hole on newer releases.
diff --git a/keyboards/massdrop/thekey_v2/rules.mk b/keyboards/massdrop/thekey_v2/rules.mk
new file mode 100644
index 0000000000..a0a1e94e36
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/massdrop/thekey_v2/thekey_v2.c b/keyboards/massdrop/thekey_v2/thekey_v2.c
new file mode 100644
index 0000000000..b1a824d9d4
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/thekey_v2.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "thekey_v2.h"
diff --git a/keyboards/massdrop/thekey_v2/thekey_v2.h b/keyboards/massdrop/thekey_v2/thekey_v2.h
new file mode 100644
index 0000000000..c3b8e1a8ea
--- /dev/null
+++ b/keyboards/massdrop/thekey_v2/thekey_v2.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 Jason Wihardja
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT( \
+ K00, K01, K02 \
+) { \
+ { K00, K01, K02 }, \
+}
diff --git a/keyboards/masterworks/classy_tkl/info.json b/keyboards/masterworks/classy_tkl/info.json
deleted file mode 100644
index 7baf2c41ab..0000000000
--- a/keyboards/masterworks/classy_tkl/info.json
+++ /dev/null
@@ -1,277 +0,0 @@
-{
- "keyboard_name": "Classy TKL",
- "url": "https://geekhack.org/index.php?topic=105933",
- "maintainer": "qmk",
- "layouts": {
- "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 },
- { "label": "Backspace2", "x": 14, "y": 1.5 },
- { "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": 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": 1.75 },
- { "label": "Shift2", "x": 14, "y": 4.5, "w": 1 },
- { "label": "Up", "x": 16.25, "y": 4.5 },
- { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
- { "label": "Win", "x": 1.5, "y": 5.5, "w": 1 },
- { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
- { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
- { "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
- { "label": "Win", "x": 12.5, "y": 5.5, "w": 1 },
- { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
- { "label": "Left", "x": 15.25, "y": 5.5 },
- { "label": "Down", "x": 16.25, "y": 5.5 },
- { "label": "Right", "x": 17.25, "y": 5.5 }
- ]
- },
- "LAYOUT_tkl_ansi_wkl": {
- "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": "Up", "x": 16.25, "y": 4.5 },
- { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
- { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
- { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
- { "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
- { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
- { "label": "Left", "x": 15.25, "y": 5.5 },
- { "label": "Down", "x": 16.25, "y": 5.5 },
- { "label": "Right", "x": 17.25, "y": 5.5 }
- ]
- },
- "LAYOUT_tkl_iso_wkl": {
- "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": "\u00ac", "x": 0, "y": 1.5 },
- { "label": "!", "x": 1, "y": 1.5 },
- { "label": "\"", "x": 2, "y": 1.5 },
- { "label": "\u00a3", "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": "Up", "x": 16.25, "y": 4.5 },
- { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
- { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
- { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
- { "label": "AltGr", "x": 11, "y": 5.5, "w": 1.5 },
- { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
- { "label": "Left", "x": 15.25, "y": 5.5 },
- { "label": "Down", "x": 16.25, "y": 5.5 },
- { "label": "Right", "x": 17.25, "y": 5.5 }
- ]
- }
- }
-}
diff --git a/keyboards/masterworks/classy_tkl/rev_a/config.h b/keyboards/masterworks/classy_tkl/rev_a/config.h
index 0821b1dfce..e4324680c4 100644
--- a/keyboards/masterworks/classy_tkl/rev_a/config.h
+++ b/keyboards/masterworks/classy_tkl/rev_a/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D57 // "MW" = Masterworks
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Masterworks
-#define PRODUCT Classy TKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ C7, F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS \
{ B4, D7, D6, D4, C6, D5, D3, D2, D1, D0, B7, B3, B2, B1, B0, E6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/masterworks/classy_tkl/rev_a/info.json b/keyboards/masterworks/classy_tkl/rev_a/info.json
new file mode 100644
index 0000000000..38c4a2331b
--- /dev/null
+++ b/keyboards/masterworks/classy_tkl/rev_a/info.json
@@ -0,0 +1,283 @@
+{
+ "keyboard_name": "Classy TKL",
+ "manufacturer": "Masterworks",
+ "url": "https://geekhack.org/index.php?topic=105933",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D57",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "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 },
+ { "label": "Backspace2", "x": 14, "y": 1.5 },
+ { "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": 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": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.5, "w": 1 },
+ { "label": "Up", "x": 16.25, "y": 4.5 },
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
+ { "label": "Win", "x": 1.5, "y": 5.5, "w": 1 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
+ { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
+ { "label": "Win", "x": 12.5, "y": 5.5, "w": 1 },
+ { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
+ { "label": "Left", "x": 15.25, "y": 5.5 },
+ { "label": "Down", "x": 16.25, "y": 5.5 },
+ { "label": "Right", "x": 17.25, "y": 5.5 }
+ ]
+ },
+ "LAYOUT_tkl_ansi_wkl": {
+ "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": "Up", "x": 16.25, "y": 4.5 },
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
+ { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
+ { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
+ { "label": "Left", "x": 15.25, "y": 5.5 },
+ { "label": "Down", "x": 16.25, "y": 5.5 },
+ { "label": "Right", "x": 17.25, "y": 5.5 }
+ ]
+ },
+ "LAYOUT_tkl_iso_wkl": {
+ "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": "\u00ac", "x": 0, "y": 1.5 },
+ { "label": "!", "x": 1, "y": 1.5 },
+ { "label": "\"", "x": 2, "y": 1.5 },
+ { "label": "\u00a3", "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": "Up", "x": 16.25, "y": 4.5 },
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
+ { "label": "Space", "x": 4, "y": 5.5, "w": 7 },
+ { "label": "AltGr", "x": 11, "y": 5.5, "w": 1.5 },
+ { "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
+ { "label": "Left", "x": 15.25, "y": 5.5 },
+ { "label": "Down", "x": 16.25, "y": 5.5 },
+ { "label": "Right", "x": 17.25, "y": 5.5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/matchstickworks/southpad/config.h b/keyboards/matchstickworks/southpad/config.h
index 8831599828..3e11e34467 100644
--- a/keyboards/matchstickworks/southpad/config.h
+++ b/keyboards/matchstickworks/southpad/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MatchstickWorks
-#define PRODUCT SouthPad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B5, B6, B7, C7, C6 }
#define MATRIX_COL_PINS { B0, B1, B2, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matchstickworks/southpad/info.json b/keyboards/matchstickworks/southpad/info.json
index c020bb79f1..d7380644ff 100644
--- a/keyboards/matchstickworks/southpad/info.json
+++ b/keyboards/matchstickworks/southpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SouthPad",
+ "manufacturer": "MatchstickWorks",
"url": "",
"maintainer": "MatchstickWorks",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4_southpaw": {
"layout": [
diff --git a/keyboards/matrix/abelx/config.h b/keyboards/matrix/abelx/config.h
index d3c6a569b1..29241f1ff6 100644
--- a/keyboards/matrix/abelx/config.h
+++ b/keyboards/matrix/abelx/config.h
@@ -19,13 +19,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0xAB87 // abelx keyboard
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MATRIX
-#define PRODUCT ABELX
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -85,7 +78,6 @@
#define COL15_MASK 0x04
#define COL16_MASK 0x02
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/matrix/abelx/info.json b/keyboards/matrix/abelx/info.json
index 18bed65bc0..121251f3b5 100644
--- a/keyboards/matrix/abelx/info.json
+++ b/keyboards/matrix/abelx/info.json
@@ -1,9 +1,13 @@
{
- "keyboard_name": "Matrix ABELX keyboard",
+ "keyboard_name": "ABELX",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "qmk",
- "width": 18.25,
- "height": 6.5,
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0xAB87",
+ "device_version": "0.0.1"
+ },
"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":"Win", "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}]
diff --git a/keyboards/matrix/cain_re/config.h b/keyboards/matrix/cain_re/config.h
index 6bacf1c949..830d3d8286 100644
--- a/keyboards/matrix/cain_re/config.h
+++ b/keyboards/matrix/cain_re/config.h
@@ -21,13 +21,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0x0106 // cain
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matrix LAB
-#define PRODUCT Matrix Cain Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 12
@@ -35,7 +28,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, C7, C6, D5, D2, D4, D7, B7, D1 }
#define MATRIX_COL_PINS { F1, F4, F5, F6, B5, B6, B3, B2, B1, D0, B4, D6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matrix/cain_re/info.json b/keyboards/matrix/cain_re/info.json
index 8cf49e7fc8..ee2f0382ee 100644
--- a/keyboards/matrix/cain_re/info.json
+++ b/keyboards/matrix/cain_re/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Matrix Cain Keyboard",
+ "keyboard_name": "Cain",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x0106",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":20, "y":0}, {"label":"Scroll Lock", "x":21, "y":0}, {"label":"Pause", "x":22, "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":"Num Lock", "x":15.5, "y":1.5}, {"label":"/", "x":16.5, "y":1.5}, {"label":"*", "x":17.5, "y":1.5}, {"label":"-", "x":18.5, "y":1.5}, {"label":"Insert", "x":20, "y":1.5}, {"label":"Home", "x":21, "y":1.5}, {"label":"PgUp", "x":22, "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":"7", "x":15.5, "y":2.5}, {"label":"8", "x":16.5, "y":2.5}, {"label":"9", "x":17.5, "y":2.5}, {"label":"+", "x":18.5, "y":2.5}, {"label":"Delete", "x":20, "y":2.5}, {"label":"End", "x":21, "y":2.5}, {"label":"PgDn", "x":22, "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":"4", "x":15.5, "y":3.5}, {"label":"5", "x":16.5, "y":3.5}, {"label":"6", "x":17.5, "y":3.5}, {"label":"+", "x":18.5, "y":3.5}, {"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":"1", "x":15.5, "y":4.5}, {"label":"2", "x":16.5, "y":4.5}, {"label":"3", "x":17.5, "y":4.5}, {"label":"Enter", "x":18.5, "y":4.5}, {"label":"\u2191", "x":21, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Win", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"0", "x":15.5, "y":5.5}, {"label":"0", "x":16.5, "y":5.5}, {"label":".", "x":17.5, "y":5.5}, {"label":"Enter", "x":18.5, "y":5.5}, {"label":"\u2190", "x":20, "y":5.5}, {"label":"\u2193", "x":21, "y":5.5}, {"label":"\u2192", "x":22, "y":5.5}]
diff --git a/keyboards/matrix/falcon/config.h b/keyboards/matrix/falcon/config.h
index afd0b5d3ef..d25668115c 100644
--- a/keyboards/matrix/falcon/config.h
+++ b/keyboards/matrix/falcon/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58
-#define PRODUCT_ID 0x474E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matrix Lab
-#define PRODUCT Falcon
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -31,7 +24,6 @@
#define MATRIX_ROW_PINS { F1, B7, F7, F5, F4}
#define MATRIX_COL_PINS { F6, B3, B2, B1, B0, C7, C6, B6, B5, B4, D7, D6, D4}
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/matrix/falcon/info.json b/keyboards/matrix/falcon/info.json
index aeaaa7f9f2..f1b7267681 100644
--- a/keyboards/matrix/falcon/info.json
+++ b/keyboards/matrix/falcon/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Matrix Lab Falcon",
+ "keyboard_name": "Falcon",
+ "manufacturer": "Matrix Lab",
"url": "",
"maintainer": "yulei (Astro)",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x474E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [
diff --git a/keyboards/matrix/falcon/readme.md b/keyboards/matrix/falcon/readme.md
index c283650fcf..a2ceb82163 100644
--- a/keyboards/matrix/falcon/readme.md
+++ b/keyboards/matrix/falcon/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
* **Physical reset button**: Briefly short cut the *RST* pin with the *GND* pin (pin at the topside of the *RST*) on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/matrix/m12og/rev1/config.h b/keyboards/matrix/m12og/rev1/config.h
index 204ece1617..b83c0eece2 100644
--- a/keyboards/matrix/m12og/rev1/config.h
+++ b/keyboards/matrix/m12og/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58
-#define PRODUCT_ID 0x0369
-#define DEVICE_VER 0x0001
-#define MANUFACTURER matrix
-#define PRODUCT m12og_v1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/matrix/m12og/rev1/info.json b/keyboards/matrix/m12og/rev1/info.json
index 25cfe6bafc..3406beab76 100644
--- a/keyboards/matrix/m12og/rev1/info.json
+++ b/keyboards/matrix/m12og/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Matrix 8XV1.2 OG rev1",
+ "keyboard_name": "m12og_v1",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x0369",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/matrix/m12og/rev2/config.h b/keyboards/matrix/m12og/rev2/config.h
index fae5192a33..6a4b003fbf 100644
--- a/keyboards/matrix/m12og/rev2/config.h
+++ b/keyboards/matrix/m12og/rev2/config.h
@@ -6,13 +6,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0x8712 // matrix 1.2 og
-#define DEVICE_VER 0x0001
-#define MANUFACTURER matrix
-#define PRODUCT M12OG
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
@@ -20,7 +13,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, F0, B7, C7, D3, B0, D1 }
#define MATRIX_COL_PINS { F1, F4, F5, F6, F7, B6, B5, B4, D7, D0, D2, D6, D4, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matrix/m12og/rev2/info.json b/keyboards/matrix/m12og/rev2/info.json
index 72514b09ab..d747108bed 100644
--- a/keyboards/matrix/m12og/rev2/info.json
+++ b/keyboards/matrix/m12og/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Matrix 8XV1.2 OG ISO/ANSI",
+ "keyboard_name": "M12OG",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x8712",
+ "device_version": "0.0.1"
+ },
"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.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Menu", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
diff --git a/keyboards/matrix/m20add/config.h b/keyboards/matrix/m20add/config.h
index 5d615dbad6..cf63bb1bda 100644
--- a/keyboards/matrix/m20add/config.h
+++ b/keyboards/matrix/m20add/config.h
@@ -7,13 +7,6 @@
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0x20AD // 8XV2.0 Additional
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MATRIX
-#define PRODUCT 8XV2.0 Additional
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -75,7 +68,6 @@
DEF_PIN(TCA6424_PORT0, 2), \
DEF_PIN(TCA6424_PORT0, 1) }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matrix/m20add/info.json b/keyboards/matrix/m20add/info.json
index 90649d1c60..4aa7f19efb 100644
--- a/keyboards/matrix/m20add/info.json
+++ b/keyboards/matrix/m20add/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Matrix 2.0 Additional",
+ "keyboard_name": "8XV2.0 Additional",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x20AD",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_tsangan": {
"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.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Menu", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
diff --git a/keyboards/matrix/me/config.h b/keyboards/matrix/me/config.h
index 033198ef65..85ec6a04c7 100644
--- a/keyboards/matrix/me/config.h
+++ b/keyboards/matrix/me/config.h
@@ -17,19 +17,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0x454D // ME
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matrix Lab
-#define PRODUCT Matrix ME
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS {D3, D5, D4, D6, B5, B4}
#define MATRIX_COL_PINS {B7, B3, B2, B1, B0, F0, F1, F4, F5, F6, F7, C7, C6, B6, D7}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/matrix/me/info.json b/keyboards/matrix/me/info.json
index cad1b3f70e..af42327f06 100644
--- a/keyboards/matrix/me/info.json
+++ b/keyboards/matrix/me/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Matrix ME",
+ "manufacturer": "Matrix Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x454D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_tsangan": {
"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.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Menu", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
diff --git a/keyboards/matrix/me/readme.md b/keyboards/matrix/me/readme.md
index 6a39bb0398..f04229b2d1 100644
--- a/keyboards/matrix/me/readme.md
+++ b/keyboards/matrix/me/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
* **Physical reset button**: Briefly short cut the *RST* pin with the *GND* pin (pin at the topside of the *RST*) on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h
index 84877f6a5c..83c1942a5f 100644
--- a/keyboards/matrix/noah/config.h
+++ b/keyboards/matrix/noah/config.h
@@ -7,20 +7,12 @@
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D58 // MX
-#define PRODUCT_ID 0x0065 // noah 65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER matrix
-#define PRODUCT NOAH
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B0, A1, C14, C13, A0}
#define MATRIX_COL_PINS { C15, B10, B7, B6, B5, B4, A15, A10, A9, A8, B15, B14, B13, B12, B2}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json
index 61c07feb57..5a4477931b 100644
--- a/keyboards/matrix/noah/info.json
+++ b/keyboards/matrix/noah/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NOAH",
+ "manufacturer": "Matrix",
"url": "",
"maintainer": "astro",
+ "usb": {
+ "vid": "0x4D58",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/matrix/noah/keymaps/blockader/keymap.c b/keyboards/matrix/noah/keymaps/blockader/keymap.c
index 433fa9f9ef..e64821d33e 100644
--- a/keyboards/matrix/noah/keymaps/blockader/keymap.c
+++ b/keyboards/matrix/noah/keymaps/blockader/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KEY_FORWARD_LAYER(LAYER_WINDOW), LGUI(KC_SPC), LCTL(KC_SPC), KC_ESC, KC_TILD, KC_EXLM, KC_PEQL, KC_PLUS, KC_MINUS, KC_PIPE, KC_COLN, KC_LCBR, KC_RCBR, KEY_CREATE_PREVIOUS_LINE, KEY_FORWARD_LAYER(LAYER_LEGACY_BASE),
KEY_CUT_WORD, LALT(KC_LEFT), LALT(KC_RIGHT), KC_BSPC, LGUI(KC_LEFT), LCTL(KC_E), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LGUI(KC_V), KC_DQUO, KEY_CREATE_NEXT_LINE, KEY_FORWARD_LAYER(LAYER_DESKTOP),
KC_LSFT, LGUI(KC_Z), KEY_CUT_SELECTION, KC_LPRN, KC_RPRN, KC_UNDS, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_RSFT, KC_NO, LCTL(KC_LEFT),
- KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, RESET, LCTL(KC_RIGHT)),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, QK_BOOT, LCTL(KC_RIGHT)),
[LAYER_RACE_BASE] = LAYOUT_default_splitspace(
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KEY_BACK_LAYER,
KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LCBR, KC_RCBR, KC_BSLS, KC_NO,
diff --git a/keyboards/matrix/noah/keymaps/rys/keymap.c b/keyboards/matrix/noah/keymaps/rys/keymap.c
index 73ee8e1fec..6c63ad829f 100644
--- a/keyboards/matrix/noah/keymaps/rys/keymap.c
+++ b/keyboards/matrix/noah/keymaps/rys/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │    │    │    │                        │    │    │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
- 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/matrix/noah/keymaps/splitspace/keymap.c b/keyboards/matrix/noah/keymaps/splitspace/keymap.c
index e18de67d41..dd7b5f0c11 100644
--- a/keyboards/matrix/noah/keymaps/splitspace/keymap.c
+++ b/keyboards/matrix/noah/keymaps/splitspace/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_default_splitspace(
KC_BSLS, 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, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F13, KC_F14, KC_F24, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/matthewdias/m3n3van/config.h b/keyboards/matthewdias/m3n3van/config.h
index cef9d8d70a..d389f197ae 100644
--- a/keyboards/matthewdias/m3n3van/config.h
+++ b/keyboards/matthewdias/m3n3van/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D64
-#define PRODUCT_ID 0x2323
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Matthew Dias
-#define PRODUCT m3n3van
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -36,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4, F5, F6, F1, F7, F0, E6, D3, D0, D1, D2, D4, D6 }
#define ENCODERS_PAD_A { B4 }
#define ENCODERS_PAD_B { D7 }
-#define UNUSED_PINS { B0, B1, B2, B3, B7, D5 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matthewdias/m3n3van/info.json b/keyboards/matthewdias/m3n3van/info.json
index 240c203c29..347868cffb 100644
--- a/keyboards/matthewdias/m3n3van/info.json
+++ b/keyboards/matthewdias/m3n3van/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "m3n3van",
+ "manufacturer": "Matthew Dias",
"url": "https://github.com/matthewdias/m3n3van/tree/main/rev2",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x6D64",
+ "pid": "0x2323",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/matthewdias/minim/config.h b/keyboards/matthewdias/minim/config.h
index 9f31ba31cf..0e3347c5a9 100644
--- a/keyboards/matthewdias/minim/config.h
+++ b/keyboards/matthewdias/minim/config.h
@@ -19,14 +19,6 @@ 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 0xAAAA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matthew Dias
-#define PRODUCT minim
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* minim PCB default pin-out */
#define MATRIX_ROW_PINS { D6, D7, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F1, F7, F0, B0, D1, B1, D2, B2, D3, D5, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matthewdias/minim/info.json b/keyboards/matthewdias/minim/info.json
index 0ac146b9a2..58d2066bd4 100644
--- a/keyboards/matthewdias/minim/info.json
+++ b/keyboards/matthewdias/minim/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "minim",
+ "manufacturer": "Matthew Dias",
"url": "https://github.com/matthewdias/minim",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xAAAA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/matthewdias/model_v/config.h b/keyboards/matthewdias/model_v/config.h
index d1c5dcd81d..a111faa315 100644
--- a/keyboards/matthewdias/model_v/config.h
+++ b/keyboards/matthewdias/model_v/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D64
-#define PRODUCT_ID 0x6D76
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matthew Dias
-#define PRODUCT model-v
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/matthewdias/model_v/info.json b/keyboards/matthewdias/model_v/info.json
index cdb0efd951..0e279d5df4 100644
--- a/keyboards/matthewdias/model_v/info.json
+++ b/keyboards/matthewdias/model_v/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "model-v",
+ "manufacturer": "Matthew Dias",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x6D64",
+ "pid": "0x6D76",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split": {
"layout": [
diff --git a/keyboards/matthewdias/txuu/config.h b/keyboards/matthewdias/txuu/config.h
index f81c300a13..854fb5e114 100644
--- a/keyboards/matthewdias/txuu/config.h
+++ b/keyboards/matthewdias/txuu/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D64
-#define PRODUCT_ID 0x2809
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matthew Dias
-#define PRODUCT txuu
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* m3n3van PCB default pin-out */
#define MATRIX_ROW_PINS { B1, B0, F7, F4, F1 }
#define MATRIX_COL_PINS { F0, F5, F6, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS { }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/matthewdias/txuu/info.json b/keyboards/matthewdias/txuu/info.json
index 20efca6978..c5606388de 100644
--- a/keyboards/matthewdias/txuu/info.json
+++ b/keyboards/matthewdias/txuu/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Txuu",
+ "manufacturer": "Matthew Dias",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x6D64",
+ "pid": "0x2809",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_ansi_blocker_split_bs"
},
diff --git a/keyboards/maxipad/config.h b/keyboards/maxipad/config.h
index 7a4b00ccad..c9bfc3ea61 100644
--- a/keyboards/maxipad/config.h
+++ b/keyboards/maxipad/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wootpatoot
-#define PRODUCT maxipad
-
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
diff --git a/keyboards/maxipad/info.json b/keyboards/maxipad/info.json
index 881bba63e6..5670d8d361 100644
--- a/keyboards/maxipad/info.json
+++ b/keyboards/maxipad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "maxipad",
+ "manufacturer": "wootpatoot",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_grid": {
"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":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":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":4}, {"x":5, "y":4}]
diff --git a/keyboards/maxipad/promicro/config.h b/keyboards/maxipad/promicro/config.h
index 008e7929cb..f72fd89c6e 100644
--- a/keyboards/maxipad/promicro/config.h
+++ b/keyboards/maxipad/promicro/config.h
@@ -33,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { F4, C6, D7, F5, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maxipad/teensy2/config.h b/keyboards/maxipad/teensy2/config.h
index 4e43920d5a..32521bc6a4 100644
--- a/keyboards/maxipad/teensy2/config.h
+++ b/keyboards/maxipad/teensy2/config.h
@@ -33,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { B6, F7, B2, B3, B1 }
#define MATRIX_COL_PINS { F6, C6, D7, F5, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maxr1998/phoebe/config.h b/keyboards/maxr1998/phoebe/config.h
index cce72108c5..b410a836c9 100644
--- a/keyboards/maxr1998/phoebe/config.h
+++ b/keyboards/maxr1998/phoebe/config.h
@@ -19,12 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define PRODUCT Phoebe
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/maxr1998/phoebe/info.json b/keyboards/maxr1998/phoebe/info.json
index 1b22277d8a..03a2dd94f8 100644
--- a/keyboards/maxr1998/phoebe/info.json
+++ b/keyboards/maxr1998/phoebe/info.json
@@ -16,6 +16,11 @@
"key_lock": true,
"leader": true
},
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/maxr1998/pulse4k/config.h b/keyboards/maxr1998/pulse4k/config.h
index 4b9c60aac2..697fe10621 100644
--- a/keyboards/maxr1998/pulse4k/config.h
+++ b/keyboards/maxr1998/pulse4k/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maxr1998
-#define PRODUCT Pulse 4k
-
/* Key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@
/* Matrix pins */
#define MATRIX_ROW_PINS { B4, E6 }
#define MATRIX_COL_PINS { B7, B3, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/maxr1998/pulse4k/info.json b/keyboards/maxr1998/pulse4k/info.json
index 7caa85072a..f5ff668edf 100644
--- a/keyboards/maxr1998/pulse4k/info.json
+++ b/keyboards/maxr1998/pulse4k/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pulse 4k",
+ "manufacturer": "Maxr1998",
"url": "https://github.com/Maxr1998/Pulse_4k",
"maintainer": "Maxr1998",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mb44/config.h b/keyboards/mb44/config.h
index daafe52b41..da822ddfe9 100644
--- a/keyboards/mb44/config.h
+++ b/keyboards/mb44/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6d62
-#define PRODUCT_ID 0x6d62
-#define DEVICE_VER 0x0001
-#define MANUFACTURER melonbred
-
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D6, D5, D4 }
#define MATRIX_COL_PINS { C4, C5, C6, C7, B7, B6, B5, B4, B3, B2, B1, B0 }
-#define UNUSED_PINS { C2 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mb44/info.json b/keyboards/mb44/info.json
index 47527443d4..4f916a0bf0 100644
--- a/keyboards/mb44/info.json
+++ b/keyboards/mb44/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MB-44",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0x6D62",
+ "pid": "0x6D62",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/mb44/keymaps/2u1u_space/keymap.c b/keyboards/mb44/keymaps/2u1u_space/keymap.c
index d231d63301..5c9b53b23c 100644
--- a/keyboards/mb44/keymaps/2u1u_space/keymap.c
+++ b/keyboards/mb44/keymaps/2u1u_space/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_2u1u_space(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
};
diff --git a/keyboards/mb44/keymaps/2u_space/keymap.c b/keyboards/mb44/keymaps/2u_space/keymap.c
index c3f654337a..320dfc4a85 100644
--- a/keyboards/mb44/keymaps/2u_space/keymap.c
+++ b/keyboards/mb44/keymaps/2u_space/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_2u_space(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
};
diff --git a/keyboards/mb44/keymaps/3u_space/keymap.c b/keyboards/mb44/keymaps/3u_space/keymap.c
index 924b3f4abb..a0b412bb36 100644
--- a/keyboards/mb44/keymaps/3u_space/keymap.c
+++ b/keyboards/mb44/keymaps/3u_space/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_3u_space(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, KC_VOLD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, KC_VOLD,
XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
diff --git a/keyboards/mc_76k/config.h b/keyboards/mc_76k/config.h
index cc7ac306f4..428405d6d2 100644
--- a/keyboards/mc_76k/config.h
+++ b/keyboards/mc_76k/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4D43
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT MC-76K
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, B6, B0, D1, D0 }
#define MATRIX_COL_PINS { D5, D3, D4, B1, D6, D7, B4, B5, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mc_76k/info.json b/keyboards/mc_76k/info.json
index 411886886e..db07a87f35 100644
--- a/keyboards/mc_76k/info.json
+++ b/keyboards/mc_76k/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mc_76k",
+ "keyboard_name": "MC-76K",
+ "manufacturer": "Yiancar-Designs",
"url": "www.yiancar-designs.com",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4D43",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"F13", "x":14, "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":"|", "x":13, "y":1.5}, {"label":"Delete", "x":14, "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":"Backspace", "x":13.5, "y":2.5, "w":1.5}, {"label":"Ctrl", "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":1.75}, {"label":"Fn", "x":14, "y":4.5}, {"label":"Caps Lock", "x":0, "y":5.5, "w":1.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Win", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}]
diff --git a/keyboards/mechanickeys/miniashen40/config.h b/keyboards/mechanickeys/miniashen40/config.h
index bf2ea6e00f..1510dc9870 100644
--- a/keyboards/mechanickeys/miniashen40/config.h
+++ b/keyboards/mechanickeys/miniashen40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4B // MechanicKeys
-#define PRODUCT_ID 0x6D6E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MechanicKeys
-#define PRODUCT MINI ASHEN 40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B1, B2, B3, B4 }
#define MATRIX_COL_PINS { C5, C4, C3, D0, C2, D1, C1, C0, D4, B0, D7, D6, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechanickeys/miniashen40/info.json b/keyboards/mechanickeys/miniashen40/info.json
index bf46a8bdcd..94779c888f 100644
--- a/keyboards/mechanickeys/miniashen40/info.json
+++ b/keyboards/mechanickeys/miniashen40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mini Ashen 40",
+ "manufacturer": "MechanicKeys",
"url": "",
"maintainer": "jfescobar18",
+ "usb": {
+ "vid": "0x4D4B",
+ "pid": "0x6D6E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechanickeys/miniashen40/readme.md b/keyboards/mechanickeys/miniashen40/readme.md
index 29f7b68fd1..c61398ba1a 100644
--- a/keyboards/mechanickeys/miniashen40/readme.md
+++ b/keyboards/mechanickeys/miniashen40/readme.md
@@ -32,9 +32,9 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical**:
1. Press and hold `BOOT` switch
- 2. Tap `RESET` switch
+ 2. Tap `QK_BOOT` switch
3. Release `BOOT` switch
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Flash bootloader
* [Follow this instructions](https://github.com/jfescobar18/USBaspLoader)
diff --git a/keyboards/mechanickeys/undead60m/config.h b/keyboards/mechanickeys/undead60m/config.h
index e819cf9971..e21f4c4870 100644
--- a/keyboards/mechanickeys/undead60m/config.h
+++ b/keyboards/mechanickeys/undead60m/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4B // MechanicKeys
-#define PRODUCT_ID 0x3C4D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MechanicKeys
-#define PRODUCT Undead 60-M
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechanickeys/undead60m/info.json b/keyboards/mechanickeys/undead60m/info.json
index 5032974857..db1fd60446 100644
--- a/keyboards/mechanickeys/undead60m/info.json
+++ b/keyboards/mechanickeys/undead60m/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Undead-60M",
+ "keyboard_name": "Undead 60-M",
+ "manufacturer": "MechanicKeys",
"url": "",
"maintainer": "jfescobar18",
+ "usb": {
+ "vid": "0x4D4B",
+ "pid": "0x3C4D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechbrewery/mb65h/config.h b/keyboards/mechbrewery/mb65h/config.h
index 5f7e78e32d..79fc4bdde5 100644
--- a/keyboards/mechbrewery/mb65h/config.h
+++ b/keyboards/mechbrewery/mb65h/config.h
@@ -19,20 +19,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4252 //BR
-#define PRODUCT_ID 0x0002 //hotswap
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MechBrewery
-#define PRODUCT MB65H
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B7, D0, F0, F1, F4 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D1, D2, D3, D6, D7, B4, B6, C6, C7, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechbrewery/mb65h/info.json b/keyboards/mechbrewery/mb65h/info.json
index 82469e7031..87c07f44dc 100644
--- a/keyboards/mechbrewery/mb65h/info.json
+++ b/keyboards/mechbrewery/mb65h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mb65h",
+ "keyboard_name": "MB65H",
+ "manufacturer": "MechBrewery",
"url": "",
"maintainer": "AnthonyNguyen168",
+ "usb": {
+ "vid": "0x4252",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
diff --git a/keyboards/mechbrewery/mb65h/keymaps/default/keymap.c b/keyboards/mechbrewery/mb65h/keymaps/default/keymap.c
index 9c62755928..3905a3053d 100644
--- a/keyboards/mechbrewery/mb65h/keymaps/default/keymap.c
+++ b/keyboards/mechbrewery/mb65h/keymaps/default/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/mechbrewery/mb65h/keymaps/via/keymap.c b/keyboards/mechbrewery/mb65h/keymaps/via/keymap.c
index 85f94da297..cf736eeac4 100644
--- a/keyboards/mechbrewery/mb65h/keymaps/via/keymap.c
+++ b/keyboards/mechbrewery/mb65h/keymaps/via/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65h/readme.md b/keyboards/mechbrewery/mb65h/readme.md
index e9802152b3..3137cfe001 100644
--- a/keyboards/mechbrewery/mb65h/readme.md
+++ b/keyboards/mechbrewery/mb65h/readme.md
@@ -8,7 +8,7 @@
* Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/mechbrewery/mb65s/config.h b/keyboards/mechbrewery/mb65s/config.h
index be4deb08b5..57ae42b415 100644
--- a/keyboards/mechbrewery/mb65s/config.h
+++ b/keyboards/mechbrewery/mb65s/config.h
@@ -19,20 +19,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4252 //BR
-#define PRODUCT_ID 0x3635 //65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MechBrewery
-#define PRODUCT MB65S
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B7, D0, F0, F1, F4 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D1, D2, D3, D6, D7, B4, B6, C6, C7, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechbrewery/mb65s/info.json b/keyboards/mechbrewery/mb65s/info.json
index 79b10339b0..3ad4c7b2c2 100644
--- a/keyboards/mechbrewery/mb65s/info.json
+++ b/keyboards/mechbrewery/mb65s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mb65s",
+ "keyboard_name": "MB65S",
+ "manufacturer": "MechBrewery",
"url": "",
"maintainer": "AnthonyNguyen168",
+ "usb": {
+ "vid": "0x4252",
+ "pid": "0x3635",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -188,7 +194,6 @@
{"x":10.5, "y":1},
{"x":11.5, "y":1},
{"x":12.5, "y":1},
- {"x":13.5, "y":1, "w":1.5},
{"x":15, "y":1},
{"x":0, "y":2, "w":1.75},
@@ -203,6 +208,7 @@
{"x":9.75, "y":2},
{"x":10.75, "y":2},
{"x":11.75, "y":2},
+ {"x":12.75, "y":2},
{"x":13.75, "y":1, "w":1.25, "h":2},
{"x":15, "y":2},
@@ -265,6 +271,7 @@
{"x":10.5, "y":1},
{"x":11.5, "y":1},
{"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
{"x":15, "y":1},
{"x":0, "y":2, "w":1.75},
@@ -279,8 +286,7 @@
{"x":9.75, "y":2},
{"x":10.75, "y":2},
{"x":11.75, "y":2},
- {"x":12.75, "y":2},
- {"x":13.75, "y":1, "w":1.25, "h":2},
+ {"x":12.75, "y":2, "w":2.25},
{"x":15, "y":2},
{"x":0, "y":3, "w":2.25},
diff --git a/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker/keymap.c
index 0076da3dc8..fce4b5cd3b 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_ansi_blocker_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker_7u_spc/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker_7u_spc/keymap.c
index a19f132295..eb9fc329f3 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker_7u_spc/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/ansi_blocker_7u_spc/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_ansi_blocker_tsangan(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c
index 1e071c610e..755b3a4b0e 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/default/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/keymaps/iso_blocker/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/iso_blocker/keymap.c
index 1cff877fbb..c76a62feaa 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/iso_blocker/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/iso_blocker/keymap.c
@@ -55,8 +55,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_iso_blocker_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/keymaps/iso_blocker_tsangan/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/iso_blocker_tsangan/keymap.c
index 6071438dc1..4eed1f0e8c 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/iso_blocker_tsangan/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/iso_blocker_tsangan/keymap.c
@@ -55,8 +55,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_65_iso_blocker_7u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/keymaps/via/keymap.c b/keyboards/mechbrewery/mb65s/keymaps/via/keymap.c
index e3c4c76fc2..94046b8833 100644
--- a/keyboards/mechbrewery/mb65s/keymaps/via/keymap.c
+++ b/keyboards/mechbrewery/mb65s/keymaps/via/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______,
+ KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/mechbrewery/mb65s/readme.md b/keyboards/mechbrewery/mb65s/readme.md
index e8505cb6fe..cacc0fc0c1 100644
--- a/keyboards/mechbrewery/mb65s/readme.md
+++ b/keyboards/mechbrewery/mb65s/readme.md
@@ -8,7 +8,7 @@
* Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/mechkeys/acr60/config.h b/keyboards/mechkeys/acr60/config.h
index 7fb907153a..8ef708931f 100644
--- a/keyboards/mechkeys/acr60/config.h
+++ b/keyboards/mechkeys/acr60/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCA60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MECHKEYS
-#define PRODUCT ACR60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechkeys/acr60/info.json b/keyboards/mechkeys/acr60/info.json
index 0e42e5162e..79fcfba429 100644
--- a/keyboards/mechkeys/acr60/info.json
+++ b/keyboards/mechkeys/acr60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ACR60",
+ "manufacturer": "MechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA60",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_2_shifts": "LAYOUT_all"
},
diff --git a/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c b/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c
index 1567b14813..97899700f1 100644
--- a/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c
+++ b/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 2: "special effects": RGB lighting, backlighting, bootloader */
[_SFX] = LAYOUT_mitchsplit(
______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G,______, ______, ______, ______, ______, \
- ______, BL_TOGG, BL_STEP, BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
+ ______, BL_TOGG, BL_STEP, BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \
______, RGB_TOG, RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______,TO(_DFT),______ \
diff --git a/keyboards/mechkeys/alu84/config.h b/keyboards/mechkeys/alu84/config.h
index 3700ced8cf..286c06f482 100755
--- a/keyboards/mechkeys/alu84/config.h
+++ b/keyboards/mechkeys/alu84/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCA75
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MECHKEYS
-#define PRODUCT ALU84
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechkeys/alu84/info.json b/keyboards/mechkeys/alu84/info.json
index 55d01489dc..e67ab405d9 100644
--- a/keyboards/mechkeys/alu84/info.json
+++ b/keyboards/mechkeys/alu84/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ALU84",
+ "manufacturer": "MechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA75",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_75_ansi"
},
diff --git a/keyboards/mechkeys/espectro/config.h b/keyboards/mechkeys/espectro/config.h
index e328f276eb..48f3c3f95d 100755
--- a/keyboards/mechkeys/espectro/config.h
+++ b/keyboards/mechkeys/espectro/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCA96
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MECHKEYS
-#define PRODUCT Espectro
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 13
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 }
#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechkeys/espectro/info.json b/keyboards/mechkeys/espectro/info.json
index cb34f6938c..d293c96978 100644
--- a/keyboards/mechkeys/espectro/info.json
+++ b/keyboards/mechkeys/espectro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Espectro",
+ "manufacturer": "MechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA96",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/mechkeys/espectro/keymaps/mac/keymap.c b/keyboards/mechkeys/espectro/keymaps/mac/keymap.c
index 9bd75d61d6..e07e74d5ab 100644
--- a/keyboards/mechkeys/espectro/keymaps/mac/keymap.c
+++ b/keyboards/mechkeys/espectro/keymaps/mac/keymap.c
@@ -68,7 +68,7 @@ ________________________________________________________________________________
/* FN1 - SEE readme.md
____________________________________________________________________________________________________________________________________________________________________________
| | | | | | | | | | | | | | | | | | | |
-| QUIT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | HOME | END | RESET |
+| QUIT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | HOME | END | QK_BOOT |
|_ALL____|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
| | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | |
| | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | | | | | | DELETE | | | | |
@@ -89,7 +89,7 @@ ________________________________________________________________________________
[_FUNCTION] = LAYOUT_default(
- QALL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_HOME, KC_END, RESET,
+ QALL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_HOME, KC_END, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______,
_______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c b/keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c
index 89d412b2dd..689ea869b1 100644
--- a/keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c
+++ b/keyboards/mechkeys/espectro/keymaps/mapdev/keymap.c
@@ -55,7 +55,7 @@ ________________________________________________________________________________
/* FN_1
____________________________________________________________________________________________________________________________________________________________________________
| | | | | | | | | | | | | | | VOL | VOL | NEXT | | |
-| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END |
+| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END |
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
| | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | |
| | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | | | | | | DELETE | | | | |
@@ -75,7 +75,7 @@ ________________________________________________________________________________
*/
[_FN1] = LAYOUT_default(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, KC_END, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, KC_END, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______,
_______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c b/keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c
index 30688ab5c4..cc8d0c2cad 100644
--- a/keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c
+++ b/keyboards/mechkeys/espectro/keymaps/mikethetiger/keymap.c
@@ -56,7 +56,7 @@ ________________________________________________________________________________
/* FN_1
____________________________________________________________________________________________________________________________________________________________________________
| | | | | | | | | | | | | | | VOL | VOL | NEXT | | |
-| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END |
+| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END |
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
| | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | |
| | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | SAT | | | | | DELETE | | | | |
@@ -76,7 +76,7 @@ ________________________________________________________________________________
*/
[_FN1] = LAYOUT_default(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END, \
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, \
_______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/mechkeys/mechmini/v1/config.h b/keyboards/mechkeys/mechmini/v1/config.h
index a64127f597..c4d1ecc528 100644
--- a/keyboards/mechkeys/mechmini/v1/config.h
+++ b/keyboards/mechkeys/mechmini/v1/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCA40
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MECHKEYS
-#define PRODUCT Mechmini
-
/* matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/mechkeys/mechmini/v1/info.json b/keyboards/mechkeys/mechmini/v1/info.json
index f48fddd066..6a17171154 100644
--- a/keyboards/mechkeys/mechmini/v1/info.json
+++ b/keyboards/mechkeys/mechmini/v1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MechMini v1",
+ "keyboard_name": "MechMini",
+ "manufacturer": "MechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA40",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c b/keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c
index 7db2dc1836..6b5c108e28 100644
--- a/keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c
+++ b/keyboards/mechkeys/mechmini/v1/keymaps/pitty/keymap.c
@@ -49,6 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, KC_INS, KC_HOME, KC_PGUP, _______, _______, _______, _______, _______, _______, _______,
_______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, RESET
+ _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/mechkeys/mechmini/v2/config.h b/keyboards/mechkeys/mechmini/v2/config.h
index 7936caef00..9c7b74f4ef 100755
--- a/keyboards/mechkeys/mechmini/v2/config.h
+++ b/keyboards/mechkeys/mechmini/v2/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAF99
-#define PRODUCT_ID 0xCA40
-#define DEVICE_VER 0x0002
-#define MANUFACTURER MECHKEYS
-#undef PRODUCT
-#define PRODUCT Mechmini 2
-
/* key matrix size */
#undef MATRIX_COLS
#undef MATRIX_ROWS
@@ -34,7 +26,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B3, B1, B0, D5, B7, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechkeys/mechmini/v2/info.json b/keyboards/mechkeys/mechmini/v2/info.json
index 1d0d727a3e..0dfe5877a5 100644
--- a/keyboards/mechkeys/mechmini/v2/info.json
+++ b/keyboards/mechkeys/mechmini/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MechMini 2",
+ "manufacturer": "MechKeys",
"url": "https://mechkeys.ca/pages/mechmini-2-guide",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xAF99",
+ "pid": "0xCA40",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Caps", "x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"GUI", "x":3, "y":3}, {"label":"MO(1)", "x":4, "y":3}, {"label":"Space", "x":5, "y":3}, {"label":"Space", "x":6, "y":3}, {"label":"MO(2)", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c
index 90bb2ddd60..b78584c3aa 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/2u_space_ortho/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_HOME, KC_END, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY),
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY),
};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c
index 4344d6d2bc..eb194be203 100755
--- a/keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/625_space/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN2] = LAYOUT_625_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_END,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c
index 2c64c5aac0..8de45ea5c4 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/arkag/keymap.c
@@ -58,6 +58,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______,
RGB_M_P, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
index fba582e1b7..e39e6d00b2 100755
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_625_space/keymap.c
@@ -36,13 +36,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN2] = LAYOUT_625_space(
- KC_PWR, KC_BRID, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, RESET,
+ KC_PWR, KC_BRID, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, QK_BOOT,
MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN3] = LAYOUT_625_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c
index 7ad2aa81e9..91e2f8e739 100755
--- a/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/lbibass_split_space/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN2] = LAYOUT_split_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
MT(KC_LGUI, KC_ESC), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(1), KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_END,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c
index 31ccfa82a3..e931aab63b 100755
--- a/keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/ortho/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_HOME, KC_END, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY),
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_PGDN, KC_PGUP, KC_MPLY),
};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c
index c0fb3695f9..13179a5f1a 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/spacebarracecar/keymap.c
@@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
| |Prev |Pause |Next |LowerVol |RaiseVol |Mute | | | | | |
|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
-|RESET |ESCT | | | | | | | | | |Game |
+|QK_BOOT |ESCT | | | | | | | | | |Game |
`-----------------------------------------------------------------------------------------------------------------------'
*/
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, RGB_TOG, RGB_MOD, RGB_HUI, CU_RGBV, _______,
- RESET, CU_ESCT, ALTF4, _______, _______, KC_SPC, CTLENT, RGB_M_P, _______, _______, _______, CU_GAME
+ QK_BOOT, CU_ESCT, ALTF4, _______, _______, KC_SPC, CTLENT, RGB_M_P, _______, _______, _______, CU_GAME
)
};
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c
index 635b4eacb3..5764123179 100755
--- a/keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/split_space/keymap.c
@@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN2] = LAYOUT_split_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
KC_TRNS, BL_TOGG, BL_STEP, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_END,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
index 218936a19b..689a9ce36e 100644
--- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
+++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c
@@ -87,7 +87,7 @@ void matrix_scan_user(void) {
//change colors and rgb modes on layer change
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case raise:
rgblight_mode_noeeprom(1);
rgblight_setrgb(0xc7, 0x00, 0xf4);
@@ -103,4 +103,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
return state;
};
-
diff --git a/keyboards/mechkeys/mk60/config.h b/keyboards/mechkeys/mk60/config.h
index 680c498ef4..ff1b4367e4 100644
--- a/keyboards/mechkeys/mk60/config.h
+++ b/keyboards/mechkeys/mk60/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechkeys
-#define PRODUCT mechkeys mk60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ 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, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechkeys/mk60/info.json b/keyboards/mechkeys/mk60/info.json
index cb50412378..b322a589ab 100644
--- a/keyboards/mechkeys/mk60/info.json
+++ b/keyboards/mechkeys/mk60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MK60",
+ "manufacturer": "MechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechllama/g35/config.h b/keyboards/mechllama/g35/config.h
index 9602bbd39b..3b5b7ea0e7 100644
--- a/keyboards/mechllama/g35/config.h
+++ b/keyboards/mechllama/g35/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x0035
-#define MANUFACTURER kaylynb
-#define PRODUCT MechLlama G35
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/mechllama/g35/info.json b/keyboards/mechllama/g35/info.json
index c22c124fc8..465e145a97 100644
--- a/keyboards/mechllama/g35/info.json
+++ b/keyboards/mechllama/g35/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "G35",
+ "keyboard_name": "MechLlama G35",
+ "manufacturer": "kaylynb",
"url": "https://github.com/kaylynb/MechLlama-G35",
"maintainer": "kaylynb",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x0035"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":0, "y":0.5}, {"label":"Esc", "x":1, "y":0.5}, {"label":"1", "x":2, "y":0}, {"label":"2", "x":3, "y":0.15}, {"label":"3", "x":4, "y":0}, {"label":"4", "x":5, "y":0}, {"label":"5", "x":6, "y":0}, {"label":"F2", "x":0, "y":1.5}, {"label":"Tab", "x":1, "y":1.5}, {"label":"Q", "x":2, "y":1}, {"label":"W", "x":3, "y":1.15}, {"label":"E", "x":4, "y":1}, {"label":"R", "x":5, "y":1}, {"label":"T", "x":6, "y":1}, {"label":"F3", "x":0, "y":2.5}, {"label":"Shift", "x":1, "y":2.5}, {"label":"A", "x":2, "y":2}, {"label":"S", "x":3, "y":2.15}, {"label":"D", "x":4, "y":2}, {"label":"F", "x":5, "y":2}, {"label":"G", "x":6, "y":2}, {"label":"F4", "x":0, "y":3.5}, {"label":"Ctrl", "x":1, "y":3.5}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3.15}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"F5", "x":0, "y":4.5}, {"label":"Super", "x":1, "y":4.5}, {"label":"Alt", "x":2, "y":4, "h":1.5}, {"label":"Bksp", "x":3, "y":4.25, "h":1.25}, {"label":"Enter", "x":4, "y":4, "h":1.5}, {"label":"Space", "x":5, "y":4, "h":1.75}, {"label":"Fn", "x":6, "y":4, "h":1.75}]
diff --git a/keyboards/mechllama/g35/keymaps/default/keymap.c b/keyboards/mechllama/g35/keymaps/default/keymap.c
index 4568f54f54..09d7afe171 100644
--- a/keyboards/mechllama/g35/keymaps/default/keymap.c
+++ b/keyboards/mechllama/g35/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const char* get_layer_name(uint8_t layer) {
}
bool oled_task_user(void) {
- oled_write_ln_P(get_layer_name(biton32(layer_state)), false);
+ oled_write_ln_P(get_layer_name(get_highest_layer(layer_state)), false);
return false;
}
#endif
diff --git a/keyboards/mechllama/g35/v1/config.h b/keyboards/mechllama/g35/v1/config.h
index 9e7be98ea1..fbda4b7db2 100644
--- a/keyboards/mechllama/g35/v1/config.h
+++ b/keyboards/mechllama/g35/v1/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS { F5, F6, F4, F1, D4 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, F0, D5 }
diff --git a/keyboards/mechllama/g35/v1/info.json b/keyboards/mechllama/g35/v1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/mechllama/g35/v1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mechllama/g35/v2/config.h b/keyboards/mechllama/g35/v2/config.h
index 09d5f607d2..cd4d6e991c 100644
--- a/keyboards/mechllama/g35/v2/config.h
+++ b/keyboards/mechllama/g35/v2/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0002
-
#define MATRIX_ROW_PINS { F5, F4, F1, F0, D4 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, F6, D5 }
diff --git a/keyboards/mechllama/g35/v2/info.json b/keyboards/mechllama/g35/v2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/mechllama/g35/v2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/config.h b/keyboards/mechlovin/adelais/config.h
index 035ffa8032..08df109685 100644
--- a/keyboards/mechlovin/adelais/config.h
+++ b/keyboards/mechlovin/adelais/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // "ML"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team.Mechlovin
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/info.json b/keyboards/mechlovin/adelais/info.json
index 7a858277e7..a583373c13 100644
--- a/keyboards/mechlovin/adelais/info.json
+++ b/keyboards/mechlovin/adelais/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Adelais",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_alice_split_bs"
},
diff --git a/keyboards/mechlovin/adelais/keymaps/brandonschlack/keymap.c b/keyboards/mechlovin/adelais/keymaps/brandonschlack/keymap.c
index fb2d43ca96..7c2b259063 100644
--- a/keyboards/mechlovin/adelais/keymaps/brandonschlack/keymap.c
+++ b/keyboards/mechlovin/adelais/keymaps/brandonschlack/keymap.c
@@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TG_BASE, QM_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_REDR, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_MAIL, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RGB_LYR, RGB_THM, _______, EEP_RST, RESET, RESET, _______, _______, _______, _______, _______, _______, _______, \
+ _______, RGB_LYR, RGB_THM, _______, EEP_RST, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/mechlovin/adelais/keymaps/default/keymap.c b/keyboards/mechlovin/adelais/keymaps/default/keymap.c
index 2a38663ed2..bb514bf15b 100644
--- a/keyboards/mechlovin/adelais/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/adelais/keymaps/default/keymap.c
@@ -22,7 +22,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SPC, 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_BSLS, MO(1), KC_RSFT, KC_UP,
KC_LCTL, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RCTL ),
- [0] = LAYOUT_all(
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+ QK_BOOT, KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, 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_PAST, 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_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P0, KC_PDOT, 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,
@@ -35,19 +47,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
- tap_code(KC_VOLU);
- } else {
tap_code(KC_VOLD);
+ } else {
+ tap_code(KC_VOLU);
}
- }
- else if (index == 1) {
+ } else if (index == 1) {
if (clockwise) {
tap_code(KC_LEFT);
} else {
tap_code(KC_RGHT);
}
- }
- else if (index == 2) {
+ } else if (index == 2) {
if (clockwise) {
tap_code(KC_UP);
} else {
@@ -57,4 +67,46 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
- #endif
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+#ifdef RGB_MATRIX_ENABLE
+ case KC_F13: // toggle rgb matrix
+ rgb_matrix_toggle();
+ return false;
+ case KC_F14:
+ rgb_matrix_step();
+ return false;
+ case KC_F15:
+ rgb_matrix_increase_speed();
+ return false;
+ case KC_F16:
+ rgb_matrix_decrease_speed();
+ return false;
+ case KC_F17:
+ rgb_matrix_increase_hue();
+ return false;
+ case KC_F18:
+ rgb_matrix_decrease_hue();
+ return false;
+ case KC_F19:
+ rgb_matrix_increase_sat();
+ return false;
+ case KC_F20:
+ rgb_matrix_decrease_sat();
+ return false;
+ case KC_F21:
+ rgb_matrix_increase_val();
+ return false;
+ case KC_F22:
+ rgb_matrix_decrease_val();
+ return false;
+#endif
+ default:
+ break;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/mechlovin/adelais/keymaps/via/keymap.c b/keyboards/mechlovin/adelais/keymaps/via/keymap.c
index 6ab566e1c3..c83d398f64 100644
--- a/keyboards/mechlovin/adelais/keymaps/via/keymap.c
+++ b/keyboards/mechlovin/adelais/keymaps/via/keymap.c
@@ -15,6 +15,20 @@
*/
#include QMK_KEYBOARD_H
+enum my_keycodes {
+ BL_TOG = USER00,
+ BL_EFFECT = USER01,
+ BL_ISPD = USER02,
+ BL_DSPD = USER03,
+ BL_IHUE = USER04,
+ BL_DHUE = USER05,
+ BL_ISAT = USER06,
+ BL_DSAT = USER07,
+ BL_IVAL = USER08,
+ BL_DVAL = USER09
+};
+
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_SPC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
@@ -29,11 +43,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
[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 ),
+ QK_BOOT, KC_TRNS, BL_TOG, BL_EFFECT, BL_ISPD, BL_DSPD, BL_IHUE, BL_DHUE, BL_ISAT, BL_DSAT, BL_IVAL, BL_DVAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, 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_PAST, 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_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P0, KC_PDOT, 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,
@@ -51,15 +65,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
} else {
tap_code(KC_VOLU);
}
- }
- else if (index == 1) {
+ } else if (index == 1) {
if (clockwise) {
tap_code(KC_LEFT);
} else {
tap_code(KC_RGHT);
}
- }
- else if (index == 2) {
+ } else if (index == 2) {
if (clockwise) {
tap_code(KC_UP);
} else {
@@ -69,4 +81,46 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
- #endif
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+#ifdef RGB_MATRIX_ENABLE
+ case BL_TOG: // toggle rgb matrix
+ rgb_matrix_toggle();
+ return false;
+ case BL_EFFECT:
+ rgb_matrix_step();
+ return false;
+ case BL_ISPD:
+ rgb_matrix_increase_speed();
+ return false;
+ case BL_DSPD:
+ rgb_matrix_decrease_speed();
+ return false;
+ case BL_IHUE:
+ rgb_matrix_increase_hue();
+ return false;
+ case BL_DHUE:
+ rgb_matrix_decrease_hue();
+ return false;
+ case BL_ISAT:
+ rgb_matrix_increase_sat();
+ return false;
+ case BL_DSAT:
+ rgb_matrix_decrease_sat();
+ return false;
+ case BL_IVAL:
+ rgb_matrix_increase_val();
+ return false;
+ case BL_DVAL:
+ rgb_matrix_decrease_val();
+ return false;
+#endif
+ default:
+ break;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
index c0cae1600b..7f151ae09a 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
@@ -1,11 +1,7 @@
#pragma once
-#define PRODUCT_ID 0xAEC1
-#define PRODUCT Adelais En Ciel
-
#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, A15 }
-#define UNUSED_PINS
#define RGB_DI_PIN A7
#define DRIVER_LED_TOTAL 91
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
new file mode 100644
index 0000000000..92ee67be74
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Adelais En Ciel",
+ "usb": {
+ "pid": "0xAEC1"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
index cd290cdcd1..dbeb73cda2 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
@@ -1,8 +1,5 @@
#pragma once
-#define PRODUCT_ID 0xAEC2
-#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 }
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
new file mode 100644
index 0000000000..8af90a2c55
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Adelais En Ciel Rev2",
+ "usb": {
+ "pid": "0xAEC2"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
index c0817d6062..e16d5f2ce5 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
@@ -17,12 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT_ID 0xAEC3
-#define PRODUCT Adelais En Ciel Rev3
-
#define MATRIX_ROW_PINS { A4, A3, C13, A1, A2}
-#define MATRIX_COL_PINS { B10, B11, B2, B1, B0, A6, A5, A14, A13, A15, B3, B4, B5, B8, B9 }
+#define MATRIX_COL_PINS { B10, B11, B2, B1, B0, A6, A5, A10, A9, A15, B3, B4, B5, B8, B9 }
+#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN A7
#define WS2812_SPI SPID1 // default: SPID1
#define WS2812_SPI_MOSI_PAL_MODE 5 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5
@@ -40,7 +38,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
+#endif
+#ifdef RGB_MATRIX_ENABLE
//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)
@@ -52,13 +52,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_ADDR_1 0b0110010
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 66
+
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#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 // 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_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
@@ -108,12 +109,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_DISABLE_KEYCODES
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+#endif
+
+#ifdef ENCODER_ENABLE
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
#define ENCODER_RESOLUTION 4
-
#define TAP_CODE_DELAY 10
-
+#endif
#define LED_NUM_LOCK_PIN A0
#define LED_CAPS_LOCK_PIN C14
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h b/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h
index d001829d03..a97c4bbc21 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h
@@ -18,9 +18,7 @@
#define HAL_USE_I2C TRUE
-#define PAL_USE_CALLBACKS FALSE
-
-#define PAL_USE_WAIT FALSE
+#define HAL_USE_SPI TRUE
#include_next <halconf.h>
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
new file mode 100644
index 0000000000..2f963ec895
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Adelais En Ciel Rev3",
+ "usb": {
+ "pid": "0xAEC3"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h
index 20d2a82c27..aa5ea7335b 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h
@@ -18,18 +18,8 @@
#include_next <mcuconf.h>
-#undef STM32_GPT_USE_TIM15
-#define STM32_GPT_USE_TIM15 FALSE
-
-#undef STM32_I2C_USE_I2C1
-#define STM32_I2C_USE_I2C1 TRUE
-
-#undef STM32_PWM_USE_TIM3
-#define STM32_PWM_USE_TIM3 FALSE
-
#undef STM32_SPI_USE_SPI1
#define STM32_SPI_USE_SPI1 TRUE
-#undef STM32_SPI_USE_SPI2
-#define STM32_SPI_USE_SPI2 FALSE
-
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
index b20f897720..d9ea7993cf 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
@@ -94,8 +94,8 @@ led_config_t g_led_config = {
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, NO_LED},
{32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, NO_LED},
- {45, NO_LED, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58},
- {59, NO_LED, 60, NO_LED, 61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, NO_LED, NO_LED, 65},
+ {45, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58},
+ {59, 16, 60, 31, 61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, NO_LED, NO_LED, 65},
}, {
//LED Index to Physical Positon
{0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {224, 0},
@@ -120,47 +120,3 @@ __attribute__((weak)) void rgb_matrix_indicators_user(void) {
#endif
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- #ifdef RGBLIGHT_ENABLE
- #ifdef RGB_MATRIX_ENABLE
- case KC_F13: // toggle rgb matrix
- rgb_matrix_toggle();
- return false;
- case KC_F14:
- rgb_matrix_step();
- return false;
- case KC_F15:
- rgb_matrix_increase_speed();
- return false;
- case KC_F16:
- rgb_matrix_decrease_speed();
- return false;
- case KC_F17:
- rgb_matrix_increase_hue();
- return false;
- case KC_F18:
- rgb_matrix_decrease_hue();
- return false;
- case KC_F19:
- rgb_matrix_increase_sat();
- return false;
- case KC_F20:
- rgb_matrix_decrease_sat();
- return false;
- case KC_F21:
- rgb_matrix_increase_val();
- return false;
- case KC_F22:
- rgb_matrix_decrease_val();
- return false;
- #endif
- #endif
- default:
- break;
- }
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk
index 904d20877b..3407a7b780 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk
@@ -1,5 +1,19 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Build Options
+# change yes to no to disable
+#
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3741
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes
WS2812_DRIVER = spi
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/config.h b/keyboards/mechlovin/adelais/standard_led/arm/config.h
index 4377405fc6..72386fdc59 100644
--- a/keyboards/mechlovin/adelais/standard_led/arm/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/config.h
@@ -17,11 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT Adelais
-
#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, A15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/info.json b/keyboards/mechlovin/adelais/standard_led/arm/info.json
new file mode 100644
index 0000000000..68e7b3d144
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "Adelais"
+}
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h
deleted file mode 100644
index 7c2c63ea21..0000000000
--- a/keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAD01 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev2/info.json b/keyboards/mechlovin/adelais/standard_led/arm/rev2/info.json
new file mode 100644
index 0000000000..ce04dbb068
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0xAD01"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h
index 4d56fedf05..69af2941a6 100644
--- a/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h
@@ -1,7 +1,5 @@
#pragma once
-#define PRODUCT_ID 0xAD02
-
#define ENCODERS_PAD_A { A6, A4, B7 }
#define ENCODERS_PAD_B { A5, A3, B6 }
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json b/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json
new file mode 100644
index 0000000000..f3b66e9eb2
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0xAD02"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h
index ca793f1fec..70fa00220b 100644
--- a/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h
@@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-#define PRODUCT_ID 0xAD03
-
#define ENCODERS_PAD_A { A6, A4, B7 }
#define ENCODERS_PAD_B { A5, A3, B6 }
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json b/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json
new file mode 100644
index 0000000000..f4c096143b
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0xAD03"
+ }
+}
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h
index 9093d262e4..31acc74b90 100644
--- a/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h
@@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-#define PRODUCT_ID 0xAD04
-#define PRODUCT Adelais AVR
/*
* Keyboard Matrix Assignments
*
@@ -29,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json b/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json
new file mode 100644
index 0000000000..d827607b81
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Adelais AVR",
+ "usb": {
+ "pid": "0xAD04"
+ }
+}
diff --git a/keyboards/mechlovin/delphine/config.h b/keyboards/mechlovin/delphine/config.h
index a642f37f9b..7d50bb4615 100644
--- a/keyboards/mechlovin/delphine/config.h
+++ b/keyboards/mechlovin/delphine/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define MANUFACTURER Mechlovin
-#define PRODUCT Mechlovin Delphine
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/mechlovin/delphine/info.json b/keyboards/mechlovin/delphine/info.json
index 38ae0a3beb..a3fe9fb200 100644
--- a/keyboards/mechlovin/delphine/info.json
+++ b/keyboards/mechlovin/delphine/info.json
@@ -1,7 +1,11 @@
{
"keyboard_name": "Delphine",
+ "manufacturer": "Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/mechlovin/delphine/mono_led/config.h b/keyboards/mechlovin/delphine/mono_led/config.h
index ead627937c..36923bb968 100644
--- a/keyboards/mechlovin/delphine/mono_led/config.h
+++ b/keyboards/mechlovin/delphine/mono_led/config.h
@@ -1,10 +1,6 @@
#pragma once
-#define PRODUCT_ID 0xDEF1
-#define DEVICE_VER 0x0001
-
-
#ifdef BACKLIGHT_ENABLE
#define BACKLIGHT_PIN B6
// #define BACKLIGHT_BREATHING
diff --git a/keyboards/mechlovin/delphine/mono_led/info.json b/keyboards/mechlovin/delphine/mono_led/info.json
new file mode 100644
index 0000000000..2665906b80
--- /dev/null
+++ b/keyboards/mechlovin/delphine/mono_led/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0xDEF1",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h
index 0ed8721d23..0d5bfb57f9 100644
--- a/keyboards/mechlovin/delphine/rgb_led/config.h
+++ b/keyboards/mechlovin/delphine/rgb_led/config.h
@@ -1,8 +1,5 @@
#pragma once
-#define PRODUCT_ID 0xDEF2
-#define DEVICE_VER 0x0001
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN E2
#define RGBLED_NUM 13
diff --git a/keyboards/mechlovin/delphine/rgb_led/info.json b/keyboards/mechlovin/delphine/rgb_led/info.json
new file mode 100644
index 0000000000..0a8f1ab220
--- /dev/null
+++ b/keyboards/mechlovin/delphine/rgb_led/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0xDEF2",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mechlovin/foundation/config.h b/keyboards/mechlovin/foundation/config.h
new file mode 100644
index 0000000000..35145c440b
--- /dev/null
+++ b/keyboards/mechlovin/foundation/config.h
@@ -0,0 +1,80 @@
+/*
+Copyright 2022 Mechlovin' Studio
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROW_PINS { B12, B13, B14, A8, A2 }
+#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, A15, B9, B8, B7, B6, B5, B4, B3}
+#define UNUSED_PINS
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 18
+
+/*
+ * 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)
+ *
+ */
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_PIN_ON_STATE 0
+#define LED_CAPS_LOCK_PIN A1
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+#define RGB_DI_PIN B15
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 22
+# 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
+# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+# define RGBLIGHT_EFFECT_SNAKE
+# define RGBLIGHT_EFFECT_KNIGHT
+# define RGBLIGHT_EFFECT_CHRISTMAS
+# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+# define RGBLIGHT_EFFECT_RGB_TEST
+# define RGBLIGHT_EFFECT_ALTERNATING
+# define RGBLIGHT_EFFECT_TWINKLE
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+// Encoder pins
+#define ENCODERS_PAD_A { C13 }
+#define ENCODERS_PAD_B { C14 }
+
+#define ENCODER_RESOLUTION 4
+#define TAP_CODE_DELAY 10 \ No newline at end of file
diff --git a/keyboards/mechlovin/foundation/foundation.c b/keyboards/mechlovin/foundation/foundation.c
new file mode 100644
index 0000000000..12d3e848d7
--- /dev/null
+++ b/keyboards/mechlovin/foundation/foundation.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Mechlovin' Studio
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "foundation.h"
diff --git a/keyboards/mechlovin/foundation/foundation.h b/keyboards/mechlovin/foundation/foundation.h
new file mode 100644
index 0000000000..d9d317deb7
--- /dev/null
+++ b/keyboards/mechlovin/foundation/foundation.h
@@ -0,0 +1,60 @@
+/* Copyright 2022 Mechlovin' Studio
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K2F, K0F, K0G, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, \
+ 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, K3C, K3D, K3E, K3G, \
+ K40, K41, K42, K43, K47, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, KC_NO, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, K3G, KC_NO }, \
+ { K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E, K4F, K4G, K4H }, \
+}
+
+#define LAYOUT_tkl_nofrow_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
+ K30, K31, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3G, \
+ K40, K41, K42, K43, K47, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, KC_NO, KC_NO, KC_NO }, \
+ { K30, K31, KC_NO, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, K3G, KC_NO }, \
+ { K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E, K4F, K4G, K4H }, \
+}
+
+#define LAYOUT_tkl_nofrow_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, \
+ 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, K3C, K3D, K3G, \
+ K40, K41, K42, K43, K47, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, KC_NO, KC_NO, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, K3G, KC_NO }, \
+ { K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E, K4F, K4G, K4H }, \
+}
diff --git a/keyboards/mechlovin/foundation/info.json b/keyboards/mechlovin/foundation/info.json
new file mode 100644
index 0000000000..aa4148a40a
--- /dev/null
+++ b/keyboards/mechlovin/foundation/info.json
@@ -0,0 +1,23 @@
+{
+ "keyboard_name": "Foundation FRL",
+ "manufacturer": "Mechlovin Studio",
+ "url": "",
+ "maintainer": "Protozoa",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0180",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"0,0", "x":0.5, "y":0}, {"label":"0,1", "x":2.25, "y":0}, {"label":"0,2", "x":3.25, "y":0}, {"label":"0,3", "x":4.25, "y":0}, {"label":"0,4", "x":5.25, "y":0}, {"label":"0,5", "x":6.25, "y":0}, {"label":"0,6", "x":7.25, "y":0}, {"label":"0,7", "x":8.25, "y":0}, {"label":"0,8", "x":9.25, "y":0}, {"label":"0,9", "x":10.25, "y":0}, {"label":"0,10", "x":11.25, "y":0}, {"label":"0,11", "x":12.25, "y":0}, {"label":"0,12", "x":13.25, "y":0}, {"label":"0,13", "x":14.25, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"2,15", "x":16.25, "y":0}, {"label":"0,15", "x":17.5, "y":0}, {"label":"0,16", "x":18.5, "y":0}, {"label":"0,17", "x":19.5, "y":0}, {"label":"1,0", "x":0.5, "y":1}, {"label":"1,1", "x":2.25, "y":1, "w":1.5}, {"label":"1,2", "x":3.75, "y":1}, {"label":"1,3", "x":4.75, "y":1}, {"label":"1,4", "x":5.75, "y":1}, {"label":"1,5", "x":6.75, "y":1}, {"label":"1,6", "x":7.75, "y":1}, {"label":"1,7", "x":8.75, "y":1}, {"label":"1,8", "x":9.75, "y":1}, {"label":"1,9", "x":10.75, "y":1}, {"label":"1,10", "x":11.75, "y":1}, {"label":"1,11", "x":12.75, "y":1}, {"label":"1,12", "x":13.75, "y":1}, {"label":"1,13", "x":14.75, "y":1}, {"label":"1,14", "x":15.75, "y":1, "w":1.5}, {"label":"1,15", "x":17.5, "y":1}, {"label":"1,16", "x":18.5, "y":1}, {"label":"1,17", "x":19.5, "y":1}, {"label":"2,0", "x":0.5, "y":2}, {"label":"2,1", "x":2.25, "y":2, "w":1.75}, {"label":"2,2", "x":4, "y":2}, {"label":"2,3", "x":5, "y":2}, {"label":"2,4", "x":6, "y":2}, {"label":"2,5", "x":7, "y":2}, {"label":"2,6", "x":8, "y":2}, {"label":"2,7", "x":9, "y":2}, {"label":"2,8", "x":10, "y":2}, {"label":"2,9", "x":11, "y":2}, {"label":"2,10", "x":12, "y":2}, {"label":"2,11", "x":13, "y":2}, {"label":"2,12", "x":14, "y":2}, {"label":"2,13", "x":15, "y":2}, {"label":"2,14", "x":16, "y":2, "w":1.25}, {"label":"3,0", "x":0.5, "y":3}, {"label":"3,1", "x":2.25, "y":3, "w":1.25}, {"label":"3,2", "x":3.5, "y":3}, {"label":"3,3", "x":4.5, "y":3}, {"label":"3,4", "x":5.5, "y":3}, {"label":"3,5", "x":6.5, "y":3}, {"label":"3,6", "x":7.5, "y":3}, {"label":"3,7", "x":8.5, "y":3}, {"label":"3,8", "x":9.5, "y":3}, {"label":"3,9", "x":10.5, "y":3}, {"label":"3,10", "x":11.5, "y":3}, {"label":"3,11", "x":12.5, "y":3}, {"label":"3,12", "x":13.5, "y":3}, {"label":"3,13", "x":14.5, "y":3, "w":1.75}, {"label":"3,14", "x":16.25, "y":3}, {"label":"3,16", "x":18.5, "y":3}, {"label":"4,0", "x":0.5, "y":4}, {"label":"4,1", "x":2.25, "y":4, "w":1.25}, {"label":"4,2", "x":3.5, "y":4, "w":1.25}, {"label":"4,3", "x":4.75, "y":4, "w":1.25}, {"label":"4,7", "x":6, "y":4, "w":6.25}, {"label":"4,11", "x":12.25, "y":4, "w":1.25}, {"label":"4,12", "x":13.5, "y":4, "w":1.25}, {"label":"4,13", "x":14.75, "y":4, "w":1.25}, {"label":"4,14", "x":16, "y":4, "w":1.25}, {"label":"4,15", "x":17.5, "y":4}, {"label":"4,16", "x":18.5, "y":4}, {"label":"4,17", "x":19.5, "y":4}]
+ },
+ "LAYOUT_tkl_nofrow_ansi": {
+ "layout": [{"label":"0,0", "x":0.5, "y":0}, {"label":"0,1", "x":2.25, "y":0}, {"label":"0,2", "x":3.25, "y":0}, {"label":"0,3", "x":4.25, "y":0}, {"label":"0,4", "x":5.25, "y":0}, {"label":"0,5", "x":6.25, "y":0}, {"label":"0,6", "x":7.25, "y":0}, {"label":"0,7", "x":8.25, "y":0}, {"label":"0,8", "x":9.25, "y":0}, {"label":"0,9", "x":10.25, "y":0}, {"label":"0,10", "x":11.25, "y":0}, {"label":"0,11", "x":12.25, "y":0}, {"label":"0,12", "x":13.25, "y":0}, {"label":"0,13", "x":14.25, "y":0}, {"label":"0,14", "x":15.25, "y":0, "w":2}, {"label":"0,15", "x":17.5, "y":0}, {"label":"0,16", "x":18.5, "y":0}, {"label":"0,17", "x":19.5, "y":0}, {"label":"1,0", "x":0.5, "y":1}, {"label":"1,1", "x":2.25, "y":1, "w":1.5}, {"label":"1,2", "x":3.75, "y":1}, {"label":"1,3", "x":4.75, "y":1}, {"label":"1,4", "x":5.75, "y":1}, {"label":"1,5", "x":6.75, "y":1}, {"label":"1,6", "x":7.75, "y":1}, {"label":"1,7", "x":8.75, "y":1}, {"label":"1,8", "x":9.75, "y":1}, {"label":"1,9", "x":10.75, "y":1}, {"label":"1,10", "x":11.75, "y":1}, {"label":"1,11", "x":12.75, "y":1}, {"label":"1,12", "x":13.75, "y":1}, {"label":"1,13", "x":14.75, "y":1}, {"label":"1,14", "x":15.75, "y":1, "w":1.5}, {"label":"1,15", "x":17.5, "y":1}, {"label":"1,16", "x":18.5, "y":1}, {"label":"1,17", "x":19.5, "y":1}, {"label":"2,0", "x":0.5, "y":2}, {"label":"2,1", "x":2.25, "y":2, "w":1.75}, {"label":"2,2", "x":4, "y":2}, {"label":"2,3", "x":5, "y":2}, {"label":"2,4", "x":6, "y":2}, {"label":"2,5", "x":7, "y":2}, {"label":"2,6", "x":8, "y":2}, {"label":"2,7", "x":9, "y":2}, {"label":"2,8", "x":10, "y":2}, {"label":"2,9", "x":11, "y":2}, {"label":"2,10", "x":12, "y":2}, {"label":"2,11", "x":13, "y":2}, {"label":"2,12", "x":14, "y":2}, {"label":"2,14", "x":15, "y":2, "w":2.25}, {"label":"3,0", "x":0.5, "y":3}, {"label":"3,1", "x":2.25, "y":3, "w":2.25}, {"label":"3,3", "x":4.5, "y":3}, {"label":"3,4", "x":5.5, "y":3}, {"label":"3,5", "x":6.5, "y":3}, {"label":"3,6", "x":7.5, "y":3}, {"label":"3,7", "x":8.5, "y":3}, {"label":"3,8", "x":9.5, "y":3}, {"label":"3,9", "x":10.5, "y":3}, {"label":"3,10", "x":11.5, "y":3}, {"label":"3,11", "x":12.5, "y":3}, {"label":"3,12", "x":13.5, "y":3}, {"label":"3,13", "x":14.5, "y":3, "w":2.75}, {"label":"3,16", "x":18.5, "y":3}, {"label":"4,0", "x":0.5, "y":4}, {"label":"4,1", "x":2.25, "y":4, "w":1.25}, {"label":"4,2", "x":3.5, "y":4, "w":1.25}, {"label":"4,3", "x":4.75, "y":4, "w":1.25}, {"label":"4,7", "x":6, "y":4, "w":6.25}, {"label":"4,11", "x":12.25, "y":4, "w":1.25}, {"label":"4,12", "x":13.5, "y":4, "w":1.25}, {"label":"4,13", "x":14.75, "y":4, "w":1.25}, {"label":"4,14", "x":16, "y":4, "w":1.25}, {"label":"4,15", "x":17.5, "y":4}, {"label":"4,16", "x":18.5, "y":4}, {"label":"4,17", "x":19.5, "y":4}]
+ },
+ "LAYOUT_tkl_nofrow_iso": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.75, "y":0}, {"label":"0,2", "x":2.75, "y":0}, {"label":"0,3", "x":3.75, "y":0}, {"label":"0,4", "x":4.75, "y":0}, {"label":"0,5", "x":5.75, "y":0}, {"label":"0,6", "x":6.75, "y":0}, {"label":"0,7", "x":7.75, "y":0}, {"label":"0,8", "x":8.75, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,11", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":13.75, "y":0}, {"label":"0,14", "x":14.75, "y":0, "w":2}, {"label":"0,15", "x":17, "y":0}, {"label":"0,16", "x":18, "y":0}, {"label":"0,17", "x":19, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1.75, "y":1, "w":1.5}, {"label":"1,2", "x":3.25, "y":1}, {"label":"1,3", "x":4.25, "y":1}, {"label":"1,4", "x":5.25, "y":1}, {"label":"1,5", "x":6.25, "y":1}, {"label":"1,6", "x":7.25, "y":1}, {"label":"1,7", "x":8.25, "y":1}, {"label":"1,8", "x":9.25, "y":1}, {"label":"1,9", "x":10.25, "y":1}, {"label":"1,10", "x":11.25, "y":1}, {"label":"1,11", "x":12.25, "y":1}, {"label":"1,12", "x":13.25, "y":1}, {"label":"1,13", "x":14.25, "y":1}, {"label":"2,14", "x":15.5, "y":1, "w":1.25, "h":2}, {"label":"1,15", "x":17, "y":1}, {"label":"1,16", "x":18, "y":1}, {"label":"1,17", "x":19, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1.75, "y":2, "w":1.75}, {"label":"2,2", "x":3.5, "y":2}, {"label":"2,3", "x":4.5, "y":2}, {"label":"2,4", "x":5.5, "y":2}, {"label":"2,5", "x":6.5, "y":2}, {"label":"2,6", "x":7.5, "y":2}, {"label":"2,7", "x":8.5, "y":2}, {"label":"2,8", "x":9.5, "y":2}, {"label":"2,9", "x":10.5, "y":2}, {"label":"2,10", "x":11.5, "y":2}, {"label":"2,11", "x":12.5, "y":2}, {"label":"2,12", "x":13.5, "y":2}, {"label":"2,13", "x":14.5, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1.75, "y":3, "w":1.25}, {"label":"3,2", "x":3, "y":3}, {"label":"3,3", "x":4, "y":3}, {"label":"3,4", "x":5, "y":3}, {"label":"3,5", "x":6, "y":3}, {"label":"3,6", "x":7, "y":3}, {"label":"3,7", "x":8, "y":3}, {"label":"3,8", "x":9, "y":3}, {"label":"3,9", "x":10, "y":3}, {"label":"3,10", "x":11, "y":3}, {"label":"3,11", "x":12, "y":3}, {"label":"3,12", "x":13, "y":3}, {"label":"3,13", "x":14, "y":3, "w":2.75}, {"label":"3,16", "x":18, "y":3}, {"label":"4,0", "x":0, "y":4}, {"label":"4,1", "x":1.75, "y":4, "w":1.25}, {"label":"4,2", "x":3, "y":4, "w":1.25}, {"label":"4,3", "x":4.25, "y":4, "w":1.25}, {"label":"4,7", "x":5.5, "y":4, "w":6.25}, {"label":"4,11", "x":11.75, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4, "w":1.25}, {"label":"4,13", "x":14.25, "y":4, "w":1.25}, {"label":"4,14", "x":15.5, "y":4, "w":1.25}, {"label":"4,15", "x":17, "y":4}, {"label":"4,16", "x":18, "y":4}, {"label":"4,17", "x":19, "y":4}]
+ },
+
+ }
+} \ No newline at end of file
diff --git a/keyboards/mechlovin/foundation/keymaps/default/keymap.c b/keyboards/mechlovin/foundation/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4cabf521d2
--- /dev/null
+++ b/keyboards/mechlovin/foundation/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+/* Copyright 2022 Mechlovin' Studio
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_nofrow_ansi(
+ KC_F1, 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_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_F3, 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_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_nofrow_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = {ENCODER_CCW_CW(RGB_MOD, RGB_RMOD)}
+};
+#endif
diff --git a/keyboards/mechlovin/foundation/keymaps/default/readme.md b/keyboards/mechlovin/foundation/keymaps/default/readme.md
new file mode 100644
index 0000000000..32bfee434d
--- /dev/null
+++ b/keyboards/mechlovin/foundation/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Foundation \ No newline at end of file
diff --git a/keyboards/mechlovin/foundation/keymaps/default/rules.mk b/keyboards/mechlovin/foundation/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechlovin/foundation/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechlovin/foundation/keymaps/via/keymap.c b/keyboards/mechlovin/foundation/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b052937fd4
--- /dev/null
+++ b/keyboards/mechlovin/foundation/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
+/* Copyright 2022 Mechlovin' Studio
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_F17, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
+ KC_F18, 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_F19, 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_HASH, KC_ENT,
+ KC_F20, 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_RSFT, KC_UP,
+ KC_F21, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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, KC_TRNS, KC_TRNS,
+ 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, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [2] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [3] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}
+};
+#endif
+
+
diff --git a/keyboards/mechlovin/foundation/keymaps/via/rules.mk b/keyboards/mechlovin/foundation/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/mechlovin/foundation/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechlovin/foundation/readme.md b/keyboards/mechlovin/foundation/readme.md
new file mode 100644
index 0000000000..61dacd55bd
--- /dev/null
+++ b/keyboards/mechlovin/foundation/readme.md
@@ -0,0 +1,26 @@
+# Foundation
+
+![Foundation](https://i.imgur.com/6VaQ8zml.jpeg)
+
+A PCB for Foundation FRL keyboard.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin)
+* Hardware Supported: Foundation, APM32F103
+* Hardware Availability: [Protozoa Studio](https://protozoa.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/foundation:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/foundation:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+Enter the bootloader in 4 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+* **Hardware reset**: Press reset button (located on the bottom side of the PCB) \ No newline at end of file
diff --git a/keyboards/mechlovin/foundation/rules.mk b/keyboards/mechlovin/foundation/rules.mk
new file mode 100644
index 0000000000..5a0af7c463
--- /dev/null
+++ b/keyboards/mechlovin/foundation/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = STM32F103
+BOARD = STM32_F103_STM32DUINO
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+ENCODER_ENABLE = yes
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/mechlovin/hannah60rgb/config.h b/keyboards/mechlovin/hannah60rgb/config.h
index 6acfa5d401..3a0aaa0eb9 100644
--- a/keyboards/mechlovin/hannah60rgb/config.h
+++ b/keyboards/mechlovin/hannah60rgb/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-Mechlovin
-#define MANUFACTURER Team.Mechlovin
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/config.h b/keyboards/mechlovin/hannah60rgb/rev1/config.h
index 0f0c923fd0..9a84e78588 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/config.h
+++ b/keyboards/mechlovin/hannah60rgb/rev1/config.h
@@ -1,9 +1,5 @@
#pragma once
-#define PRODUCT_ID 0x6001
-#define DEVICE_VER 0x0001
-#define PRODUCT Hannah60 RGB
-
#define RGB_DI_PIN A15
#ifdef RGB_MATRIX_ENABLE
# define DRIVER_LED_TOTAL 72
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/info.json b/keyboards/mechlovin/hannah60rgb/rev1/info.json
index 48c878edb1..1e30b49c01 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hannah60rgb rev1",
+ "keyboard_name": "Hannah60 RGB",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h
index e96ca0002a..3a25680a20 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/config.h
+++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h
@@ -1,9 +1,5 @@
#pragma once
-#define PRODUCT_ID 0x6002
-#define DEVICE_VER 0x0001
-#define PRODUCT Hannah60 RGB Rev.2
-
#ifdef RGBLIGHT_ENABLE
# define RGB_DI_PIN A15
# define RGBLED_NUM 18
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/info.json b/keyboards/mechlovin/hannah60rgb/rev2/info.json
index 74490e03e3..4047982477 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hannah60rgb rev2",
+ "keyboard_name": "Hannah60 RGB Rev.2",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/hannah65/config.h b/keyboards/mechlovin/hannah65/config.h
index f0aa801396..c43d228cf4 100644
--- a/keyboards/mechlovin/hannah65/config.h
+++ b/keyboards/mechlovin/hannah65/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define MANUFACTURER Team Mechlovin
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mechlovin/hannah65/rev1/haus/config.h b/keyboards/mechlovin/hannah65/rev1/haus/config.h
deleted file mode 100644
index 204bf356e7..0000000000
--- a/keyboards/mechlovin/hannah65/rev1/haus/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2021 Mechlovin' Studio
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define PRODUCT_ID 0x6500
-#define DEVICE_VER 0x0001
-#define PRODUCT Haus Rev. 1 \ No newline at end of file
diff --git a/keyboards/mechlovin/hannah65/rev1/haus/info.json b/keyboards/mechlovin/hannah65/rev1/haus/info.json
new file mode 100644
index 0000000000..55ddde0a58
--- /dev/null
+++ b/keyboards/mechlovin/hannah65/rev1/haus/info.json
@@ -0,0 +1,229 @@
+{
+ "keyboard_name": "Haus Rev. 1",
+ "manufacturer": "Team Mechlovin",
+ "url": "",
+ "maintainer": "Team Mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6500",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"K00 (B0,B5)", "x":0, "y":0},
+ {"label":"K01 (B0,B6)", "x":1, "y":0},
+ {"label":"K02 (B0,B7)", "x":2, "y":0},
+ {"label":"K03 (B0,C0)", "x":3, "y":0},
+ {"label":"K04 (B0,C1)", "x":4, "y":0},
+ {"label":"K05 (B0,C2)", "x":5, "y":0},
+ {"label":"K06 (B0,C3)", "x":6, "y":0},
+ {"label":"K07 (B0,C4)", "x":7, "y":0},
+ {"label":"K08 (B0,C5)", "x":8, "y":0},
+ {"label":"K09 (B0,C6)", "x":9, "y":0},
+ {"label":"K0A (B0,C7)", "x":10, "y":0},
+ {"label":"K0B (B0,D0)", "x":11, "y":0},
+ {"label":"K0C (B0,D1)", "x":12, "y":0},
+ {"label":"K0D (B0,D2)", "x":13, "y":0},
+ {"label":"K1D (B1,D2)", "x":14, "y":0},
+ {"label":"K0E (B0,D3)", "x":15, "y":0},
+ {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
+ {"label":"K11 (B1,B6)", "x":1.5, "y":1},
+ {"label":"K12 (B1,B7)", "x":2.5, "y":1},
+ {"label":"K13 (B1,C0)", "x":3.5, "y":1},
+ {"label":"K14 (B1,C1)", "x":4.5, "y":1},
+ {"label":"K15 (B1,C2)", "x":5.5, "y":1},
+ {"label":"K16 (B1,C3)", "x":6.5, "y":1},
+ {"label":"K17 (B1,C4)", "x":7.5, "y":1},
+ {"label":"K18 (B1,C5)", "x":8.5, "y":1},
+ {"label":"K19 (B1,C6)", "x":9.5, "y":1},
+ {"label":"K1A (B1,C7)", "x":10.5, "y":1},
+ {"label":"K1B (B1,D0)", "x":11.5, "y":1},
+ {"label":"K1C (B1,D1)", "x":12.5, "y":1},
+ {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1E (B1,D3)", "x":15, "y":1},
+ {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
+ {"label":"K21 (B2,B6)", "x":1.75, "y":2},
+ {"label":"K22 (B2,B7)", "x":2.75, "y":2},
+ {"label":"K23 (B2,C0)", "x":3.75, "y":2},
+ {"label":"K24 (B2,C1)", "x":4.75, "y":2},
+ {"label":"K25 (B2,C2)", "x":5.75, "y":2},
+ {"label":"K26 (B2,C3)", "x":6.75, "y":2},
+ {"label":"K27 (B2,C4)", "x":7.75, "y":2},
+ {"label":"K28 (B2,C5)", "x":8.75, "y":2},
+ {"label":"K29 (B2,C6)", "x":9.75, "y":2},
+ {"label":"K2A (B2,C7)", "x":10.75, "y":2},
+ {"label":"K2B (B2,D0)", "x":11.75, "y":2},
+ {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2E (B2,D3)", "x":15, "y":2},
+ {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25},
+ {"label":"K31 (B3,B6)", "x":1.25, "y":3},
+ {"label":"K32 (B3,B7)", "x":2.25, "y":3},
+ {"label":"K33 (B3,C0)", "x":3.25, "y":3},
+ {"label":"K34 (B3,C1)", "x":4.25, "y":3},
+ {"label":"K35 (B3,C2)", "x":5.25, "y":3},
+ {"label":"K36 (B3,C3)", "x":6.25, "y":3},
+ {"label":"K37 (B3,C4)", "x":7.25, "y":3},
+ {"label":"K38 (B3,C5)", "x":8.25, "y":3},
+ {"label":"K39 (B3,C6)", "x":9.25, "y":3},
+ {"label":"K3A (B3,C7)", "x":10.25, "y":3},
+ {"label":"K3B (B3,D0)", "x":11.25, "y":3},
+ {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3D (B3,D2)", "x":14, "y":3},
+ {"label":"K3E (B3,D3)", "x":15, "y":3},
+ {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4C (B4,D1)", "x":13, "y":4},
+ {"label":"K4D (B4,D2)", "x":14, "y":4},
+ {"label":"K4E (B4,D3)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"label":"K00 (B0,B5)", "x":0, "y":0},
+ {"label":"K01 (B0,B6)", "x":1, "y":0},
+ {"label":"K02 (B0,B7)", "x":2, "y":0},
+ {"label":"K03 (B0,C0)", "x":3, "y":0},
+ {"label":"K04 (B0,C1)", "x":4, "y":0},
+ {"label":"K05 (B0,C2)", "x":5, "y":0},
+ {"label":"K06 (B0,C3)", "x":6, "y":0},
+ {"label":"K07 (B0,C4)", "x":7, "y":0},
+ {"label":"K08 (B0,C5)", "x":8, "y":0},
+ {"label":"K09 (B0,C6)", "x":9, "y":0},
+ {"label":"K0A (B0,C7)", "x":10, "y":0},
+ {"label":"K0B (B0,D0)", "x":11, "y":0},
+ {"label":"K0C (B0,D1)", "x":12, "y":0},
+ {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2},
+ {"label":"K0E (B0,D3)", "x":15, "y":0},
+ {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
+ {"label":"K11 (B1,B6)", "x":1.5, "y":1},
+ {"label":"K12 (B1,B7)", "x":2.5, "y":1},
+ {"label":"K13 (B1,C0)", "x":3.5, "y":1},
+ {"label":"K14 (B1,C1)", "x":4.5, "y":1},
+ {"label":"K15 (B1,C2)", "x":5.5, "y":1},
+ {"label":"K16 (B1,C3)", "x":6.5, "y":1},
+ {"label":"K17 (B1,C4)", "x":7.5, "y":1},
+ {"label":"K18 (B1,C5)", "x":8.5, "y":1},
+ {"label":"K19 (B1,C6)", "x":9.5, "y":1},
+ {"label":"K1A (B1,C7)", "x":10.5, "y":1},
+ {"label":"K1B (B1,D0)", "x":11.5, "y":1},
+ {"label":"K1C (B1,D1)", "x":12.5, "y":1},
+ {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1E (B1,D3)", "x":15, "y":1},
+ {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
+ {"label":"K21 (B2,B6)", "x":1.75, "y":2},
+ {"label":"K22 (B2,B7)", "x":2.75, "y":2},
+ {"label":"K23 (B2,C0)", "x":3.75, "y":2},
+ {"label":"K24 (B2,C1)", "x":4.75, "y":2},
+ {"label":"K25 (B2,C2)", "x":5.75, "y":2},
+ {"label":"K26 (B2,C3)", "x":6.75, "y":2},
+ {"label":"K27 (B2,C4)", "x":7.75, "y":2},
+ {"label":"K28 (B2,C5)", "x":8.75, "y":2},
+ {"label":"K29 (B2,C6)", "x":9.75, "y":2},
+ {"label":"K2A (B2,C7)", "x":10.75, "y":2},
+ {"label":"K2B (B2,D0)", "x":11.75, "y":2},
+ {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2E (B2,D3)", "x":15, "y":2},
+ {"label":"K30 (B3,B5)", "x":0, "y":3, "w":2.25},
+ {"label":"K32 (B3,B7)", "x":2.25, "y":3},
+ {"label":"K33 (B3,C0)", "x":3.25, "y":3},
+ {"label":"K34 (B3,C1)", "x":4.25, "y":3},
+ {"label":"K35 (B3,C2)", "x":5.25, "y":3},
+ {"label":"K36 (B3,C3)", "x":6.25, "y":3},
+ {"label":"K37 (B3,C4)", "x":7.25, "y":3},
+ {"label":"K38 (B3,C5)", "x":8.25, "y":3},
+ {"label":"K39 (B3,C6)", "x":9.25, "y":3},
+ {"label":"K3A (B3,C7)", "x":10.25, "y":3},
+ {"label":"K3B (B3,D0)", "x":11.25, "y":3},
+ {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3D (B3,D2)", "x":14, "y":3},
+ {"label":"K3E (B3,D3)", "x":15, "y":3},
+ {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4C (B4,D1)", "x":13, "y":4},
+ {"label":"K4D (B4,D2)", "x":14, "y":4},
+ {"label":"K4E (B4,D3)", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker": {
+ "layout": [
+ {"label":"K00 (B0,B5)", "x":0, "y":0},
+ {"label":"K01 (B0,B6)", "x":1, "y":0},
+ {"label":"K02 (B0,B7)", "x":2, "y":0},
+ {"label":"K03 (B0,C0)", "x":3, "y":0},
+ {"label":"K04 (B0,C1)", "x":4, "y":0},
+ {"label":"K05 (B0,C2)", "x":5, "y":0},
+ {"label":"K06 (B0,C3)", "x":6, "y":0},
+ {"label":"K07 (B0,C4)", "x":7, "y":0},
+ {"label":"K08 (B0,C5)", "x":8, "y":0},
+ {"label":"K09 (B0,C6)", "x":9, "y":0},
+ {"label":"K0A (B0,C7)", "x":10, "y":0},
+ {"label":"K0B (B0,D0)", "x":11, "y":0},
+ {"label":"K0C (B0,D1)", "x":12, "y":0},
+ {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2},
+ {"label":"K0E (B0,D3)", "x":15, "y":0},
+ {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
+ {"label":"K11 (B1,B6)", "x":1.5, "y":1},
+ {"label":"K12 (B1,B7)", "x":2.5, "y":1},
+ {"label":"K13 (B1,C0)", "x":3.5, "y":1},
+ {"label":"K14 (B1,C1)", "x":4.5, "y":1},
+ {"label":"K15 (B1,C2)", "x":5.5, "y":1},
+ {"label":"K16 (B1,C3)", "x":6.5, "y":1},
+ {"label":"K17 (B1,C4)", "x":7.5, "y":1},
+ {"label":"K18 (B1,C5)", "x":8.5, "y":1},
+ {"label":"K19 (B1,C6)", "x":9.5, "y":1},
+ {"label":"K1A (B1,C7)", "x":10.5, "y":1},
+ {"label":"K1B (B1,D0)", "x":11.5, "y":1},
+ {"label":"K1C (B1,D1)", "x":12.5, "y":1},
+ {"label":"K2D (B2,D2)", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"K1E (B1,D3)", "x":15, "y":1},
+ {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
+ {"label":"K21 (B2,B6)", "x":1.75, "y":2},
+ {"label":"K22 (B2,B7)", "x":2.75, "y":2},
+ {"label":"K23 (B2,C0)", "x":3.75, "y":2},
+ {"label":"K24 (B2,C1)", "x":4.75, "y":2},
+ {"label":"K25 (B2,C2)", "x":5.75, "y":2},
+ {"label":"K26 (B2,C3)", "x":6.75, "y":2},
+ {"label":"K27 (B2,C4)", "x":7.75, "y":2},
+ {"label":"K28 (B2,C5)", "x":8.75, "y":2},
+ {"label":"K29 (B2,C6)", "x":9.75, "y":2},
+ {"label":"K2A (B2,C7)", "x":10.75, "y":2},
+ {"label":"K2B (B2,D0)", "x":11.75, "y":2},
+ {"label":"K2C (B2,D1)", "x":12.75, "y":2},
+ {"label":"K2E (B2,D3)", "x":15, "y":2},
+ {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25},
+ {"label":"K31 (B3,B6)", "x":1.25, "y":3},
+ {"label":"K32 (B3,B7)", "x":2.25, "y":3},
+ {"label":"K33 (B3,C0)", "x":3.25, "y":3},
+ {"label":"K34 (B3,C1)", "x":4.25, "y":3},
+ {"label":"K35 (B3,C2)", "x":5.25, "y":3},
+ {"label":"K36 (B3,C3)", "x":6.25, "y":3},
+ {"label":"K37 (B3,C4)", "x":7.25, "y":3},
+ {"label":"K38 (B3,C5)", "x":8.25, "y":3},
+ {"label":"K39 (B3,C6)", "x":9.25, "y":3},
+ {"label":"K3A (B3,C7)", "x":10.25, "y":3},
+ {"label":"K3B (B3,D0)", "x":11.25, "y":3},
+ {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3D (B3,D2)", "x":14, "y":3},
+ {"label":"K3E (B3,D3)", "x":15, "y":3},
+ {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
+ {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K4C (B4,D1)", "x":13, "y":4},
+ {"label":"K4D (B4,D2)", "x":14, "y":4},
+ {"label":"K4E (B4,D3)", "x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechlovin/hannah65/rev1/info.json b/keyboards/mechlovin/hannah65/rev1/info.json
deleted file mode 100644
index 329c4040c8..0000000000
--- a/keyboards/mechlovin/hannah65/rev1/info.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "keyboard_name": "hannah65-rev1",
- "url": "",
- "maintainer": "Team Mechlovin",
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label":"K00 (B0,B5)", "x":0, "y":0},
- {"label":"K01 (B0,B6)", "x":1, "y":0},
- {"label":"K02 (B0,B7)", "x":2, "y":0},
- {"label":"K03 (B0,C0)", "x":3, "y":0},
- {"label":"K04 (B0,C1)", "x":4, "y":0},
- {"label":"K05 (B0,C2)", "x":5, "y":0},
- {"label":"K06 (B0,C3)", "x":6, "y":0},
- {"label":"K07 (B0,C4)", "x":7, "y":0},
- {"label":"K08 (B0,C5)", "x":8, "y":0},
- {"label":"K09 (B0,C6)", "x":9, "y":0},
- {"label":"K0A (B0,C7)", "x":10, "y":0},
- {"label":"K0B (B0,D0)", "x":11, "y":0},
- {"label":"K0C (B0,D1)", "x":12, "y":0},
- {"label":"K0D (B0,D2)", "x":13, "y":0},
- {"label":"K1D (B1,D2)", "x":14, "y":0},
- {"label":"K0E (B0,D3)", "x":15, "y":0},
- {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
- {"label":"K11 (B1,B6)", "x":1.5, "y":1},
- {"label":"K12 (B1,B7)", "x":2.5, "y":1},
- {"label":"K13 (B1,C0)", "x":3.5, "y":1},
- {"label":"K14 (B1,C1)", "x":4.5, "y":1},
- {"label":"K15 (B1,C2)", "x":5.5, "y":1},
- {"label":"K16 (B1,C3)", "x":6.5, "y":1},
- {"label":"K17 (B1,C4)", "x":7.5, "y":1},
- {"label":"K18 (B1,C5)", "x":8.5, "y":1},
- {"label":"K19 (B1,C6)", "x":9.5, "y":1},
- {"label":"K1A (B1,C7)", "x":10.5, "y":1},
- {"label":"K1B (B1,D0)", "x":11.5, "y":1},
- {"label":"K1C (B1,D1)", "x":12.5, "y":1},
- {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5},
- {"label":"K1E (B1,D3)", "x":15, "y":1},
- {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
- {"label":"K21 (B2,B6)", "x":1.75, "y":2},
- {"label":"K22 (B2,B7)", "x":2.75, "y":2},
- {"label":"K23 (B2,C0)", "x":3.75, "y":2},
- {"label":"K24 (B2,C1)", "x":4.75, "y":2},
- {"label":"K25 (B2,C2)", "x":5.75, "y":2},
- {"label":"K26 (B2,C3)", "x":6.75, "y":2},
- {"label":"K27 (B2,C4)", "x":7.75, "y":2},
- {"label":"K28 (B2,C5)", "x":8.75, "y":2},
- {"label":"K29 (B2,C6)", "x":9.75, "y":2},
- {"label":"K2A (B2,C7)", "x":10.75, "y":2},
- {"label":"K2B (B2,D0)", "x":11.75, "y":2},
- {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25},
- {"label":"K2E (B2,D3)", "x":15, "y":2},
- {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25},
- {"label":"K31 (B3,B6)", "x":1.25, "y":3},
- {"label":"K32 (B3,B7)", "x":2.25, "y":3},
- {"label":"K33 (B3,C0)", "x":3.25, "y":3},
- {"label":"K34 (B3,C1)", "x":4.25, "y":3},
- {"label":"K35 (B3,C2)", "x":5.25, "y":3},
- {"label":"K36 (B3,C3)", "x":6.25, "y":3},
- {"label":"K37 (B3,C4)", "x":7.25, "y":3},
- {"label":"K38 (B3,C5)", "x":8.25, "y":3},
- {"label":"K39 (B3,C6)", "x":9.25, "y":3},
- {"label":"K3A (B3,C7)", "x":10.25, "y":3},
- {"label":"K3B (B3,D0)", "x":11.25, "y":3},
- {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
- {"label":"K3D (B3,D2)", "x":14, "y":3},
- {"label":"K3E (B3,D3)", "x":15, "y":3},
- {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
- {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
- {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
- {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
- {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
- {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
- {"label":"K4C (B4,D1)", "x":13, "y":4},
- {"label":"K4D (B4,D2)", "x":14, "y":4},
- {"label":"K4E (B4,D3)", "x":15, "y":4}
- ]
- },
- "LAYOUT_65_ansi_blocker": {
- "layout": [
- {"label":"K00 (B0,B5)", "x":0, "y":0},
- {"label":"K01 (B0,B6)", "x":1, "y":0},
- {"label":"K02 (B0,B7)", "x":2, "y":0},
- {"label":"K03 (B0,C0)", "x":3, "y":0},
- {"label":"K04 (B0,C1)", "x":4, "y":0},
- {"label":"K05 (B0,C2)", "x":5, "y":0},
- {"label":"K06 (B0,C3)", "x":6, "y":0},
- {"label":"K07 (B0,C4)", "x":7, "y":0},
- {"label":"K08 (B0,C5)", "x":8, "y":0},
- {"label":"K09 (B0,C6)", "x":9, "y":0},
- {"label":"K0A (B0,C7)", "x":10, "y":0},
- {"label":"K0B (B0,D0)", "x":11, "y":0},
- {"label":"K0C (B0,D1)", "x":12, "y":0},
- {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2},
- {"label":"K0E (B0,D3)", "x":15, "y":0},
- {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
- {"label":"K11 (B1,B6)", "x":1.5, "y":1},
- {"label":"K12 (B1,B7)", "x":2.5, "y":1},
- {"label":"K13 (B1,C0)", "x":3.5, "y":1},
- {"label":"K14 (B1,C1)", "x":4.5, "y":1},
- {"label":"K15 (B1,C2)", "x":5.5, "y":1},
- {"label":"K16 (B1,C3)", "x":6.5, "y":1},
- {"label":"K17 (B1,C4)", "x":7.5, "y":1},
- {"label":"K18 (B1,C5)", "x":8.5, "y":1},
- {"label":"K19 (B1,C6)", "x":9.5, "y":1},
- {"label":"K1A (B1,C7)", "x":10.5, "y":1},
- {"label":"K1B (B1,D0)", "x":11.5, "y":1},
- {"label":"K1C (B1,D1)", "x":12.5, "y":1},
- {"label":"K2C (B2,D1)", "x":13.5, "y":1, "w":1.5},
- {"label":"K1E (B1,D3)", "x":15, "y":1},
- {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
- {"label":"K21 (B2,B6)", "x":1.75, "y":2},
- {"label":"K22 (B2,B7)", "x":2.75, "y":2},
- {"label":"K23 (B2,C0)", "x":3.75, "y":2},
- {"label":"K24 (B2,C1)", "x":4.75, "y":2},
- {"label":"K25 (B2,C2)", "x":5.75, "y":2},
- {"label":"K26 (B2,C3)", "x":6.75, "y":2},
- {"label":"K27 (B2,C4)", "x":7.75, "y":2},
- {"label":"K28 (B2,C5)", "x":8.75, "y":2},
- {"label":"K29 (B2,C6)", "x":9.75, "y":2},
- {"label":"K2A (B2,C7)", "x":10.75, "y":2},
- {"label":"K2B (B2,D0)", "x":11.75, "y":2},
- {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25},
- {"label":"K2E (B2,D3)", "x":15, "y":2},
- {"label":"K30 (B3,B5)", "x":0, "y":3, "w":2.25},
- {"label":"K32 (B3,B7)", "x":2.25, "y":3},
- {"label":"K33 (B3,C0)", "x":3.25, "y":3},
- {"label":"K34 (B3,C1)", "x":4.25, "y":3},
- {"label":"K35 (B3,C2)", "x":5.25, "y":3},
- {"label":"K36 (B3,C3)", "x":6.25, "y":3},
- {"label":"K37 (B3,C4)", "x":7.25, "y":3},
- {"label":"K38 (B3,C5)", "x":8.25, "y":3},
- {"label":"K39 (B3,C6)", "x":9.25, "y":3},
- {"label":"K3A (B3,C7)", "x":10.25, "y":3},
- {"label":"K3B (B3,D0)", "x":11.25, "y":3},
- {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
- {"label":"K3D (B3,D2)", "x":14, "y":3},
- {"label":"K3E (B3,D3)", "x":15, "y":3},
- {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
- {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
- {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
- {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
- {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
- {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
- {"label":"K4C (B4,D1)", "x":13, "y":4},
- {"label":"K4D (B4,D2)", "x":14, "y":4},
- {"label":"K4E (B4,D3)", "x":15, "y":4}
- ]
- },
- "LAYOUT_65_iso_blocker": {
- "layout": [
- {"label":"K00 (B0,B5)", "x":0, "y":0},
- {"label":"K01 (B0,B6)", "x":1, "y":0},
- {"label":"K02 (B0,B7)", "x":2, "y":0},
- {"label":"K03 (B0,C0)", "x":3, "y":0},
- {"label":"K04 (B0,C1)", "x":4, "y":0},
- {"label":"K05 (B0,C2)", "x":5, "y":0},
- {"label":"K06 (B0,C3)", "x":6, "y":0},
- {"label":"K07 (B0,C4)", "x":7, "y":0},
- {"label":"K08 (B0,C5)", "x":8, "y":0},
- {"label":"K09 (B0,C6)", "x":9, "y":0},
- {"label":"K0A (B0,C7)", "x":10, "y":0},
- {"label":"K0B (B0,D0)", "x":11, "y":0},
- {"label":"K0C (B0,D1)", "x":12, "y":0},
- {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2},
- {"label":"K0E (B0,D3)", "x":15, "y":0},
- {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
- {"label":"K11 (B1,B6)", "x":1.5, "y":1},
- {"label":"K12 (B1,B7)", "x":2.5, "y":1},
- {"label":"K13 (B1,C0)", "x":3.5, "y":1},
- {"label":"K14 (B1,C1)", "x":4.5, "y":1},
- {"label":"K15 (B1,C2)", "x":5.5, "y":1},
- {"label":"K16 (B1,C3)", "x":6.5, "y":1},
- {"label":"K17 (B1,C4)", "x":7.5, "y":1},
- {"label":"K18 (B1,C5)", "x":8.5, "y":1},
- {"label":"K19 (B1,C6)", "x":9.5, "y":1},
- {"label":"K1A (B1,C7)", "x":10.5, "y":1},
- {"label":"K1B (B1,D0)", "x":11.5, "y":1},
- {"label":"K1C (B1,D1)", "x":12.5, "y":1},
- {"label":"K2D (B2,D2)", "x":13.75, "y":1, "w":1.25, "h":2},
- {"label":"K1E (B1,D3)", "x":15, "y":1},
- {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
- {"label":"K21 (B2,B6)", "x":1.75, "y":2},
- {"label":"K22 (B2,B7)", "x":2.75, "y":2},
- {"label":"K23 (B2,C0)", "x":3.75, "y":2},
- {"label":"K24 (B2,C1)", "x":4.75, "y":2},
- {"label":"K25 (B2,C2)", "x":5.75, "y":2},
- {"label":"K26 (B2,C3)", "x":6.75, "y":2},
- {"label":"K27 (B2,C4)", "x":7.75, "y":2},
- {"label":"K28 (B2,C5)", "x":8.75, "y":2},
- {"label":"K29 (B2,C6)", "x":9.75, "y":2},
- {"label":"K2A (B2,C7)", "x":10.75, "y":2},
- {"label":"K2B (B2,D0)", "x":11.75, "y":2},
- {"label":"K2C (B2,D1)", "x":12.75, "y":2},
- {"label":"K2E (B2,D3)", "x":15, "y":2},
- {"label":"K30 (B3,B5)", "x":0, "y":3, "w":1.25},
- {"label":"K31 (B3,B6)", "x":1.25, "y":3},
- {"label":"K32 (B3,B7)", "x":2.25, "y":3},
- {"label":"K33 (B3,C0)", "x":3.25, "y":3},
- {"label":"K34 (B3,C1)", "x":4.25, "y":3},
- {"label":"K35 (B3,C2)", "x":5.25, "y":3},
- {"label":"K36 (B3,C3)", "x":6.25, "y":3},
- {"label":"K37 (B3,C4)", "x":7.25, "y":3},
- {"label":"K38 (B3,C5)", "x":8.25, "y":3},
- {"label":"K39 (B3,C6)", "x":9.25, "y":3},
- {"label":"K3A (B3,C7)", "x":10.25, "y":3},
- {"label":"K3B (B3,D0)", "x":11.25, "y":3},
- {"label":"K3C (B3,D1)", "x":12.25, "y":3, "w":1.75},
- {"label":"K3D (B3,D2)", "x":14, "y":3},
- {"label":"K3E (B3,D3)", "x":15, "y":3},
- {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
- {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
- {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
- {"label":"K46 (B4,C3)", "x":3.75, "y":4, "w":6.25},
- {"label":"K4A (B4,C7)", "x":10, "y":4, "w":1.25},
- {"label":"K4B (B4,D0)", "x":11.25, "y":4, "w":1.25},
- {"label":"K4C (B4,D1)", "x":13, "y":4},
- {"label":"K4D (B4,D2)", "x":14, "y":4},
- {"label":"K4E (B4,D3)", "x":15, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/mechlovin/hannah910/config.h b/keyboards/mechlovin/hannah910/config.h
index cc2ac81bc5..3a222e8d87 100644
--- a/keyboards/mechlovin/hannah910/config.h
+++ b/keyboards/mechlovin/hannah910/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-MechLovin'
-#define MANUFACTURER Mechlovin
-#define PRODUCT Mechlovin Hannah910
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B6, D3, C6, C7 }
#define MATRIX_COL_PINS { E6, B1, B3, F0, F1, F4, F5, F6, F7, D5, D4, B4, D6, D7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/hannah910/hannah910.c b/keyboards/mechlovin/hannah910/hannah910.c
index 3237636be2..70c1a7b8e3 100644
--- a/keyboards/mechlovin/hannah910/hannah910.c
+++ b/keyboards/mechlovin/hannah910/hannah910.c
@@ -34,20 +34,20 @@ void led_set_kb(uint8_t usb_led) {
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) {
+ if (get_highest_layer(state) == 1) {
writePinHigh(D2);
} else {
writePinLow(D2);
}
// if on layer 2, turn on D1 LED, otherwise off.
- if (biton32(state) == 2) {
+ if (get_highest_layer(state) == 2) {
writePinHigh(D1);
} else {
writePinLow(D1);
}
// if on layer 3, turn on D0 LED, otherwise off.
- if (biton32(state) == 3) {
+ if (get_highest_layer(state) == 3) {
writePinHigh(D0);
} else {
writePinLow(D0);
diff --git a/keyboards/mechlovin/hannah910/rev1/config.h b/keyboards/mechlovin/hannah910/rev1/config.h
index 906e0c8846..7b793c75b9 100644
--- a/keyboards/mechlovin/hannah910/rev1/config.h
+++ b/keyboards/mechlovin/hannah910/rev1/config.h
@@ -1,6 +1,3 @@
#pragma once
-#define PRODUCT_ID 0x9101
-#define DEVICE_VER 0x0001
-
#define RGBLED_NUM 9 \ No newline at end of file
diff --git a/keyboards/mechlovin/hannah910/rev1/info.json b/keyboards/mechlovin/hannah910/rev1/info.json
index 1f130c6992..bbfdddf1ad 100644
--- a/keyboards/mechlovin/hannah910/rev1/info.json
+++ b/keyboards/mechlovin/hannah910/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Hannah910",
+ "manufacturer": "Mechlovin",
"url": "",
"maintainer": "Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x9101",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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":"Back", "x":13, "y":0}, {"label":"Delete", "x":14, "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":"INS", "x":15, "y":1}, {"label":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"HOME", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"Shift", "x":1.25, "y":3}, {"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":"END", "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}, {"label":"Space", "x":3.75, "y":4, "w":2.75}, {"label":"Space", "x":6.5, "y":4, "w":1.25}, {"label":"Space", "x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Left", "x":13, "y":4}, {"label":"Down", "x":14, "y":4}, {"label":"Right", "x":15, "y":4}]
diff --git a/keyboards/mechlovin/hannah910/rev2/config.h b/keyboards/mechlovin/hannah910/rev2/config.h
index 3ae3cb65bc..c37c581ae6 100644
--- a/keyboards/mechlovin/hannah910/rev2/config.h
+++ b/keyboards/mechlovin/hannah910/rev2/config.h
@@ -1,6 +1,3 @@
#pragma once
-#define PRODUCT_ID 0x9102
-#define DEVICE_VER 0x0002
-
#define RGBLED_NUM 28 \ No newline at end of file
diff --git a/keyboards/mechlovin/hannah910/rev2/info.json b/keyboards/mechlovin/hannah910/rev2/info.json
index c2e5dd1a3e..d0eb8b208f 100644
--- a/keyboards/mechlovin/hannah910/rev2/info.json
+++ b/keyboards/mechlovin/hannah910/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Hannah910 Rev.2",
+ "keyboard_name": "Hannah910",
+ "manufacturer": "Mechlovin",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x9102",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/hannah910/rev3/config.h b/keyboards/mechlovin/hannah910/rev3/config.h
index 5e377f4d79..fbb878ab6a 100644
--- a/keyboards/mechlovin/hannah910/rev3/config.h
+++ b/keyboards/mechlovin/hannah910/rev3/config.h
@@ -1,6 +1,3 @@
#pragma once
-#define PRODUCT_ID 0x9103
-#define DEVICE_VER 0x0002
-
#define RGBLED_NUM 28
diff --git a/keyboards/mechlovin/hannah910/rev3/info.json b/keyboards/mechlovin/hannah910/rev3/info.json
index bb762dd589..44c797323b 100644
--- a/keyboards/mechlovin/hannah910/rev3/info.json
+++ b/keyboards/mechlovin/hannah910/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hannah910-rev3",
+ "keyboard_name": "Hannah910",
+ "manufacturer": "Mechlovin",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x9103",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/hex4b/config.h b/keyboards/mechlovin/hex4b/config.h
index c8176d76b5..4126b720b7 100644
--- a/keyboards/mechlovin/hex4b/config.h
+++ b/keyboards/mechlovin/hex4b/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0x0675 //Hex-75
-#define MANUFACTURER Mechlovin Studio
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/mechlovin/hex4b/info.json b/keyboards/mechlovin/hex4b/info.json
index 686d79cc0e..2edd39b3e2 100644
--- a/keyboards/mechlovin/hex4b/info.json
+++ b/keyboards/mechlovin/hex4b/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Hex4B",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Hex-Keyboard&Mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0675"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_split_bs",
"LAYOUT_all": "LAYOUT_split_bs"
diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
index 437233be52..e0634d85dc 100644
--- a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
+++ b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c
@@ -53,9 +53,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
bool led_update_user(led_t led_state) {
-
+
// Toggle CAPS_LOCK LED normally
-
+
# if LED_PIN_ON_STATE == 0
// invert the whole thing to avoid having to conditionally !led_state.x later
led_state.raw = ~led_state.raw;
@@ -69,30 +69,30 @@ bool led_update_user(led_t led_state) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
-
- uint8_t layer = biton32(state);
-
+
+ uint8_t layer = get_highest_layer(state);
+
#if defined(LED_NUM_LOCK_PIN) && defined(LED_SCROLL_LOCK_PIN)
switch (layer) {
case 0:
- writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
+ writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
+ writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
break;
case 1:
- writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
+ writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
+ writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
break;
case 2:
- writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
+ writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE);
+ writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
break;
case 3:
- writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
- writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
+ writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE);
+ writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
break;
}
#endif
- return state;
+ return state;
}
diff --git a/keyboards/mechlovin/hex4b/rev1/config.h b/keyboards/mechlovin/hex4b/rev1/config.h
index 014209cefd..8afeeaf593 100644
--- a/keyboards/mechlovin/hex4b/rev1/config.h
+++ b/keyboards/mechlovin/hex4b/rev1/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0001
-#define PRODUCT Hex-4B Rev.1
-
/*
* Keyboard Matrix Assignments
*
@@ -36,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B7, A2, A1, A3, A4, A5 }
#define MATRIX_COL_PINS { B6, B5, B3, B2, B1, B0, A0, A6, A7, C7, C6, C5, C4, D1, D0 }
-#define UNUSED_PINS
#define LED_NUM_LOCK_PIN D6
#define LED_CAPS_LOCK_PIN D7
diff --git a/keyboards/mechlovin/hex4b/rev1/info.json b/keyboards/mechlovin/hex4b/rev1/info.json
new file mode 100644
index 0000000000..b2dfdec696
--- /dev/null
+++ b/keyboards/mechlovin/hex4b/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Hex-4B Rev.1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mechlovin/hex4b/rev2/config.h b/keyboards/mechlovin/hex4b/rev2/config.h
index af956f3ec0..9eb4e03feb 100644
--- a/keyboards/mechlovin/hex4b/rev2/config.h
+++ b/keyboards/mechlovin/hex4b/rev2/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0002
-#define PRODUCT Hex-4B Rev.2
-
-
-
/*
* Keyboard Matrix Assignments
*
@@ -38,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A4, B12, B13, B14, B15, A1 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A3, C13, B7, B6, B5, B4, B3 }
-#define UNUSED_PINS
#define LED_NUM_LOCK_PIN C15
#define LED_CAPS_LOCK_PIN B9
diff --git a/keyboards/mechlovin/hex4b/rev2/info.json b/keyboards/mechlovin/hex4b/rev2/info.json
new file mode 100644
index 0000000000..da18a2ce4b
--- /dev/null
+++ b/keyboards/mechlovin/hex4b/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Hex-4B Rev.2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/mechlovin/hex4b/rev2/readme.md b/keyboards/mechlovin/hex4b/rev2/readme.md
index 328c869704..01ae8ea724 100644
--- a/keyboards/mechlovin/hex4b/rev2/readme.md
+++ b/keyboards/mechlovin/hex4b/rev2/readme.md
@@ -24,5 +24,5 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
* **Hardware reset**: Press reset button (located on the top side of the PCB) \ No newline at end of file
diff --git a/keyboards/mechlovin/hex6c/config.h b/keyboards/mechlovin/hex6c/config.h
index b79b5211c2..c3125f217f 100644
--- a/keyboards/mechlovin/hex6c/config.h
+++ b/keyboards/mechlovin/hex6c/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0x6C01
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin Studio and Hex Keyboard
-#define PRODUCT Hex6C
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 21
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
#define MATRIX_COL_PINS { A13, A14, A1, A0, C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7, B1, B2, B10, B3, B14, B15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/hex6c/info.json b/keyboards/mechlovin/hex6c/info.json
index 0d8a6529db..5c01225cd7 100644
--- a/keyboards/mechlovin/hex6c/info.json
+++ b/keyboards/mechlovin/hex6c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hex-6C",
+ "keyboard_name": "Hex6C",
+ "manufacturer": "Mechlovin Studio and Hex Keyboard",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6C01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/infinity87/config.h b/keyboards/mechlovin/infinity87/config.h
index a344c98b8f..6692b78292 100644
--- a/keyboards/mechlovin/infinity87/config.h
+++ b/keyboards/mechlovin/infinity87/config.h
@@ -18,11 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML
-
-#define MANUFACTURER Mechlovin.Studio
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/mechlovin/infinity87/infinity87.h b/keyboards/mechlovin/infinity87/infinity87.h
index f56d960e92..b7b00bef40 100644
--- a/keyboards/mechlovin/infinity87/infinity87.h
+++ b/keyboards/mechlovin/infinity87/infinity87.h
@@ -16,19 +16,3 @@
#pragma once
#include "quantum.h"
-
-#define LAYOUT_all( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K0D, K1E, K1F, K1G, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
- K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
- { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
-}
diff --git a/keyboards/mechlovin/infinity87/rev1/rev1.h b/keyboards/mechlovin/infinity87/rev1/rev1.h
index de623a1cdd..167ed6940a 100644
--- a/keyboards/mechlovin/infinity87/rev1/rev1.h
+++ b/keyboards/mechlovin/infinity87/rev1/rev1.h
@@ -17,11 +17,3 @@
#pragma once
#include "quantum.h"
-
-#ifdef KEYBOARD_mechlovin_infinity87_rev1_rogue87
- #include "rogue87.h"
-#elif KEYBOARD_mechlovin_infinity87_rev1_rouge87
- #include "rouge87.h"
-#elif KEYBOARD_mechlovin_infinity87_rev1_standard
- #include "infinity87.h"
-#endif
diff --git a/keyboards/mechlovin/infinity87/rev1/rogue87/config.h b/keyboards/mechlovin/infinity87/rev1/rogue87/config.h
deleted file mode 100644
index 3415f3add9..0000000000
--- a/keyboards/mechlovin/infinity87/rev1/rogue87/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 PRODUCT_ID 0x8704
-#define DEVICE_VER 0x0001
-#define PRODUCT Rogue87 Rev.1 \ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/rev1/rogue87/info.json b/keyboards/mechlovin/infinity87/rev1/rogue87/info.json
index 3ffa181666..25fa20a9c7 100644
--- a/keyboards/mechlovin/infinity87/rev1/rogue87/info.json
+++ b/keyboards/mechlovin/infinity87/rev1/rogue87/info.json
@@ -1,96 +1,115 @@
{
- "keyboard_name": "Rogue87",
+ "keyboard_name": "Rogue87 Rev.1",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8704",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":2, "y":0},
- {"label":"K02", "x":3, "y":0},
- {"label":"K03", "x":4, "y":0},
- {"label":"K04", "x":5, "y":0},
- {"label":"K05", "x":6.5, "y":0},
- {"label":"K06", "x":7.5, "y":0},
- {"label":"K07", "x":8.5, "y":0},
- {"label":"K08", "x":9.5, "y":0},
- {"label":"K09", "x":11, "y":0},
- {"label":"K0A", "x":12, "y":0},
- {"label":"K0B", "x":13, "y":0},
- {"label":"K0C", "x":14, "y":0},
- {"label":"K0E", "x":15.25, "y":0},
- {"label":"K0F", "x":16.25, "y":0},
- {"label":"K0G", "x":17.25, "y":0},
- {"label":"K10", "x":0, "y":1.25},
- {"label":"K11", "x":1, "y":1.25},
- {"label":"K12", "x":2, "y":1.25},
- {"label":"K13", "x":3, "y":1.25},
- {"label":"K14", "x":4, "y":1.25},
- {"label":"K15", "x":5, "y":1.25},
- {"label":"K16", "x":6, "y":1.25},
- {"label":"K17", "x":7, "y":1.25},
- {"label":"K18", "x":8, "y":1.25},
- {"label":"K19", "x":9, "y":1.25},
- {"label":"K1A", "x":10, "y":1.25},
- {"label":"K1B", "x":11, "y":1.25},
- {"label":"K1C", "x":12, "y":1.25},
- {"label":"K1D", "x":13, "y":1.25, "w":2},
- {"label":"K1E", "x":15.25, "y":1.25},
- {"label":"K1F", "x":16.25, "y":1.25},
- {"label":"K1G", "x":17.25, "y":1.25},
- {"label":"K20", "x":0, "y":2.25, "w":1.5},
- {"label":"K21", "x":1.5, "y":2.25},
- {"label":"K22", "x":2.5, "y":2.25},
- {"label":"K23", "x":3.5, "y":2.25},
- {"label":"K24", "x":4.5, "y":2.25},
- {"label":"K25", "x":5.5, "y":2.25},
- {"label":"K26", "x":6.5, "y":2.25},
- {"label":"K27", "x":7.5, "y":2.25},
- {"label":"K28", "x":8.5, "y":2.25},
- {"label":"K29", "x":9.5, "y":2.25},
- {"label":"K2A", "x":10.5, "y":2.25},
- {"label":"K2B", "x":11.5, "y":2.25},
- {"label":"K2C", "x":12.5, "y":2.25},
- {"label":"K2D", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E", "x":15.25, "y":2.25},
- {"label":"K2F", "x":16.25, "y":2.25},
- {"label":"K2G", "x":17.25, "y":2.25},
- {"label":"K30", "x":0, "y":3.25, "w":1.75},
- {"label":"K31", "x":1.75, "y":3.25},
- {"label":"K32", "x":2.75, "y":3.25},
- {"label":"K33", "x":3.75, "y":3.25},
- {"label":"K34", "x":4.75, "y":3.25},
- {"label":"K35", "x":5.75, "y":3.25},
- {"label":"K36", "x":6.75, "y":3.25},
- {"label":"K37", "x":7.75, "y":3.25},
- {"label":"K38", "x":8.75, "y":3.25},
- {"label":"K39", "x":9.75, "y":3.25},
- {"label":"K3A", "x":10.75, "y":3.25},
- {"label":"K3B", "x":11.75, "y":3.25},
- {"label":"K3C", "x":12.75, "y":3.25},
- {"label":"K3D", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40", "x":0, "y":4.25, "w":1.25},
- {"label":"K41", "x":1.25, "y":4.25},
- {"label":"K42", "x":2.25, "y":4.25},
- {"label":"K43", "x":3.25, "y":4.25},
- {"label":"K44", "x":4.25, "y":4.25},
- {"label":"K45", "x":5.25, "y":4.25},
- {"label":"K46", "x":6.25, "y":4.25},
- {"label":"K47", "x":7.25, "y":4.25},
- {"label":"K48", "x":8.25, "y":4.25},
- {"label":"K49", "x":9.25, "y":4.25},
- {"label":"K4A", "x":10.25, "y":4.25},
- {"label":"K4B", "x":11.25, "y":4.25},
- {"label":"K4D", "x":12.25, "y":4.25, "w":2.75},
- {"label":"K4F", "x":16.25, "y":4.25},
- {"label":"K50", "x":0, "y":5.25, "w":1.5},
- {"label":"K52", "x":2.5, "y":5.25, "w":1.5},
- {"label":"K56", "x":4, "y":5.25, "w":7},
- {"label":"K5B", "x":11, "y":5.25, "w":1.5},
- {"label":"K5D", "x":13.5, "y":5.25, "w":1.5},
- {"label":"K5E", "x":15.25, "y":5.25},
- {"label":"K5F", "x":16.25, "y":5.25},
- {"label":"K5G", "x":17.25, "y":5.25}
+ {"label":"K00", "x":0, "y":0, "matrix": [0, 0]},
+
+ {"label":"K01", "x":2, "y":0, "matrix": [0, 1]},
+ {"label":"K02", "x":3, "y":0, "matrix": [0, 2]},
+ {"label":"K03", "x":4, "y":0, "matrix": [0, 3]},
+ {"label":"K04", "x":5, "y":0, "matrix": [0, 4]},
+
+ {"label":"K05", "x":6.5, "y":0, "matrix": [0, 5]},
+ {"label":"K06", "x":7.5, "y":0, "matrix": [0, 6]},
+ {"label":"K07", "x":8.5, "y":0, "matrix": [0, 7]},
+ {"label":"K08", "x":9.5, "y":0, "matrix": [0, 8]},
+
+ {"label":"K09", "x":11, "y":0, "matrix": [0, 9]},
+ {"label":"K0A", "x":12, "y":0, "matrix": [0, 10]},
+ {"label":"K0B", "x":13, "y":0, "matrix": [0, 11]},
+ {"label":"K0C", "x":14, "y":0, "matrix": [0, 12]},
+
+ {"label":"K0E", "x":15.25, "y":0, "matrix": [0, 14]},
+ {"label":"K0F", "x":16.25, "y":0, "matrix": [0, 15]},
+ {"label":"K0G", "x":17.25, "y":0, "matrix": [0, 16]},
+
+ {"label":"K10", "x":0, "y":1.25, "matrix": [1, 0]},
+ {"label":"K11", "x":1, "y":1.25, "matrix": [1, 1]},
+ {"label":"K12", "x":2, "y":1.25, "matrix": [1, 2]},
+ {"label":"K13", "x":3, "y":1.25, "matrix": [1, 3]},
+ {"label":"K14", "x":4, "y":1.25, "matrix": [1, 4]},
+ {"label":"K15", "x":5, "y":1.25, "matrix": [1, 5]},
+ {"label":"K16", "x":6, "y":1.25, "matrix": [1, 6]},
+ {"label":"K17", "x":7, "y":1.25, "matrix": [1, 7]},
+ {"label":"K18", "x":8, "y":1.25, "matrix": [1, 8]},
+ {"label":"K19", "x":9, "y":1.25, "matrix": [1, 9]},
+ {"label":"K1A", "x":10, "y":1.25, "matrix": [1, 10]},
+ {"label":"K1B", "x":11, "y":1.25, "matrix": [1, 11]},
+ {"label":"K1C", "x":12, "y":1.25, "matrix": [1, 12]},
+ {"label":"K1D", "x":13, "y":1.25, "w":2, "matrix": [1, 13]},
+
+ {"label":"K1E", "x":15.25, "y":1.25, "matrix": [1, 14]},
+ {"label":"K1F", "x":16.25, "y":1.25, "matrix": [1, 15]},
+ {"label":"K1G", "x":17.25, "y":1.25, "matrix": [1, 16]},
+
+ {"label":"K20", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]},
+ {"label":"K21", "x":1.5, "y":2.25, "matrix": [2, 1]},
+ {"label":"K22", "x":2.5, "y":2.25, "matrix": [2, 2]},
+ {"label":"K23", "x":3.5, "y":2.25, "matrix": [2, 3]},
+ {"label":"K24", "x":4.5, "y":2.25, "matrix": [2, 4]},
+ {"label":"K25", "x":5.5, "y":2.25, "matrix": [2, 5]},
+ {"label":"K26", "x":6.5, "y":2.25, "matrix": [2, 6]},
+ {"label":"K27", "x":7.5, "y":2.25, "matrix": [2, 7]},
+ {"label":"K28", "x":8.5, "y":2.25, "matrix": [2, 8]},
+ {"label":"K29", "x":9.5, "y":2.25, "matrix": [2, 9]},
+ {"label":"K2A", "x":10.5, "y":2.25, "matrix": [2, 10]},
+ {"label":"K2B", "x":11.5, "y":2.25, "matrix": [2, 11]},
+ {"label":"K2C", "x":12.5, "y":2.25, "matrix": [2, 12]},
+ {"label":"K2D", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+
+ {"label":"K2E", "x":15.25, "y":2.25, "matrix": [2, 14]},
+ {"label":"K2F", "x":16.25, "y":2.25, "matrix": [2, 15]},
+ {"label":"K2G", "x":17.25, "y":2.25, "matrix": [2, 16]},
+
+ {"label":"K30", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]},
+ {"label":"K31", "x":1.75, "y":3.25, "matrix": [3, 1]},
+ {"label":"K32", "x":2.75, "y":3.25, "matrix": [3, 2]},
+ {"label":"K33", "x":3.75, "y":3.25, "matrix": [3, 3]},
+ {"label":"K34", "x":4.75, "y":3.25, "matrix": [3, 4]},
+ {"label":"K35", "x":5.75, "y":3.25, "matrix": [3, 5]},
+ {"label":"K36", "x":6.75, "y":3.25, "matrix": [3, 6]},
+ {"label":"K37", "x":7.75, "y":3.25, "matrix": [3, 7]},
+ {"label":"K38", "x":8.75, "y":3.25, "matrix": [3, 8]},
+ {"label":"K39", "x":9.75, "y":3.25, "matrix": [3, 9]},
+ {"label":"K3A", "x":10.75, "y":3.25, "matrix": [3, 10]},
+ {"label":"K3B", "x":11.75, "y":3.25, "matrix": [3, 11]},
+ {"label":"K3C", "x":12.75, "y":3.25, "matrix": [3, 12]},
+ {"label":"K3D", "x":13.75, "y":3.25, "w":1.25, "matrix": [3, 13]},
+
+ {"label":"K40", "x":0, "y":4.25, "w":1.25, "matrix": [4, 0]},
+ {"label":"K41", "x":1.25, "y":4.25, "matrix": [4, 1]},
+ {"label":"K42", "x":2.25, "y":4.25, "matrix": [4, 2]},
+ {"label":"K43", "x":3.25, "y":4.25, "matrix": [4, 3]},
+ {"label":"K44", "x":4.25, "y":4.25, "matrix": [4, 4]},
+ {"label":"K45", "x":5.25, "y":4.25, "matrix": [4, 5]},
+ {"label":"K46", "x":6.25, "y":4.25, "matrix": [4, 6]},
+ {"label":"K47", "x":7.25, "y":4.25, "matrix": [4, 7]},
+ {"label":"K48", "x":8.25, "y":4.25, "matrix": [4, 8]},
+ {"label":"K49", "x":9.25, "y":4.25, "matrix": [4, 9]},
+ {"label":"K4A", "x":10.25, "y":4.25, "matrix": [4, 10]},
+ {"label":"K4B", "x":11.25, "y":4.25, "matrix": [4, 11]},
+ {"label":"K4D", "x":12.25, "y":4.25, "w":2.75, "matrix": [4, 13]},
+
+ {"label":"K4F", "x":16.25, "y":4.25, "matrix": [4, 15]},
+
+ {"label":"K50", "x":0, "y":5.25, "w":1.5, "matrix": [5, 0]},
+ {"label":"K52", "x":2.5, "y":5.25, "w":1.5, "matrix": [5, 2]},
+ {"label":"K56", "x":4, "y":5.25, "w":7, "matrix": [5, 6]},
+ {"label":"K5B", "x":11, "y":5.25, "w":1.5, "matrix": [5, 11]},
+ {"label":"K5D", "x":13.5, "y":5.25, "w":1.5, "matrix": [5, 13]},
+
+ {"label":"K5E", "x":15.25, "y":5.25, "matrix": [5, 14]},
+ {"label":"K5F", "x":16.25, "y":5.25, "matrix": [5, 15]},
+ {"label":"K5G", "x":17.25, "y":5.25, "matrix": [5, 16]}
]
}
}
diff --git a/keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h b/keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h
deleted file mode 100644
index 70a50b9620..0000000000
--- a/keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
- K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F, K0G }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO}, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO}, \
- { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
-}
diff --git a/keyboards/mechlovin/infinity87/rev1/rouge87/config.h b/keyboards/mechlovin/infinity87/rev1/rouge87/config.h
deleted file mode 100644
index 786da387bc..0000000000
--- a/keyboards/mechlovin/infinity87/rev1/rouge87/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 PRODUCT_ID 0x8703
-#define DEVICE_VER 0x0001
-#define PRODUCT Rouge87 Rev.1
diff --git a/keyboards/mechlovin/infinity87/rev1/rouge87/info.json b/keyboards/mechlovin/infinity87/rev1/rouge87/info.json
index 8faaa83fd1..983d20fdbf 100644
--- a/keyboards/mechlovin/infinity87/rev1/rouge87/info.json
+++ b/keyboards/mechlovin/infinity87/rev1/rouge87/info.json
@@ -1,98 +1,117 @@
{
- "keyboard_name": "Rouge87",
+ "keyboard_name": "Rouge87 Rev.1",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8703",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":2, "y":0},
- {"label":"K02", "x":3, "y":0},
- {"label":"K03", "x":4, "y":0},
- {"label":"K04", "x":5, "y":0},
- {"label":"K05", "x":6.5, "y":0},
- {"label":"K06", "x":7.5, "y":0},
- {"label":"K07", "x":8.5, "y":0},
- {"label":"K08", "x":9.5, "y":0},
- {"label":"K09", "x":11, "y":0},
- {"label":"K0A", "x":12, "y":0},
- {"label":"K0B", "x":13, "y":0},
- {"label":"K0C", "x":14, "y":0},
- {"label":"K0E", "x":15.25, "y":0},
- {"label":"K0F", "x":16.25, "y":0},
- {"label":"K0G", "x":17.25, "y":0},
- {"label":"K10", "x":0, "y":1.25},
- {"label":"K11", "x":1, "y":1.25},
- {"label":"K12", "x":2, "y":1.25},
- {"label":"K13", "x":3, "y":1.25},
- {"label":"K14", "x":4, "y":1.25},
- {"label":"K15", "x":5, "y":1.25},
- {"label":"K16", "x":6, "y":1.25},
- {"label":"K17", "x":7, "y":1.25},
- {"label":"K18", "x":8, "y":1.25},
- {"label":"K19", "x":9, "y":1.25},
- {"label":"K1A", "x":10, "y":1.25},
- {"label":"K1B", "x":11, "y":1.25},
- {"label":"K1C", "x":12, "y":1.25},
- {"label":"K1D", "x":13, "y":1.25, "w":2},
- {"label":"K1E", "x":15.25, "y":1.25},
- {"label":"K1F", "x":16.25, "y":1.25},
- {"label":"K1G", "x":17.25, "y":1.25},
- {"label":"K20", "x":0, "y":2.25, "w":1.5},
- {"label":"K21", "x":1.5, "y":2.25},
- {"label":"K22", "x":2.5, "y":2.25},
- {"label":"K23", "x":3.5, "y":2.25},
- {"label":"K24", "x":4.5, "y":2.25},
- {"label":"K25", "x":5.5, "y":2.25},
- {"label":"K26", "x":6.5, "y":2.25},
- {"label":"K27", "x":7.5, "y":2.25},
- {"label":"K28", "x":8.5, "y":2.25},
- {"label":"K29", "x":9.5, "y":2.25},
- {"label":"K2A", "x":10.5, "y":2.25},
- {"label":"K2B", "x":11.5, "y":2.25},
- {"label":"K2C", "x":12.5, "y":2.25},
- {"label":"K2D", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E", "x":15.25, "y":2.25},
- {"label":"K2F", "x":16.25, "y":2.25},
- {"label":"K2G", "x":17.25, "y":2.25},
- {"label":"K30", "x":0, "y":3.25, "w":1.75},
- {"label":"K31", "x":1.75, "y":3.25},
- {"label":"K32", "x":2.75, "y":3.25},
- {"label":"K33", "x":3.75, "y":3.25},
- {"label":"K34", "x":4.75, "y":3.25},
- {"label":"K35", "x":5.75, "y":3.25},
- {"label":"K36", "x":6.75, "y":3.25},
- {"label":"K37", "x":7.75, "y":3.25},
- {"label":"K38", "x":8.75, "y":3.25},
- {"label":"K39", "x":9.75, "y":3.25},
- {"label":"K3A", "x":10.75, "y":3.25},
- {"label":"K3B", "x":11.75, "y":3.25},
- {"label":"K3C", "x":12.75, "y":3.25},
- {"label":"K3D", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40", "x":0, "y":4.25, "w":1.25},
- {"label":"K41", "x":1.25, "y":4.25},
- {"label":"K42", "x":2.25, "y":4.25},
- {"label":"K43", "x":3.25, "y":4.25},
- {"label":"K44", "x":4.25, "y":4.25},
- {"label":"K45", "x":5.25, "y":4.25},
- {"label":"K46", "x":6.25, "y":4.25},
- {"label":"K47", "x":7.25, "y":4.25},
- {"label":"K48", "x":8.25, "y":4.25},
- {"label":"K49", "x":9.25, "y":4.25},
- {"label":"K4A", "x":10.25, "y":4.25},
- {"label":"K4B", "x":11.25, "y":4.25},
- {"label":"K4D", "x":12.25, "y":4.25, "w":2.75},
- {"label":"K4F", "x":16.25, "y":4.25},
- {"label":"K50", "x":0, "y":5.25, "w":1.5},
- {"label":"K51", "x":1.5, "y":5.25},
- {"label":"K52", "x":2.5, "y":5.25, "w":1.5},
- {"label":"K56", "x":4, "y":5.25, "w":7},
- {"label":"K5B", "x":11, "y":5.25, "w":1.5},
- {"label":"K5C", "x":12.5, "y":5.25},
- {"label":"K5D", "x":13.5, "y":5.25, "w":1.5},
- {"label":"K5E", "x":15.25, "y":5.25},
- {"label":"K5F", "x":16.25, "y":5.25},
- {"label":"K5G", "x":17.25, "y":5.25}
+ {"label":"K00", "x":0, "y":0, "matrix": [0, 0]},
+
+ {"label":"K01", "x":2, "y":0, "matrix": [0, 1]},
+ {"label":"K02", "x":3, "y":0, "matrix": [0, 2]},
+ {"label":"K03", "x":4, "y":0, "matrix": [0, 3]},
+ {"label":"K04", "x":5, "y":0, "matrix": [0, 4]},
+
+ {"label":"K05", "x":6.5, "y":0, "matrix": [0, 5]},
+ {"label":"K06", "x":7.5, "y":0, "matrix": [0, 6]},
+ {"label":"K07", "x":8.5, "y":0, "matrix": [0, 7]},
+ {"label":"K08", "x":9.5, "y":0, "matrix": [0, 8]},
+
+ {"label":"K09", "x":11, "y":0, "matrix": [0, 9]},
+ {"label":"K0A", "x":12, "y":0, "matrix": [0, 10]},
+ {"label":"K0B", "x":13, "y":0, "matrix": [0, 11]},
+ {"label":"K0C", "x":14, "y":0, "matrix": [0, 12]},
+
+ {"label":"K0E", "x":15.25, "y":0, "matrix": [0, 14]},
+ {"label":"K0F", "x":16.25, "y":0, "matrix": [0, 15]},
+ {"label":"K0G", "x":17.25, "y":0, "matrix": [0, 16]},
+
+ {"label":"K10", "x":0, "y":1.25, "matrix": [1, 0]},
+ {"label":"K11", "x":1, "y":1.25, "matrix": [1, 1]},
+ {"label":"K12", "x":2, "y":1.25, "matrix": [1, 2]},
+ {"label":"K13", "x":3, "y":1.25, "matrix": [1, 3]},
+ {"label":"K14", "x":4, "y":1.25, "matrix": [1, 4]},
+ {"label":"K15", "x":5, "y":1.25, "matrix": [1, 5]},
+ {"label":"K16", "x":6, "y":1.25, "matrix": [1, 6]},
+ {"label":"K17", "x":7, "y":1.25, "matrix": [1, 7]},
+ {"label":"K18", "x":8, "y":1.25, "matrix": [1, 8]},
+ {"label":"K19", "x":9, "y":1.25, "matrix": [1, 9]},
+ {"label":"K1A", "x":10, "y":1.25, "matrix": [1, 10]},
+ {"label":"K1B", "x":11, "y":1.25, "matrix": [1, 11]},
+ {"label":"K1C", "x":12, "y":1.25, "matrix": [1, 12]},
+ {"label":"K1D", "x":13, "y":1.25, "w":2, "matrix": [1, 13]},
+
+ {"label":"K1E", "x":15.25, "y":1.25, "matrix": [1, 14]},
+ {"label":"K1F", "x":16.25, "y":1.25, "matrix": [1, 15]},
+ {"label":"K1G", "x":17.25, "y":1.25, "matrix": [1, 16]},
+
+ {"label":"K20", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]},
+ {"label":"K21", "x":1.5, "y":2.25, "matrix": [2, 1]},
+ {"label":"K22", "x":2.5, "y":2.25, "matrix": [2, 2]},
+ {"label":"K23", "x":3.5, "y":2.25, "matrix": [2, 3]},
+ {"label":"K24", "x":4.5, "y":2.25, "matrix": [2, 4]},
+ {"label":"K25", "x":5.5, "y":2.25, "matrix": [2, 5]},
+ {"label":"K26", "x":6.5, "y":2.25, "matrix": [2, 6]},
+ {"label":"K27", "x":7.5, "y":2.25, "matrix": [2, 7]},
+ {"label":"K28", "x":8.5, "y":2.25, "matrix": [2, 8]},
+ {"label":"K29", "x":9.5, "y":2.25, "matrix": [2, 9]},
+ {"label":"K2A", "x":10.5, "y":2.25, "matrix": [2, 10]},
+ {"label":"K2B", "x":11.5, "y":2.25, "matrix": [2, 11]},
+ {"label":"K2C", "x":12.5, "y":2.25, "matrix": [2, 12]},
+ {"label":"K2D", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+
+ {"label":"K2E", "x":15.25, "y":2.25, "matrix": [2, 14]},
+ {"label":"K2F", "x":16.25, "y":2.25, "matrix": [2, 15]},
+ {"label":"K2G", "x":17.25, "y":2.25, "matrix": [2, 16]},
+
+ {"label":"K30", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]},
+ {"label":"K31", "x":1.75, "y":3.25, "matrix": [3, 1]},
+ {"label":"K32", "x":2.75, "y":3.25, "matrix": [3, 2]},
+ {"label":"K33", "x":3.75, "y":3.25, "matrix": [3, 3]},
+ {"label":"K34", "x":4.75, "y":3.25, "matrix": [3, 4]},
+ {"label":"K35", "x":5.75, "y":3.25, "matrix": [3, 5]},
+ {"label":"K36", "x":6.75, "y":3.25, "matrix": [3, 6]},
+ {"label":"K37", "x":7.75, "y":3.25, "matrix": [3, 7]},
+ {"label":"K38", "x":8.75, "y":3.25, "matrix": [3, 8]},
+ {"label":"K39", "x":9.75, "y":3.25, "matrix": [3, 9]},
+ {"label":"K3A", "x":10.75, "y":3.25, "matrix": [3, 10]},
+ {"label":"K3B", "x":11.75, "y":3.25, "matrix": [3, 11]},
+ {"label":"K3C", "x":12.75, "y":3.25, "matrix": [3, 12]},
+ {"label":"K3D", "x":13.75, "y":3.25, "w":1.25, "matrix": [3, 13]},
+
+ {"label":"K40", "x":0, "y":4.25, "w":1.25, "matrix": [4, 0]},
+ {"label":"K41", "x":1.25, "y":4.25, "matrix": [4, 1]},
+ {"label":"K42", "x":2.25, "y":4.25, "matrix": [4, 2]},
+ {"label":"K43", "x":3.25, "y":4.25, "matrix": [4, 3]},
+ {"label":"K44", "x":4.25, "y":4.25, "matrix": [4, 4]},
+ {"label":"K45", "x":5.25, "y":4.25, "matrix": [4, 5]},
+ {"label":"K46", "x":6.25, "y":4.25, "matrix": [4, 6]},
+ {"label":"K47", "x":7.25, "y":4.25, "matrix": [4, 7]},
+ {"label":"K48", "x":8.25, "y":4.25, "matrix": [4, 8]},
+ {"label":"K49", "x":9.25, "y":4.25, "matrix": [4, 9]},
+ {"label":"K4A", "x":10.25, "y":4.25, "matrix": [4, 10]},
+ {"label":"K4B", "x":11.25, "y":4.25, "matrix": [4, 11]},
+ {"label":"K4D", "x":12.25, "y":4.25, "w":2.75, "matrix": [4, 13]},
+
+ {"label":"K4F", "x":16.25, "y":4.25, "matrix": [4, 15]},
+
+ {"label":"K50", "x":0, "y":5.25, "w":1.5, "matrix": [5, 0]},
+ {"label":"K51", "x":1.5, "y":5.25, "matrix": [5, 1]},
+ {"label":"K52", "x":2.5, "y":5.25, "w":1.5, "matrix": [5, 2]},
+ {"label":"K56", "x":4, "y":5.25, "w":7, "matrix": [5, 6]},
+ {"label":"K5B", "x":11, "y":5.25, "w":1.5, "matrix": [5, 11]},
+ {"label":"K5C", "x":12.5, "y":5.25, "matrix": [5, 12]},
+ {"label":"K5D", "x":13.5, "y":5.25, "w":1.5, "matrix": [5, 13]},
+
+ {"label":"K5E", "x":15.25, "y":5.25, "matrix": [5, 14]},
+ {"label":"K5F", "x":16.25, "y":5.25, "matrix": [5, 15]},
+ {"label":"K5G", "x":17.25, "y":5.25, "matrix": [5, 16]}
]
}
}
diff --git a/keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h b/keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h
deleted file mode 100644
index 67dcefde26..0000000000
--- a/keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
- K50, K51, K52, K56, K5B, K5C, K5D, K5E, K5F, K5G \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F, K0G }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO}, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO}, \
- { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G }, \
-}
-
diff --git a/keyboards/mechlovin/infinity87/rev1/standard/config.h b/keyboards/mechlovin/infinity87/rev1/standard/config.h
index b3ae5a7717..c7e4f601e1 100644
--- a/keyboards/mechlovin/infinity87/rev1/standard/config.h
+++ b/keyboards/mechlovin/infinity87/rev1/standard/config.h
@@ -16,10 +16,6 @@
#pragma once
-#define PRODUCT_ID 0x8701
-#define DEVICE_VER 0x0001
-#define PRODUCT Infinity 87 rev1
-
#define RGB_DI_PIN A15
#define RGBLED_NUM 26
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
diff --git a/keyboards/mechlovin/infinity87/rev1/standard/info.json b/keyboards/mechlovin/infinity87/rev1/standard/info.json
index da67c40c39..29597cce3f 100644
--- a/keyboards/mechlovin/infinity87/rev1/standard/info.json
+++ b/keyboards/mechlovin/infinity87/rev1/standard/info.json
@@ -1,101 +1,120 @@
{
- "keyboard_name": "infinity87",
+ "keyboard_name": "infinity87 Rev.1",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8701",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"K00 (B0,B6)", "x":0, "y":0},
- {"label":"K01 (B0,F4)", "x":2, "y":0},
- {"label":"K02 (B0,C0)", "x":3, "y":0},
- {"label":"K03 (B0,C1)", "x":4, "y":0},
- {"label":"K04 (B0,C2)", "x":5, "y":0},
- {"label":"K05 (B0,C3)", "x":6.5, "y":0},
- {"label":"K06 (B0,C4)", "x":7.5, "y":0},
- {"label":"K07 (B0,C5)", "x":8.5, "y":0},
- {"label":"K08 (B0,C6)", "x":9.5, "y":0},
- {"label":"K09 (B0,C7)", "x":11, "y":0},
- {"label":"K0A (B0,D0)", "x":12, "y":0},
- {"label":"K0B (B0,D1)", "x":13, "y":0},
- {"label":"K0C (B0,D2)", "x":14, "y":0},
- {"label":"K0E (B0,D4)", "x":15.25, "y":0},
- {"label":"K0F (B0,D5)", "x":16.25, "y":0},
- {"label":"K0G (B0,D6)", "x":17.25, "y":0},
- {"label":"K10 (B1,B6)", "x":0, "y":1.25},
- {"label":"K11 (B1,F4)", "x":1, "y":1.25},
- {"label":"K12 (B1,C0)", "x":2, "y":1.25},
- {"label":"K13 (B1,C1)", "x":3, "y":1.25},
- {"label":"K14 (B1,C2)", "x":4, "y":1.25},
- {"label":"K15 (B1,C3)", "x":5, "y":1.25},
- {"label":"K16 (B1,C4)", "x":6, "y":1.25},
- {"label":"K17 (B1,C5)", "x":7, "y":1.25},
- {"label":"K18 (B1,C6)", "x":8, "y":1.25},
- {"label":"K19 (B1,C7)", "x":9, "y":1.25},
- {"label":"K1A (B1,D0)", "x":10, "y":1.25},
- {"label":"K1B (B1,D1)", "x":11, "y":1.25},
- {"label":"K1C (B1,D2)", "x":12, "y":1.25},
- {"label":"K1D (B1,D3)", "x":13, "y":1.25},
- {"label":"K0D (B0,D3)", "x":14, "y":1.25},
- {"label":"K1E (B1,D4)", "x":15.25, "y":1.25},
- {"label":"K1F (B1,D5)", "x":16.25, "y":1.25},
- {"label":"K1G (B1,D6)", "x":17.25, "y":1.25},
- {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5},
- {"label":"K21 (B2,F4)", "x":1.5, "y":2.25},
- {"label":"K22 (B2,C0)", "x":2.5, "y":2.25},
- {"label":"K23 (B2,C1)", "x":3.5, "y":2.25},
- {"label":"K24 (B2,C2)", "x":4.5, "y":2.25},
- {"label":"K25 (B2,C3)", "x":5.5, "y":2.25},
- {"label":"K26 (B2,C4)", "x":6.5, "y":2.25},
- {"label":"K27 (B2,C5)", "x":7.5, "y":2.25},
- {"label":"K28 (B2,C6)", "x":8.5, "y":2.25},
- {"label":"K29 (B2,C7)", "x":9.5, "y":2.25},
- {"label":"K2A (B2,D0)", "x":10.5, "y":2.25},
- {"label":"K2B (B2,D1)", "x":11.5, "y":2.25},
- {"label":"K2C (B2,D2)", "x":12.5, "y":2.25},
- {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E (B2,D4)", "x":15.25, "y":2.25},
- {"label":"K2F (B2,D5)", "x":16.25, "y":2.25},
- {"label":"K2G (B2,D6)", "x":17.25, "y":2.25},
- {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75},
- {"label":"K31 (B3,F4)", "x":1.75, "y":3.25},
- {"label":"K32 (B3,C0)", "x":2.75, "y":3.25},
- {"label":"K33 (B3,C1)", "x":3.75, "y":3.25},
- {"label":"K34 (B3,C2)", "x":4.75, "y":3.25},
- {"label":"K35 (B3,C3)", "x":5.75, "y":3.25},
- {"label":"K36 (B3,C4)", "x":6.75, "y":3.25},
- {"label":"K37 (B3,C5)", "x":7.75, "y":3.25},
- {"label":"K38 (B3,C6)", "x":8.75, "y":3.25},
- {"label":"K39 (B3,C7)", "x":9.75, "y":3.25},
- {"label":"K3A (B3,D0)", "x":10.75, "y":3.25},
- {"label":"K3B (B3,D1)", "x":11.75, "y":3.25},
- {"label":"K3C (B3,D2)", "x":12.75, "y":3.25},
- {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25},
- {"label":"K41 (B4,F4)", "x":1.25, "y":4.25},
- {"label":"K42 (B4,C0)", "x":2.25, "y":4.25},
- {"label":"K43 (B4,C1)", "x":3.25, "y":4.25},
- {"label":"K44 (B4,C2)", "x":4.25, "y":4.25},
- {"label":"K45 (B4,C3)", "x":5.25, "y":4.25},
- {"label":"K46 (B4,C4)", "x":6.25, "y":4.25},
- {"label":"K47 (B4,C5)", "x":7.25, "y":4.25},
- {"label":"K48 (B4,C6)", "x":8.25, "y":4.25},
- {"label":"K49 (B4,C7)", "x":9.25, "y":4.25},
- {"label":"K4A (B4,D0)", "x":10.25, "y":4.25},
- {"label":"K4B (B4,D1)", "x":11.25, "y":4.25},
- {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75},
- {"label":"K4D (B4,D3)", "x":14, "y":4.25},
- {"label":"K4F (B4,D5)", "x":16.25, "y":4.25},
- {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25},
- {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25},
- {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25},
- {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25},
- {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25},
- {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25},
- {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25},
- {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25},
- {"label":"K5E (B5,D4)", "x":15.25, "y":5.25},
- {"label":"K5F (B5,D5)", "x":16.25, "y":5.25},
- {"label":"K5G (B5,D6)", "x":17.25, "y":5.25}
+ {"label":"K00 (B0,B6)", "x":0, "y":0, "matrix": [0, 0]},
+
+ {"label":"K01 (B0,F4)", "x":2, "y":0, "matrix": [0, 1]},
+ {"label":"K02 (B0,C0)", "x":3, "y":0, "matrix": [0, 2]},
+ {"label":"K03 (B0,C1)", "x":4, "y":0, "matrix": [0, 3]},
+ {"label":"K04 (B0,C2)", "x":5, "y":0, "matrix": [0, 4]},
+
+ {"label":"K05 (B0,C3)", "x":6.5, "y":0, "matrix": [0, 5]},
+ {"label":"K06 (B0,C4)", "x":7.5, "y":0, "matrix": [0, 6]},
+ {"label":"K07 (B0,C5)", "x":8.5, "y":0, "matrix": [0, 7]},
+ {"label":"K08 (B0,C6)", "x":9.5, "y":0, "matrix": [0, 8]},
+
+ {"label":"K09 (B0,C7)", "x":11, "y":0, "matrix": [0, 9]},
+ {"label":"K0A (B0,D0)", "x":12, "y":0, "matrix": [0, 10]},
+ {"label":"K0B (B0,D1)", "x":13, "y":0, "matrix": [0, 11]},
+ {"label":"K0C (B0,D2)", "x":14, "y":0, "matrix": [0, 12]},
+
+ {"label":"K0E (B0,D4)", "x":15.25, "y":0, "matrix": [0, 14]},
+ {"label":"K0F (B0,D5)", "x":16.25, "y":0, "matrix": [0, 15]},
+ {"label":"K0G (B0,D6)", "x":17.25, "y":0, "matrix": [0, 16]},
+
+ {"label":"K10 (B1,B6)", "x":0, "y":1.25, "matrix": [1, 0]},
+ {"label":"K11 (B1,F4)", "x":1, "y":1.25, "matrix": [1, 1]},
+ {"label":"K12 (B1,C0)", "x":2, "y":1.25, "matrix": [1, 2]},
+ {"label":"K13 (B1,C1)", "x":3, "y":1.25, "matrix": [1, 3]},
+ {"label":"K14 (B1,C2)", "x":4, "y":1.25, "matrix": [1, 4]},
+ {"label":"K15 (B1,C3)", "x":5, "y":1.25, "matrix": [1, 5]},
+ {"label":"K16 (B1,C4)", "x":6, "y":1.25, "matrix": [1, 6]},
+ {"label":"K17 (B1,C5)", "x":7, "y":1.25, "matrix": [1, 7]},
+ {"label":"K18 (B1,C6)", "x":8, "y":1.25, "matrix": [1, 8]},
+ {"label":"K19 (B1,C7)", "x":9, "y":1.25, "matrix": [1, 9]},
+ {"label":"K1A (B1,D0)", "x":10, "y":1.25, "matrix": [1, 10]},
+ {"label":"K1B (B1,D1)", "x":11, "y":1.25, "matrix": [1, 11]},
+ {"label":"K1C (B1,D2)", "x":12, "y":1.25, "matrix": [1, 12]},
+ {"label":"K1D (B1,D3)", "x":13, "y":1.25, "matrix": [1, 13]},
+ {"label":"K0D (B0,D3)", "x":14, "y":1.25, "matrix": [0, 13]},
+
+ {"label":"K1E (B1,D4)", "x":15.25, "y":1.25, "matrix": [1, 14]},
+ {"label":"K1F (B1,D5)", "x":16.25, "y":1.25, "matrix": [1, 15]},
+ {"label":"K1G (B1,D6)", "x":17.25, "y":1.25, "matrix": [1, 16]},
+
+ {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]},
+ {"label":"K21 (B2,F4)", "x":1.5, "y":2.25, "matrix": [2, 1]},
+ {"label":"K22 (B2,C0)", "x":2.5, "y":2.25, "matrix": [2, 2]},
+ {"label":"K23 (B2,C1)", "x":3.5, "y":2.25, "matrix": [2, 3]},
+ {"label":"K24 (B2,C2)", "x":4.5, "y":2.25, "matrix": [2, 4]},
+ {"label":"K25 (B2,C3)", "x":5.5, "y":2.25, "matrix": [2, 5]},
+ {"label":"K26 (B2,C4)", "x":6.5, "y":2.25, "matrix": [2, 6]},
+ {"label":"K27 (B2,C5)", "x":7.5, "y":2.25, "matrix": [2, 7]},
+ {"label":"K28 (B2,C6)", "x":8.5, "y":2.25, "matrix": [2, 8]},
+ {"label":"K29 (B2,C7)", "x":9.5, "y":2.25, "matrix": [2, 9]},
+ {"label":"K2A (B2,D0)", "x":10.5, "y":2.25, "matrix": [2, 10]},
+ {"label":"K2B (B2,D1)", "x":11.5, "y":2.25, "matrix": [2, 11]},
+ {"label":"K2C (B2,D2)", "x":12.5, "y":2.25, "matrix": [2, 12]},
+ {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+
+ {"label":"K2E (B2,D4)", "x":15.25, "y":2.25, "matrix": [2, 14]},
+ {"label":"K2F (B2,D5)", "x":16.25, "y":2.25, "matrix": [2, 15]},
+ {"label":"K2G (B2,D6)", "x":17.25, "y":2.25, "matrix": [2, 16]},
+
+ {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]},
+ {"label":"K31 (B3,F4)", "x":1.75, "y":3.25, "matrix": [3, 1]},
+ {"label":"K32 (B3,C0)", "x":2.75, "y":3.25, "matrix": [3, 2]},
+ {"label":"K33 (B3,C1)", "x":3.75, "y":3.25, "matrix": [3, 3]},
+ {"label":"K34 (B3,C2)", "x":4.75, "y":3.25, "matrix": [3, 4]},
+ {"label":"K35 (B3,C3)", "x":5.75, "y":3.25, "matrix": [3, 5]},
+ {"label":"K36 (B3,C4)", "x":6.75, "y":3.25, "matrix": [3, 6]},
+ {"label":"K37 (B3,C5)", "x":7.75, "y":3.25, "matrix": [3, 7]},
+ {"label":"K38 (B3,C6)", "x":8.75, "y":3.25, "matrix": [3, 8]},
+ {"label":"K39 (B3,C7)", "x":9.75, "y":3.25, "matrix": [3, 9]},
+ {"label":"K3A (B3,D0)", "x":10.75, "y":3.25, "matrix": [3, 10]},
+ {"label":"K3B (B3,D1)", "x":11.75, "y":3.25, "matrix": [3, 11]},
+ {"label":"K3C (B3,D2)", "x":12.75, "y":3.25, "matrix": [3, 12]},
+ {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25, "matrix": [3, 13]},
+
+ {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25, "matrix": [4, 0]},
+ {"label":"K41 (B4,F4)", "x":1.25, "y":4.25, "matrix": [4, 1]},
+ {"label":"K42 (B4,C0)", "x":2.25, "y":4.25, "matrix": [4, 2]},
+ {"label":"K43 (B4,C1)", "x":3.25, "y":4.25, "matrix": [4, 3]},
+ {"label":"K44 (B4,C2)", "x":4.25, "y":4.25, "matrix": [4, 4]},
+ {"label":"K45 (B4,C3)", "x":5.25, "y":4.25, "matrix": [4, 5]},
+ {"label":"K46 (B4,C4)", "x":6.25, "y":4.25, "matrix": [4, 6]},
+ {"label":"K47 (B4,C5)", "x":7.25, "y":4.25, "matrix": [4, 7]},
+ {"label":"K48 (B4,C6)", "x":8.25, "y":4.25, "matrix": [4, 8]},
+ {"label":"K49 (B4,C7)", "x":9.25, "y":4.25, "matrix": [4, 9]},
+ {"label":"K4A (B4,D0)", "x":10.25, "y":4.25, "matrix": [4, 10]},
+ {"label":"K4B (B4,D1)", "x":11.25, "y":4.25, "matrix": [4, 11]},
+ {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75, "matrix": [4, 12]},
+ {"label":"K4D (B4,D3)", "x":14, "y":4.25, "matrix": [4, 13]},
+
+ {"label":"K4F (B4,D5)", "x":16.25, "y":4.25, "matrix": [4, 15]},
+
+ {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25, "matrix": [5, 0]},
+ {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25, "matrix": [5, 1]},
+ {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25, "matrix": [5, 2]},
+ {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25, "matrix": [5, 6]},
+ {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25, "matrix": [5, 10]},
+ {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25, "matrix": [5, 11]},
+ {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25, "matrix": [5, 12]},
+ {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25, "matrix": [5, 13]},
+
+ {"label":"K5E (B5,D4)", "x":15.25, "y":5.25, "matrix": [5, 14]},
+ {"label":"K5F (B5,D5)", "x":16.25, "y":5.25, "matrix": [5, 15]},
+ {"label":"K5G (B5,D6)", "x":17.25, "y":5.25, "matrix": [5, 16]}
]
}
}
diff --git a/keyboards/mechlovin/infinity87/rev2/config.h b/keyboards/mechlovin/infinity87/rev2/config.h
index 575e826a9b..65eaa9a7fa 100644
--- a/keyboards/mechlovin/infinity87/rev2/config.h
+++ b/keyboards/mechlovin/infinity87/rev2/config.h
@@ -16,10 +16,6 @@
#pragma once
-#define PRODUCT_ID 0x8702
-#define DEVICE_VER 0x0001
-#define PRODUCT Infinity87 rev.2
-
/*
* Keyboard Matrix Assignments
*
@@ -31,7 +27,6 @@
*
*/
#define MATRIX_ROW_PINS { D5, D2, D4, D3, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/infinity87/rev2/info.json b/keyboards/mechlovin/infinity87/rev2/info.json
index fa6073912c..62aa3cfeb0 100644
--- a/keyboards/mechlovin/infinity87/rev2/info.json
+++ b/keyboards/mechlovin/infinity87/rev2/info.json
@@ -1,101 +1,120 @@
{
- "keyboard_name": "infinity87 Rev.2",
+ "keyboard_name": "Infinity87 Rev.2",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8702",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"K00 (B0,B6)", "x":0, "y":0},
- {"label":"K01 (B0,F4)", "x":2, "y":0},
- {"label":"K02 (B0,C0)", "x":3, "y":0},
- {"label":"K03 (B0,C1)", "x":4, "y":0},
- {"label":"K04 (B0,C2)", "x":5, "y":0},
- {"label":"K05 (B0,C3)", "x":6.5, "y":0},
- {"label":"K06 (B0,C4)", "x":7.5, "y":0},
- {"label":"K07 (B0,C5)", "x":8.5, "y":0},
- {"label":"K08 (B0,C6)", "x":9.5, "y":0},
- {"label":"K09 (B0,C7)", "x":11, "y":0},
- {"label":"K0A (B0,D0)", "x":12, "y":0},
- {"label":"K0B (B0,D1)", "x":13, "y":0},
- {"label":"K0C (B0,D2)", "x":14, "y":0},
- {"label":"K0E (B0,D4)", "x":15.25, "y":0},
- {"label":"K0F (B0,D5)", "x":16.25, "y":0},
- {"label":"K0G (B0,D6)", "x":17.25, "y":0},
- {"label":"K10 (B1,B6)", "x":0, "y":1.25},
- {"label":"K11 (B1,F4)", "x":1, "y":1.25},
- {"label":"K12 (B1,C0)", "x":2, "y":1.25},
- {"label":"K13 (B1,C1)", "x":3, "y":1.25},
- {"label":"K14 (B1,C2)", "x":4, "y":1.25},
- {"label":"K15 (B1,C3)", "x":5, "y":1.25},
- {"label":"K16 (B1,C4)", "x":6, "y":1.25},
- {"label":"K17 (B1,C5)", "x":7, "y":1.25},
- {"label":"K18 (B1,C6)", "x":8, "y":1.25},
- {"label":"K19 (B1,C7)", "x":9, "y":1.25},
- {"label":"K1A (B1,D0)", "x":10, "y":1.25},
- {"label":"K1B (B1,D1)", "x":11, "y":1.25},
- {"label":"K1C (B1,D2)", "x":12, "y":1.25},
- {"label":"K1D (B1,D3)", "x":13, "y":1.25},
- {"label":"K0D (B0,D3)", "x":14, "y":1.25},
- {"label":"K1E (B1,D4)", "x":15.25, "y":1.25},
- {"label":"K1F (B1,D5)", "x":16.25, "y":1.25},
- {"label":"K1G (B1,D6)", "x":17.25, "y":1.25},
- {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5},
- {"label":"K21 (B2,F4)", "x":1.5, "y":2.25},
- {"label":"K22 (B2,C0)", "x":2.5, "y":2.25},
- {"label":"K23 (B2,C1)", "x":3.5, "y":2.25},
- {"label":"K24 (B2,C2)", "x":4.5, "y":2.25},
- {"label":"K25 (B2,C3)", "x":5.5, "y":2.25},
- {"label":"K26 (B2,C4)", "x":6.5, "y":2.25},
- {"label":"K27 (B2,C5)", "x":7.5, "y":2.25},
- {"label":"K28 (B2,C6)", "x":8.5, "y":2.25},
- {"label":"K29 (B2,C7)", "x":9.5, "y":2.25},
- {"label":"K2A (B2,D0)", "x":10.5, "y":2.25},
- {"label":"K2B (B2,D1)", "x":11.5, "y":2.25},
- {"label":"K2C (B2,D2)", "x":12.5, "y":2.25},
- {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E (B2,D4)", "x":15.25, "y":2.25},
- {"label":"K2F (B2,D5)", "x":16.25, "y":2.25},
- {"label":"K2G (B2,D6)", "x":17.25, "y":2.25},
- {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75},
- {"label":"K31 (B3,F4)", "x":1.75, "y":3.25},
- {"label":"K32 (B3,C0)", "x":2.75, "y":3.25},
- {"label":"K33 (B3,C1)", "x":3.75, "y":3.25},
- {"label":"K34 (B3,C2)", "x":4.75, "y":3.25},
- {"label":"K35 (B3,C3)", "x":5.75, "y":3.25},
- {"label":"K36 (B3,C4)", "x":6.75, "y":3.25},
- {"label":"K37 (B3,C5)", "x":7.75, "y":3.25},
- {"label":"K38 (B3,C6)", "x":8.75, "y":3.25},
- {"label":"K39 (B3,C7)", "x":9.75, "y":3.25},
- {"label":"K3A (B3,D0)", "x":10.75, "y":3.25},
- {"label":"K3B (B3,D1)", "x":11.75, "y":3.25},
- {"label":"K3C (B3,D2)", "x":12.75, "y":3.25},
- {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25},
- {"label":"K41 (B4,F4)", "x":1.25, "y":4.25},
- {"label":"K42 (B4,C0)", "x":2.25, "y":4.25},
- {"label":"K43 (B4,C1)", "x":3.25, "y":4.25},
- {"label":"K44 (B4,C2)", "x":4.25, "y":4.25},
- {"label":"K45 (B4,C3)", "x":5.25, "y":4.25},
- {"label":"K46 (B4,C4)", "x":6.25, "y":4.25},
- {"label":"K47 (B4,C5)", "x":7.25, "y":4.25},
- {"label":"K48 (B4,C6)", "x":8.25, "y":4.25},
- {"label":"K49 (B4,C7)", "x":9.25, "y":4.25},
- {"label":"K4A (B4,D0)", "x":10.25, "y":4.25},
- {"label":"K4B (B4,D1)", "x":11.25, "y":4.25},
- {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75},
- {"label":"K4D (B4,D3)", "x":14, "y":4.25},
- {"label":"K4F (B4,D5)", "x":16.25, "y":4.25},
- {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25},
- {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25},
- {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25},
- {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25},
- {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25},
- {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25},
- {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25},
- {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25},
- {"label":"K5E (B5,D4)", "x":15.25, "y":5.25},
- {"label":"K5F (B5,D5)", "x":16.25, "y":5.25},
- {"label":"K5G (B5,D6)", "x":17.25, "y":5.25}
+ {"label":"K00 (B0,B6)", "x":0, "y":0, "matrix": [0, 0]},
+
+ {"label":"K01 (B0,F4)", "x":2, "y":0, "matrix": [0, 1]},
+ {"label":"K02 (B0,C0)", "x":3, "y":0, "matrix": [0, 2]},
+ {"label":"K03 (B0,C1)", "x":4, "y":0, "matrix": [0, 3]},
+ {"label":"K04 (B0,C2)", "x":5, "y":0, "matrix": [0, 4]},
+
+ {"label":"K05 (B0,C3)", "x":6.5, "y":0, "matrix": [0, 5]},
+ {"label":"K06 (B0,C4)", "x":7.5, "y":0, "matrix": [0, 6]},
+ {"label":"K07 (B0,C5)", "x":8.5, "y":0, "matrix": [0, 7]},
+ {"label":"K08 (B0,C6)", "x":9.5, "y":0, "matrix": [0, 8]},
+
+ {"label":"K09 (B0,C7)", "x":11, "y":0, "matrix": [0, 9]},
+ {"label":"K0A (B0,D0)", "x":12, "y":0, "matrix": [0, 10]},
+ {"label":"K0B (B0,D1)", "x":13, "y":0, "matrix": [0, 11]},
+ {"label":"K0C (B0,D2)", "x":14, "y":0, "matrix": [0, 12]},
+
+ {"label":"K0E (B0,D4)", "x":15.25, "y":0, "matrix": [0, 14]},
+ {"label":"K0F (B0,D5)", "x":16.25, "y":0, "matrix": [0, 15]},
+ {"label":"K0G (B0,D6)", "x":17.25, "y":0, "matrix": [0, 16]},
+
+ {"label":"K10 (B1,B6)", "x":0, "y":1.25, "matrix": [1, 0]},
+ {"label":"K11 (B1,F4)", "x":1, "y":1.25, "matrix": [1, 1]},
+ {"label":"K12 (B1,C0)", "x":2, "y":1.25, "matrix": [1, 2]},
+ {"label":"K13 (B1,C1)", "x":3, "y":1.25, "matrix": [1, 3]},
+ {"label":"K14 (B1,C2)", "x":4, "y":1.25, "matrix": [1, 4]},
+ {"label":"K15 (B1,C3)", "x":5, "y":1.25, "matrix": [1, 5]},
+ {"label":"K16 (B1,C4)", "x":6, "y":1.25, "matrix": [1, 6]},
+ {"label":"K17 (B1,C5)", "x":7, "y":1.25, "matrix": [1, 7]},
+ {"label":"K18 (B1,C6)", "x":8, "y":1.25, "matrix": [1, 8]},
+ {"label":"K19 (B1,C7)", "x":9, "y":1.25, "matrix": [1, 9]},
+ {"label":"K1A (B1,D0)", "x":10, "y":1.25, "matrix": [1, 10]},
+ {"label":"K1B (B1,D1)", "x":11, "y":1.25, "matrix": [1, 11]},
+ {"label":"K1C (B1,D2)", "x":12, "y":1.25, "matrix": [1, 12]},
+ {"label":"K1D (B1,D3)", "x":13, "y":1.25, "matrix": [1, 13]},
+ {"label":"K0D (B0,D3)", "x":14, "y":1.25, "matrix": [0, 13]},
+
+ {"label":"K1E (B1,D4)", "x":15.25, "y":1.25, "matrix": [1, 14]},
+ {"label":"K1F (B1,D5)", "x":16.25, "y":1.25, "matrix": [1, 15]},
+ {"label":"K1G (B1,D6)", "x":17.25, "y":1.25, "matrix": [1, 16]},
+
+ {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]},
+ {"label":"K21 (B2,F4)", "x":1.5, "y":2.25, "matrix": [2, 1]},
+ {"label":"K22 (B2,C0)", "x":2.5, "y":2.25, "matrix": [2, 2]},
+ {"label":"K23 (B2,C1)", "x":3.5, "y":2.25, "matrix": [2, 3]},
+ {"label":"K24 (B2,C2)", "x":4.5, "y":2.25, "matrix": [2, 4]},
+ {"label":"K25 (B2,C3)", "x":5.5, "y":2.25, "matrix": [2, 5]},
+ {"label":"K26 (B2,C4)", "x":6.5, "y":2.25, "matrix": [2, 6]},
+ {"label":"K27 (B2,C5)", "x":7.5, "y":2.25, "matrix": [2, 7]},
+ {"label":"K28 (B2,C6)", "x":8.5, "y":2.25, "matrix": [2, 8]},
+ {"label":"K29 (B2,C7)", "x":9.5, "y":2.25, "matrix": [2, 9]},
+ {"label":"K2A (B2,D0)", "x":10.5, "y":2.25, "matrix": [2, 10]},
+ {"label":"K2B (B2,D1)", "x":11.5, "y":2.25, "matrix": [2, 11]},
+ {"label":"K2C (B2,D2)", "x":12.5, "y":2.25, "matrix": [2, 12]},
+ {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+
+ {"label":"K2E (B2,D4)", "x":15.25, "y":2.25, "matrix": [2, 14]},
+ {"label":"K2F (B2,D5)", "x":16.25, "y":2.25, "matrix": [2, 15]},
+ {"label":"K2G (B2,D6)", "x":17.25, "y":2.25, "matrix": [2, 16]},
+
+ {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]},
+ {"label":"K31 (B3,F4)", "x":1.75, "y":3.25, "matrix": [3, 1]},
+ {"label":"K32 (B3,C0)", "x":2.75, "y":3.25, "matrix": [3, 2]},
+ {"label":"K33 (B3,C1)", "x":3.75, "y":3.25, "matrix": [3, 3]},
+ {"label":"K34 (B3,C2)", "x":4.75, "y":3.25, "matrix": [3, 4]},
+ {"label":"K35 (B3,C3)", "x":5.75, "y":3.25, "matrix": [3, 5]},
+ {"label":"K36 (B3,C4)", "x":6.75, "y":3.25, "matrix": [3, 6]},
+ {"label":"K37 (B3,C5)", "x":7.75, "y":3.25, "matrix": [3, 7]},
+ {"label":"K38 (B3,C6)", "x":8.75, "y":3.25, "matrix": [3, 8]},
+ {"label":"K39 (B3,C7)", "x":9.75, "y":3.25, "matrix": [3, 9]},
+ {"label":"K3A (B3,D0)", "x":10.75, "y":3.25, "matrix": [3, 10]},
+ {"label":"K3B (B3,D1)", "x":11.75, "y":3.25, "matrix": [3, 11]},
+ {"label":"K3C (B3,D2)", "x":12.75, "y":3.25, "matrix": [3, 12]},
+ {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25, "matrix": [3, 13]},
+
+ {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25, "matrix": [4, 0]},
+ {"label":"K41 (B4,F4)", "x":1.25, "y":4.25, "matrix": [4, 1]},
+ {"label":"K42 (B4,C0)", "x":2.25, "y":4.25, "matrix": [4, 2]},
+ {"label":"K43 (B4,C1)", "x":3.25, "y":4.25, "matrix": [4, 3]},
+ {"label":"K44 (B4,C2)", "x":4.25, "y":4.25, "matrix": [4, 4]},
+ {"label":"K45 (B4,C3)", "x":5.25, "y":4.25, "matrix": [4, 5]},
+ {"label":"K46 (B4,C4)", "x":6.25, "y":4.25, "matrix": [4, 6]},
+ {"label":"K47 (B4,C5)", "x":7.25, "y":4.25, "matrix": [4, 7]},
+ {"label":"K48 (B4,C6)", "x":8.25, "y":4.25, "matrix": [4, 8]},
+ {"label":"K49 (B4,C7)", "x":9.25, "y":4.25, "matrix": [4, 9]},
+ {"label":"K4A (B4,D0)", "x":10.25, "y":4.25, "matrix": [4, 10]},
+ {"label":"K4B (B4,D1)", "x":11.25, "y":4.25, "matrix": [4, 11]},
+ {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75, "matrix": [4, 12]},
+ {"label":"K4D (B4,D3)", "x":14, "y":4.25, "matrix": [4, 13]},
+
+ {"label":"K4F (B4,D5)", "x":16.25, "y":4.25, "matrix": [4, 15]},
+
+ {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25, "matrix": [5, 0]},
+ {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25, "matrix": [5, 1]},
+ {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25, "matrix": [5, 2]},
+ {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25, "matrix": [5, 6]},
+ {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25, "matrix": [5, 10]},
+ {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25, "matrix": [5, 11]},
+ {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25, "matrix": [5, 12]},
+ {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25, "matrix": [5, 13]},
+
+ {"label":"K5E (B5,D4)", "x":15.25, "y":5.25, "matrix": [5, 14]},
+ {"label":"K5F (B5,D5)", "x":16.25, "y":5.25, "matrix": [5, 15]},
+ {"label":"K5G (B5,D6)", "x":17.25, "y":5.25, "matrix": [5, 16]}
]
}
}
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
index 5b1a68308b..3c2ffd4b9f 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
@@ -16,10 +16,6 @@
#pragma once
-#define PRODUCT_ID 0x8710
-#define DEVICE_VER 0x0001
-#define PRODUCT Infinity 87 RGB rev1
-
#define MATRIX_ROW_PINS { A10, A13, A14, C13, A4, A3 }
#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A9, B11, B10, B2, B1, B0, A7, A6, A5, A2, A1, A0 }
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/info.json b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
index da67c40c39..fc308175cf 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/info.json
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
@@ -1,101 +1,120 @@
{
- "keyboard_name": "infinity87",
+ "keyboard_name": "Infinity87 RGB Rev1",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8710",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"label":"K00 (B0,B6)", "x":0, "y":0},
- {"label":"K01 (B0,F4)", "x":2, "y":0},
- {"label":"K02 (B0,C0)", "x":3, "y":0},
- {"label":"K03 (B0,C1)", "x":4, "y":0},
- {"label":"K04 (B0,C2)", "x":5, "y":0},
- {"label":"K05 (B0,C3)", "x":6.5, "y":0},
- {"label":"K06 (B0,C4)", "x":7.5, "y":0},
- {"label":"K07 (B0,C5)", "x":8.5, "y":0},
- {"label":"K08 (B0,C6)", "x":9.5, "y":0},
- {"label":"K09 (B0,C7)", "x":11, "y":0},
- {"label":"K0A (B0,D0)", "x":12, "y":0},
- {"label":"K0B (B0,D1)", "x":13, "y":0},
- {"label":"K0C (B0,D2)", "x":14, "y":0},
- {"label":"K0E (B0,D4)", "x":15.25, "y":0},
- {"label":"K0F (B0,D5)", "x":16.25, "y":0},
- {"label":"K0G (B0,D6)", "x":17.25, "y":0},
- {"label":"K10 (B1,B6)", "x":0, "y":1.25},
- {"label":"K11 (B1,F4)", "x":1, "y":1.25},
- {"label":"K12 (B1,C0)", "x":2, "y":1.25},
- {"label":"K13 (B1,C1)", "x":3, "y":1.25},
- {"label":"K14 (B1,C2)", "x":4, "y":1.25},
- {"label":"K15 (B1,C3)", "x":5, "y":1.25},
- {"label":"K16 (B1,C4)", "x":6, "y":1.25},
- {"label":"K17 (B1,C5)", "x":7, "y":1.25},
- {"label":"K18 (B1,C6)", "x":8, "y":1.25},
- {"label":"K19 (B1,C7)", "x":9, "y":1.25},
- {"label":"K1A (B1,D0)", "x":10, "y":1.25},
- {"label":"K1B (B1,D1)", "x":11, "y":1.25},
- {"label":"K1C (B1,D2)", "x":12, "y":1.25},
- {"label":"K1D (B1,D3)", "x":13, "y":1.25},
- {"label":"K0D (B0,D3)", "x":14, "y":1.25},
- {"label":"K1E (B1,D4)", "x":15.25, "y":1.25},
- {"label":"K1F (B1,D5)", "x":16.25, "y":1.25},
- {"label":"K1G (B1,D6)", "x":17.25, "y":1.25},
- {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5},
- {"label":"K21 (B2,F4)", "x":1.5, "y":2.25},
- {"label":"K22 (B2,C0)", "x":2.5, "y":2.25},
- {"label":"K23 (B2,C1)", "x":3.5, "y":2.25},
- {"label":"K24 (B2,C2)", "x":4.5, "y":2.25},
- {"label":"K25 (B2,C3)", "x":5.5, "y":2.25},
- {"label":"K26 (B2,C4)", "x":6.5, "y":2.25},
- {"label":"K27 (B2,C5)", "x":7.5, "y":2.25},
- {"label":"K28 (B2,C6)", "x":8.5, "y":2.25},
- {"label":"K29 (B2,C7)", "x":9.5, "y":2.25},
- {"label":"K2A (B2,D0)", "x":10.5, "y":2.25},
- {"label":"K2B (B2,D1)", "x":11.5, "y":2.25},
- {"label":"K2C (B2,D2)", "x":12.5, "y":2.25},
- {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E (B2,D4)", "x":15.25, "y":2.25},
- {"label":"K2F (B2,D5)", "x":16.25, "y":2.25},
- {"label":"K2G (B2,D6)", "x":17.25, "y":2.25},
- {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75},
- {"label":"K31 (B3,F4)", "x":1.75, "y":3.25},
- {"label":"K32 (B3,C0)", "x":2.75, "y":3.25},
- {"label":"K33 (B3,C1)", "x":3.75, "y":3.25},
- {"label":"K34 (B3,C2)", "x":4.75, "y":3.25},
- {"label":"K35 (B3,C3)", "x":5.75, "y":3.25},
- {"label":"K36 (B3,C4)", "x":6.75, "y":3.25},
- {"label":"K37 (B3,C5)", "x":7.75, "y":3.25},
- {"label":"K38 (B3,C6)", "x":8.75, "y":3.25},
- {"label":"K39 (B3,C7)", "x":9.75, "y":3.25},
- {"label":"K3A (B3,D0)", "x":10.75, "y":3.25},
- {"label":"K3B (B3,D1)", "x":11.75, "y":3.25},
- {"label":"K3C (B3,D2)", "x":12.75, "y":3.25},
- {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25},
- {"label":"K41 (B4,F4)", "x":1.25, "y":4.25},
- {"label":"K42 (B4,C0)", "x":2.25, "y":4.25},
- {"label":"K43 (B4,C1)", "x":3.25, "y":4.25},
- {"label":"K44 (B4,C2)", "x":4.25, "y":4.25},
- {"label":"K45 (B4,C3)", "x":5.25, "y":4.25},
- {"label":"K46 (B4,C4)", "x":6.25, "y":4.25},
- {"label":"K47 (B4,C5)", "x":7.25, "y":4.25},
- {"label":"K48 (B4,C6)", "x":8.25, "y":4.25},
- {"label":"K49 (B4,C7)", "x":9.25, "y":4.25},
- {"label":"K4A (B4,D0)", "x":10.25, "y":4.25},
- {"label":"K4B (B4,D1)", "x":11.25, "y":4.25},
- {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75},
- {"label":"K4D (B4,D3)", "x":14, "y":4.25},
- {"label":"K4F (B4,D5)", "x":16.25, "y":4.25},
- {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25},
- {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25},
- {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25},
- {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25},
- {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25},
- {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25},
- {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25},
- {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25},
- {"label":"K5E (B5,D4)", "x":15.25, "y":5.25},
- {"label":"K5F (B5,D5)", "x":16.25, "y":5.25},
- {"label":"K5G (B5,D6)", "x":17.25, "y":5.25}
+ {"label":"K00 (B0,B6)", "x":0, "y":0, "matrix": [0, 0]},
+
+ {"label":"K01 (B0,F4)", "x":2, "y":0, "matrix": [0, 1]},
+ {"label":"K02 (B0,C0)", "x":3, "y":0, "matrix": [0, 2]},
+ {"label":"K03 (B0,C1)", "x":4, "y":0, "matrix": [0, 3]},
+ {"label":"K04 (B0,C2)", "x":5, "y":0, "matrix": [0, 4]},
+
+ {"label":"K05 (B0,C3)", "x":6.5, "y":0, "matrix": [0, 5]},
+ {"label":"K06 (B0,C4)", "x":7.5, "y":0, "matrix": [0, 6]},
+ {"label":"K07 (B0,C5)", "x":8.5, "y":0, "matrix": [0, 7]},
+ {"label":"K08 (B0,C6)", "x":9.5, "y":0, "matrix": [0, 8]},
+
+ {"label":"K09 (B0,C7)", "x":11, "y":0, "matrix": [0, 9]},
+ {"label":"K0A (B0,D0)", "x":12, "y":0, "matrix": [0, 10]},
+ {"label":"K0B (B0,D1)", "x":13, "y":0, "matrix": [0, 11]},
+ {"label":"K0C (B0,D2)", "x":14, "y":0, "matrix": [0, 12]},
+
+ {"label":"K0E (B0,D4)", "x":15.25, "y":0, "matrix": [0, 14]},
+ {"label":"K0F (B0,D5)", "x":16.25, "y":0, "matrix": [0, 15]},
+ {"label":"K0G (B0,D6)", "x":17.25, "y":0, "matrix": [0, 16]},
+
+ {"label":"K10 (B1,B6)", "x":0, "y":1.25, "matrix": [1, 0]},
+ {"label":"K11 (B1,F4)", "x":1, "y":1.25, "matrix": [1, 1]},
+ {"label":"K12 (B1,C0)", "x":2, "y":1.25, "matrix": [1, 2]},
+ {"label":"K13 (B1,C1)", "x":3, "y":1.25, "matrix": [1, 3]},
+ {"label":"K14 (B1,C2)", "x":4, "y":1.25, "matrix": [1, 4]},
+ {"label":"K15 (B1,C3)", "x":5, "y":1.25, "matrix": [1, 5]},
+ {"label":"K16 (B1,C4)", "x":6, "y":1.25, "matrix": [1, 6]},
+ {"label":"K17 (B1,C5)", "x":7, "y":1.25, "matrix": [1, 7]},
+ {"label":"K18 (B1,C6)", "x":8, "y":1.25, "matrix": [1, 8]},
+ {"label":"K19 (B1,C7)", "x":9, "y":1.25, "matrix": [1, 9]},
+ {"label":"K1A (B1,D0)", "x":10, "y":1.25, "matrix": [1, 10]},
+ {"label":"K1B (B1,D1)", "x":11, "y":1.25, "matrix": [1, 11]},
+ {"label":"K1C (B1,D2)", "x":12, "y":1.25, "matrix": [1, 12]},
+ {"label":"K1D (B1,D3)", "x":13, "y":1.25, "matrix": [1, 13]},
+ {"label":"K0D (B0,D3)", "x":14, "y":1.25, "matrix": [0, 13]},
+
+ {"label":"K1E (B1,D4)", "x":15.25, "y":1.25, "matrix": [1, 14]},
+ {"label":"K1F (B1,D5)", "x":16.25, "y":1.25, "matrix": [1, 15]},
+ {"label":"K1G (B1,D6)", "x":17.25, "y":1.25, "matrix": [1, 16]},
+
+ {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]},
+ {"label":"K21 (B2,F4)", "x":1.5, "y":2.25, "matrix": [2, 1]},
+ {"label":"K22 (B2,C0)", "x":2.5, "y":2.25, "matrix": [2, 2]},
+ {"label":"K23 (B2,C1)", "x":3.5, "y":2.25, "matrix": [2, 3]},
+ {"label":"K24 (B2,C2)", "x":4.5, "y":2.25, "matrix": [2, 4]},
+ {"label":"K25 (B2,C3)", "x":5.5, "y":2.25, "matrix": [2, 5]},
+ {"label":"K26 (B2,C4)", "x":6.5, "y":2.25, "matrix": [2, 6]},
+ {"label":"K27 (B2,C5)", "x":7.5, "y":2.25, "matrix": [2, 7]},
+ {"label":"K28 (B2,C6)", "x":8.5, "y":2.25, "matrix": [2, 8]},
+ {"label":"K29 (B2,C7)", "x":9.5, "y":2.25, "matrix": [2, 9]},
+ {"label":"K2A (B2,D0)", "x":10.5, "y":2.25, "matrix": [2, 10]},
+ {"label":"K2B (B2,D1)", "x":11.5, "y":2.25, "matrix": [2, 11]},
+ {"label":"K2C (B2,D2)", "x":12.5, "y":2.25, "matrix": [2, 12]},
+ {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+
+ {"label":"K2E (B2,D4)", "x":15.25, "y":2.25, "matrix": [2, 14]},
+ {"label":"K2F (B2,D5)", "x":16.25, "y":2.25, "matrix": [2, 15]},
+ {"label":"K2G (B2,D6)", "x":17.25, "y":2.25, "matrix": [2, 16]},
+
+ {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]},
+ {"label":"K31 (B3,F4)", "x":1.75, "y":3.25, "matrix": [3, 1]},
+ {"label":"K32 (B3,C0)", "x":2.75, "y":3.25, "matrix": [3, 2]},
+ {"label":"K33 (B3,C1)", "x":3.75, "y":3.25, "matrix": [3, 3]},
+ {"label":"K34 (B3,C2)", "x":4.75, "y":3.25, "matrix": [3, 4]},
+ {"label":"K35 (B3,C3)", "x":5.75, "y":3.25, "matrix": [3, 5]},
+ {"label":"K36 (B3,C4)", "x":6.75, "y":3.25, "matrix": [3, 6]},
+ {"label":"K37 (B3,C5)", "x":7.75, "y":3.25, "matrix": [3, 7]},
+ {"label":"K38 (B3,C6)", "x":8.75, "y":3.25, "matrix": [3, 8]},
+ {"label":"K39 (B3,C7)", "x":9.75, "y":3.25, "matrix": [3, 9]},
+ {"label":"K3A (B3,D0)", "x":10.75, "y":3.25, "matrix": [3, 10]},
+ {"label":"K3B (B3,D1)", "x":11.75, "y":3.25, "matrix": [3, 11]},
+ {"label":"K3C (B3,D2)", "x":12.75, "y":3.25, "matrix": [3, 12]},
+ {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25, "matrix": [3, 13]},
+
+ {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25, "matrix": [4, 0]},
+ {"label":"K41 (B4,F4)", "x":1.25, "y":4.25, "matrix": [4, 1]},
+ {"label":"K42 (B4,C0)", "x":2.25, "y":4.25, "matrix": [4, 2]},
+ {"label":"K43 (B4,C1)", "x":3.25, "y":4.25, "matrix": [4, 3]},
+ {"label":"K44 (B4,C2)", "x":4.25, "y":4.25, "matrix": [4, 4]},
+ {"label":"K45 (B4,C3)", "x":5.25, "y":4.25, "matrix": [4, 5]},
+ {"label":"K46 (B4,C4)", "x":6.25, "y":4.25, "matrix": [4, 6]},
+ {"label":"K47 (B4,C5)", "x":7.25, "y":4.25, "matrix": [4, 7]},
+ {"label":"K48 (B4,C6)", "x":8.25, "y":4.25, "matrix": [4, 8]},
+ {"label":"K49 (B4,C7)", "x":9.25, "y":4.25, "matrix": [4, 9]},
+ {"label":"K4A (B4,D0)", "x":10.25, "y":4.25, "matrix": [4, 10]},
+ {"label":"K4B (B4,D1)", "x":11.25, "y":4.25, "matrix": [4, 11]},
+ {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75, "matrix": [4, 12]},
+ {"label":"K4D (B4,D3)", "x":14, "y":4.25, "matrix": [4, 13]},
+
+ {"label":"K4F (B4,D5)", "x":16.25, "y":4.25, "matrix": [4, 15]},
+
+ {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25, "matrix": [5, 0]},
+ {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25, "matrix": [5, 1]},
+ {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25, "matrix": [5, 2]},
+ {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25, "matrix": [5, 6]},
+ {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25, "matrix": [5, 10]},
+ {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25, "matrix": [5, 11]},
+ {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25, "matrix": [5, 12]},
+ {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25, "matrix": [5, 13]},
+
+ {"label":"K5E (B5,D4)", "x":15.25, "y":5.25, "matrix": [5, 14]},
+ {"label":"K5F (B5,D5)", "x":16.25, "y":5.25, "matrix": [5, 15]},
+ {"label":"K5G (B5,D6)", "x":17.25, "y":5.25, "matrix": [5, 16]}
]
}
}
diff --git a/keyboards/mechlovin/infinity875/config.h b/keyboards/mechlovin/infinity875/config.h
index 6b6a8147f6..4f02ed39c9 100644
--- a/keyboards/mechlovin/infinity875/config.h
+++ b/keyboards/mechlovin/infinity875/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML
-#define PRODUCT_ID 0x0875
-#define DEVICE_VER 0x0001
-#define PRODUCT Infinity87.5
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -40,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { D5, D2, D4, D3, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/infinity875/info.json b/keyboards/mechlovin/infinity875/info.json
index e24c0d1cc2..9c9fe10a10 100644
--- a/keyboards/mechlovin/infinity875/info.json
+++ b/keyboards/mechlovin/infinity875/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Infinity87.5",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0875",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_split_bs_rshift": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"0,2", "x":3, "y":0}, {"label":"0,3", "x":4, "y":0}, {"label":"0,4", "x":5, "y":0}, {"label":"0,5", "x":6.5, "y":0}, {"label":"0,6", "x":7.5, "y":0}, {"label":"0,7", "x":8.5, "y":0}, {"label":"0,8", "x":9.5, "y":0}, {"label":"0,9", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,11", "x":13, "y":0}, {"label":"0,12", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"2,13", "x":14, "y":1.25}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25}, {"label":"4,13", "x":13.25, "y":4.25, "w":1.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,6", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,10", "x":10, "y":5.25, "w":1.25}, {"label":"5,11", "x":11.25, "y":5.25, "w":1.25}, {"label":"5,12", "x":12.5, "y":5.25, "w":1.25}, {"label":"5,13", "x":13.75, "y":5.25, "w":1.25}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}]
diff --git a/keyboards/mechlovin/infinity875/readme.md b/keyboards/mechlovin/infinity875/readme.md
index b3e14a7bb7..39c76e5dc9 100644
--- a/keyboards/mechlovin/infinity875/readme.md
+++ b/keyboards/mechlovin/infinity875/readme.md
@@ -19,6 +19,6 @@ Flashing example for this keyboard:
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
**Reset Key:** 3 ways to put the IF87.5 into bootloader:
-- By keycode: Tap RESET keycode.
+- By keycode: Press the key mapped to `QK_BOOT` if it is available.
- By bootmagic: hold ESC key while plugging in.
- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. \ No newline at end of file
diff --git a/keyboards/mechlovin/infinity88/config.h b/keyboards/mechlovin/infinity88/config.h
index edbb628e7b..c6eeb108f9 100644
--- a/keyboards/mechlovin/infinity88/config.h
+++ b/keyboards/mechlovin/infinity88/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML
-#define PRODUCT_ID 0x8802
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team.Mechlovin
-#define PRODUCT Infinity 88
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/mechlovin/infinity88/info.json b/keyboards/mechlovin/infinity88/info.json
index edf91c4687..126e463917 100644
--- a/keyboards/mechlovin/infinity88/info.json
+++ b/keyboards/mechlovin/infinity88/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "infinity88",
+ "keyboard_name": "Infinity 88",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8802",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/infinityce/config.h b/keyboards/mechlovin/infinityce/config.h
index 838fc1da7f..1fbb5690d4 100644
--- a/keyboards/mechlovin/infinityce/config.h
+++ b/keyboards/mechlovin/infinityce/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-Mechlovin
-#define PRODUCT_ID 0x8801
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team.Mechlovin
-#define PRODUCT Infinity CE
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/mechlovin/infinityce/info.json b/keyboards/mechlovin/infinityce/info.json
index 6b3b2f8adf..f85aa21278 100644
--- a/keyboards/mechlovin/infinityce/info.json
+++ b/keyboards/mechlovin/infinityce/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Infinity CE",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x8801",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/jay60/config.h b/keyboards/mechlovin/jay60/config.h
index 521b8ae0db..5228f40751 100644
--- a/keyboards/mechlovin/jay60/config.h
+++ b/keyboards/mechlovin/jay60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0x0600
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin Studio
-#define PRODUCT Jay60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, C1, C0, D7, A1 }
#define MATRIX_COL_PINS { B6, B5, B3, B2, B1, B0, A0, A6, A7, C7, C6, C5, C4, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/jay60/info.json b/keyboards/mechlovin/jay60/info.json
index d4c0f57dd6..69e336fa31 100644
--- a/keyboards/mechlovin/jay60/info.json
+++ b/keyboards/mechlovin/jay60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jay60",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0600",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/jay60/readme.md b/keyboards/mechlovin/jay60/readme.md
index 79867e5503..81f5ae6ed7 100644
--- a/keyboards/mechlovin/jay60/readme.md
+++ b/keyboards/mechlovin/jay60/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mechlovin/kanu/config.h b/keyboards/mechlovin/kanu/config.h
index 3e5c0ee676..d9028d0740 100644
--- a/keyboards/mechlovin/kanu/config.h
+++ b/keyboards/mechlovin/kanu/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-MechLovin'
-#define PRODUCT_ID 0x4B4E // KN-Kanu
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin
-#define PRODUCT Kanu
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B6, D3, C6, C7 }
#define MATRIX_COL_PINS { E6, B1, B3, F0, F1, F4, F5, F6, F7, D5, D4, B4, D6, D7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/kanu/info.json b/keyboards/mechlovin/kanu/info.json
index 1049ba7d1d..7e4f902bfb 100644
--- a/keyboards/mechlovin/kanu/info.json
+++ b/keyboards/mechlovin/kanu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kanu",
+ "manufacturer": "Mechlovin",
"url": "",
"maintainer": "Team Mechlovin'",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x4B4E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/kay60/config.h b/keyboards/mechlovin/kay60/config.h
index ae321a6491..2cae8a3b67 100644
--- a/keyboards/mechlovin/kay60/config.h
+++ b/keyboards/mechlovin/kay60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0x0601
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin Studio
-#define PRODUCT Kay60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D3, D2, B1, B5}
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B2, B3, B7, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -52,6 +44,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
+#define LED_PIN_ON_STATE 0
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/mechlovin/kay60/info.json b/keyboards/mechlovin/kay60/info.json
index adcbc594d4..86298b5582 100644
--- a/keyboards/mechlovin/kay60/info.json
+++ b/keyboards/mechlovin/kay60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "kay60",
+ "keyboard_name": "Kay60",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0601",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/kay60/keymaps/default/keymap.c b/keyboards/mechlovin/kay60/keymaps/default/keymap.c
index 10546ece4d..8acd5409f5 100644
--- a/keyboards/mechlovin/kay60/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/kay60/keymaps/default/keymap.c
@@ -22,8 +22,8 @@ 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_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,
LT1_CAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, TO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL
),
[1] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mechlovin/kay60/keymaps/via/keymap.c b/keyboards/mechlovin/kay60/keymaps/via/keymap.c
index 34b8cb9822..0bb6219cef 100644
--- a/keyboards/mechlovin/kay60/keymaps/via/keymap.c
+++ b/keyboards/mechlovin/kay60/keymaps/via/keymap.c
@@ -22,8 +22,8 @@ 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_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,
LT1_CAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, TO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL
),
[1] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mechlovin/kay60/readme.md b/keyboards/mechlovin/kay60/readme.md
index cc53c13175..16c8414b34 100644
--- a/keyboards/mechlovin/kay60/readme.md
+++ b/keyboards/mechlovin/kay60/readme.md
@@ -22,5 +22,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
* **Physic button**: Press reset swith on the bottom of the PCB
diff --git a/keyboards/mechlovin/kay65/config.h b/keyboards/mechlovin/kay65/config.h
index cc1b991672..09e841804e 100644
--- a/keyboards/mechlovin/kay65/config.h
+++ b/keyboards/mechlovin/kay65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0x6502
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team Mechlovin
-#define PRODUCTION Kay65 Rev. 1
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mechlovin/kay65/info.json b/keyboards/mechlovin/kay65/info.json
index 7afccc81c0..ec96aba032 100644
--- a/keyboards/mechlovin/kay65/info.json
+++ b/keyboards/mechlovin/kay65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Kay65",
+ "keyboard_name": "Kay65 Rev. 1",
+ "manufacturer": "Team Mechlovin",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6502",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/kay65/readme.md b/keyboards/mechlovin/kay65/readme.md
index 768ce12aa7..d15317710f 100644
--- a/keyboards/mechlovin/kay65/readme.md
+++ b/keyboards/mechlovin/kay65/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mechlovin/mechlovin9/config.h b/keyboards/mechlovin/mechlovin9/config.h
index 669d79ac91..6795046f8b 100644
--- a/keyboards/mechlovin/mechlovin9/config.h
+++ b/keyboards/mechlovin/mechlovin9/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define MANUFACTURER Mechlovin Studio
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mechlovin/mechlovin9/info.json b/keyboards/mechlovin/mechlovin9/info.json
index 6fea78aecc..c0a64b984a 100644
--- a/keyboards/mechlovin/mechlovin9/info.json
+++ b/keyboards/mechlovin/mechlovin9/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "mechlovin9",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Team Mechlovin",
+ "usb": {
+ "vid": "0x4D4C"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/mechlovin9/rev1/config.h b/keyboards/mechlovin/mechlovin9/rev1/config.h
index 2a9c335d73..236529e243 100644
--- a/keyboards/mechlovin/mechlovin9/rev1/config.h
+++ b/keyboards/mechlovin/mechlovin9/rev1/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT_ID 0x6509
-#define DEVICE_VER 0x0001
-#define PRODUCT Mechlovin9
-
/*
* Keyboard Matrix Assignments
*
diff --git a/keyboards/mechlovin/mechlovin9/rev1/info.json b/keyboards/mechlovin/mechlovin9/rev1/info.json
new file mode 100644
index 0000000000..2153f0ad17
--- /dev/null
+++ b/keyboards/mechlovin/mechlovin9/rev1/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Mechlovin9",
+ "usb": {
+ "pid": "0x6509",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mechlovin/mechlovin9/rev2/config.h b/keyboards/mechlovin/mechlovin9/rev2/config.h
index ed11fafa83..c06295dfde 100644
--- a/keyboards/mechlovin/mechlovin9/rev2/config.h
+++ b/keyboards/mechlovin/mechlovin9/rev2/config.h
@@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define PRODUCT_ID 0x6509
-#define DEVICE_VER 0x0002
-#define PRODUCT Mechlovin9 Rev2
-
/*
* Keyboard Matrix Assignments
*
diff --git a/keyboards/mechlovin/mechlovin9/rev2/info.json b/keyboards/mechlovin/mechlovin9/rev2/info.json
new file mode 100644
index 0000000000..2c92773e6d
--- /dev/null
+++ b/keyboards/mechlovin/mechlovin9/rev2/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Mechlovin9 Rev2",
+ "usb": {
+ "pid": "0x6509",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/mechlovin/olly/bb/config.h b/keyboards/mechlovin/olly/bb/config.h
index 3110a9589c..00ecb21470 100644
--- a/keyboards/mechlovin/olly/bb/config.h
+++ b/keyboards/mechlovin/olly/bb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0xD181
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin.Studio
-#define PRODUCT Olly BB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS {D6, A5, A4, A3, A6}
-#define UNUSED_PINS
#define BACKLIGHT_PIN D4
#define BACKLIGHT_BREATHING
diff --git a/keyboards/mechlovin/olly/bb/info.json b/keyboards/mechlovin/olly/bb/info.json
index fbc9bae3eb..c37f167bdb 100644
--- a/keyboards/mechlovin/olly/bb/info.json
+++ b/keyboards/mechlovin/olly/bb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mechlovin Olly",
+ "keyboard_name": "Olly BB",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0xD181",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/olly/bb/readme.md b/keyboards/mechlovin/olly/bb/readme.md
index 0e41a3072f..6afdc161ea 100644
--- a/keyboards/mechlovin/olly/bb/readme.md
+++ b/keyboards/mechlovin/olly/bb/readme.md
@@ -19,5 +19,5 @@ Flashing example for this keyboard:
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
**Reset Key:** 2 ways to put the Olly JF into bootloader:
-By keycode: Tap RESET keycode.
+By keycode: Press the key mapped to `QK_BOOT` if it is available.
By bootloader: hold ESC key while plugging in \ No newline at end of file
diff --git a/keyboards/mechlovin/olly/jf/config.h b/keyboards/mechlovin/olly/jf/config.h
index f1c40cb365..4dc4785332 100644
--- a/keyboards/mechlovin/olly/jf/config.h
+++ b/keyboards/mechlovin/olly/jf/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C
-#define PRODUCT_ID 0xD180
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mechlovin.Studio
-#define PRODUCT Olly JF
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { D5, D6, A5, A4, A3, A6}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/olly/jf/info.json b/keyboards/mechlovin/olly/jf/info.json
index ab57d31787..96ea429cb9 100644
--- a/keyboards/mechlovin/olly/jf/info.json
+++ b/keyboards/mechlovin/olly/jf/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mechlovin Olly",
+ "keyboard_name": "Olly JF",
+ "manufacturer": "Mechlovin.Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0xD180",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/olly/jf/readme.md b/keyboards/mechlovin/olly/jf/readme.md
index 6a6bbc415a..fe9cf38cad 100644
--- a/keyboards/mechlovin/olly/jf/readme.md
+++ b/keyboards/mechlovin/olly/jf/readme.md
@@ -19,6 +19,6 @@ Flashing example for this keyboard:
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
**Reset Key:** 3 ways to put the Olly JF into bootloader:
-By keycode: Tap RESET keycode.
+By keycode: Press the key mapped to `QK_BOOT` if it is available.
By Bootloader: hold ESC key while plugging in (jump to bootloader)
By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file
diff --git a/keyboards/mechlovin/pisces/config.h b/keyboards/mechlovin/pisces/config.h
index 48a94eb262..217c63f7e4 100644
--- a/keyboards/mechlovin/pisces/config.h
+++ b/keyboards/mechlovin/pisces/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-Mechlovin
-#define PRODUCT_ID 0x6501
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team.Mechlovin
-#define PRODUCT Pisces65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mechlovin/pisces/info.json b/keyboards/mechlovin/pisces/info.json
index 57da5b4a0e..20b521636f 100644
--- a/keyboards/mechlovin/pisces/info.json
+++ b/keyboards/mechlovin/pisces/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pisces",
+ "keyboard_name": "Pisces65",
+ "manufacturer": "Team.Mechlovin",
"url": "",
"maintainer": "mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6501",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/serratus/config.h b/keyboards/mechlovin/serratus/config.h
index 0bb9ccbea9..4b497875da 100644
--- a/keyboards/mechlovin/serratus/config.h
+++ b/keyboards/mechlovin/serratus/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML
-#define PRODUCT_ID 0x0870
-#define DEVICE_VER 0x0001
-#define PRODUCT Serratus Rev.1
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -40,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { D5, D2, D4, D3, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mechlovin/serratus/info.json b/keyboards/mechlovin/serratus/info.json
index 209ee4a330..fe891d5987 100644
--- a/keyboards/mechlovin/serratus/info.json
+++ b/keyboards/mechlovin/serratus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Serratus",
+ "keyboard_name": "Serratus Rev.1",
+ "manufacturer": "Mechlovin Studio",
"url": "",
"maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0870",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mechlovin/th1800/config.h b/keyboards/mechlovin/th1800/config.h
index f8c4567825..46c370ae2e 100644
--- a/keyboards/mechlovin/th1800/config.h
+++ b/keyboards/mechlovin/th1800/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML-Mechlovin
-#define PRODUCT_ID 0x1800
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team Mechlovin
-#define PRODUCT th1800
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B7, D0, D1, D5, D6 }
#define MATRIX_COL_PINS { A3, D7, C0, C1, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, B3, B2, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/th1800/info.json b/keyboards/mechlovin/th1800/info.json
index 8efddf61a1..535903586c 100644
--- a/keyboards/mechlovin/th1800/info.json
+++ b/keyboards/mechlovin/th1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "th-1800",
+ "manufacturer": "Team Mechlovin",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x1800",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechlovin/tmkl/config.h b/keyboards/mechlovin/tmkl/config.h
index 9a1d865e29..ad5cd60338 100644
--- a/keyboards/mechlovin/tmkl/config.h
+++ b/keyboards/mechlovin/tmkl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4C // ML
-#define PRODUCT_ID 0xC601 // Commissions 60v1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team Mechlovin
-#define PRODUCT TMKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
diff --git a/keyboards/mechlovin/tmkl/info.json b/keyboards/mechlovin/tmkl/info.json
index b57ea89fa7..80922903ce 100644
--- a/keyboards/mechlovin/tmkl/info.json
+++ b/keyboards/mechlovin/tmkl/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "tmkl",
+ "keyboard_name": "TMKL",
+ "manufacturer": "Team Mechlovin",
"maintainer": "Team Mechlovin",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0xC601",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechlovin/zed60/config.h b/keyboards/mechlovin/zed60/config.h
new file mode 100644
index 0000000000..af78e10b7c
--- /dev/null
+++ b/keyboards/mechlovin/zed60/config.h
@@ -0,0 +1,78 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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 { B10, B2, B1, B0, A2 }
+#define MATRIX_COL_PINS { A10, A3, A9, A8, B15, B14, B13, B12, B5, B4, B3, A15, B7, B6 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN A4
+
+#ifdef RGBLIGHT_ENABLE
+#define RGB_DI_PIN A7
+#define RGBLED_NUM 22
+#define RGBLIGHT_LIMIT_VAL 255
+
+#define WS2812_SPI SPID1 // default: SPID1
+#define WS2812_SPI_MOSI_PAL_MODE 5 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5
+
+//#define RGB_DI_PIN E2
+//#ifdef RGB_DI_PIN
+# 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
+# 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/mechlovin/zed60/halconf.h b/keyboards/mechlovin/zed60/halconf.h
new file mode 100644
index 0000000000..ccf7447285
--- /dev/null
+++ b/keyboards/mechlovin/zed60/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/mechlovin/zed60/info.json b/keyboards/mechlovin/zed60/info.json
new file mode 100644
index 0000000000..11c3e87247
--- /dev/null
+++ b/keyboards/mechlovin/zed60/info.json
@@ -0,0 +1,156 @@
+{
+ "keyboard_name": "Zed60",
+ "manufacturer": "Mechlovin Studio",
+ "url": "",
+ "maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x0602",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift"
+ },
+ "layouts": {
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 0, "y": 1, "w": 1.5},
+ {"x": 1.5, "y": 1},
+ {"x": 2.5, "y": 1},
+ {"x": 3.5, "y": 1},
+ {"x": 4.5, "y": 1},
+ {"x": 5.5, "y": 1},
+ {"x": 6.5, "y": 1},
+ {"x": 7.5, "y": 1},
+ {"x": 8.5, "y": 1},
+ {"x": 9.5, "y": 1},
+ {"x": 10.5, "y": 1},
+ {"x": 11.5, "y": 1},
+ {"x": 12.5, "y": 1},
+ {"x": 13.5, "y": 1, "w": 1.5},
+
+ {"x": 0, "y": 2, "w": 1.75},
+ {"x": 1.75, "y": 2},
+ {"x": 2.75, "y": 2},
+ {"x": 3.75, "y": 2},
+ {"x": 4.75, "y": 2},
+ {"x": 5.75, "y": 2},
+ {"x": 6.75, "y": 2},
+ {"x": 7.75, "y": 2},
+ {"x": 8.75, "y": 2},
+ {"x": 9.75, "y": 2},
+ {"x": 10.75, "y": 2},
+ {"x": 11.75, "y": 2},
+ {"x": 12.75, "y": 2, "w": 2.25},
+
+ {"x": 0, "y": 3, "w": 2.25},
+ {"x": 2.25, "y": 3},
+ {"x": 3.25, "y": 3},
+ {"x": 4.25, "y": 3},
+ {"x": 5.25, "y": 3},
+ {"x": 6.25, "y": 3},
+ {"x": 7.25, "y": 3},
+ {"x": 8.25, "y": 3},
+ {"x": 9.25, "y": 3},
+ {"x": 10.25, "y": 3},
+ {"x": 11.25, "y": 3},
+ {"x": 12.25, "y": 3, "w": 1.75},
+ {"x": 14, "y": 3},
+
+ {"x": 0, "y": 4, "w": 1.25},
+ {"x": 1.25, "y": 4, "w": 1.25},
+ {"x": 2.5, "y": 4, "w": 1.25},
+ {"x": 3.75, "y": 4, "w": 6.25},
+ {"x": 10, "y": 4, "w": 1.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 13.75, "y": 4, "w": 1.25}
+ ]
+ },
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0, "w": 2},
+
+ {"x": 0, "y": 1, "w": 1.5},
+ {"x": 1.5, "y": 1},
+ {"x": 2.5, "y": 1},
+ {"x": 3.5, "y": 1},
+ {"x": 4.5, "y": 1},
+ {"x": 5.5, "y": 1},
+ {"x": 6.5, "y": 1},
+ {"x": 7.5, "y": 1},
+ {"x": 8.5, "y": 1},
+ {"x": 9.5, "y": 1},
+ {"x": 10.5, "y": 1},
+ {"x": 11.5, "y": 1},
+ {"x": 12.5, "y": 1},
+ {"x": 13.5, "y": 1, "w": 1.5},
+
+ {"x": 0, "y": 2, "w": 1.75},
+ {"x": 1.75, "y": 2},
+ {"x": 2.75, "y": 2},
+ {"x": 3.75, "y": 2},
+ {"x": 4.75, "y": 2},
+ {"x": 5.75, "y": 2},
+ {"x": 6.75, "y": 2},
+ {"x": 7.75, "y": 2},
+ {"x": 8.75, "y": 2},
+ {"x": 9.75, "y": 2},
+ {"x": 10.75, "y": 2},
+ {"x": 11.75, "y": 2},
+ {"x": 12.75, "y": 2, "w": 2.25},
+
+ {"x": 0, "y": 3, "w": 2.25},
+ {"x": 2.25, "y": 3},
+ {"x": 3.25, "y": 3},
+ {"x": 4.25, "y": 3},
+ {"x": 5.25, "y": 3},
+ {"x": 6.25, "y": 3},
+ {"x": 7.25, "y": 3},
+ {"x": 8.25, "y": 3},
+ {"x": 9.25, "y": 3},
+ {"x": 10.25, "y": 3},
+ {"x": 11.25, "y": 3},
+ {"x": 12.25, "y": 3, "w": 2.75},
+
+ {"x": 0, "y": 4, "w": 1.25},
+ {"x": 1.25, "y": 4, "w": 1.25},
+ {"x": 2.5, "y": 4, "w": 1.25},
+ {"x": 3.75, "y": 4, "w": 6.25},
+ {"x": 10, "y": 4, "w": 1.25},
+ {"x": 11.25, "y": 4, "w": 1.25},
+ {"x": 12.5, "y": 4, "w": 1.25},
+ {"x": 13.75, "y": 4, "w": 1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechlovin/zed60/keymaps/default/keymap.c b/keyboards/mechlovin/zed60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d71ba8685e
--- /dev/null
+++ b/keyboards/mechlovin/zed60/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define LT1_CAP LT(1, KC_CAPS)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_ansi_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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,
+ LT1_CAP, 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, TO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL
+ ),
+ [1] = LAYOUT_60_ansi_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PENT,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/mechlovin/zed60/keymaps/default/readme.md b/keyboards/mechlovin/zed60/keymaps/default/readme.md
new file mode 100644
index 0000000000..c7d59d9829
--- /dev/null
+++ b/keyboards/mechlovin/zed60/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Zed60
diff --git a/keyboards/mechlovin/zed60/keymaps/via/keymap.c b/keyboards/mechlovin/zed60/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8b3096d780
--- /dev/null
+++ b/keyboards/mechlovin/zed60/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define LT1_CAP LT(1, KC_CAPS)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_ansi_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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,
+ LT1_CAP, 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, TO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL
+ ),
+ [1] = LAYOUT_60_ansi_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PENT,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_60_ansi_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_60_ansi_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/mechlovin/zed60/keymaps/via/readme.md b/keyboards/mechlovin/zed60/keymaps/via/readme.md
new file mode 100644
index 0000000000..b05c87e476
--- /dev/null
+++ b/keyboards/mechlovin/zed60/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for Zed60
diff --git a/keyboards/mechlovin/zed60/keymaps/via/rules.mk b/keyboards/mechlovin/zed60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/mechlovin/zed60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/mechlovin/zed60/mcuconf.h b/keyboards/mechlovin/zed60/mcuconf.h
new file mode 100644
index 0000000000..0a9c3ca2c5
--- /dev/null
+++ b/keyboards/mechlovin/zed60/mcuconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
diff --git a/keyboards/mechlovin/zed60/readme.md b/keyboards/mechlovin/zed60/readme.md
new file mode 100644
index 0000000000..d2e76ff55c
--- /dev/null
+++ b/keyboards/mechlovin/zed60/readme.md
@@ -0,0 +1,27 @@
+# zed60
+
+![zed60](https://i.imgur.com/KyTpfmMl.png)
+
+Zed60 PCB, 60% keyboard PCB.
+* Keyboard Maintainer: [Mechlovin'](https://mechlovin.studio)
+* Hardware Supported: Zed60, APM32F103
+* Hardware Availability: [Mechlovin'](https://mechlovin.studio)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/zed60:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/zed60:default:flash
+
+## Bootloader
+
+Enter the bootloader in 4 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+* **Bootloader**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/zed60/rules.mk b/keyboards/mechlovin/zed60/rules.mk
new file mode 100644
index 0000000000..d90d20b776
--- /dev/null
+++ b/keyboards/mechlovin/zed60/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+WS2812_DRIVER = spi
diff --git a/keyboards/mechlovin/zed60/zed60.c b/keyboards/mechlovin/zed60/zed60.c
new file mode 100644
index 0000000000..fb0c44ec3d
--- /dev/null
+++ b/keyboards/mechlovin/zed60/zed60.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Mechlovin' Studio
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "zed60.h"
diff --git a/keyboards/mechlovin/zed60/zed60.h b/keyboards/mechlovin/zed60/zed60.h
new file mode 100644
index 0000000000..36ffa18330
--- /dev/null
+++ b/keyboards/mechlovin/zed60/zed60.h
@@ -0,0 +1,66 @@
+/* Copyright 2022 Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───────┘
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │
+ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌──────────â”
+ │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘
+ * │40 │41 │42 │46 │4A │4B │4C │4D │ Standard
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────â”
+ * │40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ */
+
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \
+ 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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }, \
+}
+
+#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, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K46, K4A, K4B, K4C, K4D \
+) { \
+ { 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, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }, \
+}
+
diff --git a/keyboards/mechlovin/zed65/config.h b/keyboards/mechlovin/zed65/config.h
new file mode 100644
index 0000000000..b93b4900e0
--- /dev/null
+++ b/keyboards/mechlovin/zed65/config.h
@@ -0,0 +1,108 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/*
+ * 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)
+ *
+ */
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+//#define LED_NUM_LOCK_PIN B0
+#define LED_CAPS_LOCK_PIN C14
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechlovin/zed65/readme.md b/keyboards/mechlovin/zed65/readme.md
new file mode 100644
index 0000000000..7da1e7c365
--- /dev/null
+++ b/keyboards/mechlovin/zed65/readme.md
@@ -0,0 +1,25 @@
+# Zed65
+
+Mechlovin's 65% PCB Platform, which works as the base for our 65%-layout PCB designs.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin)
+* Hardware Supported: Zed65 Rev.1, APM32F103
+* Hardware Availability: [Mechlovin' Store](https://mechlovin.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/zed65:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/zed65:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mechlovin/zed65/retro66/config.h b/keyboards/mechlovin/zed65/retro66/config.h
new file mode 100644
index 0000000000..7609b34024
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/config.h
@@ -0,0 +1,33 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROW_PINS { B13, B14, A8, A1, A0 }
+#define MATRIX_COL_PINS { B11, B12, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, B3, A15, B5 }
+
+
+// Number of encoders
+
+#define ENCODERS_PAD_A { B4, B6 }
+#define ENCODERS_PAD_B { B8, B9 }
+
+
+#define ENCODER_RESOLUTION 4
+#define TAP_CODE_DELAY 10 \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/retro66/info.json b/keyboards/mechlovin/zed65/retro66/info.json
new file mode 100644
index 0000000000..a40bee98dd
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/info.json
@@ -0,0 +1,19 @@
+{
+ "keyboard_name": "Retro66",
+ "manufacturer": "Mechlovin Studio",
+ "url": "",
+ "maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6601",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"~", "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":"Insert", "x":15.75, "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":"Delete", "x":15.75, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"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.25}, {"label":"\u2191", "x":14.75, "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":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":4, "w":1.25}, {"label":"\u2190", "x":13.75, "y":4}, {"label":"\u2193", "x":14.75, "y":4}, {"label":"\u2192", "x":15.75, "y":4}]
+ },
+ "LAYOUT_blocker": {
+ "layout": [{"label":"~", "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":"Insert", "x":15.75, "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":"Delete", "x":15.75, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"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.25}, {"label":"\u2191", "x":14.75, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":2.25, "y":4, "w":1.5}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":4, "w":1.25}, {"label":"\u2190", "x":13.75, "y":4}, {"label":"\u2193", "x":14.75, "y":4}, {"label":"\u2192", "x":15.75, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/retro66/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e20b641e12
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
+};
+#endif
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/default/readme.md b/keyboards/mechlovin/zed65/retro66/keymaps/default/readme.md
new file mode 100644
index 0000000000..ac3f3127e7
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Retro66 \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/default/rules.mk b/keyboards/mechlovin/zed65/retro66/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/retro66/keymaps/via/keymap.c
new file mode 100644
index 0000000000..2c9e49e753
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/via/keymap.c
@@ -0,0 +1,61 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+ ),
+ [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
+ ),
+
+
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
+ [1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
+ [2] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
+ [3] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
+};
+#endif
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/via/readme.md b/keyboards/mechlovin/zed65/retro66/keymaps/via/readme.md
new file mode 100644
index 0000000000..6216302953
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for retro66 \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/retro66/keymaps/via/rules.mk b/keyboards/mechlovin/zed65/retro66/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1189f4ad19
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechlovin/zed65/retro66/readme.md b/keyboards/mechlovin/zed65/retro66/readme.md
new file mode 100644
index 0000000000..af568441d7
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/readme.md
@@ -0,0 +1,27 @@
+# Retro66
+
+![Retro66](https://i.imgur.com/gs52Otbl.jpeg)
+
+A Retro66 keyboard PCB, base on Zed65.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin)
+* Hardware Supported: Zed65, APM32F103
+* Hardware Availability: [Mechlovin' Store](https://mechlovin.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/zed65/retro66:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/zed65/retro66:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mechlovin/zed65/retro66/retro66.c b/keyboards/mechlovin/zed65/retro66/retro66.c
new file mode 100644
index 0000000000..ffdf09db28
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/retro66.c
@@ -0,0 +1,19 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "retro66.h"
+
diff --git a/keyboards/mechlovin/zed65/retro66/retro66.h b/keyboards/mechlovin/zed65/retro66/retro66.h
new file mode 100644
index 0000000000..2e51141b6d
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/retro66.h
@@ -0,0 +1,48 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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( \
+ 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, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, 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, KC_NO, K2D, KC_NO }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
+}
+
+#define LAYOUT_blocker( \
+ 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, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K46, 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, KC_NO, K2D, KC_NO }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO }, \
+ { K40, KC_NO, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
+}
diff --git a/keyboards/mechlovin/zed65/retro66/rules.mk b/keyboards/mechlovin/zed65/retro66/rules.mk
new file mode 100644
index 0000000000..5af1ba8536
--- /dev/null
+++ b/keyboards/mechlovin/zed65/retro66/rules.mk
@@ -0,0 +1 @@
+ENCODER_ENABLE = yes
diff --git a/keyboards/mechlovin/zed65/rules.mk b/keyboards/mechlovin/zed65/rules.mk
new file mode 100644
index 0000000000..a3a13b375b
--- /dev/null
+++ b/keyboards/mechlovin/zed65/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = STM32F103
+BOARD = STM32_F103_STM32DUINO
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+DEFAULT_FOLDER = mechlovin/zed65/wearhaus66
diff --git a/keyboards/mechlovin/zed65/wearhaus66/config.h b/keyboards/mechlovin/zed65/wearhaus66/config.h
new file mode 100644
index 0000000000..5b79931a03
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/config.h
@@ -0,0 +1,57 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROW_PINS { B13, B14, A8, A1, A0 }
+#define MATRIX_COL_PINS { B11, B12, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, B3, A15, B5 }
+
+
+#ifdef RGBLIGHT_ENABLE
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 24
+#define RGBLIGHT_LIMIT_VAL 255
+
+#define WS2812_SPI SPID2 // default: SPID1
+#define WS2812_SPI_MOSI_PAL_MODE 0 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5
+
+//#define RGB_DI_PIN E2
+//#ifdef RGB_DI_PIN
+# 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
+# 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/halconf.h b/keyboards/mechlovin/zed65/wearhaus66/halconf.h
new file mode 100644
index 0000000000..ccf7447285
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/mechlovin/zed65/wearhaus66/info.json b/keyboards/mechlovin/zed65/wearhaus66/info.json
new file mode 100644
index 0000000000..ac672ff1f6
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/info.json
@@ -0,0 +1,91 @@
+{
+ "keyboard_name": "Wearhaus66",
+ "manufacturer": "Mechlovin Studio",
+ "url": "",
+ "maintainer": "Mechlovin' Studio",
+ "usb": {
+ "vid": "0x4D4C",
+ "pid": "0x6602",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"0,0", "x":0, "y":0},
+ {"label":"0,1", "x":1, "y":0},
+ {"label":"0,2", "x":2, "y":0},
+ {"label":"0,3", "x":3, "y":0},
+ {"label":"0,4", "x":4, "y":0},
+ {"label":"0,5", "x":5, "y":0},
+ {"label":"0,6", "x":6, "y":0},
+ {"label":"0,7", "x":7, "y":0},
+ {"label":"0,8", "x":8, "y":0},
+ {"label":"0,9", "x":9, "y":0},
+ {"label":"0,10", "x":10, "y":0},
+ {"label":"0,11", "x":11, "y":0},
+ {"label":"0,12", "x":12, "y":0},
+ {"label":"0,13", "x":13, "y":0},
+ {"label":"1,13", "x":14, "y":0},
+ {"label":"1,14", "x":15.25, "y":0.75},
+ {"label":"1,0", "x":0, "y":1, "w":1.5},
+ {"label":"1,1", "x":1.5, "y":1},
+ {"label":"1,2", "x":2.5, "y":1},
+ {"label":"1,3", "x":3.5, "y":1},
+ {"label":"1,4", "x":4.5, "y":1},
+ {"label":"1,5", "x":5.5, "y":1},
+ {"label":"1,6", "x":6.5, "y":1},
+ {"label":"1,7", "x":7.5, "y":1},
+ {"label":"1,8", "x":8.5, "y":1},
+ {"label":"1,9", "x":9.5, "y":1},
+ {"label":"1,10", "x":10.5, "y":1},
+ {"label":"1,11", "x":11.5, "y":1},
+ {"label":"1,12", "x":12.5, "y":1},
+ {"label":"2,12", "x":13.5, "y":1, "w":1.5},
+ {"label":"2,14", "x":15.25, "y":1.75},
+ {"label":"2,0", "x":0, "y":2, "w":1.75},
+ {"label":"2,1", "x":1.75, "y":2},
+ {"label":"2,2", "x":2.75, "y":2},
+ {"label":"2,3", "x":3.75, "y":2},
+ {"label":"2,4", "x":4.75, "y":2},
+ {"label":"2,5", "x":5.75, "y":2},
+ {"label":"2,6", "x":6.75, "y":2},
+ {"label":"2,7", "x":7.75, "y":2},
+ {"label":"2,8", "x":8.75, "y":2},
+ {"label":"2,9", "x":9.75, "y":2},
+ {"label":"2,10", "x":10.75, "y":2},
+ {"label":"2,11", "x":11.75, "y":2},
+ {"label":"2,13", "x":12.75, "y":2, "w":2.25},
+ {"label":"3,14", "x":15.25, "y":2.75},
+ {"label":"3,0", "x":0, "y":3, "w":1.25},
+ {"label":"3,1", "x":1.25, "y":3},
+ {"label":"3,2", "x":2.25, "y":3},
+ {"label":"3,3", "x":3.25, "y":3},
+ {"label":"3,4", "x":4.25, "y":3},
+ {"label":"3,5", "x":5.25, "y":3},
+ {"label":"3,6", "x":6.25, "y":3},
+ {"label":"3,7", "x":7.25, "y":3},
+ {"label":"3,8", "x":8.25, "y":3},
+ {"label":"3,9", "x":9.25, "y":3},
+ {"label":"3,10", "x":10.25, "y":3},
+ {"label":"3,11", "x":11.25, "y":3},
+ {"label":"3,12", "x":12.25, "y":3, "w":1.75},
+ {"label":"3,13", "x":14, "y":3},
+ {"label":"4,0", "x":0, "y":4, "w":1.25},
+ {"label":"4,1", "x":1.25, "y":4, "w":1.25},
+ {"label":"4,2", "x":2.5, "y":4, "w":1.25},
+ {"label":"4,6", "x":3.75, "y":4, "w":6.25},
+ {"label":"4,9", "x":10, "y":4, "w":1.25},
+ {"label":"4,10", "x":11.25, "y":4, "w":1.25},
+ {"label":"4,12", "x":13, "y":4},
+ {"label":"4,13", "x":14, "y":4},
+ {"label":"4,14", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0, "w":2}, {"label":"1,14", "x":15.25, "y":0.75}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"2,12", "x":13.5, "y":1, "w":1.5}, {"label":"2,14", "x":15.25, "y":1.75}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,13", "x":12.75, "y":2, "w":2.25}, {"label":"3,14", "x":15.25, "y":2.75}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,9", "x":10, "y":4, "w":1.25}, {"label":"4,10", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}]
+ },
+ "LAYOUT_65_iso_blocker": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0, "w":2}, {"label":"1,14", "x":15.25, "y":0.75}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"2,12", "x":13.5, "y":1, "w":1.5}, {"label":"2,14", "x":15.25, "y":1.75}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,13", "x":12.75, "y":2, "w":2.25}, {"label":"3,14", "x":15.25, "y":2.75}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,9", "x":10, "y":4, "w":1.25}, {"label":"4,10", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/keymap.c
new file mode 100644
index 0000000000..017f57b160
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+/*
+Copyright 2021 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_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_INS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
+ KC_LSFT, KC_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_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case BL_ON:
+ if (record->event.pressed) {
+ writePinHigh(B7);
+ }
+ break;
+ case BL_OFF:
+ if (record->event.pressed) {
+ writePinLow(B7);
+ }
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/readme.md b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/readme.md
new file mode 100644
index 0000000000..2d77dcd5df
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for wearhaus66 \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/rules.mk b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b57369b8e1
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/keymap.c
@@ -0,0 +1,70 @@
+/*
+Copyright 2021 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 my_keycodes {
+ LOGO_LED_ON = USER00,
+ LOGO_LED_OFF
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_INS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
+ KC_LSFT, KC_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_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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, KC_TRNS, KC_TRNS
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOGO_LED_ON:
+ if (record->event.pressed) {
+ writePinHigh(B7);
+ }
+ break;
+ case LOGO_LED_OFF:
+ if (record->event.pressed) {
+ writePinLow(B7);
+ }
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/readme.md b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/readme.md
new file mode 100644
index 0000000000..6ac2f7bccc
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for wearhaus66 \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/rules.mk b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/readme.md b/keyboards/mechlovin/zed65/wearhaus66/readme.md
new file mode 100644
index 0000000000..c3f46ae76d
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/readme.md
@@ -0,0 +1,27 @@
+# Wearhaus66
+
+![Wearhaus66](https://i.imgur.com/U0HNqSfl.jpeg)
+
+A Wearhaus66 keyboard PCB, base on Zed65.
+
+* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin)
+* Hardware Supported: Zed65, APM32F103
+* Hardware Availability: [Mechlovin' Store](https://mechlovin.studio/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/zed65/wearhaus66:default
+
+Flashing example for this keyboard:
+
+ make mechlovin/zed65/wearhaus66:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mechlovin/zed65/wearhaus66/rules.mk b/keyboards/mechlovin/zed65/wearhaus66/rules.mk
new file mode 100644
index 0000000000..48d473fbdb
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/rules.mk
@@ -0,0 +1,2 @@
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+WS2812_DRIVER = spi \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.c b/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.c
new file mode 100644
index 0000000000..f75c17e35e
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.c
@@ -0,0 +1,24 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "wearhaus66.h"
+
+void keyboard_pre_init_user(void) {
+ // Call the keyboard pre init code.
+ // Set our LED pins as output
+ setPinOutput(B7);
+}
diff --git a/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.h b/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.h
new file mode 100644
index 0000000000..8c4a0ee79a
--- /dev/null
+++ b/keyboards/mechlovin/zed65/wearhaus66/wearhaus66.h
@@ -0,0 +1,62 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, 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, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K49, K4A, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
+ { 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, K3C, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D, K4E }, \
+}
+
+#define LAYOUT_65_ansi_blocker( \
+ 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, K2C, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K49, K4A, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D, K4E }, \
+}
+
+#define LAYOUT_65_iso_blocker( \
+ 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, 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, K3C, K3D, K3E, \
+ K40, K41, K42, K46, K49, K4A, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, 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, K3C, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D, K4E }, \
+}
diff --git a/keyboards/mechlovin/zed65/zed65.c b/keyboards/mechlovin/zed65/zed65.c
new file mode 100644
index 0000000000..289c98d068
--- /dev/null
+++ b/keyboards/mechlovin/zed65/zed65.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "zed65.h"
diff --git a/keyboards/mechlovin/zed65/zed65.h b/keyboards/mechlovin/zed65/zed65.h
new file mode 100644
index 0000000000..bab950dca2
--- /dev/null
+++ b/keyboards/mechlovin/zed65/zed65.h
@@ -0,0 +1,26 @@
+/*
+Copyright 2022 Mechlovin'
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_mechlovin_zed65_retro66
+ #include "retro66.h"
+#elif KEYBOARD_mechlovin_zed65_wearhaus66
+ #include "wearhaus66.h"
+#endif
diff --git a/keyboards/mechstudio/dawn/config.h b/keyboards/mechstudio/dawn/config.h
index ebfc44ee74..1b5124d7ea 100644
--- a/keyboards/mechstudio/dawn/config.h
+++ b/keyboards/mechstudio/dawn/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D53
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0004
-#define MANUFACTURER Mech Studio
-#define PRODUCT Dawn
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS {B1,B2,B3,D1,D6,D4}
#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D5,D3,D2}
-#define UNUSED_PINS {B0,B7,D0,E6}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechstudio/dawn/info.json b/keyboards/mechstudio/dawn/info.json
index 6ab1540d35..c40496ae49 100644
--- a/keyboards/mechstudio/dawn/info.json
+++ b/keyboards/mechstudio/dawn/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dawn",
+ "manufacturer": "Mech Studio",
"url": "https://mech.studio/projects/dawn/",
"maintainer": "dejaeghered",
+ "usb": {
+ "vid": "0x4D53",
+ "pid": "0x0004",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechstudio/dawn/keymaps/default/keymap.c b/keyboards/mechstudio/dawn/keymaps/default/keymap.c
index 6d12760f67..50dd2412d7 100644
--- a/keyboards/mechstudio/dawn/keymaps/default/keymap.c
+++ b/keyboards/mechstudio/dawn/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT(
- QK_BOOT , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
diff --git a/keyboards/mechstudio/dawn/keymaps/via/keymap.c b/keyboards/mechstudio/dawn/keymaps/via/keymap.c
index e6b92fc98c..e8ed0034a9 100644
--- a/keyboards/mechstudio/dawn/keymaps/via/keymap.c
+++ b/keyboards/mechstudio/dawn/keymaps/via/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT(
- QK_BOOT , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
diff --git a/keyboards/mechstudio/ud_40_ortho/config.h b/keyboards/mechstudio/ud_40_ortho/config.h
index 9520fdd396..ad964a72f5 100644
--- a/keyboards/mechstudio/ud_40_ortho/config.h
+++ b/keyboards/mechstudio/ud_40_ortho/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D53
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Mech Studio
-#define PRODUCT UD_40 Ortholinear
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@
#define MATRIX_ROW_PINS {C2,B4,B5,B6}
#define MATRIX_COL_PINS {C5,D0,B3,B2,B1,B0,D6,D5,D4,D3,D2,D1}
-#define UNUSED_PINS {C4,C6,C7}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechstudio/ud_40_ortho/info.json b/keyboards/mechstudio/ud_40_ortho/info.json
index f0bc1524a8..7f36d7d7fc 100644
--- a/keyboards/mechstudio/ud_40_ortho/info.json
+++ b/keyboards/mechstudio/ud_40_ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "UD_40 ortho",
+ "keyboard_name": "UD_40 Ortholinear",
+ "manufacturer": "Mech Studio",
"url": "https://mech.studio/projects/ud_40/",
"maintainer": "dejaeghered",
+ "usb": {
+ "vid": "0x4D53",
+ "pid": "0x0002",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/mechwild/bbs/bbs.c b/keyboards/mechwild/bbs/bbs.c
new file mode 100644
index 0000000000..cbfaa5ce59
--- /dev/null
+++ b/keyboards/mechwild/bbs/bbs.c
@@ -0,0 +1,22 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "bbs.h"
+
+#ifdef DIP_SWITCH_ENABLE
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) { return false; }
+ switch (index) {
+ case 0:
+ if(active) { tap_code(KC_CLCK); }
+ break;
+ break;
+ }
+ return true;
+}
+#endif
+
+void eeconfig_init_kb() {
+ steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT
+ eeconfig_init_user();
+} \ No newline at end of file
diff --git a/keyboards/mechwild/bbs/bbs.h b/keyboards/mechwild/bbs/bbs.h
new file mode 100644
index 0000000000..2088b68646
--- /dev/null
+++ b/keyboards/mechwild/bbs/bbs.h
@@ -0,0 +1,26 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B,\
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B,\
+ k23, k24, k25, k26, k27, k28 \
+) { \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k06, k07, k08, k09, k0A, k0B }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k16, k17, k18, k19, k1A, k1B }, \
+ { k26, k27, k28, k23, k24, k25 } \
+}
diff --git a/keyboards/mechwild/bbs/config.h b/keyboards/mechwild/bbs/config.h
new file mode 100644
index 0000000000..8798c484f1
--- /dev/null
+++ b/keyboards/mechwild/bbs/config.h
@@ -0,0 +1,88 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 6
+
+/* allows the "key" button on the blackpill to toggle caps lock for user testing before soldering */
+#define DIP_SWITCH_PINS { A0 }
+
+/* status light pins using the on board LED for the blackpill */
+#define LED_CAPS_LOCK_PIN C13
+#define LED_PIN_ON_STATE 0
+
+/*
+ * 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 { B12, B10, B13, B1, B14 }
+#define MATRIX_COL_PINS { B0, A7, A6, A5, A4, A3 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
+
+/* 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
+
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechwild/bbs/info.json b/keyboards/mechwild/bbs/info.json
new file mode 100644
index 0000000000..a6b6747df6
--- /dev/null
+++ b/keyboards/mechwild/bbs/info.json
@@ -0,0 +1,49 @@
+{
+ "keyboard_name": "BB Steno",
+ "manufacturer": "MechWild",
+ "maintainer": "kylemccreery",
+ "url": "https://mechwild.com/product/bb-steno/",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x170E",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"k00", "x":0, "y":0.5},
+ {"label":"k01", "x":1, "y":0.5},
+ {"label":"k02", "x":2, "y":0.25},
+ {"label":"k03", "x":3, "y":0.125},
+ {"label":"k04", "x":4, "y":0.25},
+ {"label":"k05", "x":5, "y":0.25},
+ {"label":"k06", "x":6.75, "y":0.25},
+ {"label":"k07", "x":7.75, "y":0.25},
+ {"label":"k08", "x":8.75, "y":0.125},
+ {"label":"k09", "x":9.75, "y":0.25},
+ {"label":"k0A", "x":10.75, "y":0.5},
+ {"label":"k0B", "x":11.75, "y":0.5},
+
+ {"label":"k10", "x":0, "y":1.5},
+ {"label":"k11", "x":1, "y":1.5},
+ {"label":"k12", "x":2, "y":1.25},
+ {"label":"k13", "x":3, "y":1.125},
+ {"label":"k14", "x":4, "y":1.25},
+ {"label":"k15", "x":5, "y":1.25},
+ {"label":"k16", "x":6.75, "y":1.25},
+ {"label":"k17", "x":7.75, "y":1.25},
+ {"label":"k18", "x":8.75, "y":1.125},
+ {"label":"k19", "x":9.75, "y":1.25},
+ {"label":"k1A", "x":10.75, "y":1.5},
+ {"label":"k1B", "x":11.75, "y":1.5},
+
+ {"label":"k23", "x":2.75, "y":3.25, "h":1.5},
+ {"label":"k24", "x":3.75, "y":3.25, "h":1.5},
+ {"label":"k25", "x":4.75, "y":3, "h":1.5},
+ {"label":"k26", "x":7, "y":3, "h":1.5},
+ {"label":"k27", "x":8, "y":3.25, "h":1.5},
+ {"label":"k28", "x":9, "y":3.25, "h":1.5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/mechwild/bbs/keymaps/default/keymap.c b/keyboards/mechwild/bbs/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a37401eca4
--- /dev/null
+++ b/keyboards/mechwild/bbs/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "keymap_steno.h"
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1
+};
+
+/*
+ * k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B,\
+ * k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B,\
+ * k23, k24, k25, k26, k27, k28 \
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ STN_RES1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR,
+ STN_RES2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR,
+ STN_A, STN_O, STN_N1, STN_N2, STN_E, STN_U
+ ),
+ [_FN1] = 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
+ )
+};
diff --git a/keyboards/mechwild/bbs/readme.md b/keyboards/mechwild/bbs/readme.md
new file mode 100644
index 0000000000..530717b800
--- /dev/null
+++ b/keyboards/mechwild/bbs/readme.md
@@ -0,0 +1,27 @@
+# BB Steno (BBS)
+
+![BBS](https://i.imgur.com/XIjlzKOh.png)
+
+A bare-bones stenography keyboard. No bells or whistles. Simple, cheap, effective, steno.
+
+* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
+* Hardware Supported: BBS v0.1
+* Hardware Availability: [BBS on MechWild](https://mechwild.com/product/bb-steno/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechwild/bbs:default
+
+Flashing example for this keyboard:
+
+ make mechwild/bbs:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (assigned to the top left key) and plug in the keyboard while holding it.
+* **Physical reset button**: Press and hold the boot0 button on the blackpill, tap and release the nrst button on the blackpill, then release the boot0 button.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/mechwild/bbs/rules.mk b/keyboards/mechwild/bbs/rules.mk
new file mode 100644
index 0000000000..519b77b437
--- /dev/null
+++ b/keyboards/mechwild/bbs/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+DIP_SWITCH_ENABLE = yes # Dip Switch Enabled
+
+# Necessary for stenography functionality
+STENO_ENABLE = yes # Enable stenography endpoint
+NKRO_ENABLE = yes # Enable N-Key Rollover
+KEYBOARD_SHARED_EP = yes # Needed to free up an endpoint in blackpill \ No newline at end of file
diff --git a/keyboards/mechwild/bde/bde.c b/keyboards/mechwild/bde/bde.c
deleted file mode 100644
index 911d1c0434..0000000000
--- a/keyboards/mechwild/bde/bde.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2022 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "bde.h"
diff --git a/keyboards/mechwild/bde/bde.h b/keyboards/mechwild/bde/bde.h
deleted file mode 100644
index 3d16bdb8db..0000000000
--- a/keyboards/mechwild/bde/bde.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2022 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-#ifdef KEYBOARD_mechwild_bde_rev2
- #include "rev2.h"
-#elif KEYBOARD_mechwild_bde_lefty
- #include "lefty.h"
-#elif KEYBOARD_mechwild_bde_righty
- #include "righty.h"
-#endif
diff --git a/keyboards/mechwild/bde/config.h b/keyboards/mechwild/bde/config.h
index 5130918c08..ad54af1aa8 100644
--- a/keyboards/mechwild/bde/config.h
+++ b/keyboards/mechwild/bde/config.h
@@ -17,4 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#include "config_common.h" \ No newline at end of file
+#include "config_common.h"
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/mechwild/bde/info.json b/keyboards/mechwild/bde/info.json
index 2189f6bd1c..0177b4c949 100644
--- a/keyboards/mechwild/bde/info.json
+++ b/keyboards/mechwild/bde/info.json
@@ -1,14 +1,31 @@
{
- "keyboard_name": "MechWild BDE Rev2",
+ "manufacturer": "MechWild",
"url": "mechwild.com",
"maintainer": "kylemccreery",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"7", "x":10, "y":0}, {"label":"8", "x":11, "y":0}, {"label":"9", "x":12, "y":0}, {"label":"Mute", "x":13, "y":0},
- {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":"ESC", "x":9, "y":1}, {"label":"4", "x":10, "y":1}, {"label":"5", "x":11, "y":1}, {"label":"6", "x":12, "y":1}, {"label":"0", "x":13, "y":1},
- {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"BS", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"B", "x":6, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":"ENT", "x":9, "y":2}, {"label":"1", "x":10, "y":2}, {"label":"2", "x":11, "y":2}, {"label":"3", "x":12, "y":2}, {"label":"EQL", "x":13, "y":2}
- ]
- }
+ "usb": {
+ "vid": "0x6D77"
+ },
+ "debounce": 5,
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "debug": false,
+ "extrakey": true,
+ "mousekey": true,
+ "rgblight": true,
+ "nkro": true
+ },
+ "development_board": "promicro",
+ "rgblight": {
+ "sleep": true,
+ "max_brightness": 255
+ },
+ "tapping": {
+ "tap_keycode_delay": 10,
+ "tap_capslock_delay": 10
}
}
diff --git a/keyboards/mechwild/bde/keymaps/default/keymap.c b/keyboards/mechwild/bde/keymaps/default/keymap.c
deleted file mode 100644
index 8222af7576..0000000000
--- a/keyboards/mechwild/bde/keymaps/default/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2022 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_BSPC LT(1, KC_BSPC)
-#define FN2_SPC LT(2, KC_SPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define SFT_ENT RSFT_T(KC_ENT)
-#define WIN_C LGUI_T(KC_C)
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
- CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
- ),
- [_FN1] = LAYOUT(
- _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
- _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
- _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
- ),
- [_FN2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
- _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
- _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
- ),
- [_FN3] = 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, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/lefty_default/config.h b/keyboards/mechwild/bde/keymaps/lefty_default/config.h
deleted file mode 100644
index 80e8e2e015..0000000000
--- a/keyboards/mechwild/bde/keymaps/lefty_default/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
-#define IGNORE_MOD_TAP_INTERRUPT
-
-/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
-#define TAPPING_TERM 250
-
diff --git a/keyboards/mechwild/bde/keymaps/lefty_default/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_default/keymap.c
deleted file mode 100644
index 3501a5e350..0000000000
--- a/keyboards/mechwild/bde/keymaps/lefty_default/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_BSPC LT(2, KC_BSPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define SFT_ENT RSFT_T(KC_ENT)
-#define WIN_C LGUI_T(KC_C)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_4, KC_5, KC_6, SFT_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
- KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
- ),
-
- [1] = LAYOUT(
- KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, RESET, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
- KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
- KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
-
- [3] = LAYOUT(
- RGB_M_G, RGB_M_T, _______, RGB_M_P, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
- RGB_M_SN, RGB_M_K, RGB_M_X, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______,
- RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c
deleted file mode 100644
index 940575ce10..0000000000
--- a/keyboards/mechwild/bde/keymaps/lefty_fancy/keymap.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_BSPC LT(2, KC_BSPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define SFT_ENT RSFT_T(KC_ENT)
-#define WIN_C LGUI_T(KC_C)
-
-typedef struct {
- bool is_press_action;
- uint8_t state;
-} tap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD,
- DOUBLE_TAP
-};
-
-// Tap dance enums
-enum {
- left_enter,
-};
-
-uint8_t cur_dance(qk_tap_dance_state_t *state);
-void left_enter_finished(qk_tap_dance_state_t *state, void *user_data);
-void left_enter_reset(qk_tap_dance_state_t *state, void *user_data);
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_4, KC_5, KC_6, TD(left_enter), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
- KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
- ),
-
- [1] = LAYOUT(
- KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, RESET, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
- KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
- KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
-
-[3] = LAYOUT(
- RGB_M_G, RGB_M_T, _______, RGB_M_P, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
- RGB_M_SN, RGB_M_K, RGB_M_X, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______,
- RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
-
-
-uint8_t cur_dance(qk_tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted || !state->pressed) return SINGLE_TAP;
- // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.
- else return SINGLE_HOLD;
- } else return DOUBLE_TAP;
- //} else if (state->count >= 2) {
- // return DOUBLE_TAP;
- //}else return 8; // Magic number. At some point this method will expand to work for more presses
-}
-
-static tap left_enter_tap_state = {
- .is_press_action = true,
- .state = 0
-};
-
-void left_enter_finished(qk_tap_dance_state_t *state, void *user_data) {
- left_enter_tap_state.state = cur_dance(state);
- switch (left_enter_tap_state.state) {
- //case SINGLE_TAP: register_code(KC_ENT); break;
- case SINGLE_HOLD: register_code(KC_LSFT); break;
- case DOUBLE_TAP: register_code(KC_ENT); break;
- }
-}
-
-void left_enter_reset(qk_tap_dance_state_t *state, void *user_data) {
- switch (left_enter_tap_state.state) {
- //case SINGLE_TAP: unregister_code(KC_ENT); break;
- case SINGLE_HOLD: unregister_code(KC_LSFT); break;
- case DOUBLE_TAP: unregister_code(KC_ENT); break;
- }
- left_enter_tap_state.state = 0;
-}
-
-qk_tap_dance_action_t tap_dance_actions[] = {
- [left_enter] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_enter_finished, left_enter_reset)
-};
-
-
-
diff --git a/keyboards/mechwild/bde/keymaps/lefty_via/keymap.c b/keyboards/mechwild/bde/keymaps/lefty_via/keymap.c
deleted file mode 100644
index 68ff334279..0000000000
--- a/keyboards/mechwild/bde/keymaps/lefty_via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_BSPC LT(2, KC_BSPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define SFT_ENT RSFT_T(KC_ENT)
-#define WIN_C LGUI_T(KC_C)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_4, KC_5, KC_6, SFT_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
- KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
- ),
-
- [1] = LAYOUT(
- KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, RESET, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
- KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
- KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/righty_default/config.h b/keyboards/mechwild/bde/keymaps/righty_default/config.h
deleted file mode 100644
index 80e8e2e015..0000000000
--- a/keyboards/mechwild/bde/keymaps/righty_default/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
-#define IGNORE_MOD_TAP_INTERRUPT
-
-/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
-#define TAPPING_TERM 250
-
diff --git a/keyboards/mechwild/bde/keymaps/righty_default/keymap.c b/keyboards/mechwild/bde/keymaps/righty_default/keymap.c
deleted file mode 100644
index 5310cea051..0000000000
--- a/keyboards/mechwild/bde/keymaps/righty_default/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_BSPC LT(2, KC_BSPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define WIN_C LGUI_T(KC_C)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_0, KC_7, KC_8, KC_9,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_ENT, KC_4, KC_5, KC_6,
- CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, KC_RSFT, KC_1, KC_2, KC_3
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, RESET, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F10, KC_F7, KC_F8, KC_F9,
- _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT, KC_TAB, KC_F4, KC_F5, KC_F6,
- _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F1, KC_F2, KC_F3
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, _______
- ),
-
- [3] = LAYOUT(
- RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_G, RGB_M_T, _______,
- RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_M_SN, RGB_M_K, RGB_M_X,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_R, RGB_M_SW
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/righty_via/config.h b/keyboards/mechwild/bde/keymaps/righty_via/config.h
deleted file mode 100644
index 80e8e2e015..0000000000
--- a/keyboards/mechwild/bde/keymaps/righty_via/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
-#define IGNORE_MOD_TAP_INTERRUPT
-
-/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
-#define TAPPING_TERM 250
-
diff --git a/keyboards/mechwild/bde/keymaps/righty_via/keymap.c b/keyboards/mechwild/bde/keymaps/righty_via/keymap.c
deleted file mode 100644
index 5310cea051..0000000000
--- a/keyboards/mechwild/bde/keymaps/righty_via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_BSPC LT(2, KC_BSPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define WIN_C LGUI_T(KC_C)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_0, KC_7, KC_8, KC_9,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_ENT, KC_4, KC_5, KC_6,
- CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, KC_RSFT, KC_1, KC_2, KC_3
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, RESET, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F10, KC_F7, KC_F8, KC_F9,
- _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT, KC_TAB, KC_F4, KC_F5, KC_F6,
- _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F1, KC_F2, KC_F3
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, _______
- ),
-
- [3] = LAYOUT(
- RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_G, RGB_M_T, _______,
- RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_M_SN, RGB_M_K, RGB_M_X,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_R, RGB_M_SW
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/via/keymap.c b/keyboards/mechwild/bde/keymaps/via/keymap.c
deleted file mode 100644
index e28c1b6db8..0000000000
--- a/keyboards/mechwild/bde/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2022 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include QMK_KEYBOARD_H
-
-#define FN1_BSPC LT(1, KC_BSPC)
-#define FN2_SPC LT(2, KC_SPC)
-#define FN3_B LT(3, KC_B)
-#define CTL_Z CTL_T(KC_Z)
-#define ALT_X ALT_T(KC_X)
-#define ALT_N ALGR_T(KC_N)
-#define CTL_M RCTL_T(KC_M)
-#define SFT_ENT RSFT_T(KC_ENT)
-#define WIN_C LGUI_T(KC_C)
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
- CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
- ),
- [_FN1] = LAYOUT(
- _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
- _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
- _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
- ),
- [_FN2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
- _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
- _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
- ),
- [_FN3] = 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_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD
- )
-
-};
diff --git a/keyboards/mechwild/bde/keymaps/via/rules.mk b/keyboards/mechwild/bde/keymaps/via/rules.mk
deleted file mode 100644
index 07681b4f2c..0000000000
--- a/keyboards/mechwild/bde/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-RGBLIGHT_ENABLE = yes
-VIA_ENABLE = yes
-LTO_ENABLE = no
diff --git a/keyboards/mechwild/bde/lefty/config.h b/keyboards/mechwild/bde/lefty/config.h
deleted file mode 100644
index 082295ef7c..0000000000
--- a/keyboards/mechwild/bde/lefty/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1701
-#define DEVICE_VER 0x0203
-#define MANUFACTURER MechWild
-#define PRODUCT BDE Lefty
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 14
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, D7, D3}
-#define MATRIX_COL_PINS { F7, B1, B6, B2, B3, F6, F5, F4, D0, D4, C6, E6, B5, B4}
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* If RGBLIGHT_ENABLE is set to yes in the rules, ensure the RGBLED_NUM is accurate for how many you have attached. */
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 16
-#define RGBLIGHT_ANIMATIONS
-
-/* 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
-
diff --git a/keyboards/mechwild/bde/lefty/info.json b/keyboards/mechwild/bde/lefty/info.json
new file mode 100644
index 0000000000..5aa4ac1e80
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "BDE Lefty",
+ "usb": {
+ "pid": "0x1701",
+ "device_version": "2.0.3"
+ },
+ "matrix_pins": {
+ "rows": ["D1", "D7", "D3"],
+ "cols": ["F7", "B1", "B6", "B2", "B3", "F6", "F5", "F4", "D0", "D4", "C6", "E6", "B5", "B4"]
+ },
+ "diode_direction": "ROW2COL",
+ "rgblight": {
+ "led_count": 16,
+ "pin": "D2",
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "label":"7", "x":0, "y":0 },
+ { "matrix": [0, 1], "label":"8", "x":1, "y":0 },
+ { "matrix": [0, 2], "label":"9", "x":2, "y":0 },
+ { "matrix": [0, 3], "label":"0", "x":3, "y":0 },
+ { "matrix": [0, 4], "label":"Q", "x":4, "y":0 },
+ { "matrix": [0, 5], "label":"W", "x":5, "y":0 },
+ { "matrix": [0, 6], "label":"E", "x":6, "y":0 },
+ { "matrix": [0, 7], "label":"R", "x":7, "y":0 },
+ { "matrix": [0, 8], "label":"T", "x":8, "y":0 },
+ { "matrix": [0, 9], "label":"Y", "x":9, "y":0 },
+ { "matrix": [0, 10], "label":"U", "x":10, "y":0 },
+ { "matrix": [0, 11], "label":"I", "x":11, "y":0 },
+ { "matrix": [0, 12], "label":"O", "x":12, "y":0 },
+ { "matrix": [0, 13], "label":"P", "x":13, "y":0 },
+
+ { "matrix": [1, 0], "label":"4", "x":0, "y":1 },
+ { "matrix": [1, 1], "label":"5", "x":1, "y":1 },
+ { "matrix": [1, 2], "label":"6", "x":2, "y":1 },
+ { "matrix": [1, 3], "label":"Enter", "x":3, "y":1, "h":2 },
+ { "matrix": [1, 4], "label":"A", "x":4, "y":1 },
+ { "matrix": [1, 5], "label":"S", "x":5, "y":1 },
+ { "matrix": [1, 6], "label":"D", "x":6, "y":1 },
+ { "matrix": [1, 7], "label":"F", "x":7, "y":1 },
+ { "matrix": [1, 8], "label":"G", "x":8, "y":1 },
+ { "matrix": [1, 9], "label":"H", "x":9, "y":1 },
+ { "matrix": [1, 10], "label":"J", "x":10, "y":1 },
+ { "matrix": [1, 11], "label":"K", "x":11, "y":1 },
+ { "matrix": [1, 12], "label":"L", "x":12, "y":1 },
+ { "matrix": [1, 13], "label":"Esc", "x":13, "y":1 },
+
+ { "matrix": [2, 0], "label":"1", "x":0, "y":2 },
+ { "matrix": [2, 1], "label":"2", "x":1, "y":2 },
+ { "matrix": [2, 2], "label":"3", "x":2, "y":2 },
+ { "matrix": [2, 4], "label":"Z", "x":4, "y":2 },
+ { "matrix": [2, 5], "label":"X", "x":5, "y":2 },
+ { "matrix": [2, 6], "label":"C", "x":6, "y":2 },
+ { "matrix": [2, 7], "label":"V", "x":7, "y":2 },
+ { "matrix": [2, 8], "label":"Back", "x":8, "y":2 },
+ { "matrix": [2, 9], "label":"Space", "x":9, "y":2 },
+ { "matrix": [2, 10], "label":"B", "x":10, "y":2 },
+ { "matrix": [2, 11], "label":"N", "x":11, "y":2 },
+ { "matrix": [2, 12], "label":"M", "x":12, "y":2 },
+ { "matrix": [2, 13], "label":"Shift", "x":13, "y":2 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/bde/lefty/keymaps/default/config.h b/keyboards/mechwild/bde/lefty/keymaps/default/config.h
new file mode 100644
index 0000000000..5c2d15a006
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/keymaps/default/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
+#define TAPPING_TERM 250
+
diff --git a/keyboards/mechwild/bde/lefty/keymaps/default/keymap.c b/keyboards/mechwild/bde/lefty/keymaps/default/keymap.c
new file mode 100644
index 0000000000..804c29824c
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_BSPC LT(2, KC_BSPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define SFT_ENT RSFT_T(KC_ENT)
+#define WIN_C LGUI_T(KC_C)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_4, KC_5, KC_6, SFT_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
+ KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
+ ),
+
+ [1] = LAYOUT(
+ KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, QK_BOOT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
+ KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
+ KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ [3] = LAYOUT(
+ RGB_M_G, RGB_M_T, _______, RGB_M_P, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
+ RGB_M_SN, RGB_M_K, RGB_M_X, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______,
+ RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/mechwild/bde/lefty/keymaps/default/rules.mk b/keyboards/mechwild/bde/lefty/keymaps/default/rules.mk
new file mode 100644
index 0000000000..a4c9ac387a
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/keymaps/default/rules.mk
@@ -0,0 +1,9 @@
+# If you are using a custom Pro Micro-compatible dev board (Elite-C, Sea-Micro, etc)
+# you may need to uncomment and modify this BOOTLOADER setting to use the correct
+# bootloader. (e.g. Elite-Cs use "atmel-dfu", not "caterina".)
+#
+# See the QMK docs for more information:
+# https://docs.qmk.fm/#/flashing
+# https://docs.qmk.fm/#/driver_installation_zadig?id=list-of-known-bootloaders
+
+# BOOTLOADER = caterina
diff --git a/keyboards/mechwild/bde/keymaps/lefty_fancy/config.h b/keyboards/mechwild/bde/lefty/keymaps/fancy/config.h
index 8476c8ccd6..8476c8ccd6 100644
--- a/keyboards/mechwild/bde/keymaps/lefty_fancy/config.h
+++ b/keyboards/mechwild/bde/lefty/keymaps/fancy/config.h
diff --git a/keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c b/keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c
new file mode 100644
index 0000000000..3240dbdfb2
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/keymaps/fancy/keymap.c
@@ -0,0 +1,121 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_BSPC LT(2, KC_BSPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define SFT_ENT RSFT_T(KC_ENT)
+#define WIN_C LGUI_T(KC_C)
+
+typedef struct {
+ bool is_press_action;
+ uint8_t state;
+} tap;
+
+enum {
+ SINGLE_TAP = 1,
+ SINGLE_HOLD,
+ DOUBLE_TAP
+};
+
+// Tap dance enums
+enum {
+ left_enter,
+};
+
+uint8_t cur_dance(qk_tap_dance_state_t *state);
+void left_enter_finished(qk_tap_dance_state_t *state, void *user_data);
+void left_enter_reset(qk_tap_dance_state_t *state, void *user_data);
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_4, KC_5, KC_6, TD(left_enter), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
+ KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
+ ),
+
+ [1] = LAYOUT(
+ KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, QK_BOOT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
+ KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
+ KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+[3] = LAYOUT(
+ RGB_M_G, RGB_M_T, _______, RGB_M_P, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______,
+ RGB_M_SN, RGB_M_K, RGB_M_X, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______,
+ RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
+
+
+uint8_t cur_dance(qk_tap_dance_state_t *state) {
+ if (state->count == 1) {
+ if (state->interrupted || !state->pressed) return SINGLE_TAP;
+ // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.
+ else return SINGLE_HOLD;
+ } else return DOUBLE_TAP;
+ //} else if (state->count >= 2) {
+ // return DOUBLE_TAP;
+ //}else return 8; // Magic number. At some point this method will expand to work for more presses
+}
+
+static tap left_enter_tap_state = {
+ .is_press_action = true,
+ .state = 0
+};
+
+void left_enter_finished(qk_tap_dance_state_t *state, void *user_data) {
+ left_enter_tap_state.state = cur_dance(state);
+ switch (left_enter_tap_state.state) {
+ //case SINGLE_TAP: register_code(KC_ENT); break;
+ case SINGLE_HOLD: register_code(KC_LSFT); break;
+ case DOUBLE_TAP: register_code(KC_ENT); break;
+ }
+}
+
+void left_enter_reset(qk_tap_dance_state_t *state, void *user_data) {
+ switch (left_enter_tap_state.state) {
+ //case SINGLE_TAP: unregister_code(KC_ENT); break;
+ case SINGLE_HOLD: unregister_code(KC_LSFT); break;
+ case DOUBLE_TAP: unregister_code(KC_ENT); break;
+ }
+ left_enter_tap_state.state = 0;
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [left_enter] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_enter_finished, left_enter_reset)
+};
+
+
+
diff --git a/keyboards/mechwild/bde/keymaps/lefty_fancy/rules.mk b/keyboards/mechwild/bde/lefty/keymaps/fancy/rules.mk
index 9a56408f8e..9a56408f8e 100644
--- a/keyboards/mechwild/bde/keymaps/lefty_fancy/rules.mk
+++ b/keyboards/mechwild/bde/lefty/keymaps/fancy/rules.mk
diff --git a/keyboards/mechwild/bde/keymaps/lefty_via/config.h b/keyboards/mechwild/bde/lefty/keymaps/via/config.h
index 8476c8ccd6..8476c8ccd6 100644
--- a/keyboards/mechwild/bde/keymaps/lefty_via/config.h
+++ b/keyboards/mechwild/bde/lefty/keymaps/via/config.h
diff --git a/keyboards/mechwild/bde/lefty/keymaps/via/keymap.c b/keyboards/mechwild/bde/lefty/keymaps/via/keymap.c
new file mode 100644
index 0000000000..722062935a
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/keymaps/via/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_BSPC LT(2, KC_BSPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define SFT_ENT RSFT_T(KC_ENT)
+#define WIN_C LGUI_T(KC_C)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_7, KC_8, KC_9, KC_0, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_4, KC_5, KC_6, SFT_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
+ KC_1, KC_2, KC_3, CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT
+ ),
+
+ [1] = LAYOUT(
+ KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, QK_BOOT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_F4, KC_F5, KC_F6, KC_TAB, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT,
+ KC_F1, KC_F2, KC_F3, _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO,
+ KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/mechwild/bde/keymaps/righty_via/rules.mk b/keyboards/mechwild/bde/lefty/keymaps/via/rules.mk
index 16d33cd89f..16d33cd89f 100644
--- a/keyboards/mechwild/bde/keymaps/righty_via/rules.mk
+++ b/keyboards/mechwild/bde/lefty/keymaps/via/rules.mk
diff --git a/keyboards/mechwild/bde/lefty/lefty.c b/keyboards/mechwild/bde/lefty/lefty.c
deleted file mode 100644
index 6873ed36a0..0000000000
--- a/keyboards/mechwild/bde/lefty/lefty.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "bde.h"
diff --git a/keyboards/mechwild/bde/lefty/lefty.h b/keyboards/mechwild/bde/lefty/lefty.h
deleted file mode 100644
index 37b8771db6..0000000000
--- a/keyboards/mechwild/bde/lefty/lefty.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- 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, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D \
-) { \
- {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, KC_NO, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D} \
-}
diff --git a/keyboards/mechwild/bde/lefty/rules.mk b/keyboards/mechwild/bde/lefty/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/mechwild/bde/lefty/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/mechwild/bde/readme.md b/keyboards/mechwild/bde/readme.md
index 5481b47160..623903b4e7 100644
--- a/keyboards/mechwild/bde/readme.md
+++ b/keyboards/mechwild/bde/readme.md
@@ -12,4 +12,22 @@ Make example for this keyboard (after setting up your build environment):
make mechwild/bde:default
+Flashing example for this keyboard:
+
+ make mechwild/bde:default:flash
+
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving.
+* **Physical reset**: Press the 6x6mm button on the underside of the keyboard. On Rev1, it is above the Pro Micro; on Rev2, it is below the OLED.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, replacing the R key.
+
+As a Pro Micro-compatible board, the BDE defines `caterina` as its bootloader by default. Many popular Pro Micro alternatives like the Elite-C, Bit-C, Sea-Micro, Puchi-C etc should be flashed with a different bootloader such as `atmel-dfu`.
+
+**If the incorrect bootloader is specified, bootmagic reset and the `QK_BOOT` keycode will not work**.
+
+To avoid this problem, set the correct bootloader in your custom keymap's `rules.mk` file before compiling, or flash using an appropriate target (e.g. `make mechwild/bde:default:dfu`). See [flashing instructions and bootloader information](https://docs.qmk.fm/#/flashing) for more details.
diff --git a/keyboards/mechwild/bde/rev2/config.h b/keyboards/mechwild/bde/rev2/config.h
index 0f290ecc33..3d045762ca 100644
--- a/keyboards/mechwild/bde/rev2/config.h
+++ b/keyboards/mechwild/bde/rev2/config.h
@@ -17,54 +17,11 @@ 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 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x170A
-#define DEVICE_VER 0x0101
-#define MANUFACTURER MechWild
-#define PRODUCT BDE Rev2
-
-/* Key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 7
-
-/* Key matrix pins */
-#define MATRIX_ROW_PINS { C6, D7, B4, D4, E6, B2 }
-#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4, B5 }
-#define UNUSED_PINS
-
/* Encoder pins */
-#define ENCODERS_PAD_A { D3 }
-#define ENCODERS_PAD_B { D2 }
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { D3 }
/* Encoder resolution */
#define ENCODER_RESOLUTION 4
-#define TAP_CODE_DELAY 10
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
#define OLED_FONT_H "keyboards/mechwild/bde/lib/rev2.c"
-
-#define RGB_DI_PIN B6
-#ifdef RGB_DI_PIN
-# define RGBLED_NUM 8
-# 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 */
-/*== Chosen enabled animations ==*/
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
diff --git a/keyboards/mechwild/bde/rev2/info.json b/keyboards/mechwild/bde/rev2/info.json
new file mode 100644
index 0000000000..29ddb0e017
--- /dev/null
+++ b/keyboards/mechwild/bde/rev2/info.json
@@ -0,0 +1,72 @@
+{
+ "keyboard_name": "BDE Rev2",
+ "usb": {
+ "pid": "0x170A",
+ "device_version": "1.0.1"
+ },
+ "matrix_pins": {
+ "rows":[ "C6", "D7", "B4", "D4", "E6", "B2" ],
+ "cols": ["B3", "B1", "F7", "F6", "F5", "F4", "B5" ]
+ },
+ "diode_direction": "COL2ROW",
+ "rgblight": {
+ "led_count": 8,
+ "pin": "B6",
+ "animations": {
+ "rainbow_swirl": true
+ },
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "label":"Q", "x":0, "y":0},
+ { "matrix": [0, 1], "label":"W", "x":1, "y":0},
+ { "matrix": [0, 2], "label":"E", "x":2, "y":0},
+ { "matrix": [0, 3], "label":"R", "x":3, "y":0},
+ { "matrix": [0, 4], "label":"T", "x":4, "y":0},
+ { "matrix": [0, 5], "label":"Y", "x":5, "y":0},
+ { "matrix": [0, 6], "label":"U", "x":6, "y":0},
+ { "matrix": [3, 6], "label":"I", "x":7, "y":0},
+ { "matrix": [3, 5], "label":"O", "x":8, "y":0},
+ { "matrix": [3, 4], "label":"P", "x":9, "y":0},
+ { "matrix": [3, 3], "label":"7", "x":10, "y":0},
+ { "matrix": [3, 2], "label":"8", "x":11, "y":0},
+ { "matrix": [3, 1], "label":"9", "x":12, "y":0},
+ { "matrix": [3, 0], "label":"Mute", "x":13, "y":0},
+
+ { "matrix": [1, 0], "label":"A", "x":0, "y":1},
+ { "matrix": [1, 1], "label":"S", "x":1, "y":1},
+ { "matrix": [1, 2], "label":"D", "x":2, "y":1},
+ { "matrix": [1, 3], "label":"F", "x":3, "y":1},
+ { "matrix": [1, 4], "label":"G", "x":4, "y":1},
+ { "matrix": [1, 5], "label":"H", "x":5, "y":1},
+ { "matrix": [1, 6], "label":"J", "x":6, "y":1},
+ { "matrix": [4, 6], "label":"K", "x":7, "y":1},
+ { "matrix": [4, 5], "label":"L", "x":8, "y":1},
+ { "matrix": [4, 4], "label":"Esc", "x":9, "y":1},
+ { "matrix": [4, 3], "label":"4", "x":10, "y":1},
+ { "matrix": [4, 2], "label":"5", "x":11, "y":1},
+ { "matrix": [4, 1], "label":"6", "x":12, "y":1},
+ { "matrix": [4, 0], "label":"0", "x":13, "y":1},
+
+ { "matrix": [2, 0], "label":"Z", "x":0, "y":2},
+ { "matrix": [2, 1], "label":"X", "x":1, "y":2},
+ { "matrix": [2, 2], "label":"C", "x":2, "y":2},
+ { "matrix": [2, 3], "label":"V", "x":3, "y":2},
+ { "matrix": [2, 4], "label":"Back", "x":4, "y":2},
+ { "matrix": [2, 5], "label":"Space", "x":5, "y":2},
+ { "matrix": [2, 6], "label":"B", "x":6, "y":2},
+ { "matrix": [5, 6], "label":"N", "x":7, "y":2},
+ { "matrix": [5, 5], "label":"M", "x":8, "y":2},
+ { "matrix": [5, 4], "label":"Enter", "x":9, "y":2},
+ { "matrix": [5, 3], "label":"1", "x":10, "y":2},
+ { "matrix": [5, 2], "label":"2", "x":11, "y":2},
+ { "matrix": [5, 1], "label":"3", "x":12, "y":2},
+ { "matrix": [5, 0], "label":"EQL", "x":13, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c b/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..375dc25ae2
--- /dev/null
+++ b/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2022 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_BSPC LT(1, KC_BSPC)
+#define FN2_SPC LT(2, KC_SPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define SFT_ENT RSFT_T(KC_ENT)
+#define WIN_C LGUI_T(KC_C)
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
+ CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
+ ),
+ [_FN1] = LAYOUT(
+ _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
+ _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
+ _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
+ ),
+ [_FN2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
+ _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
+ _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
+ ),
+ [_FN3] = 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, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
+
+// If you are not using an encoder, remember to set ENCODER_ENABLE and ENCODER_MAP_ENABLE to no in rules.mk.
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/bde/rev2/keymaps/default/rules.mk b/keyboards/mechwild/bde/rev2/keymaps/default/rules.mk
new file mode 100644
index 0000000000..d976f24919
--- /dev/null
+++ b/keyboards/mechwild/bde/rev2/keymaps/default/rules.mk
@@ -0,0 +1,13 @@
+# If you are using a custom Pro Micro-compatible dev board (Elite-C, Sea-Micro, etc)
+# you may need to uncomment and modify this BOOTLOADER setting to use the correct
+# bootloader. (e.g. Elite-Cs use "atmel-dfu", not "caterina".)
+#
+# See the QMK docs for more information:
+# https://docs.qmk.fm/#/flashing
+# https://docs.qmk.fm/#/driver_installation_zadig?id=list-of-known-bootloaders
+
+# BOOTLOADER = caterina
+
+# If you are not using an encoder, set these options to no.
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/bde/keymaps/via/config.h b/keyboards/mechwild/bde/rev2/keymaps/via/config.h
index d09385ca5d..d09385ca5d 100644
--- a/keyboards/mechwild/bde/keymaps/via/config.h
+++ b/keyboards/mechwild/bde/rev2/keymaps/via/config.h
diff --git a/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c b/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8ce001cff8
--- /dev/null
+++ b/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2022 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_BSPC LT(1, KC_BSPC)
+#define FN2_SPC LT(2, KC_SPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define SFT_ENT RSFT_T(KC_ENT)
+#define WIN_C LGUI_T(KC_C)
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
+ CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
+ ),
+ [_FN1] = LAYOUT(
+ _______, _______, _______, QK_BOOT, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
+ _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
+ _______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
+ ),
+ [_FN2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
+ _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
+ _______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
+ ),
+ [_FN3] = 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_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD
+ )
+
+};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/bde/rev2/keymaps/via/rules.mk b/keyboards/mechwild/bde/rev2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..9ff50262fb
--- /dev/null
+++ b/keyboards/mechwild/bde/rev2/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/bde/rev2/rev2.c b/keyboards/mechwild/bde/rev2/rev2.c
index 88c06988d9..3dae312e2b 100644
--- a/keyboards/mechwild/bde/rev2/rev2.c
+++ b/keyboards/mechwild/bde/rev2/rev2.c
@@ -1,21 +1,20 @@
-/* Copyright 2022 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* Copyright 2022 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
-#include "bde.h"
+#include "rev2.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
@@ -34,30 +33,25 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
#endif
#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
- }
+static const char PROGMEM mw_logo[] = {
+ 0x8A, 0x8B, 0x8C, 0x8D, '\r',
+ 0xAA, 0xAB, 0xAC, 0xAD, 0xAE,
+ 0xCA, 0xCB, 0xCC, 0xCD, '\r',
+ 0x20, 0x8E, 0x8F, 0x90, 0x00};
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_270; // flips the display 270 degrees
+}
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
- bool oled_task_user(void) {
- render_logo();
- oled_set_cursor(0,6);
+ oled_write_P(mw_logo, false); // Render MechWild "MW" Logo
+ oled_set_cursor(0,6);
- oled_write_ln_P(PSTR("Layer"), false);
+ oled_write_ln_P(PSTR("Layer"), false);
switch (get_highest_layer(layer_state)) {
case 0:
@@ -75,14 +69,13 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
default:
oled_write_ln_P(PSTR("Undef"), false);
}
- oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR(""), false);
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
-
- return false;
-
- }
+
+ return true;
+}
#endif
diff --git a/keyboards/mechwild/bde/rev2/rev2.h b/keyboards/mechwild/bde/rev2/rev2.h
index 8c8191710a..bb37c7ef69 100644
--- a/keyboards/mechwild/bde/rev2/rev2.h
+++ b/keyboards/mechwild/bde/rev2/rev2.h
@@ -16,16 +16,3 @@
#pragma once
#include "quantum.h"
-
-#define LAYOUT( \
- 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, K2C, K2D \
-) { \
- { K00, K01, K02, K03, K04, K05, K06 }, \
- { K10, K11, K12, K13, K14, K15, K16 }, \
- { K20, K21, K22, K23, K24, K25, K26 }, \
- { K0D, K0C, K0B, K0A, K09, K08, K07 }, \
- { K1D, K1C, K1B, K1A, K19, K18, K17 }, \
- { K2D, K2C, K2B, K2A, K29, K28, K27 } \
-}
diff --git a/keyboards/mechwild/bde/righty/config.h b/keyboards/mechwild/bde/righty/config.h
deleted file mode 100644
index 1764520b13..0000000000
--- a/keyboards/mechwild/bde/righty/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1702
-#define DEVICE_VER 0x0203
-#define MANUFACTURER MechWild
-#define PRODUCT BDE Righty
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 14
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, D7, D3}
-#define MATRIX_COL_PINS { B4, B5, E6, C6, D4, D0, F4, F5, F6, B6, B3, B2, B1, F7}
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* If RGBLIGHT_ENABLE is set to yes in the rules, ensure the RGBLED_NUM is accurate for how many you have attached. */
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 16
-#define RGBLIGHT_ANIMATIONS
-
-/* 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
-
diff --git a/keyboards/mechwild/bde/righty/info.json b/keyboards/mechwild/bde/righty/info.json
new file mode 100644
index 0000000000..af23e6e293
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "BDE Righty",
+ "usb": {
+ "pid": "0x1702",
+ "device_version": "2.0.3"
+ },
+ "matrix_pins": {
+ "rows": ["D1", "D7", "D3"],
+ "cols": [ "B4", "B5", "E6", "C6", "D4", "D0", "F4", "F5", "F6", "B3", "B2", "B6", "B1", "F7"]
+ },
+ "diode_direction": "ROW2COL",
+ "rgblight": {
+ "led_count": 16,
+ "pin": "D2",
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "label":"Q", "x":0, "y":0 },
+ { "matrix": [0, 1], "label":"W", "x":1, "y":0 },
+ { "matrix": [0, 2], "label":"E", "x":2, "y":0 },
+ { "matrix": [0, 3], "label":"R", "x":3, "y":0 },
+ { "matrix": [0, 4], "label":"T", "x":4, "y":0 },
+ { "matrix": [0, 5], "label":"Y", "x":5, "y":0 },
+ { "matrix": [0, 6], "label":"U", "x":6, "y":0 },
+ { "matrix": [0, 7], "label":"I", "x":7, "y":0 },
+ { "matrix": [0, 8], "label":"O", "x":8, "y":0 },
+ { "matrix": [0, 9], "label":"P", "x":9, "y":0 },
+ { "matrix": [0, 10], "label":"0", "x":10, "y":0 },
+ { "matrix": [0, 11], "label":"7", "x":11, "y":0 },
+ { "matrix": [0, 12], "label":"8", "x":12, "y":0 },
+ { "matrix": [0, 13], "label":"9", "x":13, "y":0 },
+
+ { "matrix": [1, 0], "label":"A", "x":0, "y":1 },
+ { "matrix": [1, 1], "label":"S", "x":1, "y":1 },
+ { "matrix": [1, 2], "label":"D", "x":2, "y":1 },
+ { "matrix": [1, 3], "label":"F", "x":3, "y":1 },
+ { "matrix": [1, 4], "label":"G", "x":4, "y":1 },
+ { "matrix": [1, 5], "label":"H", "x":5, "y":1 },
+ { "matrix": [1, 6], "label":"J", "x":6, "y":1 },
+ { "matrix": [1, 7], "label":"K", "x":7, "y":1 },
+ { "matrix": [1, 8], "label":"L", "x":8, "y":1 },
+ { "matrix": [1, 9], "label":"Esc", "x":9, "y":1 },
+ { "matrix": [1, 10], "label":"Enter", "x":10, "y":1 , "h":2 },
+ { "matrix": [1, 11], "label":"4", "x":11, "y":1 },
+ { "matrix": [1, 12], "label":"5", "x":12, "y":1 },
+ { "matrix": [1, 13], "label":"6", "x":13, "y":1 },
+
+ { "matrix": [2, 0], "label":"Z", "x":0, "y":2 },
+ { "matrix": [2, 1], "label":"X", "x":1, "y":2 },
+ { "matrix": [2, 2], "label":"C", "x":2, "y":2 },
+ { "matrix": [2, 3], "label":"V", "x":3, "y":2 },
+ { "matrix": [2, 4], "label":"Back", "x":4, "y":2 },
+ { "matrix": [2, 5], "label":"Space", "x":5, "y":2 },
+ { "matrix": [2, 6], "label":"B", "x":6, "y":2 },
+ { "matrix": [2, 7], "label":"N", "x":7, "y":2 },
+ { "matrix": [2, 8], "label":"M", "x":8, "y":2 },
+ { "matrix": [2, 9], "label":"Esc", "x":9, "y":2 },
+ { "matrix": [2, 11], "label":"1", "x":11, "y":2 },
+ { "matrix": [2, 12], "label":"2", "x":12, "y":2 },
+ { "matrix": [2, 13], "label":"3", "x":13, "y":2 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/bde/righty/keymaps/default/config.h b/keyboards/mechwild/bde/righty/keymaps/default/config.h
new file mode 100644
index 0000000000..5c2d15a006
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/default/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
+#define TAPPING_TERM 250
+
diff --git a/keyboards/mechwild/bde/righty/keymaps/default/keymap.c b/keyboards/mechwild/bde/righty/keymaps/default/keymap.c
new file mode 100644
index 0000000000..dea0054d95
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_BSPC LT(2, KC_BSPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define WIN_C LGUI_T(KC_C)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_0, KC_7, KC_8, KC_9,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_ENT, KC_4, KC_5, KC_6,
+ CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, KC_RSFT, KC_1, KC_2, KC_3
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, QK_BOOT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F10, KC_F7, KC_F8, KC_F9,
+ _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT, KC_TAB, KC_F4, KC_F5, KC_F6,
+ _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F1, KC_F2, KC_F3
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, _______
+ ),
+
+ [3] = LAYOUT(
+ RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_G, RGB_M_T, _______,
+ RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_M_SN, RGB_M_K, RGB_M_X,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_R, RGB_M_SW
+ )
+
+};
diff --git a/keyboards/mechwild/bde/righty/keymaps/default/rules.mk b/keyboards/mechwild/bde/righty/keymaps/default/rules.mk
new file mode 100644
index 0000000000..a4c9ac387a
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/default/rules.mk
@@ -0,0 +1,9 @@
+# If you are using a custom Pro Micro-compatible dev board (Elite-C, Sea-Micro, etc)
+# you may need to uncomment and modify this BOOTLOADER setting to use the correct
+# bootloader. (e.g. Elite-Cs use "atmel-dfu", not "caterina".)
+#
+# See the QMK docs for more information:
+# https://docs.qmk.fm/#/flashing
+# https://docs.qmk.fm/#/driver_installation_zadig?id=list-of-known-bootloaders
+
+# BOOTLOADER = caterina
diff --git a/keyboards/mechwild/bde/righty/keymaps/via/config.h b/keyboards/mechwild/bde/righty/keymaps/via/config.h
new file mode 100644
index 0000000000..5c2d15a006
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/via/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
+#define TAPPING_TERM 250
+
diff --git a/keyboards/mechwild/bde/righty/keymaps/via/keymap.c b/keyboards/mechwild/bde/righty/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b8238b152f
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2020 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_BSPC LT(2, KC_BSPC)
+#define FN3_B LT(3, KC_B)
+#define CTL_Z CTL_T(KC_Z)
+#define ALT_X ALT_T(KC_X)
+#define ALT_N ALGR_T(KC_N)
+#define CTL_M RCTL_T(KC_M)
+#define WIN_C LGUI_T(KC_C)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_0, KC_7, KC_8, KC_9,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_ENT, KC_4, KC_5, KC_6,
+ CTL_Z, ALT_X, WIN_C, KC_V, FN2_BSPC, FN1_SPC, FN3_B, ALT_N, CTL_M, KC_RSFT, KC_1, KC_2, KC_3
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, QK_BOOT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F10, KC_F7, KC_F8, KC_F9,
+ _______, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT, KC_TAB, KC_F4, KC_F5, KC_F6,
+ _______, _______, KC_LGUI, _______, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F1, KC_F2, KC_F3
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, _______
+ ),
+
+ [3] = LAYOUT(
+ RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_G, RGB_M_T, _______,
+ RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_M_SN, RGB_M_K, RGB_M_X,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, RGB_M_R, RGB_M_SW
+ )
+
+};
diff --git a/keyboards/mechwild/bde/righty/keymaps/via/rules.mk b/keyboards/mechwild/bde/righty/keymaps/via/rules.mk
new file mode 100644
index 0000000000..16d33cd89f
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+
diff --git a/keyboards/mechwild/bde/righty/righty.c b/keyboards/mechwild/bde/righty/righty.c
deleted file mode 100644
index 6873ed36a0..0000000000
--- a/keyboards/mechwild/bde/righty/righty.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "bde.h"
diff --git a/keyboards/mechwild/bde/righty/righty.h b/keyboards/mechwild/bde/righty/righty.h
deleted file mode 100644
index f1f29554a1..0000000000
--- a/keyboards/mechwild/bde/righty/righty.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2020 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- 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, K2B, K2C, K2D \
-) { \
- {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, KC_NO, K2B, K2C, K2D} \
-}
diff --git a/keyboards/mechwild/bde/righty/rules.mk b/keyboards/mechwild/bde/righty/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/mechwild/bde/righty/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/mechwild/bde/rules.mk b/keyboards/mechwild/bde/rules.mk
index 2ae725a20b..138a291916 100644
--- a/keyboards/mechwild/bde/rules.mk
+++ b/keyboards/mechwild/bde/rules.mk
@@ -1,20 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
DEFAULT_FOLDER = mechwild/bde/rev2
diff --git a/keyboards/mechwild/clunker/config.h b/keyboards/mechwild/clunker/config.h
new file mode 100644
index 0000000000..19dab9b25d
--- /dev/null
+++ b/keyboards/mechwild/clunker/config.h
@@ -0,0 +1,26 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { D3 }
+#define ENCODER_RESOLUTION 4
+
+#define SOLENOID_PIN F4
diff --git a/keyboards/mechwild/clunker/info.json b/keyboards/mechwild/clunker/info.json
new file mode 100644
index 0000000000..cc9b8a1c59
--- /dev/null
+++ b/keyboards/mechwild/clunker/info.json
@@ -0,0 +1,85 @@
+{
+ "manufacturer": "MechWild",
+ "keyboard_name": "Clunker",
+ "maintainer": "kylemccreery",
+ "bootloader": "caterina",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "encoder": true,
+ "haptic": true
+ },
+ "matrix_pins": {
+ "rows": ["F5", "F6", "B3", "F7", "B2", "B1", "B6"],
+ "cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://mechwild.com/product/clunker/",
+ "usb": {
+ "device_version": "1.3.0",
+ "pid": "0x1711",
+ "vid": "0x6D77"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x":0, "y":0},
+ { "matrix": [0, 1], "x":1, "y":0},
+ { "matrix": [0, 2], "x":2, "y":0},
+ { "matrix": [0, 3], "x":3, "y":0},
+ { "matrix": [0, 4], "x":4, "y":0},
+ { "matrix": [0, 5], "x":5, "y":0},
+ { "matrix": [0, 6], "x":6, "y":0},
+ { "matrix": [0, 7], "x":7, "y":0},
+ { "matrix": [1, 0], "x":0, "y":1, "w":1.5},
+ { "matrix": [1, 1], "x":1.5, "y":1},
+ { "matrix": [1, 2], "x":2.5, "y":1},
+ { "matrix": [1, 3], "x":3.5, "y":1},
+ { "matrix": [1, 4], "x":4.5, "y":1},
+ { "matrix": [1, 5], "x":5.5, "y":1},
+ { "matrix": [1, 6], "x":6.5, "y":1},
+ { "matrix": [1, 7], "x":7.5, "y":1},
+ { "matrix": [5, 7], "x":8.5, "y":1},
+ { "matrix": [5, 6], "x":9.5, "y":1},
+ { "matrix": [5, 5], "x":10.5, "y":1},
+ { "matrix": [5, 4], "x":11.5, "y":1},
+ { "matrix": [2, 0], "x":0, "y":2, "w":1.75},
+ { "matrix": [2, 1], "x":1.75, "y":2},
+ { "matrix": [2, 2], "x":2.75, "y":2},
+ { "matrix": [2, 3], "x":3.75, "y":2},
+ { "matrix": [2, 4], "x":4.75, "y":2},
+ { "matrix": [2, 5], "x":5.75, "y":2},
+ { "matrix": [2, 6], "x":6.75, "y":2},
+ { "matrix": [2, 7], "x":7.75, "y":2},
+ { "matrix": [5, 1], "x":8.75, "y":2},
+ { "matrix": [5, 2], "x":9.75, "y":2},
+ { "matrix": [5, 3], "x":10.75, "y":2, "w":1.75},
+ { "matrix": [3, 0], "x":0, "y":3, "w":1.25},
+ { "matrix": [3, 1], "x":1.25, "y":3},
+ { "matrix": [3, 2], "x":2.25, "y":3},
+ { "matrix": [3, 3], "x":3.25, "y":3},
+ { "matrix": [3, 4], "x":4.25, "y":3},
+ { "matrix": [3, 5], "x":5.25, "y":3},
+ { "matrix": [3, 6], "x":6.25, "y":3},
+ { "matrix": [3, 7], "x":7.25, "y":3},
+ { "matrix": [6, 7], "x":8.25, "y":3},
+ { "matrix": [6, 6], "x":9.25, "y":3},
+ { "matrix": [6, 5], "x":10.25, "y":3},
+ { "matrix": [6, 4], "x":11.25, "y":3, "w":1.25},
+ { "matrix": [4, 0], "x":0, "y":4, "w":1.25},
+ { "matrix": [4, 1], "x":1.25, "y":4, "w":1.25},
+ { "matrix": [4, 2], "x":2.5, "y":4, "w":1.25},
+ { "matrix": [4, 3], "x":3.75, "y":4, "w":2.75},
+ { "matrix": [4, 4], "x":6.5, "y":4, "w":2.25},
+ { "matrix": [4, 5], "x":8.75, "y":4, "w":1.25},
+ { "matrix": [4, 6], "x":10, "y":4, "w":1.25},
+ { "matrix": [4, 7], "x":11.25, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/clunker/keymaps/default/keymap.c b/keyboards/mechwild/clunker/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e6b5db9011
--- /dev/null
+++ b/keyboards/mechwild/clunker/keymaps/default/keymap.c
@@ -0,0 +1,63 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ /*
+ k00, k01, k02, k03, k04, k05, k06, k07, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, \
+ k50, k51, k52, k54, k56, k59, k5A, k5B \
+ */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MUTE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ MO(_FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(_FN2), KC_RCTL
+ ),
+ [_FN1] = LAYOUT(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, HPT_TOG,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_UP, KC_SLSH,
+ _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_FN2] = LAYOUT(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][1][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+ [2] = { ENCODER_CCW_CW(KC_HOME, KC_END) },
+ [3] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
+};
+#endif
diff --git a/keyboards/mechwild/clunker/keymaps/default/rules.mk b/keyboards/mechwild/clunker/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/clunker/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/clunker/keymaps/via/keymap.c b/keyboards/mechwild/clunker/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e6b5db9011
--- /dev/null
+++ b/keyboards/mechwild/clunker/keymaps/via/keymap.c
@@ -0,0 +1,63 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ /*
+ k00, k01, k02, k03, k04, k05, k06, k07, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, \
+ k50, k51, k52, k54, k56, k59, k5A, k5B \
+ */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MUTE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ MO(_FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(_FN2), KC_RCTL
+ ),
+ [_FN1] = LAYOUT(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, HPT_TOG,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_UP, KC_SLSH,
+ _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_FN2] = LAYOUT(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][1][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+ [2] = { ENCODER_CCW_CW(KC_HOME, KC_END) },
+ [3] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
+};
+#endif
diff --git a/keyboards/mechwild/clunker/keymaps/via/rules.mk b/keyboards/mechwild/clunker/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1189f4ad19
--- /dev/null
+++ b/keyboards/mechwild/clunker/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/clunker/readme.md b/keyboards/mechwild/clunker/readme.md
new file mode 100644
index 0000000000..b567e74190
--- /dev/null
+++ b/keyboards/mechwild/clunker/readme.md
@@ -0,0 +1,25 @@
+# Clunker
+
+![clunker](https://i.imgur.com/6X5ijDoh.jpg)
+
+The Clunker is a 40% DIY kit with a knob and solenoid.
+
+* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
+* Hardware Supported: Clunker v1.3
+* Hardware Availability: [Clunker on MechWild](https://mechwild.com/product/clunker/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechwild/clunker:default
+
+Flashing example for this keyboard:
+
+ make mechwild/clunker:default:flash
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the top of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/mechwild/clunker/rules.mk b/keyboards/mechwild/clunker/rules.mk
new file mode 100644
index 0000000000..3e6a4da7db
--- /dev/null
+++ b/keyboards/mechwild/clunker/rules.mk
@@ -0,0 +1 @@
+HAPTIC_DRIVER += SOLENOID
diff --git a/keyboards/mechwild/mercutio/config.h b/keyboards/mechwild/mercutio/config.h
index 2c318848c5..5a8fbe1ec5 100755
--- a/keyboards/mechwild/mercutio/config.h
+++ b/keyboards/mechwild/mercutio/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1703
-#define DEVICE_VER 0x0100
-#define MANUFACTURER MechWild
-#define PRODUCT Mercutio
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 7
@@ -33,7 +26,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D4, C3, C0, C1, C2}
#define MATRIX_COL_PINS { B0, D7, D6, D5, B1, B2, B3}
-#define UNUSED_PINS
/* encoder pins */
#define ENCODERS_PAD_A { B4 }
@@ -46,6 +38,9 @@
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
+/* Define custom font */
+#define OLED_FONT_H "lib/mercutiofont.c"
+
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
@@ -53,4 +48,4 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE \ No newline at end of file
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/mechwild/mercutio/info.json b/keyboards/mechwild/mercutio/info.json
index cc663f2215..f3323ac48f 100644
--- a/keyboards/mechwild/mercutio/info.json
+++ b/keyboards/mechwild/mercutio/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MechWild Mercutio",
+ "keyboard_name": "Mercutio",
+ "manufacturer": "MechWild",
"url": "mechwild.com",
"maintainer": "kylemccreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x1703",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"encoder", "x":12, "y":0}, {"label":"1.5u", "x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"label":"1.5u", "x":11.5, "y":1, "w":1.5}, {"label":"1.75u", "x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"label":"1.25u", "x":11.75, "y":2, "w":1.25}, {"label":"1.25u", "x":0, "y":3, "w":1.25}, {"x":1.25, "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}, {"label":"1.75u", "x":11.25, "y":3, "w":1.75},{"label":"1.25u", "x":0, "y":4, "w":1.25}, {"label":"1u", "x":1.25, "y":4}, {"label":"1.25u", "x":2.25, "y":4, "w":1.25}, {"label":"2.25u", "x":3.5, "y":4, "w":2.25}, {"label":"1u", "x":5.75, "y":4}, {"label":"2.75u", "x":6.75, "y":4, "w":2.75}, {"label":"1.25u", "x":9.5, "y":4, "w":1.25}, {"label":"1u", "x":10.75, "y":4}, {"label":"1.25u", "x":11.75, "y":4, "w":1.25}]
diff --git a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
index 6062b8c73d..8ed7f60dd7 100644
--- a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
@@ -65,19 +65,13 @@ 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 )
};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- }
- return true;
-}
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
#endif
#ifdef OLED_ENABLE
diff --git a/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk b/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk
index a475e2b6cd..74290f3abe 100644
--- a/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk
+++ b/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk
@@ -1,3 +1,4 @@
WPM_ENABLE = yes
VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no \ No newline at end of file
+MOUSEKEY_ENABLE = no
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mercutio/keymaps/default/config.h b/keyboards/mechwild/mercutio/keymaps/default/config.h
index 235effacd7..b428d6e260 100644
--- a/keyboards/mechwild/mercutio/keymaps/default/config.h
+++ b/keyboards/mechwild/mercutio/keymaps/default/config.h
@@ -15,6 +15,3 @@
*/
#pragma once
-
-/* Define custom font */
-#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c" \ No newline at end of file
diff --git a/keyboards/mechwild/mercutio/keymaps/default/keymap.c b/keyboards/mechwild/mercutio/keymaps/default/keymap.c
index 8f433292b5..f5066996c0 100644
--- a/keyboards/mechwild/mercutio/keymaps/default/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/default/keymap.c
@@ -46,38 +46,11 @@ 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 )
};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
-}
-
-static void render_name(void) {
- static const char PROGMEM mercutio_name[] = {
- 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
- 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
- };
- oled_write_P(mercutio_name, false);
-}
-
-bool oled_task_user(void) {
- render_name();
- return false;
-}
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/default/rules.mk b/keyboards/mechwild/mercutio/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/mercutio/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/config.h b/keyboards/mechwild/mercutio/keymaps/fancy/config.h
index 235effacd7..b428d6e260 100644
--- a/keyboards/mechwild/mercutio/keymaps/fancy/config.h
+++ b/keyboards/mechwild/mercutio/keymaps/fancy/config.h
@@ -15,6 +15,3 @@
*/
#pragma once
-
-/* Define custom font */
-#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c" \ No newline at end of file
diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c b/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c
index 96457be6d2..ca1ac03d2b 100755
--- a/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}
}
}
- return true;
+ return false;
}
#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
index 36dcd4816f..50b1b6471c 100644
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
tap_code(KC_VOLD);
}
}
- return true;
+ return false;
}
#endif
@@ -292,7 +292,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
oled_write(get_u8_str(get_current_wpm(), ' '), false);
*/
- return true;
+ return false;
}
void suspend_power_down_user(void) {
diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h
index 09909e28c9..1722a2c25c 100644
--- a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h
+++ b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h
@@ -17,9 +17,6 @@
#pragma once
-/* Define custom font */
-#define OLED_FONT_H "lib/mercutiofont.c"
-
#define TAPPING_TOGGLE 2
// TT set to two taps
diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c
index 869a9f73ab..5c22abee3f 100755
--- a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c
@@ -17,7 +17,6 @@
#include QMK_KEYBOARD_H
-#include <stdio.h>
#include "jonavin.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -54,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
Defaults never changes if no encoder present to change it
*/
typedef struct {
- char keydesc[6]; // this will be displayed on OLED
+ char keydesc[6]; // this will be displayed on OLED
uint16_t keycode; // this is the keycode that will be sent when activted
} keycodedescType;
@@ -69,7 +68,7 @@ static const keycodedescType PROGMEM keyselection[] = {
{"C-A-D", KC_CAD}, // Ctrl-Alt-Del
{"AltF4", KC_AF4},
{"PLAY", KC_MEDIA_PLAY_PAUSE},
- {"RESET", RESET}, // firmware flash mode
+ {"FLASH", QK_BOOT}, // firmware flash mode
};
#define MAX_KEYSELECTION sizeof(keyselection)/sizeof(keyselection[0])
@@ -94,7 +93,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case ENCFUNC:
if (record->event.pressed) {
- selectedkey_rec.keycode == RESET ? reset_keyboard() : tap_code16(selectedkey_rec.keycode); // handle RESET code
+ selectedkey_rec.keycode == QK_BOOT ? reset_keyboard() : tap_code16(selectedkey_rec.keycode); // handle QK_BOOT code
} else {
// when keycode is released
}
@@ -153,7 +152,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}
break;
}
- return true;
+ return false;
}
#endif
@@ -201,15 +200,13 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}
render_logo();
oled_set_cursor(8,2);
- char fn_str[12];
switch(get_selected_layer()){
case 0:
oled_write_P(PSTR("BASE"), false);
break;
case 1:
- sprintf(fn_str, "FN %5s", selectedkey_rec.keydesc);
- oled_write(fn_str, false);
- //oled_write_P(PSTR("FN "), false);
+ oled_write_P(PSTR("FN "), false);
+ oled_write(selectedkey_rec.keydesc, false);
break;
case 2:
oled_write_P(PSTR("LOWER"), false);
@@ -230,8 +227,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
oled_write_P(PSTR("Temp BASE"), false);
break;
case 1:
- sprintf(fn_str, "Temp FN %5s", selectedkey_rec.keydesc);
- oled_write(fn_str, false);
+ oled_write_P(PSTR("Temp FN "), false);
+ oled_write(selectedkey_rec.keydesc, false);
break;
case 2:
oled_write_P(PSTR("Temp LOWER"), false);
@@ -246,12 +243,11 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
led_t led_state = host_keyboard_led_state();
oled_set_cursor(8,0);
uint8_t wpm_count;
- char wpm_str[10];
wpm_count=get_current_wpm();
if (wpm_count > 020) { // how wpm when > 20
- sprintf(wpm_str, " WPM: %03d", wpm_count);
- oled_write(wpm_str, false);
+ oled_write_P(PSTR(" WPM: "), false);
+ oled_write(get_u8_str(wpm_count, ' '), false);
} else {
oled_write_P(PSTR(" JONAVIN "), false); // otherwise display keymap name
}
diff --git a/keyboards/mechwild/mercutio/keymaps/via/config.h b/keyboards/mechwild/mercutio/keymaps/via/config.h
index 235effacd7..b428d6e260 100644
--- a/keyboards/mechwild/mercutio/keymaps/via/config.h
+++ b/keyboards/mechwild/mercutio/keymaps/via/config.h
@@ -15,6 +15,3 @@
*/
#pragma once
-
-/* Define custom font */
-#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c" \ No newline at end of file
diff --git a/keyboards/mechwild/mercutio/keymaps/via/keymap.c b/keyboards/mechwild/mercutio/keymaps/via/keymap.c
index 8f433292b5..f5066996c0 100755
--- a/keyboards/mechwild/mercutio/keymaps/via/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/via/keymap.c
@@ -46,38 +46,11 @@ 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 )
};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
-}
-
-static void render_name(void) {
- static const char PROGMEM mercutio_name[] = {
- 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
- 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
- };
- oled_write_P(mercutio_name, false);
-}
-
-bool oled_task_user(void) {
- render_name();
- return false;
-}
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/via/rules.mk b/keyboards/mechwild/mercutio/keymaps/via/rules.mk
index 16d33cd89f..f1adcab005 100644
--- a/keyboards/mechwild/mercutio/keymaps/via/rules.mk
+++ b/keyboards/mechwild/mercutio/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
VIA_ENABLE = yes
-
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mercutio/mercutio.c b/keyboards/mechwild/mercutio/mercutio.c
index e4f4377f32..890bf869de 100755
--- a/keyboards/mechwild/mercutio/mercutio.c
+++ b/keyboards/mechwild/mercutio/mercutio.c
@@ -16,3 +16,44 @@
#include "mercutio.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if(!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+
+ switch (index) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+static const char PROGMEM mercutio_name[] = {
+ 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6,
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+};
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+}
+
+bool oled_task_kb(void) {
+ if(!oled_task_user()) {
+ return false;
+ }
+
+ oled_write_P(mercutio_name, false);
+ return true;
+}
+#endif
diff --git a/keyboards/mechwild/mokulua/config.h b/keyboards/mechwild/mokulua/config.h
deleted file mode 100644
index a424bc6648..0000000000
--- a/keyboards/mechwild/mokulua/config.h
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x170B
-#define DEVICE_VER 0x0103
-#define MANUFACTURER MechWild
-#define PRODUCT Mokulua
-
-/* Key matrix size */
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 6
-
-/* Key matrix pins */
-#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
-#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
-
-/* Encoder pins */
-#define ENCODERS_PAD_A { D2 }
-#define ENCODERS_PAD_B { B2 }
-
-/* Encoder resolution */
-#define ENCODER_RESOLUTION 4
-#define TAP_CODE_DELAY 10
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-#define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c"
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-#define SOFT_SERIAL_PIN D3
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-#define RGBLIGHT_SPLIT
-#define RGBLED_SPLIT { 8, 8 }
-#define SPLIT_LAYER_STATE_ENABLE
-#define SPLIT_LED_STATE_ENABLE
-#define SPLIT_MODS_ENABLE
-#define SPLIT_OLED_ENABLE
-
-/* RGB options */
-#define RGB_DI_PIN B6
-#ifdef RGB_DI_PIN
-# define RGBLED_NUM 16
-# 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 */
-/*== 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
-/*== customize breathing effect ==*/
-/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-/*==== use exp() and sin() ====*/
-//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-#endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
-
-/* 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
-
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechwild/mokulua/info.json b/keyboards/mechwild/mokulua/info.json
deleted file mode 100644
index 0be62ecf80..0000000000
--- a/keyboards/mechwild/mokulua/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Mokulua",
- "url": "https://mechwild.com",
- "maintainer": "kylemccreery",
- "layouts": {
- "LAYOUT": {
- "layout": [{"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":0.47, "y":1, "w":1.5}, {"x":1.97, "y":1}, {"x":15.5, "y":1}, {"x":16.5, "y":1, "w":1.5}, {"x":0.37, "y":2, "w":1.75}, {"x":2.12, "y":2}, {"x":15.85, "y":2}, {"x":16.85, "y":2, "w":1.75}, {"x":0.22, "y":3, "w":1.25}, {"x":1.47, "y":3}, {"x":2.47, "y":3}, {"x":9.43, "y":3}, {"x":15.5, "y":3}, {"x":16.5, "y":3}, {"x":17.5, "y":3, "w":1.25}, {"x":0.47, "y":4}, {"x":1.47, "y":4}, {"x":2.47, "y":4}, {"x":9.68, "y":4}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}, {"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":0.5, "y":2.25}, {"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":0.75, "y":3.25}, {"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":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.57, "y":4.25}, {"x":1, "y":5.25, "w":1.25}, {"x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":1.5}, {"x":5.32, "y":5.25}, {"x":-1.5, "y":2}, {"x":-0.5, "y":2}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":-1.0, "y":3}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":-1.75, "y":4}, {"x":-0.75, "y":4}, {"x":0.25, "y":4}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":-1.25, "y":5}, {"x":-0.25, "y":5}, {"x":0.75, "y":5}, {"x":1.75, "y":5}, {"x":-1.25, "y":6, "w":1.5}, {"x":0.25, "y":6, "w":1.5}, {"x":1.75, "y":6, "w":1.25}]
- }
- }
-}
diff --git a/keyboards/mechwild/mokulua/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/keymaps/default/keymap.c
deleted file mode 100644
index f95663bb6b..0000000000
--- a/keyboards/mechwild/mokulua/keymaps/default/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_SPC LT(2, KC_SPC)
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [_FN2] = LAYOUT(
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/mechwild/mokulua/keymaps/silly/keymap.c b/keyboards/mechwild/mokulua/keymaps/silly/keymap.c
deleted file mode 100644
index 9463f162c0..0000000000
--- a/keyboards/mechwild/mokulua/keymaps/silly/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_SPC LT(2, KC_SPC)
-#define HSV_SILLY_PURPLE 180, 255, 255
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _RS3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_RS3), KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [_FN2] = LAYOUT(
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_RS3] = LAYOUT(
- KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PPLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_PMNS, _______, _______, _______, _______, _______, _______, TG(_RS3), _______, _______, _______, _______, _______, _______, _______, _______,
- KC_HOME, KC_END, KC_PGUP, KC_K, KC_L, KC_M, KC_PGDN, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______
- )
-};
-
-#ifdef OLED_ENABLE
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
- bool oled_task_user(void) {
- render_logo();
- oled_set_cursor(0,6);
-
- oled_write_ln_P(PSTR("Layer"), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("FN 1"), false);
- break;
- case 2:
- oled_write_ln_P(PSTR("FN 2"), false);
- break;
- case 3:
- oled_write_ln_P(PSTR("RS3"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_ln_P(PSTR(""), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
- return false;
- }
-#endif
-
-#ifdef RGBLIGHT_ENABLE
- // Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour}
- const rgblight_segment_t PROGMEM _rgb_fn1[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 3, HSV_GREEN},
- {12, 3, HSV_GREEN}
- );
- // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
- const rgblight_segment_t PROGMEM _rgb_fn2[] = RGBLIGHT_LAYER_SEGMENTS(
- {4, 3, HSV_GREEN},
- {12, 3, HSV_GREEN}
- );
- const rgblight_segment_t PROGMEM _rgb_rs3[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 16, HSV_SILLY_PURPLE}
- );
- const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- _rgb_fn1,
- _rgb_fn2,
- _rgb_rs3
- );
- layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _FN1));
- rgblight_set_layer_state(1, layer_state_cmp(state, _FN2));
- rgblight_set_layer_state(2, layer_state_cmp(state, _RS3));
- return state;
- }
-#endif // RGBLIGHT_ENABLE
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- #ifdef RGBLIGHT_ENABLE
- rgblight_layers = _rgb_layers;
- #endif // RGBLIGHT_ENABLE
- } \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/keymaps/via/keymap.c
deleted file mode 100644
index f95663bb6b..0000000000
--- a/keyboards/mechwild/mokulua/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-#define FN1_SPC LT(1, KC_SPC)
-#define FN2_SPC LT(2, KC_SPC)
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [_FN2] = LAYOUT(
- _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/mechwild/mokulua/mirrored/config.h b/keyboards/mechwild/mokulua/mirrored/config.h
new file mode 100644
index 0000000000..3742bd1958
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/config.h
@@ -0,0 +1,88 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* Key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 6
+
+/* Key matrix pins */
+#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+
+/* Encoder pins */
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { B2 }
+
+/* Encoder resolution */
+#define ENCODER_RESOLUTION 4
+#define TAP_CODE_DELAY 10
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c"
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D3
+#define MASTER_LEFT
+//#define MASTER_RIGHT
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 8, 8 }
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
+#define SPLIT_MODS_ENABLE
+#define SPLIT_OLED_ENABLE
+
+/* RGB options */
+#define RGB_DI_PIN B6
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 16
+# 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 */
+/*== choose RGB 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* 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
+
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechwild/mokulua/mirrored/info.json b/keyboards/mechwild/mokulua/mirrored/info.json
new file mode 100644
index 0000000000..15ed63a858
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/info.json
@@ -0,0 +1,93 @@
+{
+ "keyboard_name": "Mokulua Mirrored",
+ "manufacturer": "MechWild",
+ "url": "https://mechwild.com",
+ "maintainer": "kylemccreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x170C",
+ "device_version": "1.0.3"
+ },
+ "layouts": {
+ "LAYOUT_mirrored": {
+ "layout": [
+ {"label":"Esc", "x":0.62, "y":0},
+ {"label":"1!", "x":1.62, "y":0},
+ {"label":"2@", "x":2.62, "y":0},
+ {"label":"3#", "x":3.62, "y":0},
+ {"label":"4$", "x":4.62, "y":0},
+ {"label":"5%", "x":5.62, "y":0},
+ {"label":"6^", "x":6.62, "y":0},
+ {"label":"7&", "x":10.12, "y":0},
+ {"label":"8*", "x":11.12, "y":0},
+ {"label":"9(", "x":12.12, "y":0},
+ {"label":"0)", "x":13.12, "y":0},
+ {"label":"-_", "x":14.12, "y":0},
+ {"label":"Backspace", "x":15.12, "y":0},
+ {"label":"Backspace", "x":16.12, "y":0},
+
+ {"label":"Tab", "x":0.37, "y":1, "w":1.5},
+ {"label":"Q", "x":1.87, "y":1},
+ {"label":"W", "x":2.87, "y":1},
+ {"label":"E", "x":3.87, "y":1},
+ {"label":"R", "x":4.87, "y":1},
+ {"label":"T", "x":5.87, "y":1},
+ {"label":"Y", "x":6.87, "y":1},
+ {"label":"Y", "x":9.87, "y":1},
+ {"label":"U", "x":10.87, "y":1},
+ {"label":"I", "x":11.87, "y":1},
+ {"label":"O", "x":12.87, "y":1},
+ {"label":"P", "x":13.87, "y":1},
+ {"label":"]}", "x":14.87, "y":1},
+ {"label":"\\|", "x":15.87, "y":1, "w":1.5},
+
+ {"label":"Caps Lock", "x":0.25, "y":2, "w":1.75},
+ {"label":"A", "x":2, "y":2},
+ {"label":"S", "x":3, "y":2},
+ {"label":"D", "x":4, "y":2},
+ {"label":"F", "x":5, "y":2},
+ {"label":"G", "x":6, "y":2},
+ {"label":"H", "x":7, "y":2},
+ {"label":";:", "x":9.75, "y":2},
+ {"label":"H", "x":10.75, "y":2},
+ {"label":"J", "x":11.75, "y":2},
+ {"label":"K", "x":12.75, "y":2},
+ {"label":"L", "x":13.75, "y":2},
+ {"label":"'\"", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":2, "w":1.75},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Mute", "x":7.37, "y":3},
+ {"label":"Mute", "x":9.37, "y":3},
+ {"label":"B", "x":10.5, "y":3},
+ {"label":"N", "x":11.5, "y":3},
+ {"label":"M", "x":12.5, "y":3},
+ {"label":",<", "x":13.5, "y":3},
+ {"label":".>", "x":14.5, "y":3},
+ {"label":"\u2191", "x":15.5, "y":3},
+ {"label":"Shift", "x":16.5, "y":3, "w":1.25},
+
+ {"label":"Ctrl", "x":0.25, "y":4},
+ {"label":"GUI", "x":1.25, "y":4},
+ {"label":"Alt", "x":2.25, "y":4},
+ {"label":"Fn2", "x":3.5, "y":4, "w":1.25},
+ {"label":"Fn1/Space", "x":4.94, "y":4, "h":1.5},
+ {"label":"Fn2/Space", "x":5.94, "y":4, "h":1.5},
+ {"label":"RGB Mode -", "x":7.13, "y":4},
+ {"label":"RGB Mode +", "x":9.62, "y":4},
+ {"label":"Fn2/Space", "x":10.81, "y":4, "h":1.5},
+ {"label":"Fn1/Space", "x":11.81, "y":4, "h":1.5},
+ {"label":"Fn2", "x":13, "y":4, "w":1.25},
+ {"label":"\u2190", "x":14.5, "y":4},
+ {"label":"\u2193", "x":15.5, "y":4},
+ {"label":"\u2192", "x":16.5, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d83bcedfe7
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_SPC LT(2, KC_SPC)
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = 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_BSPC, _______,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN1] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md
new file mode 100644
index 0000000000..727105dcba
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Mokulua using a mirrored right-half
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/rules.mk b/keyboards/mechwild/mokulua/mirrored/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d83bcedfe7
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_SPC LT(2, KC_SPC)
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = 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_BSPC, _______,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN1] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md b/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md
new file mode 100644
index 0000000000..37aca6eac7
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for Mokulua using a mirrored right-half
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1189f4ad19
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.c b/keyboards/mechwild/mokulua/mirrored/mirrored.c
new file mode 100644
index 0000000000..6b5410642a
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/mirrored.c
@@ -0,0 +1,82 @@
+// Copyright 2022 Kyle McCreery (@Kyle McCreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "mirrored.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ switch (index) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ case 1:
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDN);
+ }
+ break;
+
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_270; // flips the display 270 degrees
+ }
+
+ static void render_logo(void) { // Render MechWild "MW" Logo
+ static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
+ static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
+ static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
+ static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
+ oled_set_cursor(0,0);
+ oled_write_P(logo_1, false);
+ oled_set_cursor(0,1);
+ oled_write_P(logo_2, false);
+ oled_set_cursor(0,2);
+ oled_write_P(logo_3, false);
+ oled_set_cursor(0,3);
+ oled_write_P(logo_4, false);
+ }
+ bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_logo();
+ oled_set_cursor(0,6);
+
+ oled_write_ln_P(PSTR("Layer"), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Base"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("FN 1"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("FN 2"), false);
+ break;
+ case 3:
+ oled_write_ln_P(PSTR("FN 3"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_ln_P(PSTR(""), false);
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+ return false;
+ }
+#endif
diff --git a/keyboards/mechwild/mokulua/mirrored/mirrored.h b/keyboards/mechwild/mokulua/mirrored/mirrored.h
new file mode 100644
index 0000000000..66df5cdd6b
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/mirrored.h
@@ -0,0 +1,31 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_mirrored( \
+ 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, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { 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 }, \
+ { L46, L36, L37, L26, L16, L06 }, \
+ { R06, R05, R04, R03, R02, R01 }, \
+ { R16, R15, R14, R13, R12, R11 }, \
+ { R26, R25, R24, R23, R22, R21 }, \
+ { R37, R36, R35, R34, R33, R32 }, \
+ { R46, R45, R44, R43, R42, R41 }, \
+ { R40, R31, R30, R20, R10, R00 } \
+}
+
+#define LAYOUT LAYOUT_mirrored \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/mirrored/rules.mk b/keyboards/mechwild/mokulua/mirrored/rules.mk
new file mode 100644
index 0000000000..5aae5c7c76
--- /dev/null
+++ b/keyboards/mechwild/mokulua/mirrored/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Enable encoder
+OLED_ENABLE = yes # Enable OLED Screen
+OLED_DRIVER = SSD1306 # Define OLED Driver
+SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/mokulua.c b/keyboards/mechwild/mokulua/mokulua.c
deleted file mode 100644
index 57c800ef89..0000000000
--- a/keyboards/mechwild/mokulua/mokulua.c
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2022 Kyle McCreery (@Kyle McCreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "mokulua.h"
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) { return false; }
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- case 1:
- if (clockwise) {
- tap_code(KC_PGUP);
- } else {
- tap_code(KC_PGDN);
- }
- break;
-
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
- }
-
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
- bool oled_task_kb(void) {
- if (!oled_task_user()) {
- return false;
- }
- render_logo();
- oled_set_cursor(0,6);
-
- oled_write_ln_P(PSTR("Layer"), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("FN 1"), false);
- break;
- case 2:
- oled_write_ln_P(PSTR("FN 2"), false);
- break;
- case 3:
- oled_write_ln_P(PSTR("FN 3"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_ln_P(PSTR(""), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
- return false;
- }
-#endif
diff --git a/keyboards/mechwild/mokulua/mokulua.h b/keyboards/mechwild/mokulua/mokulua.h
deleted file mode 100644
index 95ea1e3709..0000000000
--- a/keyboards/mechwild/mokulua/mokulua.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2022 Kyle McCreery (@kylemccreery)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L16, 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, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
- L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
-) { \
- { 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 }, \
- { L46, L36, L37, L26, L16, L06 }, \
- { R01, R02, R03, R04, R05, R06 }, \
- { R11, R12, R13, R14, R15, R16 }, \
- { R21, R22, R23, R24, R25, R26 }, \
- { R32, R33, R34, R35, R36, R37 }, \
- { R41, R42, R43, R44, R45, R46 }, \
- { R00, R20, R31, R30, R40, ___ } \
-}
diff --git a/keyboards/mechwild/mokulua/readme.md b/keyboards/mechwild/mokulua/readme.md
index a8f2b055df..24f01b10d4 100644
--- a/keyboards/mechwild/mokulua/readme.md
+++ b/keyboards/mechwild/mokulua/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/rules.mk b/keyboards/mechwild/mokulua/rules.mk
index 17eb654430..3a87a143e5 100644
--- a/keyboards/mechwild/mokulua/rules.mk
+++ b/keyboards/mechwild/mokulua/rules.mk
@@ -1,22 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable encoder
-OLED_ENABLE = yes # Enable OLED Screen
-OLED_DRIVER = SSD1306 # Define OLED Driver
-SPLIT_KEYBOARD = yes # Define split functionality
+DEFAULT_FOLDER = mechwild/mokulua/standard \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/standard/config.h b/keyboards/mechwild/mokulua/standard/config.h
new file mode 100644
index 0000000000..21a6f314c3
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/config.h
@@ -0,0 +1,125 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* Key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 6
+
+/* Key matrix pins */
+#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+
+/* Encoder pins */
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { B2 }
+
+/* Encoder resolution */
+#define ENCODER_RESOLUTION 4
+#define TAP_CODE_DELAY 10
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c"
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D3
+#define MASTER_LEFT
+//#define MASTER_RIGHT
+#define RGBLIGHT_SPLIT
+#define RGBLED_SPLIT { 8, 8 }
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
+#define SPLIT_MODS_ENABLE
+#define SPLIT_OLED_ENABLE
+
+/* RGB options */
+#define RGB_DI_PIN B6
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 16
+# 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 */
+/*== choose RGB 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* 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
+
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechwild/mokulua/standard/info.json b/keyboards/mechwild/mokulua/standard/info.json
new file mode 100644
index 0000000000..74bcd0b16f
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/info.json
@@ -0,0 +1,92 @@
+{
+ "keyboard_name": "Mokulua Standard",
+ "manufacturer": "MechWild",
+ "url": "https://mechwild.com",
+ "maintainer": "kylemccreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x170B",
+ "device_version": "1.0.3"
+ },
+ "layouts": {
+ "LAYOUT_standard": {
+ "layout": [
+ {"label":"Esc", "x":0.62, "y":0},
+ {"label":"1!", "x":1.62, "y":0},
+ {"label":"2@", "x":2.62, "y":0},
+ {"label":"3#", "x":3.62, "y":0},
+ {"label":"4$", "x":4.62, "y":0},
+ {"label":"5%", "x":5.62, "y":0},
+ {"label":"6^", "x":6.62, "y":0},
+ {"label":"7&", "x":9.62, "y":0},
+ {"label":"8*", "x":10.62, "y":0},
+ {"label":"9(", "x":11.62, "y":0},
+ {"label":"0)", "x":12.62, "y":0},
+ {"label":"-_", "x":13.62, "y":0},
+ {"label":"Backspace", "x":14.62, "y":0},
+ {"label":"Backspace", "x":15.62, "y":0},
+
+ {"label":"Tab", "x":0.37, "y":1, "w":1.5},
+ {"label":"Q", "x":1.87, "y":1},
+ {"label":"W", "x":2.87, "y":1},
+ {"label":"E", "x":3.87, "y":1},
+ {"label":"R", "x":4.87, "y":1},
+ {"label":"T", "x":5.87, "y":1},
+ {"label":"Y", "x":6.87, "y":1},
+ {"label":"U", "x":10.37, "y":1},
+ {"label":"I", "x":11.37, "y":1},
+ {"label":"O", "x":12.37, "y":1},
+ {"label":"P", "x":13.37, "y":1},
+ {"label":"]}", "x":14.37, "y":1},
+ {"label":"\\|", "x":15.37, "y":1, "w":1.5},
+
+ {"label":"Caps Lock", "x":0.25, "y":2, "w":1.75},
+ {"label":"A", "x":2, "y":2},
+ {"label":"S", "x":3, "y":2},
+ {"label":"D", "x":4, "y":2},
+ {"label":"F", "x":5, "y":2},
+ {"label":"G", "x":6, "y":2},
+ {"label":"H", "x":7, "y":2},
+ {"label":";:", "x":9.75, "y":2},
+ {"label":"H", "x":10.75, "y":2},
+ {"label":"J", "x":11.75, "y":2},
+ {"label":"K", "x":12.75, "y":2},
+ {"label":"L", "x":13.75, "y":2},
+ {"label":"'\"", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":2, "w":1.75},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"Mute", "x":7.37, "y":3},
+ {"label":"Mute", "x":9.37, "y":3},
+ {"label":"B", "x":10.5, "y":3},
+ {"label":"N", "x":11.5, "y":3},
+ {"label":"M", "x":12.5, "y":3},
+ {"label":",<", "x":13.5, "y":3},
+ {"label":".>", "x":14.5, "y":3},
+ {"label":"\u2191", "x":15.5, "y":3},
+ {"label":"Shift", "x":16.5, "y":3, "w":1.25},
+
+ {"label":"Ctrl", "x":0.25, "y":4},
+ {"label":"GUI", "x":1.25, "y":4},
+ {"label":"Alt", "x":2.25, "y":4},
+ {"label":"Fn2", "x":3.5, "y":4, "w":1.25},
+ {"label":"Fn1/Space", "x":4.94, "y":4, "h":1.5},
+ {"label":"Fn2/Space", "x":5.94, "y":4, "h":1.5},
+ {"label":"RGB Mode -", "x":7.13, "y":4},
+ {"label":"RGB Mode +", "x":9.62, "y":4},
+ {"label":"Fn2/Space", "x":10.81, "y":4, "h":1.5},
+ {"label":"Fn1/Space", "x":11.81, "y":4, "h":1.5},
+ {"label":"Fn2", "x":13, "y":4, "w":1.25},
+ {"label":"\u2190", "x":14.5, "y":4},
+ {"label":"\u2193", "x":15.5, "y":4},
+ {"label":"\u2192", "x":16.5, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bb438fe1bf
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_SPC LT(2, KC_SPC)
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN1] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/mechwild/mokulua/keymaps/default/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md
index 81569df142..81569df142 100644
--- a/keyboards/mechwild/mokulua/keymaps/default/readme.md
+++ b/keyboards/mechwild/mokulua/standard/keymaps/default/readme.md
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mokulua/keymaps/silly/config.h b/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h
index 1e0e3ac5eb..1e0e3ac5eb 100644
--- a/keyboards/mechwild/mokulua/keymaps/silly/config.h
+++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/config.h
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c
new file mode 100644
index 0000000000..61df3e000f
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/keymap.c
@@ -0,0 +1,128 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_SPC LT(2, KC_SPC)
+#define HSV_SILLY_PURPLE 180, 255, 255
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _RS3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_RS3), KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN1] = LAYOUT(
+ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_RS3] = LAYOUT(
+ KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_PSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_PPLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_PMNS, _______, _______, _______, _______, _______, _______, TG(_RS3), _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_HOME, KC_END, KC_PGUP, KC_K, KC_L, KC_M, KC_PGDN, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______
+ )
+};
+
+#ifdef OLED_ENABLE
+ static void render_logo(void) { // Render MechWild "MW" Logo
+ static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
+ static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
+ static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
+ static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
+ oled_set_cursor(0,0);
+ oled_write_P(logo_1, false);
+ oled_set_cursor(0,1);
+ oled_write_P(logo_2, false);
+ oled_set_cursor(0,2);
+ oled_write_P(logo_3, false);
+ oled_set_cursor(0,3);
+ oled_write_P(logo_4, false);
+ }
+ bool oled_task_user(void) {
+ render_logo();
+ oled_set_cursor(0,6);
+
+ oled_write_ln_P(PSTR("Layer"), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Base"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("FN 1"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("FN 2"), false);
+ break;
+ case 3:
+ oled_write_ln_P(PSTR("RS3"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_ln_P(PSTR(""), false);
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+ return false;
+ }
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+ // Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour}
+ const rgblight_segment_t PROGMEM _rgb_fn1[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 3, HSV_GREEN},
+ {12, 3, HSV_GREEN}
+ );
+ // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
+ const rgblight_segment_t PROGMEM _rgb_fn2[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 3, HSV_GREEN},
+ {12, 3, HSV_GREEN}
+ );
+ const rgblight_segment_t PROGMEM _rgb_rs3[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 16, HSV_SILLY_PURPLE}
+ );
+ const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ _rgb_fn1,
+ _rgb_fn2,
+ _rgb_rs3
+ );
+ layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(0, layer_state_cmp(state, _FN1));
+ rgblight_set_layer_state(1, layer_state_cmp(state, _FN2));
+ rgblight_set_layer_state(2, layer_state_cmp(state, _RS3));
+ return state;
+ }
+#endif // RGBLIGHT_ENABLE
+
+void keyboard_post_init_user(void) {
+ // Enable the LED layers
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_layers = _rgb_layers;
+ #endif // RGBLIGHT_ENABLE
+ } \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/keymaps/silly/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md
index 4659a3aaeb..4659a3aaeb 100644
--- a/keyboards/mechwild/mokulua/keymaps/silly/readme.md
+++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/readme.md
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/silly/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c
new file mode 100644
index 0000000000..bb438fe1bf
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define FN1_SPC LT(1, KC_SPC)
+#define FN2_SPC LT(2, KC_SPC)
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MINS, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), FN1_SPC, FN2_SPC, RGB_RMOD, RGB_MOD, FN2_SPC, FN1_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN1] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EQL, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FN3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/mechwild/mokulua/keymaps/via/readme.md b/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md
index 4f47e50e88..4f47e50e88 100644
--- a/keyboards/mechwild/mokulua/keymaps/via/readme.md
+++ b/keyboards/mechwild/mokulua/standard/keymaps/via/readme.md
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk b/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1189f4ad19
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/mokulua/standard/rules.mk b/keyboards/mechwild/mokulua/standard/rules.mk
new file mode 100644
index 0000000000..5aae5c7c76
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Enable encoder
+OLED_ENABLE = yes # Enable OLED Screen
+OLED_DRIVER = SSD1306 # Define OLED Driver
+SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file
diff --git a/keyboards/mechwild/mokulua/standard/standard.c b/keyboards/mechwild/mokulua/standard/standard.c
new file mode 100644
index 0000000000..4bccb70e3f
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/standard.c
@@ -0,0 +1,82 @@
+// Copyright 2022 Kyle McCreery (@Kyle McCreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "standard.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ switch (index) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ case 1:
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDN);
+ }
+ break;
+
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_270; // flips the display 270 degrees
+ }
+
+ static void render_logo(void) { // Render MechWild "MW" Logo
+ static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
+ static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
+ static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
+ static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
+ oled_set_cursor(0,0);
+ oled_write_P(logo_1, false);
+ oled_set_cursor(0,1);
+ oled_write_P(logo_2, false);
+ oled_set_cursor(0,2);
+ oled_write_P(logo_3, false);
+ oled_set_cursor(0,3);
+ oled_write_P(logo_4, false);
+ }
+ bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_logo();
+ oled_set_cursor(0,6);
+
+ oled_write_ln_P(PSTR("Layer"), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Base"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("FN 1"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("FN 2"), false);
+ break;
+ case 3:
+ oled_write_ln_P(PSTR("FN 3"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_ln_P(PSTR(""), false);
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+ return false;
+ }
+#endif
diff --git a/keyboards/mechwild/mokulua/standard/standard.h b/keyboards/mechwild/mokulua/standard/standard.h
new file mode 100644
index 0000000000..0484340e8d
--- /dev/null
+++ b/keyboards/mechwild/mokulua/standard/standard.h
@@ -0,0 +1,31 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_standard( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, 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, L37, R30, R31, R32, R33, R34, R35, R36, R37, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
+) { \
+ { 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 }, \
+ { L46, L36, L37, L26, L16, L06 }, \
+ { R01, R02, R03, R04, R05, R06 }, \
+ { R11, R12, R13, R14, R15, R16 }, \
+ { R21, R22, R23, R24, R25, R26 }, \
+ { R32, R33, R34, R35, R36, R37 }, \
+ { R41, R42, R43, R44, R45, R46 }, \
+ { R00, R20, R31, R30, R40, ___ } \
+}
+
+#define LAYOUT LAYOUT_standard
diff --git a/keyboards/mechwild/murphpad/config.h b/keyboards/mechwild/murphpad/config.h
index 3995546e8e..b52810b424 100644
--- a/keyboards/mechwild/murphpad/config.h
+++ b/keyboards/mechwild/murphpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1705
-#define DEVICE_VER 0x0301
-#define MANUFACTURER MechWild
-#define PRODUCT MurphPad
-
/* Key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Key matrix pins */
#define MATRIX_ROW_PINS { F5, B2, B3, B1, F7, F6 }
#define MATRIX_COL_PINS { B5, D7, C6, D4, B6 }
-#define UNUSED_PINS
/* Encoder pins */
#define ENCODERS_PAD_A { E6, D2 }
diff --git a/keyboards/mechwild/murphpad/info.json b/keyboards/mechwild/murphpad/info.json
index 42e01d2ca4..ae4f24f9fa 100644
--- a/keyboards/mechwild/murphpad/info.json
+++ b/keyboards/mechwild/murphpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MechWild MurphPad",
+ "keyboard_name": "MurphPad",
+ "manufacturer": "MechWild",
"url": "mechwild.com",
"maintainer": "Kyle McCreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x1705",
+ "device_version": "3.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechwild/murphpad/keymaps/default/keymap.c b/keyboards/mechwild/murphpad/keymaps/default/keymap.c
index fe46e8ce5e..b818ed4eb2 100644
--- a/keyboards/mechwild/murphpad/keymaps/default/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/default/keymap.c
@@ -18,10 +18,10 @@
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
};
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4,
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_MUTE, KC_P4, KC_P5, KC_P6, _______,
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
- [_FN2] = LAYOUT(
+ [_FN2] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
- [_FN3] = LAYOUT(
+ [_FN3] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
@@ -73,76 +73,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- case 1:
- if (clockwise) {
- tap_code(KC_BRIU);
- } else {
- tap_code(KC_BRID);
- }
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
- }
-
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
-
- bool oled_task_user(void) {
- render_logo();
- oled_set_cursor(0,6);
-
- oled_write_ln_P(PSTR("Layer"), false);
-
- switch (get_highest_layer(layer_state)) {
- case _BASE:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case _FN1:
- oled_write_ln_P(PSTR("FN 1"), false);
- break;
- case _FN2:
- oled_write_ln_P(PSTR("FN 2"), false);
- break;
- case _FN3:
- oled_write_ln_P(PSTR("FN 3"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_ln_P(PSTR(""), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
- return false;
- }
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
#endif
diff --git a/keyboards/mechwild/murphpad/keymaps/default/rules.mk b/keyboards/mechwild/murphpad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/murphpad/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
index 043eeb992b..88c017cbff 100644
--- a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
[_FN2] = LAYOUT_landscape(
- _______, _______, RESET,
+ _______, _______, QK_BOOT,
_______, _______, KC_MPLY, KC_MPRV, KC_MNXT, _______,
_______, _______, _______, _______, _______, _______,
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TT(_FN3), TT(_FN4), TT(_RGB)
),
[_FN1] = LAYOUT(
- _______, _______, _______, RESET,
+ _______, _______, _______, QK_BOOT,
KC_CALC, _______, _______, _______,
_______, _______, _______, _______,
ENCFUNC, KC_TAB, _______, _______, _______,
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______,
_______, _______, KC_MPLY, KC_MPRV,
_______, _______, _______, KC_MNXT,
- RESET, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
@@ -175,7 +175,7 @@ static const keycodedescType PROGMEM keyselection[] = {
{"Break", KC_PAUS},
{"C-A-D", KC_CAD}, // Ctrl-Alt-Del
{"AltF4", KC_AF4},
- {"RESET", RESET}, // firmware flash mode
+ {"RESET", QK_BOOT}, // firmware flash mode
};
#define MAX_KEYSELECTION sizeof(keyselection)/sizeof(keyselection[0])
@@ -200,7 +200,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case ENCFUNC:
if (record->event.pressed) {
- selectedkey_rec.keycode == RESET ? reset_keyboard() : tap_code16(selectedkey_rec.keycode); // handle RESET code
+ selectedkey_rec.keycode == QK_BOOT ? reset_keyboard() : tap_code16(selectedkey_rec.keycode); // handle QK_BOOT code
} else {
// when keycode is released
}
@@ -274,7 +274,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
break;
}
}
- return true;
+ return false;
}
#endif
@@ -296,6 +296,10 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}
#ifdef LANDSCAPE_MODE
+ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_0; // do not flip the display
+ }
+
bool oled_task_user(void) {
render_logo();
@@ -365,10 +369,6 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
// regular mode
#ifndef LANDSCAPE_MODE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
- }
-
bool oled_task_user(void) {
render_logo();
oled_set_cursor(0,5);
diff --git a/keyboards/mechwild/murphpad/keymaps/via/keymap.c b/keyboards/mechwild/murphpad/keymaps/via/keymap.c
index 4f4f6d571a..8117a0fd6a 100644
--- a/keyboards/mechwild/murphpad/keymaps/via/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/via/keymap.c
@@ -16,24 +16,26 @@
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
+
enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4,
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_MUTE, KC_P4, KC_P5, KC_P6, _______,
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
KC_BSPC, KC_P0, _______, KC_PDOT, _______,
- KC_F5, KC_F6, KC_F7
+ KC_F5, KC_F6, KC_F7
),
[_FN1] = LAYOUT(
@@ -58,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
- [_FN3] = LAYOUT(
+ [_FN3] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
@@ -71,76 +73,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- switch (index) {
- case 0:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- break;
- case 1:
- if (clockwise) {
- tap_code(KC_BRIU);
- } else {
- tap_code(KC_BRID);
- }
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
- oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270; // flips the display 270 degrees
- }
-
- static void render_logo(void) { // Render MechWild "MW" Logo
- static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
- static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
- static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
- static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
- oled_set_cursor(0,0);
- oled_write_P(logo_1, false);
- oled_set_cursor(0,1);
- oled_write_P(logo_2, false);
- oled_set_cursor(0,2);
- oled_write_P(logo_3, false);
- oled_set_cursor(0,3);
- oled_write_P(logo_4, false);
- }
-
- bool oled_task_user(void) {
- render_logo();
- oled_set_cursor(0,6);
-
- oled_write_ln_P(PSTR("Layer"), false);
-
- switch (get_highest_layer(layer_state)) {
- case _BASE:
- oled_write_ln_P(PSTR("Base"), false);
- break;
- case _FN1:
- oled_write_ln_P(PSTR("FN 1"), false);
- break;
- case _FN2:
- oled_write_ln_P(PSTR("FN 2"), false);
- break;
- case _FN3:
- oled_write_ln_P(PSTR("FN 3"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_ln_P(PSTR(""), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
- return false;
- }
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
#endif
diff --git a/keyboards/mechwild/murphpad/keymaps/via/rules.mk b/keyboards/mechwild/murphpad/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/mechwild/murphpad/keymaps/via/rules.mk
+++ b/keyboards/mechwild/murphpad/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/murphpad/murphpad.c b/keyboards/mechwild/murphpad/murphpad.c
index a39f1bfc7e..ba5183f2c3 100644
--- a/keyboards/mechwild/murphpad/murphpad.c
+++ b/keyboards/mechwild/murphpad/murphpad.c
@@ -15,3 +15,79 @@
*/
#include "murphpad.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+
+ switch (index) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ case 1:
+ if (clockwise) {
+ tap_code(KC_BRIU);
+ } else {
+ tap_code(KC_BRID);
+ }
+ break;
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+static const char PROGMEM mw_logo[] = {
+ 0x8A, 0x8B, 0x8C, 0x8D, '\r',
+ 0xAA, 0xAB, 0xAC, 0xAD, 0xAE,
+ 0xCA, 0xCB, 0xCC, 0xCD, '\r',
+ 0x20, 0x8E, 0x8F, 0x90, 0x00};
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_270; // flips the display 270 degrees
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+
+ oled_write_P(mw_logo, false); // Render MechWild "MW" Logo
+ oled_set_cursor(0,6);
+
+ oled_write_ln_P(PSTR("Layer"), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Base"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("FN 1"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("FN 2"), false);
+ break;
+ case 3:
+ oled_write_ln_P(PSTR("FN 3"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+
+ oled_write_ln_P(PSTR(""), false);
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+
+ return true;
+}
+#endif
diff --git a/keyboards/mechwild/obe/config.h b/keyboards/mechwild/obe/config.h
index 59702791b0..1fef5fe001 100644
--- a/keyboards/mechwild/obe/config.h
+++ b/keyboards/mechwild/obe/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1707
-#define DEVICE_VER 0x0201
-#define MANUFACTURER MechWild
-#define PRODUCT OrangeBoyErgo
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A8, B15, B14, B13, B12, A15, B3 }
#define MATRIX_COL_PINS { B10, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
-#define UNUSED_PINS
/* encoder pins */
#define ENCODERS_PAD_A { B5 }
diff --git a/keyboards/mechwild/obe/f401/eeprom/rules.mk b/keyboards/mechwild/obe/f401/eeprom/rules.mk
index c2c0bbd5d6..4707020e58 100644
--- a/keyboards/mechwild/obe/f401/eeprom/rules.mk
+++ b/keyboards/mechwild/obe/f401/eeprom/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/obe/f401/rules.mk b/keyboards/mechwild/obe/f401/rules.mk
index f1304648f0..1b21bbaf77 100644
--- a/keyboards/mechwild/obe/f401/rules.mk
+++ b/keyboards/mechwild/obe/f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/obe/f411/eeprom/rules.mk b/keyboards/mechwild/obe/f411/eeprom/rules.mk
index b823aa31cc..3d2f9bcf05 100644
--- a/keyboards/mechwild/obe/f411/eeprom/rules.mk
+++ b/keyboards/mechwild/obe/f411/eeprom/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/obe/f411/rules.mk b/keyboards/mechwild/obe/f411/rules.mk
index b32a8b7f5b..c25a64f4b3 100644
--- a/keyboards/mechwild/obe/f411/rules.mk
+++ b/keyboards/mechwild/obe/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/obe/info.json b/keyboards/mechwild/obe/info.json
index c03b735df6..fbae09e15c 100644
--- a/keyboards/mechwild/obe/info.json
+++ b/keyboards/mechwild/obe/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MechWild OBE",
+ "keyboard_name": "OrangeBoyErgo",
+ "manufacturer": "MechWild",
"url": "mechwild.com",
"maintainer": "Kyle McCreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x1707",
+ "device_version": "2.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechwild/obe/keymaps/default/keymap.c b/keyboards/mechwild/obe/keymaps/default/keymap.c
index fd91890ae0..59f163cc9d 100644
--- a/keyboards/mechwild/obe/keymaps/default/keymap.c
+++ b/keyboards/mechwild/obe/keymaps/default/keymap.c
@@ -13,15 +13,13 @@
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
- _FN1,
- _FN2,
- _FN3
+ _FN1
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -33,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_UP, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN1] = LAYOUT(
+ [_FN1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -41,3 +39,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/obe/keymaps/default/rules.mk b/keyboards/mechwild/obe/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/obe/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/obe/keymaps/jonavin/keymap.c b/keyboards/mechwild/obe/keymaps/jonavin/keymap.c
index 27d09c718d..5d68d9213d 100644
--- a/keyboards/mechwild/obe/keymaps/jonavin/keymap.c
+++ b/keyboards/mechwild/obe/keymaps/jonavin/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT(
KC_MUTE, 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_TRNS, KC_INS,
- KC_HOME, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, RESET,
+ KC_HOME, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, QK_BOOT,
KC_END, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NLCK, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_TRNS,
KC_TRNS,KC_WINLCK,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END
diff --git a/keyboards/mechwild/obe/keymaps/via/keymap.c b/keyboards/mechwild/obe/keymaps/via/keymap.c
index 23b9309901..cd6dcda001 100644
--- a/keyboards/mechwild/obe/keymaps/via/keymap.c
+++ b/keyboards/mechwild/obe/keymaps/via/keymap.c
@@ -13,15 +13,15 @@
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
- _FN2,
- _FN3
+ _FN2,
+ _FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN1] = LAYOUT(
+ [_FN1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_FN2] = LAYOUT(
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_FN3] = LAYOUT(
+ [_FN3] = 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,
@@ -55,3 +55,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/obe/keymaps/via/rules.mk b/keyboards/mechwild/obe/keymaps/via/rules.mk
index 16d33cd89f..f1adcab005 100644
--- a/keyboards/mechwild/obe/keymaps/via/rules.mk
+++ b/keyboards/mechwild/obe/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
VIA_ENABLE = yes
-
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/puckbuddy/config.h b/keyboards/mechwild/puckbuddy/config.h
new file mode 100644
index 0000000000..656fa2e7d1
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/config.h
@@ -0,0 +1,144 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 4
+
+/* Define custom font */
+#define OLED_FONT_H "keyboards/mechwild/puckbuddy/glcdfont.c"
+
+/* allows the "key" button on the blackpill to toggle caps lock for user testing before soldering */
+#define DIP_SWITCH_PINS { A0 }
+
+/* status light pins using the on board LED for the blackpill */
+#define LED_CAPS_LOCK_PIN C13
+#define LED_PIN_ON_STATE 0
+
+/* set the tapping term for glidepoint pad to register a tap click */
+//#define CIRQUE_PINNACLE_TAPPING_TERM 0 // This is set to 0 to disable it
+
+/* TAPPING_TERM value is used for the CIRQUE_PINNACLE_TAPPING_TERM as well by default
+ * defining it this way allows us to easily modify it with DYNAMIC_TAPPING_TERM_ENABLE
+ */
+#define TAPPING_TERM 0
+
+/*
+ * 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 { B12, B13, B14, B15 }
+#define MATRIX_COL_PINS { B10, A8, B4, B5 }
+#define UNUSED_PINS
+
+/* spi config */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+#define CIRQUE_PINNACLE_SPI_DIVISOR 8
+#define CIRQUE_PINNACLE_SPI_CS_PIN A4
+
+/* encoder pins */
+#define ENCODERS_PAD_A { B1, B3 }
+#define ENCODERS_PAD_B { B0, A15 }
+
+/* encoder resolution */
+#define ENCODER_RESOLUTION 4
+#define TAP_CODE_DELAY 10
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* RGB settings, uncomment this define to enable RGB */
+#define RGB_DI_PIN A3
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 3
+# 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
+# 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
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mechwild/puckbuddy/glcdfont.c b/keyboards/mechwild/puckbuddy/glcdfont.c
new file mode 100644
index 0000000000..942f81dd06
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/glcdfont.c
@@ -0,0 +1,231 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "progmem.h"
+
+const unsigned char font[] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0,
+ 0x78, 0x1C, 0x0E, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x0E, 0x0C, 0x0C, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0,
+ 0xC0, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0,
+ 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x07, 0x0E, 0x1C,
+ 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xE0, 0x78, 0x1E, 0x00,
+ 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
+ 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF,
+ 0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE,
+ 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x3E,
+ 0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0,
+ 0x80, 0x78, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+ 0x70, 0x30, 0x30, 0x30, 0xB0, 0xF0,
+ 0xF0, 0x00, 0xFE, 0xFF, 0x33, 0x31,
+ 0x31, 0x31, 0x31, 0x31, 0x31, 0x33,
+ 0x3F, 0x1C, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xFF, 0x3F, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x18,
+ 0x18, 0x18, 0x08, 0x0C, 0x0E, 0x07,
+ 0x03, 0x03, 0x00, 0x00, 0x00, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0xF8, 0xFE, 0x0F,
+ 0x07, 0x03, 0x03, 0x03, 0x03, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0xE0, 0xF0, 0x38, 0x1F, 0x0F, 0x00,
+ 0x00, 0x00, 0x80, 0xE0, 0x70, 0x38,
+ 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x40, 0xC0, 0xF0, 0xFC, 0x7E, 0x4E,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F,
+ 0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0,
+ 0xF8, 0xFF, 0x7F, 0x0F, 0x07, 0x7F,
+ 0xFF, 0xFE, 0xFC, 0x04, 0x04, 0x78,
+ 0x80, 0x00, 0x00, 0x00, 0xC0, 0x38,
+ 0x0C, 0x1C, 0x60, 0x80, 0x00, 0x00,
+ 0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C,
+ 0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1,
+ 0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x03, 0x06, 0x0E, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03,
+ 0x00, 0x00, 0x01, 0x03, 0x07, 0x06,
+ 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x06,
+ 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x06, 0x07, 0x03, 0x1F, 0x1F,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x06,
+ 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x06,
+ 0x06, 0x00, 0x00, 0x00, 0x1F, 0x1F,
+ 0x00, 0x01, 0x07, 0x0E, 0x18, 0x10,
+ 0x00, 0x00, 0x07, 0x1F, 0x18, 0x30,
+ 0x30, 0x30, 0x30, 0x1F, 0x0F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x18, 0x3C, 0x3C, 0x1C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F,
+ 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x1F, 0x1F, 0x1E, 0xF8, 0x00,
+ 0x0F, 0x70, 0x30, 0x0E, 0xC1, 0x38,
+ 0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60,
+ 0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00,
+ 0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0,
+ 0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F,
+};
diff --git a/keyboards/mechwild/puckbuddy/halconf.h b/keyboards/mechwild/puckbuddy/halconf.h
new file mode 100644
index 0000000000..07e8cdd17b
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/halconf.h
@@ -0,0 +1,13 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#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/mechwild/puckbuddy/info.json b/keyboards/mechwild/puckbuddy/info.json
new file mode 100644
index 0000000000..742438e8f5
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/info.json
@@ -0,0 +1,31 @@
+{
+ "keyboard_name": "PuckBuddy",
+ "manufacturer": "MechWild",
+ "url": "mechwild.com",
+ "maintainer": "kylemccreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x170F",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"k00", "x":0, "y":0},
+ {"label":"k01", "x":1.5, "y":0},
+ {"label":"k02", "x":2.5, "y":0},
+ {"label":"k03", "x":3.5, "y":0},
+ {"label":"k05", "x":5, "y":0},
+ {"label":"k10", "x":0, "y":1.25},
+ {"label":"k15", "x":5, "y":1.25},
+ {"label":"k20", "x":0, "y":2.25},
+ {"label":"k25", "x":5, "y":2.25},
+ {"label":"k30", "x":0, "y":3.25},
+ {"label":"k35", "x":5, "y":3.25},
+ {"label":"k31", "x":1, "y":4.5},
+ {"label":"k32", "x":2, "y":4.5},
+ {"label":"k33", "x":3, "y":4.5},
+ {"label":"k34", "x":4, "y":4.5}]
+ }
+ }
+}
diff --git a/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c b/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c
new file mode 100644
index 0000000000..614d70469d
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+/* Physical Layout:
+ * /-------------------\
+ * |ENC| 1 | 2 | 3 |ENC|
+ * |---+---'---'---+---|
+ * | 4 | | 5 |
+ * |---| |---|
+ * | 6 | | 7 |
+ * |---| |---|
+ * | 8 | | 9 |
+ * \-----,---,---,-----/
+ * | A | B | C | D |
+ * \---'---'---'---/
+ *
+ * Keymap Layout:
+ * ENC, 1, 2, 3, ENC,
+ * 4, 5,
+ * 6, 7,
+ * 8, A, B, C, D, 9,
+ *
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D),
+ MO(_FN2), KC_HOME,
+ MO(_FN3), KC_END,
+ KC_BTN3, DPI_FINE,
+ KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1
+ ),
+ [_FN1] = LAYOUT(
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG,
+ DPI_UP, TAP_UP,
+ DPI_DN, TAP_DN,
+ KC_TRNS, KC_TRNS,
+ KC_HOME, KC_PGUP, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
+ KC_TRNS, RGB_MOD,
+ KC_TRNS, RGB_RMOD,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [_FN3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/mechwild/puckbuddy/keymaps/via/keymap.c b/keyboards/mechwild/puckbuddy/keymaps/via/keymap.c
new file mode 100644
index 0000000000..614d70469d
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+/* Physical Layout:
+ * /-------------------\
+ * |ENC| 1 | 2 | 3 |ENC|
+ * |---+---'---'---+---|
+ * | 4 | | 5 |
+ * |---| |---|
+ * | 6 | | 7 |
+ * |---| |---|
+ * | 8 | | 9 |
+ * \-----,---,---,-----/
+ * | A | B | C | D |
+ * \---'---'---'---/
+ *
+ * Keymap Layout:
+ * ENC, 1, 2, 3, ENC,
+ * 4, 5,
+ * 6, 7,
+ * 8, A, B, C, D, 9,
+ *
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D),
+ MO(_FN2), KC_HOME,
+ MO(_FN3), KC_END,
+ KC_BTN3, DPI_FINE,
+ KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1
+ ),
+ [_FN1] = LAYOUT(
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG,
+ DPI_UP, TAP_UP,
+ DPI_DN, TAP_DN,
+ KC_TRNS, KC_TRNS,
+ KC_HOME, KC_PGUP, KC_PGDN, KC_END
+ ),
+ [_FN2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
+ KC_TRNS, RGB_MOD,
+ KC_TRNS, RGB_RMOD,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [_FN3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/mechwild/puckbuddy/keymaps/via/rules.mk b/keyboards/mechwild/puckbuddy/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/mechwild/puckbuddy/mcuconf.h b/keyboards/mechwild/puckbuddy/mcuconf.h
new file mode 100644
index 0000000000..f71868d78e
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/mcuconf.h
@@ -0,0 +1,12 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
diff --git a/keyboards/mechwild/puckbuddy/puckbuddy.c b/keyboards/mechwild/puckbuddy/puckbuddy.c
new file mode 100644
index 0000000000..b82d06f565
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/puckbuddy.c
@@ -0,0 +1,307 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "puckbuddy.h"
+
+#ifndef GLIDEPOINT_DPI_OPTIONS
+# define GLIDEPOINT_DPI_OPTIONS \
+ { 400, 800, 1200, 1600, 2000, 2400, 2800, 3200, 3600, 4000 }
+# ifndef GLIDEPOINT_DPI_DEFAULT
+# define GLIDEPOINT_DPI_DEFAULT 1
+# endif
+#endif
+#ifndef GLIDEPOINT_DPI_DEFAULT
+# define GLIDEPOINT_DPI_DEFAULT 1
+#endif
+
+keyboard_config_t keyboard_config;
+uint16_t dpi_array[] = GLIDEPOINT_DPI_OPTIONS;
+#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t))
+
+void board_init(void) {
+ // B9 is configured as I2C1_SDA in the board file; that function must be
+ // disabled before using B7 as I2C1_SDA.
+ setPinInputHigh(B9);
+}
+
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE
+void tap_modify(int change_value, bool tap_status) {
+ if (keyboard_config.dt_term_config < 0) {
+ keyboard_config.dt_term_config *= -1;
+ }
+
+ keyboard_config.dt_term_config += change_value;
+
+ if (tap_status == false ) {
+ keyboard_config.dt_term_config *= -1;
+ g_tapping_term = 0;
+ } else {
+ g_tapping_term = keyboard_config.dt_term_config;
+ }
+ eeconfig_update_kb(keyboard_config.raw);
+}
+
+void tap_toggle(void) {
+ keyboard_config.dt_term_config *= -1;
+ if (keyboard_config.dt_term_config > 0) {
+ g_tapping_term = keyboard_config.dt_term_config;
+ } else {
+ g_tapping_term = 0;
+ }
+ eeconfig_update_kb(keyboard_config.raw);
+}
+#endif
+
+#ifdef DIP_SWITCH_ENABLE
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) { return false; }
+ switch (index) {
+ case 0:
+ if(active) { tap_code(KC_CLCK); }
+ break;
+ break;
+ }
+ return true;
+}
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ switch (index) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ case 1:
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDN);
+ }
+ break;
+ }
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE // OLED Functionality
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_180; // flips the display 180 degrees
+}
+
+bool clear_screen = true; // used to manage singular screen clears to prevent display glitch
+bool clear_screen_art = true; // used to manage singular screen clears to prevent display glitch
+static void render_name(void) { // Render Puckbuddy "Get Puck'd" text
+ static const char PROGMEM name_1[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xB6, 0xB6, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x00};
+ static const char PROGMEM name_2[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xB6, 0xB6, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0x00};
+ static const char PROGMEM name_3[] = {0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xB6, 0xB6, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0x00};
+ oled_set_cursor(0,0);
+ oled_write_P(name_1, false);
+ oled_set_cursor(0,1);
+ oled_write_P(name_2, false);
+ oled_set_cursor(0,2);
+ oled_write_P(name_3, false);
+}
+
+static void render_logo(void) { // Render MechWild "MW" Logo
+ static const char PROGMEM logo_1[] = {0x97, 0x98, 0x99, 0x9A,0x00};
+ static const char PROGMEM logo_2[] = {0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0x00};
+ static const char PROGMEM logo_3[] = {0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xB6, 0x00};
+ static const char PROGMEM logo_4[] = {0xB6, 0xB6, 0xB6, 0x9B, 0x9C, 0x9D, 0x9E, 0x00};
+ oled_set_cursor(0,0);
+ oled_write_P(logo_1, false);
+ oled_set_cursor(0,1);
+ oled_write_P(logo_2, false);
+ oled_set_cursor(0,2);
+ oled_write_P(logo_3, false);
+ oled_set_cursor(0,3);
+ oled_write_P(logo_4, false);
+}
+
+bool oled_task_kb(void) {
+ if(!oled_task_user()) {
+ return false;
+ }
+ if ( IS_HOST_LED_OFF(USB_LED_NUM_LOCK) && IS_HOST_LED_OFF(USB_LED_CAPS_LOCK) && IS_HOST_LED_OFF(USB_LED_SCROLL_LOCK) && get_highest_layer(layer_state) == 0 ) {
+ if (clear_screen_art == true) {
+ oled_clear();
+ oled_render();
+ clear_screen_art = false;
+ }
+ render_name();
+ oled_set_cursor(0,3);
+#ifdef POINTING_DEVICE_ENABLE
+ oled_write_P(PSTR(" DPI:"), false);
+ oled_write(get_u16_str(dpi_array[keyboard_config.dpi_config], ' '), false);
+#endif
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE // only display tap info if it is being configured dynamically
+ oled_write_P(PSTR(" TAP:"), false);
+ if (keyboard_config.dt_term_config < 0) {
+ oled_write_P(PSTR("Off "), false);
+ } else {
+ oled_write(get_u16_str(g_tapping_term, ' '), false);
+ }
+#endif
+ clear_screen = true;
+ } else {
+ if (clear_screen == true) {
+ oled_clear();
+ oled_render();
+ clear_screen = false;
+ }
+ render_logo();
+ oled_set_cursor(8,1);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("Layer 0"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Layer 1"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Layer 2"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Layer 3"), false);
+ break;
+ default:
+ oled_write_P(PSTR("Layer ?"), false); // Should never display, here as a catchall
+ }
+ led_t led_state = host_keyboard_led_state();
+ oled_set_cursor(8,0);
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR") : PSTR(" "), false);
+#ifdef POINTING_DEVICE_ENABLE
+ oled_set_cursor(8,2);
+ oled_write_P(PSTR("DPI:"), false);
+ oled_write(get_u16_str(dpi_array[keyboard_config.dpi_config], ' '), false);
+#endif
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE // only display tap info if it is being configured dynamically
+ oled_set_cursor(8,3);
+ oled_write_P(PSTR("TAP:"), false);
+ if (keyboard_config.dt_term_config < 0) {
+ oled_write_P(PSTR("Off "), false);
+ } else {
+ oled_write(get_u16_str(g_tapping_term, ' '), false);
+ }
+#endif
+ clear_screen_art = true;
+ }
+ return true;
+}
+#endif
+
+bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
+ switch(keycode) {
+#ifdef POINTING_DEVICE_ENABLE
+ case DPI_UP:
+ if (record->event.pressed) {
+ keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE;
+ eeconfig_update_kb(keyboard_config.raw);
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+ }
+ return false;
+ case DPI_DN:
+ if (record->event.pressed) {
+ if (keyboard_config.dpi_config > 0) {
+ keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE;
+ } else {
+ keyboard_config.dpi_config = DPI_OPTION_SIZE - 1;
+ }
+ eeconfig_update_kb(keyboard_config.raw);
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+ }
+ return false;
+ case DPI_FINE:
+ if (record->event.pressed) {
+ pointing_device_set_cpi(dpi_array[0]);
+ } else {
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+ }
+ return false;
+#endif
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE // only include tap info keycodes if it is being configured dynamically
+ case TAP_UP:
+ if (record->event.pressed) {
+ tap_modify(DYNAMIC_TAPPING_TERM_INCREMENT, true);
+ }
+ return false;
+ case TAP_DN:
+ if (record->event.pressed) {
+ if (keyboard_config.dt_term_config > 0) {
+ tap_modify(-1 * DYNAMIC_TAPPING_TERM_INCREMENT, true);
+ }
+ }
+ return false;
+ case TAP_ON:
+ if (record->event.pressed) {
+ tap_modify(0, true);
+ }
+ return false;
+ case TAP_OFF:
+ if (record->event.pressed) {
+ tap_modify(0, false);
+ }
+ return false;
+ case TAP_TOG:
+ if (record->event.pressed) {
+ tap_toggle();
+ }
+ return false;
+#endif
+ }
+ return process_record_user(keycode, record);
+}
+
+void pointing_device_init_kb(void) {
+#ifdef POINTING_DEVICE_ENABLE
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+#endif
+}
+
+void eeconfig_init_kb(void) {
+#ifdef POINTING_DEVICE_ENABLE
+ keyboard_config.dpi_config = GLIDEPOINT_DPI_DEFAULT;
+#endif
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE // only set tap term from eeprom if it is being configured dynamically
+ keyboard_config.dt_term_config = TAPPING_TERM;
+#endif
+ eeconfig_update_kb(keyboard_config.raw);
+ eeconfig_init_user();
+}
+
+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();
+#ifdef POINTING_DEVICE_ENABLE
+ if (keyboard_config.dpi_config > DPI_OPTION_SIZE) {
+ eeconfig_init_kb();
+ }
+#endif
+ matrix_init_user();
+}
+
+void keyboard_post_init_kb(void) {
+#ifdef POINTING_DEVICE_ENABLE
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+#endif
+#ifdef RGBLIGHT_ENABLE
+ rgblight_toggle_noeeprom(); //double toggle post init removes the weirdness with rgb strips having a yellow first LED
+ rgblight_toggle_noeeprom();
+#endif
+#ifdef DYNAMIC_TAPPING_TERM_ENABLE
+ tap_toggle(); // Need it to reevaluate this setting after initiating so that it is current after init
+ tap_toggle();
+#endif
+ keyboard_post_init_user();
+#ifdef OLED_ENABLE // purposefully after user post init to allow the RGB to startup first
+ wait_ms(200); // Avoids a startup issue where the oled renders and then turns off with blackpill
+ oled_on();
+#endif
+}
diff --git a/keyboards/mechwild/puckbuddy/puckbuddy.h b/keyboards/mechwild/puckbuddy/puckbuddy.h
new file mode 100644
index 0000000000..13540a5075
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/puckbuddy.h
@@ -0,0 +1,56 @@
+// Copyright 2022 Kyle McCreery (@kylemccreery)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k00, k01, k02, k03, k05,\
+ k10, k15,\
+ k20, k25,\
+ k30, k35,\
+ k31, k32, k33, k34 \
+) { \
+ { k00, k01, k05, k31 }, \
+ { k10, k02, k15, k32 }, \
+ { k20, k03, k25, k33 }, \
+ { k30, ___, k35, k34 } \
+}
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t dpi_config;
+ int16_t dt_term_config;
+ };
+} keyboard_config_t;
+
+extern keyboard_config_t keyboard_config;
+extern uint16_t dpi_array[];
+
+enum keyboard_keycodes {
+#ifdef VIA_ENABLE
+ DPI_UP = USER00,
+#else
+ DPI_UP = SAFE_RANGE,
+#endif
+ DPI_DN,
+ DPI_FINE,
+ TAP_UP,
+ TAP_DN,
+ TAP_ON,
+ TAP_OFF,
+ TAP_TOG,
+ NEW_SAFE_RANGE
+};
diff --git a/keyboards/mechwild/puckbuddy/readme.md b/keyboards/mechwild/puckbuddy/readme.md
new file mode 100644
index 0000000000..3bf6647932
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/readme.md
@@ -0,0 +1,27 @@
+# PuckBuddy
+
+![PuckBuddy](https://i.imgur.com/iSVAHJzh.png)
+
+A macropad with a Cirque Glidepoint Trackpad in the middle, powered by the STM32 Blackpill.
+
+* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
+* Hardware Supported: PuckBuddy v1.0
+* Hardware Availability: [PuckBuddy on MechWild](https://mechwild.com/product/puckbuddy/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechwild/puckbuddy:default
+
+Flashing example for this keyboard:
+
+ make mechwild/puckbuddy:default:flash
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (assigned to the top left key) and plug in the keyboard while holding it.
+* **Physical reset button**: Press and hold the boot0 button on the blackpill, tap and release the nrst button on the blackpill, then release the boot0 button.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. By default this is the top right key on layer 1.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/mechwild/puckbuddy/rules.mk b/keyboards/mechwild/puckbuddy/rules.mk
new file mode 100644
index 0000000000..a2837f9216
--- /dev/null
+++ b/keyboards/mechwild/puckbuddy/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Encoder Enabled
+OLED_ENABLE = yes # OLED Enabled
+OLED_DRIVER = SSD1306 # OLED Driver
+DIP_SWITCH_ENABLE = yes # Dip Switch Enabled
+
+POINTING_DEVICE_ENABLE = yes # Pointing Device Enabled
+POINTING_DEVICE_DRIVER = cirque_pinnacle_spi # Pointing Device Driver
+
+DYNAMIC_TAPPING_TERM_ENABLE = yes # Enable Dynamic Tapping Term to control the Tap term for the Cirque Pad easily
diff --git a/keyboards/mechwild/waka60/config.h b/keyboards/mechwild/waka60/config.h
index 057ca383be..df73f51946 100644
--- a/keyboards/mechwild/waka60/config.h
+++ b/keyboards/mechwild/waka60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // mw = "MechWild"
-#define PRODUCT_ID 0x1709
-#define DEVICE_VER 0x0101
-#define MANUFACTURER MechWild
-#define PRODUCT Waka60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B8, B4, B3, B9, A15, B12, B13, B14, B15, A8 }
#define MATRIX_COL_PINS { B10, B1, B0, A7, A6, A5, A4 }
-#define UNUSED_PINS
/* encoder pins */
#define ENCODERS_PAD_A { A3 }
diff --git a/keyboards/mechwild/waka60/f401/eeprom/config.h b/keyboards/mechwild/waka60/f401/config.h
index 83eed90b99..83eed90b99 100644
--- a/keyboards/mechwild/waka60/f401/eeprom/config.h
+++ b/keyboards/mechwild/waka60/f401/config.h
diff --git a/keyboards/mechwild/waka60/f401/eeprom/halconf.h b/keyboards/mechwild/waka60/f401/eeprom/halconf.h
deleted file mode 100644
index b57977316a..0000000000
--- a/keyboards/mechwild/waka60/f401/eeprom/halconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next <halconf.h>
-
diff --git a/keyboards/mechwild/waka60/f401/eeprom/mcuconf.h b/keyboards/mechwild/waka60/f401/eeprom/mcuconf.h
deleted file mode 100644
index da43021663..0000000000
--- a/keyboards/mechwild/waka60/f401/eeprom/mcuconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include_next <mcuconf.h>
-
-#undef STM32_I2C_USE_I2C1
-#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mechwild/waka60/f401/eeprom/rules.mk b/keyboards/mechwild/waka60/f401/eeprom/rules.mk
index c2c0bbd5d6..4707020e58 100644
--- a/keyboards/mechwild/waka60/f401/eeprom/rules.mk
+++ b/keyboards/mechwild/waka60/f401/eeprom/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/waka60/f401/halconf.h b/keyboards/mechwild/waka60/f401/halconf.h
new file mode 100644
index 0000000000..25309fc70f
--- /dev/null
+++ b/keyboards/mechwild/waka60/f401/halconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/mechwild/waka60/f401/mcuconf.h b/keyboards/mechwild/waka60/f401/mcuconf.h
new file mode 100644
index 0000000000..95339690cf
--- /dev/null
+++ b/keyboards/mechwild/waka60/f401/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright 2021 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#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_GPT_USE_TIM4
+#define STM32_GPT_USE_TIM4 TRUE \ No newline at end of file
diff --git a/keyboards/mechwild/waka60/f401/rules.mk b/keyboards/mechwild/waka60/f401/rules.mk
index f1304648f0..1b21bbaf77 100644
--- a/keyboards/mechwild/waka60/f401/rules.mk
+++ b/keyboards/mechwild/waka60/f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/waka60/f411/eeprom/config.h b/keyboards/mechwild/waka60/f411/config.h
index 83eed90b99..83eed90b99 100644
--- a/keyboards/mechwild/waka60/f411/eeprom/config.h
+++ b/keyboards/mechwild/waka60/f411/config.h
diff --git a/keyboards/mechwild/waka60/f411/eeprom/halconf.h b/keyboards/mechwild/waka60/f411/eeprom/halconf.h
deleted file mode 100644
index b57977316a..0000000000
--- a/keyboards/mechwild/waka60/f411/eeprom/halconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next <halconf.h>
-
diff --git a/keyboards/mechwild/waka60/f411/eeprom/mcuconf.h b/keyboards/mechwild/waka60/f411/eeprom/mcuconf.h
deleted file mode 100644
index da43021663..0000000000
--- a/keyboards/mechwild/waka60/f411/eeprom/mcuconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include_next <mcuconf.h>
-
-#undef STM32_I2C_USE_I2C1
-#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mechwild/waka60/f411/eeprom/rules.mk b/keyboards/mechwild/waka60/f411/eeprom/rules.mk
index b823aa31cc..3d2f9bcf05 100644
--- a/keyboards/mechwild/waka60/f411/eeprom/rules.mk
+++ b/keyboards/mechwild/waka60/f411/eeprom/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/waka60/f411/halconf.h b/keyboards/mechwild/waka60/f411/halconf.h
new file mode 100644
index 0000000000..25309fc70f
--- /dev/null
+++ b/keyboards/mechwild/waka60/f411/halconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/mechwild/waka60/f411/mcuconf.h b/keyboards/mechwild/waka60/f411/mcuconf.h
new file mode 100644
index 0000000000..f903d8880f
--- /dev/null
+++ b/keyboards/mechwild/waka60/f411/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright 2021 Kyle McCreery
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#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_GPT_USE_TIM4
+#define STM32_GPT_USE_TIM4 TRUE
diff --git a/keyboards/mechwild/waka60/f411/rules.mk b/keyboards/mechwild/waka60/f411/rules.mk
index b32a8b7f5b..c25a64f4b3 100644
--- a/keyboards/mechwild/waka60/f411/rules.mk
+++ b/keyboards/mechwild/waka60/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/waka60/info.json b/keyboards/mechwild/waka60/info.json
index 87549849b9..8e9a2c11f1 100644
--- a/keyboards/mechwild/waka60/info.json
+++ b/keyboards/mechwild/waka60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MechWild Waka60",
+ "keyboard_name": "Waka60",
+ "manufacturer": "MechWild",
"url": "mechwild.com",
"maintainer": "Kyle McCreery",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0x1709",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mechwild/waka60/keymaps/audio/keymap.c b/keyboards/mechwild/waka60/keymaps/audio/keymap.c
index 6f36d75496..dc4e5ea742 100644
--- a/keyboards/mechwild/waka60/keymaps/audio/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/audio/keymap.c
@@ -13,15 +13,15 @@
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
- _FN2,
- _FN3
+ _FN2,
+ _FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -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_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- KC_TRNS, AU_TOG, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, MU_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ [_FN1] = LAYOUT(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ KC_TRNS, AU_TOG, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, MU_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, MU_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
),
- [_FN2] = LAYOUT(
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_FN3] = LAYOUT(
+ [_FN3] = 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,
@@ -55,3 +55,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/waka60/keymaps/audio/rules.mk b/keyboards/mechwild/waka60/keymaps/audio/rules.mk
index 59d40ea4dd..a7b3207f91 100644
--- a/keyboards/mechwild/waka60/keymaps/audio/rules.mk
+++ b/keyboards/mechwild/waka60/keymaps/audio/rules.mk
@@ -1,3 +1,4 @@
VIA_ENABLE = yes
AUDIO_ENABLE = yes
-AUDIO_DRIVER = pwm_software \ No newline at end of file
+AUDIO_DRIVER = pwm_software
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/waka60/keymaps/default/keymap.c b/keyboards/mechwild/waka60/keymaps/default/keymap.c
index 54f2a32a7d..1f8c8523d4 100644
--- a/keyboards/mechwild/waka60/keymaps/default/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/default/keymap.c
@@ -13,15 +13,15 @@
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
- _FN2,
- _FN3
+ _FN2,
+ _FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -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_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ [_FN1] = LAYOUT(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, 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
),
- [_FN2] = LAYOUT(
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_FN3] = LAYOUT(
+ [_FN3] = 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,
@@ -55,3 +55,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/waka60/keymaps/default/rules.mk b/keyboards/mechwild/waka60/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mechwild/waka60/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mechwild/waka60/keymaps/via/keymap.c b/keyboards/mechwild/waka60/keymaps/via/keymap.c
index 6f36d75496..83b44d6365 100644
--- a/keyboards/mechwild/waka60/keymaps/via/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/via/keymap.c
@@ -13,15 +13,15 @@
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
- _FN2,
- _FN3
+ _FN2,
+ _FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -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_MUTE, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
- KC_TRNS, AU_TOG, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, MU_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ [_FN1] = LAYOUT(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
+ KC_TRNS, AU_TOG, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, MU_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, MU_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
),
- [_FN2] = LAYOUT(
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [_FN3] = LAYOUT(
+ [_FN3] = 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,
@@ -55,3 +55,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ };
+#endif
diff --git a/keyboards/mechwild/waka60/keymaps/via/rules.mk b/keyboards/mechwild/waka60/keymaps/via/rules.mk
index 16d33cd89f..f1adcab005 100644
--- a/keyboards/mechwild/waka60/keymaps/via/rules.mk
+++ b/keyboards/mechwild/waka60/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
VIA_ENABLE = yes
-
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mehkee96/config.h b/keyboards/mehkee96/config.h
index 98e359f980..8eba6e278e 100644
--- a/keyboards/mehkee96/config.h
+++ b/keyboards/mehkee96/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Mehkee
-#define PRODUCT 96KEE
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
diff --git a/keyboards/mehkee96/info.json b/keyboards/mehkee96/info.json
index 050adaa767..34b9b001c8 100644
--- a/keyboards/mehkee96/info.json
+++ b/keyboards/mehkee96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mehkee96",
+ "keyboard_name": "96KEE",
+ "manufacturer": "Mehkee",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Print Screen", "x":13, "y":0}, {"label":"Delete", "x":14, "y":0}, {"label":"Home", "x":15, "y":0}, {"label":"End", "x":16, "y":0}, {"label":"Page Up", "x":17, "y":0}, {"label":"Page Down", "x":18, "y":0}, {"label":"`", "x":0, "y":1}, {"label":"1", "x":1, "y":1}, {"label":"2", "x":2, "y":1}, {"label":"3", "x":3, "y":1}, {"label":"4", "x":4, "y":1}, {"label":"5", "x":5, "y":1}, {"label":"6", "x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"label":"0", "x":10, "y":1}, {"label":"-", "x":11, "y":1}, {"label":"=", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"P/", "x":16, "y":1}, {"label":"P*", "x":17, "y":1}, {"label":"P-", "x":18, "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":"P7", "x":15, "y":2}, {"label":"P8", "x":16, "y":2}, {"label":"P9", "x":17, "y":2}, {"label":"P+", "x":18, "y":2}, {"label":"Caps Lock", "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":"P4", "x":15, "y":3}, {"label":"P5", "x":16, "y":3}, {"label":"P6", "x":17, "y":3}, {"label":"P+", "x":18, "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":"P1", "x":15, "y":4}, {"label":"P2", "x":16, "y":4}, {"label":"P3", "x":17, "y":4}, {"label":"PEnter", "x":18, "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":"Win", "x":11, "y":5}, {"label":"Fn", "x":12, "y":5}, {"label":"Left", "x":13, "y":5}, {"label":"Down", "x":14, "y":5}, {"label":"Right", "x":15, "y":5}, {"label":"P0", "x":16, "y":5}, {"label":"P.", "x":17, "y":5}, {"label":"PEnter", "x":18, "y":5}]
diff --git a/keyboards/mehkee96/keymaps/johann/keymap.c b/keyboards/mehkee96/keymaps/johann/keymap.c
index a0212702ab..0aea5a8203 100644
--- a/keyboards/mehkee96/keymaps/johann/keymap.c
+++ b/keyboards/mehkee96/keymaps/johann/keymap.c
@@ -39,7 +39,7 @@ ________________________________________________________________________________
/* Layer 1, function layer
____________________________________________________________________________________________________________________________________________________________________________
| | | | | | | | | | | | | | | VOL | VOL | | | |
-| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | | | |
+| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | | | |
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | |
@@ -61,7 +61,7 @@ BL_TOGG, BL_DEC, BL_INC changes the in-switch LEDs
LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/meletrix/zoom65/config.h b/keyboards/meletrix/zoom65/config.h
index 6d6f6d18eb..d3a0a2f3b0 100644
--- a/keyboards/meletrix/zoom65/config.h
+++ b/keyboards/meletrix/zoom65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x806B
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER meletrix
-#define PRODUCT zoom65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/meletrix/zoom65/info.json b/keyboards/meletrix/zoom65/info.json
index 8cc7dce8c3..ea128402e9 100644
--- a/keyboards/meletrix/zoom65/info.json
+++ b/keyboards/meletrix/zoom65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "zoom65",
+ "manufacturer": "meletrix",
"url": "https://zoom65.com/",
"maintainer": "spbgzh",
+ "usb": {
+ "vid": "0x806B",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker/keymap.c
index 07d58e9d2b..383cfd26d5 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_bs/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_bs/keymap.c
index 7580e22f95..cb91eb69b0 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_bs/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_lshift/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_lshift/keymap.c
index 29bf8fb543..3e752a6951 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_lshift/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_lshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_space/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_space/keymap.c
index 9ab31d62f7..768e8398fb 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_space/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_ansi_blocker_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker/keymap.c
index cc7967446d..ff2a4b52f7 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_bs/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_bs/keymap.c
index af549a744b..34db6b54a6 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_bs/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_space/keymap.c b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_space/keymap.c
index 7ab65bbf2d..9036828b8b 100644
--- a/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_space/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/65_iso_blocker_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/config.h b/keyboards/meletrix/zoom65_lite/config.h
index 1f98a4dfda..d3a0a2f3b0 100644
--- a/keyboards/meletrix/zoom65_lite/config.h
+++ b/keyboards/meletrix/zoom65_lite/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x806C
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER meletrix
-#define PRODUCT zoom65_lite
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/meletrix/zoom65_lite/info.json b/keyboards/meletrix/zoom65_lite/info.json
index 5bfddbd095..aa2c141139 100644
--- a/keyboards/meletrix/zoom65_lite/info.json
+++ b/keyboards/meletrix/zoom65_lite/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "zoom65_lite",
+ "manufacturer": "meletrix",
"url": "https://zoom65.com/",
"maintainer": "spbgzh",
+ "usb": {
+ "vid": "0x806C",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker/keymap.c
index 07d58e9d2b..383cfd26d5 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_bs/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_bs/keymap.c
index 7580e22f95..cb91eb69b0 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_bs/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_lshift/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_lshift/keymap.c
index 29bf8fb543..3e752a6951 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_lshift/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_lshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_space/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_space/keymap.c
index 9ab31d62f7..768e8398fb 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_space/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_ansi_blocker_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker/keymap.c
index cc7967446d..ff2a4b52f7 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_bs/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_bs/keymap.c
index af549a744b..34db6b54a6 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_bs/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_space/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_space/keymap.c
index 7ab65bbf2d..9036828b8b 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_space/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/65_iso_blocker_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/meletrix/zoom87/config.h b/keyboards/meletrix/zoom87/config.h
new file mode 100644
index 0000000000..89e8cf5611
--- /dev/null
+++ b/keyboards/meletrix/zoom87/config.h
@@ -0,0 +1,56 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { B3, B7, B2, F0, D3, D0 }
+#define MATRIX_COL_PINS { D6, D7, D1, D5, F7, D4, F5, F4, F1, C7, C6, B6, B5, B4, E6, B1, B0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN F6
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN D2
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 10
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*======= RGB function=======*/
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#endif
+
diff --git a/keyboards/meletrix/zoom87/info.json b/keyboards/meletrix/zoom87/info.json
new file mode 100644
index 0000000000..5d37e84c01
--- /dev/null
+++ b/keyboards/meletrix/zoom87/info.json
@@ -0,0 +1,612 @@
+{
+ "keyboard_name": "zoom87",
+ "manufacturer": "meletrix",
+ "url": "https://zoom65.com/",
+ "maintainer": "spbgzh",
+ "usb": {
+ "vid": "0x906F",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_87": "LAYOUT_tkl_f13",
+ "LAYOUT_87_split_bs": "LAYOUT_tkl_f13_split_bs",
+ "LAYOUT_87_split_lshift": "LAYOUT_tkl_f13_split_lshift",
+ "LAYOUT_87_split_rshift": "LAYOUT_tkl_f13_split_rshift",
+ "LAYOUT_87_split_space": "LAYOUT_tkl_f13_split_space"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "x": 3.75, "y": 5.25, "w": 2.25 },
+ { "x": 6, "y": 5.25, "w": 1.25 },
+ { "x": 7.25, "y": 5.25, "w": 2.75 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_split_bs": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_split_lshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_split_rshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_split_space": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "x": 3.75, "y": 5.25, "w": 2.25 },
+ { "x": 6, "y": 5.25, "w": 1.25 },
+ { "x": 7.25, "y": 5.25, "w": 2.75 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/meletrix/zoom87/keymaps/default/keymap.c b/keyboards/meletrix/zoom87/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d5b57b7feb
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default/readme.md b/keyboards/meletrix/zoom87/keymaps/default/readme.md
new file mode 100644
index 0000000000..5a5a49c468
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/keymap.c b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/keymap.c
new file mode 100644
index 0000000000..a1bf486437
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_tkl_f13(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/readme.md b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/readme.md
new file mode 100644
index 0000000000..0d04949fa4
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13/readme.md
@@ -0,0 +1 @@
+# The tkl_f13 keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/keymap.c b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/keymap.c
new file mode 100644
index 0000000000..0b47c2befd
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_tkl_f13_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/readme.md b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/readme.md
new file mode 100644
index 0000000000..872c77f91a
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_bs/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_split_bs keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/keymap.c b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/keymap.c
new file mode 100644
index 0000000000..b711cadf0a
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_tkl_f13_split_lshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_split_lshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/readme.md b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/readme.md
new file mode 100644
index 0000000000..a386f41b90
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_lshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_split_lshift keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/keymap.c b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/keymap.c
new file mode 100644
index 0000000000..1b9a9eed92
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_tkl_f13_split_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_split_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/readme.md b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/readme.md
new file mode 100644
index 0000000000..d978de20ae
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_rshift/readme.md
@@ -0,0 +1 @@
+# The tkl_f13_split_rshift keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/keymap.c b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/keymap.c
new file mode 100644
index 0000000000..ff5a8a3903
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_tkl_f13_split_space(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_split_space(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/readme.md b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/readme.md
new file mode 100644
index 0000000000..d978de20ae
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/default_tkl_f13_split_space/readme.md
@@ -0,0 +1 @@
+# The tkl_f13_split_rshift keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/via/keymap.c b/keyboards/meletrix/zoom87/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c5ff23eeda
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom87/keymaps/via/readme.md b/keyboards/meletrix/zoom87/keymaps/via/readme.md
new file mode 100644
index 0000000000..40fd5138b3
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The via keymap for zoom87
diff --git a/keyboards/meletrix/zoom87/keymaps/via/rules.mk b/keyboards/meletrix/zoom87/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/meletrix/zoom87/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/meletrix/zoom87/readme.md b/keyboards/meletrix/zoom87/readme.md
new file mode 100644
index 0000000000..9ad821387a
--- /dev/null
+++ b/keyboards/meletrix/zoom87/readme.md
@@ -0,0 +1,27 @@
+# zoom87
+
+More Info at [meletrix](https://meletrix.com/)
+​
+
+* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
+* Hardware Supported: zoom 87
+* Hardware Availability: [zoom87](https://meletrix.com/collections/)
+​
+
+Make example for this keyboard (after setting up your build environment):
+
+ make meletrix/zoom87:default
+
+Flashing example for this keyboard:
+
+ make meletrix/zoom87:default:flash
+
+## Bootloader
+
+Enter the bootloader using one of the following methods:
+
+* Tap the Reset switch mounted on the PCB
+* In the case of the default keymap, use the key combination Fn + PageUp
+* Hold the Esc key while connecting the USB cable (also erases persistent settings)
+
+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/meletrix/zoom87/rules.mk b/keyboards/meletrix/zoom87/rules.mk
new file mode 100644
index 0000000000..85a4a905a5
--- /dev/null
+++ b/keyboards/meletrix/zoom87/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/meletrix/zoom87/zoom87.c b/keyboards/meletrix/zoom87/zoom87.c
new file mode 100644
index 0000000000..59fc2ba3c8
--- /dev/null
+++ b/keyboards/meletrix/zoom87/zoom87.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "zoom87.h"
diff --git a/keyboards/meletrix/zoom87/zoom87.h b/keyboards/meletrix/zoom87/zoom87.h
new file mode 100644
index 0000000000..03b94bfc40
--- /dev/null
+++ b/keyboards/meletrix/zoom87/zoom87.h
@@ -0,0 +1,218 @@
+/* Copyright 2022 meletrix
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+
+/* Standard Arrangement
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+ * │50 │51 │52 │55 │56 │57 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K55, K56, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, K55, K56, K57, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_split_bs
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_split_lshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_split_lshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_split_rshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_split_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_split_space
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │55 │56 │57 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_split_space( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K55, K56, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, K55, K56, K55, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
diff --git a/keyboards/melgeek/mach80/config.h b/keyboards/melgeek/mach80/config.h
index 0e98030e25..aab6083eb0 100755
--- a/keyboards/melgeek/mach80/config.h
+++ b/keyboards/melgeek/mach80/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT Mach80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/melgeek/mach80/info.json b/keyboards/melgeek/mach80/info.json
index ea7c628c6f..82e42ab44b 100755
--- a/keyboards/melgeek/mach80/info.json
+++ b/keyboards/melgeek/mach80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mach80",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x0080",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mach80/keymaps/tkl/keymap.c b/keyboards/melgeek/mach80/keymaps/tkl/keymap.c
index 17aa4e6d36..a7c481baa7 100755
--- a/keyboards/melgeek/mach80/keymaps/tkl/keymap.c
+++ b/keyboards/melgeek/mach80/keymaps/tkl/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_ansi( /* FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, _______, KC_INS, _______,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, KC_INS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/melgeek/mach80/readme.md b/keyboards/melgeek/mach80/readme.md
index f4c8572c4d..376d179c65 100755
--- a/keyboards/melgeek/mach80/readme.md
+++ b/keyboards/melgeek/mach80/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
**Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard *
**Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead *
-**Keycode in layout**: Press the key mapped to `RESET` if it is available *
+**Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available *
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/melgeek/mach80/rev1/config.h b/keyboards/melgeek/mach80/rev1/config.h
index 868832d808..7d941ba1e3 100755
--- a/keyboards/melgeek/mach80/rev1/config.h
+++ b/keyboards/melgeek/mach80/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, E6 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/melgeek/mach80/rev2/config.h b/keyboards/melgeek/mach80/rev2/config.h
index 3ac1b87ab5..b08ec05100 100755
--- a/keyboards/melgeek/mach80/rev2/config.h
+++ b/keyboards/melgeek/mach80/rev2/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, E6 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/melgeek/mj61/config.h b/keyboards/melgeek/mj61/config.h
index 0b5bd9ff48..407beba1e8 100644
--- a/keyboards/melgeek/mj61/config.h
+++ b/keyboards/melgeek/mj61/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0xED61
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MJ61
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/melgeek/mj61/info.json b/keyboards/melgeek/mj61/info.json
index 52c98ecdab..559ea8da32 100644
--- a/keyboards/melgeek/mj61/info.json
+++ b/keyboards/melgeek/mj61/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MJ61",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0xED61",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mj61/rev1/config.h b/keyboards/melgeek/mj61/rev1/config.h
index 9d73a4fe96..bba46db2dd 100644
--- a/keyboards/melgeek/mj61/rev1/config.h
+++ b/keyboards/melgeek/mj61/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, A10, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj61/rev2/config.h b/keyboards/melgeek/mj61/rev2/config.h
index 616426df65..e17f291934 100644
--- a/keyboards/melgeek/mj61/rev2/config.h
+++ b/keyboards/melgeek/mj61/rev2/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, B13, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj63/config.h b/keyboards/melgeek/mj63/config.h
index ddd953e1de..407beba1e8 100644
--- a/keyboards/melgeek/mj63/config.h
+++ b/keyboards/melgeek/mj63/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x6063
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MJ63
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/melgeek/mj63/info.json b/keyboards/melgeek/mj63/info.json
index 5c5983abd0..ab5c1c0ef9 100644
--- a/keyboards/melgeek/mj63/info.json
+++ b/keyboards/melgeek/mj63/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MJ63",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x6063",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_arrow": {
"layout": [
diff --git a/keyboards/melgeek/mj63/rev1/config.h b/keyboards/melgeek/mj63/rev1/config.h
index 75f7da43a6..ef8c7872d6 100644
--- a/keyboards/melgeek/mj63/rev1/config.h
+++ b/keyboards/melgeek/mj63/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, A10, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj63/rev2/config.h b/keyboards/melgeek/mj63/rev2/config.h
index 616426df65..e17f291934 100644
--- a/keyboards/melgeek/mj63/rev2/config.h
+++ b/keyboards/melgeek/mj63/rev2/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, B13, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj64/config.h b/keyboards/melgeek/mj64/config.h
index 684c48720b..407beba1e8 100644
--- a/keyboards/melgeek/mj64/config.h
+++ b/keyboards/melgeek/mj64/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x6064
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MJ64
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/melgeek/mj64/info.json b/keyboards/melgeek/mj64/info.json
index 61a7ded2a1..d5a1d8340a 100644
--- a/keyboards/melgeek/mj64/info.json
+++ b/keyboards/melgeek/mj64/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MJ64",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x6064",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mj64/rev1/config.h b/keyboards/melgeek/mj64/rev1/config.h
index fbe170f18e..713c051a09 100644
--- a/keyboards/melgeek/mj64/rev1/config.h
+++ b/keyboards/melgeek/mj64/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, A10, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj64/rev2/config.h b/keyboards/melgeek/mj64/rev2/config.h
index fbe170f18e..713c051a09 100644
--- a/keyboards/melgeek/mj64/rev2/config.h
+++ b/keyboards/melgeek/mj64/rev2/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, A10, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj64/rev3/config.h b/keyboards/melgeek/mj64/rev3/config.h
index dfde77f24a..ff467af7d6 100644
--- a/keyboards/melgeek/mj64/rev3/config.h
+++ b/keyboards/melgeek/mj64/rev3/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, B13, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/config.h
index 4cf4f3f233..e009feed5b 100644
--- a/keyboards/melgeek/mj65/config.h
+++ b/keyboards/melgeek/mj65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x0065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MJ65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/info.json
index e5fffa6d83..7eb67d30b3 100644
--- a/keyboards/melgeek/mj65/info.json
+++ b/keyboards/melgeek/mj65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MJ65",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mj65/rev3/config.h b/keyboards/melgeek/mj65/rev3/config.h
index d9a8c5a815..5274508744 100644
--- a/keyboards/melgeek/mj65/rev3/config.h
+++ b/keyboards/melgeek/mj65/rev3/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B12, B11, B10, B1, A3 }
#define MATRIX_COL_PINS { B15, A8, B13, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1, B14 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mj6xy/config.h b/keyboards/melgeek/mj6xy/config.h
index 4a6336c1c9..fb02fddc1f 100755
--- a/keyboards/melgeek/mj6xy/config.h
+++ b/keyboards/melgeek/mj6xy/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MJ6XY
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 3
diff --git a/keyboards/melgeek/mj6xy/info.json b/keyboards/melgeek/mj6xy/info.json
index 712b97295c..7bd66020b0 100755
--- a/keyboards/melgeek/mj6xy/info.json
+++ b/keyboards/melgeek/mj6xy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MJ6XY",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c
index 4bedb0d400..77e9d940d1 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c
index 2d972d74f1..a9509e96dc 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_7u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c
index d1ffaf4b8d..b4cd656ec2 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_7u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c
index dc779513e4..1b0e576ac8 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c
index 3f8a2206b7..f9e7afa8dc 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c
index 5b77b70c7d..791337744d 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_3u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c
index f61c123e13..c15b740e32 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_6u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c
index 6831ac2d7d..56ac6faf20 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_6u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c
index 4cd58ee4b9..357d93214d 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_split_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c
index 874c8ec16e..9c0ecdd405 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c
index 1e64f52659..c7369ebcbc 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_arrow_split_bs_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c
index b54ea62a73..568eb96235 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_ansi_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c
index d0f50a7010..0d72a78e6c 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c
index 60ac095ae8..0f213e6ff6 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_1u_lshift_7u_spc_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c
index 97da29d39c..3394ab81ab 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_1u_lshift_7u_spc_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c
index c28de0ae27..eb82f33d04 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_1u_lshift_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c
index c95aa2838e..68d60791bd 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_1u_lshift_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c
index 1f4f3e0b49..e379a5e638 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_7u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c
index ad180ffbdb..18e6734fbe 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_7u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c
index 644f880183..96b317b78f 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_7u_spc_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c
index 0a6321d955..149cd4de57 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_7u_spc_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c
index e0997d26da..2713820c12 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c
index bcefcc6818..f3ee53674a 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c
index 76858516cc..c0ed6ad606 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_3u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c
index a4306832f8..8879490b7b 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_6u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c
index 5e2187ac35..78a2f441de 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_6u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c
index e08039de3b..2a4669a049 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_split_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c
index 8aed87a977..327e456f37 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c
index b1398092e9..46a08e64d0 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_arrow_split_bs_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c
index 55aa73d325..098e5af8cb 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c
index a78595d50c..af57d434c6 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c
index 902fb1d07d..8e78d4082c 100755
--- a/keyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_iso_split_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c
index adf8abee89..65aad57130 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c
index 75740f58ac..5e0a5bf1df 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c
index ece9c5d120..a33215e624 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_3u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c
index d399553f6a..939ff02ff0 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_6u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c
index 731a92ce5a..a2f027ae71 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_6u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c
index 7f5c3ba537..f08a899541 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_split_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c
index 234f936ab3..6a2bccc0d1 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c
index 31a6b5a9db..2d13f48a83 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_ansi_split_bs_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c
index ef7f3a2fef..52cfd611ee 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c
index 5bdbc289de..39eb0817d5 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c
index 2689f17445..ba0be5ec7a 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_3u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c
index b9b9924bc7..f93e2a4f8c 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_6u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c
index b15d8d2575..9b68fb00b6 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_6u_spc_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c
index a085b10d78..2ae9f1c477 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_split_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c
index ff1fdb70f8..42312c6693 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c
index 918d0e9493..68d3f84daa 100755
--- a/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c
+++ b/keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_64_iso_split_bs_3u_spc(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, 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)
};
diff --git a/keyboards/melgeek/mj6xy/rev3/config.h b/keyboards/melgeek/mj6xy/rev3/config.h
index 8ea2b72030..3c07db143b 100755
--- a/keyboards/melgeek/mj6xy/rev3/config.h
+++ b/keyboards/melgeek/mj6xy/rev3/config.h
@@ -22,7 +22,6 @@
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B6, B5, B4, D7, D6, D4, D5, F7, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/mojo68/config.h
index ee441be0e1..3ef18c6785 100755
--- a/keyboards/melgeek/mojo68/config.h
+++ b/keyboards/melgeek/mojo68/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x0068
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MoJo68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/info.json
index 843637d901..4f7ae646be 100755
--- a/keyboards/melgeek/mojo68/info.json
+++ b/keyboards/melgeek/mojo68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MoJo68",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x0068",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mojo68/rev1/config.h b/keyboards/melgeek/mojo68/rev1/config.h
index 74a7e3dc26..de50fb8b1e 100755
--- a/keyboards/melgeek/mojo68/rev1/config.h
+++ b/keyboards/melgeek/mojo68/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B0 ,B1, B2, B3, D2, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/config.h
index 2db335dafb..67c79df409 100644
--- a/keyboards/melgeek/mojo75/config.h
+++ b/keyboards/melgeek/mojo75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x7075
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT MOJO75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/info.json
index 95f750b9f2..7c3133d207 100644
--- a/keyboards/melgeek/mojo75/info.json
+++ b/keyboards/melgeek/mojo75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MoJo75",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x7075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [
diff --git a/keyboards/melgeek/mojo75/rev1/config.h b/keyboards/melgeek/mojo75/rev1/config.h
index eaac850b6d..f51798a308 100644
--- a/keyboards/melgeek/mojo75/rev1/config.h
+++ b/keyboards/melgeek/mojo75/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { B11, B10, B1, B0, A7, A6 }
#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14, C15, A0, A1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/tegic/config.h b/keyboards/melgeek/tegic/config.h
index d264ec5e31..b16fb73b0d 100755
--- a/keyboards/melgeek/tegic/config.h
+++ b/keyboards/melgeek/tegic/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT tegic
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/info.json
index 21a12ee113..5526ec080c 100755
--- a/keyboards/melgeek/tegic/info.json
+++ b/keyboards/melgeek/tegic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tegic",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x0081",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tegic_ansi": {
"layout": [
diff --git a/keyboards/melgeek/tegic/keymaps/default/keymap.c b/keyboards/melgeek/tegic/keymaps/default/keymap.c
index e4c0b126c7..8b03c11c19 100755
--- a/keyboards/melgeek/tegic/keymaps/default/keymap.c
+++ b/keyboards/melgeek/tegic/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tegic_ansi( /* FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, RESET, _______, KC_INS, _______,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, QK_BOOT, _______, KC_INS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/melgeek/tegic/keymaps/via/keymap.c b/keyboards/melgeek/tegic/keymaps/via/keymap.c
index 54c0222da0..fa60a3c181 100755
--- a/keyboards/melgeek/tegic/keymaps/via/keymap.c
+++ b/keyboards/melgeek/tegic/keymaps/via/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tegic_ansi( /* FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_END, _______,
- _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, RESET, _______, KC_INS, _______,
+ _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, QK_BOOT, _______, KC_INS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/melgeek/tegic/readme.md b/keyboards/melgeek/tegic/readme.md
index da2698e412..f6676e1ce4 100755
--- a/keyboards/melgeek/tegic/readme.md
+++ b/keyboards/melgeek/tegic/readme.md
@@ -18,6 +18,6 @@ Enter the bootloader in 3 ways:
**Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard *
**Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead *
-**Keycode in layout**: Press the key mapped to `RESET` if it is available *
+**Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available *
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/melgeek/tegic/rev1/config.h b/keyboards/melgeek/tegic/rev1/config.h
index d847fd2364..49d4550be9 100755
--- a/keyboards/melgeek/tegic/rev1/config.h
+++ b/keyboards/melgeek/tegic/rev1/config.h
@@ -29,7 +29,6 @@
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, D3 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/config.h
index 0f294c9e00..2b5f6e5955 100644
--- a/keyboards/melgeek/z70ultra/config.h
+++ b/keyboards/melgeek/z70ultra/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xEDED
-#define PRODUCT_ID 0x6570
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MelGeek
-#define PRODUCT Z70Ultra
-
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/info.json
index e24b177070..9cb5ad05fe 100644
--- a/keyboards/melgeek/z70ultra/info.json
+++ b/keyboards/melgeek/z70ultra/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Z70Ultra",
+ "manufacturer": "MelGeek",
"url": "",
"maintainer": "melgeek001365",
+ "usb": {
+ "vid": "0xEDED",
+ "pid": "0x6570",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/melgeek/z70ultra/rev1/config.h b/keyboards/melgeek/z70ultra/rev1/config.h
index 4593051758..022e318da1 100644
--- a/keyboards/melgeek/z70ultra/rev1/config.h
+++ b/keyboards/melgeek/z70ultra/rev1/config.h
@@ -33,5 +33,4 @@
#define MATRIX_ROW_PINS { B12, B13, B14, B15, A3, B9 }
#define MATRIX_COL_PINS { B11, B10, B1, A10, B5, B4, B3, A15, A2, A1, A0, C15, C14, C13 }
-#define UNUSED_PINS
diff --git a/keyboards/meme/config.h b/keyboards/meme/config.h
index 58bc794ee8..83353f9ba0 100644
--- a/keyboards/meme/config.h
+++ b/keyboards/meme/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Switchmod Keyboards
-#define PRODUCT Meme
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, D0, D1, D4, D5, D6, B0, B1, B2, B3 }
#define MATRIX_COL_PINS { D3, D2, B5, B6, C7, C6, C5, C4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/meme/info.json b/keyboards/meme/info.json
index 57bf54633f..07327ce3c8 100644
--- a/keyboards/meme/info.json
+++ b/keyboards/meme/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Meme",
+ "manufacturer": "Switchmod Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_spicy": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "y":0}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"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}, {"x":14, "y":3}, {"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":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/meow65/config.h b/keyboards/meow65/config.h
index 20f725ee30..ecdf7311a4 100644
--- a/keyboards/meow65/config.h
+++ b/keyboards/meow65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E64 // Hai-Ninh Dang
-#define PRODUCT_ID 0x4D36
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mrninhvn
-#define PRODUCT Meow65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B7, F7 }
#define MATRIX_COL_PINS { F5, F6, B0, F4, F1, D0, D1, D2, D3, D5, D4, D6, D7, B4, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/meow65/info.json b/keyboards/meow65/info.json
index 7221a518bd..85d6e8577b 100644
--- a/keyboards/meow65/info.json
+++ b/keyboards/meow65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "meow65",
+ "keyboard_name": "Meow65",
+ "manufacturer": "mrninhvn",
"url": "https://github.com/mrninhvn/meow65-pcb",
"maintainer": "mrninhvn",
+ "usb": {
+ "vid": "0x6E64",
+ "pid": "0x4D36",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/meow65/readme.md b/keyboards/meow65/readme.md
index 734a278082..1fe52c3e36 100644
--- a/keyboards/meow65/readme.md
+++ b/keyboards/meow65/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down ESC key (the top left key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/merge/iso_macro/config.h b/keyboards/merge/iso_macro/config.h
index 05ca6f05f7..f5a82d2df8 100644
--- a/keyboards/merge/iso_macro/config.h
+++ b/keyboards/merge/iso_macro/config.h
@@ -18,19 +18,12 @@
#include "config_common.h"
-#define VENDOR_ID 0x4D65
-#define PRODUCT_ID 0x1200
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Merge
-#define PRODUCT ISO Macro
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { F4, F5, F6}
#define MATRIX_COL_PINS { B4, B5, B6}
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
/* COL2ROW or ROW2COL */
diff --git a/keyboards/merge/iso_macro/info.json b/keyboards/merge/iso_macro/info.json
index df31150821..bdade6a712 100644
--- a/keyboards/merge/iso_macro/info.json
+++ b/keyboards/merge/iso_macro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ISO Macro",
+ "manufacturer": "Merge",
"url": "",
"maintainer": "duoshock",
+ "usb": {
+ "vid": "0x4D65",
+ "pid": "0x1200",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/merge/uc1/config.h b/keyboards/merge/uc1/config.h
index f33d7a6548..3d89ba0a57 100644
--- a/keyboards/merge/uc1/config.h
+++ b/keyboards/merge/uc1/config.h
@@ -16,19 +16,12 @@
#include "config_common.h"
-#define VENDOR_ID 0x4D65
-#define PRODUCT_ID 0x5543
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Merge
-#define PRODUCT UC-1
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
#define MATRIX_ROW_PINS { B1, B2 }
#define MATRIX_COL_PINS { B3, B4 }
-#define UNUSED_PINS
#define RGB_DI_PIN B5
#define RGBLED_NUM 12
diff --git a/keyboards/merge/uc1/info.json b/keyboards/merge/uc1/info.json
index 5452e1e7cb..ed4beff454 100644
--- a/keyboards/merge/uc1/info.json
+++ b/keyboards/merge/uc1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UC-1",
+ "manufacturer": "Merge",
"url": "https://mergedesign.store/products/uc-1",
"maintainer": "duoshock",
+ "usb": {
+ "vid": "0x4D65",
+ "pid": "0x5543",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/merge/um70/config.h b/keyboards/merge/um70/config.h
index a1374aa9a3..b22bd3fb10 100644
--- a/keyboards/merge/um70/config.h
+++ b/keyboards/merge/um70/config.h
@@ -16,18 +16,11 @@
#include "config_common.h"
-#define VENDOR_ID 0x4D65
-#define PRODUCT_ID 0x3222
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Merge
-#define PRODUCT UM-70
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/merge/um70/info.json b/keyboards/merge/um70/info.json
index f0fc07a95e..20b0d918f7 100644
--- a/keyboards/merge/um70/info.json
+++ b/keyboards/merge/um70/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UM-70",
+ "manufacturer": "Merge",
"url": "https://mergedesign.store/um-70",
"maintainer": "duoshock",
+ "usb": {
+ "vid": "0x4D65",
+ "pid": "0x3222",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_rspace_2u_bksp": {
"layout": [{"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "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":15.25, "y":0, "w":2}, {"x":17.75, "y":0}, {"x":1.5, "y":1, "w":1.5}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8.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, "w":1.5}, {"x":17.75, "y":1}, {"x":0, "y":2}, {"x":1.5, "y":2, "w":1.75}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "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":15, "y":2, "w":2.25}, {"x":17.75, "y":2}, {"x":0, "y":3}, {"x":1.5, "y":3, "w":2.25}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "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, "w":1.75}, {"x":16.5, "y":3.25}, {"x":0, "y":4}, {"x":1.5, "y":4, "w":1.25}, {"x":2.75, "y":4, "w":1.25}, {"x":4, "y":4, "w":1.25}, {"x":5.25, "y":4, "w":1.25}, {"x":6.5, "y":4, "w":2.25}, {"x":9.5, "y":4, "w":2.75}, {"x":12.25, "y":4, "w":1.5}, {"x":13.75, "y":4, "w":1.5}, {"x":15.5, "y":4.25}, {"x":16.5, "y":4.25}, {"x":17.5, "y":4.25}]
diff --git a/keyboards/merge/um80/config.h b/keyboards/merge/um80/config.h
new file mode 100644
index 0000000000..d76eee087a
--- /dev/null
+++ b/keyboards/merge/um80/config.h
@@ -0,0 +1,56 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "config_common.h"
+
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 8
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, C7 }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define SOFT_SERIAL_PIN D2
+#define SPLIT_USB_DETECT
+#define MASTER_LEFT
+#define SPLIT_MODS_ENABLE
+
+#define RGB_DI_PIN D3
+#define RGBLIGHT_SPLIT
+#define RGBLED_NUM 100
+#define RGBLED_SPLIT { 48, 52 }
+#ifdef RGB_MATRIX_ENABLE
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
+#endif
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_LIMIT_VAL 120
+
+#define DEBOUNCE 5
+
+#define AUDIO_PIN B6
+
+#ifdef AUDIO_ENABLE
+ #define STARTUP_SONG SONG(STARTUP_SOUND)
+#endif
+
+#define ENCODERS_PAD_A { B4 }
+#define ENCODERS_PAD_B { B5 }
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/merge/um80/info.json b/keyboards/merge/um80/info.json
new file mode 100644
index 0000000000..1f367c9183
--- /dev/null
+++ b/keyboards/merge/um80/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "UM-80",
+ "manufacturer": "Merge",
+ "url": "https://mergedesign.store/um-80",
+ "maintainer": "duoshock",
+ "usb": {
+ "vid": "0x4D65",
+ "pid": "0x3241",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_rspace_split_bksp": {
+ "layout": [{"label":"Esc", "x":1.5, "y":0}, {"label":"F1", "x":2.75, "y":0}, {"label":"F2", "x":3.75, "y":0}, {"label":"F3", "x":4.75, "y":0}, {"label":"F4", "x":5.75, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":10.25, "y":0}, {"label":"F8", "x":11.25, "y":0}, {"label":"F9", "x":12.5, "y":0}, {"label":"F10", "x":13.5, "y":0}, {"label":"F11", "x":14.5, "y":0}, {"label":"F12", "x":15.5, "y":0}, {"label":"Del", "x":16.75, "y":0}, {"label":"Encoder", "x":18.25, "y":0}, {"label":"~", "x":1.5, "y":1.25}, {"label":"!", "x":2.5, "y":1.25}, {"label":"@", "x":3.5, "y":1.25}, {"label":"#", "x":4.5, "y":1.25}, {"label":"$", "x":5.5, "y":1.25}, {"label":"%", "x":6.5, "y":1.25}, {"label":"^", "x":7.5, "y":1.25}, {"label":"&", "x":9.75, "y":1.25}, {"label":"*", "x":10.75, "y":1.25}, {"label":"(", "x":11.75, "y":1.25}, {"label":")", "x":12.75, "y":1.25}, {"label":"_", "x":13.75, "y":1.25}, {"label":"+", "x":14.75, "y":1.25}, {"label":"~", "x":15.75, "y":1.25}, {"label":"Bksp", "x":16.75, "y":1.25}, {"label":"Home", "x":18.25, "y":1.25}, {"label":"M0", "x":0, "y":2.25}, {"label":"Tab", "x":1.5, "y":2.25, "w":1.5}, {"label":"Q", "x":3, "y":2.25}, {"label":"W", "x":4, "y":2.25}, {"label":"E", "x":5, "y":2.25}, {"label":"R", "x":6, "y":2.25}, {"label":"T", "x":7, "y":2.25}, {"label":"Y", "x":9.25, "y":2.25}, {"label":"U", "x":10.25, "y":2.25}, {"label":"I", "x":11.25, "y":2.25}, {"label":"O", "x":12.25, "y":2.25}, {"label":"P", "x":13.25, "y":2.25}, {"label":"{", "x":14.25, "y":2.25}, {"label":"}", "x":15.25, "y":2.25}, {"label":"|", "x":16.25, "y":2.25, "w":1.5}, {"label":"PgUp", "x":18.25, "y":2.25}, {"label":"M1", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.5, "y":3.25, "w":1.75}, {"label":"A", "x":3.25, "y":3.25}, {"label":"S", "x":4.25, "y":3.25}, {"label":"D", "x":5.25, "y":3.25}, {"label":"F", "x":6.25, "y":3.25}, {"label":"G", "x":7.25, "y":3.25}, {"label":"H", "x":9.5, "y":3.25}, {"label":"J", "x":10.5, "y":3.25}, {"label":"K", "x":11.5, "y":3.25}, {"label":"L", "x":12.5, "y":3.25}, {"label":":", "x":13.5, "y":3.25}, {"label":"\"", "x":14.5, "y":3.25}, {"label":"Enter", "x":15.5, "y":3.25, "w":2.25}, {"label":"PgDn", "x":18.25, "y":3.25}, {"label":"M2", "x":0, "y":4.25}, {"label":"Shift", "x":1.5, "y":4.25, "w":2.25}, {"label":"Z", "x":3.75, "y":4.25}, {"label":"X", "x":4.75, "y":4.25}, {"label":"C", "x":5.75, "y":4.25}, {"label":"V", "x":6.75, "y":4.25}, {"label":"B", "x":7.75, "y":4.25}, {"label":"N", "x":10, "y":4.25}, {"label":"M", "x":11, "y":4.25}, {"label":"<", "x":12, "y":4.25}, {"label":">", "x":13, "y":4.25}, {"label":"?", "x":14, "y":4.25}, {"label":"Shift", "x":15, "y":4.25, "w":1.75}, {"label":"\u2191", "x":17, "y":4.5}, {"label":"M3", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.5, "y":5.25, "w":1.25}, {"label":"Win", "x":2.75, "y":5.25, "w":1.25}, {"label":"Alt", "x":4, "y":5.25, "w":1.25}, {"x":5.25, "y":5.25, "w":1.25}, {"x":6.5, "y":5.25, "w":2.25}, {"x":10, "y":5.25, "w":2.75}, {"label":"Alt", "x":12.75, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":14.25, "y":5.25, "w":1.5}, {"label":"\u2190", "x":16, "y":5.5}, {"label":"\u2193", "x":17, "y":5.5}, {"label":"\u2192", "x":18, "y":5.5}]
+ }
+ }
+}
diff --git a/keyboards/merge/um80/keymaps/default/keymap.c b/keyboards/merge/um80/keymaps/default/keymap.c
new file mode 100644
index 0000000000..04dea2c1be
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/default/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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| Del| |EC |
+ * '---------------------------' '-------------------------------' '---'
+ * .---------------------------. .-------------------------------. .---.
+ * |Esc| 1| 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =|` |Bsp| |Hom|
+ * .---. |-------------------------. .---------------------------------| |---|
+ * | 1| |Tab | Q| W| E| R| T| | Y| U| I| O| P| [| ]| \ | |PgU|
+ * |---| |-------------------------. '---------------------------------| |---|
+ * | 2| |CapsL | A| S| D| F| G| | H| J| K| L| ;| :| Retn | |PgD|
+ * |---| |----------------------------. '--------------------------------| .---. '---'
+ * | 3| |Shft | Z| X| C| V| B| | N| M| ,| ,| /| Shift| |Up |
+ * |---| |----------------------------| |---------------------------' .-----------.
+ * | 4| |Ctl |Gui |Alt |Fn0 |Space | | Space| Alt| Ctl| |Lef|Dow|Rig|
+ * '---' '----------------------------' '-----------------------' '-----------'
+ */
+
+[0] = LAYOUT_rspace_split_bksp(
+ 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_GRV, KC_BSPC, KC_HOME,
+ KC_1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_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_ENT, KC_PGDN,
+ KC_3, 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_4, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+[1] = LAYOUT_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
diff --git a/keyboards/merge/um80/keymaps/default/readme.md b/keyboards/merge/um80/keymaps/default/readme.md
new file mode 100644
index 0000000000..a5bfc566d9
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+# Default UM-80 Layout
+
+![UM-80 Layout Image](https://i.imgur.com/YsW6FSZ.jpeg)
+
+This is the default layout that comes flashed on every UM-80.
diff --git a/keyboards/merge/um80/keymaps/default/rules.mk b/keyboards/merge/um80/keymaps/default/rules.mk
new file mode 100644
index 0000000000..1888ce3a12
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+WPM_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/merge/um80/keymaps/via/config.h b/keyboards/merge/um80/keymaps/via/config.h
new file mode 100644
index 0000000000..c60f7b110a
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/via/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
diff --git a/keyboards/merge/um80/keymaps/via/keymap.c b/keyboards/merge/um80/keymaps/via/keymap.c
new file mode 100644
index 0000000000..04dea2c1be
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/via/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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| Del| |EC |
+ * '---------------------------' '-------------------------------' '---'
+ * .---------------------------. .-------------------------------. .---.
+ * |Esc| 1| 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =|` |Bsp| |Hom|
+ * .---. |-------------------------. .---------------------------------| |---|
+ * | 1| |Tab | Q| W| E| R| T| | Y| U| I| O| P| [| ]| \ | |PgU|
+ * |---| |-------------------------. '---------------------------------| |---|
+ * | 2| |CapsL | A| S| D| F| G| | H| J| K| L| ;| :| Retn | |PgD|
+ * |---| |----------------------------. '--------------------------------| .---. '---'
+ * | 3| |Shft | Z| X| C| V| B| | N| M| ,| ,| /| Shift| |Up |
+ * |---| |----------------------------| |---------------------------' .-----------.
+ * | 4| |Ctl |Gui |Alt |Fn0 |Space | | Space| Alt| Ctl| |Lef|Dow|Rig|
+ * '---' '----------------------------' '-----------------------' '-----------'
+ */
+
+[0] = LAYOUT_rspace_split_bksp(
+ 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_GRV, KC_BSPC, KC_HOME,
+ KC_1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_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_ENT, KC_PGDN,
+ KC_3, 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_4, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+[1] = LAYOUT_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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_rspace_split_bksp(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
diff --git a/keyboards/merge/um80/keymaps/via/rules.mk b/keyboards/merge/um80/keymaps/via/rules.mk
new file mode 100644
index 0000000000..cc9055e91e
--- /dev/null
+++ b/keyboards/merge/um80/keymaps/via/rules.mk
@@ -0,0 +1,6 @@
+VIA_ENABLE = yes
+WPM_ENABLE = yes
+LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
diff --git a/keyboards/merge/um80/readme.md b/keyboards/merge/um80/readme.md
new file mode 100644
index 0000000000..ad9caf244f
--- /dev/null
+++ b/keyboards/merge/um80/readme.md
@@ -0,0 +1,22 @@
+# UM-80
+
+![UM-80](https://i.imgur.com/JVEC4Ntl.jpeg)
+
+UM-80 is a split keyboard in 75% layout with RGB, macro keys, OLED screen and encoder housed in PLA 3D printed cases sold by Merge. [Product page](https://mergedesign.store/products/um-80)
+
+* Keyboard Maintainer: [duoshock](https://github.com/duoshock)
+* Hardware Availability: [Merge Store](https://mergedesign.store/products/um-80)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make merge/um80:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the Esc key on the left side or '7' key on the right side and plug in the keyboard.
+* **Physical reset button**: Briefly press the button on the back of the PCB.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/merge/um80/rules.mk b/keyboards/merge/um80/rules.mk
new file mode 100644
index 0000000000..8865137009
--- /dev/null
+++ b/keyboards/merge/um80/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+SPLIT_KEYBOARD = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
diff --git a/keyboards/merge/um80/um80.c b/keyboards/merge/um80/um80.c
new file mode 100644
index 0000000000..557197c89d
--- /dev/null
+++ b/keyboards/merge/um80/um80.c
@@ -0,0 +1,123 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "um80.h"
+
+#ifndef WPM_ENABLE
+# define get_current_wpm() 0
+#endif
+
+#ifdef OLED_ENABLE
+void suspend_power_down_kb(void) {
+ oled_off();
+ suspend_power_down_user();
+}
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_90;
+ }
+
+ return rotation;
+}
+
+//UM-80 logo
+static void render_logo(void) {
+ static const char PROGMEM raw_logo[] = {
+ 0,0,0,0,0,0,0,0,0,0,128,192,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224,192,192,128,128,192,
+ 192,224,224,224,224,224,224,224,224,192,192,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,3,1,0,1,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,254,252,240,0,0,0,0,0,0,0,0,0,254,254,254,0,0,0,0,0,0,254,254,254,
+ 0,0,0,254,254,254,252,248,224,192,128,224,248,252,254,254,254,0,0,128,128,128,128,128,128,0,0,0,120,252,254,206,
+ 206,206,206,254,124,120,0,0,240,248,252,62,30,14,14,30,62,252,248,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,
+ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,240,192,128,0,128,255,255,255,255,255,255,255,255,255,255,
+ 255,255,255,255,127,63,15,0,0,0,0,0,0,0,0,0,15,63,63,124,112,112,112,112,124,63,63,15,0,0,0,127,127,127,0,1,7,15,
+ 15,7,1,0,127,127,127,0,0,3,3,3,3,3,3,1,0,30,63,127,123,113,113,113,123,127,63,30,0,0,15,31,63,124,120,112,112,120,
+ 124,63,31,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,1,1,3,3,7,7,7,7,7,7,7,7,3,3,1,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ };
+ oled_write_raw_P(raw_logo, sizeof(raw_logo));
+}
+
+
+// 32 * 18 Merge logo
+static const char PROGMEM merge_logo[] = {
+ 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0e,
+ 0x06, 0x04, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, 0xc0,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc0,
+ 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f,
+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01,
+ 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00
+};
+
+static void print_status_narrow(void) {
+ oled_set_cursor(0,1);
+ oled_write_raw_P(merge_logo, sizeof(merge_logo));
+ oled_set_cursor(0,5);
+ oled_write_P(PSTR("-----"), false);
+ oled_set_cursor(0,6);
+ oled_write_P(PSTR("LYR "), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("0"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("1"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("2"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("3"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_ln_P(PSTR(" "), false);
+ oled_write_P(PSTR("CAP "), false);
+ oled_write_P(PSTR("."), led_usb_state.caps_lock);
+ oled_write_P(PSTR("NUM "), false);
+ oled_write_P(PSTR("."), led_usb_state.num_lock);
+ oled_write_P(PSTR("SCR "), false);
+ oled_write_P(PSTR("."), led_usb_state.scroll_lock);
+ //oled_write_ln_P(PSTR(" "), false);
+ oled_write_P(PSTR("-----"), false);
+
+ // WPM counter Start
+ oled_set_cursor(0,13);
+ oled_write(" ", false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false);
+ oled_set_cursor(0,14);
+ oled_write(" WPM ", false);
+ // WPM counter End
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) { return false; }
+ if (is_keyboard_master()) {
+ print_status_narrow();
+ //render_logo();
+ } else {
+ render_logo();
+ //print_status_narrow();
+ }
+ return false;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/merge/um80/um80.h b/keyboards/merge/um80/um80.h
new file mode 100644
index 0000000000..9e17b70021
--- /dev/null
+++ b/keyboards/merge/um80/um80.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 duoshock
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT_rspace_split_bksp( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, R37, \
+ L27, L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, R26, R27, R47, \
+ L37, L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, R36, R57, \
+ L47, L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, R56,\
+ L57, L50, L51, L52, L53, L54, R50, R51, R52, R53, R54, R55 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06, XXX }, \
+ { L10, L11, L12, L13, L14, L15, L16, XXX }, \
+ { L20, L21, L22, L23, L24, L25, XXX, L27 }, \
+ { L30, L31, L32, L33, L34, L35, XXX, L37 }, \
+ { L40, L41, L42, L43, L44, L45, XXX, L47 }, \
+ { L50, L51, L52, L53, L54, XXX, XXX, L57 }, \
+ { R00, R01, R02, R03, R04, R05, R06, R07 }, \
+ { R10, R11, R12, R13, R14, R15, R16, R17 }, \
+ { R20, R21, R22, R23, R24, R25, R26, R27 }, \
+ { R30, R31, R32, R33, R34, R35, R36, R37 }, \
+ { R40, R41, R42, R43, R44, R45, XXX, R47 }, \
+ { R50, R51, R52, R53, R54, R55, R56, R57 } \
+}
diff --git a/keyboards/merge/uma/config.h b/keyboards/merge/uma/config.h
index 46bad7185f..99343cc152 100644
--- a/keyboards/merge/uma/config.h
+++ b/keyboards/merge/uma/config.h
@@ -16,18 +16,11 @@
#include "config_common.h"
-#define VENDOR_ID 0x4D65
-#define PRODUCT_ID 0x3232
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Merge
-#define PRODUCT UM-A
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN C6
diff --git a/keyboards/merge/uma/info.json b/keyboards/merge/uma/info.json
index 8cd1ca3ddd..96ed8c0148 100644
--- a/keyboards/merge/uma/info.json
+++ b/keyboards/merge/uma/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UM-A",
+ "manufacturer": "Merge",
"url": "https://mergedesign.store/products/um-a",
"maintainer": "duoshock",
+ "usb": {
+ "vid": "0x4D65",
+ "pid": "0x3232",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi_rspace_2u_bksp": {
"layout": [{"label":"Esc", "x":1.5, "y":0}, {"label":"!", "x":2.5, "y":0}, {"label":"@", "x":3.5, "y":0}, {"label":"#", "x":4.5, "y":0}, {"label":"$", "x":5.5, "y":0}, {"label":"%", "x":6.5, "y":0}, {"label":"^", "x":7.5, "y":0}, {"label":"&", "x":10.5, "y":0}, {"label":"*", "x":11.5, "y":0}, {"label":"(", "x":12.5, "y":0}, {"label":")", "x":13.5, "y":0}, {"label":"_", "x":14.5, "y":0}, {"label":"+", "x":15.5, "y":0}, {"label":"Backspace", "x":16.5, "y":0, "w":2}, {"label":"Encoder", "x":19, "y":0}, {"label":"Tab", "x":1.5, "y":1, "w":1.5}, {"label":"Q", "x":3, "y":1}, {"label":"W", "x":4, "y":1}, {"label":"E", "x":5, "y":1}, {"label":"R", "x":6, "y":1}, {"label":"T", "x":7, "y":1}, {"label":"Y", "x":10, "y":1}, {"label":"U", "x":11, "y":1}, {"label":"I", "x":12, "y":1}, {"label":"O", "x":13, "y":1}, {"label":"P", "x":14, "y":1}, {"label":"{", "x":15, "y":1}, {"label":"}", "x":16, "y":1}, {"label":"|", "x":17, "y":1, "w":1.5}, {"label":"Home", "x":19, "y":1}, {"label":"M0", "x":0, "y":2}, {"label":"Caps Lock", "x":1.5, "y":2, "w":1.75}, {"label":"A", "x":3.25, "y":2}, {"label":"S", "x":4.25, "y":2}, {"label":"D", "x":5.25, "y":2}, {"label":"F", "x":6.25, "y":2}, {"label":"G", "x":7.25, "y":2}, {"label":"H", "x":10.25, "y":2}, {"label":"J", "x":11.25, "y":2}, {"label":"K", "x":12.25, "y":2}, {"label":"L", "x":13.25, "y":2}, {"label":":", "x":14.25, "y":2}, {"label":"\"", "x":15.25, "y":2}, {"label":"Enter", "x":16.25, "y":2, "w":2.25}, {"label":"End", "x":19, "y":2}, {"label":"M1", "x":0, "y":3}, {"label":"Shift", "x":1.5, "y":3, "w":2.25}, {"label":"Z", "x":3.75, "y":3}, {"label":"X", "x":4.75, "y":3}, {"label":"C", "x":5.75, "y":3}, {"label":"V", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"B", "x":9.75, "y":3}, {"label":"N", "x":10.75, "y":3}, {"label":"M", "x":11.75, "y":3}, {"label":"<", "x":12.75, "y":3}, {"label":">", "x":13.75, "y":3}, {"label":"?", "x":14.75, "y":3}, {"label":"Shift", "x":15.75, "y":3, "w":1.75}, {"label":"\u2191", "x":17.75, "y":3.25}, {"label":"M2", "x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Win", "x":2.75, "y":4, "w":1.25}, {"label":"Alt", "x":5.25, "y":4, "w":1.25}, {"x":6.5, "y":4, "w":2.25}, {"x":9.75, "y":4, "w":2.75}, {"label":"Alt", "x":13.5, "y":4, "w":1.5}, {"label":"Ctrl", "x":15, "y":4, "w":1.5}, {"label":"\u2190", "x":16.75, "y":4.25}, {"label":"\u2193", "x":17.75, "y":4.25}, {"label":"\u2192", "x":18.75, "y":4.25}]
diff --git a/keyboards/mesa/mesa_tkl/config.h b/keyboards/mesa/mesa_tkl/config.h
index 348d95a809..8d322d52e7 100644
--- a/keyboards/mesa/mesa_tkl/config.h
+++ b/keyboards/mesa/mesa_tkl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E5A
-#define PRODUCT_ID 0x8001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mesa Keyboards
-#define PRODUCT Mesa TKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D1, D0, B0, C6, C7 }
#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0, B1, B2, B3 }
-#define UNUSED_PINS { B7, E6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mesa/mesa_tkl/info.json b/keyboards/mesa/mesa_tkl/info.json
index c546ae5e97..e1bf4b1dc9 100644
--- a/keyboards/mesa/mesa_tkl/info.json
+++ b/keyboards/mesa/mesa_tkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mesa TKL",
+ "manufacturer": "Mesa Keyboards",
"url": "https://mesakeyboards.com",
"maintainer": "MesaKeyboards",
+ "usb": {
+ "vid": "0x4E5A",
+ "pid": "0x8001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Back Space", "x":13, "y":1.25}, {"label":"Split BkSp", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"NUBS", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Fn", "x":14, "y":4.25}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Win", "x":12.5, "y":5.25}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/meson/config.h b/keyboards/meson/config.h
index 3abeb479a2..0206db4674 100644
--- a/keyboards/meson/config.h
+++ b/keyboards/meson/config.h
@@ -19,20 +19,12 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Luciano M
-#define PRODUCT Meson
-
/* key matrix size */
#define MATRIX_ROWS 8 // 4 rows each half
#define MATRIX_COLS 7
#define MATRIX_ROW_PINS { F7, C6, F6, F5 }
#define MATRIX_COL_PINS { D4, D7, E6, B3, B2, B6, F4 }
-// #define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/meson/info.json b/keyboards/meson/info.json
index fd4fd1b6fc..cc052c37fa 100644
--- a/keyboards/meson/info.json
+++ b/keyboards/meson/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Meson",
+ "manufacturer": "Luciano M",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/metamechs/timberwolf/config.h b/keyboards/metamechs/timberwolf/config.h
index fa0791a8ea..46d62e795d 100644
--- a/keyboards/metamechs/timberwolf/config.h
+++ b/keyboards/metamechs/timberwolf/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D6D // MetaMechs
-#define PRODUCT_ID 0x5754 // TW
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MetaMechs
-#define PRODUCT Timber Wolf
-
/* key matrix size */
#define MATRIX_COLS 9
#define MATRIX_ROWS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_COL_PINS { B2, D1, D2, C7, F5, F6, F7, F0, E6 }
#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4, D5, D3, F4, F1, B1, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/metamechs/timberwolf/info.json b/keyboards/metamechs/timberwolf/info.json
index 602ef358c5..89e5e796b8 100644
--- a/keyboards/metamechs/timberwolf/info.json
+++ b/keyboards/metamechs/timberwolf/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Timber Wolf",
+ "manufacturer": "MetaMechs",
"url": "https://geekhack.org/index.php?topic=102520.0",
"maintainer": "Croktopus",
+ "usb": {
+ "vid": "0x6D6D",
+ "pid": "0x5754",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c
index 7d66af49bc..5727d78784 100644
--- a/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT
),
[1] = LAYOUT_a_ansi(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______ ,
diff --git a/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c
index 78a77d0f83..e10dd0116a 100644
--- a/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT
),
[1] = LAYOUT_a_iso(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,
diff --git a/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c
index 9f435715d5..5155eb2487 100644
--- a/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
),
[1] = LAYOUT_b_ansi(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______,_______,
diff --git a/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c
index 85217a940b..19de0b7b61 100644
--- a/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
),
[1] = LAYOUT_b_iso(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c
index 4a49bdf0ad..bef8809f37 100644
--- a/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
),
[1] = LAYOUT_prime_ansi(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______,_______,
diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c
index 1818ea4a3b..f65bc3bae4 100644
--- a/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c
+++ b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
),
[1] = LAYOUT_prime_iso(
- RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
+ QK_BOOT,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
diff --git a/keyboards/mexsistor/ludmila/config.h b/keyboards/mexsistor/ludmila/config.h
index 431e1a9118..324a1c4baa 100644
--- a/keyboards/mexsistor/ludmila/config.h
+++ b/keyboards/mexsistor/ludmila/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x69CC
-#define PRODUCT_ID 0x6BF6
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kevin M.
-#define PRODUCT Ludmila Macropad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 2
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, C7, F7 }
#define MATRIX_COL_PINS { F4, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mexsistor/ludmila/info.json b/keyboards/mexsistor/ludmila/info.json
index 7df5d57670..d682d3e6cb 100644
--- a/keyboards/mexsistor/ludmila/info.json
+++ b/keyboards/mexsistor/ludmila/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ludmila",
+ "keyboard_name": "Ludmila Macropad",
+ "manufacturer": "Kevin M.",
"url": "",
"maintainer": "Kevin M.",
+ "usb": {
+ "vid": "0x69CC",
+ "pid": "0x6BF6",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mikeneko65/config.h b/keyboards/mikeneko65/config.h
index 33faf278f1..f8be58b6d9 100644
--- a/keyboards/mikeneko65/config.h
+++ b/keyboards/mikeneko65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7934
-#define PRODUCT_ID 0x6D54
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takishim
-#define PRODUCT Mikeneko 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, C7 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, E6, B0, B7, D4, D6, D7, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mikeneko65/info.json b/keyboards/mikeneko65/info.json
index 458b29df48..e7ac610859 100644
--- a/keyboards/mikeneko65/info.json
+++ b/keyboards/mikeneko65/info.json
@@ -1,10 +1,91 @@
{
"keyboard_name": "Mikeneko 65",
+ "manufacturer": "takishim",
"url": "https://github.com/takishim/mikeneko65",
"maintainer": "takishim",
+ "usb": {
+ "vid": "0x7934",
+ "pid": "0x6D54",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_65_ansi_blocker"
+ },
"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, "w":2}, {"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}]
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0, "w":2},
+ {"x":15, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+ {"x":15, "y":1},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+ {"x":15, "y":2},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14, "y":3},
+ {"x":15, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4, "w":1.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":13, "y":4},
+ {"x":14, "y":4},
+ {"x":15, "y":4}
+ ]
}
}
}
diff --git a/keyboards/mikeneko65/keymaps/default/keymap.c b/keyboards/mikeneko65/keymaps/default/keymap.c
index 108ba0beb0..60b46db34a 100644
--- a/keyboards/mikeneko65/keymaps/default/keymap.c
+++ b/keyboards/mikeneko65/keymaps/default/keymap.c
@@ -22,14 +22,14 @@ enum layer_names {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
+ [_BASE] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_LSFT, KC_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(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN] = LAYOUT_all(
+ [_FN] = LAYOUT_65_ansi_blocker(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mikeneko65/keymaps/via/keymap.c b/keyboards/mikeneko65/keymaps/via/keymap.c
index 2b9d125809..b5cc1a0dd1 100644
--- a/keyboards/mikeneko65/keymaps/via/keymap.c
+++ b/keyboards/mikeneko65/keymaps/via/keymap.c
@@ -24,28 +24,28 @@ enum layer_names {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_L0] = LAYOUT_all(
+ [_L0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_LSFT, KC_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(_L1), KC_LEFT, KC_DOWN, KC_RGHT
),
- [_L1] = LAYOUT_all(
+ [_L1] = LAYOUT_65_ansi_blocker(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
- [_L2] = LAYOUT_all(
+ [_L2] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
- [_L3] = LAYOUT_all(
+ [_L3] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mikeneko65/mikeneko65.h b/keyboards/mikeneko65/mikeneko65.h
index 5f4a913fc9..9273b0fdbc 100644
--- a/keyboards/mikeneko65/mikeneko65.h
+++ b/keyboards/mikeneko65/mikeneko65.h
@@ -19,7 +19,7 @@
#include "quantum.h"
-#define LAYOUT_all( \
+#define LAYOUT_65_ansi_blocker( \
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, k213, k214, \
diff --git a/keyboards/mikeneko65/readme.md b/keyboards/mikeneko65/readme.md
index c14889da70..4b70fe18a3 100644
--- a/keyboards/mikeneko65/readme.md
+++ b/keyboards/mikeneko65/readme.md
@@ -18,6 +18,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
ã¶See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mikeneko65/rules.mk b/keyboards/mikeneko65/rules.mk
index 1275531ef6..59fa2e87f8 100644
--- a/keyboards/mikeneko65/rules.mk
+++ b/keyboards/mikeneko65/rules.mk
@@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h
index 57a832dc08..0e784fe527 100644
--- a/keyboards/miller/gm862/config.h
+++ b/keyboards/miller/gm862/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B42
-#define PRODUCT_ID 0x0223
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MILLER
-#define PRODUCT GM862
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -24,7 +17,6 @@
*/
#define MATRIX_ROW_PINS {F0, F1, F4, F5, B4}
#define MATRIX_COL_PINS {B5, B6, C6, C7, F7, F6, B0, B1, B2, B3, B7, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/miller/gm862/info.json b/keyboards/miller/gm862/info.json
index 5c784d1a18..189aba686b 100644
--- a/keyboards/miller/gm862/info.json
+++ b/keyboards/miller/gm862/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "GM862",
+ "manufacturer": "MILLER",
"url": "",
"maintainer": "MILLER",
+ "usb": {
+ "vid": "0x4B42",
+ "pid": "0x0223",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/millipad/config.h b/keyboards/millipad/config.h
index cfc91a2a16..7c0aa209c1 100644
--- a/keyboards/millipad/config.h
+++ b/keyboards/millipad/config.h
@@ -19,13 +19,6 @@ 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 0x1A1B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jirou
-#define PRODUCT millipad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/millipad/info.json b/keyboards/millipad/info.json
index a50f69aa6f..4f0318ce65 100644
--- a/keyboards/millipad/info.json
+++ b/keyboards/millipad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "millipad",
+ "manufacturer": "Jirou",
"url": "https://github.com/GLozares/millipad",
"maintainer": "Jirou",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1A1B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mincedshon/ecila/config.h b/keyboards/mincedshon/ecila/config.h
new file mode 100644
index 0000000000..ebb1227f93
--- /dev/null
+++ b/keyboards/mincedshon/ecila/config.h
@@ -0,0 +1,37 @@
+// Copyright 2022 mincedshon (@mincedshon)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/*Bootmagic boot button, set to topmost, leftmost key */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* encoder */
+/* #define NUMBER_OF_ENCODERS 1 */
+//#define ENCODERS_PAD_A { D3 }
+//#define ENCODERS_PAD_B { D2 }
+//#define ENCODER_RESOLUTION 1
+
+//#define LED_NUM_LOCK_PIN D4
+//#define LED_CAPS_LOCK_PIN D6
+
+#define RGB_DI_PIN B0
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 6
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 150
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/mincedshon/ecila/ecila.c b/keyboards/mincedshon/ecila/ecila.c
new file mode 100644
index 0000000000..909de998c9
--- /dev/null
+++ b/keyboards/mincedshon/ecila/ecila.c
@@ -0,0 +1,4 @@
+// Copyright 2022 mincedshon (@mincedshon)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "ecila.h"
diff --git a/keyboards/mincedshon/ecila/ecila.h b/keyboards/mincedshon/ecila/ecila.h
new file mode 100644
index 0000000000..5d03c58eca
--- /dev/null
+++ b/keyboards/mincedshon/ecila/ecila.h
@@ -0,0 +1,20 @@
+// Copyright 2022 mincedshon (@mincedshon)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, \
+ k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, \
+ k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, \
+ k59, k60, k61, k62, k63, k64, k65, k66, k67 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14 }, \
+ { k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, KC_NO, k43 }, \
+ { k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
+ { KC_NO, k59, KC_NO, k60, KC_NO, k61, k62, KC_NO, k63, KC_NO, k64, KC_NO, k65, k66, k67 } \
+}
diff --git a/keyboards/mincedshon/ecila/info.json b/keyboards/mincedshon/ecila/info.json
new file mode 100644
index 0000000000..277cb6f9b9
--- /dev/null
+++ b/keyboards/mincedshon/ecila/info.json
@@ -0,0 +1,39 @@
+{
+ "keyboard_name": "ecila",
+ "manufacturer": "mincedshon",
+ "maintainer": "mincedshon",
+ "usb": {
+ "vid": "0x534B",
+ "pid": "0x534B",
+ "device_version": "0.0.1"
+ },
+ "bootloader": "atmel-dfu",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": [ "B6", "F7", "F6", "F5", "F4", "F1", "F0", "D6", "B7", "D0", "D1", "D2", "D3", "D5", "D4" ],
+ "rows": [ "E6", "B3", "B5", "B4", "D7" ]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "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.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"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, "w":2},
+ {"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.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1}, {"x":14.5, "y":1}, {"x":15.5, "y":1}, {"x":16.5, "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":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2}, {"x":14.75, "y":2}, {"x":15.75, "y":2, "w":2.25},
+ {"x":0, "y":3}, {"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.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.65, "y":3.25}, {"x":17, "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}, {"x":9.25, "y":4, "w":2.75}, {"x":12, "y":4}, {"x":14.65, "y":4.25}, {"x":15.65, "y":4.25}, {"x":16.65, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mincedshon/ecila/keymaps/default/keymap.c b/keyboards/mincedshon/ecila/keymaps/default/keymap.c
new file mode 100644
index 0000000000..082b8133df
--- /dev/null
+++ b/keyboards/mincedshon/ecila/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/*
+Copyright 2022 Sean Tan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// 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] = LAYOUT(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_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_DEL, 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_UP, KC_DEL,
+ KC_LCTL, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT
+
+ ),
+ [_FN] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_VAD, RGB_VAI, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+
+ )
+
+};
diff --git a/keyboards/mincedshon/ecila/keymaps/via/keymap.c b/keyboards/mincedshon/ecila/keymaps/via/keymap.c
new file mode 100644
index 0000000000..60bb6a37df
--- /dev/null
+++ b/keyboards/mincedshon/ecila/keymaps/via/keymap.c
@@ -0,0 +1,62 @@
+/*
+Copyright 2022 Sean Tan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN,
+ _L3,
+ _L4
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_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_DEL, 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_UP, KC_DEL,
+ KC_LCTL, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT
+
+ ),
+ [_FN] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_VAD, RGB_VAI, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+
+ ),
+ [_L3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_VAD, RGB_VAI, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+
+ ),
+ [_L4] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, RGB_TOG,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_VAD, RGB_VAI, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+
+ )
+
+};
diff --git a/keyboards/mincedshon/ecila/keymaps/via/rules.mk b/keyboards/mincedshon/ecila/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/mincedshon/ecila/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/mincedshon/ecila/readme.md b/keyboards/mincedshon/ecila/readme.md
new file mode 100644
index 0000000000..fcea170710
--- /dev/null
+++ b/keyboards/mincedshon/ecila/readme.md
@@ -0,0 +1,25 @@
+# ecila
+
+An Alice layout with arrow cluster
+
+* Keyboard Maintainer: [mincedshon](https://github.com/mincedshon)
+* Hardware Supported: ecila
+* Hardware Availability: noooooooo
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mincedshon/ecila:default
+
+Flashing example for this keyboard:
+
+ make mincedshon/ecila:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mincedshon/ecila/rules.mk b/keyboards/mincedshon/ecila/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/mincedshon/ecila/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/mini_elixivy/config.h b/keyboards/mini_elixivy/config.h
index 863934df6b..529414f2c2 100644
--- a/keyboards/mini_elixivy/config.h
+++ b/keyboards/mini_elixivy/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER minibois
-#define PRODUCT mini_elixivy
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F7, F5, F4, F1, F0, B7, D0, D1, D2, D3, D4, D6, D7, B4, C6 }
#define ENCODERS_PAD_A { B0 }
#define ENCODERS_PAD_B { D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mini_elixivy/info.json b/keyboards/mini_elixivy/info.json
index 44143a3c1b..6c6f962127 100644
--- a/keyboards/mini_elixivy/info.json
+++ b/keyboards/mini_elixivy/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mini_elixivy",
+ "manufacturer": "minibois",
"url": "https://github.com/minibois/elixivy",
"maintainer": "minibois",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout":[
diff --git a/keyboards/mini_ten_key_plus/config.h b/keyboards/mini_ten_key_plus/config.h
index c8a44356f2..cb70a7d790 100644
--- a/keyboards/mini_ten_key_plus/config.h
+++ b/keyboards/mini_ten_key_plus/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER minibois
-#define PRODUCT mini_ten_key_plus
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F5, F4, B6, D7, C6 }
#define ENCODERS_PAD_A { F7 }
#define ENCODERS_PAD_B { F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mini_ten_key_plus/info.json b/keyboards/mini_ten_key_plus/info.json
index cf3916bb68..b596fe5f48 100644
--- a/keyboards/mini_ten_key_plus/info.json
+++ b/keyboards/mini_ten_key_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mini_ten_key_plus",
+ "manufacturer": "minibois",
"url": "https://github.com/minibois/ten-key-plus",
"maintainer": "minibois",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout":[
diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h
index 3c0ddf9074..99ebf5b9af 100644
--- a/keyboards/miniaxe/config.h
+++ b/keyboards/miniaxe/config.h
@@ -19,13 +19,6 @@ 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 0x3939
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ENDO Katsuhiro
-#define PRODUCT MiniAxe
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -49,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F6, F7, C7, D5, D3 }, \
{ B5, C6, B6, NO_PIN, NO_PIN } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
////#define DIODE_DIRECTION
diff --git a/keyboards/miniaxe/info.json b/keyboards/miniaxe/info.json
index 40c9def62c..9780ffe554 100644
--- a/keyboards/miniaxe/info.json
+++ b/keyboards/miniaxe/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MiniAxe",
+ "manufacturer": "ENDO Katsuhiro",
"url": "",
"maintainer": "ka2hiro",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3939",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Cmd", "x":2, "y":3}, {"label":"&dArr;", "x":3, "y":3}, {"label":"Ctrl", "x":4, "y":3}, {"x":6, "y":3}, {"label":"&uArr;", "x":7, "y":3}, {"label":"Opt", "x":8, "y":3}]
diff --git a/keyboards/miniaxe/keymaps/default/keymap.c b/keyboards/miniaxe/keymaps/default/keymap.c
index 45e1e131e8..81f8004e69 100644
--- a/keyboards/miniaxe/keymaps/default/keymap.c
+++ b/keyboards/miniaxe/keymaps/default/keymap.c
@@ -16,10 +16,12 @@
#include QMK_KEYBOARD_H
// Defines the keycodes used by our macros in process_record_user
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/miniaxe/keymaps/underglow/keymap.c b/keyboards/miniaxe/keymaps/underglow/keymap.c
index 362b29c608..31a7ccddf9 100644
--- a/keyboards/miniaxe/keymaps/underglow/keymap.c
+++ b/keyboards/miniaxe/keymaps/underglow/keymap.c
@@ -16,10 +16,12 @@
#include QMK_KEYBOARD_H
// Defines the keycodes used by our macros in process_record_user
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
@@ -103,7 +105,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, \
KC_F11, KC_F12, RGB_RMOD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, \
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, \
_______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/minimacro5/config.h b/keyboards/minimacro5/config.h
index b48b5df21e..2dcc91f7ce 100644
--- a/keyboards/minimacro5/config.h
+++ b/keyboards/minimacro5/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER leafcutterlabs
-#define PRODUCT miniMACRO5
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -49,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//speed for double tap
#define TAPPING_TERM 200
-#define UNUSED_PINS
/* rotary encoder 1,2,3 closest to usb port is 0*/
#define ENCODERS_PAD_B { D3, F6, F7, D4, C6}
diff --git a/keyboards/minimacro5/info.json b/keyboards/minimacro5/info.json
index 5649c57de4..0dba5c0e6c 100644
--- a/keyboards/minimacro5/info.json
+++ b/keyboards/minimacro5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "minimacro5",
+ "keyboard_name": "miniMACRO5",
+ "manufacturer": "leafcutterlabs",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x5": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":5, "y":0}]
diff --git a/keyboards/minimacro5/keymaps/devdev/keymap.c b/keyboards/minimacro5/keymaps/devdev/keymap.c
index d7f998fa3a..3c203fcc37 100644
--- a/keyboards/minimacro5/keymaps/devdev/keymap.c
+++ b/keyboards/minimacro5/keymaps/devdev/keymap.c
@@ -37,7 +37,7 @@ enum tap_dances{
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder*/
- switch(biton32(layer_state)){
+ switch(get_highest_layer(layer_state)){
case _MAIN:
if (clockwise) {
tap_code(KC_VOLU);
diff --git a/keyboards/minimon/index_tab/config.h b/keyboards/minimon/index_tab/config.h
index fc02185545..21ad0c08b7 100644
--- a/keyboards/minimon/index_tab/config.h
+++ b/keyboards/minimon/index_tab/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B49
-#define PRODUCT_ID 0x1306
-#define DEVICE_VER 0x0001
-#define PRODUCT Index Tab
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 13
@@ -31,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, B7, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D2, F1, F0 }
-#define UNUSED_PINS { F4, F5, F6, D1, D0 }
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/minimon/index_tab/info.json b/keyboards/minimon/index_tab/info.json
index 209d3044fe..604c3881e1 100644
--- a/keyboards/minimon/index_tab/info.json
+++ b/keyboards/minimon/index_tab/info.json
@@ -1,10 +1,14 @@
{
"keyboard_name": "Index Tab",
- "maintainer": "kyrremann",
"url": "https://github.com/Kyrremann/index-tab",
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_6x13"
},
+ "usb": {
+ "vid": "0x4B49",
+ "pid": "0x1306",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x13": {
"layout": [
diff --git a/keyboards/mino/hotswap/config.h b/keyboards/mino/hotswap/config.h
index 27ec49f379..39042bfcff 100644
--- a/keyboards/mino/hotswap/config.h
+++ b/keyboards/mino/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7877
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ShandonCodes
-#define PRODUCT Mino
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, C6, D4, D2}
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mino/hotswap/info.json b/keyboards/mino/hotswap/info.json
index 996dcf3b62..32231595ae 100644
--- a/keyboards/mino/hotswap/info.json
+++ b/keyboards/mino/hotswap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mino",
+ "manufacturer": "ShandonCodes",
"url": "https://qmk.fm/keyboards/",
"maintainer": "ShandonCodes",
+ "usb": {
+ "vid": "0x7877",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/mino/readme.md b/keyboards/mino/readme.md
index a6a725b2a0..e13718b86c 100644
--- a/keyboards/mino/readme.md
+++ b/keyboards/mino/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. For the default keymap it is the middle spacebar on the second layer.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. For the default keymap it is the middle spacebar on the second layer.
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/mint60/config.h b/keyboards/mint60/config.h
index ee44ae446b..fa13775f24 100644
--- a/keyboards/mint60/config.h
+++ b/keyboards/mint60/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Eucalyn
-#define PRODUCT Mint60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { D4, B3, B1, F7, B2, B6, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mint60/info.json b/keyboards/mint60/info.json
index 377b134c74..e0deae38ee 100644
--- a/keyboards/mint60/info.json
+++ b/keyboards/mint60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mint60",
+ "manufacturer": "Eucalyn",
"url": "",
"maintainer": "eucalyn",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/misonoworks/chocolatebar/config.h b/keyboards/misonoworks/chocolatebar/config.h
index a1da636fd9..438ed237e7 100644
--- a/keyboards/misonoworks/chocolatebar/config.h
+++ b/keyboards/misonoworks/chocolatebar/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D77 // "mW" - misonoWorks
-#define PRODUCT_ID 0xC456
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MisonoWorks
-#define PRODUCT Chocolate Bar
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B7, D2, D3 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/misonoworks/chocolatebar/info.json b/keyboards/misonoworks/chocolatebar/info.json
index d22d9da7ac..409b1119b7 100644
--- a/keyboards/misonoworks/chocolatebar/info.json
+++ b/keyboards/misonoworks/chocolatebar/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chocolate Bar",
+ "manufacturer": "MisonoWorks",
"url": "https://github.com/misonoworks/chocolate-bar",
"maintainer": "Robin Bayardo",
+ "usb": {
+ "vid": "0x6D77",
+ "pid": "0xC456",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/misonoworks/karina/config.h b/keyboards/misonoworks/karina/config.h
index 6cd5f20e89..9460bff0be 100644
--- a/keyboards/misonoworks/karina/config.h
+++ b/keyboards/misonoworks/karina/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-// descriptors
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xC456
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MisonoWorks
-#define PRODUCT Karina
-
// matrix
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// pins
#define MATRIX_ROW_PINS { D2, D3, D5, F0 }
#define MATRIX_COL_PINS { B3, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6}
-#define UNUSED_PINS
// diode mode
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/misonoworks/karina/info.json b/keyboards/misonoworks/karina/info.json
index bfa4944c74..b76a16e7e7 100644
--- a/keyboards/misonoworks/karina/info.json
+++ b/keyboards/misonoworks/karina/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Karina",
+ "manufacturer": "MisonoWorks",
"url": "https://github.com/autumnisacutie/karina",
"maintainer": "MisonoWorks",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC456",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/misterknife/knife66/config.h b/keyboards/misterknife/knife66/config.h
index 0dd85dfdfc..6f8fa4836d 100644
--- a/keyboards/misterknife/knife66/config.h
+++ b/keyboards/misterknife/knife66/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC11
-#define PRODUCT_ID 0x4172
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MisterKnife
-#define PRODUCT Knife66
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/misterknife/knife66/info.json b/keyboards/misterknife/knife66/info.json
index 983811fe31..7ed334ee92 100644
--- a/keyboards/misterknife/knife66/info.json
+++ b/keyboards/misterknife/knife66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Knife66",
+ "manufacturer": "MisterKnife",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xAC11",
+ "pid": "0x4172",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15.5, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14.25, "y":3.25}, {"x":15.5, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":2.25, "y":4}, {"x":3.25, "y":4, "w":1.25}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4, "w":2.75}, {"x":9.5, "y":4, "w":1.25}, {"x":10.75, "y":4}, {"x":11.75, "y":4, "w":1.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}]
diff --git a/keyboards/misterknife/knife66_iso/config.h b/keyboards/misterknife/knife66_iso/config.h
index 0c390e8593..4b3b858075 100644
--- a/keyboards/misterknife/knife66_iso/config.h
+++ b/keyboards/misterknife/knife66_iso/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAC11
-#define PRODUCT_ID 0x4173
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MisterKnife
-#define PRODUCT Knife66 ISO
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/misterknife/knife66_iso/info.json b/keyboards/misterknife/knife66_iso/info.json
index 6411a480ee..da475626a4 100644
--- a/keyboards/misterknife/knife66_iso/info.json
+++ b/keyboards/misterknife/knife66_iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Knife66_iso",
+ "keyboard_name": "Knife66 ISO",
+ "manufacturer": "MisterKnife",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xAC11",
+ "pid": "0x4173",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h
index 5c2a0b9657..1310866fbb 100644
--- a/keyboards/mitosis/config.h
+++ b/keyboards/mitosis/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unknown
-#define PRODUCT Mitosis
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
diff --git a/keyboards/mitosis/info.json b/keyboards/mitosis/info.json
index a5a45ddf9b..07d3c8f5ec 100644
--- a/keyboards/mitosis/info.json
+++ b/keyboards/mitosis/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mitosis",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.75}, {"x":1, "y":0.25}, {"x":2, "y":0}, {"x":3, "y":0.25}, {"x":4, "y":0.125}, {"x":7, "y":0.125}, {"x":8, "y":0.25}, {"x":9, "y":0}, {"x":10, "y":0.25}, {"x":11, "y":0.75}, {"x":0, "y":1.75}, {"x":1, "y":1.25}, {"x":2, "y":1}, {"x":3, "y":1.25}, {"x":4, "y":1.125}, {"x":7, "y":1.125}, {"x":8, "y":1.25}, {"x":9, "y":1}, {"x":10, "y":1.25}, {"x":11, "y":1.75}, {"x":0, "y":2.75}, {"x":1, "y":2.25}, {"x":2, "y":2}, {"x":3, "y":2.25}, {"x":4, "y":2.125}, {"x":7, "y":2.125}, {"x":8, "y":2.25}, {"x":9, "y":2}, {"x":10, "y":2.25}, {"x":11, "y":2.75}, {"x":1.5, "y":3.75}, {"x":2.5, "y":3.75}, {"x":3.5, "y":3.75}, {"x":4.5, "y":3.75}, {"x":6.5, "y":3.75}, {"x":7.5, "y":3.75}, {"x":8.5, "y":3.75}, {"x":9.5, "y":3.75}, {"x":1.5, "y":4.75}, {"x":2.5, "y":4.75}, {"x":3.5, "y":4.75}, {"x":4.5, "y":4.75}, {"x":6.5, "y":4.75}, {"x":7.5, "y":4.75}, {"x":8.5, "y":4.75}, {"x":9.5, "y":4.75}]
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
index c67f2e387c..842556324f 100644
--- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c
+++ b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _STD:
@@ -121,4 +121,3 @@ void matrix_scan_user(void) {
break;
}
};
-
diff --git a/keyboards/mitosis/keymaps/datagrok/keymap.c b/keyboards/mitosis/keymaps/datagrok/keymap.c
index 220c140af0..7c77eb882f 100644
--- a/keyboards/mitosis/keymaps/datagrok/keymap.c
+++ b/keyboards/mitosis/keymaps/datagrok/keymap.c
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*, */ _______, _______, TT(_xF), _______, _______, TT(_xF), KC_0, KC_DOT,
/*, */ _______, _______, _______, _______, _______, _______, _______, _______),
[_xF] = LAYOUT(
- RESET, KC_INS, KC_PGUP, DEBUG, KC_VOLU, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ QK_BOOT, KC_INS, KC_PGUP, DEBUG, KC_VOLU, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
CK_TOGG, KC_HOME, KC_PGDN, KC_END, KC_VOLD, KC_NLCK, KC_P4, KC_P5, KC_P6, KC_PENT,
KC_LAYO, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS,
/*, */ CK_UP, MU_TOG, _______, _______, _______, _______, KC_P0, KC_PDOT,
@@ -102,7 +102,7 @@ const size_t defaultlayers_n = sizeof(defaultlayers) / sizeof(defaultlayers[0]);
// New keycode KC_LAYO rotates between available default layers (for e.g.,
// selecting a base layout). Shift+KC_LAYO makes the current one persistent.
bool process_record_layout(uint16_t keycode, keyrecord_t *record) {
- uint32_t default_layer;
+ uint8_t default_layer;
uint8_t i;
#if defined(AUDIO_ENABLE)
float saved_song[][2] = SONG(COIN_SOUND);
@@ -121,7 +121,7 @@ bool process_record_layout(uint16_t keycode, keyrecord_t *record) {
} else {
// rotate default layer.
// find the current default layer
- default_layer = biton32(default_layer_state);
+ default_layer = get_highest_layer(default_layer_state);
// find next valid default layer
for (i = 1; i < defaultlayers_n; i++) {
if (defaultlayers[(default_layer + i) % defaultlayers_n]) {
diff --git a/keyboards/mitosis/keymaps/default/keymap.c b/keyboards/mitosis/keymaps/default/keymap.c
index 6132ad6f78..27b2eb2525 100644
--- a/keyboards/mitosis/keymaps/default/keymap.c
+++ b/keyboards/mitosis/keymaps/default/keymap.c
@@ -77,7 +77,7 @@ static bool singular_key = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
uint8_t layer;
- layer = biton32(layer_state); // get the current layer
+ layer = get_highest_layer(layer_state); // get the current layer
//custom layer handling for tri_layer,
switch (keycode) {
@@ -174,7 +174,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _MALT:
@@ -193,4 +193,3 @@ void matrix_scan_user(void) {
break;
}
};
-
diff --git a/keyboards/mitosis/keymaps/mjt/keymap.c b/keyboards/mitosis/keymaps/mjt/keymap.c
index f00bf59556..e9e9a2ba42 100644
--- a/keyboards/mitosis/keymaps/mjt/keymap.c
+++ b/keyboards/mitosis/keymaps/mjt/keymap.c
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( /* Adjust layer for fancy stuff and macros */
- RESET, FNPC, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______,
+ QK_BOOT, FNPC, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______,
FNMAC, _______, AU_ON, AU_OFF, _______, _______, _______, _______, MACSLEEP, _______,
MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
__MOD__, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______,
@@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
}
uint8_t layer;
- layer = biton32(layer_state); // get the current layer
+ layer = get_highest_layer(layer_state); // get the current layer
//custom layer handling for tri_layer,
switch (keycode) {
@@ -310,7 +310,7 @@ void music_scale_user(void)
#endif
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
index d9fd3641bc..c981441bc9 100644
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ b/keyboards/mitosis/keymaps/nzen/keymap.c
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
@@ -205,5 +205,3 @@ void matrix_scan_user(void) {
void matrix_init_user(void) {
set_unicode_input_mode(UC_LNX); // or UC_WINC
};
-
-
diff --git a/keyboards/miuni32/config.h b/keyboards/miuni32/config.h
index cf8b875b2f..19e55934e6 100644
--- a/keyboards/miuni32/config.h
+++ b/keyboards/miuni32/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bigtuna.io
-#define PRODUCT Miuni32
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 11
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F4, D7}
#define MATRIX_COL_PINS { C6, C7, F7, F6, F1, E6, B7, B3, B2, B1, B0}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/miuni32/info.json b/keyboards/miuni32/info.json
index 016c772f19..b9ee96c755 100644
--- a/keyboards/miuni32/info.json
+++ b/keyboards/miuni32/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "miuni32",
+ "keyboard_name": "Miuni32",
+ "manufacturer": "Bigtuna.io",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}]
diff --git a/keyboards/miuni32/keymaps/adam-lee/keymap.c b/keyboards/miuni32/keymaps/adam-lee/keymap.c
index 87519de546..d6f5f40fdd 100644
--- a/keyboards/miuni32/keymaps/adam-lee/keymap.c
+++ b/keyboards/miuni32/keymaps/adam-lee/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Level 3: RGB Layer
* ,---------------------------------------------------------------------------------------.
- * | RESET | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
+ * | QK_BOOT | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
* |---------------------------------------------------------------------------------------|
* |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD| NO |RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD| TRNS | TRNS |
* |---------------------------------------------------------------------------------------|
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------------------------------------------------------------------------------------|
*/
[3] = LAYOUT(
- RESET, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ QK_BOOT, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______,
_______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
)
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c b/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
index d7979bc464..bae9ed4f4a 100644
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
+++ b/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Level 4: F-keys and Media Layer
* ,---------------------------------------------------------------------------------------.
- * | RESET | MUTE | VOLU | MPLY | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
+ * | QK_BOOT | MUTE | VOLU | MPLY | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
* |---------------------------------------------------------------------------------------|
* | LGUI | MPRV | VOLD | MNXT | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TG(4) |
* |---------------------------------------------------------------------------------------|
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------------------------------------------------------------------------------------|
*/
[4] = LAYOUT(
- RESET, KC_MUTE, KC_VOLU, KC_MPLY, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ QK_BOOT, KC_MUTE, KC_VOLU, KC_MPLY, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_LGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(4),
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
),
diff --git a/keyboards/miuni32/keymaps/ht_156/keymap.c b/keyboards/miuni32/keymaps/ht_156/keymap.c
index 54e4bcf52d..f0cbc2c659 100644
--- a/keyboards/miuni32/keymaps/ht_156/keymap.c
+++ b/keyboards/miuni32/keymaps/ht_156/keymap.c
@@ -45,14 +45,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,---------------------------------------------------------------------------------------.
* | ! | @ | # | $ | % | ^ | & | * | _ | = | ? |
* |---------------------------------------------------------------------------------------|
- * | RESET | LSFT | ~ | { | } | \ | | | ; | : | ` | " |
+ * | QK_BOOT | LSFT | ~ | { | } | \ | | | ; | : | ` | " |
* |---------------------------------------------------------------------------------------|
* | !TRNS!| LCTL | TRNS | [ | ] | TAB | < | > | TRNS | RCTL | TRNS |
* |---------------------------------------------------------------------------------------|
*/
[SYMBOLS] = LAYOUT_ortho_3x11(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_EQL, KC_QUES,
- RESET, KC_LSFT, KC_TILD, KC_LCBR, KC_RCBR, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_GRV, KC_DQUO,
+ QK_BOOT, KC_LSFT, KC_TILD, KC_LCBR, KC_RCBR, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_GRV, KC_DQUO,
_______, KC_LCTL, _______, KC_LBRC, KC_RBRC, KC_TAB, KC_LABK, KC_RABK, _______, KC_RCTL, _______
),
/* Level 3: Media Layer
diff --git a/keyboards/miuni32/keymaps/kifinnsson/keymap.c b/keyboards/miuni32/keymaps/kifinnsson/keymap.c
index 59d2e285cb..3ce4e14575 100644
--- a/keyboards/miuni32/keymaps/kifinnsson/keymap.c
+++ b/keyboards/miuni32/keymaps/kifinnsson/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Union
* ,---------------------------------------------------------------------------------------.
- * | RESET | | | | | | | | | | Del |
+ * | QK_BOOT | | | | | | | | | | Del |
* |---------------------------------------------------------------------------------------|
* | | | | | | | | | | | |
* |---------------------------------------------------------------------------------------|
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------------------------------------------------------------------------------------|
*/
[_UNION] = LAYOUT_ortho_3x11(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/mixi/config.h b/keyboards/mixi/config.h
index c5cac8ca6e..e833357945 100644
--- a/keyboards/mixi/config.h
+++ b/keyboards/mixi/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4752
-#define PRODUCT_ID 0x4D49
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gregorio
-#define PRODUCT Mixi
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/mixi/info.json b/keyboards/mixi/info.json
index 6b55464aa1..c1f60e8ee7 100644
--- a/keyboards/mixi/info.json
+++ b/keyboards/mixi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mixi",
+ "manufacturer": "gregorio",
"url": "https://tokopedia.com/sell-stuffs",
"maintainer": "ohchiko",
+ "usb": {
+ "vid": "0x4752",
+ "pid": "0x4D49",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ml/gas75/config.h b/keyboards/ml/gas75/config.h
index 4afc29952b..82d8c134a0 100644
--- a/keyboards/ml/gas75/config.h
+++ b/keyboards/ml/gas75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0B0
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ML
-#define PRODUCT Gas75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -45,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Larger keys per scan */
-#define QMK_KEYS_PER_SCAN 12
-
/* Encoder pins */
#define ENCODERS_PAD_A { F0 }
#define ENCODERS_PAD_B { F1 }
diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json
index e6084a1835..4810c22d7e 100644
--- a/keyboards/ml/gas75/info.json
+++ b/keyboards/ml/gas75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gas75",
+ "manufacturer": "ML",
"url": "https://item.taobao.com/item.htm?ft=t&id=652142230132",
"maintainer": "ML",
+ "usb": {
+ "vid": "0xC0B0",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ml/gas75/readme.md b/keyboards/ml/gas75/readme.md
index fcf5350384..8c5854e1d7 100644
--- a/keyboards/ml/gas75/readme.md
+++ b/keyboards/ml/gas75/readme.md
@@ -22,4 +22,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mlego/m48/config.h b/keyboards/mlego/m48/config.h
index 879108d238..29bc9f07e7 100644
--- a/keyboards/mlego/m48/config.h
+++ b/keyboards/mlego/m48/config.h
@@ -17,11 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBABA
-#define MANUFACTURER alin elena
-#define PRODUCT m48
-
#define MATRIX_ROWS 4 // Rows are doubled-up
#define MATRIX_COLS 12
diff --git a/keyboards/mlego/m48/info.json b/keyboards/mlego/m48/info.json
index d22cfc54fd..c67c06fb76 100644
--- a/keyboards/mlego/m48/info.json
+++ b/keyboards/mlego/m48/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "mlego/m48",
+ "keyboard_name": "48",
+ "manufacturer": "alin elena",
"url": "https://gitlab.com/m-lego/m48",
"maintainer": "alin elena",
+ "usb": {
+ "vid": "0xBABA"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c
index 5eb40a332a..175f42b9b9 100644
--- a/keyboards/mlego/m48/keymaps/default/keymap.c
+++ b/keyboards/mlego/m48/keymaps/default/keymap.c
@@ -106,10 +106,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJ] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
- _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/mlego/m48/rev1/config.h b/keyboards/mlego/m48/rev1/config.h
index dcca34c95e..b0fa3e95a5 100644
--- a/keyboards/mlego/m48/rev1/config.h
+++ b/keyboards/mlego/m48/rev1/config.h
@@ -17,10 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6261
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS \
{ A6, A7, B0, B10 }
#define MATRIX_COL_PINS \
@@ -55,7 +51,3 @@
#define RGBLIGHT_EFFECT_TWINKLE
#endif
-
-#define UNUSED_PINS
-// you want to comment this if using stm32-dfu as bootloader
-#define FEE_PAGE_BASE_ADDRESS 0x08008000
diff --git a/keyboards/mlego/m48/rev1/info.json b/keyboards/mlego/m48/rev1/info.json
new file mode 100644
index 0000000000..68c73096c4
--- /dev/null
+++ b/keyboards/mlego/m48/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6261",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld b/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld
deleted file mode 100644
index daec7d8583..0000000000
--- a/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * STM32F401xE memory setup.
- */
-MEMORY
-{
- flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
- flash1 (rx) : org = 0x08004000, len = 16k
- flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
- flash3 (rx) : org = 0x0800C000, len = 16k
- flash4 (rx) : org = 0x08010000, len = 512k - 64k
- flash5 (rx) : org = 0x00000000, len = 0
- flash6 (rx) : org = 0x00000000, len = 0
- flash7 (rx) : org = 0x00000000, len = 0
- ram0 (wx) : org = 0x20000000, len = 96k
- ram1 (wx) : org = 0x00000000, len = 0
- ram2 (wx) : org = 0x00000000, len = 0
- ram3 (wx) : org = 0x00000000, len = 0
- ram4 (wx) : org = 0x00000000, len = 0
- ram5 (wx) : org = 0x00000000, len = 0
- ram6 (wx) : org = 0x00000000, len = 0
- ram7 (wx) : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash4);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash4);
-REGION_ALIAS("XTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash4);
-REGION_ALIAS("TEXT_FLASH_LMA", flash4);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash4);
-REGION_ALIAS("RODATA_FLASH_LMA", flash4);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash4);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash4);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
-
-/* TinyUF2 bootloader reset support */
-_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
diff --git a/keyboards/mlego/m48/rev1/rules.mk b/keyboards/mlego/m48/rev1/rules.mk
index da2734ff63..20a1e60817 100644
--- a/keyboards/mlego/m48/rev1/rules.mk
+++ b/keyboards/mlego/m48/rev1/rules.mk
@@ -1,10 +1,9 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
-MCU_LDSCRIPT = STM32F401xE
-EEPROM_DRIVER = vendor
#BOOTLOADER = stm32-dfu
# Build Options
diff --git a/keyboards/mlego/m60/config.h b/keyboards/mlego/m60/config.h
index abce0cb5f8..6cf70e5c41 100644
--- a/keyboards/mlego/m60/config.h
+++ b/keyboards/mlego/m60/config.h
@@ -17,11 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBABA
-#define MANUFACTURER alin elena
-#define PRODUCT m60
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/mlego/m60/info.json b/keyboards/mlego/m60/info.json
index 12924b5ea6..fc1a46cc23 100644
--- a/keyboards/mlego/m60/info.json
+++ b/keyboards/mlego/m60/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "mlego/m60",
+ "keyboard_name": "m60",
+ "manufacturer": "alin elena",
"url": "https://gitlab.com/m-lego/m60",
"maintainer": "alin elena",
+ "usb": {
+ "vid": "0xBABA"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}]
diff --git a/keyboards/mlego/m60/rev1/config.h b/keyboards/mlego/m60/rev1/config.h
index 437e605149..7507dcd427 100644
--- a/keyboards/mlego/m60/rev1/config.h
+++ b/keyboards/mlego/m60/rev1/config.h
@@ -17,10 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6161
-#define DEVICE_VER 0x0001
-
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN C13
@@ -55,7 +51,3 @@
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#endif
-
-#define UNUSED_PINS
-// you want to comment this if using stm32-dfu as bootloader
-#define FEE_PAGE_BASE_ADDRESS 0x08008000
diff --git a/keyboards/mlego/m60/rev1/info.json b/keyboards/mlego/m60/rev1/info.json
new file mode 100644
index 0000000000..865399a460
--- /dev/null
+++ b/keyboards/mlego/m60/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6161",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m60/rev1/ld/STM32F401xE.ld b/keyboards/mlego/m60/rev1/ld/STM32F401xE.ld
deleted file mode 100644
index daec7d8583..0000000000
--- a/keyboards/mlego/m60/rev1/ld/STM32F401xE.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * STM32F401xE memory setup.
- */
-MEMORY
-{
- flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
- flash1 (rx) : org = 0x08004000, len = 16k
- flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
- flash3 (rx) : org = 0x0800C000, len = 16k
- flash4 (rx) : org = 0x08010000, len = 512k - 64k
- flash5 (rx) : org = 0x00000000, len = 0
- flash6 (rx) : org = 0x00000000, len = 0
- flash7 (rx) : org = 0x00000000, len = 0
- ram0 (wx) : org = 0x20000000, len = 96k
- ram1 (wx) : org = 0x00000000, len = 0
- ram2 (wx) : org = 0x00000000, len = 0
- ram3 (wx) : org = 0x00000000, len = 0
- ram4 (wx) : org = 0x00000000, len = 0
- ram5 (wx) : org = 0x00000000, len = 0
- ram6 (wx) : org = 0x00000000, len = 0
- ram7 (wx) : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash4);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash4);
-REGION_ALIAS("XTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash4);
-REGION_ALIAS("TEXT_FLASH_LMA", flash4);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash4);
-REGION_ALIAS("RODATA_FLASH_LMA", flash4);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash4);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash4);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
-
-/* TinyUF2 bootloader reset support */
-_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
diff --git a/keyboards/mlego/m60/rev1/rules.mk b/keyboards/mlego/m60/rev1/rules.mk
index 6b119a1f37..6c3ff56a08 100644
--- a/keyboards/mlego/m60/rev1/rules.mk
+++ b/keyboards/mlego/m60/rev1/rules.mk
@@ -1,11 +1,10 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
#BOOTLOADER = stm32-dfu
-MCU_LDSCRIPT = STM32F401xE
-EEPROM_DRIVER = vendor
# Build Options
# change yes to no to disable
diff --git a/keyboards/mlego/m60_split/config.h b/keyboards/mlego/m60_split/config.h
index 7282886b0b..241ea77a22 100644
--- a/keyboards/mlego/m60_split/config.h
+++ b/keyboards/mlego/m60_split/config.h
@@ -17,11 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBABA
-#define MANUFACTURER alin elena
-#define PRODUCT m60_split
-
#define MATRIX_ROWS 10 // Rows are doubled-up
#define MATRIX_COLS 6
diff --git a/keyboards/mlego/m60_split/info.json b/keyboards/mlego/m60_split/info.json
index c6c5ee480d..3212b0c613 100644
--- a/keyboards/mlego/m60_split/info.json
+++ b/keyboards/mlego/m60_split/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "mlego/m60_split",
+ "keyboard_name": "m60_split",
+ "manufacturer": "alin elena",
"url": "https://gitlab.com/m-lego/m65",
"maintainer": "alin elena",
+ "usb": {
+ "vid": "0xBABA"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}]
diff --git a/keyboards/mlego/m60_split/rev1/config.h b/keyboards/mlego/m60_split/rev1/config.h
index 0bbb56aee0..d1053a2291 100644
--- a/keyboards/mlego/m60_split/rev1/config.h
+++ b/keyboards/mlego/m60_split/rev1/config.h
@@ -17,10 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6361
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS \
{ B0, A6, A7, B1, A5 }
#define MATRIX_COL_PINS \
@@ -82,7 +78,3 @@
#define BOOTMAGIC_LITE_ROW_RIGHT 5
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
#endif
-
-#define UNUSED_PINS
-// you want to comment this if using stm32-dfu as bootloader
-#define FEE_PAGE_BASE_ADDRESS 0x08008000
diff --git a/keyboards/mlego/m60_split/rev1/info.json b/keyboards/mlego/m60_split/rev1/info.json
new file mode 100644
index 0000000000..90303c33c5
--- /dev/null
+++ b/keyboards/mlego/m60_split/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6361",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m60_split/rev1/ld/STM32F401xE.ld b/keyboards/mlego/m60_split/rev1/ld/STM32F401xE.ld
deleted file mode 100644
index daec7d8583..0000000000
--- a/keyboards/mlego/m60_split/rev1/ld/STM32F401xE.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * STM32F401xE memory setup.
- */
-MEMORY
-{
- flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
- flash1 (rx) : org = 0x08004000, len = 16k
- flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
- flash3 (rx) : org = 0x0800C000, len = 16k
- flash4 (rx) : org = 0x08010000, len = 512k - 64k
- flash5 (rx) : org = 0x00000000, len = 0
- flash6 (rx) : org = 0x00000000, len = 0
- flash7 (rx) : org = 0x00000000, len = 0
- ram0 (wx) : org = 0x20000000, len = 96k
- ram1 (wx) : org = 0x00000000, len = 0
- ram2 (wx) : org = 0x00000000, len = 0
- ram3 (wx) : org = 0x00000000, len = 0
- ram4 (wx) : org = 0x00000000, len = 0
- ram5 (wx) : org = 0x00000000, len = 0
- ram6 (wx) : org = 0x00000000, len = 0
- ram7 (wx) : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash4);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash4);
-REGION_ALIAS("XTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash4);
-REGION_ALIAS("TEXT_FLASH_LMA", flash4);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash4);
-REGION_ALIAS("RODATA_FLASH_LMA", flash4);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash4);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash4);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
-
-/* TinyUF2 bootloader reset support */
-_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
diff --git a/keyboards/mlego/m60_split/rev1/rules.mk b/keyboards/mlego/m60_split/rev1/rules.mk
index 14022f2086..076a334510 100644
--- a/keyboards/mlego/m60_split/rev1/rules.mk
+++ b/keyboards/mlego/m60_split/rev1/rules.mk
@@ -1,11 +1,10 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
#BOOTLOADER = stm32-dfu
-MCU_LDSCRIPT = STM32F401xE
-EEPROM_DRIVER = vendor
# Build Options
# change yes to no to disable
diff --git a/keyboards/mlego/m60_split/rev2/config.h b/keyboards/mlego/m60_split/rev2/config.h
index c5b011c437..ce2726e19a 100644
--- a/keyboards/mlego/m60_split/rev2/config.h
+++ b/keyboards/mlego/m60_split/rev2/config.h
@@ -17,10 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x6362
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS \
{ B0, A6, A7, B1, A5 }
#define MATRIX_COL_PINS \
@@ -81,4 +77,3 @@
#define BOOTMAGIC_LITE_ROW_RIGHT 5
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
-#define UNUSED_PINS
diff --git a/keyboards/mlego/m60_split/rev2/info.json b/keyboards/mlego/m60_split/rev2/info.json
new file mode 100644
index 0000000000..bee03f611f
--- /dev/null
+++ b/keyboards/mlego/m60_split/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6362",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m60_split/rev2/rules.mk b/keyboards/mlego/m60_split/rev2/rules.mk
index cb8f4bd951..c10aed3e16 100644
--- a/keyboards/mlego/m60_split/rev2/rules.mk
+++ b/keyboards/mlego/m60_split/rev2/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mlego/m65/config.h b/keyboards/mlego/m65/config.h
index 25d69d8b7a..7ac1f7271c 100644
--- a/keyboards/mlego/m65/config.h
+++ b/keyboards/mlego/m65/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xBABA
-#define MANUFACTURER Alin Elena
-#define PRODUCT m65
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
diff --git a/keyboards/mlego/m65/info.json b/keyboards/mlego/m65/info.json
index 175c6638c5..3c7d816d62 100644
--- a/keyboards/mlego/m65/info.json
+++ b/keyboards/mlego/m65/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "M65",
+ "keyboard_name": "m65",
+ "manufacturer": "Alin Elena",
"url": "https://gitlab.com/m-lego/m65",
"maintainer": "alin elena",
+ "usb": {
+ "vid": "0xBABA"
+ },
"layouts": {
"LAYOUT_ortho_5x13": {
"layout": [
diff --git a/keyboards/mlego/m65/rev1/config.h b/keyboards/mlego/m65/rev1/config.h
index 0e40ae2e3d..d296bf9954 100644
--- a/keyboards/mlego/m65/rev1/config.h
+++ b/keyboards/mlego/m65/rev1/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x6061
-
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN C13
@@ -38,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B15
-#define UNUSED_PINS
#define RGBLIGHT_LAYERS
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/mlego/m65/rev1/info.json b/keyboards/mlego/m65/rev1/info.json
new file mode 100644
index 0000000000..e495c94992
--- /dev/null
+++ b/keyboards/mlego/m65/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6061",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m65/rev2/config.h b/keyboards/mlego/m65/rev2/config.h
index db13bbb2ad..d5575d24a9 100644
--- a/keyboards/mlego/m65/rev2/config.h
+++ b/keyboards/mlego/m65/rev2/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x6061
-
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN B2
@@ -38,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B15
-#define UNUSED_PINS
#define RGBLIGHT_LAYERS
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/mlego/m65/rev2/info.json b/keyboards/mlego/m65/rev2/info.json
new file mode 100644
index 0000000000..470262ed85
--- /dev/null
+++ b/keyboards/mlego/m65/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6061",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/mlego/m65/rev3/config.h b/keyboards/mlego/m65/rev3/config.h
index a4b1ba3343..e58a84f3d8 100644
--- a/keyboards/mlego/m65/rev3/config.h
+++ b/keyboards/mlego/m65/rev3/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x6062
-
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN C13
@@ -58,7 +55,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#endif
-
-#define UNUSED_PINS
-// you want to comment this if using stm32-dfu as bootloader
-#define FEE_PAGE_BASE_ADDRESS 0x08008000
diff --git a/keyboards/mlego/m65/rev3/info.json b/keyboards/mlego/m65/rev3/info.json
new file mode 100644
index 0000000000..e42ab50857
--- /dev/null
+++ b/keyboards/mlego/m65/rev3/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6062",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mlego/m65/rev3/ld/STM32F401xE.ld b/keyboards/mlego/m65/rev3/ld/STM32F401xE.ld
deleted file mode 100644
index daec7d8583..0000000000
--- a/keyboards/mlego/m65/rev3/ld/STM32F401xE.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * STM32F401xE memory setup.
- */
-MEMORY
-{
- flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
- flash1 (rx) : org = 0x08004000, len = 16k
- flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
- flash3 (rx) : org = 0x0800C000, len = 16k
- flash4 (rx) : org = 0x08010000, len = 512k - 64k
- flash5 (rx) : org = 0x00000000, len = 0
- flash6 (rx) : org = 0x00000000, len = 0
- flash7 (rx) : org = 0x00000000, len = 0
- ram0 (wx) : org = 0x20000000, len = 96k
- ram1 (wx) : org = 0x00000000, len = 0
- ram2 (wx) : org = 0x00000000, len = 0
- ram3 (wx) : org = 0x00000000, len = 0
- ram4 (wx) : org = 0x00000000, len = 0
- ram5 (wx) : org = 0x00000000, len = 0
- ram6 (wx) : org = 0x00000000, len = 0
- ram7 (wx) : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash4);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash4);
-REGION_ALIAS("XTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash4);
-REGION_ALIAS("TEXT_FLASH_LMA", flash4);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash4);
-REGION_ALIAS("RODATA_FLASH_LMA", flash4);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash4);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash4);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
-
-/* TinyUF2 bootloader reset support */
-_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
diff --git a/keyboards/mlego/m65/rev3/rules.mk b/keyboards/mlego/m65/rev3/rules.mk
index 558accd5b1..57908335fd 100644
--- a/keyboards/mlego/m65/rev3/rules.mk
+++ b/keyboards/mlego/m65/rev3/rules.mk
@@ -1,11 +1,10 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
#BOOTLOADER = stm32-dfu
-MCU_LDSCRIPT = STM32F401xE
-EEPROM_DRIVER = vendor
# Build Options
# change yes to no to disable
diff --git a/keyboards/mlego/m65/rev4/config.h b/keyboards/mlego/m65/rev4/config.h
index 07dd0fefaa..afd8c86bcc 100644
--- a/keyboards/mlego/m65/rev4/config.h
+++ b/keyboards/mlego/m65/rev4/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x6062
-
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN C13
@@ -67,7 +64,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define OLED_BRIGHTNESS 128
#define OLED_FONT_H "keyboards/mlego/m65/lib/glcdfont.c"
#endif
-
-#define UNUSED_PINS
-// you want to comment this if using stm32-dfu as bootloader
-#define FEE_PAGE_BASE_ADDRESS 0x08008000
diff --git a/keyboards/mlego/m65/rev4/info.json b/keyboards/mlego/m65/rev4/info.json
new file mode 100644
index 0000000000..c94ea38e22
--- /dev/null
+++ b/keyboards/mlego/m65/rev4/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x6062",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/mlego/m65/rev4/ld/STM32F401xE.ld b/keyboards/mlego/m65/rev4/ld/STM32F401xE.ld
deleted file mode 100644
index daec7d8583..0000000000
--- a/keyboards/mlego/m65/rev4/ld/STM32F401xE.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * STM32F401xE memory setup.
- */
-MEMORY
-{
- flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
- flash1 (rx) : org = 0x08004000, len = 16k
- flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
- flash3 (rx) : org = 0x0800C000, len = 16k
- flash4 (rx) : org = 0x08010000, len = 512k - 64k
- flash5 (rx) : org = 0x00000000, len = 0
- flash6 (rx) : org = 0x00000000, len = 0
- flash7 (rx) : org = 0x00000000, len = 0
- ram0 (wx) : org = 0x20000000, len = 96k
- ram1 (wx) : org = 0x00000000, len = 0
- ram2 (wx) : org = 0x00000000, len = 0
- ram3 (wx) : org = 0x00000000, len = 0
- ram4 (wx) : org = 0x00000000, len = 0
- ram5 (wx) : org = 0x00000000, len = 0
- ram6 (wx) : org = 0x00000000, len = 0
- ram7 (wx) : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash4);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash4);
-REGION_ALIAS("XTORS_FLASH_LMA", flash4);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash4);
-REGION_ALIAS("TEXT_FLASH_LMA", flash4);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash4);
-REGION_ALIAS("RODATA_FLASH_LMA", flash4);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash4);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash4);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
-
-/* TinyUF2 bootloader reset support */
-_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk
index bf4285383a..a16dbefe32 100644
--- a/keyboards/mlego/m65/rev4/rules.mk
+++ b/keyboards/mlego/m65/rev4/rules.mk
@@ -1,11 +1,10 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
#BOOTLOADER = stm32-dfu
-MCU_LDSCRIPT = STM32F401xE
-EEPROM_DRIVER = vendor
# Build Options
# change yes to no to disable
diff --git a/keyboards/mmkzoo65/config.h b/keyboards/mmkzoo65/config.h
index 18d7c40ca6..b874fdef8a 100644
--- a/keyboards/mmkzoo65/config.h
+++ b/keyboards/mmkzoo65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7BA1
-#define PRODUCT_ID 0x6505
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MWStudio
-#define PRODUCT MMKZOO65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -45,4 +38,3 @@
/* å°†USB 轮询速率更改为 1000hz 并为精英游æˆæ¯æ¬¡æ‰«æ使用更大的密钥*/
#define USB_POLLING_INTERVAL_MS 2
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/mmkzoo65/info.json b/keyboards/mmkzoo65/info.json
index 682c2238fc..e83b0cc767 100644
--- a/keyboards/mmkzoo65/info.json
+++ b/keyboards/mmkzoo65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MMKZOO65",
+ "manufacturer": "MWStudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x6505",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mmkzoo65/readme.md b/keyboards/mmkzoo65/readme.md
index 96a699769a..967201ddc1 100644
--- a/keyboards/mmkzoo65/readme.md
+++ b/keyboards/mmkzoo65/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mnk1800s/config.h b/keyboards/mnk1800s/config.h
index 1c7ec21a29..e0f17b50a0 100755
--- a/keyboards/mnk1800s/config.h
+++ b/keyboards/mnk1800s/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x3138
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT MNK1800s
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* define if matrix has ghost (lacks anti-ghosting diodes) */
diff --git a/keyboards/mnk1800s/info.json b/keyboards/mnk1800s/info.json
index 9dd79dbf7d..7c2a2738b7 100755
--- a/keyboards/mnk1800s/info.json
+++ b/keyboards/mnk1800s/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNK1800s",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x3138",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mnk50/config.h b/keyboards/mnk50/config.h
index 9e49bd5c96..ef36c3422e 100755
--- a/keyboards/mnk50/config.h
+++ b/keyboards/mnk50/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4D35
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT MNK50
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* define if matrix has ghost (lacks anti-ghosting diodes) */
diff --git a/keyboards/mnk50/info.json b/keyboards/mnk50/info.json
index 2d174ead3c..c4d222138b 100755
--- a/keyboards/mnk50/info.json
+++ b/keyboards/mnk50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNK50",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4D35",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mnk75/config.h b/keyboards/mnk75/config.h
index a0aec085d3..67d5f857c5 100755
--- a/keyboards/mnk75/config.h
+++ b/keyboards/mnk75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4D37
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT MNK75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* define if matrix has ghost (lacks anti-ghosting diodes) */
diff --git a/keyboards/mnk75/info.json b/keyboards/mnk75/info.json
index 65b2100da5..24f54f8c00 100755
--- a/keyboards/mnk75/info.json
+++ b/keyboards/mnk75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNK75",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4D37",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":15, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":15, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":2.75}, {"x":6.5, "y":5.5, "w":1.25}, {"x":7.75, "y":5.5, "w":2.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":13, "y":5.5}, {"x":14, "y":5.5}, {"x":15, "y":5.5}]
diff --git a/keyboards/mntre/config.h b/keyboards/mntre/config.h
index af5f810741..ada82728d3 100644
--- a/keyboards/mntre/config.h
+++ b/keyboards/mntre/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1302
-#define DEVICE_VER 0x0002
-#define MANUFACTURER MNT Research GmbH
-#define PRODUCT MNT Reform USB Keyboard (Standalone)
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { D5, F7, E6, C7, B3, B2, B1, B0, F0, F1, F4, F5, F6, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mntre/info.json b/keyboards/mntre/info.json
index cf3ce47394..77ffdb2809 100644
--- a/keyboards/mntre/info.json
+++ b/keyboards/mntre/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MNT Reform USB Keyboard (Standalone)",
+ "manufacturer": "MNT Research GmbH",
"url": "https://shop.mntmn.com/products/mnt-reform-usb-keyboard-standalone",
"maintainer": "cdc-mkb",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1302",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mntre/readme.md b/keyboards/mntre/readme.md
index 4c827aeb25..685a140892 100644
--- a/keyboards/mntre/readme.md
+++ b/keyboards/mntre/readme.md
@@ -23,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the "Esc" key and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (default: "Circle" + "R")
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (default: "Circle" + "R")
* **Physical reset button**: Remove the keyboard’s frame and toggle the programming DIP switch SW84 on the keyboard to “ONâ€. Then press the reset button SW83.
diff --git a/keyboards/mode/m65ha_alpha/config.h b/keyboards/mode/m65ha_alpha/config.h
index cdeffe6fa3..b8edfeee82 100644
--- a/keyboards/mode/m65ha_alpha/config.h
+++ b/keyboards/mode/m65ha_alpha/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define PRODUCT_ID 0x6566 // 65A + 1 since the pre-alpha version was 6565
-#define DEVICE_VER 0x0065 // A for release Alpha
-#define MANUFACTURER Mode
-#define PRODUCT SixtyFive HA
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -49,8 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define OPENDRAIN_INDICATORS
#define LED_CAPS_LOCK_PIN A6
diff --git a/keyboards/mode/m65ha_alpha/info.json b/keyboards/mode/m65ha_alpha/info.json
index a25d22714e..c2ae3d385d 100644
--- a/keyboards/mode/m65ha_alpha/info.json
+++ b/keyboards/mode/m65ha_alpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mode SixtyFive HA",
+ "keyboard_name": "SixtyFive HA",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x6566",
+ "device_version": "0.6.5"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mode/m65ha_alpha/mcuconf.h b/keyboards/mode/m65ha_alpha/mcuconf.h
index e4cefd0b75..0ca8c64850 100644
--- a/keyboards/mode/m65ha_alpha/mcuconf.h
+++ b/keyboards/mode/m65ha_alpha/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mode/m65ha_alpha/rules.mk b/keyboards/mode/m65ha_alpha/rules.mk
index 191428572e..091e076bd0 100644
--- a/keyboards/mode/m65ha_alpha/rules.mk
+++ b/keyboards/mode/m65ha_alpha/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
@@ -17,5 +18,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
EEPROM_DRIVER = i2c
+
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/mode/m65hi_alpha/config.h b/keyboards/mode/m65hi_alpha/config.h
index daacee56ce..3886755cb3 100644
--- a/keyboards/mode/m65hi_alpha/config.h
+++ b/keyboards/mode/m65hi_alpha/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define PRODUCT_ID 0x6574 // For 65I + 1 (for alpha, since pre-alpha 6573)
-#define DEVICE_VER 0x0065 // A for A (alpha)
-#define MANUFACTURER Mode
-#define PRODUCT SixtyFive HI
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -49,8 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define OPENDRAIN_INDICATORS
#define LED_CAPS_LOCK_PIN A6
diff --git a/keyboards/mode/m65hi_alpha/info.json b/keyboards/mode/m65hi_alpha/info.json
index aa5f98efc6..231299e6d1 100644
--- a/keyboards/mode/m65hi_alpha/info.json
+++ b/keyboards/mode/m65hi_alpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mode SixtyFive HI",
+ "keyboard_name": "SixtyFive HI",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x6574",
+ "device_version": "0.6.5"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mode/m65hi_alpha/mcuconf.h b/keyboards/mode/m65hi_alpha/mcuconf.h
index 97f2ee51ee..dd68a8c1e7 100644
--- a/keyboards/mode/m65hi_alpha/mcuconf.h
+++ b/keyboards/mode/m65hi_alpha/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mode/m65hi_alpha/rules.mk b/keyboards/mode/m65hi_alpha/rules.mk
index 191428572e..091e076bd0 100644
--- a/keyboards/mode/m65hi_alpha/rules.mk
+++ b/keyboards/mode/m65hi_alpha/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
@@ -17,5 +18,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
EEPROM_DRIVER = i2c
+
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/mode/m65s/config.h b/keyboards/mode/m65s/config.h
index 9cd3bfcb35..4459e37145 100644
--- a/keyboards/mode/m65s/config.h
+++ b/keyboards/mode/m65s/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define PRODUCT_ID 0x6583 // For 65S
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mode
-#define PRODUCT SixtyFive S
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -49,8 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define OPENDRAIN_INDICATORS
#define LED_CAPS_LOCK_PIN C8
diff --git a/keyboards/mode/m65s/info.json b/keyboards/mode/m65s/info.json
index cb0cf8c12c..511a05bf8f 100644
--- a/keyboards/mode/m65s/info.json
+++ b/keyboards/mode/m65s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mode SixtyFive S",
+ "keyboard_name": "SixtyFive S",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x6583",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mode/m65s/mcuconf.h b/keyboards/mode/m65s/mcuconf.h
index 97f2ee51ee..dd68a8c1e7 100644
--- a/keyboards/mode/m65s/mcuconf.h
+++ b/keyboards/mode/m65s/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mode/m65s/rules.mk b/keyboards/mode/m65s/rules.mk
index bb3ebaee28..91f94bfa10 100644
--- a/keyboards/mode/m65s/rules.mk
+++ b/keyboards/mode/m65s/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mode/m75h/config.h b/keyboards/mode/m75h/config.h
index 6618d2bdbd..0dff69fac9 100644
--- a/keyboards/mode/m75h/config.h
+++ b/keyboards/mode/m75h/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define PRODUCT_ID 0x7572 // For 75H
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mode
-#define PRODUCT Mode 75H
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 16
@@ -50,8 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/mode/m75h/info.json b/keyboards/mode/m75h/info.json
index 91584e8863..e3b5c6d64b 100644
--- a/keyboards/mode/m75h/info.json
+++ b/keyboards/mode/m75h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mode 75H",
+ "keyboard_name": "75H",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x7572",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mode/m75h/mcuconf.h b/keyboards/mode/m75h/mcuconf.h
index 97f2ee51ee..dd68a8c1e7 100644
--- a/keyboards/mode/m75h/mcuconf.h
+++ b/keyboards/mode/m75h/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mode/m75h/readme.md b/keyboards/mode/m75h/readme.md
index a663847278..7b9a6a8710 100644
--- a/keyboards/mode/m75h/readme.md
+++ b/keyboards/mode/m75h/readme.md
@@ -1,8 +1,6 @@
-# Mode SixtyFive M65S
+# Mode SixtyFive M75H
-![MODE75](https://raw.githubusercontent.com/Gondolindrim/file_hosting/main/mode_sixtyfive/Group_95_1024x1024.jpg)
-
-The M65S is the solderable PCB for the Mode SixtyFive keyboard, a sixty-five-percent high-end keyboard sold by [Mode Designs](https://shop.modedesigns.com/).
+The M75H is the hot-swappable PCB for the Mode SeventyFive keyboard, a seventy-five-percent high-end keyboard sold by [Mode Designs](https://shop.modedesigns.com/).
- Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
- Hardware Supported: proprietary PCB using STM32F401 controller
@@ -10,10 +8,10 @@ The M65S is the solderable PCB for the Mode SixtyFive keyboard, a sixty-five-per
Make example for this keyboard (after setting up your build environment):
- make mode/m65s:default
+ make mode/m75h:default
Flashing example for this keyboard:
- make mode/m65s:default:flash
+ make mode/m75h: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/mode/m75h/rules.mk b/keyboards/mode/m75h/rules.mk
index f7659378cc..76752ec1b3 100644
--- a/keyboards/mode/m75h/rules.mk
+++ b/keyboards/mode/m75h/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h
index 9e902a1585..5da8543e95 100644
--- a/keyboards/mode/m75s/config.h
+++ b/keyboards/mode/m75s/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define PRODUCT_ID 0x7583 // For 75S
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mode
-#define PRODUCT Mode 75S
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 16
@@ -50,8 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/mode/m75s/info.json b/keyboards/mode/m75s/info.json
index d45cee20dc..2b58f194fb 100644
--- a/keyboards/mode/m75s/info.json
+++ b/keyboards/mode/m75s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mode 75S",
+ "keyboard_name": "75S",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x7583",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mode/m75s/mcuconf.h b/keyboards/mode/m75s/mcuconf.h
index 97f2ee51ee..dd68a8c1e7 100644
--- a/keyboards/mode/m75s/mcuconf.h
+++ b/keyboards/mode/m75s/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/mode/m75s/rules.mk b/keyboards/mode/m75s/rules.mk
index f7659378cc..76752ec1b3 100644
--- a/keyboards/mode/m75s/rules.mk
+++ b/keyboards/mode/m75s/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mode/m80v1/config.h b/keyboards/mode/m80v1/config.h
index a0d39774e6..675cc3385d 100644
--- a/keyboards/mode/m80v1/config.h
+++ b/keyboards/mode/m80v1/config.h
@@ -16,11 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define MANUFACTURER Mode
-#define PRODUCT Eighty
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -38,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { A10, A15, B3, B9, A3, A4 }
#define MATRIX_COL_PINS { B8, B7, B6, B5, B4, A2, A1, A0, F1, F0, C15, C14, C13, A7, A6, A5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mode/m80v1/m80h/config.h b/keyboards/mode/m80v1/m80h/config.h
deleted file mode 100644
index b119ad4fff..0000000000
--- a/keyboards/mode/m80v1/m80h/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2020 Alvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0081
-#define DEVICE_VER 0x0072 //H for hotswap version
diff --git a/keyboards/mode/m80v1/m80h/info.json b/keyboards/mode/m80v1/m80h/info.json
index 97d5881997..bb65727e62 100644
--- a/keyboards/mode/m80v1/m80h/info.json
+++ b/keyboards/mode/m80v1/m80h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MODE80H",
+ "keyboard_name": "Eighty",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x0081",
+ "device_version": "0.7.2"
+ },
"layouts": {
"LAYOUT_eighty_m80h": {
"layout": [
diff --git a/keyboards/mode/m80v1/m80s/config.h b/keyboards/mode/m80v1/m80s/config.h
deleted file mode 100644
index 3e7f2ec3a8..0000000000
--- a/keyboards/mode/m80v1/m80s/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2020 Alvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0083 //S for solderable version
diff --git a/keyboards/mode/m80v1/m80s/info.json b/keyboards/mode/m80v1/m80s/info.json
index c586614a78..7b72eb256f 100644
--- a/keyboards/mode/m80v1/m80s/info.json
+++ b/keyboards/mode/m80v1/m80s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MODE80S",
+ "keyboard_name": "Eighty",
+ "manufacturer": "Mode",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x0080",
+ "device_version": "0.8.3"
+ },
"layouts": {
"LAYOUT_eighty_m80s": {
"layout": [
diff --git a/keyboards/mode/m80v1/readme.md b/keyboards/mode/m80v1/readme.md
index 5435a02e61..558204b5b7 100644
--- a/keyboards/mode/m80v1/readme.md
+++ b/keyboards/mode/m80v1/readme.md
@@ -17,7 +17,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
## Compile firmware
diff --git a/keyboards/mode/m80v2/config.h b/keyboards/mode/m80v2/config.h
index fbe5fb86df..9382def58a 100644
--- a/keyboards/mode/m80v2/config.h
+++ b/keyboards/mode/m80v2/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x00DE
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Mode
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/mode/m80v2/m80v2h/config.h b/keyboards/mode/m80v2/m80v2h/config.h
deleted file mode 100644
index f474e28453..0000000000
--- a/keyboards/mode/m80v2/m80v2h/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define PRODUCT_ID 0x0083 // 81 was used for M80H V1
-#define PRODUCT M80H V2
diff --git a/keyboards/mode/m80v2/m80v2h/info.json b/keyboards/mode/m80v2/m80v2h/info.json
index 251937c562..13bd6c67bc 100644
--- a/keyboards/mode/m80v2/m80v2h/info.json
+++ b/keyboards/mode/m80v2/m80v2h/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MODE80V2H",
+ "keyboard_name": "M80H V2",
+ "manufacturer": "Mode",
"url": "https://shop.modedesigns.com/collections/eighty",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x0083",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_m80v2h": {
"layout": [
diff --git a/keyboards/mode/m80v2/m80v2s/config.h b/keyboards/mode/m80v2/m80v2s/config.h
deleted file mode 100644
index ad1871f8ab..0000000000
--- a/keyboards/mode/m80v2/m80v2s/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define PRODUCT_ID 0x0082 // 81 was used for M80H V1
-#define PRODUCT M80S V2
diff --git a/keyboards/mode/m80v2/m80v2s/info.json b/keyboards/mode/m80v2/m80v2s/info.json
index 6e0bd62d51..4e2a4fc6f5 100644
--- a/keyboards/mode/m80v2/m80v2s/info.json
+++ b/keyboards/mode/m80v2/m80v2s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MODE80V2S",
+ "keyboard_name": "M80S V2",
+ "manufacturer": "Mode",
"url": "https://shop.modedesigns.com/collections/eighty",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x00DE",
+ "pid": "0x0082",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_m80v2s": {
"layout": [
diff --git a/keyboards/mode/m80v2/readme.md b/keyboards/mode/m80v2/readme.md
index e94984f06b..b5ea62ec27 100644
--- a/keyboards/mode/m80v2/readme.md
+++ b/keyboards/mode/m80v2/readme.md
@@ -17,7 +17,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (ESC key at layer 1 in the default layout)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
## Compile firmware
diff --git a/keyboards/mokey/ginkgo65/config.h b/keyboards/mokey/ginkgo65/config.h
index 3660989267..6605744221 100644
--- a/keyboards/mokey/ginkgo65/config.h
+++ b/keyboards/mokey/ginkgo65/config.h
@@ -15,20 +15,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x3365
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mokey
-#define PRODUCT ginkgo 65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 }
#define MATRIX_COL_PINS { C7, F6, B2, F4, B3, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4, B1 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define BACKLIGHT_PIN B6
diff --git a/keyboards/mokey/ginkgo65/info.json b/keyboards/mokey/ginkgo65/info.json
index 080d97feeb..462d1869b6 100644
--- a/keyboards/mokey/ginkgo65/info.json
+++ b/keyboards/mokey/ginkgo65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ginkgo65",
+ "keyboard_name": "ginkgo 65",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "rhmokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x3365",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/mokey/ginkgo65hot/config.h b/keyboards/mokey/ginkgo65hot/config.h
index 5b73c4dc98..423d844765 100644
--- a/keyboards/mokey/ginkgo65hot/config.h
+++ b/keyboards/mokey/ginkgo65hot/config.h
@@ -15,20 +15,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x3366
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mokey
-#define PRODUCT ginkgo65hot
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 }
-#define MATRIX_COL_PINS { C7, F6, B2, F4, B3, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
+#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4 }
#define DIODE_DIRECTION COL2ROW
#define BACKLIGHT_PIN B6
diff --git a/keyboards/mokey/ginkgo65hot/ginkgo65hot.h b/keyboards/mokey/ginkgo65hot/ginkgo65hot.h
index 1a599291b8..e4a42d9ad9 100644
--- a/keyboards/mokey/ginkgo65hot/ginkgo65hot.h
+++ b/keyboards/mokey/ginkgo65hot/ginkgo65hot.h
@@ -19,7 +19,7 @@
#define XXX KC_NO
-/*LAYOUT
+/*LAYOUT_65_ansi_blocker
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───â”
* │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│ k0D │k0E│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
@@ -32,7 +32,7 @@
* │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
-#define LAYOUT( \
+#define LAYOUT_65_ansi_blocker( \
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, \
diff --git a/keyboards/mokey/ginkgo65hot/info.json b/keyboards/mokey/ginkgo65hot/info.json
index e2e96c167c..929e31e31b 100644
--- a/keyboards/mokey/ginkgo65hot/info.json
+++ b/keyboards/mokey/ginkgo65hot/info.json
@@ -1,82 +1,91 @@
{
"keyboard_name": "ginkgo65hot",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "mokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x3366",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_65_ansi_blocker"
+ },
"layouts": {
- "LAYOUT": {
+ "LAYOUT_65_ansi_blocker": {
"layout": [
- {"label":"k00", "x":0, "y":0},
- {"label":"k01", "x":1, "y":0},
- {"label":"k02", "x":2, "y":0},
- {"label":"k03", "x":3, "y":0},
- {"label":"k04", "x":4, "y":0},
- {"label":"k05", "x":5, "y":0},
- {"label":"k06", "x":6, "y":0},
- {"label":"k07", "x":7, "y":0},
- {"label":"k08", "x":8, "y":0},
- {"label":"k09", "x":9, "y":0},
- {"label":"k0a", "x":10, "y":0},
- {"label":"k0b", "x":11, "y":0},
- {"label":"k0c", "x":12, "y":0},
- {"label":"k0d", "x":13, "y":0, "w":2},
- {"label":"k0e", "x":15, "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},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"6", "x":6, "y":0},
+ {"label":"7", "x":7, "y":0},
+ {"label":"8", "x":8, "y":0},
+ {"label":"9", "x":9, "y":0},
+ {"label":"0", "x":10, "y":0},
+ {"label":"-", "x":11, "y":0},
+ {"label":"=", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"Insert", "x":15, "y":0},
- {"label":"k10", "x":0, "y":1, "w":1.5},
- {"label":"k11", "x":1.5, "y":1},
- {"label":"k12", "x":2.5, "y":1},
- {"label":"k13", "x":3.5, "y":1},
- {"label":"k14", "x":4.5, "y":1},
- {"label":"k15", "x":5.5, "y":1},
- {"label":"k16", "x":6.5, "y":1},
- {"label":"k17", "x":7.5, "y":1},
- {"label":"k18", "x":8.5, "y":1},
- {"label":"k19", "x":9.5, "y":1},
- {"label":"k1a", "x":10.5, "y":1},
- {"label":"k1b", "x":11.5, "y":1},
- {"label":"k1c", "x":12.5, "y":1},
- {"label":"k1d", "x":13.5, "y":1, "w":1.5},
- {"label":"k1e", "x":15, "y":1},
+ {"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":"Delete", "x":15, "y":1},
- {"label":"k20", "x":0, "y":2, "w":1.75},
- {"label":"k21", "x":1.75, "y":2},
- {"label":"k22", "x":2.75, "y":2},
- {"label":"k23", "x":3.75, "y":2},
- {"label":"k24", "x":4.75, "y":2},
- {"label":"k25", "x":5.75, "y":2},
- {"label":"k26", "x":6.75, "y":2},
- {"label":"k27", "x":7.75, "y":2},
- {"label":"k28", "x":8.75, "y":2},
- {"label":"k29", "x":9.75, "y":2},
- {"label":"k2a", "x":10.75, "y":2},
- {"label":"k2b", "x":11.75, "y":2},
- {"label":"k2d", "x":12.75, "y":2, "w":2.25},
- {"label":"k2e", "x":15, "y":2},
+ {"label":"Caps Lock", "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":"Return", "x":12.75, "y":2, "w":2.25},
+ {"label":"Page Up", "x":15, "y":2},
- {"label":"k30", "x":0, "y":3, "w":2.25},
- {"label":"k32", "x":2.25, "y":3},
- {"label":"k33", "x":3.25, "y":3},
- {"label":"k34", "x":4.25, "y":3},
- {"label":"k35", "x":5.25, "y":3},
- {"label":"k36", "x":6.25, "y":3},
- {"label":"k37", "x":7.25, "y":3},
- {"label":"k38", "x":8.25, "y":3},
- {"label":"k39", "x":9.25, "y":3},
- {"label":"k3a", "x":10.25, "y":3},
- {"label":"k3b", "x":11.25, "y":3},
- {"label":"k3c", "x":12.25, "y":3, "w":1.75},
- {"label":"k3d", "x":14, "y":3},
- {"label":"k3e", "x":15, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"Page Down", "x":15, "y":3},
- {"label":"k40", "x":0, "y":4, "w":1.25},
- {"label":"k41", "x":1.25, "y":4, "w":1.25},
- {"label":"k42", "x":2.5, "y":4, "w":1.25},
- {"label":"k44", "x":3.75, "y":4, "w":6.25},
- {"label":"k49", "x":10, "y":4, "w":1.25},
- {"label":"k4a", "x":11.25, "y":4, "w":1.25},
- {"label":"k4c", "x":13, "y":4},
- {"label":"k4d", "x":14, "y":4},
- {"label":"k4e", "x":15, "y":4}
+ {"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},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Fn", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
]
}
}
-} \ No newline at end of file
+}
diff --git a/keyboards/mokey/ginkgo65hot/rules.mk b/keyboards/mokey/ginkgo65hot/rules.mk
index 02fbe72525..d04e1a74fa 100644
--- a/keyboards/mokey/ginkgo65hot/rules.mk
+++ b/keyboards/mokey/ginkgo65hot/rules.mk
@@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/mokey/ibis80/config.h b/keyboards/mokey/ibis80/config.h
new file mode 100644
index 0000000000..e70b8b8084
--- /dev/null
+++ b/keyboards/mokey/ibis80/config.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2021 Kyle McCreery
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { B0, B1, B2, E6, F0, F1 }
+#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4 }
+#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
+
diff --git a/keyboards/mokey/ibis80/ibis80.c b/keyboards/mokey/ibis80/ibis80.c
new file mode 100644
index 0000000000..faddc99eb5
--- /dev/null
+++ b/keyboards/mokey/ibis80/ibis80.c
@@ -0,0 +1,16 @@
+/* Copyright 2021 Ocean
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "ibis80.h" \ No newline at end of file
diff --git a/keyboards/mokey/ibis80/ibis80.h b/keyboards/mokey/ibis80/ibis80.h
new file mode 100644
index 0000000000..ed2dbf7195
--- /dev/null
+++ b/keyboards/mokey/ibis80/ibis80.h
@@ -0,0 +1,76 @@
+/* Copyright 2021 Ocean
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┠┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ │0E │0F │0G │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┠┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │1F │1G │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ┌─────â”
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │ │3D │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┠│ ISO Enter
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │2D │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┠└───┴────┘
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4D │ │4F │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───â”
+ * │50 │51 │52 │56 │5A │5B │5D │ │5E │5F │5G │
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
+ * ┌─────┠┌─────┬───────────────────────────┬─────┠┌─────â”
+ * │50 │ │52 │56 │5A │ │5D │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
+ */
+
+#define LAYOUT(\
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4d, k4f, \
+ k50, k51, k52, k56, k5a, k5b, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO, KC_NO, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, KC_NO, KC_NO, k4d, KC_NO, k4f, KC_NO }, \
+ { k50, k51, k52, KC_NO, KC_NO, KC_NO, k56, KC_NO, KC_NO, KC_NO, k5a, k5b, KC_NO, k5d, k5e, k5f, k5g } \
+}
+
+#define LAYOUT_all(\
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k3d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k2d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4d, k4f, \
+ k50, k52, k56, k5a, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k3d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k2d, KC_NO, KC_NO, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, KC_NO, KC_NO, k4d, KC_NO, k4f, KC_NO }, \
+ { k50, KC_NO, k52, KC_NO, KC_NO, KC_NO, k56, KC_NO, KC_NO, KC_NO, k5a, KC_NO, KC_NO, k5d, k5e, k5f, k5g } \
+}
+
diff --git a/keyboards/mokey/ibis80/info.json b/keyboards/mokey/ibis80/info.json
new file mode 100644
index 0000000000..d236eabc71
--- /dev/null
+++ b/keyboards/mokey/ibis80/info.json
@@ -0,0 +1,213 @@
+{
+ "keyboard_name": "ibis 80",
+ "manufacturer": "Mokey",
+ "url": "",
+ "maintainer": "Mokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x3380",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "k00", "x": 0, "y": 0},
+ {"label": "k01", "x": 1.25, "y": 0},
+ {"label": "k02", "x": 2.25, "y": 0},
+ {"label": "k03", "x": 3.25, "y": 0},
+ {"label": "k04", "x": 4.25, "y": 0},
+ {"label": "k05", "x": 5.5, "y": 0},
+ {"label": "k06", "x": 6.5, "y": 0},
+ {"label": "k07", "x": 7.5, "y": 0},
+ {"label": "k08", "x": 8.5, "y": 0},
+ {"label": "k09", "x": 9.75, "y": 0},
+ {"label": "k0A", "x": 10.75, "y": 0},
+ {"label": "k0B", "x": 11.75, "y": 0},
+ {"label": "k0C", "x": 12.75, "y": 0},
+ {"label": "k0D", "x": 14, "y": 0},
+
+ {"label": "k0E", "x": 15.25, "y": 0},
+ {"label": "k0F", "x": 16.25, "y": 0},
+ {"label": "k0G", "x": 17.25, "y": 0},
+
+ {"label": "k10", "x": 0, "y": 1.5},
+ {"label": "k11", "x": 1, "y": 1.5},
+ {"label": "k12", "x": 2, "y": 1.5},
+ {"label": "k13", "x": 3, "y": 1.5},
+ {"label": "k14", "x": 4, "y": 1.5},
+ {"label": "k15", "x": 5, "y": 1.5},
+ {"label": "k16", "x": 6, "y": 1.5},
+ {"label": "k17", "x": 7, "y": 1.5},
+ {"label": "k18", "x": 8, "y": 1.5},
+ {"label": "k19", "x": 9, "y": 1.5},
+ {"label": "k1A", "x": 10, "y": 1.5},
+ {"label": "k1B", "x": 11, "y": 1.5},
+ {"label": "k1C", "x": 12, "y": 1.5},
+ {"label": "k1D", "x": 13, "y": 1.5, "w": 2},
+
+ {"label": "k1E", "x": 15.25, "y": 1.5},
+ {"label": "k1F", "x": 16.25, "y": 1.5},
+ {"label": "k1G", "x": 17.25, "y": 1.5},
+
+ {"label": "k20", "x": 0, "y": 2.5, "w": 1.5},
+ {"label": "k21", "x": 1.5, "y": 2.5},
+ {"label": "k22", "x": 2.5, "y": 2.5},
+ {"label": "k23", "x": 3.5, "y": 2.5},
+ {"label": "k24", "x": 4.5, "y": 2.5},
+ {"label": "k25", "x": 5.5, "y": 2.5},
+ {"label": "k26", "x": 6.5, "y": 2.5},
+ {"label": "k27", "x": 7.5, "y": 2.5},
+ {"label": "k28", "x": 8.5, "y": 2.5},
+ {"label": "k29", "x": 9.5, "y": 2.5},
+ {"label": "k2A", "x": 10.5, "y": 2.5},
+ {"label": "k2B", "x": 11.5, "y": 2.5},
+ {"label": "k2C", "x": 12.5, "y": 2.5},
+ {"label": "k2D", "x": 13.5, "y": 2.5},
+
+ {"label": "k2E", "x": 15.25, "y": 2.5},
+ {"label": "k2F", "x": 16.25, "y": 2.5},
+ {"label": "k2G", "x": 17.25, "y": 2.5},
+
+ {"label": "k30", "x": 0, "y": 3.5, "w": 1.75},
+ {"label": "k31", "x": 1.75, "y": 3.5},
+ {"label": "k32", "x": 2.75, "y": 3.5},
+ {"label": "k33", "x": 3.75, "y": 3.5},
+ {"label": "k34", "x": 4.75, "y": 3.5},
+ {"label": "k35", "x": 5.75, "y": 3.5},
+ {"label": "k36", "x": 6.75, "y": 3.5},
+ {"label": "k37", "x": 7.75, "y": 3.5},
+ {"label": "k38", "x": 8.75, "y": 3.5},
+ {"label": "k39", "x": 9.75, "y": 3.5},
+ {"label": "k3A", "x": 10.75, "y": 3.5},
+ {"label": "k3B", "x": 11.75, "y": 3.5},
+ {"label": "k3D", "x": 12.75, "y": 3.5, "w": 2.25},
+
+ {"label": "k40", "x": 0, "y": 4.5, "w": 2.25},
+ {"label": "k41", "x": 2.25, "y": 4.5},
+ {"label": "k42", "x": 3.25, "y": 4.5},
+ {"label": "k43", "x": 4.25, "y": 4.5},
+ {"label": "k44", "x": 5.25, "y": 4.5},
+ {"label": "k45", "x": 6.25, "y": 4.5},
+ {"label": "k46", "x": 7.25, "y": 4.5},
+ {"label": "k47", "x": 8.25, "y": 4.5},
+ {"label": "k48", "x": 9.25, "y": 4.5},
+ {"label": "k49", "x": 10.25, "y": 4.5},
+ {"label": "k4A", "x": 11.25, "y": 4.5},
+ {"label": "k4D", "x": 12.25, "y": 4.5, "w": 2.75},
+
+ {"label": "k4F", "x": 16.25, "y": 4.5},
+
+ {"label": "k50", "x": 0, "y": 5.5, "w": 1.5},
+ {"label": "k51", "x": 1.5, "y": 5.5},
+ {"label": "k52", "x": 2.5, "y": 5.5, "w": 1.5},
+ {"label": "k56", "x": 4, "y": 5.5, "w": 7},
+ {"label": "k5A", "x": 11, "y": 5.5, "w": 1.5},
+ {"label": "k5B", "x": 12.5, "y": 5.5},
+ {"label": "k5D", "x": 13.5, "y": 5.5, "w": 1.5},
+
+ {"label": "k5E", "x": 15.25, "y": 5.5},
+ {"label": "k5F", "x": 16.25, "y": 5.5},
+ {"label": "k5G", "x": 17.25, "y": 5.5}
+ ]
+ },
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "k00", "x": 0, "y": 0},
+ {"label": "k01", "x": 1.25, "y": 0},
+ {"label": "k02", "x": 2.25, "y": 0},
+ {"label": "k03", "x": 3.25, "y": 0},
+ {"label": "k04", "x": 4.25, "y": 0},
+ {"label": "k05", "x": 5.5, "y": 0},
+ {"label": "k06", "x": 6.5, "y": 0},
+ {"label": "k07", "x": 7.5, "y": 0},
+ {"label": "k08", "x": 8.5, "y": 0},
+ {"label": "k09", "x": 9.75, "y": 0},
+ {"label": "k0A", "x": 10.75, "y": 0},
+ {"label": "k0B", "x": 11.75, "y": 0},
+ {"label": "k0C", "x": 12.75, "y": 0},
+ {"label": "k0D", "x": 14, "y": 0},
+
+ {"label": "k0E", "x": 15.25, "y": 0},
+ {"label": "k0F", "x": 16.25, "y": 0},
+ {"label": "k0G", "x": 17.25, "y": 0},
+
+ {"label": "k10", "x": 0, "y": 1.5},
+ {"label": "k11", "x": 1, "y": 1.5},
+ {"label": "k12", "x": 2, "y": 1.5},
+ {"label": "k13", "x": 3, "y": 1.5},
+ {"label": "k14", "x": 4, "y": 1.5},
+ {"label": "k15", "x": 5, "y": 1.5},
+ {"label": "k16", "x": 6, "y": 1.5},
+ {"label": "k17", "x": 7, "y": 1.5},
+ {"label": "k18", "x": 8, "y": 1.5},
+ {"label": "k19", "x": 9, "y": 1.5},
+ {"label": "k1A", "x": 10, "y": 1.5},
+ {"label": "k1B", "x": 11, "y": 1.5},
+ {"label": "k1C", "x": 12, "y": 1.5},
+ {"label": "k1D", "x": 13, "y": 1.5, "w": 2},
+
+ {"label": "k1E", "x": 15.25, "y": 1.5},
+ {"label": "k1F", "x": 16.25, "y": 1.5},
+ {"label": "k1G", "x": 17.25, "y": 1.5},
+
+ {"label": "k20", "x": 0, "y": 2.5, "w": 1.5},
+ {"label": "k21", "x": 1.5, "y": 2.5},
+ {"label": "k22", "x": 2.5, "y": 2.5},
+ {"label": "k23", "x": 3.5, "y": 2.5},
+ {"label": "k24", "x": 4.5, "y": 2.5},
+ {"label": "k25", "x": 5.5, "y": 2.5},
+ {"label": "k26", "x": 6.5, "y": 2.5},
+ {"label": "k27", "x": 7.5, "y": 2.5},
+ {"label": "k28", "x": 8.5, "y": 2.5},
+ {"label": "k29", "x": 9.5, "y": 2.5},
+ {"label": "k2A", "x": 10.5, "y": 2.5},
+ {"label": "k2B", "x": 11.5, "y": 2.5},
+ {"label": "k2C", "x": 12.5, "y": 2.5},
+ {"label": "k3D", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+
+ {"label": "k2E", "x": 15.25, "y": 2.5},
+ {"label": "k2F", "x": 16.25, "y": 2.5},
+ {"label": "k2G", "x": 17.25, "y": 2.5},
+
+ {"label": "k30", "x": 0, "y": 3.5, "w": 1.75},
+ {"label": "k31", "x": 1.75, "y": 3.5},
+ {"label": "k32", "x": 2.75, "y": 3.5},
+ {"label": "k33", "x": 3.75, "y": 3.5},
+ {"label": "k34", "x": 4.75, "y": 3.5},
+ {"label": "k35", "x": 5.75, "y": 3.5},
+ {"label": "k36", "x": 6.75, "y": 3.5},
+ {"label": "k37", "x": 7.75, "y": 3.5},
+ {"label": "k38", "x": 8.75, "y": 3.5},
+ {"label": "k39", "x": 9.75, "y": 3.5},
+ {"label": "k3A", "x": 10.75, "y": 3.5},
+ {"label": "k3B", "x": 11.75, "y": 3.5},
+ {"label": "k2C", "x": 12.75, "y": 3.5},
+
+ {"label": "k40", "x": 0, "y": 4.5, "w": 2.25},
+ {"label": "k41", "x": 2.25, "y": 4.5},
+ {"label": "k42", "x": 3.25, "y": 4.5},
+ {"label": "k43", "x": 4.25, "y": 4.5},
+ {"label": "k44", "x": 5.25, "y": 4.5},
+ {"label": "k45", "x": 6.25, "y": 4.5},
+ {"label": "k46", "x": 7.25, "y": 4.5},
+ {"label": "k47", "x": 8.25, "y": 4.5},
+ {"label": "k48", "x": 9.25, "y": 4.5},
+ {"label": "k49", "x": 10.25, "y": 4.5},
+ {"label": "k4A", "x": 11.25, "y": 4.5},
+ {"label": "k4D", "x": 12.25, "y": 4.5, "w": 2.75},
+
+ {"label": "k4F", "x": 16.25, "y": 4.5},
+
+ {"label": "k50", "x": 0, "y": 5.5, "w": 1.5},
+ {"label": "k52", "x": 2.5, "y": 5.5, "w": 1.5},
+ {"label": "k56", "x": 4, "y": 5.5, "w": 7},
+ {"label": "k5A", "x": 11, "y": 5.5, "w": 1.5},
+ {"label": "k5D", "x": 13.5, "y": 5.5, "w": 1.5},
+
+ {"label": "k5E", "x": 15.25, "y": 5.5},
+ {"label": "k5F", "x": 16.25, "y": 5.5},
+ {"label": "k5G", "x": 17.25, "y": 5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mokey/ibis80/keymaps/default/keymap.c b/keyboards/mokey/ibis80/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fefeede966
--- /dev/null
+++ b/keyboards/mokey/ibis80/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2021 Ocean
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_BRMD, 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_INSERT, 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_DELETE, KC_END, KC_PGDOWN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_LWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/mokey/ibis80/keymaps/via/keymap.c b/keyboards/mokey/ibis80/keymaps/via/keymap.c
new file mode 100644
index 0000000000..94678a8201
--- /dev/null
+++ b/keyboards/mokey/ibis80/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2021 Ocean
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_BRMD, 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_INSERT, 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_DELETE, KC_END, KC_PGDOWN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/mokey/ibis80/keymaps/via/rules.mk b/keyboards/mokey/ibis80/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/mokey/ibis80/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/mokey/ibis80/readme.md b/keyboards/mokey/ibis80/readme.md
new file mode 100644
index 0000000000..b493fd7f0d
--- /dev/null
+++ b/keyboards/mokey/ibis80/readme.md
@@ -0,0 +1,18 @@
+# ibis80
+
+Support Atmega32u4 keyboard,With a variety of configurations
+
+* Keyboard Maintainer: [Mokey](https://github.com/Runheme)
+
+## Bootloader
+* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmwar
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mokey/ibis80:default
+
+Flashing example for this keyboard:
+
+ make mokey/ibis80: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/mokey/ibis80/rules.mk b/keyboards/mokey/ibis80/rules.mk
new file mode 100644
index 0000000000..1275531ef6
--- /dev/null
+++ b/keyboards/mokey/ibis80/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/mokey/mokey63/config.h b/keyboards/mokey/mokey63/config.h
index 504a274143..a8917c31f9 100644
--- a/keyboards/mokey/mokey63/config.h
+++ b/keyboards/mokey/mokey63/config.h
@@ -16,20 +16,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x063A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rhmokey
-#define PRODUCT MOKEY63
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B5, B6, B2, B3, B1 }
#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mokey/mokey63/info.json b/keyboards/mokey/mokey63/info.json
index 476667dfbc..f34c47050e 100644
--- a/keyboards/mokey/mokey63/info.json
+++ b/keyboards/mokey/mokey63/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mokey63",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "mokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x063A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mokey/mokey64/config.h b/keyboards/mokey/mokey64/config.h
index 52345ed973..685d26af00 100644
--- a/keyboards/mokey/mokey64/config.h
+++ b/keyboards/mokey/mokey64/config.h
@@ -16,19 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x001A
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER rhmokey
-#define PRODUCT MOKEY64
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, B2, B3, B4, B5 }
#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D2, D1, D3, D5, D4, D6, D7, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mokey/mokey64/info.json b/keyboards/mokey/mokey64/info.json
index 62b9c90493..4673f1120c 100644
--- a/keyboards/mokey/mokey64/info.json
+++ b/keyboards/mokey/mokey64/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mokey64",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "mokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x001A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mokey/xox70/config.h b/keyboards/mokey/xox70/config.h
index f5c08c4480..a0696aad05 100644
--- a/keyboards/mokey/xox70/config.h
+++ b/keyboards/mokey/xox70/config.h
@@ -15,20 +15,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x3370
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mokey
-#define PRODUCT XOX 70
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 }
#define MATRIX_COL_PINS { F6, C7, F4, F5, F1, B6, D0, D2, D3, D1, D7, D4, D5, D6, B4, B5, C6, B7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mokey/xox70/info.json b/keyboards/mokey/xox70/info.json
index 5baa620bc6..73aa7e8dec 100644
--- a/keyboards/mokey/xox70/info.json
+++ b/keyboards/mokey/xox70/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "xox70",
+ "keyboard_name": "XOX 70",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "Mokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x3370",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/mokey/xox70hot/config.h b/keyboards/mokey/xox70hot/config.h
index bc2279e3d1..a0696aad05 100644
--- a/keyboards/mokey/xox70hot/config.h
+++ b/keyboards/mokey/xox70hot/config.h
@@ -15,20 +15,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6653
-#define PRODUCT_ID 0x3371
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mokey
-#define PRODUCT xox70hot
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 }
#define MATRIX_COL_PINS { F6, C7, F4, F5, F1, B6, D0, D2, D3, D1, D7, D4, D5, D6, B4, B5, C6, B7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mokey/xox70hot/info.json b/keyboards/mokey/xox70hot/info.json
index a1fc86924f..8a490265ec 100644
--- a/keyboards/mokey/xox70hot/info.json
+++ b/keyboards/mokey/xox70hot/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "xox70hot",
+ "keyboard_name": "XOX 70 Hotswap",
+ "manufacturer": "Mokey",
"url": "",
"maintainer": "rhmokey",
+ "usb": {
+ "vid": "0x6653",
+ "pid": "0x3371",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_tkl_nofrow_ansi_tsangan"
},
diff --git a/keyboards/molecule/config.h b/keyboards/molecule/config.h
index 419554ed2c..8f7396dfc8 100755
--- a/keyboards/molecule/config.h
+++ b/keyboards/molecule/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER bbrfkr
-#define PRODUCT molecule
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, B6 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/molecule/info.json b/keyboards/molecule/info.json
index 9f65262170..e820ad9968 100755
--- a/keyboards/molecule/info.json
+++ b/keyboards/molecule/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "molecule",
+ "manufacturer": "bbrfkr",
"url": "https://github.com/bbrfkr/keyboards/tree/master/molecule",
"maintainer": "bbrfkr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/momoka_ergo/config.h b/keyboards/momoka_ergo/config.h
index e8fe01f504..e480581220 100644
--- a/keyboards/momoka_ergo/config.h
+++ b/keyboards/momoka_ergo/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER StefanGrindelwald
-#define PRODUCT Momoka Ergo
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -116,12 +108,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
-#define BOOTMAGIC_KEY_SALT KC_RSFT||KC_LSFT
-#define BOOTMAGIC_KEY_SKIP KC_ESC
-#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_NO
-#define OOTMAGIC_KEY_BOOTLOADER KC_RCTL||KC_LCTL
-#define BOOTMAGIC_KEY_EE_HANDS_LEFT KC_T
-#define BOOTMAGIC_KEY_EE_HANDS_RIGHT KC_Y
+
#define USE_SERIAL
#define SPLIT_USB_DETECT
#define EE_HANDS
diff --git a/keyboards/momoka_ergo/info.json b/keyboards/momoka_ergo/info.json
index 058596fe55..c4d6cf38d7 100644
--- a/keyboards/momoka_ergo/info.json
+++ b/keyboards/momoka_ergo/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MOMOKA_ERGO",
+ "keyboard_name": "Momoka Ergo",
+ "manufacturer": "StefanGrindelwald",
"url": "",
"maintainer": "StefanGrindelwald",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/momokai/tap_trio/config.h b/keyboards/momokai/tap_trio/config.h
index 8dc38b10ea..431a570e15 100644
--- a/keyboards/momokai/tap_trio/config.h
+++ b/keyboards/momokai/tap_trio/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x69F9 // "69" + "Popular Racing Movie 9" = Momokai (?)
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Momokai
-#define PRODUCT Tap Trio
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
diff --git a/keyboards/momokai/tap_trio/info.json b/keyboards/momokai/tap_trio/info.json
index efe4fc6111..8f3c6ebb6d 100644
--- a/keyboards/momokai/tap_trio/info.json
+++ b/keyboards/momokai/tap_trio/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Momokai Tap Trio",
+ "keyboard_name": "Tap Trio",
+ "manufacturer": "Momokai",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x69F9",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/monarch/config.h b/keyboards/monarch/config.h
index 90131c5931..f725621c81 100644
--- a/keyboards/monarch/config.h
+++ b/keyboards/monarch/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4011
-#define PRODUCT_ID 0x43C1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DoCallMeKing
-#define PRODUCT Monarch
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/monarch/info.json b/keyboards/monarch/info.json
index f8bc67f1c1..7e615207b6 100644
--- a/keyboards/monarch/info.json
+++ b/keyboards/monarch/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Monarch",
+ "manufacturer": "DoCallMeKing",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0x4011",
+ "pid": "0x43C1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"x":0.25, "y":0.25}, {"x":1.25, "y":0.25}, {"x":2.25, "y":0.25}, {"x":3.25, "y":0.25}, {"x":4.25, "y":0.25}, {"x":5.25, "y":0.25}, {"x":6.25, "y":0.25}, {"x":7.25, "y":0.25}, {"x":8.25, "y":0.25}, {"x":9.25, "y":0.25}, {"x":10.25, "y":0.25}, {"x":11.25, "y":0.25}, {"x":12.25, "y":0.25}, {"x":13.25, "y":0.25}, {"x":14.25, "y":0.25}, {"x":15.75, "y":0.25}, {"x":0.25, "y":1.25, "w":1.5}, {"x":1.75, "y":1.25}, {"x":2.75, "y":1.25}, {"x":3.75, "y":1.25}, {"x":4.75, "y":1.25}, {"x":5.75, "y":1.25}, {"x":6.75, "y":1.25}, {"x":7.75, "y":1.25}, {"x":8.75, "y":1.25}, {"x":9.75, "y":1.25}, {"x":10.75, "y":1.25}, {"x":11.75, "y":1.25}, {"x":12.75, "y":1.25}, {"x":13.75, "y":1.25, "w":1.5}, {"x":15.75, "y":1.75}, {"x":0.25, "y":2.25, "w":1.75}, {"x":2, "y":2.25}, {"x":3, "y":2.25}, {"x":4, "y":2.25}, {"x":5, "y":2.25}, {"x":6, "y":2.25}, {"x":7, "y":2.25}, {"x":8, "y":2.25}, {"x":9, "y":2.25}, {"x":10, "y":2.25}, {"x":11, "y":2.25}, {"x":12, "y":2.25}, {"x":13, "y":2.25, "w":2.25}, {"x":15.75, "y":2.75}, {"x":0.25, "y":3.25, "w":2.25}, {"x":2.5, "y":3.25}, {"x":3.5, "y":3.25}, {"x":4.5, "y":3.25}, {"x":5.5, "y":3.25}, {"x":6.5, "y":3.25}, {"x":7.5, "y":3.25}, {"x":8.5, "y":3.25}, {"x":9.5, "y":3.25}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.25}, {"x":12.5, "y":3.25, "w":1.75}, {"x":14.5, "y":3.5}, {"x":0.25, "y":4.25, "w":1.5}, {"x":1.75, "y":4.25}, {"x":2.75, "y":4.25, "w":1.5}, {"x":4.25, "y":4.25, "w":7}, {"x":11.25, "y":4.25, "w":1.5}, {"x":13.5, "y":4.5}, {"x":14.5, "y":4.5}, {"x":15.5, "y":4.5}]
diff --git a/keyboards/monoflex60/config.h b/keyboards/monoflex60/config.h
index 6e02810027..2663b4ffb3 100644
--- a/keyboards/monoflex60/config.h
+++ b/keyboards/monoflex60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDEB4
-#define PRODUCT_ID 0x60EB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SanitGo Customs
-#define PRODUCT Monoflex 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, D3, D2, D5 }
#define MATRIX_COL_PINS { B7, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/monoflex60/info.json b/keyboards/monoflex60/info.json
index 7a4fb99447..64fc9f789a 100644
--- a/keyboards/monoflex60/info.json
+++ b/keyboards/monoflex60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Monoflex 60",
+ "manufacturer": "SanitGo Customs",
"url": "",
"maintainer": "keyten",
+ "usb": {
+ "vid": "0xDEB4",
+ "pid": "0x60EB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/monoflex60/readme.md b/keyboards/monoflex60/readme.md
index cfb4e31d15..62b609e7c4 100644
--- a/keyboards/monoflex60/readme.md
+++ b/keyboards/monoflex60/readme.md
@@ -25,5 +25,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* Keycode in layout: Press the key mapped to RESET if it is available
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
* Physical reset button: Press the button on the back of the PCB
diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h
index dabca04514..4117f243ac 100644
--- a/keyboards/monstargear/xo87/rgb/config.h
+++ b/keyboards/monstargear/xo87/rgb/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D47 // MG for Monstargear
-#define PRODUCT_ID 0x584F // XO for XO87
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Monstargear
-#define PRODUCT XO87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -32,7 +25,6 @@
#define BACKLIGHT_PIN F5
#define MATRIX_ROW_PINS { E6,E7, E3, B0, B1 ,A2}
#define MATRIX_COL_PINS { C5,C3,C1,E1,D6,D2,B7,B3,F6,F7,F3,A5,A1,E2,C7,A6 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
#define RGB_DI_PIN D7
#define DRIVER_LED_TOTAL 110
diff --git a/keyboards/monstargear/xo87/rgb/info.json b/keyboards/monstargear/xo87/rgb/info.json
index 000eb9b65e..9605d5888c 100644
--- a/keyboards/monstargear/xo87/rgb/info.json
+++ b/keyboards/monstargear/xo87/rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XO87 RGB",
+ "manufacturer": "Monstargear",
"url": "https://www.monstargears.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D47",
+ "pid": "0x584F",
+ "device_version": "0.0.1"
+ },
"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":"Win", "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}]
diff --git a/keyboards/monstargear/xo87/solderable/config.h b/keyboards/monstargear/xo87/solderable/config.h
index d5d4540514..8b3af96024 100644
--- a/keyboards/monstargear/xo87/solderable/config.h
+++ b/keyboards/monstargear/xo87/solderable/config.h
@@ -20,13 +20,6 @@
#define brightnessMax 8
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D47 // MG for Monstargear
-#define PRODUCT_ID 0x5344 // SD for Soldered
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Monstargear
-#define PRODUCT XO87 Soldered
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@
#define KEYLED_COL_PINS { C4,C2,C0,E0,D4,E4,B6,B2,F4,A0,F2,A4,F1,A7,D3,A3 }
#define LED_DRIVER_LED_COUNT 93
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
#define RGB_DI_PIN D7
#define DRIVER_LED_TOTAL 21
diff --git a/keyboards/monstargear/xo87/solderable/info.json b/keyboards/monstargear/xo87/solderable/info.json
index 52a7877903..d07bdfc6be 100644
--- a/keyboards/monstargear/xo87/solderable/info.json
+++ b/keyboards/monstargear/xo87/solderable/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "XO87 Solderable",
+ "keyboard_name": "XO87 Soldered",
+ "manufacturer": "Monstargear",
"url": "https://www.monstargears.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D47",
+ "pid": "0x5344",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/montsinger/rebound/rev1/config.h b/keyboards/montsinger/rebound/rev1/config.h
index afd174266e..446d6db71d 100644
--- a/keyboards/montsinger/rebound/rev1/config.h
+++ b/keyboards/montsinger/rebound/rev1/config.h
@@ -16,14 +16,6 @@ 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 0x552F
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rebound
-
/* key matrix size */
#define MATRIX_ROWS 4
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { D1, B5, B2, B6 }
#define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B4, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { D2, D3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/montsinger/rebound/rev1/info.json b/keyboards/montsinger/rebound/rev1/info.json
index 4bfd500950..f4b4362470 100644
--- a/keyboards/montsinger/rebound/rev1/info.json
+++ b/keyboards/montsinger/rebound/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard": "montsinger/rebound/rev1",
+ "keyboard": "Rebound Rev1",
+ "manufacturer": "Montsinger",
"url": "https://montsinger.net",
"maintainer": "rossman360",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x552F",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/montsinger/rebound/rev2/config.h b/keyboards/montsinger/rebound/rev2/config.h
index 9f4956081b..0cdb9f8d61 100644
--- a/keyboards/montsinger/rebound/rev2/config.h
+++ b/keyboards/montsinger/rebound/rev2/config.h
@@ -16,14 +16,6 @@ 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 0x552F
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rebound
-
/* key matrix size */
#define MATRIX_ROWS 5
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { D1, B5, B2, B6, B0 }
#define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B4, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { }
#define ENCODERS_PAD_A { D2 }
#define ENCODERS_PAD_B { D3 }
diff --git a/keyboards/montsinger/rebound/rev2/info.json b/keyboards/montsinger/rebound/rev2/info.json
index b732b9487b..99e07ef405 100644
--- a/keyboards/montsinger/rebound/rev2/info.json
+++ b/keyboards/montsinger/rebound/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard":"montsinger/rebound/rev2",
+ "keyboard":"Rebound Rev2",
+ "manufacturer": "Montsinger",
"url": "https://montsinger.net",
"maintainer": "rossman360",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x552F",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/montsinger/rebound/rev3/config.h b/keyboards/montsinger/rebound/rev3/config.h
index c93ce59b99..25dee80ff3 100644
--- a/keyboards/montsinger/rebound/rev3/config.h
+++ b/keyboards/montsinger/rebound/rev3/config.h
@@ -16,14 +16,6 @@ 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 0x552F
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rebound
-
/* key matrix size */
#define MATRIX_ROWS 5
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { F4, F5, D1, D0, B0 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6 }
-#define UNUSED_PINS { }
#define ENCODERS_PAD_A { D3 }
#define ENCODERS_PAD_B { D2 }
diff --git a/keyboards/montsinger/rebound/rev3/info.json b/keyboards/montsinger/rebound/rev3/info.json
index aa435c7815..e2ba432c57 100644
--- a/keyboards/montsinger/rebound/rev3/info.json
+++ b/keyboards/montsinger/rebound/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard":"montsinger/rebound/rev3",
+ "keyboard":"Rebound Rev3",
+ "manufacturer": "Montsinger",
"url": "https://montsinger.net",
"maintainer": "rossman360",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x552F",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/montsinger/rebound/rev3/keymaps/rossman360/keymap.c b/keyboards/montsinger/rebound/rev3/keymaps/rossman360/keymap.c
index 207f907f6d..6d9c31ba80 100644
--- a/keyboards/montsinger/rebound/rev3/keymaps/rossman360/keymap.c
+++ b/keyboards/montsinger/rebound/rev3/keymaps/rossman360/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_DEL] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
REMCAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
_______, _______, _______, KC_DEL , KC_BSPC, BWORD , _______, KC_NO , KC_NO , _______, _______, _______, _______
diff --git a/keyboards/montsinger/rebound/rev4/config.h b/keyboards/montsinger/rebound/rev4/config.h
index 60a255f49d..6b03a19288 100644
--- a/keyboards/montsinger/rebound/rev4/config.h
+++ b/keyboards/montsinger/rebound/rev4/config.h
@@ -16,14 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x524D
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rebound
-
/* key matrix size */
#define MATRIX_ROWS 8
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { D1, D0, D4, C6, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { D7, E6, B4, B5, B2, B3, B1 }
-#define UNUSED_PINS { B6 }
#define ENCODERS_PAD_A { D2 }
#define ENCODERS_PAD_B { D3 }
diff --git a/keyboards/montsinger/rebound/rev4/info.json b/keyboards/montsinger/rebound/rev4/info.json
index d76547a216..bfe2b6a372 100644
--- a/keyboards/montsinger/rebound/rev4/info.json
+++ b/keyboards/montsinger/rebound/rev4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard":"montsinger/rebound/rev4",
+ "keyboard":"Rebound Rev4",
+ "manufacturer": "Montsinger",
"url": "https://montsinger.net",
"maintainer": "rossman360",
+ "usb": {
+ "vid": "0x524D",
+ "pid": "0x0001",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap.c b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap.c
index d49465eea9..00ae6c6981 100644
--- a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap.c
+++ b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_DEL] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
REMCAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
_______, _______, _______, BLINE , KC_BSPC, BWORD , _______, KC_NO , KC_NO , _______, _______, _______, _______
diff --git a/keyboards/montsinger/rewind/config.h b/keyboards/montsinger/rewind/config.h
index 09ddf2c209..bc83168ae6 100644
--- a/keyboards/montsinger/rewind/config.h
+++ b/keyboards/montsinger/rewind/config.h
@@ -16,14 +16,6 @@ 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 0x552F
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rewind
-
/* key matrix size */
#define MATRIX_ROWS 5
@@ -43,7 +35,6 @@ diode)
#define MATRIX_ROW_PINS { B5, B4, D2, D3, B2 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS { F4, F5, B6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/montsinger/rewind/info.json b/keyboards/montsinger/rewind/info.json
index ecd7c21117..5e0bf1e3e1 100644
--- a/keyboards/montsinger/rewind/info.json
+++ b/keyboards/montsinger/rewind/info.json
@@ -1,7 +1,13 @@
{
- "keyboard":"montsinger/rewind",
+ "keyboard":"Rewind",
+ "manufacturer": "Montsinger",
"url": "https://montsinger.net",
"maintainer": "rossman360",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x552F",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_5x10": {
"layout": [
diff --git a/keyboards/montsinger/rewind/keymaps/rossman360/keymap.c b/keyboards/montsinger/rewind/keymaps/rossman360/keymap.c
index 152a305237..ef27d37596 100644
--- a/keyboards/montsinger/rewind/keymaps/rossman360/keymap.c
+++ b/keyboards/montsinger/rewind/keymaps/rossman360/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_ortho_5x10(
- XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
JUMPBACK,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_LEFT, KC_UP, KC_RIGHT,KC_END,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, PMERGE, KC_DOWN, XXXXXXX, XXXXXXX,
diff --git a/keyboards/moon/config.h b/keyboards/moon/config.h
index 5f23cfd755..361fc5ba9d 100644
--- a/keyboards/moon/config.h
+++ b/keyboards/moon/config.h
@@ -19,13 +19,6 @@ 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 0xFCB8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER EVE
-#define PRODUCT Moon
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 11
diff --git a/keyboards/moon/info.json b/keyboards/moon/info.json
index b25f34eb0c..782f5b24e3 100644
--- a/keyboards/moon/info.json
+++ b/keyboards/moon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Moon",
+ "manufacturer": "EVE",
"url": "https://geekhack.org/index.php?topic=90379.0",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xFCB8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h
index 9930e64063..b0ff86ee81 100644
--- a/keyboards/moonlander/config.h
+++ b/keyboards/moonlander/config.h
@@ -20,17 +20,8 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-// clang-format off
-#define VENDOR_ID 0x3297
-#define PRODUCT_ID 0x1969
-#define MANUFACTURER ZSA Technology Labs
-#define PRODUCT Moonlander Mark I
-#define DEVICE_VER 0x0001
#define WEBUSB_LANDING_PAGE_URL u8"configure.ergodox-ez.com"
-// clang-format on
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
diff --git a/keyboards/moonlander/info.json b/keyboards/moonlander/info.json
index 60b560eeee..6322dccd5b 100644
--- a/keyboards/moonlander/info.json
+++ b/keyboards/moonlander/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Moonlander Mark I",
+ "manufacturer": "ZSA Technology Labs",
"url": "zsa.io/moonlander",
"maintainer": "ZSA via Drashna",
+ "usb": {
+ "vid": "0x3297",
+ "pid": "0x1969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_moonlander": {
"layout": [
diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
index 6ea1541da2..44679baf74 100644
--- a/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
index b6bac9515e..36017fcd12 100644
--- a/keyboards/moonlander/matrix.c
+++ b/keyboards/moonlander/matrix.c
@@ -227,3 +227,7 @@ void matrix_power_up(void) {
}
}
+
+bool is_transport_connected(void) {
+ return mcp23018_initd;
+} \ No newline at end of file
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index e2e163f116..927c88925e 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -320,7 +320,7 @@ bool music_mask_kb(uint16_t keycode) {
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX:
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
case AU_ON ... MUV_DE:
- case RESET:
+ case QK_BOOT:
case EEP_RST:
return false;
default:
diff --git a/keyboards/moonlander/moonlander.h b/keyboards/moonlander/moonlander.h
index 8598260211..90ce84b3e3 100644
--- a/keyboards/moonlander/moonlander.h
+++ b/keyboards/moonlander/moonlander.h
@@ -82,3 +82,5 @@ typedef union {
} keyboard_config_t;
extern keyboard_config_t keyboard_config;
+
+bool is_transport_connected(void); \ No newline at end of file
diff --git a/keyboards/moonlander/readme.md b/keyboards/moonlander/readme.md
index bf80f05569..733780abde 100644
--- a/keyboards/moonlander/readme.md
+++ b/keyboards/moonlander/readme.md
@@ -41,4 +41,18 @@ If you're using the Smart LED (layer indication) feature from the Oryx Configura
This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.
-Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.
+Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.
+
+### Detecting split / Gaming mode
+
+To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak).
+
+Example for enabling a specific layer while right side is disconnected:
+
+```
+void housekeeping_task_user(void) {
+ if (!is_transport_connected()) {
+ // set layer
+ }
+}
+``` \ No newline at end of file
diff --git a/keyboards/morizon/config.h b/keyboards/morizon/config.h
index 4b419283cb..732864d2ef 100644
--- a/keyboards/morizon/config.h
+++ b/keyboards/morizon/config.h
@@ -19,20 +19,12 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Steven Karrmann
-#define PRODUCT Morizon
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS { F4 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/morizon/info.json b/keyboards/morizon/info.json
index 5e22001c79..6c0c20837b 100644
--- a/keyboards/morizon/info.json
+++ b/keyboards/morizon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Morizon",
+ "manufacturer": "Steven Karrmann",
"url": "https://github.com/skarrmann/morizon",
"maintainer": "Steven Karrmann",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/morizon/readme.md b/keyboards/morizon/readme.md
index 5c95e9788c..9c509d41ba 100644
--- a/keyboards/morizon/readme.md
+++ b/keyboards/morizon/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard.
* **Physical reset button**: Briefly press the button on the top center of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/mountainblocks/mb17/config.h b/keyboards/mountainblocks/mb17/config.h
index 9667d9e551..bd397ee541 100644
--- a/keyboards/mountainblocks/mb17/config.h
+++ b/keyboards/mountainblocks/mb17/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D42
-#define PRODUCT_ID 0x0017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mountainblocks
-#define PRODUCT MB17
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F7, E6, D7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mountainblocks/mb17/info.json b/keyboards/mountainblocks/mb17/info.json
index b3bf74cdb2..46f1133aad 100644
--- a/keyboards/mountainblocks/mb17/info.json
+++ b/keyboards/mountainblocks/mb17/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MB17",
+ "manufacturer": "Mountainblocks",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D42",
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"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":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":1, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4, "w":2}, {"x":2, "y":4}, {"x":3, "y":3, "h":2}]
diff --git a/keyboards/ms_sculpt/config.h b/keyboards/ms_sculpt/config.h
new file mode 100644
index 0000000000..710fc756af
--- /dev/null
+++ b/keyboards/ms_sculpt/config.h
@@ -0,0 +1,16 @@
+// Copyright 2022 Jean Bernard (@jn-bernard)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+#define BOOTMAGIC_LITE_ROW 4
+#define BOOTMAGIC_LITE_COLUMN 13
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 18
diff --git a/keyboards/ms_sculpt/info.json b/keyboards/ms_sculpt/info.json
new file mode 100644
index 0000000000..4eaf4b0a75
--- /dev/null
+++ b/keyboards/ms_sculpt/info.json
@@ -0,0 +1,129 @@
+{
+ "manufacturer": "Jean Bernard",
+ "keyboard_name": "ms_sculpt",
+ "maintainer": "jn-bernard",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": false
+ },
+ "matrix_pins": {
+ "rows": ["B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
+ "cols": ["A2","B8","A0","C15","C14","A14","A13","B7","B6","B5","B4","B3","A15","A10","A8","B15","B14","B12"],
+ "ghost": true,
+ "io_delay": 5
+ },
+ "processor": "STM32F401",
+ "url": "",
+ "usb": {
+ "polling_interval": 1,
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xFEED"
+ },
+ "layouts": {
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0, "w":1, "h":0.8},
+ {"label":"F1", "x":1, "y":0, "w":1, "h":0.8},
+ {"label":"F2", "x":2, "y":0, "w":1, "h":0.8},
+ {"label":"F3", "x":3, "y":0, "w":1, "h":0.8},
+ {"label":"F4", "x":4, "y":0, "w":1, "h":0.8},
+ {"label":"F5", "x":5, "y":0, "w":1, "h":0.8},
+ {"label":"F6", "x":6, "y":0, "w":1, "h":0.8},
+ {"label":"F7", "x":8, "y":0, "w":0.975, "h":0.8},
+ {"label":"F8", "x":8.975, "y":0, "w":0.975, "h":0.8},
+ {"label":"F9", "x":9.95, "y":0, "w":0.975, "h":0.8},
+ {"label":"F10", "x":10.925, "y":0, "w":0.975, "h":0.8},
+ {"label":"F11", "x":11.9, "y":0, "w":0.975, "h":0.8},
+ {"label":"F12", "x":12.875, "y":0, "w":0.975, "h":0.8},
+ {"label":"Print Screen", "x":13.85, "y":0, "w":0.975, "h":0.8},
+ {"label":"Scroll Lock", "x":14.825, "y":0, "w":0.975, "h":0.8},
+ {"label":"Pause", "x":15.8, "y":0, "w":0.975, "h":0.8},
+ {"label":"Calculator", "x":16.775, "y":0, "w":0.975, "h":0.8},
+
+ {"label":"`~", "x":0, "y":0.8},
+ {"label":"1!", "x":1, "y":0.8},
+ {"label":"2@", "x":2, "y":0.8},
+ {"label":"3#", "x":3, "y":0.8},
+ {"label":"4$", "x":4, "y":0.8},
+ {"label":"5%", "x":5, "y":0.8},
+ {"label":"6^", "x":6, "y":0.8},
+ {"label":"7&", "x":8, "y":0.8, "w":1.5},
+ {"label":"8*", "x":9.5, "y":0.8},
+ {"label":"9(", "x":10.5, "y":0.8},
+ {"label":"0)", "x":11.5, "y":0.8},
+ {"label":"-_", "x":12.5, "y":0.8},
+ {"label":"=+", "x":13.5, "y":0.8},
+ {"label":"Backspace", "x":14.5, "y":0.8, "w":2.25},
+ {"label":"Delete", "x":16.75, "y":0.8, "h":2},
+ {"label":"Home", "x":17.75, "y":0.8},
+
+ {"label":"Tab", "x":0, "y":1.8, "w":1.25},
+ {"label":"Q", "x":1.25, "y":1.8},
+ {"label":"W", "x":2.25, "y":1.8},
+ {"label":"E", "x":3.25, "y":1.8},
+ {"label":"R", "x":4.25, "y":1.8},
+ {"label":"T", "x":5.25, "y":1.8, "w":1.75},
+ {"label":"Y", "x":8, "y":1.8, "w":1.25},
+ {"label":"U", "x":9.25, "y":1.8},
+ {"label":"I", "x":10.25, "y":1.8},
+ {"label":"O", "x":11.25, "y":1.8},
+ {"label":"P", "x":12.25, "y":1.8},
+ {"label":"[{", "x":13.25, "y":1.8},
+ {"label":"]}", "x":14.25, "y":1.8},
+ {"label":"End", "x":17.75, "y":1.8},
+
+ {"label":"Shift", "x":0, "y":2.8, "w":1.5},
+ {"label":"A", "x":1.5, "y":2.8},
+ {"label":"S", "x":2.5, "y":2.8},
+ {"label":"D", "x":3.5, "y":2.8},
+ {"label":"F", "x":4.5, "y":2.8},
+ {"label":"G", "x":5.5, "y":2.8, "w":1.5},
+ {"label":"H", "x":8, "y":2.8, "w":1.5},
+ {"label":"J", "x":9.5, "y":2.8},
+ {"label":"K", "x":10.5, "y":2.8},
+ {"label":"L", "x":11.5, "y":2.8},
+ {"label":";:", "x":12.5, "y":2.8},
+ {"label":"'@", "x":13.5, "y":2.8},
+ {"label":"#~", "x":14.5, "y":2.8},
+ {"label":"Enter", "x":15.5, "y":1.8, "w":1.25, "h":2},
+ {"label":"Insert", "x":16.75, "y":2.8},
+ {"label":"Page Up", "x":17.75, "y":2.8},
+
+ {"label":"Shift", "x":0, "y":3.8},
+ {"label":"\\|", "x":1, "y":3.8},
+ {"label":"Z", "x":2, "y":3.8},
+ {"label":"X", "x":3, "y":3.8},
+ {"label":"C", "x":4, "y":3.8},
+ {"label":"V", "x":5, "y":3.8},
+ {"label":"B", "x":6, "y":3.8},
+ {"label":"N", "x":8, "y":3.8, "w":2},
+ {"label":"M", "x":10, "y":3.8},
+ {"label":",<", "x":11, "y":3.8},
+ {"label":".>", "x":12, "y":3.8},
+ {"label":"/?", "x":13, "y":3.8},
+ {"label":"Shift", "x":14, "y":3.8, "w":2.75},
+ {"label":"\u2191", "x":16.75, "y":3.8},
+ {"label":"Page Down", "x":17.75, "y":3.8},
+
+ {"label":"Ctrl", "x":0, "y":4.8, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4.8, "w":1.5},
+ {"label":"Alt", "x":3, "y":4.8, "w":1.5},
+ {"label":"Space", "x":4.5, "y":4.8, "w":3},
+ {"label":"Space", "x":7.5, "y":4.8, "w":3},
+ {"label":"AltGr", "x":10.5, "y":4.8, "w":1.5},
+ {"label":"App", "x":12, "y":4.8, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4.8, "w":2.25},
+ {"label":"\u2190", "x":15.75, "y":4.8},
+ {"label":"\u2192", "x":16.75, "y":4.8},
+ {"label":"\u2193", "x":17.75, "y":4.8}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ms_sculpt/keymaps/default/keymap.c b/keyboards/ms_sculpt/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b82c37a773
--- /dev/null
+++ b/keyboards/ms_sculpt/keymaps/default/keymap.c
@@ -0,0 +1,21 @@
+// Copyright 2022 Jean Bernard (@jn-bernard)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _BASE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_iso( \
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
+ 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_PSCREEN, KC_SLCK, KC_PAUSE, KC_CALC, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_END, \
+ 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_NUHS, KC_ENT, KC_INS, KC_PGUP, \
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
+ ),
+};
diff --git a/keyboards/ms_sculpt/ms_sculpt.h b/keyboards/ms_sculpt/ms_sculpt.h
new file mode 100644
index 0000000000..056f7d5b5d
--- /dev/null
+++ b/keyboards/ms_sculpt/ms_sculpt.h
@@ -0,0 +1,25 @@
+// Copyright 2022 Jean Bernard (@jn-bernard)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_iso( \
+ k4D, k7C, k7B, k1B, k4B, k1A, k1F, k79, k77, k75, k78, k73, k13, k71, k31, k01, k23, \
+ k7D, k0D, k0C, k2D, k1D, k7A, k7F, k09, k07, k05, k04, k15, k74, k08, k03, k21, \
+ k0A, k0B, k1C, k2B, k2A, k2F, k19, k29, k27, k25, k24, k14, k17, k51, \
+ k2C, k3D, k4C, k3B, k3A, k4A, k49, k39, k37, k35, k34, k45, k65, k33, k18, k11, \
+ k5E, k6C, k5D, k5C, k5B, k5A, k6A, k69, k59, k57, k55, k44, k52, k63, k53, \
+ k6H, k3F, k4G, k6B, k68, k46, k43, k60, k48, k64, k61 \
+) \
+{ \
+ {KC_NO, k01, KC_NO, k03, k04, k05, KC_NO, k07, k08, k09, k0A, k0B, k0C, k0D, KC_NO, KC_NO, KC_NO, KC_NO}, \
+ {KC_NO, k11, KC_NO, k13, k14, k15, KC_NO, k17, k18, k19, k1A, k1B, k1C, k1D, KC_NO, k1F, KC_NO, KC_NO}, \
+ {KC_NO, k21, KC_NO, k23, k24, k25, KC_NO, k27, KC_NO, k29, k2A, k2B, k2C, k2D, KC_NO, k2F, KC_NO, KC_NO}, \
+ {KC_NO, k31, KC_NO, k33, k34, k35, KC_NO, k37, KC_NO, k39, k3A, k3B, k6C, k3D, KC_NO, k3F, KC_NO, KC_NO}, \
+ {KC_NO, KC_NO, KC_NO, k43, k44, k45, k46, KC_NO, k48, k49, k4A, k4B, k4C, k4D, KC_NO, KC_NO, k4G, KC_NO}, \
+ {KC_NO, k51, k52, k53, k65, k55, KC_NO, k57, KC_NO, k59, k5A, k5B, k5C, k5D, k5E, KC_NO, KC_NO, KC_NO}, \
+ {k60, k61, KC_NO, k63, k64, KC_NO, KC_NO, KC_NO, k68, k69, k6A, k6B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k6H}, \
+ {KC_NO, k71, KC_NO, k73, k74, k75, KC_NO, k77, k78, k79, k7A, k7B, k7C, k7D, KC_NO, k7F, KC_NO, KC_NO} \
+}
diff --git a/keyboards/ms_sculpt/readme.md b/keyboards/ms_sculpt/readme.md
new file mode 100644
index 0000000000..45db8173b2
--- /dev/null
+++ b/keyboards/ms_sculpt/readme.md
@@ -0,0 +1,27 @@
+# ms_sculpt
+
+![ms_sculpt_with_cold_dry_joints](https://user-images.githubusercontent.com/105235786/168012266-4e235bf5-8d34-4731-ab17-2308a9d9a29e.jpg)
+
+MS Sculpt Keyboard ISO-layout wired to STM32F401 / blackpill
+
+* Keyboard Maintainer: [Jean Bernard](https://github.com/jn-bernard)
+* Hardware Supported: MS Sculpt Keyboard ISO-layout, STM32F401
+* Hardware Availability: Ebay
+
+Make example for this keyboard (after setting up your build environment):
+
+ make ms_sculpt:default
+
+Flashing example for this keyboard:
+
+ make ms_sculpt:default:flash
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+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/ms_sculpt/rules.mk b/keyboards/ms_sculpt/rules.mk
new file mode 100644
index 0000000000..d64abe822d
--- /dev/null
+++ b/keyboards/ms_sculpt/rules.mk
@@ -0,0 +1,3 @@
+# This file intentionally left blank
+DEBOUNCE_TYPE = sym_eager_pk
+DEBOUNCE = 3
diff --git a/keyboards/mschwingen/modelm/config.h b/keyboards/mschwingen/modelm/config.h
index 57ac1c089b..439faf5055 100644
--- a/keyboards/mschwingen/modelm/config.h
+++ b/keyboards/mschwingen/modelm/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x558E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mschwingen
-#define PRODUCT IBM Model M 101/102
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
diff --git a/keyboards/mschwingen/modelm/info.json b/keyboards/mschwingen/modelm/info.json
index 3a34f92180..37bdb91160 100644
--- a/keyboards/mschwingen/modelm/info.json
+++ b/keyboards/mschwingen/modelm/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "atmega32U4 board for IBM Model M",
+ "keyboard_name": "IBM Model M 101/102",
+ "manufacturer": "mschwingen",
"url": "",
"maintainer": "mschwingen",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x558E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mschwingen/modelm/modelm.c b/keyboards/mschwingen/modelm/modelm.c
index 7dcd4ac024..0ff58f4be3 100644
--- a/keyboards/mschwingen/modelm/modelm.c
+++ b/keyboards/mschwingen/modelm/modelm.c
@@ -163,8 +163,8 @@ void update_layer_leds(void) {
static uint8_t old_layer = 255;
static uint8_t old_default_layer = 255;
- layer = biton32(layer_state);
- default_layer = biton32(default_layer_state);
+ layer = get_highest_layer(layer_state);
+ default_layer = get_highest_layer(default_layer_state);
if (isRecording && timer_elapsed(blink_cycle_timer) > 150) {
blink_state = !blink_state;
diff --git a/keyboards/mss_studio/m63_rgb/config.h b/keyboards/mss_studio/m63_rgb/config.h
index ad5fbfa1c3..a7220ab1c6 100644
--- a/keyboards/mss_studio/m63_rgb/config.h
+++ b/keyboards/mss_studio/m63_rgb/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4B
-#define PRODUCT_ID 0x6063
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mss Studio
-#define PRODUCT M63 RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -43,9 +36,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change larger keys per scan for elite gaming */
-#define QMK_KEYS_PER_SCAN 12
-
#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 75
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/mss_studio/m63_rgb/info.json b/keyboards/mss_studio/m63_rgb/info.json
index 651e58a100..577903c264 100644
--- a/keyboards/mss_studio/m63_rgb/info.json
+++ b/keyboards/mss_studio/m63_rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "M63 RGB",
+ "manufacturer": "Mss Studio",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x4D4B",
+ "pid": "0x6063",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_arrow": {
"layout": [
diff --git a/keyboards/mss_studio/m63_rgb/readme.md b/keyboards/mss_studio/m63_rgb/readme.md
index 942b7a60a6..33e4f58221 100644
--- a/keyboards/mss_studio/m63_rgb/readme.md
+++ b/keyboards/mss_studio/m63_rgb/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mss_studio/m64_rgb/config.h b/keyboards/mss_studio/m64_rgb/config.h
index 0c7f8d17e1..c9a1e3f3db 100644
--- a/keyboards/mss_studio/m64_rgb/config.h
+++ b/keyboards/mss_studio/m64_rgb/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4B
-#define PRODUCT_ID 0x6064
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mss Studio
-#define PRODUCT M64 RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -43,9 +36,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change larger keys per scan for elite gaming */
-#define QMK_KEYS_PER_SCAN 12
-
#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 76
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
diff --git a/keyboards/mss_studio/m64_rgb/info.json b/keyboards/mss_studio/m64_rgb/info.json
index 264e894377..971a213cb7 100644
--- a/keyboards/mss_studio/m64_rgb/info.json
+++ b/keyboards/mss_studio/m64_rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "M64 RGB",
+ "manufacturer": "Mss Studio",
"url": "",
"maintainer": "HorrorTroll",
+ "usb": {
+ "vid": "0x4D4B",
+ "pid": "0x6064",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/mss_studio/m64_rgb/readme.md b/keyboards/mss_studio/m64_rgb/readme.md
index 1925622b9c..360720b584 100644
--- a/keyboards/mss_studio/m64_rgb/readme.md
+++ b/keyboards/mss_studio/m64_rgb/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard
* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mt/blocked65/config.h b/keyboards/mt/blocked65/config.h
index 86e574feed..223b0fe0a1 100644
--- a/keyboards/mt/blocked65/config.h
+++ b/keyboards/mt/blocked65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5746 //WF
-#define PRODUCT_ID 0x0001 //Blocked65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Dou
-#define PRODUCT Blocked65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mt/blocked65/info.json b/keyboards/mt/blocked65/info.json
index aea7165abc..92f85b0798 100644
--- a/keyboards/mt/blocked65/info.json
+++ b/keyboards/mt/blocked65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Wheatfield blocked 65% keyboard",
+ "keyboard_name": "Blocked65",
+ "manufacturer": "Dou",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5746",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"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":"PrScr", "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":"Del", "x":15, "y":1}, {"label":"Caps Lock", "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":"\u2191", "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":"Fn", "x":10, "y":4, "w":1.25}, {"label":"Alt", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/mt/mt40/config.h b/keyboards/mt/mt40/config.h
index 6626b24f3a..7045dac8aa 100644
--- a/keyboards/mt/mt40/config.h
+++ b/keyboards/mt/mt40/config.h
@@ -19,15 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER ThomasDehaeze
-#define PRODUCT MT40
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -52,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-/* #define UNUSED_PINS */
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mt/mt40/info.json b/keyboards/mt/mt40/info.json
index 48a2b9233b..3f3c1fc374 100644
--- a/keyboards/mt/mt40/info.json
+++ b/keyboards/mt/mt40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MT40",
+ "manufacturer": "ThomasDehaeze",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h
index ea7659b471..8124a6a4a1 100644
--- a/keyboards/mt/mt64rgb/config.h
+++ b/keyboards/mt/mt64rgb/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D54 // "MT"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MT
-#define PRODUCT MT64RGB
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { D7, D6, D5, D3, D2 }
#define MATRIX_COL_PINS {B5, B6, C6, C7, F7, F6,F5, F4, F1, F0, B1, B2, B3, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mt/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json
index 840863bc24..b641badfa4 100644
--- a/keyboards/mt/mt64rgb/info.json
+++ b/keyboards/mt/mt64rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mt64rgb",
+ "keyboard_name": "MT64RGB",
+ "manufacturer": "MT",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D54",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"x":14, "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}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h
index bde8919ba7..ac510f1967 100644
--- a/keyboards/mt/mt84/config.h
+++ b/keyboards/mt/mt84/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D54 // "MT"
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MT
-#define PRODUCT MT84
-
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -41,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { D7, D6, D5, D3, D2, D4 }
#define MATRIX_COL_PINS {B5, B6, C6, C7, F7, F6,F5, F4, F1, F0, B1, B2, B3, B7, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mt/mt84/info.json b/keyboards/mt/mt84/info.json
index aaded30962..9be93e7e70 100644
--- a/keyboards/mt/mt84/info.json
+++ b/keyboards/mt/mt84/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mt84",
+ "keyboard_name": "MT84",
+ "manufacturer": "MT",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D54",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"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":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":4}, {"label":"End", "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":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/mt/mt980/config.h b/keyboards/mt/mt980/config.h
index ff6c5807df..c4b89fa7f7 100644
--- a/keyboards/mt/mt980/config.h
+++ b/keyboards/mt/mt980/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Wheat Field Peripherals
-#define PRODUCT MT980
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mt/mt980/info.json b/keyboards/mt/mt980/info.json
index be89ec8fc0..1e0ffaf11e 100644
--- a/keyboards/mt/mt980/info.json
+++ b/keyboards/mt/mt980/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "mt980",
+ "keyboard_name": "MT980",
+ "manufacturer": "Wheat Field Peripherals",
"url": "https://shop110310565.taobao.com",
"maintainer": "walkerstop",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mt/mt980/keymaps/walker/keymap.c b/keyboards/mt/mt980/keymaps/walker/keymap.c
index 83a3fb8167..f3f028aeba 100644
--- a/keyboards/mt/mt980/keymaps/walker/keymap.c
+++ b/keyboards/mt/mt980/keymaps/walker/keymap.c
@@ -36,11 +36,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = 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_PAUSE, KC_SLCK, KC_HOME, KC_END,
- 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, RGB_TOG, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS)
+ KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS)
};
@@ -107,7 +107,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed && is_oneshot_layer_active())
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
return true;
- case RESET:
+ case QK_BOOT:
/* Don't allow reset from oneshot layer state */
if (record->event.pressed && is_oneshot_layer_active()) {
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
diff --git a/keyboards/mt/split75/config.h b/keyboards/mt/split75/config.h
index 63c9492c31..dce3f6eea8 100644
--- a/keyboards/mt/split75/config.h
+++ b/keyboards/mt/split75/config.h
@@ -1,11 +1,5 @@
#pragma once
-#define VENDOR_ID 0x594D
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT Split75
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 14
diff --git a/keyboards/mt/split75/info.json b/keyboards/mt/split75/info.json
index 1d0609a378..3a83e816e2 100644
--- a/keyboards/mt/split75/info.json
+++ b/keyboards/mt/split75/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "split75",
+ "keyboard_name": "Split75",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "Michael L. Walker",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"ESC", "x":2.25, "y":0}, {"label":"F1", "x":3.25, "y":0}, {"label":"F2", "x":4.25, "y":0}, {"label":"F3", "x":5.25, "y":0}, {"label":"F4", "x":6.25, "y":0}, {"label":"F5", "x":7.25, "y":0}, {"label":"F6", "x":8.25, "y":0}, {"label":"F7", "x":10.25, "y":0}, {"label":"F8", "x":11.25, "y":0}, {"label":"F9", "x":12.25, "y":0}, {"label":"F10", "x":13.25, "y":0}, {"label":"F11", "x":14.25, "y":0}, {"label":"F12", "x":15.25, "y":0}, {"label":"Prt", "x":16.25, "y":0}, {"label":"Ins", "x":17.25, "y":0}, {"label":"Del", "x":18.25, "y":0}, {"label":"8", "x":0, "y":1}, {"label":"9", "x":1, "y":1}, {"label":"~", "x":2.25, "y":1}, {"label":"!", "x":3.25, "y":1}, {"label":"@", "x":4.25, "y":1}, {"label":"#", "x":5.25, "y":1}, {"label":"$", "x":6.25, "y":1}, {"label":"%", "x":7.25, "y":1}, {"label":"^", "x":8.25, "y":1}, {"label":"&", "x":10.25, "y":1}, {"label":"*", "x":11.25, "y":1}, {"label":"(", "x":12.25, "y":1}, {"label":")", "x":13.25, "y":1}, {"label":"_", "x":14.25, "y":1}, {"label":"+", "x":15.25, "y":1}, {"label":"Backspace", "x":16.25, "y":1, "w":2}, {"label":"Home", "x":18.25, "y":1}, {"label":"6", "x":0, "y":2}, {"label":"7", "x":1, "y":2}, {"label":"Tab", "x":2.25, "y":2, "w":1.5}, {"label":"Q", "x":3.75, "y":2}, {"label":"W", "x":4.75, "y":2}, {"label":"E", "x":5.75, "y":2}, {"label":"R", "x":6.75, "y":2}, {"label":"T", "x":7.75, "y":2}, {"label":"Y", "x":9.75, "y":2}, {"label":"U", "x":10.75, "y":2}, {"label":"I", "x":11.75, "y":2}, {"label":"O", "x":12.75, "y":2}, {"label":"P", "x":13.75, "y":2}, {"label":"{", "x":14.75, "y":2}, {"label":"}", "x":15.75, "y":2}, {"label":"|", "x":16.75, "y":2, "w":1.5}, {"label":"PgUp", "x":18.25, "y":2}, {"label":"4", "x":0, "y":3}, {"label":"5", "x":1, "y":3}, {"label":"Caps Lock", "x":2.25, "y":3, "w":1.75}, {"label":"A", "x":4, "y":3}, {"label":"S", "x":5, "y":3}, {"label":"D", "x":6, "y":3}, {"label":"F", "x":7, "y":3}, {"label":"G", "x":8, "y":3}, {"label":"H", "x":10, "y":3}, {"label":"J", "x":11, "y":3}, {"label":"K", "x":12, "y":3}, {"label":"L", "x":13, "y":3}, {"label":":", "x":14, "y":3}, {"label":"\"", "x":15, "y":3}, {"label":"Enter", "x":16, "y":3, "w":2.25}, {"label":"PgDn", "x":18.25, "y":3}, {"label":"2", "x":0, "y":4}, {"label":"3", "x":1, "y":4}, {"label":"Shift", "x":2.25, "y":4, "w":2.25}, {"label":"Z", "x":4.5, "y":4}, {"label":"X", "x":5.5, "y":4}, {"label":"C", "x":6.5, "y":4}, {"label":"V", "x":7.5, "y":4}, {"label":"B", "x":8.5, "y":4}, {"label":"N", "x":10.5, "y":4}, {"label":"M", "x":11.5, "y":4}, {"label":"<", "x":12.5, "y":4}, {"label":">", "x":13.5, "y":4}, {"label":"?", "x":14.5, "y":4}, {"label":"Shift", "x":15.5, "y":4, "w":1.75}, {"label":"\u2191", "x":17.25, "y":4}, {"label":"End", "x":18.25, "y":4}, {"label":"0", "x":0, "y":5}, {"label":"1", "x":1, "y":5}, {"label":"Ctrl", "x":2.25, "y":5, "w":1.25}, {"label":"Win", "x":3.5, "y":5, "w":1.25}, {"label":"Alt", "x":4.75, "y":5, "w":1.25}, {"x":6, "y":5, "w":2}, {"x":8, "y":5}, {"x":10, "y":5, "w":2.75}, {"label":"Alt", "x":12.75, "y":5, "w":1.25}, {"label":"Fn", "x":14, "y":5}, {"label":"Ctrl", "x":15, "y":5, "w":1.25}, {"label":"\u2190", "x":16.25, "y":5}, {"label":"\u2193", "x":17.25, "y":5}, {"label":"\u2192", "x":18.25, "y":5}]
diff --git a/keyboards/mtbkeys/mtb60/hotswap/config.h b/keyboards/mtbkeys/mtb60/hotswap/config.h
index c235686cc8..eeb9bef6ff 100644
--- a/keyboards/mtbkeys/mtb60/hotswap/config.h
+++ b/keyboards/mtbkeys/mtb60/hotswap/config.h
@@ -19,13 +19,6 @@ 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 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MTBKeys
-#define PRODUCT honeyboard60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pinout */
#define MATRIX_ROW_PINS { D6, D7, B4, B5, D5 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, B7, B6, F7, C6, C7, F6, F4, F1, F0, F5, E6 }
-#define UNUSED_PINS
/* diode direction: COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mtbkeys/mtb60/hotswap/info.json b/keyboards/mtbkeys/mtb60/hotswap/info.json
index 9e4ae0be29..a7e94e8bbc 100644
--- a/keyboards/mtbkeys/mtb60/hotswap/info.json
+++ b/keyboards/mtbkeys/mtb60/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MTB60",
+ "keyboard_name": "MTB60 Hotswap",
+ "manufacturer": "MTBKeys",
"url": "mtbkeys.com",
"maintainer": "kgieselman",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi"
},
diff --git a/keyboards/mtbkeys/mtb60/solder/config.h b/keyboards/mtbkeys/mtb60/solder/config.h
index 7b0909492d..88d6b4097b 100644
--- a/keyboards/mtbkeys/mtb60/solder/config.h
+++ b/keyboards/mtbkeys/mtb60/solder/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MTBKeys
-#define PRODUCT MTB60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pinout */
#define MATRIX_ROW_PINS { D0, D1, F4, F1, D2 }
#define MATRIX_COL_PINS { E6, F0, F5, F6, F7, D5, D3, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* diode direction: COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/mtbkeys/mtb60/solder/info.json b/keyboards/mtbkeys/mtb60/solder/info.json
index c2e49e8f77..ab60075874 100644
--- a/keyboards/mtbkeys/mtb60/solder/info.json
+++ b/keyboards/mtbkeys/mtb60/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MTB60",
+ "keyboard_name": "MTB60 Solder",
+ "manufacturer": "MTBKeys",
"url": "mtbkeys.com",
"maintainer": "MTBKeys",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/murcielago/info.json b/keyboards/murcielago/info.json
index 2c98d5a78c..3fd078898b 100644
--- a/keyboards/murcielago/info.json
+++ b/keyboards/murcielago/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Murciélago",
+ "manufacturer": "elagil",
"url": "",
"maintainer": "elagil",
+ "usb": {
+ "vid": "0x6166",
+ "pid": "0x0001",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/murcielago/rev1/config.h b/keyboards/murcielago/rev1/config.h
index 2851ae884b..f398596044 100644
--- a/keyboards/murcielago/rev1/config.h
+++ b/keyboards/murcielago/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6166 // af
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER elagil
-#define PRODUCT Murciélago
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
@@ -53,7 +46,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_A_RIGHT { F6 }
#define ENCODERS_PAD_B_RIGHT { F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mwstudio/alicekk/alicekk.c b/keyboards/mwstudio/alicekk/alicekk.c
new file mode 100644
index 0000000000..96c468066a
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/alicekk.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "alicekk.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/mwstudio/alicekk/alicekk.h b/keyboards/mwstudio/alicekk/alicekk.h
new file mode 100644
index 0000000000..8bd3cfee87
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/alicekk.h
@@ -0,0 +1,32 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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( \
+ 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, K214, \
+ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K401, K402, K404, K405, K408, K410, K412, K413, K414 \
+) { \
+ { 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, KC_NO, K214 }, \
+ { KC_NO, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { KC_NO, K401, K402, KC_NO, K404, K405, KC_NO, KC_NO, K408, KC_NO, K410, KC_NO, K412, K413, K414 } \
+}
diff --git a/keyboards/mwstudio/alicekk/chconf.h b/keyboards/mwstudio/alicekk/chconf.h
new file mode 100644
index 0000000000..7507db8aa1
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/chconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
diff --git a/keyboards/mwstudio/alicekk/config.h b/keyboards/mwstudio/alicekk/config.h
new file mode 100644
index 0000000000..7c0f4e087b
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/config.h
@@ -0,0 +1,64 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A3, A5, A6, A7, B0 }
+#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, A4, A2, A1, B6, B5, B4, B3, A15 }
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define FORCE_NKRO
+
+
+#define RGB_DI_PIN B1
+
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#define RGBLED_NUM 87
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define RGBLIGHT_LIMIT_VAL 200
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define ENCODERS_PAD_A { B11 }
+#define ENCODERS_PAD_B { B10 }
diff --git a/keyboards/mwstudio/alicekk/info.json b/keyboards/mwstudio/alicekk/info.json
new file mode 100644
index 0000000000..7a2f830273
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "AliceKK",
+ "manufacturer": "MWStudio",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x3201",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/mwstudio/alicekk/keymaps/default/keymap.c b/keyboards/mwstudio/alicekk/keymaps/default/keymap.c
new file mode 100644
index 0000000000..81ba1191db
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_DEL, 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_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_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ [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, _______,
+ _______, RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/mwstudio/alicekk/keymaps/via/keymap.c b/keyboards/mwstudio/alicekk/keymaps/via/keymap.c
new file mode 100644
index 0000000000..62068bd43e
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/keymaps/via/keymap.c
@@ -0,0 +1,96 @@
+/* Copyright 2022 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_DEL, 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_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_UP, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_SPACE, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+ [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, _______,
+ _______, RGB_TOG, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+
+#ifdef ENCODER_ENABLE
+#define ENCODERS 1
+static uint8_t encoder_state[ENCODERS] = {0};
+static keypos_t encoder_cw[ENCODERS] = {{6, 4}};
+static keypos_t encoder_ccw[ENCODERS] = {{7, 4}};
+
+
+void encoder_action_unregister(void) {
+#ifdef ENCODERS
+ for (uint8_t index = 0; index < ENCODERS; ++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);
+ }
+ }
+#endif
+}
+
+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
diff --git a/keyboards/mwstudio/alicekk/keymaps/via/rules.mk b/keyboards/mwstudio/alicekk/keymaps/via/rules.mk
new file mode 100644
index 0000000000..541a15608a
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = no
diff --git a/keyboards/mwstudio/alicekk/mcuconf.h b/keyboards/mwstudio/alicekk/mcuconf.h
new file mode 100644
index 0000000000..460b5f5877
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 TW59420 <https://github.com/TW59420>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
diff --git a/keyboards/mwstudio/alicekk/readme.md b/keyboards/mwstudio/alicekk/readme.md
new file mode 100644
index 0000000000..9123a28c40
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/readme.md
@@ -0,0 +1,22 @@
+# AliceKK
+
+![AliceKK](https://i.imgur.com/xfjynwgh.jpeg)
+
+Support STM32F103CBT6 keyboard.
+
+* Keyboard Maintainer: [TW59420](https://github.com/TW59420)
+* Hardware Supported: STM32F103CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mwstudio/alicekk:default
+
+Flashing example for this keyboard:
+
+ make mwstudio/alicekk:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mwstudio/alicekk/rules.mk b/keyboards/mwstudio/alicekk/rules.mk
new file mode 100644
index 0000000000..3c4396fabf
--- /dev/null
+++ b/keyboards/mwstudio/alicekk/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+
+
diff --git a/keyboards/mwstudio/mw65_black/config.h b/keyboards/mwstudio/mw65_black/config.h
index 9cd1aade78..c7ca78706f 100644
--- a/keyboards/mwstudio/mw65_black/config.h
+++ b/keyboards/mwstudio/mw65_black/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7BA1
-#define PRODUCT_ID 0x6500
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MWStudio
-#define PRODUCT MW65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mwstudio/mw65_black/info.json b/keyboards/mwstudio/mw65_black/info.json
index 1245157792..ccf09114da 100644
--- a/keyboards/mwstudio/mw65_black/info.json
+++ b/keyboards/mwstudio/mw65_black/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MW65_BLACK",
+ "keyboard_name": "MW65 Black",
+ "manufacturer": "MWStudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x6500",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mwstudio/mw65_black/readme.md b/keyboards/mwstudio/mw65_black/readme.md
index 4127469019..90698c9864 100644
--- a/keyboards/mwstudio/mw65_black/readme.md
+++ b/keyboards/mwstudio/mw65_black/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mwstudio/mw65_rgb/config.h b/keyboards/mwstudio/mw65_rgb/config.h
index d484f7e351..2fd67e9e79 100644
--- a/keyboards/mwstudio/mw65_rgb/config.h
+++ b/keyboards/mwstudio/mw65_rgb/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7BA1
-#define PRODUCT_ID 0x6502
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MWStudio
-#define PRODUCT MW65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/mwstudio/mw65_rgb/info.json b/keyboards/mwstudio/mw65_rgb/info.json
index 870a848b85..9518a2b54c 100644
--- a/keyboards/mwstudio/mw65_rgb/info.json
+++ b/keyboards/mwstudio/mw65_rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "MW65_RGB",
+ "keyboard_name": "MW65 RGB",
+ "manufacturer": "MWStudio",
"url": "",
"maintainer": "TW59420",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x6502",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h
index 13cffea4da..0d2051ffd5 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h
@@ -21,10 +21,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */
-#define USB_POLLING_INTERVAL_MS 1
-#define QMK_KEYS_PER_SCAN 12
-
#ifdef RGB_MATRIX_ENABLE
/* RGB Matrix config */
#undef ENABLE_RGB_MATRIX_BAND_SAT
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c
index 2ca3152589..ef5ea90b61 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
[_RN] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, RGB_HUD, RGB_HUI, _______, RGB_C_E, _______, _______, RGB_TOG,
_______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______,
_______, G_PRE, REF_G, G_FLIP, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, RGB_VAI, _______,
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h
index ba574e1e3c..fef62c6374 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h
@@ -20,7 +20,3 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO
-
-/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */
-#define USB_POLLING_INTERVAL_MS 1
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c
index 70279c3347..216ae1e09f 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */
[_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_HOME, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, KC_PAUSE, KC_INS,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, KC_PAUSE, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, KC_PSCR, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, RGB_VAI, RGB_TOG,
_______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
index 78a17233e3..ddcd3f6642 100644
--- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
+++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c
@@ -95,9 +95,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
- tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 3));
+ tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 3));
} else {
- tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 4));
+ tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 4));
}
}
return true;
diff --git a/keyboards/mwstudio/mw65_rgb/readme.md b/keyboards/mwstudio/mw65_rgb/readme.md
index e15b5f9de9..4beb6bd3f5 100644
--- a/keyboards/mwstudio/mw65_rgb/readme.md
+++ b/keyboards/mwstudio/mw65_rgb/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mwstudio/mw75/config.h b/keyboards/mwstudio/mw75/config.h
index 1cc00618e8..2c9e3839b8 100644
--- a/keyboards/mwstudio/mw75/config.h
+++ b/keyboards/mwstudio/mw75/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7BA1
-#define PRODUCT_ID 0x7501
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MWStudio
-#define PRODUCT MW75
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
diff --git a/keyboards/mwstudio/mw75/info.json b/keyboards/mwstudio/mw75/info.json
index 2eabde1495..e861c5ea23 100644
--- a/keyboards/mwstudio/mw75/info.json
+++ b/keyboards/mwstudio/mw75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MW75",
+ "manufacturer": "MWStudio",
"url": "",
"maintainer": "TW59420",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x7501",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mwstudio/mw75/readme.md b/keyboards/mwstudio/mw75/readme.md
index ecabf568aa..8f946a119f 100644
--- a/keyboards/mwstudio/mw75/readme.md
+++ b/keyboards/mwstudio/mw75/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mwstudio/mw75r2/config.h b/keyboards/mwstudio/mw75r2/config.h
index 4430d12a91..0886a9effb 100644
--- a/keyboards/mwstudio/mw75r2/config.h
+++ b/keyboards/mwstudio/mw75r2/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7BA1
-#define PRODUCT_ID 0x7502
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MWStudio
-#define PRODUCT MW75R2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/mwstudio/mw75r2/info.json b/keyboards/mwstudio/mw75r2/info.json
index ade25ee7b9..fc6f8e4c80 100644
--- a/keyboards/mwstudio/mw75r2/info.json
+++ b/keyboards/mwstudio/mw75r2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MW75R2",
+ "manufacturer": "MWStudio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7BA1",
+ "pid": "0x7502",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mwstudio/mw75r2/readme.md b/keyboards/mwstudio/mw75r2/readme.md
index ef2efb3734..5492352b2b 100644
--- a/keyboards/mwstudio/mw75r2/readme.md
+++ b/keyboards/mwstudio/mw75r2/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
-* **Keycode in layout**: Press the key mapped to RESET if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/mxss/config.h b/keyboards/mxss/config.h
index 67f5b8fa27..698fd4c6a9 100644
--- a/keyboards/mxss/config.h
+++ b/keyboards/mxss/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D78 // "Mx" -> MxBlue
-#define PRODUCT_ID 0x5353 // "SS" -> MxSS
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MxBlue
-#define PRODUCT MxSS
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* matrix pin configuration */
#define MATRIX_ROW_PINS { F4, F1, F7, B1, B7 }
#define MATRIX_COL_PINS { D7, D6, D4, D0, C6, B6, D1, B5, D2, B4, D3, D5, B0, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mxss/info.json b/keyboards/mxss/info.json
index 3a0e25d86a..765d266e35 100644
--- a/keyboards/mxss/info.json
+++ b/keyboards/mxss/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MxSS",
- "maintainer": "qmk",
+ "manufacturer": "MxBlue",
"url": "https://geekhack.org/index.php?topic=94986.0",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D78",
+ "pid": "0x5353",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/mxss/mxss_frontled.c b/keyboards/mxss/mxss_frontled.c
index f5e4613dfb..8bb93d5fd8 100644
--- a/keyboards/mxss/mxss_frontled.c
+++ b/keyboards/mxss/mxss_frontled.c
@@ -39,9 +39,9 @@ __attribute__ ((weak))
size_t lc_size = sizeof(layer_colors) / sizeof(hs_set);
void fled_init(void) {
- // If EEPROM config exists, load it
- // If VIA EEPROM exists, FLED config should too
- if (via_eeprom_is_valid()) {
+ // This checks both an EEPROM reset (from bootmagic lite, keycodes)
+ // and also firmware build date (from via_eeprom_is_valid())
+ if (eeconfig_is_enabled()) {
fled_load_conf();
// Else, default config
} else {
diff --git a/keyboards/mysticworks/wyvern/config.h b/keyboards/mysticworks/wyvern/config.h
index 82b4939fcf..859eece683 100644
--- a/keyboards/mysticworks/wyvern/config.h
+++ b/keyboards/mysticworks/wyvern/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device Descriptor Parameter */
-#define VENDOR_ID 0x4D59 // "MY" - Mystic Works
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mystic Works
-#define PRODUCT Wyvern
-
/* Key Matrix Size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -32,7 +25,6 @@
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS {D0,D1,D5,D3,F7,F6,F5,F4,F1,F0}
#define MATRIX_COL_PINS {E6,B0,D4,D6,D7,B4,B5,B6,C6,C7}
-#define UNUSED_PINS {B7,D2}
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mysticworks/wyvern/info.json b/keyboards/mysticworks/wyvern/info.json
index 3e649a6cc3..5492929ab5 100644
--- a/keyboards/mysticworks/wyvern/info.json
+++ b/keyboards/mysticworks/wyvern/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wyvern",
+ "manufacturer": "Mystic Works",
"url": "https://mysticworks.xyz",
"maintainer": "mysticworks",
+ "usb": {
+ "vid": "0x4D59",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/nack/config.h b/keyboards/nack/config.h
index 82daf71037..798d4ee12d 100644
--- a/keyboards/nack/config.h
+++ b/keyboards/nack/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0xDA12
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER farfalleflickan
-#define PRODUCT nack keyboard
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/nack/info.json b/keyboards/nack/info.json
index e906bcbb99..9444eb3ad3 100644
--- a/keyboards/nack/info.json
+++ b/keyboards/nack/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nack",
+ "manufacturer": "farfalleflickan",
"url": "https://github.com/farfalleflickan/nack",
"maintainer": "farfalleflickan",
+ "usb": {
+ "vid": "0xDA12",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_4x13"
},
diff --git a/keyboards/nack/keymaps/default/keymap.c b/keyboards/nack/keymaps/default/keymap.c
index 9a76fbbddb..c09ab70fd3 100644
--- a/keyboards/nack/keymaps/default/keymap.c
+++ b/keyboards/nack/keymaps/default/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FN] = LAYOUT(
/* __________________________________________________________________________________________________________________________________________________________________________
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-RESET KBD--|
+// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-QK_BOOT KBD--|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
MU_TOG, 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/nack/keymaps/farfalleflickan/keymap.c b/keyboards/nack/keymaps/farfalleflickan/keymap.c
index 6e447bee1d..cf09a46b72 100644
--- a/keyboards/nack/keymaps/farfalleflickan/keymap.c
+++ b/keyboards/nack/keymaps/farfalleflickan/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FN] = LAYOUT(
/* __________________________________________________________________________________________________________________________________________________________________________
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
-// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-RESET KBD--|
+// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-QK_BOOT KBD--|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KK_RESET,
// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
MU_TOG, 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/nacly/sodium42/config.h b/keyboards/nacly/sodium42/config.h
index 94c6d903e1..b04468d9f1 100644
--- a/keyboards/nacly/sodium42/config.h
+++ b/keyboards/nacly/sodium42/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFED0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nacly
-#define PRODUCT sodium42
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/nacly/sodium42/info.json b/keyboards/nacly/sodium42/info.json
index 0597d17dc0..b8b72121dd 100644
--- a/keyboards/nacly/sodium42/info.json
+++ b/keyboards/nacly/sodium42/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sodium42",
+ "manufacturer": "nacly",
"url": "https://nacly.net",
"maintainer": "nacly",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFED0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nacly/sodium42/readme.md b/keyboards/nacly/sodium42/readme.md
index 8e44f510ec..2e8cc02774 100644
--- a/keyboards/nacly/sodium42/readme.md
+++ b/keyboards/nacly/sodium42/readme.md
@@ -15,6 +15,6 @@ Make example for this keyboard (after setting up your build environment):
Enter the bootloader in 2 ways:
* **Physical reset button**: Press the reset button twice
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/nacly/sodium50/config.h b/keyboards/nacly/sodium50/config.h
index 0247752d3f..cdcab9290b 100644
--- a/keyboards/nacly/sodium50/config.h
+++ b/keyboards/nacly/sodium50/config.h
@@ -18,20 +18,13 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFED0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nacly
-#define PRODUCT sodium50
-
/* key matrix size */
// Rows are doubled-up
-#define MATRIX_ROWS 10
+#define MATRIX_ROWS 8
#define MATRIX_COLS 7
// wiring of each half
-#define MATRIX_ROW_PINS { F7, D4, D7, B4, B6 }
+#define MATRIX_ROW_PINS { F7, D4, D7, B4}
#define MATRIX_COL_PINS { D2, C6, E6, B5, B2, B3, B1 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nacly/sodium50/info.json b/keyboards/nacly/sodium50/info.json
index 254e4a11cd..ca96685f4c 100644
--- a/keyboards/nacly/sodium50/info.json
+++ b/keyboards/nacly/sodium50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sodium50",
+ "manufacturer": "nacly",
"url": "https://nacly.net",
"maintainer": "nacly",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFED0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nacly/sodium50/readme.md b/keyboards/nacly/sodium50/readme.md
index 8cd5e10e20..3b41d96b9c 100644
--- a/keyboards/nacly/sodium50/readme.md
+++ b/keyboards/nacly/sodium50/readme.md
@@ -15,6 +15,6 @@ Make example for this keyboard (after setting up your build environment):
Enter the bootloader in 2 ways:
* **Physical reset button**: Press the reset button twice
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/nacly/sodium50/sodium50.h b/keyboards/nacly/sodium50/sodium50.h
index c20ea9bc3b..384867f193 100644
--- a/keyboards/nacly/sodium50/sodium50.h
+++ b/keyboards/nacly/sodium50/sodium50.h
@@ -32,5 +32,5 @@
{ R00, R01, R02, R03, R04, R05, KC_NO }, \
{ R10, R11, R12, R13, R14, R15, KC_NO }, \
{ R20, R21, R22, R23, R24, R25, KC_NO }, \
- { R30, R31, R32, R33, R34, R35, L36 } \
+ { R30, R31, R32, R33, R34, R35, R36 } \
}
diff --git a/keyboards/nacly/sodium62/config.h b/keyboards/nacly/sodium62/config.h
index b6140db5f6..88f5c349c0 100644
--- a/keyboards/nacly/sodium62/config.h
+++ b/keyboards/nacly/sodium62/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFED0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nacly
-#define PRODUCT sodium62
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/nacly/sodium62/info.json b/keyboards/nacly/sodium62/info.json
index f1dc474dcc..8794696998 100644
--- a/keyboards/nacly/sodium62/info.json
+++ b/keyboards/nacly/sodium62/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sodium62",
+ "manufacturer": "nacly",
"url": "https://nacly.net",
"maintainer": "nacly",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFED0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nacly/sodium62/readme.md b/keyboards/nacly/sodium62/readme.md
index 315f6cd987..1f600a50c6 100644
--- a/keyboards/nacly/sodium62/readme.md
+++ b/keyboards/nacly/sodium62/readme.md
@@ -15,7 +15,7 @@ Make example for this keyboard (after setting up your build environment):
Enter the bootloader in 2 ways:
* **Physical reset button**: Press the reset button twice
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/nacly/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h
index 51013ee967..42e3739341 100644
--- a/keyboards/nacly/splitreus62/config.h
+++ b/keyboards/nacly/splitreus62/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFED0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NaCly
-#define PRODUCT Splitreus62
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/nacly/splitreus62/info.json b/keyboards/nacly/splitreus62/info.json
index a9f9b540a9..a237ff2262 100644
--- a/keyboards/nacly/splitreus62/info.json
+++ b/keyboards/nacly/splitreus62/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "splitreus62",
+ "keyboard_name": "Splitreus62",
+ "manufacturer": "NaCly",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFED0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.6}, {"x":2, "y":0.35}, {"x":3, "y":0}, {"x":4, "y":0.35}, {"x":5, "y":0.7}, {"x":9, "y":0.7}, {"x":10, "y":0.35}, {"x":11, "y":0}, {"x":12, "y":0.35}, {"x":13, "y":0.6}, {"x":14, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.6}, {"x":2, "y":1.35}, {"x":3, "y":1}, {"x":4, "y":1.35}, {"x":5, "y":1.7}, {"x":9, "y":1.7}, {"x":10, "y":1.35}, {"x":11, "y":1}, {"x":12, "y":1.35}, {"x":13, "y":1.6}, {"x":14, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.6}, {"x":2, "y":2.35}, {"x":3, "y":2}, {"x":4, "y":2.35}, {"x":5, "y":2.7}, {"x":9, "y":2.7}, {"x":10, "y":2.35}, {"x":11, "y":2}, {"x":12, "y":2.35}, {"x":13, "y":2.6}, {"x":14, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.6}, {"x":2, "y":3.35}, {"x":3, "y":3}, {"x":4, "y":3.35}, {"x":5, "y":3.7}, {"x":9, "y":3.7}, {"x":10, "y":3.35}, {"x":11, "y":3}, {"x":12, "y":3.35}, {"x":13, "y":3.6}, {"x":14, "y":3.6}, {"x":0, "y":4.6}, {"x":1, "y":4.6}, {"x":2, "y":4.35}, {"x":3, "y":4}, {"x":4, "y":4.35}, {"x":5, "y":4.7}, {"x":6, "y":3.95, "h":1.5}, {"x":8, "y":3.95, "h":1.5}, {"x":9, "y":4.7}, {"x":10, "y":4.35}, {"x":11, "y":4}, {"x":12, "y":4.35}, {"x":13, "y":4.6}, {"x":14, "y":4.6}]
diff --git a/keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c b/keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c
index b192e357f0..f2d839b358 100644
--- a/keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c
+++ b/keyboards/nacly/splitreus62/keymaps/scheiklp/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_7] = LAYOUT(
- KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/nacly/ua62/config.h b/keyboards/nacly/ua62/config.h
index 803bddc294..464939080c 100644
--- a/keyboards/nacly/ua62/config.h
+++ b/keyboards/nacly/ua62/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFFFF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NaCly
-#define PRODUCT UA62
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/nacly/ua62/info.json b/keyboards/nacly/ua62/info.json
index 4090b43d11..6562aee7c3 100644
--- a/keyboards/nacly/ua62/info.json
+++ b/keyboards/nacly/ua62/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ua62",
+ "keyboard_name": "UA62",
+ "manufacturer": "NaCly",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xFFFF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.6}, {"x":2, "y":0.35}, {"x":3, "y":0}, {"x":4, "y":0.35}, {"x":5, "y":0.7}, {"x":9, "y":0.7}, {"x":10, "y":0.35}, {"x":11, "y":0}, {"x":12, "y":0.35}, {"x":13, "y":0.6}, {"x":14, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.6}, {"x":2, "y":1.35}, {"x":3, "y":1}, {"x":4, "y":1.35}, {"x":5, "y":1.7}, {"x":9, "y":1.7}, {"x":10, "y":1.35}, {"x":11, "y":1}, {"x":12, "y":1.35}, {"x":13, "y":1.6}, {"x":14, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.6}, {"x":2, "y":2.35}, {"x":3, "y":2}, {"x":4, "y":2.35}, {"x":5, "y":2.7}, {"x":9, "y":2.7}, {"x":10, "y":2.35}, {"x":11, "y":2}, {"x":12, "y":2.35}, {"x":13, "y":2.6}, {"x":14, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.6}, {"x":2, "y":3.35}, {"x":3, "y":3}, {"x":4, "y":3.35}, {"x":5, "y":3.7}, {"x":9, "y":3.7}, {"x":10, "y":3.35}, {"x":11, "y":3}, {"x":12, "y":3.35}, {"x":13, "y":3.6}, {"x":14, "y":3.6}, {"x":0, "y":4.6}, {"x":1, "y":4.6}, {"x":2, "y":4.35}, {"x":3, "y":4}, {"x":4, "y":4.35}, {"x":5, "y":4.7}, {"x":6, "y":3.95, "h":1.5}, {"x":8, "y":3.95, "h":1.5}, {"x":9, "y":4.7}, {"x":10, "y":4.35}, {"x":11, "y":4}, {"x":12, "y":4.35}, {"x":13, "y":4.6}, {"x":14, "y":4.6}]
diff --git a/keyboards/nasu/config.h b/keyboards/nasu/config.h
index 15ed75d5c0..01fe94ceb1 100644
--- a/keyboards/nasu/config.h
+++ b/keyboards/nasu/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4E53
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Nasu
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/nasu/info.json b/keyboards/nasu/info.json
index fb191dc1fd..e2cd10fca6 100644
--- a/keyboards/nasu/info.json
+++ b/keyboards/nasu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nasu",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E53",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/nasu/keymaps/mariocs/config.h b/keyboards/nasu/keymaps/mariocs/config.h
new file mode 100644
index 0000000000..18b30b7859
--- /dev/null
+++ b/keyboards/nasu/keymaps/mariocs/config.h
@@ -0,0 +1,5 @@
+// Copyright 2021 Mario Cadenas (@MarioCadenas)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/nasu/keymaps/mariocs/keymap.c b/keyboards/nasu/keymaps/mariocs/keymap.c
new file mode 100644
index 0000000000..d68ff76dbf
--- /dev/null
+++ b/keyboards/nasu/keymaps/mariocs/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2021 MarioCadenas (@MarioCadenas)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 {
+ TD_LGUI,
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ layer_state_cmp(state, 1) ? setPinInputHigh(B0) : setPinInputLow(B0);
+
+ return state;
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_LGUI] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, 1),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_alice_split_bs( /* Base */
+ KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_TRNS, 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_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2),
+ KC_LCTL, KC_LALT, KC_SPC, TD(TD_LGUI), KC_SPC, KC_RALT, KC_RCTL),
+
+[1] = LAYOUT_alice_split_bs( /* FN */
+ KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_alice_split_bs( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_alice_split_bs( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/nasu/keymaps/mariocs/readme.md b/keyboards/nasu/keymaps/mariocs/readme.md
new file mode 100644
index 0000000000..b5b0e66aa8
--- /dev/null
+++ b/keyboards/nasu/keymaps/mariocs/readme.md
@@ -0,0 +1,14 @@
+# Mariocs's keymap for Nasu.
+
+![Layer 0](https://i.imgur.com/kxC7RL5.png)
+
+![Layer 1](https://i.imgur.com/v0cYmXb.png)
+
+![Layer 2](https://i.imgur.com/FJ4y9hP.png)
+
+
+# Functionality
+
+* Via enabled.
+* When layer 1 is activated (Toggled os just temporarily), the numlock led will be switched on.
+* Double tapping `LGUI` key will toggle layer 1.
diff --git a/keyboards/nasu/keymaps/mariocs/rules.mk b/keyboards/nasu/keymaps/mariocs/rules.mk
new file mode 100644
index 0000000000..791d5ab502
--- /dev/null
+++ b/keyboards/nasu/keymaps/mariocs/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/ncc1701kb/config.h b/keyboards/ncc1701kb/config.h
index bcc507032d..7b57d26f86 100644
--- a/keyboards/ncc1701kb/config.h
+++ b/keyboards/ncc1701kb/config.h
@@ -19,13 +19,6 @@ 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 0x1701
-#define DEVICE_VER 0x0001
-#define MANUFACTURER J2L Designs
-#define PRODUCT NCC1701KB
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NCC-1701-KB PCB default pin-out */
#define MATRIX_ROW_PINS { D4, D6, D7 }
#define MATRIX_COL_PINS { B4, B5, B6 }
-#define UNUSED_PINS
/* BackLight */
#define BACKLIGHT_PIN B7
diff --git a/keyboards/ncc1701kb/info.json b/keyboards/ncc1701kb/info.json
index 396c317136..628341fde0 100644
--- a/keyboards/ncc1701kb/info.json
+++ b/keyboards/ncc1701kb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NCC-1701-KB",
+ "manufacturer": "J2L Designs",
"url": "",
"maintainer": "jessel92",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1701",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/neito/config.h b/keyboards/neito/config.h
index c638b800c4..01f2545de9 100644
--- a/keyboards/neito/config.h
+++ b/keyboards/neito/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB9F7 // "Oliver Granlund"
-#define PRODUCT_ID 0xB44C // "Neito"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Oliver Granlund
-#define PRODUCT Neito
-
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { E6, F0, F5, F6, C7, C6, B4, D7, D6, D4 }
@@ -32,7 +25,6 @@
#define ENCODERS_PAD_A { B7 }
#define ENCODERS_PAD_B { B0 }
#define ENCODER_RESOLUTION 4
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B6
#define BACKLIGHT_ON_STATE 0
diff --git a/keyboards/neito/info.json b/keyboards/neito/info.json
index dbc5fad525..884a97b136 100644
--- a/keyboards/neito/info.json
+++ b/keyboards/neito/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Neito",
+ "manufacturer": "Oliver Granlund",
"url": "olli.works",
"maintainer": "Oliver Granlund",
+ "usb": {
+ "vid": "0xB9F7",
+ "pid": "0xB44C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/neito/keymaps/olli_works/keymap.c b/keyboards/neito/keymaps/olli_works/keymap.c
index 31763e1169..c17d1f95ab 100644
--- a/keyboards/neito/keymaps/olli_works/keymap.c
+++ b/keyboards/neito/keymaps/olli_works/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2] = LAYOUT(
KC_ESC, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/nek_type_a/config.h b/keyboards/nek_type_a/config.h
index 701a75ebba..054441b02b 100644
--- a/keyboards/nek_type_a/config.h
+++ b/keyboards/nek_type_a/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER miker
-#define PRODUCT nek_type_a
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
diff --git a/keyboards/nek_type_a/info.json b/keyboards/nek_type_a/info.json
index 17e4674035..f5e93269ad 100644
--- a/keyboards/nek_type_a/info.json
+++ b/keyboards/nek_type_a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEK Type A",
+ "manufacturer": "miker",
"url": "",
"maintainer": "ecopoesis",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nemui/config.h b/keyboards/nemui/config.h
index 32b757d610..a782caf748 100644
--- a/keyboards/nemui/config.h
+++ b/keyboards/nemui/config.h
@@ -16,13 +16,6 @@
*/
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6400
-#define PRODUCT_ID 0x2371
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bachoo
-#define PRODUCT Nemui
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/nemui/info.json b/keyboards/nemui/info.json
index 7a2f231d10..f88d906fe5 100644
--- a/keyboards/nemui/info.json
+++ b/keyboards/nemui/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "nemui",
+ "keyboard_name": "Nemui",
+ "manufacturer": "Bachoo",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6400",
+ "pid": "0x2371",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/neokeys/g67/element_hs/config.h b/keyboards/neokeys/g67/element_hs/config.h
index 3efc322d8d..2994931e73 100644
--- a/keyboards/neokeys/g67/element_hs/config.h
+++ b/keyboards/neokeys/g67/element_hs/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E4B // "NK"
-#define PRODUCT_ID 0x5049
-#define DEVICE_VER 0x0100
-#define MANUFACTURER NEO Keys
-#define PRODUCT Element G67 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/neokeys/g67/element_hs/info.json b/keyboards/neokeys/g67/element_hs/info.json
index 3b20d10402..554313f6fa 100644
--- a/keyboards/neokeys/g67/element_hs/info.json
+++ b/keyboards/neokeys/g67/element_hs/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NEO Keys Element Hotswap",
+ "keyboard_name": "Element G67 Hotswap",
+ "manufacturer": "NEO Keys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E4B",
+ "pid": "0x5049",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/neokeys/g67/hotswap/config.h b/keyboards/neokeys/g67/hotswap/config.h
index d5303fa050..5c45f7ef94 100644
--- a/keyboards/neokeys/g67/hotswap/config.h
+++ b/keyboards/neokeys/g67/hotswap/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E4B // "NK"
-#define PRODUCT_ID 0x5048
-#define DEVICE_VER 0x0100
-#define MANUFACTURER NEO Keys
-#define PRODUCT Palette G67 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/neokeys/g67/hotswap/info.json b/keyboards/neokeys/g67/hotswap/info.json
index 65b364bf44..db3619d5c9 100644
--- a/keyboards/neokeys/g67/hotswap/info.json
+++ b/keyboards/neokeys/g67/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NEO Keys Palette G67 Hotswap",
+ "keyboard_name": "Palette G67 Hotswap",
+ "manufacturer": "NEO Keys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E4B",
+ "pid": "0x5048",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/neokeys/g67/soldered/config.h b/keyboards/neokeys/g67/soldered/config.h
index 4672d96f11..9ea69bd3fe 100644
--- a/keyboards/neokeys/g67/soldered/config.h
+++ b/keyboards/neokeys/g67/soldered/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E4B // "NK"
-#define PRODUCT_ID 0x5053
-#define DEVICE_VER 0x0100
-#define MANUFACTURER NEO Keys
-#define PRODUCT Palette G67 Soldered
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/neokeys/g67/soldered/info.json b/keyboards/neokeys/g67/soldered/info.json
index b7738039bd..d8da39a4fb 100644
--- a/keyboards/neokeys/g67/soldered/info.json
+++ b/keyboards/neokeys/g67/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NEO Keys Palette G67 Soldered",
+ "keyboard_name": "Palette G67 Soldered",
+ "manufacturer": "NEO Keys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E4B",
+ "pid": "0x5053",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/neopad/config.h b/keyboards/neopad/config.h
index 79798b1d66..e352a1ab92 100755
--- a/keyboards/neopad/config.h
+++ b/keyboards/neopad/config.h
@@ -18,12 +18,6 @@ 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 0x0913
-#define MANUFACTURER rookiebwoy
-#define PRODUCT neopad
-
/* Column/Row IO definitions */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/neopad/readme.md b/keyboards/neopad/readme.md
index 9e83e9bb6d..6d2bd8a288 100644
--- a/keyboards/neopad/readme.md
+++ b/keyboards/neopad/readme.md
@@ -19,7 +19,7 @@ Flashing example for this keyboard:
make neopad/rev1:default:flash
-When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device.
+When asked by the terminal, press the dedicated `QK_BOOT` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device.
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 [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/neopad/rev1/config.h b/keyboards/neopad/rev1/config.h
index 92d3392715..299c28487d 100755
--- a/keyboards/neopad/rev1/config.h
+++ b/keyboards/neopad/rev1/config.h
@@ -18,15 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0010
-
/* Column/Row IO definitions */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { F4, F5 }
#define MATRIX_COL_PINS { B3, B2, B6 }
-#define UNUSED_PINS
/* Dual rotary encoders */
#define ENCODERS_PAD_A { D1, D4 }
diff --git a/keyboards/neopad/rev1/info.json b/keyboards/neopad/rev1/info.json
index b5868084d1..ef84eef161 100755
--- a/keyboards/neopad/rev1/info.json
+++ b/keyboards/neopad/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "neopad",
+ "manufacturer": "rookiebwoy",
"url": "https://github.com/rookiebwoy/neopad)",
"maintainer": "rookiebwoy",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0913",
+ "device_version": "0.1.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c
new file mode 100644
index 0000000000..6b3be48044
--- /dev/null
+++ b/keyboards/neson_design/700e/700e.c
@@ -0,0 +1,388 @@
+/**
+ * @file 700e.c
+ *
+ Copyright 2022 astro
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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 "700e.h"
+#include "i2c_master.h"
+#include "drivers/led/issi/is31fl3731.h"
+
+enum {
+ SELF_TESTING,
+ CAPS_ALERT,
+ NORMAL,
+};
+
+enum {
+ ST_STAGE_1,
+ ST_STAGE_2,
+ ST_STAGE_3,
+};
+
+// alert state update interval
+#define ALERT_INTERVAL 500
+// self testing state update interval
+#define ST_INTERVAL 100
+// self testing start index
+#define ST_DEFAULT_INDEX 15
+// self testing stage delay
+#define ST_STAGE_DELAY 10
+// self testing stage cycle count
+#define ST_STAGE_COUNT 4
+// self testing stage end duration
+#define ST_END_DURATION 10
+
+// led index
+#define ST_LEFT_BEGIN 0
+#ifdef DRIVER_ADDR_2
+#define ST_LEFT_SIZE 4
+#else
+#define ST_LEFT_SIZE 2
+#endif
+#define ST_LEFT_END (ST_LEFT_BEGIN+ST_LEFT_SIZE-1)
+#ifdef DRIVER_ADDR_2
+#define ST_RIGHT_BEGIN 60
+#else
+#define ST_RIGHT_BEGIN 30
+#endif
+#ifdef DRIVER_ADDR_2
+#define ST_RIGHT_SIZE 4
+#else
+#define ST_RIGHT_SIZE 2
+#endif
+#define ST_RIGHT_END (ST_RIGHT_BEGIN+ST_RIGHT_SIZE-1)
+
+#ifdef RGBLIGHT_ENABLE
+
+typedef struct {
+ uint8_t state;
+ uint8_t testing;
+ bool alert;
+ uint8_t index;
+ uint8_t delay;
+ uint8_t count;
+ bool dir;
+ uint8_t duration;
+ uint16_t ticks;
+} rgb_state_t;
+
+static rgb_state_t rgb_state = {
+ .state = //NORMAL,
+ SELF_TESTING,
+ .testing = ST_STAGE_1,
+ .ticks = 0,
+ .alert = false,
+ .index = ST_DEFAULT_INDEX,
+ .delay = ST_STAGE_DELAY,
+ .count = ST_STAGE_COUNT,
+ .dir = true,
+ .duration = ST_END_DURATION,
+};
+
+static void update_ticks(void)
+{
+ rgb_state.ticks = timer_read();
+}
+
+static void self_testing(void)
+{
+ if (timer_elapsed(rgb_state.ticks) < ST_INTERVAL) return;
+ HSV hsv = rgblight_get_hsv();
+
+ RGB led = hsv_to_rgb(hsv);
+ switch(rgb_state.testing) {
+ case ST_STAGE_1:
+ if (rgb_state.index !=0 ) {
+ IS31FL3731_set_color_all(0, 0, 0);
+ }
+
+ if (rgb_state.index >= ST_LEFT_END) {
+ for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) {
+ IS31FL3731_set_color(i, led.r, led.g, led.b);
+ }
+ if (rgb_state.index == ST_LEFT_END) {
+ rgb_state.index = ST_LEFT_BEGIN;
+ } else {
+ rgb_state.index -= ST_LEFT_SIZE;
+ }
+ } else{
+ if (rgb_state.delay > 0) {
+ rgb_state.delay--;
+ } else {
+ // move to stage 2
+ rgb_state.index = ST_LEFT_BEGIN+ST_LEFT_SIZE;
+ rgb_state.testing = ST_STAGE_2;
+ }
+ }
+ break;
+ case ST_STAGE_2: {
+ // clear all
+ IS31FL3731_set_color_all(0, 0, 0);
+ int i = 0;
+ // light left and right
+ for (i = 0; i < ST_LEFT_SIZE; i++) {
+ IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b);
+ }
+ for (i = 0; i < ST_RIGHT_SIZE; i++) {
+ IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b);
+
+ }
+ if (rgb_state.dir) {
+ // left to right
+ for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) {
+ IS31FL3731_set_color(i, led.r, led.g, led.b);
+ }
+ rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE;
+ if (rgb_state.index == ST_RIGHT_BEGIN) {
+ rgb_state.dir = !rgb_state.dir;
+ rgb_state.count--;
+ }
+ } else {
+ // right to left
+ for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) {
+ IS31FL3731_set_color(i, led.r, led.g, led.b);
+ }
+ rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE;
+ if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) {
+ rgb_state.dir = !rgb_state.dir;
+ rgb_state.count--;
+ }
+ }
+
+ if (rgb_state.count == 0) {
+ // move to stage 3
+ rgb_state.testing = ST_STAGE_3;
+ rgb_state.index = 0;
+ rgb_state.delay = ST_STAGE_DELAY;
+ rgb_state.duration = ST_END_DURATION;
+ }
+ }
+ break;
+ case ST_STAGE_3:
+ if (rgb_state.index != DRIVER_LED_TOTAL/2) {
+ IS31FL3731_set_color_all(0, 0, 0);
+ }
+
+ // light left and right
+
+ if (rgb_state.index == DRIVER_LED_TOTAL/2) {
+ if (rgb_state.duration) {
+ rgb_state.duration--;
+ } else {
+ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
+ rgb_state.state = CAPS_ALERT;
+ } else {
+ rgb_state.state = NORMAL;
+ rgblight_set();
+ }
+ }
+ } else {
+ // left
+ for (int i = 0; i < rgb_state.index+1; i++) {
+ IS31FL3731_set_color(i, led.r, led.g, led.b);
+ }
+ // right
+ for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) {
+ IS31FL3731_set_color(i, led.r, led.g, led.b);
+ }
+ rgb_state.index ++;
+ }
+ break;
+ }
+
+ update_ticks();
+}
+
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+ /* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ // left CA
+ {0, C1_1, C3_2, C4_2},
+ {0, C1_2, C2_2, C4_3},
+ {0, C1_3, C2_3, C3_3},
+ {0, C1_4, C2_4, C3_4},
+ {0, C1_5, C2_5, C3_5},
+ {0, C1_6, C2_6, C3_6},
+ {0, C1_7, C2_7, C3_7},
+ {0, C1_8, C2_8, C3_8},
+
+ {0, C9_1, C8_1, C7_1},
+ {0, C9_2, C8_2, C7_2},
+ {0, C9_3, C8_3, C7_3},
+ {0, C9_4, C8_4, C7_4},
+ {0, C9_5, C8_5, C7_5},
+ {0, C9_6, C8_6, C7_6},
+ {0, C9_7, C8_7, C6_6},
+ {0, C9_8, C7_7, C6_7},
+ // left CB
+ {0, C1_9, C3_10, C4_10},
+ {0, C1_10, C2_10, C4_11},
+ {0, C1_11, C2_11, C3_11},
+ {0, C1_12, C2_12, C3_12},
+ {0, C1_13, C2_13, C3_13},
+ {0, C1_14, C2_14, C3_14},
+ {0, C1_15, C2_15, C3_15},
+ {0, C1_16, C2_16, C3_16},
+
+ {0, C9_9, C8_9, C7_9},
+ {0, C9_10, C8_10, C7_10},
+ {0, C9_11, C8_11, C7_11},
+ {0, C9_12, C8_12, C7_12},
+ {0, C9_13, C8_13, C7_13},
+ {0, C9_14, C8_14, C7_14},
+ {0, C9_15, C8_15, C6_14},
+ {0, C9_16, C7_15, C6_15},
+
+ // right CA
+ {1, C1_1, C3_2, C4_2},
+ {1, C1_2, C2_2, C4_3},
+ {1, C1_3, C2_3, C3_3},
+ {1, C1_4, C2_4, C3_4},
+ {1, C1_5, C2_5, C3_5},
+ {1, C1_6, C2_6, C3_6},
+ {1, C1_7, C2_7, C3_7},
+ {1, C1_8, C2_8, C3_8},
+
+ {1, C9_1, C8_1, C7_1},
+ {1, C9_2, C8_2, C7_2},
+ {1, C9_3, C8_3, C7_3},
+ {1, C9_4, C8_4, C7_4},
+ {1, C9_5, C8_5, C7_5},
+ {1, C9_6, C8_6, C7_6},
+ {1, C9_7, C8_7, C6_6},
+ {1, C9_8, C7_7, C6_7},
+ // right CB
+ {1, C1_9, C3_10, C4_10},
+ {1, C1_10, C2_10, C4_11},
+ {1, C1_11, C2_11, C3_11},
+ {1, C1_12, C2_12, C3_12},
+ {1, C1_13, C2_13, C3_13},
+ {1, C1_14, C2_14, C3_14},
+ {1, C1_15, C2_15, C3_15},
+ {1, C1_16, C2_16, C3_16},
+
+ {1, C9_9, C8_9, C7_9},
+ {1, C9_10, C8_10, C7_10},
+ {1, C9_11, C8_11, C7_11},
+ {1, C9_12, C8_12, C7_12},
+ {1, C9_13, C8_13, C7_13},
+ {1, C9_14, C8_14, C7_14},
+ {1, C9_15, C8_15, C6_14},
+ {1, C9_16, C7_15, C6_15},
+};
+
+void matrix_init_kb(void)
+{
+ setPinOutput(LED_CAPS_LOCK_PIN);
+ writePinLow(LED_CAPS_LOCK_PIN);
+
+ i2c_init();
+ IS31FL3731_init(DRIVER_ADDR_1);
+#ifdef DRIVER_ADDR_2
+ IS31FL3731_init(DRIVER_ADDR_2);
+#endif
+ for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
+ IS31FL3731_set_led_control_register(index, true, true, true);
+ }
+ IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0);
+#ifdef DRIVER_ADDR_2
+ IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1);
+#endif
+ update_ticks();
+ matrix_init_user();
+}
+
+#define ALERM_LED_R 0xFF
+#define ALERM_LED_G 0xA5
+#define ALERM_LED_B 0x00
+//golden 0xFF, 0xD9, 0x00
+
+void housekeeping_task_kb(void)
+{
+ if (rgb_state.state == SELF_TESTING) {
+ self_testing();
+ } else if (rgb_state.state == CAPS_ALERT) {
+ if (rgb_state.alert) {
+ IS31FL3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B);
+ LED_TYPE leds[4];
+ for (int i = 0; i < 4; i++) {
+ leds[i].r = ALERM_LED_G;
+ leds[i].g = ALERM_LED_R;
+ leds[i].b = ALERM_LED_B;
+ }
+ ws2812_setleds(leds, 4);
+ } else {
+ IS31FL3731_set_color_all(0, 0, 0);
+ LED_TYPE leds[4] = {0};
+ ws2812_setleds(leds, 4);
+ }
+
+ if (timer_elapsed(rgb_state.ticks) > ALERT_INTERVAL) {
+ rgb_state.alert = !rgb_state.alert;
+ update_ticks();
+ }
+ }
+
+ IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
+#ifdef DRIVER_ADDR_2
+ IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
+#endif
+
+ housekeeping_task_user();
+}
+
+void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
+{
+ if (rgb_state.state != NORMAL) return;
+
+ for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
+ IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
+ }
+ LED_TYPE leds[4];
+ for (int i = 0; i < 4; i++) {
+ leds[i].r = start_led[DRIVER_LED_TOTAL+i].g;
+ leds[i].g = start_led[DRIVER_LED_TOTAL+i].r;
+ leds[i].b = start_led[DRIVER_LED_TOTAL+i].b;
+ }
+ //ws2812_setleds(start_led+DRIVER_LED_TOTAL, 4);
+ ws2812_setleds(leds, 4);
+}
+
+bool led_update_kb(led_t led_state)
+{
+ bool res = led_update_user(led_state);
+ if (res) {
+ writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
+
+ if (rgb_state.state != SELF_TESTING) {
+ if (led_state.caps_lock) {
+ rgb_state.state = CAPS_ALERT;
+ update_ticks();
+ } else {
+ rgb_state.state = NORMAL;
+ rgblight_set();
+ }
+ }
+ }
+ return res;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/neson_design/700e/700e.h b/keyboards/neson_design/700e/700e.h
new file mode 100644
index 0000000000..f096868d32
--- /dev/null
+++ b/keyboards/neson_design/700e/700e.h
@@ -0,0 +1,38 @@
+/**
+ * @file 700e.h
+ *
+ Copyright 2021 astro
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K4D, K0E, K0F, K1F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K2E, K2F,\
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K40, K41, K42, K4A, K49, K4B, K4C, K3F, K4E, K4F\
+) \
+{ \
+ { 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, 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, ___, ___, ___, ___, ___, ___, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
+}
diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h
new file mode 100644
index 0000000000..83cc780d80
--- /dev/null
+++ b/keyboards/neson_design/700e/config.h
@@ -0,0 +1,63 @@
+/**
+ * config.h
+ *
+ Copyright 2022 astro
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+#define MATRIX_ROW_PINS { E6, B7, F6, F1, F0}
+#define MATRIX_COL_PINS { F7, B0, B3, B1, B2, F4, C7, C6, B6, B5, B4, D7, D3, D2, D6, D4}
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+
+#define DRIVER_1_LED_TOTAL 32
+#define DRIVER_2_LED_TOTAL 32
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+#define DRIVER_COUNT 2
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
+
+#define LED_CAPS_LOCK_PIN F5
+
+//rgb light setting
+#define RGBLED_NUM 68
+#define RGB_DI_PIN D5
+#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+//#define RGBLIGHT_LIMIT_VAL 192
+
+#define USB_SUSPEND_WAKEUP_DELAY 1000
diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json
new file mode 100644
index 0000000000..4d4d427097
--- /dev/null
+++ b/keyboards/neson_design/700e/info.json
@@ -0,0 +1,17 @@
+{
+ "keyboard_name": "700E",
+ "manufacturer": "Neson Design",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E65",
+ "pid": "0x700E",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout":
+ [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"4,13", "x":14, "y":0}, {"label":"0,14", "x":15.5, "y":0}, {"label":"0,15", "x":16.5, "y":0}, {"label":"1,15", "x":17.5, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15.5, "y":1}, {"label":"2,14", "x":16.5, "y":1}, {"label":"2,15", "x":17.5, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":16.5, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,9", "x":11.25, "y":4, "w":1.25}, {"label":"4,11", "x":12.5, "y":4, "w":1.25}, {"label":"4,12", "x":13.75, "y":4, "w":1.25}, {"label":"3,15", "x":15.5, "y":4}, {"label":"4,14", "x":16.5, "y":4}, {"label":"4,15", "x":17.5, "y":4}, {"label":"4,10", "x":4, "y":4.25, "w":7}]
+ }
+ }
+}
diff --git a/keyboards/neson_design/700e/keymaps/default/keymap.c b/keyboards/neson_design/700e/keymaps/default/keymap.c
new file mode 100644
index 0000000000..cf80983ff3
--- /dev/null
+++ b/keyboards/neson_design/700e/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/**
+ Copyright 2022 astro
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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_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_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_BSLS, KC_ENT,
+ KC_LSFT, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT,KC_SLSH,KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______,_______,_______,_______,
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______,_______,_______),
+};
diff --git a/keyboards/neson_design/700e/keymaps/via/keymap.c b/keyboards/neson_design/700e/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f3d553e9df
--- /dev/null
+++ b/keyboards/neson_design/700e/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+/**
+ Copyright 2022 astro
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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_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_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_BSLS, KC_ENT,
+ KC_LSFT, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT,KC_SLSH,KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,_______,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______,_______,_______,_______,
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______,_______,_______),
+
+ [2] = LAYOUT_all(
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______,_______,_______),
+};
diff --git a/keyboards/neson_design/700e/keymaps/via/rules.mk b/keyboards/neson_design/700e/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/neson_design/700e/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/neson_design/700e/readme.md b/keyboards/neson_design/700e/readme.md
new file mode 100644
index 0000000000..8b25d00c25
--- /dev/null
+++ b/keyboards/neson_design/700e/readme.md
@@ -0,0 +1,21 @@
+# Neson Design (formerly iNETT Studio) 700E
+
+A 65% keyboard with function keys from the Neson Design's N series.
+
+* Keyboard Maintainer: [astro](https://github.com/yulei)
+* Hardware Supported: 700E keyboard
+* Hardware Availability: Limited gb
+
+Make example for this keyboard (after setting up your build environment):
+
+ make neson_design/700e:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
+* **Physical reset button**: Briefly press the *RST* button on the back of the PCB.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/neson_design/700e/rules.mk b/keyboards/neson_design/700e/rules.mk
new file mode 100644
index 0000000000..aca054eabd
--- /dev/null
+++ b/keyboards/neson_design/700e/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+NO_USB_STARTUP_CHECK = yes
+
+QUANTUM_LIB_SRC += i2c_master.c drivers/led/issi/is31fl3731.c
diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h
index 2f564ab4c4..7d27825eaf 100644
--- a/keyboards/neson_design/n6/config.h
+++ b/keyboards/neson_design/n6/config.h
@@ -20,19 +20,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E65 //'Ne'
-#define PRODUCT_ID 0x4E36 //'N6'
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neson Design
-#define PRODUCT N6 Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F0, B1, F6, F4, F1}
#define MATRIX_COL_PINS { F7, B0, E6, C7, C6, B6, B5, B4, D7, D6, D4, D5, B2, D3, D2 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json
index ad52af3288..1fe847a3d7 100644
--- a/keyboards/neson_design/n6/info.json
+++ b/keyboards/neson_design/n6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "n6",
+ "keyboard_name": "N6",
+ "manufacturer": "Neson Design",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E65",
+ "pid": "0x4E36",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_blocker_splitbs": "LAYOUT_65_ansi_blocker_split_bs"
},
diff --git a/keyboards/neson_design/n6/readme.md b/keyboards/neson_design/n6/readme.md
index 81ba05be49..f86668549a 100644
--- a/keyboards/neson_design/n6/readme.md
+++ b/keyboards/neson_design/n6/readme.md
@@ -18,4 +18,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
* **Physical reset button**: Briefly press the *RST* button on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/newgame40/config.h b/keyboards/newgame40/config.h
index d2ec20a7cc..a04ddf45cc 100644
--- a/keyboards/newgame40/config.h
+++ b/keyboards/newgame40/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GoTakigawa
-#define PRODUCT NEWGAME40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { F7, B1, B3, B2 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* ws2812 RGB LED */
#define RGB_DI_PIN F6
diff --git a/keyboards/newgame40/info.json b/keyboards/newgame40/info.json
index 9c06fafacf..55e5a5802a 100644
--- a/keyboards/newgame40/info.json
+++ b/keyboards/newgame40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEWGAME40",
+ "manufacturer": "GoTakigawa",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}]
diff --git a/keyboards/nibiria/stream15/config.h b/keyboards/nibiria/stream15/config.h
index 824357b475..64866ef29d 100644
--- a/keyboards/nibiria/stream15/config.h
+++ b/keyboards/nibiria/stream15/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E49
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nibiria
-#define PRODUCT Stream15
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 5
diff --git a/keyboards/nibiria/stream15/info.json b/keyboards/nibiria/stream15/info.json
index 8dbbc82a99..eb4d196ea7 100644
--- a/keyboards/nibiria/stream15/info.json
+++ b/keyboards/nibiria/stream15/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stream15",
+ "manufacturer": "Nibiria",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E49",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x5": {
diff --git a/keyboards/nightingale_studios/hailey/config.h b/keyboards/nightingale_studios/hailey/config.h
index f3331b3f1c..73584acd94 100644
--- a/keyboards/nightingale_studios/hailey/config.h
+++ b/keyboards/nightingale_studios/hailey/config.h
@@ -19,13 +19,6 @@ 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 0x4879
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nightingale Studios
-#define PRODUCT Hailey
-
/* key matrix size - encoder is not part of matrix but wired to 2 pins so bodge a fake row/col*/
#define MATRIX_ROWS 7
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A8, B15, B14, B13, B12, B6, A14 }
#define MATRIX_COL_PINS { A4, A3, F1, F0, C15, C14, C13, B11, B10, B2, B1, B0, A7, A5, A6, B5, A15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightingale_studios/hailey/info.json b/keyboards/nightingale_studios/hailey/info.json
index 84cae1487e..ac199206b9 100644
--- a/keyboards/nightingale_studios/hailey/info.json
+++ b/keyboards/nightingale_studios/hailey/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Hailey",
+ "manufacturer": "Nightingale Studios",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4879",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,2", "x":1.25, "y":0}, {"label":"0,3", "x":2.25, "y":0}, {"label":"0,4", "x":3.25, "y":0}, {"label":"0,5", "x":4.25, "y":0}, {"label":"0,6", "x":5.5, "y":0}, {"label":"0,7", "x":6.5, "y":0}, {"label":"0,8", "x":7.5, "y":0}, {"label":"0,9", "x":8.5, "y":0}, {"label":"0,10", "x":9.75, "y":0}, {"label":"0,11", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,13", "x":12.75, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"6,16", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25, "w":2}, {"label":"1,15", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"2,13", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,15", "x":15.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25, "w":2.25}, {"label":"3,15", "x":15.25, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":1.75}, {"label":"4,14", "x":14.25, "y":4.5}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,5", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,9", "x":10, "y":5.25, "w":1.5}, {"label":"5,11", "x":11.5, "y":5.25, "w":1.5}, {"label":"5,12", "x":13.25, "y":5.5}, {"label":"5,14", "x":14.25, "y":5.5}, {"label":"5,15", "x":15.25, "y":5.5}]
diff --git a/keyboards/nightly_boards/adellein/config.h b/keyboards/nightly_boards/adellein/config.h
index cd24f1a1c8..81d0f0cbfd 100644
--- a/keyboards/nightly_boards/adellein/config.h
+++ b/keyboards/nightly_boards/adellein/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD812
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT Adellein
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, B0, B5, B6 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B7, B3, B2, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/adellein/info.json b/keyboards/nightly_boards/adellein/info.json
index 394987dddb..08a0eeb040 100644
--- a/keyboards/nightly_boards/adellein/info.json
+++ b/keyboards/nightly_boards/adellein/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Adellein",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_40ergo_split_ent": {
"layout": [
diff --git a/keyboards/nightly_boards/alter/rev1/config.h b/keyboards/nightly_boards/alter/rev1/config.h
index f42c49eb5c..fbfa65c2a0 100644
--- a/keyboards/nightly_boards/alter/rev1/config.h
+++ b/keyboards/nightly_boards/alter/rev1/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0717
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT Alter
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, E6, D0, B7, D5, D3, D2, D1 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/alter/rev1/info.json b/keyboards/nightly_boards/alter/rev1/info.json
index 6083454b01..7cad90c889 100644
--- a/keyboards/nightly_boards/alter/rev1/info.json
+++ b/keyboards/nightly_boards/alter/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alter",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0x0717",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/nightly_boards/alter_lite/alter_lite.c b/keyboards/nightly_boards/alter_lite/alter_lite.c
new file mode 100644
index 0000000000..90e2d8c5b3
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/alter_lite.c
@@ -0,0 +1,16 @@
+/* Copyright 2020 DeskDaily
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "alter_lite.h"
diff --git a/keyboards/nightly_boards/alter_lite/alter_lite.h b/keyboards/nightly_boards/alter_lite/alter_lite.h
new file mode 100644
index 0000000000..a268512dae
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/alter_lite.h
@@ -0,0 +1,41 @@
+ /* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
+ K20, K21, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
+ K31, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \
+ K41, K44, K45, K46, K48, K4B, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, KC_NO, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, K21, KC_NO, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
+ { KC_NO, K31, KC_NO, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { KC_NO, K41, KC_NO, KC_NO, K44, K45, K46, KC_NO, K48, KC_NO, KC_NO, K4B, KC_NO, KC_NO, K4E, KC_NO }, \
+}
diff --git a/keyboards/nightly_boards/alter_lite/config.h b/keyboards/nightly_boards/alter_lite/config.h
new file mode 100644
index 0000000000..35f10a53e1
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/config.h
@@ -0,0 +1,54 @@
+ /*
+Copyright 2020 DeskDaily
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+#define LED_NUM_LOCK_PIN D6
+#define LED_CAPS_LOCK_PIN D7
+#define LED_SCROLL_LOCK_PIN D4
+#define LED_PIN_ON_STATE 0
+
+/*
+ * 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 { F0, F1, D3, D5, B5 }
+#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, D2, E6, B6, C6, C7, F7, F6, F5, F4 }
+
+/* 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
+
diff --git a/keyboards/nightly_boards/alter_lite/info.json b/keyboards/nightly_boards/alter_lite/info.json
new file mode 100644
index 0000000000..2f4d6b8343
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/info.json
@@ -0,0 +1,82 @@
+{
+ "keyboard_name": "Alter Lite",
+ "manufacturer": "DeskDaily",
+ "url": "",
+ "maintainer": "DeskDaily",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0013",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0.5, "y":0.15},
+ {"x":1.75, "y":0.25},
+ {"x":2.75, "y":0.25},
+ {"x":3.75, "y":0.25},
+ {"x":4.75, "y":0.25},
+ {"x":5.75, "y":0.25},
+ {"x":6.75, "y":0.25},
+ {"x":7.75, "y":0.25},
+ {"x":11.25, "y":0.25},
+ {"x":12.25, "y":0.25},
+ {"x":13.25, "y":0.25},
+ {"x":14.25, "y":0.25},
+ {"x":15.25, "y":0.25},
+ {"x":16.25, "y":0.25},
+ {"x":17.25, "y":0.25},
+ {"x":18.25, "y":0.25},
+ {"x":0.25, "y":1.15},
+ {"x":1.5, "y":1.25, "w":1.5},
+ {"x":3, "y":1.25},
+ {"x":4.25, "y":1.25},
+ {"x":5.25, "y":1.25},
+ {"x":6.25, "y":1.25},
+ {"x":7.25, "y":1.25},
+ {"x":10.75, "y":1.25},
+ {"x":11.75, "y":1.25},
+ {"x":12.75, "y":1.25},
+ {"x":13.75, "y":1.25},
+ {"x":15, "y":1.25},
+ {"x":16, "y":1.25},
+ {"x":17, "y":1.25},
+ {"x":18, "y":1.25, "w":1.5},
+ {"x":0, "y":2.15},
+ {"x":1.25, "y":2.25, "w":1.75},
+ {"x":3, "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":11, "y":2.25},
+ {"x":12, "y":2.25},
+ {"x":13, "y":2.25},
+ {"x":14, "y":2.25},
+ {"x":15.5, "y":2.25},
+ {"x":16.5, "y":2.25},
+ {"x":17.5, "y":2.25, "w":2.25},
+ {"x":1, "y":3.25, "w":2.25},
+ {"x":3.25, "y":3.25},
+ {"x":5, "y":3.25},
+ {"x":6, "y":3.25},
+ {"x":7, "y":3.25},
+ {"x":8, "y":3.25},
+ {"x":10.5, "y":3.25},
+ {"x":11.5, "y":3.25},
+ {"x":12.5, "y":3.25},
+ {"x":13.5, "y":3.25},
+ {"x":15.25, "y":3.25},
+ {"x":16.25, "y":3.25},
+ {"x":17.25, "y":3.25, "w":1.75},
+ {"x":19, "y":3.25},
+ {"x":1, "y":4.25, "w":1.5},
+ {"x":4.75, "y":4.25, "w":1.5},
+ {"x":6.25, "y":4.25, "w":2},
+ {"x":8.25, "y":4.25, "w":1.25},
+ {"x":10.5, "y":4.25, "w":2.75},
+ {"x":13.25, "y":4.25, "w":1.5},
+ {"x":18.25, "y":4.25, "w":1.5}]
+ }
+ }
+}
diff --git a/keyboards/nightly_boards/alter_lite/keymaps/default/keymap.c b/keyboards/nightly_boards/alter_lite/keymaps/default/keymap.c
new file mode 100644
index 0000000000..477336847d
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, 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_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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ MO(1), KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+ [1] = LAYOUT(
+ QK_BOOT, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_BRIU, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______ , _______, _______,
+ KC_BRID, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______,
+ _______, KC_RGUI, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/nightly_boards/alter_lite/keymaps/via/keymap.c b/keyboards/nightly_boards/alter_lite/keymaps/via/keymap.c
new file mode 100644
index 0000000000..bc898dd3bc
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, 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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ MO(1), KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+ [1] = LAYOUT(
+ QK_BOOT, KC_TRNS, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_BRIU, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS,
+ KC_BRID, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/nightly_boards/alter_lite/keymaps/via/rules.mk b/keyboards/nightly_boards/alter_lite/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/nightly_boards/alter_lite/readme.md b/keyboards/nightly_boards/alter_lite/readme.md
new file mode 100644
index 0000000000..51ee69a620
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/readme.md
@@ -0,0 +1,20 @@
+#DeskDaily Alter
+
+![Alter Lite](https://i.imgur.com/dYVwbD0.jpg)
+
+An Alice layout keyboard. This Lite version have no underglow
+
+* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
+* Hardware Supported: atmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nightly_boards/alter_lite:default
+
+Flashing example for this keyboard:
+
+ make nightly_boards/alter_lite:default:flash
+
+You can enter bootloader mode by pressing the physical reset button at the front of the pcb (near the right spacebar) or by holding the upper left key while plugging the usb cable.
+
+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/nightly_boards/alter_lite/rules.mk b/keyboards/nightly_boards/alter_lite/rules.mk
new file mode 100644
index 0000000000..334299a9eb
--- /dev/null
+++ b/keyboards/nightly_boards/alter_lite/rules.mk
@@ -0,0 +1,17 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow \ No newline at end of file
diff --git a/keyboards/nightly_boards/conde60/conde60.c b/keyboards/nightly_boards/conde60/conde60.c
new file mode 100644
index 0000000000..2f31ade1be
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/conde60.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "conde60.h"
diff --git a/keyboards/nightly_boards/conde60/conde60.h b/keyboards/nightly_boards/conde60/conde60.h
new file mode 100644
index 0000000000..e660946a77
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/conde60.h
@@ -0,0 +1,42 @@
+/* Copyright 2022 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K44, K46, K47, K49, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, KC_NO, K44, KC_NO, K46, K47, KC_NO, K49, KC_NO, K4B, K4C, K4D }, \
+}
diff --git a/keyboards/nightly_boards/conde60/config.h b/keyboards/nightly_boards/conde60/config.h
new file mode 100644
index 0000000000..16a21f20ef
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/config.h
@@ -0,0 +1,60 @@
+/*
+Copyright 2022 DeskDaily
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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 { B1, B2, F0, F1, F4 }
+#define MATRIX_COL_PINS { B0, B3, B7, B6, C6, C7, F7, F6, F5, D4, D6, D7, B4, B5 }
+
+#define RGB_DI_PIN D5
+#ifdef RGB_DI_PIN
+#define RGBLED_NUM 12
+#define RGBLIGHT_ANIMATIONS
+
+#endif
+
+/* 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
+
+
diff --git a/keyboards/nightly_boards/conde60/info.json b/keyboards/nightly_boards/conde60/info.json
new file mode 100644
index 0000000000..97c10ca29c
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/info.json
@@ -0,0 +1,86 @@
+{
+ "keyboard_name": "Conde60",
+ "manufacturer": "DeskDaily",
+ "url": "",
+ "maintainer": "DeskDaily",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0015",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":1.25},
+ {"x":1.25, "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, "w":1.75},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4},
+ {"x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":2.25},
+ {"x":6.25, "y":4},
+ {"x":7.25, "y":4},
+ {"x":8.25, "y":4, "w":2.75},
+ {"x":11, "y":4, "w":1.5},
+ {"x":12.5, "y":4},
+ {"x":13.5, "y":4, "w":1.5}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/nightly_boards/conde60/keymaps/default/keymap.c b/keyboards/nightly_boards/conde60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fd3e6882ab
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_DEL,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/nightly_boards/conde60/keymaps/via/keymap.c b/keyboards/nightly_boards/conde60/keymaps/via/keymap.c
new file mode 100644
index 0000000000..fd3e6882ab
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_DEL,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/nightly_boards/conde60/keymaps/via/rules.mk b/keyboards/nightly_boards/conde60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/nightly_boards/conde60/readme.md b/keyboards/nightly_boards/conde60/readme.md
new file mode 100644
index 0000000000..5a260efc0b
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/readme.md
@@ -0,0 +1,20 @@
+# DeskDaily Conde60
+
+![Conde60](https://i.imgur.com/5L7Cw44.png)
+
+A single layout 60% pcb with a Tsangan bottom row and split spacabars
+
+* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
+* Hardware Supported: Atmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nightly_boards/conde60:default
+
+Flashing example for this keyboard:
+
+ make nightly_boards/conde60:default:flash
+
+You can enter bootloader mode by pressing the physical reset button at the back of the pcb or by holding the escape key while plugging the usb cable.
+
+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/nightly_boards/conde60/rules.mk b/keyboards/nightly_boards/conde60/rules.mk
new file mode 100644
index 0000000000..806f708f99
--- /dev/null
+++ b/keyboards/nightly_boards/conde60/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # 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
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/nightly_boards/n2/config.h b/keyboards/nightly_boards/n2/config.h
index e19b26e76b..a4f19c8a18 100644
--- a/keyboards/nightly_boards/n2/config.h
+++ b/keyboards/nightly_boards/n2/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0717
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT [n]2
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, C7 }
#define MATRIX_COL_PINS { F0, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/n2/info.json b/keyboards/nightly_boards/n2/info.json
index 5786436478..e5cd739223 100644
--- a/keyboards/nightly_boards/n2/info.json
+++ b/keyboards/nightly_boards/n2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "[n]2",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0x0717",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":0, "y":1}]
diff --git a/keyboards/nightly_boards/n40_o/config.h b/keyboards/nightly_boards/n40_o/config.h
index a5257cc494..4f2a5ff5a0 100644
--- a/keyboards/nightly_boards/n40_o/config.h
+++ b/keyboards/nightly_boards/n40_o/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD812
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT [n]40-o
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, F0, F1, D7, NO_PIN }
#define MATRIX_COL_PINS { B5, C7, D6, D4, B3, B2, B1, B0, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/n40_o/info.json b/keyboards/nightly_boards/n40_o/info.json
index 6fb2a1dfa6..6f1748a7ab 100644
--- a/keyboards/nightly_boards/n40_o/info.json
+++ b/keyboards/nightly_boards/n40_o/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "[n]40-o",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x13_encoders": {
"layout": [
diff --git a/keyboards/nightly_boards/n60_s/config.h b/keyboards/nightly_boards/n60_s/config.h
index 2f50f49273..d71fe7733e 100644
--- a/keyboards/nightly_boards/n60_s/config.h
+++ b/keyboards/nightly_boards/n60_s/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD812
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT [n]60-S
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, D7, D6, D0, E6, NO_PIN }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B0, B1, B2, B3, B5, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/n60_s/info.json b/keyboards/nightly_boards/n60_s/info.json
index 2551321544..473dd14122 100644
--- a/keyboards/nightly_boards/n60_s/info.json
+++ b/keyboards/nightly_boards/n60_s/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "[n]60-s",
+ "keyboard_name": "[n]60-S",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c
index 7d91fa1d72..9316b20c75 100644
--- a/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c
+++ b/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_60_ansi_split_bs_rshift_encoder(
- 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_DEL, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c
index 8cf3f84c0d..cc25ac42e7 100644
--- a/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c
+++ b/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder(
- 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_DEL, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/nightly_boards/n87/config.h b/keyboards/nightly_boards/n87/config.h
index 0bb8e62046..64b14b0207 100644
--- a/keyboards/nightly_boards/n87/config.h
+++ b/keyboards/nightly_boards/n87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0717
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT [n]87
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, F1, F0, D7, B4, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, C7, C6, B6, B5, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/n87/info.json b/keyboards/nightly_boards/n87/info.json
index 7469ba8644..8eb020d29c 100644
--- a/keyboards/nightly_boards/n87/info.json
+++ b/keyboards/nightly_boards/n87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "[n]87",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0x0717",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/nightly_boards/n87/keymaps/symmetric_standard/keymap.c b/keyboards/nightly_boards/n87/keymaps/symmetric_standard/keymap.c
index c8b2da0f9e..a3527ac500 100644
--- a/keyboards/nightly_boards/n87/keymaps/symmetric_standard/keymap.c
+++ b/keyboards/nightly_boards/n87/keymaps/symmetric_standard/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_tkl_ansi_split_bs_rshift_symmetric(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_UP, CLICKY_RESET, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLICKY_TOGGLE, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/nightly_boards/n9/config.h b/keyboards/nightly_boards/n9/config.h
index 153d02c245..98c05d887f 100644
--- a/keyboards/nightly_boards/n9/config.h
+++ b/keyboards/nightly_boards/n9/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD812
-#define PRODUCT_ID 0x0012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT [n]9
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, B1, B3 }
#define MATRIX_COL_PINS { F6, F7, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/n9/info.json b/keyboards/nightly_boards/n9/info.json
index 3cc73b4829..afaee7244c 100644
--- a/keyboards/nightly_boards/n9/info.json
+++ b/keyboards/nightly_boards/n9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "[n]9",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nightly_boards/octopad/config.h b/keyboards/nightly_boards/octopad/config.h
index ee417644d7..a17eb502e1 100644
--- a/keyboards/nightly_boards/octopad/config.h
+++ b/keyboards/nightly_boards/octopad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD812
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Neil Brian Ramirez
-#define PRODUCT Octopad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B3, NO_PIN }
#define MATRIX_COL_PINS { F1, F0, D0, D1, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/octopad/info.json b/keyboards/nightly_boards/octopad/info.json
index 0bc2cea2e6..c4668da903 100644
--- a/keyboards/nightly_boards/octopad/info.json
+++ b/keyboards/nightly_boards/octopad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Octopad",
+ "manufacturer": "Neil Brian Ramirez",
"url": "",
"maintainer": "Neil Brian Ramirez",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nightly_boards/paraluman/config.h b/keyboards/nightly_boards/paraluman/config.h
new file mode 100644
index 0000000000..7d3101d116
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/config.h
@@ -0,0 +1,52 @@
+/*
+Copyright 2020 DeskDaily
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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 { D0, F7, B1, B0, E6 }
+#define MATRIX_COL_PINS { B2, F6, F5, F4, F1, F0, D4, D6, D7, B4, B5, B6, C6, C7 }
+
+/* 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
+
diff --git a/keyboards/nightly_boards/paraluman/info.json b/keyboards/nightly_boards/paraluman/info.json
new file mode 100644
index 0000000000..a71adb315f
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/info.json
@@ -0,0 +1,154 @@
+{
+ "keyboard_name": "Paraluman",
+ "manufacturer": "DeskDaily",
+ "url": "",
+ "maintainer": "DeskDaily",
+ "usb": {
+ "vid": "0xD812",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_60_ansi_split_bs_rshift": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4, "w":1.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":12.5, "y":4, "w":1.25},
+ {"x":13.75, "y":4, "w":1.25}
+ ]
+ },
+ "LAYOUT_60_ansi_split_bs_rshift_tsangan": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3},
+ {"x":12.25, "y":3, "w":1.75},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.5},
+ {"x":1.5, "y":4},
+ {"x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":7},
+ {"x":11, "y":4, "w":1.5},
+ {"x":12.5, "y":4},
+ {"x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/nightly_boards/paraluman/keymaps/default/keymap.c b/keyboards/nightly_boards/paraluman/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7f254287c0
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT_60_ansi_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
+ KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
+ ),
+ [1] = LAYOUT_60_ansi_split_bs_rshift(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/nightly_boards/paraluman/keymaps/tsangan/keymap.c b/keyboards/nightly_boards/paraluman/keymaps/tsangan/keymap.c
new file mode 100644
index 0000000000..f06e2ee93a
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/keymaps/tsangan/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT_60_ansi_split_bs_rshift_tsangan(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
+ KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+ [1] = LAYOUT_60_ansi_split_bs_rshift_tsangan(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/nightly_boards/paraluman/keymaps/via/keymap.c b/keyboards/nightly_boards/paraluman/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0de50911ad
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT_60_ansi_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT,
+ KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL
+ ),
+ [1] = LAYOUT_60_ansi_split_bs_rshift(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, KC_F12, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_60_ansi_split_bs_rshift(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, KC_F12, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_60_ansi_split_bs_rshift(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, KC_F12, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/nightly_boards/paraluman/keymaps/via/rules.mk b/keyboards/nightly_boards/paraluman/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/nightly_boards/paraluman/paraluman.c b/keyboards/nightly_boards/paraluman/paraluman.c
new file mode 100644
index 0000000000..00769d9380
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/paraluman.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "paraluman.h"
diff --git a/keyboards/nightly_boards/paraluman/paraluman.h b/keyboards/nightly_boards/paraluman/paraluman.h
new file mode 100644
index 0000000000..2f6a40fb83
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/paraluman.h
@@ -0,0 +1,55 @@
+/* Copyright 2020 DeskDaily
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K43, K47, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
+}
+
+#define LAYOUT_60_ansi_split_bs_rshift_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K42, K43, K47, K4B, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D } \
+}
diff --git a/keyboards/nightly_boards/paraluman/readme.md b/keyboards/nightly_boards/paraluman/readme.md
new file mode 100644
index 0000000000..571c77b1cb
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/readme.md
@@ -0,0 +1,20 @@
+# DeskDaily Paraluman
+
+![Paraluman](https://i.imgur.com/iBYnjLD.jpg)
+
+A 60% pcb for the Paraluman keyboard case
+
+* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
+* Hardware Supported: Atmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nightly_boards/paraluman:default
+
+Flashing example for this keyboard:
+
+ make nightly_boards/paraluman:default:flash
+
+You can enter bootloader mode by pressing the physical reset button at the back of the pcb or by holding the escape key while plugging the usb cable.
+
+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/nightly_boards/paraluman/rules.mk b/keyboards/nightly_boards/paraluman/rules.mk
new file mode 100644
index 0000000000..3e6c2b2ea3
--- /dev/null
+++ b/keyboards/nightly_boards/paraluman/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # 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
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/nightly_boards/ph_arisu/config.h b/keyboards/nightly_boards/ph_arisu/config.h
index 57df486e72..1173bca779 100644
--- a/keyboards/nightly_boards/ph_arisu/config.h
+++ b/keyboards/nightly_boards/ph_arisu/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6172
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PH
-#define PRODUCT Arisu
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightly_boards/ph_arisu/info.json b/keyboards/nightly_boards/ph_arisu/info.json
index fc2f8e9269..ba1e981144 100644
--- a/keyboards/nightly_boards/ph_arisu/info.json
+++ b/keyboards/nightly_boards/ph_arisu/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "PH Arisu",
+ "keyboard_name": "Arisu",
+ "manufacturer": "PH",
"url": "https://github.com/FateNozomi/arisu-pcb",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6172",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"1,1", "x":3, "y":0}, {"label":"0,2", "x":4, "y":0}, {"label":"1,2", "x":5, "y":0}, {"label":"0,3", "x":6, "y":0}, {"label":"1,3", "x":8.5, "y":0}, {"label":"0,4", "x":9.5, "y":0}, {"label":"1,4", "x":10.5, "y":0}, {"label":"0,5", "x":11.5, "y":0}, {"label":"1,5", "x":12.5, "y":0}, {"label":"0,6", "x":13.5, "y":0}, {"label":"1,6", "x":14.5, "y":0}, {"label":"0,7", "x":15.5, "y":0}, {"label":"2,7", "x":16.8, "y":0}, {"label":"2,0", "x":0, "y":1, "w":1.5}, {"label":"3,0", "x":1.5, "y":1}, {"label":"2,1", "x":2.5, "y":1}, {"label":"3,1", "x":3.5, "y":1}, {"label":"2,2", "x":4.5, "y":1}, {"label":"3,2", "x":5.5, "y":1}, {"label":"2,3", "x":8, "y":1}, {"label":"3,3", "x":9, "y":1}, {"label":"2,4", "x":10, "y":1}, {"label":"3,4", "x":11, "y":1}, {"label":"2,5", "x":12, "y":1}, {"label":"3,5", "x":13, "y":1}, {"label":"2,6", "x":14, "y":1}, {"label":"3,6", "x":15, "y":1, "w":1.5}, {"label":"4,7", "x":16.8, "y":1}, {"label":"4,0", "x":0, "y":2, "w":1.75}, {"label":"5,0", "x":1.75, "y":2}, {"label":"4,1", "x":2.75, "y":2}, {"label":"5,1", "x":3.75, "y":2}, {"label":"4,2", "x":4.75, "y":2}, {"label":"5,2", "x":5.75, "y":2}, {"label":"4,3", "x":8.25, "y":2}, {"label":"5,3", "x":9.25, "y":2}, {"label":"4,4", "x":10.25, "y":2}, {"label":"5,4", "x":11.25, "y":2}, {"label":"4,5", "x":12.25, "y":2}, {"label":"5,5", "x":13.25, "y":2}, {"label":"4,6", "x":14.25, "y":2, "w":2.25}, {"label":"6,7", "x":16.8, "y":2}, {"label":"6,0", "x":0, "y":3, "w":2.25}, {"label":"7,0", "x":2.25, "y":3}, {"label":"6,1", "x":3.25, "y":3}, {"label":"7,1", "x":4.25, "y":3}, {"label":"6,2", "x":5.25, "y":3}, {"label":"7,2", "x":6.25, "y":3}, {"label":"6,3", "x":8.75, "y":3}, {"label":"7,3", "x":9.75, "y":3}, {"label":"6,4", "x":10.75, "y":3}, {"label":"7,4", "x":11.75, "y":3}, {"label":"6,5", "x":12.75, "y":3}, {"label":"7,5", "x":13.75, "y":3, "w":1.75}, {"label":"7,6", "x":15.75, "y":3.25}, {"label":"8,0", "x":0, "y":4, "w":1.5}, {"label":"8,1", "x":2.75, "y":4, "w":1.5}, {"label":"8,2", "x":4.25, "y":4, "w":2}, {"label":"9,2", "x":6.25, "y":4, "w":1.25}, {"label":"9,3", "x":8.25, "y":4, "w":2.75}, {"label":"9,4", "x":11, "y":4, "w":1.5}, {"label":"8,6", "x":14.75, "y":4.25}, {"label":"9,6", "x":15.75, "y":4.25}, {"label":"8,7", "x":16.75, "y":4.25}]
diff --git a/keyboards/nightmare/config.h b/keyboards/nightmare/config.h
index ac4fe163e6..706cdbbf37 100644
--- a/keyboards/nightmare/config.h
+++ b/keyboards/nightmare/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x434B // "CK"
-#define PRODUCT_ID 0x4E49 // "NI"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cfbender
-#define PRODUCT nightmare
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { B4, B5, D3, D2, D1, D0, F4, F5, F6, F7, B1, B3, B2, B6}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nightmare/info.json b/keyboards/nightmare/info.json
index 8e79676cdb..858bb5d8ab 100644
--- a/keyboards/nightmare/info.json
+++ b/keyboards/nightmare/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nightmare",
+ "manufacturer": "cfbender",
"url": "https://keyhive.xyz/shop/nightmare-pcb-and-case",
"maintainer": "cfbender",
+ "usb": {
+ "vid": "0x434B",
+ "pid": "0x4E49",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/nightmare/keymaps/brandonschlack/keymap.c b/keyboards/nightmare/keymaps/brandonschlack/keymap.c
index 16da418453..0fa93ac357 100644
--- a/keyboards/nightmare/keymaps/brandonschlack/keymap.c
+++ b/keyboards/nightmare/keymaps/brandonschlack/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───┴┴┴┴┴┴┴┴───┴────┴───────────────────────────┴────┴───┴┴┴┴┴┘
*/
[_ADJUST] = LAYOUT_default( \
- TG_BASE, QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ TG_BASE, QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_NAV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_MOUS, _______, _______, _______, _______, _______ \
diff --git a/keyboards/nimrod/config.h b/keyboards/nimrod/config.h
index 4faa3f4e28..8b40ba11f6 100644
--- a/keyboards/nimrod/config.h
+++ b/keyboards/nimrod/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6274
-#define PRODUCT_ID 0x720D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER breadtamer
-#define PRODUCT nimrod
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F5, B6, D7, C6 }
#define MATRIX_COL_PINS { D1, F4, B5, B4, E6, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nimrod/info.json b/keyboards/nimrod/info.json
index 340e65ff3c..df08391b66 100644
--- a/keyboards/nimrod/info.json
+++ b/keyboards/nimrod/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nimrod",
+ "manufacturer": "Breadtamer",
"url": "http://www.keyboard-layout-editor.com/#/gists/5a6b4ee1ca9738c4ed90fe95ef35fdf6",
"maintainer": "Breadtamer",
+ "usb": {
+ "vid": "0x6274",
+ "pid": "0x720D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [
diff --git a/keyboards/nix_studio/n60_a/config.h b/keyboards/nix_studio/n60_a/config.h
index dea1c3587d..12d8d6b5ee 100644
--- a/keyboards/nix_studio/n60_a/config.h
+++ b/keyboards/nix_studio/n60_a/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E78
-#define PRODUCT_ID 0x3630
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nix Studio
-#define PRODUCT N60A
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/nix_studio/n60_a/info.json b/keyboards/nix_studio/n60_a/info.json
index 5e26857ebe..8d83b42065 100644
--- a/keyboards/nix_studio/n60_a/info.json
+++ b/keyboards/nix_studio/n60_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Nix_N60A",
+ "keyboard_name": "N60A",
+ "manufacturer": "Nix Studio",
"url": "",
"maintainer": "Nix Studio",
+ "usb": {
+ "vid": "0x6E78",
+ "pid": "0x3630",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nix_studio/n60_a/keymaps/default/keymap.c b/keyboards/nix_studio/n60_a/keymaps/default/keymap.c
index 7c6e9cbcfc..e49120a5c0 100644
--- a/keyboards/nix_studio/n60_a/keymaps/default/keymap.c
+++ b/keyboards/nix_studio/n60_a/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TILD, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/nix_studio/n60_a/keymaps/via/keymap.c b/keyboards/nix_studio/n60_a/keymaps/via/keymap.c
index f31f1c9135..166fc4c3ed 100644
--- a/keyboards/nix_studio/n60_a/keymaps/via/keymap.c
+++ b/keyboards/nix_studio/n60_a/keymaps/via/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TILD, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/nix_studio/n60_a/readme.md b/keyboards/nix_studio/n60_a/readme.md
index d16d269499..5a3beb0ee8 100644
--- a/keyboards/nix_studio/n60_a/readme.md
+++ b/keyboards/nix_studio/n60_a/readme.md
@@ -16,6 +16,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/nix_studio/oxalys80/config.h b/keyboards/nix_studio/oxalys80/config.h
index acd39ad528..8a9403c9a5 100644
--- a/keyboards/nix_studio/oxalys80/config.h
+++ b/keyboards/nix_studio/oxalys80/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E78
-#define PRODUCT_ID 0x3830
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nix Studio
-#define PRODUCT OXALYS80
-
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nix_studio/oxalys80/info.json b/keyboards/nix_studio/oxalys80/info.json
index d2fd765970..3b8fff7721 100644
--- a/keyboards/nix_studio/oxalys80/info.json
+++ b/keyboards/nix_studio/oxalys80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "oxalys80",
+ "keyboard_name": "OXALYS80",
+ "manufacturer": "Nix Studio",
"url": "",
"maintainer": "Nix Studio",
+ "usb": {
+ "vid": "0x6E78",
+ "pid": "0x3830",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/nopunin10did/jabberwocky/config.h b/keyboards/nopunin10did/jabberwocky/config.h
index 84c3cec451..cb4f238852 100644
--- a/keyboards/nopunin10did/jabberwocky/config.h
+++ b/keyboards/nopunin10did/jabberwocky/config.h
@@ -18,12 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E50 // "NP"
-#define PRODUCT_ID 0x4A57 // "JW"
-#define DEVICE_VER 0x0001
-#define PRODUCT Jabberwocky
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -31,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B4, B5, B7, D5, C7, F1, F0, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, D7, C6, D4, D0, D2, D3 }
-#define UNUSED_PINS
/* Indicator LEDs */
#define LED_NUM_LOCK_PIN D1
diff --git a/keyboards/nopunin10did/jabberwocky/info.json b/keyboards/nopunin10did/jabberwocky/info.json
index ad00dd4524..7744716a13 100644
--- a/keyboards/nopunin10did/jabberwocky/info.json
+++ b/keyboards/nopunin10did/jabberwocky/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Jabberwocky",
+ "manufacturer": "NoPunIn10Did",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/railroad",
"maintainer": "NoPunIn10Did",
- "manufacturer": "NoPunIn10Did",
+ "usb": {
+ "vid": "0x4E50",
+ "pid": "0x4A57",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_rh_any": {
"layout": [
diff --git a/keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c b/keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c
index 0a177dec16..0ce0ba6156 100644
--- a/keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c
+++ b/keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c
@@ -40,9 +40,9 @@ KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSA_DEL,FN_CALC,KC_N ,
[1] = LAYOUT_rh_any(
-RESET ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_F13 ,KC_F14 ,KC_F15 ,KC_F16 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+QK_BOOT,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_F13 ,KC_F14 ,KC_F15 ,KC_F16 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_NLCK,XXXXXXX,XXXXXXX,XXXXXXX,
- XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RESET ,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_JYEN, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,QK_BOOT,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_JYEN, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
KC_CAPS,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,KC_SLCK,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
LSHNUBS,LSHNUBS,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_BRK ,CTALDEL,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RSHF_RO,RSHF_RO,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,_______,
_______,_______, _______,_______,XXXXXXX, _______, _______, _______,_______,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,KC_PCMM,_______)
diff --git a/keyboards/nopunin10did/kastenwagen1840/config.h b/keyboards/nopunin10did/kastenwagen1840/config.h
index a9926aded4..714bed1b0e 100644
--- a/keyboards/nopunin10did/kastenwagen1840/config.h
+++ b/keyboards/nopunin10did/kastenwagen1840/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E50 // "NP"
-#define PRODUCT_ID 0x4B57 // "KW"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NoPunIn10Did
-#define PRODUCT Kastenwagen 1840
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 9
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B5, B7, D5, C7, F1, F0, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, E6, D7 }
-#define UNUSED_PINS
/* Indicator LEDs */
#define LED_INDICATOR_TOP B0
diff --git a/keyboards/nopunin10did/kastenwagen1840/info.json b/keyboards/nopunin10did/kastenwagen1840/info.json
index fabfd31aea..1ca9e7a5a5 100644
--- a/keyboards/nopunin10did/kastenwagen1840/info.json
+++ b/keyboards/nopunin10did/kastenwagen1840/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kastenwagen 1840",
+ "manufacturer": "NoPunIn10Did",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen1840",
"maintainer": "NoPunIn10Did",
+ "usb": {
+ "vid": "0x4E50",
+ "pid": "0x4B57",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/nopunin10did/kastenwagen48/config.h b/keyboards/nopunin10did/kastenwagen48/config.h
index f88a630cfd..1ced831ad9 100644
--- a/keyboards/nopunin10did/kastenwagen48/config.h
+++ b/keyboards/nopunin10did/kastenwagen48/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E50 // "NP"
-#define PRODUCT_ID 0x4B30 // Hex for "K" and 48
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NoPunIn10Did
-#define PRODUCT Kastenwagen 48
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B5, B7, D5, C7, F1, F0, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, E6 }
-#define UNUSED_PINS
/* Indicator LEDs */
#define LED_INDICATOR_TOP B0
diff --git a/keyboards/nopunin10did/kastenwagen48/info.json b/keyboards/nopunin10did/kastenwagen48/info.json
index 12d375863b..d2acb89eff 100644
--- a/keyboards/nopunin10did/kastenwagen48/info.json
+++ b/keyboards/nopunin10did/kastenwagen48/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kastenwagen 48",
+ "manufacturer": "NoPunIn10Did",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen48",
"maintainer": "NoPunIn10Did",
+ "usb": {
+ "vid": "0x4E50",
+ "pid": "0x4B30",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/nopunin10did/kastenwagen48/keymaps/jonavin/keymap.c b/keyboards/nopunin10did/kastenwagen48/keymaps/jonavin/keymap.c
index 29c12b0419..d364a0b2bf 100644
--- a/keyboards/nopunin10did/kastenwagen48/keymaps/jonavin/keymap.c
+++ b/keyboards/nopunin10did/kastenwagen48/keymaps/jonavin/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ ,_______ ,KC_WINLCK,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,KC_HOME,KC_PGDN,KC_END
),
[_LOWER] = LAYOUT_48(
- KC_TILD ,KC_EXLM, KC_AT, KC_HASH,KC_DLR,KC_PERC,KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN,KC_MINS,KC_EQL , RESET,
+ KC_TILD ,KC_EXLM, KC_AT, KC_HASH,KC_DLR,KC_PERC,KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN,KC_MINS,KC_EQL , QK_BOOT,
_______ ,KC_MINS, KC_EQL,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_QUES,KC_SLSH,KC_PIPE,KC_BSLS,KC_TILD, XXXXXXX ,XXXXXXX,
_______ ,KC_UNDS, KC_PLUS,XXXXXXX,KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC,KC_LT,KC_GT, XXXXXXX ,_______ ,XXXXXXX,XXXXXXX,
_______ ,_______ ,_______,XXXXXXX ,XXXXXXX ,_______,_______ ,_______ ,XXXXXXX,XXXXXXX,XXXXXXX
diff --git a/keyboards/nopunin10did/railroad/rev0/config.h b/keyboards/nopunin10did/railroad/rev0/config.h
index 8c6b075bf9..b092687229 100644
--- a/keyboards/nopunin10did/railroad/rev0/config.h
+++ b/keyboards/nopunin10did/railroad/rev0/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E50 // "NP"
-#define PRODUCT_ID 0x9111
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NoPunIn10Did
-#define PRODUCT The Railroad
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 11
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, D3, D5, C6, C7, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D4, D6, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/nopunin10did/railroad/rev0/info.json b/keyboards/nopunin10did/railroad/rev0/info.json
index 3339b3f321..ef82004a79 100644
--- a/keyboards/nopunin10did/railroad/rev0/info.json
+++ b/keyboards/nopunin10did/railroad/rev0/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Railroad",
+ "manufacturer": "NoPunIn10Did",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/railroad",
"maintainer": "NoPunIn10Did",
+ "usb": {
+ "vid": "0x4E50",
+ "pid": "0x9111",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/novelkeys/nk1/config.h b/keyboards/novelkeys/nk1/config.h
index 122df2e6da..1e86e1ec91 100644
--- a/keyboards/novelkeys/nk1/config.h
+++ b/keyboards/novelkeys/nk1/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4E4D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NK1
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -85,8 +78,18 @@
#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_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
+ #define RGBLIGHT_EFFECT_TWINKLE
#endif
/* There is only 1 Button so limiting VIA to 1 layer */
diff --git a/keyboards/novelkeys/nk1/info.json b/keyboards/novelkeys/nk1/info.json
index 43b1719e94..79be14a48e 100755
--- a/keyboards/novelkeys/nk1/info.json
+++ b/keyboards/novelkeys/nk1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NK1",
+ "manufacturer": "Yiancar-Designs",
"url": "www.yiancar-designs.com",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E4D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [{"x": 0, "y": 0}]
diff --git a/keyboards/novelkeys/nk20/config.h b/keyboards/novelkeys/nk20/config.h
new file mode 100644
index 0000000000..7b56d50c6f
--- /dev/null
+++ b/keyboards/novelkeys/nk20/config.h
@@ -0,0 +1,131 @@
+/*
+Copyright 2022 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 4
+
+#define MATRIX_ROW_PINS { B12, A5, A3, A2, A1, A0 }
+#define MATRIX_COL_PINS { B13, B14, B15, A4 }
+
+/* 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
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* RGB options */
+
+#define RGB_DI_PIN A7
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
+
+#define RGBLED_NUM 20
+#define DRIVER_LED_TOTAL 20
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk20/halconf.h b/keyboards/novelkeys/nk20/halconf.h
new file mode 100644
index 0000000000..ce14bc0c41
--- /dev/null
+++ b/keyboards/novelkeys/nk20/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/novelkeys/nk20/info.json b/keyboards/novelkeys/nk20/info.json
new file mode 100644
index 0000000000..d6a714ea0b
--- /dev/null
+++ b/keyboards/novelkeys/nk20/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "NK20",
+ "manufacturer": "Yiancar-Designs",
+ "url": "www.yiancar-designs.com",
+ "maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E4E",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "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, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "h":2}, {"x":0, "y":5, "w":2}, {"x":2, "y":5}]
+ }
+ }
+}
diff --git a/keyboards/novelkeys/nk20/keymaps/default/keymap.c b/keyboards/novelkeys/nk20/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4bd3c48da1
--- /dev/null
+++ b/keyboards/novelkeys/nk20/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_VOLD, KC_VOLU, KC_MUTE,
+ MO(1), KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_NLCK, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_SPD, RGB_SPI, KC_TRNS,
+ RGB_TOG, RGB_MOD, RGB_HUD, KC_TRNS,
+ RGB_SAD, RGB_SAI, RGB_HUI,
+ RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/novelkeys/nk20/keymaps/default/readme.md b/keyboards/novelkeys/nk20/keymaps/default/readme.md
new file mode 100644
index 0000000000..a0e56fb99e
--- /dev/null
+++ b/keyboards/novelkeys/nk20/keymaps/default/readme.md
@@ -0,0 +1,9 @@
+# The default keymap for NK20
+
+![Layer 0](https://i.imgur.com/ppJr9SO.png)
+
+Fn Layer:
+
+![Layer 1](https://i.imgur.com/wtO3GJ5.png)
+
+Default layer is normal Numpad.
diff --git a/keyboards/novelkeys/nk20/keymaps/via/keymap.c b/keyboards/novelkeys/nk20/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e647dad016
--- /dev/null
+++ b/keyboards/novelkeys/nk20/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_VOLD, KC_VOLU, KC_MUTE,
+ MO(1), KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_NLCK, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_SPD, RGB_SPI, KC_TRNS,
+ RGB_TOG, RGB_MOD, RGB_HUD, KC_TRNS,
+ RGB_SAD, RGB_SAI, RGB_HUI,
+ RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/novelkeys/nk20/keymaps/via/readme.md b/keyboards/novelkeys/nk20/keymaps/via/readme.md
new file mode 100644
index 0000000000..112a3032ea
--- /dev/null
+++ b/keyboards/novelkeys/nk20/keymaps/via/readme.md
@@ -0,0 +1,9 @@
+# The default VIA keymap for NK20. VIA support enabled.
+
+![Layer 0](https://i.imgur.com/ppJr9SO.png)
+
+Fn Layer:
+
+![Layer 1](https://i.imgur.com/wtO3GJ5.png)
+
+Default layer is normal Numpad
diff --git a/keyboards/novelkeys/nk20/keymaps/via/rules.mk b/keyboards/novelkeys/nk20/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/novelkeys/nk20/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/novelkeys/nk20/mcuconf.h b/keyboards/novelkeys/nk20/mcuconf.h
new file mode 100644
index 0000000000..7cf6a48904
--- /dev/null
+++ b/keyboards/novelkeys/nk20/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/novelkeys/nk20/nk20.c b/keyboards/novelkeys/nk20/nk20.c
new file mode 100644
index 0000000000..207e2277da
--- /dev/null
+++ b/keyboards/novelkeys/nk20/nk20.c
@@ -0,0 +1,40 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "nk20.h"
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = { {
+ { 0, 1, 2, NO_LED },
+ { 6, 5, 4, 3 },
+ { 7, 8, 9, 10 },
+ { 13, 12, 11, NO_LED },
+ { 14, 15, 16, 17 },
+ { 19, NO_LED, 18, NO_LED },
+}, {
+ { 0,0 }, { 75,0 }, {149,0 }, {224,15 }, {149,15 }, { 75,15 }, { 0,15 }, { 0,27 }, { 75,27 }, {149,27 },
+ {224,34 }, {149,40 }, { 75,40 }, { 0,40 }, { 0,52 }, { 75,52 }, {149,52 }, {224,58 }, {149,64 }, { 37,64 }
+}, {
+ 1, 1, 1,
+ 1, 1, 1, 1,
+ 4, 4, 4, 1,
+ 4, 4, 4,
+ 4, 4, 4, 1,
+ 4, 4
+} };
+// clang-format on
+#endif
diff --git a/keyboards/novelkeys/nk20/nk20.h b/keyboards/novelkeys/nk20/nk20.h
new file mode 100644
index 0000000000..62aa0e69d3
--- /dev/null
+++ b/keyboards/novelkeys/nk20/nk20.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+// This a shortcut to help you visually see your layout.
+
+#define LAYOUT_all( \
+ K00, K01, K02, \
+ K10, K11, K12, K13, \
+ K20, K21, K22, K23, \
+ K30, K31, K32, \
+ K40, K41, K42, K43, \
+ K50, K52 \
+) { \
+ { K00, K01, K02, XXX }, \
+ { K10, K11, K12, K13 }, \
+ { K20, K21, K22, K23 }, \
+ { K30, K31, K32, XXX }, \
+ { K40, K41, K42, K43 }, \
+ { K50, XXX, K52, XXX }, \
+}
diff --git a/keyboards/novelkeys/nk20/readme.md b/keyboards/novelkeys/nk20/readme.md
new file mode 100644
index 0000000000..7eb04b1359
--- /dev/null
+++ b/keyboards/novelkeys/nk20/readme.md
@@ -0,0 +1,32 @@
+# NK20
+
+This is a standard fixed layout Numpad PCB. It supports VIA and full per-key RGB.
+
+* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A Numpad keyboard with STM32F072CB or APM compatible
+* Hardware Availability: https://novelkeys.com/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make novelkeys/nk20:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make novelkeys/nk20:<keymap>:dfu-util`)
diff --git a/keyboards/novelkeys/nk20/rules.mk b/keyboards/novelkeys/nk20/rules.mk
new file mode 100644
index 0000000000..230cc1ec14
--- /dev/null
+++ b/keyboards/novelkeys/nk20/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable Per-key RGB
+RGB_MATRIX_DRIVER = WS2812 # Per-key RGB Drive
+WS2812_DRIVER = pwm # Per-key RGB MCU Driver
diff --git a/keyboards/novelkeys/nk65/config.h b/keyboards/novelkeys/nk65/config.h
index 3268e8ebf4..df64bbe83e 100755
--- a/keyboards/novelkeys/nk65/config.h
+++ b/keyboards/novelkeys/nk65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4E4B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NK65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/novelkeys/nk65/info.json b/keyboards/novelkeys/nk65/info.json
index 3c2b438c2b..77adcdbc5d 100755
--- a/keyboards/novelkeys/nk65/info.json
+++ b/keyboards/novelkeys/nk65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NK65",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E4B",
+ "device_version": "0.0.1"
+ },
"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":"Home", "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":"Page Up", "x":15, "y":1}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c b/keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c
index e5e0fea461..093d929699 100755
--- a/keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c
+++ b/keyboards/novelkeys/nk65/keymaps/madhatter/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNMS] = LAYOUT_65_ansi( /* FN */
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,\
- KC_TRNS, KC_TRNS, KC_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, QK_BOOT, KC_TRNS,\
AG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS,\
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/novelkeys/nk65b/config.h b/keyboards/novelkeys/nk65b/config.h
new file mode 100755
index 0000000000..45603267a1
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/config.h
@@ -0,0 +1,135 @@
+/*
+Copyright 2022 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS { A0, A1, A2, B11, B6 }
+#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B12, B13, B14, B15, A8, A9 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Indicator LEDs */
+#define LED_CAPS_LOCK_PIN A14
+#define LED_PIN_ON_STATE 0
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+// #define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* RGB options */
+
+#define RGB_DI_PIN B4
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 1
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
+
+#define RGBLED_NUM 68
+#define DRIVER_LED_TOTAL 68
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk65b/halconf.h b/keyboards/novelkeys/nk65b/halconf.h
new file mode 100644
index 0000000000..ce14bc0c41
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/novelkeys/nk65b/info.json b/keyboards/novelkeys/nk65b/info.json
new file mode 100755
index 0000000000..8868b78531
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/info.json
@@ -0,0 +1,17 @@
+{
+ "keyboard_name": "NK65B",
+ "manufacturer": "Yiancar-Designs",
+ "url": "www.yiancar-designs.com",
+ "url": "",
+ "maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E4F",
+ "device_version": "0.0.1"
+ },
+ "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":"Home", "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":"Page Up", "x":15, "y":1}, {"label":"Caps Lock", "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":"Page Down", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/novelkeys/nk65b/keymaps/default/keymap.c b/keyboards/novelkeys/nk65b/keymaps/default/keymap.c
new file mode 100755
index 0000000000..420db9503c
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_65_ansi( /* Base */
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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_65_ansi( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_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, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/novelkeys/nk65b/keymaps/default/readme.md b/keyboards/novelkeys/nk65b/keymaps/default/readme.md
new file mode 100755
index 0000000000..7cf0885d6e
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+# The default keymap for NK65. VIA support disabled.
+
+![Layer 1](https://i.imgur.com/1UwdR5q.png)
+
+![Layer 2](https://i.imgur.com/dRe7dfG.png)
+
+Default layer is normal ANSI 65%
diff --git a/keyboards/novelkeys/nk65b/keymaps/via/keymap.c b/keyboards/novelkeys/nk65b/keymaps/via/keymap.c
new file mode 100755
index 0000000000..39776b421f
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_65_ansi( /* Base */
+ 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_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_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_65_ansi( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_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, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_65_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/novelkeys/nk65b/keymaps/via/readme.md b/keyboards/novelkeys/nk65b/keymaps/via/readme.md
new file mode 100755
index 0000000000..14fe08420f
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/keymaps/via/readme.md
@@ -0,0 +1,7 @@
+# The default keymap for NK65. VIA support enabled.
+
+![Layer 1](https://i.imgur.com/1UwdR5q.png)
+
+![Layer 2](https://i.imgur.com/dRe7dfG.png)
+
+Default layer is normal ANSI 65%
diff --git a/keyboards/novelkeys/nk65b/keymaps/via/rules.mk b/keyboards/novelkeys/nk65b/keymaps/via/rules.mk
new file mode 100755
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/novelkeys/nk65b/mcuconf.h b/keyboards/novelkeys/nk65b/mcuconf.h
new file mode 100644
index 0000000000..7cf6a48904
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/novelkeys/nk65b/nk65b.c b/keyboards/novelkeys/nk65b/nk65b.c
new file mode 100755
index 0000000000..f4ed25c2d1
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/nk65b.c
@@ -0,0 +1,54 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "nk65b.h"
+
+void led_init_ports(void) {
+ // Set our LED pins as open drain outputs
+ palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
+ palSetLineMode(A15, PAL_MODE_OUTPUT_OPENDRAIN);
+ palSetLineMode(B3, PAL_MODE_OUTPUT_OPENDRAIN);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ writePin(A15, !layer_state_cmp(state, 1));
+ writePin(B3, !layer_state_cmp(state, 2));
+ return layer_state_set_user(state);
+}
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
+ { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, NO_LED, 15 },
+ { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, 43 },
+ { 57, NO_LED, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44 },
+ { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 61, 62, 63, 64, 65, 66 }
+}, {
+ { 0,0 }, { 15,0 }, { 30,0 }, { 45,0 }, { 60,0 }, { 75,0 }, { 90,0 }, {105,0 }, {120,0 }, {135,0 }, {150,0 }, {165,0 }, {180,0 }, {203,0 },
+ {225,0 }, {225,16 }, {206,16 }, {188,16 }, {173,16 }, {158,16 }, {143,16 }, {128,16 }, {113,16 }, { 98,16 }, { 83,16 }, { 68,16 }, { 53,16 }, { 38,16 },
+ { 23,16 }, { 4,16 }, { 6,32 }, { 26,32 }, { 41,32 }, { 56,32 }, { 71,32 }, { 86,32 }, {101,32 }, {116,32 }, {131,32 }, {146,32 }, {161,32 }, {176,32 },
+ {201,32 }, {225,32 }, {225,48 }, {210,48 }, {189,48 }, {169,48 }, {154,48 }, {139,48 }, {124,48 }, {109,48 }, { 94,48 }, { 79,48 }, { 64,48 }, { 49,48 },
+ { 34,48 }, { 9,48 }, { 2,64 }, { 21,64 }, { 39,64 }, { 96,64 }, {150,64 }, {165,64 }, {180,64 }, {195,64 }, {210,64 }, {225,64 }
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1, 1, 1
+} };
+// clang-format on
+#endif
diff --git a/keyboards/novelkeys/nk65b/nk65b.h b/keyboards/novelkeys/nk65b/nk65b.h
new file mode 100755
index 0000000000..9fd75c26ab
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/nk65b.h
@@ -0,0 +1,36 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+// 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, K2C, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K40, K41, K42, K46, 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, XXX, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \
+}
diff --git a/keyboards/novelkeys/nk65b/readme.md b/keyboards/novelkeys/nk65b/readme.md
new file mode 100755
index 0000000000..d7cefc93c8
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/readme.md
@@ -0,0 +1,34 @@
+# NK65B
+
+This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB. This is revision B.
+
+![NK65](https://i.imgur.com/EXNbVpL.jpg)
+
+Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+Hardware Supported: A 65% keyboard with STM32F072CB or APM compatible
+Hardware Availability: https://novelkeys.xyz/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make novelkeys/nk65b:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make nk65b:<keymap>:flash`)
diff --git a/keyboards/novelkeys/nk65b/rules.mk b/keyboards/novelkeys/nk65b/rules.mk
new file mode 100755
index 0000000000..230cc1ec14
--- /dev/null
+++ b/keyboards/novelkeys/nk65b/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable Per-key RGB
+RGB_MATRIX_DRIVER = WS2812 # Per-key RGB Drive
+WS2812_DRIVER = pwm # Per-key RGB MCU Driver
diff --git a/keyboards/novelkeys/nk87/config.h b/keyboards/novelkeys/nk87/config.h
index 091d80efb8..e5b955c3f8 100755
--- a/keyboards/novelkeys/nk87/config.h
+++ b/keyboards/novelkeys/nk87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4E4C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NK87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/novelkeys/nk87/info.json b/keyboards/novelkeys/nk87/info.json
index 5603ffd52b..e871dfb3eb 100755
--- a/keyboards/novelkeys/nk87/info.json
+++ b/keyboards/novelkeys/nk87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NK87",
+ "manufacturer": "Yiancar-Designs",
"url": "www.yiancar-designs.com",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E4C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25, "w":2}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":2.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.5}, {"label":"5,1", "x":1.5, "y":5.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.5}, {"label":"5,6", "x":4, "y":5.25, "w":7}, {"label":"5,11", "x":11, "y":5.25, "w":1.5}, {"label":"5,12", "x":12.5, "y":5.25}, {"label":"5,13", "x":13.5, "y":5.25, "w":1.5}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}]
diff --git a/keyboards/novelkeys/nk87b/config.h b/keyboards/novelkeys/nk87b/config.h
new file mode 100644
index 0000000000..32bbb5e69e
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/config.h
@@ -0,0 +1,135 @@
+/*
+Copyright 2022 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { B11, B10, B2, B1, A9, A5 }
+#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A10, A14, A15, B3, B4, B5, B6, B7, B8, B9, A0, A1 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Indicator LEDs */
+#define LED_CAPS_LOCK_PIN A2
+#define LED_PIN_ON_STATE 0
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+// #define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* RGB options */
+
+#define RGB_DI_PIN B0
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
+
+#define RGBLED_NUM 87
+#define DRIVER_LED_TOTAL 87
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/novelkeys/nk87b/halconf.h b/keyboards/novelkeys/nk87b/halconf.h
new file mode 100644
index 0000000000..ce14bc0c41
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/novelkeys/nk87b/info.json b/keyboards/novelkeys/nk87b/info.json
new file mode 100755
index 0000000000..01518c9b2f
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "NK87B",
+ "manufacturer": "Yiancar-Designs",
+ "url": "www.yiancar-designs.com",
+ "maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4E50",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25, "w":2}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":2.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.5}, {"label":"5,1", "x":1.5, "y":5.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.5}, {"label":"5,6", "x":4, "y":5.25, "w":7}, {"label":"5,11", "x":11, "y":5.25, "w":1.5}, {"label":"5,12", "x":12.5, "y":5.25}, {"label":"5,13", "x":13.5, "y":5.25, "w":1.5}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}]
+ }
+ }
+}
diff --git a/keyboards/novelkeys/nk87b/keymaps/default/keymap.c b/keyboards/novelkeys/nk87b/keymaps/default/keymap.c
new file mode 100644
index 0000000000..37c7feb4fd
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all( /* Base */
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, 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)
+};
diff --git a/keyboards/novelkeys/nk87b/keymaps/default/readme.md b/keyboards/novelkeys/nk87b/keymaps/default/readme.md
new file mode 100644
index 0000000000..c0ca436184
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+# The default keymap for NK87
+
+![Layer 0](https://i.imgur.com/nw29fvc.png)
+Fn Layer:
+![Layer 1](https://i.imgur.com/SyijLFt.png)
+
+Default layer is normal ANSI TKL
diff --git a/keyboards/novelkeys/nk87b/keymaps/via/keymap.c b/keyboards/novelkeys/nk87b/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d4f4a0fa9d
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, 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),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/novelkeys/nk87b/keymaps/via/readme.md b/keyboards/novelkeys/nk87b/keymaps/via/readme.md
new file mode 100644
index 0000000000..22f342c376
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/keymaps/via/readme.md
@@ -0,0 +1,7 @@
+# The default VIA keymap for NK87. VIA support enabled.
+
+![Layer 0](https://i.imgur.com/nw29fvc.png)
+Fn Layer:
+![Layer 1](https://i.imgur.com/SyijLFt.png)
+
+Default layer is normal ANSI TKL
diff --git a/keyboards/novelkeys/nk87b/keymaps/via/rules.mk b/keyboards/novelkeys/nk87b/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/novelkeys/nk87b/mcuconf.h b/keyboards/novelkeys/nk87b/mcuconf.h
new file mode 100644
index 0000000000..7cf6a48904
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/novelkeys/nk87b/nk87b.c b/keyboards/novelkeys/nk87b/nk87b.c
new file mode 100644
index 0000000000..639eba6817
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/nk87b.c
@@ -0,0 +1,58 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "nk87b.h"
+#include <lib/lib8tion/lib8tion.h>
+
+void led_init_ports(void) {
+ // Set our LED pins as open drain outputs
+ palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
+ palSetLineMode(A3, PAL_MODE_OUTPUT_OPENDRAIN);
+ palSetLineMode(A4, PAL_MODE_OUTPUT_OPENDRAIN);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ writePin(A3, !layer_state_cmp(state, 1));
+ writePin(A4, !layer_state_cmp(state, 2));
+ return layer_state_set_user(state);
+}
+
+#ifdef RGB_MATRIX_ENABLE
+// 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 },
+ { 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17 },
+ { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, NO_LED, 48, 49, 50 },
+ { 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 47, 51, NO_LED, NO_LED, NO_LED },
+ { 64, NO_LED, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED },
+ { 86, 85, 84, NO_LED, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, 77 },
+}, {
+ { 0,0 }, { 16,0 }, { 29,0 }, { 42,0 }, { 55,0 }, { 71,0 }, { 84,0 }, { 97,0 }, {110,0 }, {127,0 }, {140,0 }, {153,0 }, {166,0 }, {182,0 }, {198,0 }, {211,0 }, {224,0 },
+ {224,15 }, {211,15 }, {198,15 }, {175,15 }, {156,15 }, {143,15 }, {130,15 }, {117,15 }, {104,15 }, { 91,15 }, { 78,15 }, { 65,15 }, { 52,15 }, { 39,15 }, { 26,15 }, { 13,15 }, { 0,15 },
+ { 3,27 }, { 19,27 }, { 32,27 }, { 45,27 }, { 58,27 }, { 71,27 }, { 84,27 }, { 97,27 }, {110,27 }, {123,27 }, {136,27 }, {149,27 }, {162,27 }, {179,27 }, {198,27 }, {211,27 }, {224,27 },
+ {174,40 }, {153,40 }, {140,40 }, {127,40 }, {114,40 }, {101,40 }, { 88,40 }, { 75,40 }, { 62,40 }, { 49,40 }, { 36,40 }, { 23,40 }, { 5,40 }, { 8,52 }, { 29,52 }, { 42,52 }, { 55,52 },
+ { 68,52 }, { 81,52 }, { 94,52 }, {107,52 }, {120,52 }, {133,52 }, {146,52 }, {170,52 }, {211,52 }, {224,64 }, {211,64 }, {198,64 }, {179,64 }, {162,64 }, {146,64 }, { 91,64 }, { 36,64 },
+ { 19,64 }, { 3,64 }
+}, {
+ 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
+ 1, 1, 1, 1, 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, 1, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 1, 1, 1, 1, 1, 4, 1, 1, 1
+} };
+// clang-format on
+#endif
diff --git a/keyboards/novelkeys/nk87b/nk87b.h b/keyboards/novelkeys/nk87b/nk87b.h
new file mode 100644
index 0000000000..5e48d36baf
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/nk87b.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+// 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, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3C, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, XXX, XXX }, \
+ { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, XXX, XXX, K4F, XXX }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, XXX, K5B, K5C, K5D, K5E, K5F, K5G } \
+}
diff --git a/keyboards/novelkeys/nk87b/readme.md b/keyboards/novelkeys/nk87b/readme.md
new file mode 100644
index 0000000000..d993fb6ef4
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/readme.md
@@ -0,0 +1,34 @@
+# NK87B
+
+![NK87B](https://i.imgur.com/nw29fvc.png)
+
+This is a standard fixed layout TKL PCB. It supports VIA and full per-key RGB. This is revision B.
+
+* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible
+* Hardware Availability: https://novelkeys.xyz/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make novelkeys/nk87b:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make nk87b:<keymap>:dfu-util`)
diff --git a/keyboards/novelkeys/nk87b/rules.mk b/keyboards/novelkeys/nk87b/rules.mk
new file mode 100644
index 0000000000..230cc1ec14
--- /dev/null
+++ b/keyboards/novelkeys/nk87b/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable Per-key RGB
+RGB_MATRIX_DRIVER = WS2812 # Per-key RGB Drive
+WS2812_DRIVER = pwm # Per-key RGB MCU Driver
diff --git a/keyboards/novelkeys/novelpad/config.h b/keyboards/novelkeys/novelpad/config.h
index 2b96638966..6980258e33 100755
--- a/keyboards/novelkeys/novelpad/config.h
+++ b/keyboards/novelkeys/novelpad/config.h
@@ -19,13 +19,6 @@ 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 0x6070
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NovelKeys.xyz
-#define PRODUCT Novelpad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, C4, C5, C6, C7 }
#define MATRIX_COL_PINS { D7, D6, D5, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/novelkeys/novelpad/info.json b/keyboards/novelkeys/novelpad/info.json
index ed4a31236d..7e27f074b3 100644
--- a/keyboards/novelkeys/novelpad/info.json
+++ b/keyboards/novelkeys/novelpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NovelPad",
+ "manufacturer": "NovelKeys.xyz",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6070",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c b/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c
index bb8c977c92..3131fb008c 100755
--- a/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c
+++ b/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
- _______, RESET, BL_STEP, RGB_TOG,
+ _______, QK_BOOT, BL_STEP, RGB_TOG,
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,
diff --git a/keyboards/noxary/220/config.h b/keyboards/noxary/220/config.h
index 05fe1be559..95814568a2 100644
--- a/keyboards/noxary/220/config.h
+++ b/keyboards/noxary/220/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0899 //2201
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT 220
-
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C4, B0, D3, D4, D5, D6 }
#define MATRIX_COL_PINS { B4, C5, D2, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/220/info.json b/keyboards/noxary/220/info.json
index 6528c160c2..7eebbba900 100644
--- a/keyboards/noxary/220/info.json
+++ b/keyboards/noxary/220/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 220",
+ "keyboard_name": "220",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0899",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":0, "y":2.5}, {"x":1, "y":2.5}, {"x":2, "y":2.5}, {"x":3, "y":2.5}, {"x":0, "y":3.5}, {"x":1, "y":3.5}, {"x":2, "y":3.5}, {"x":3, "y":3.5}, {"x":0, "y":4.5}, {"x":1, "y":4.5}, {"x":2, "y":4.5}, {"x":3, "y":4.5}, {"x":0, "y":5.5}, {"x":1, "y":5.5}, {"x":2, "y":5.5}, {"x":3, "y":5.5}]
diff --git a/keyboards/noxary/260/config.h b/keyboards/noxary/260/config.h
index 29818862da..88c9214a90 100644
--- a/keyboards/noxary/260/config.h
+++ b/keyboards/noxary/260/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0A29 //2601
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT 260
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F0, B5 }
#define MATRIX_COL_PINS { C7, C6, B6, F4, E6, D0, B4, D1, D2, D3, D7, D6, D4, F1, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/260/info.json b/keyboards/noxary/260/info.json
index c744bc3ec9..997d2f7cf2 100644
--- a/keyboards/noxary/260/info.json
+++ b/keyboards/noxary/260/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 260",
+ "keyboard_name": "260",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0A29",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/noxary/268/config.h b/keyboards/noxary/268/config.h
index bd72bdba74..26d9b272dc 100644
--- a/keyboards/noxary/268/config.h
+++ b/keyboards/noxary/268/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0A79 //2681
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT 268
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F5, F4, F0, F1, D0 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, E6, B0, D1, B2, B3, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/268/info.json b/keyboards/noxary/268/info.json
index 5e57545349..f32ea9887c 100644
--- a/keyboards/noxary/268/info.json
+++ b/keyboards/noxary/268/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 268",
+ "keyboard_name": "268",
+ "manufacturer": "Noxary",
"url": "https://www.instagram.com/noxaryco/",
"maintainer": "QMK Community",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0A79",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":6, "y":0}, {"label":"7", "x":7, "y":0}, {"label":"8", "x":8, "y":0}, {"label":"9", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"- _", "x":11, "y":0}, {"label":"= +", "x":12, "y":0}, {"label":"Back Space", "x":13, "y":0}, {"label":"Back Space", "x":14, "y":0}, {"label":"` ~", "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":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "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":"# ~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Page Up", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"\\ |", "x":1.25, "y":3}, {"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}, {"label":"Shift", "x":13.25, "y":3, "w":0.75}, {"label":"Up", "x":14, "y":3}, {"label":"Page Down", "x":15, "y":3}, {"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}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "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/noxary/268/keymaps/sixtyeight/keymap.c b/keyboards/noxary/268/keymaps/sixtyeight/keymap.c
index 151ac1f73d..1af41535e6 100644
--- a/keyboards/noxary/268/keymaps/sixtyeight/keymap.c
+++ b/keyboards/noxary/268/keymaps/sixtyeight/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, KC_INS,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, _______,
_______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______),
diff --git a/keyboards/noxary/268_2/config.h b/keyboards/noxary/268_2/config.h
index b447a37f57..3cade7ae27 100644
--- a/keyboards/noxary/268_2/config.h
+++ b/keyboards/noxary/268_2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0A7A //2682
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Noxary
-#define PRODUCT 268.2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F0, B5 }
#define MATRIX_COL_PINS { C6, B6, C7, F4, E6, D0, D7, D1, D2, B4, D6, D4, D5, F1, D3, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/268_2/info.json b/keyboards/noxary/268_2/info.json
index a84442dbc1..18a7dfe774 100644
--- a/keyboards/noxary/268_2/info.json
+++ b/keyboards/noxary/268_2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 268.2",
+ "keyboard_name": "268.2",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0A7A",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/noxary/268_2_rgb/config.h b/keyboards/noxary/268_2_rgb/config.h
index eafbbd4092..9856f6401e 100644
--- a/keyboards/noxary/268_2_rgb/config.h
+++ b/keyboards/noxary/268_2_rgb/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0A7C //2684
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT 268.2_RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F6, F5, F4, F0, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F1, E6, B2, B1, D6, B4, D7, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/268_2_rgb/info.json b/keyboards/noxary/268_2_rgb/info.json
index a73302528f..9cf57e646f 100644
--- a/keyboards/noxary/268_2_rgb/info.json
+++ b/keyboards/noxary/268_2_rgb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 268.2 RGB",
+ "keyboard_name": "268.2 RGB",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0A7C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/noxary/280/config.h b/keyboards/noxary/280/config.h
index 3147d12528..8ba050ab83 100644
--- a/keyboards/noxary/280/config.h
+++ b/keyboards/noxary/280/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0AF1 //2801
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT 280
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, E6, D6, D4, F6, F5, F4, F1, B2, D3, D2, D1}
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, B0, B3}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/280/info.json b/keyboards/noxary/280/info.json
index e1c87b6545..e3eeabc84f 100644
--- a/keyboards/noxary/280/info.json
+++ b/keyboards/noxary/280/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 280",
+ "keyboard_name": "280",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0AF1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/noxary/378/config.h b/keyboards/noxary/378/config.h
index fa08601875..3b8af6d168 100644
--- a/keyboards/noxary/378/config.h
+++ b/keyboards/noxary/378/config.h
@@ -17,14 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x017A // 378
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT Noxary 378
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/noxary/378/info.json b/keyboards/noxary/378/info.json
index ef165262a5..24ef51cbe8 100644
--- a/keyboards/noxary/378/info.json
+++ b/keyboards/noxary/378/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary 378",
+ "keyboard_name": "378",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x017A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/noxary/valhalla/config.h b/keyboards/noxary/valhalla/config.h
index abce175dce..7620639ec4 100644
--- a/keyboards/noxary/valhalla/config.h
+++ b/keyboards/noxary/valhalla/config.h
@@ -17,14 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x5648 // "VH" for Valhalla
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT Valhalla
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/noxary/valhalla/info.json b/keyboards/noxary/valhalla/info.json
index 01d31bce6b..d5934b2e70 100644
--- a/keyboards/noxary/valhalla/info.json
+++ b/keyboards/noxary/valhalla/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Valhalla",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x5648",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/noxary/valhalla/readme.md b/keyboards/noxary/valhalla/readme.md
index ac053df874..36e3403dae 100644
--- a/keyboards/noxary/valhalla/readme.md
+++ b/keyboards/noxary/valhalla/readme.md
@@ -17,7 +17,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Compile firmware
diff --git a/keyboards/noxary/vulcan/config.h b/keyboards/noxary/vulcan/config.h
index e478071110..e54c0c6044 100644
--- a/keyboards/noxary/vulcan/config.h
+++ b/keyboards/noxary/vulcan/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Noxary
-#define PRODUCT Vulcan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D2, F0, F1 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/vulcan/info.json b/keyboards/noxary/vulcan/info.json
index f3b5761095..7956a21deb 100644
--- a/keyboards/noxary/vulcan/info.json
+++ b/keyboards/noxary/vulcan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "vulcan",
+ "keyboard_name": "Vulcan",
+ "manufacturer": "Noxary",
"url": "https://noxary.co/products/vulcan-pro-base",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/noxary/x268/config.h b/keyboards/noxary/x268/config.h
index 3c4965a6cc..12f62c3ff0 100644
--- a/keyboards/noxary/x268/config.h
+++ b/keyboards/noxary/x268/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E58 //"NX"
-#define PRODUCT_ID 0x0A7B //2683
-#define DEVICE_VER 0x0078 //"x"
-#define MANUFACTURER Noxary
-#define PRODUCT x268
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F0, B4 }
#define MATRIX_COL_PINS { C6, B6, C7, F4, E6, B2, D6, D0, D1, D7, D4, D5, D3, F1, D2, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/noxary/x268/info.json b/keyboards/noxary/x268/info.json
index 04cd126de3..bbad48252a 100644
--- a/keyboards/noxary/x268/info.json
+++ b/keyboards/noxary/x268/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Noxary x268",
+ "keyboard_name": "x268",
+ "manufacturer": "Noxary",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4E58",
+ "pid": "0x0A7B",
+ "device_version": "0.7.8"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/np12/config.h b/keyboards/np12/config.h
index b330c29feb..1f9a14b315 100644
--- a/keyboards/np12/config.h
+++ b/keyboards/np12/config.h
@@ -18,22 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA4A4
-#define PRODUCT_ID 0x4401
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nut1414
-#define PRODUCT np12
-
-
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { D7, E6, B4, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
diff --git a/keyboards/np12/info.json b/keyboards/np12/info.json
index 06e544244b..8b8d89cc4a 100644
--- a/keyboards/np12/info.json
+++ b/keyboards/np12/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "np12",
+ "manufacturer": "nut1414",
"url": "https://github.com/nut1414/np12",
"maintainer": "nut1414",
+ "usb": {
+ "vid": "0xA4A4",
+ "pid": "0x4401",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nullbitsco/nibble/config.h b/keyboards/nullbitsco/nibble/config.h
index b88d4bc360..c4461c5b20 100644
--- a/keyboards/nullbitsco/nibble/config.h
+++ b/keyboards/nullbitsco/nibble/config.h
@@ -24,14 +24,6 @@
// Workaround for freezing after MacOS sleep
#define NO_USB_STARTUP_CHECK
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E61
-#define PRODUCT_ID 0x6060
-
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nullbits
-#define PRODUCT NIBBLE
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/nullbitsco/nibble/info.json b/keyboards/nullbitsco/nibble/info.json
index 7a4ddca6bd..33ae369936 100644
--- a/keyboards/nullbitsco/nibble/info.json
+++ b/keyboards/nullbitsco/nibble/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "NIBBLE 65%",
+ "keyboard_name": "NIBBLE",
+ "manufacturer": "nullbits",
"url": "https://nullbits.co/nibble/",
+ "usb": {
+ "vid": "0x6E61",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled/keymap.c b/keyboards/nullbitsco/nibble/keymaps/oled/keymap.c
index 300af70737..39e6cd04ef 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F16, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_ansi(
- 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_END,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/keymap.c b/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/keymap.c
index a4e484f9cf..586de79af3 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_VIA1] = 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_END,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c b/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
index fa72a78905..2b024b7758 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F16, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT_ansi(
- 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_END,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/nullbitsco/scramble/config.h b/keyboards/nullbitsco/scramble/config.h
index 811f28e6be..4333d94d37 100644
--- a/keyboards/nullbitsco/scramble/config.h
+++ b/keyboards/nullbitsco/scramble/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E61
-#define PRODUCT_ID 0x6062
-
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nullbits
-#define PRODUCT SCRAMBLE
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/nullbitsco/scramble/info.json b/keyboards/nullbitsco/scramble/info.json
index 967c9fda64..cc5fd28d76 100644
--- a/keyboards/nullbitsco/scramble/info.json
+++ b/keyboards/nullbitsco/scramble/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "SCRAMBLE switch tester",
+ "keyboard_name": "SCRAMBLE",
+ "manufacturer": "nullbits",
"url": "https://nullbits.co/scramble",
"maintainer": "jaygreco",
+ "usb": {
+ "vid": "0x6E61",
+ "pid": "0x6062",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nullbitsco/tidbit/config.h b/keyboards/nullbitsco/tidbit/config.h
index 103dabdb96..5e3d640dbd 100644
--- a/keyboards/nullbitsco/tidbit/config.h
+++ b/keyboards/nullbitsco/tidbit/config.h
@@ -23,13 +23,6 @@
// Workaround for freezing after MacOS sleep
#define USB_SUSPEND_WAKEUP_DELAY 200
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6E61
-#define PRODUCT_ID 0x6064
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nullbits
-#define PRODUCT TIDBIT
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
@@ -37,7 +30,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, E6, D7, C6, D4 }
#define MATRIX_COL_PINS { NO_PIN, NO_PIN, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/nullbitsco/tidbit/info.json b/keyboards/nullbitsco/tidbit/info.json
index 5d260cc453..7b9c4eb8ae 100644
--- a/keyboards/nullbitsco/tidbit/info.json
+++ b/keyboards/nullbitsco/tidbit/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "TIDBIT 19",
+ "keyboard_name": "TIDBIT",
+ "manufacturer": "nullbits",
"url": "https://nullbits.co/tidbit/",
+ "usb": {
+ "vid": "0x6E61",
+ "pid": "0x6064",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/nullbitsco/tidbit/readme.md b/keyboards/nullbitsco/tidbit/readme.md
index f2d0d9934b..d41ad039c3 100644
--- a/keyboards/nullbitsco/tidbit/readme.md
+++ b/keyboards/nullbitsco/tidbit/readme.md
@@ -17,7 +17,7 @@ Adds experimental "Remote Keyboard" functionality, which forwards keystrokes fro
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/nullbitsco/tidbit/tidbit.c b/keyboards/nullbitsco/tidbit/tidbit.c
index 6e7ef460e5..ac29777841 100644
--- a/keyboards/nullbitsco/tidbit/tidbit.c
+++ b/keyboards/nullbitsco/tidbit/tidbit.c
@@ -127,7 +127,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
switch (keycode) {
- case RESET:
+ case QK_BOOT:
if (record->event.pressed) {
set_bitc_LED(LED_DIM);
rgblight_disable_noeeprom();
diff --git a/keyboards/numatreus/config.h b/keyboards/numatreus/config.h
index b2c147fcc1..9f2daa585f 100644
--- a/keyboards/numatreus/config.h
+++ b/keyboards/numatreus/config.h
@@ -16,14 +16,6 @@ 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 0xE80A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yohewi
-#define PRODUCT NumAtreus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
diff --git a/keyboards/numatreus/info.json b/keyboards/numatreus/info.json
index 3006b87e47..17975f6d0e 100644
--- a/keyboards/numatreus/info.json
+++ b/keyboards/numatreus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "numatreus",
+ "keyboard_name": "NumAtreus",
+ "manufacturer": "yohewi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xE80A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.35}, {"x":2, "y":0}, {"x":3, "y":0.35}, {"x":4, "y":0.7}, {"x":8, "y":0.7}, {"x":9, "y":0.35}, {"x":10, "y":0}, {"x":11, "y":0.35}, {"x":12, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.35}, {"x":2, "y":1}, {"x":3, "y":1.35}, {"x":4, "y":1.7}, {"x":8, "y":1.7}, {"x":9, "y":1.35}, {"x":10, "y":1}, {"x":11, "y":1.35}, {"x":12, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.35}, {"x":2, "y":2}, {"x":3, "y":2.35}, {"x":4, "y":2.7}, {"x":8, "y":2.7}, {"x":9, "y":2.35}, {"x":10, "y":2}, {"x":11, "y":2.35}, {"x":12, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.35}, {"x":2, "y":3}, {"x":3, "y":3.35}, {"x":4, "y":3.7}, {"x":5, "y":2.95, "h":1.5}, {"x":7, "y":2.95, "h":1.5}, {"x":8, "y":3.7}, {"x":9, "y":3.35}, {"x":10, "y":3}, {"x":11, "y":3.35}, {"x":12, "y":3.6}]
diff --git a/keyboards/numatreus/keymaps/hdbx/keymap.c b/keyboards/numatreus/keymaps/hdbx/keymap.c
index 5bc8c4d0e6..a221f9fe19 100644
--- a/keyboards/numatreus/keymaps/hdbx/keymap.c
+++ b/keyboards/numatreus/keymaps/hdbx/keymap.c
@@ -152,14 +152,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------| |------+------+------+------+------|
* | | | | | | | | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * |RESET | | | | | | | | | | | |
+ * |QK_BOOT | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
MCR1, MCR2, MCR3, MCR4, MCR5, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME, XXXXXXX, QWERTY, HDBX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
diff --git a/keyboards/numatreus/keymaps/like_jis/keymap.c b/keyboards/numatreus/keymaps/like_jis/keymap.c
index 4189373e46..24c554d20c 100644
--- a/keyboards/numatreus/keymaps/like_jis/keymap.c
+++ b/keyboards/numatreus/keymaps/like_jis/keymap.c
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,----------------------------------. ,----------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, KC_CAPS, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, KC_CAPS, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP,
//|------+------+------+------+------| |------+------+------+------+------|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_SLCK, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN,
//|------+------+------+------+------| |------+------+------+------+------|
diff --git a/keyboards/numatreus/keymaps/yohewi/keymap.c b/keyboards/numatreus/keymaps/yohewi/keymap.c
index 8027a972e4..5b53389f98 100644
--- a/keyboards/numatreus/keymaps/yohewi/keymap.c
+++ b/keyboards/numatreus/keymaps/yohewi/keymap.c
@@ -56,6 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT( /* [> LOWER <] */
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN ,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
- KC_F11, KC_F12, KC_NO, KC_NO, RESET, KC_TRNS, KC_TRNS, KC_QUOT, KC_UP, KC_BSLS ,
+ KC_F11, KC_F12, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_TRNS, KC_QUOT, KC_UP, KC_BSLS ,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, TO(_QWERTY), KC_LEFT, KC_DOWN, KC_RGHT )
};
diff --git a/keyboards/obosob/arch_36/config.h b/keyboards/obosob/arch_36/config.h
index be4a0a9830..9d38dde232 100644
--- a/keyboards/obosob/arch_36/config.h
+++ b/keyboards/obosob/arch_36/config.h
@@ -18,14 +18,6 @@ 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 0xFEED
-#define PRODUCT_ID 0x9CE3
-#define DEVICE_VER 0x0001
-#define MANUFACTURER obosob
-#define PRODUCT Arch-36
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring
#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/obosob/arch_36/info.json b/keyboards/obosob/arch_36/info.json
index 344674a426..c5d9077237 100644
--- a/keyboards/obosob/arch_36/info.json
+++ b/keyboards/obosob/arch_36/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Arch-36",
+ "manufacturer": "obosob",
"url": "",
"maintainer": "obosob",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9CE3",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
index 104ee378f5..552e5cb045 100644
--- a/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
+++ b/keyboards/obosob/arch_36/keymaps/obosob/keymap.c
@@ -203,8 +203,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QUESSPC, QUOT, DQUOT, COMMSPC, DOTSPC, EXLMSPC
),
// Adjust ________ ________
-// ________| RESET |________ ________| |________
-// | | EEPROM | RESET |________ ________| | | |
+// ________| QK_BOOT |________ ________| |________
+// | | EEPROM | QK_BOOT |________ ________| | | |
// ________| |________| | | | | |________| |________
// | |________| RGB |________| | | |________| |________| |
// | | RGB | Hue+ | RGB |________| |________| | | | |
@@ -219,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// |________| | | |________|
// |________| |________|
[_ADJUST] = LAYOUT_split_3x5_3(
- XXXXXXX, WOKE, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, WOKE, EEP_RST, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX,
XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/obosob/steal_this_keyboard/config.h b/keyboards/obosob/steal_this_keyboard/config.h
index ea637d0c2f..acb0d64b79 100644
--- a/keyboards/obosob/steal_this_keyboard/config.h
+++ b/keyboards/obosob/steal_this_keyboard/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC2AB
-#define PRODUCT_ID 0x50AD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Obosob
-#define PRODUCT Steal This Keyboard!
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -54,7 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B5, C6, NO_PIN, NO_PIN, NO_PIN } \
}
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/obosob/steal_this_keyboard/info.json b/keyboards/obosob/steal_this_keyboard/info.json
index 7a4eabdb55..a20119208d 100644
--- a/keyboards/obosob/steal_this_keyboard/info.json
+++ b/keyboards/obosob/steal_this_keyboard/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "steal this keyboard",
+ "keyboard_name": "Steal This Keyboard!",
+ "manufacturer": "Obosob",
"url": "https://github.com/obosob/steal_this_keyboard",
"maintainer": "@obosob",
+ "usb": {
+ "vid": "0xC2AB",
+ "pid": "0x50AD",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_2": {
"layout": [
diff --git a/keyboards/ocean/addon/config.h b/keyboards/ocean/addon/config.h
index 1b221b65bd..00d6a02a9d 100644
--- a/keyboards/ocean/addon/config.h
+++ b/keyboards/ocean/addon/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT AddOn
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS { D0, D1, D2, D3, D4, F4 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/addon/info.json b/keyboards/ocean/addon/info.json
index 75e1eb2c48..05d41ab59a 100644
--- a/keyboards/ocean/addon/info.json
+++ b/keyboards/ocean/addon/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AddOn",
+ "manufacturer": "Ocean",
"url": "tokopedia.com/kbdksp",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ocean/gin_v2/config.h b/keyboards/ocean/gin_v2/config.h
index 2f70ad3f5e..1c0dabc4e3 100644
--- a/keyboards/ocean/gin_v2/config.h
+++ b/keyboards/ocean/gin_v2/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Gin V2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { D2, D3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/gin_v2/info.json b/keyboards/ocean/gin_v2/info.json
index cd9d809419..d7493b39c3 100644
--- a/keyboards/ocean/gin_v2/info.json
+++ b/keyboards/ocean/gin_v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gin V2",
+ "manufacturer": "Ocean",
"url": "",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ocean/slamz/config.h b/keyboards/ocean/slamz/config.h
index 5f27a3a6d0..aff184b243 100644
--- a/keyboards/ocean/slamz/config.h
+++ b/keyboards/ocean/slamz/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Slamz
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
diff --git a/keyboards/ocean/slamz/info.json b/keyboards/ocean/slamz/info.json
index 4d5fe17dc3..6534007c3b 100644
--- a/keyboards/ocean/slamz/info.json
+++ b/keyboards/ocean/slamz/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Slamz",
+ "manufacturer": "Ocean",
"url": "",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/ocean/stealth/config.h b/keyboards/ocean/stealth/config.h
index ab1860332e..b0240c4a0e 100644
--- a/keyboards/ocean/stealth/config.h
+++ b/keyboards/ocean/stealth/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Stealth
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { D1 }
#define MATRIX_COL_PINS { D0, D4, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/stealth/info.json b/keyboards/ocean/stealth/info.json
index 3342319c8e..7b45dcd520 100644
--- a/keyboards/ocean/stealth/info.json
+++ b/keyboards/ocean/stealth/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stealth",
+ "manufacturer": "Ocean",
"url": "",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0, "w":2.25}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}]
diff --git a/keyboards/ocean/sus/config.h b/keyboards/ocean/sus/config.h
index c3e2a3263a..2446daee7b 100644
--- a/keyboards/ocean/sus/config.h
+++ b/keyboards/ocean/sus/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Sus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { B5, B4, E6, D7 }
#define MATRIX_COL_PINS { C6, D4, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/sus/info.json b/keyboards/ocean/sus/info.json
index 3665038b6f..580379f25a 100644
--- a/keyboards/ocean/sus/info.json
+++ b/keyboards/ocean/sus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "SUS",
+ "keyboard_name": "Sus",
+ "manufacturer": "Ocean",
"url": " ",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x3": {
"layout": [
diff --git a/keyboards/ocean/wang_ergo/config.h b/keyboards/ocean/wang_ergo/config.h
index 62c9d2fca2..05b6b687ed 100644
--- a/keyboards/ocean/wang_ergo/config.h
+++ b/keyboards/ocean/wang_ergo/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Wang Ergo
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B4, B5, B6, B2, B3, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/wang_ergo/info.json b/keyboards/ocean/wang_ergo/info.json
index 5ade58c54c..04065cdb07 100644
--- a/keyboards/ocean/wang_ergo/info.json
+++ b/keyboards/ocean/wang_ergo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wang Ergo",
+ "manufacturer": "Ocean",
"url": "",
"maintainer": "oceeean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/ocean/wang_v2/config.h b/keyboards/ocean/wang_v2/config.h
index f5f1e9231c..e9953e63cc 100644
--- a/keyboards/ocean/wang_v2/config.h
+++ b/keyboards/ocean/wang_v2/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Wang V2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B4, B5, B6, B2, B3, B1, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ocean/wang_v2/info.json b/keyboards/ocean/wang_v2/info.json
index 310f448956..7a04f23e1b 100644
--- a/keyboards/ocean/wang_v2/info.json
+++ b/keyboards/ocean/wang_v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wang V2",
+ "manufacturer": "Ocean",
"url": "",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":0.75, "y":1, "w":1.25}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1, "w":1.75}, {"x":0.25, "y":2, "w":1.75}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":1.25}, {"x":5, "y":3, "w":2}, {"x":7, "y":3, "w":2}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/ocean/yuri/config.h b/keyboards/ocean/yuri/config.h
index d8313fd71f..e04d70a50b 100644
--- a/keyboards/ocean/yuri/config.h
+++ b/keyboards/ocean/yuri/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x9624
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ocean
-#define PRODUCT Yuri
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
diff --git a/keyboards/ocean/yuri/info.json b/keyboards/ocean/yuri/info.json
index 68d9668579..458c11d091 100644
--- a/keyboards/ocean/yuri/info.json
+++ b/keyboards/ocean/yuri/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Yuri",
+ "manufacturer": "Ocean",
"url": "tokopedia.com/strat0s",
"maintainer": "Ocean",
+ "usb": {
+ "vid": "0x9624",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0},
diff --git a/keyboards/oddball/config.h b/keyboards/oddball/config.h
index cfb134c4e3..30e16490c8 100644
--- a/keyboards/oddball/config.h
+++ b/keyboards/oddball/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCA49
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alexander Tulloh
-#define PRODUCT Oddball
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -56,4 +49,4 @@
// #define BOOTMAGIC_LITE_COLUMN 0
#define ADNS9800_CS_PIN SPI_SS_PIN
-#define PMW3360_CS_PIN SPI_SS_PIN
+#define PMW33XX_CS_PIN SPI_SS_PIN
diff --git a/keyboards/oddball/info.json b/keyboards/oddball/info.json
index ab1eb1f2e7..84e512dbdc 100644
--- a/keyboards/oddball/info.json
+++ b/keyboards/oddball/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Oddball",
+ "manufacturer": "Alexander Tulloh",
"url": "https://atulloh.github.io/oddball",
"maintainer": "Alexander Tulloh",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xCA49",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/oddball/v1/config.h b/keyboards/oddball/v1/config.h
index 96aa56f822..7a33a7049a 100644
--- a/keyboards/oddball/v1/config.h
+++ b/keyboards/oddball/v1/config.h
@@ -28,4 +28,3 @@
*/
#define MATRIX_ROW_PINS { F6, B5, B6, F7 }
#define MATRIX_COL_PINS { D6, D7, B4, D3, C6, C7 }
-#define UNUSED_PINS { B7, D4, D5, E6, F0, F1, F4, F5 }
diff --git a/keyboards/oddball/v2/config.h b/keyboards/oddball/v2/config.h
index 9ba3bb8dfb..793d305931 100644
--- a/keyboards/oddball/v2/config.h
+++ b/keyboards/oddball/v2/config.h
@@ -28,4 +28,3 @@
*/
#define MATRIX_ROW_PINS { D4, E6, D7, C6 }
#define MATRIX_COL_PINS { B7, B5, B4, F5, F6, F7 }
-#define UNUSED_PINS { D3, D5, C7, F1, F0, B6, F4 }
diff --git a/keyboards/oddball/v2_1/config.h b/keyboards/oddball/v2_1/config.h
index 6be3e8a248..9f138d7d52 100644
--- a/keyboards/oddball/v2_1/config.h
+++ b/keyboards/oddball/v2_1/config.h
@@ -28,4 +28,3 @@
*/
#define MATRIX_ROW_PINS { D4, E6, D7, C6 }
#define MATRIX_COL_PINS { B6, B5, B4, F5, F6, F7 }
-#define UNUSED_PINS { D3, D5, C7, F1, F0, B7, F4 }
diff --git a/keyboards/oddforge/vea/config.h b/keyboards/oddforge/vea/config.h
index 44f5264017..43a75a7f03 100644
--- a/keyboards/oddforge/vea/config.h
+++ b/keyboards/oddforge/vea/config.h
@@ -18,13 +18,6 @@ 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 0xFFFE
-#define PRODUCT_ID 0x4155
-#define DEVICE_VER 0x0100
-#define MANUFACTURER OddForge
-#define PRODUCT VE.A
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
diff --git a/keyboards/oddforge/vea/info.json b/keyboards/oddforge/vea/info.json
index 471d04068d..e2ab0d97a3 100644
--- a/keyboards/oddforge/vea/info.json
+++ b/keyboards/oddforge/vea/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "VE.A",
+ "manufacturer": "OddForge",
"url": "https://drop.com/buy/ve-a",
"maintainer": "MajorKoos",
+ "usb": {
+ "vid": "0xFFFE",
+ "pid": "0x4155",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"5,0", "x":2.25, "y":0}, {"label":"5,1", "x":3.25, "y":0}, {"label":"5,2", "x":4.25, "y":0}, {"label":"5,3", "x":5.25, "y":0}, {"label":"5,4", "x":6.25, "y":0}, {"label":"5,5", "x":7.25, "y":0}, {"label":"5,6", "x":8.25, "y":0}, {"label":"5,8", "x":10.75, "y":0}, {"label":"5,9", "x":11.75, "y":0}, {"label":"5,10", "x":12.75, "y":0}, {"label":"5,11", "x":13.75, "y":0}, {"label":"5,12", "x":14.75, "y":0}, {"label":"5,13", "x":15.75, "y":0}, {"label":"6,11", "x":16.75, "y":0}, {"label":"7,11", "x":17.75, "y":0}, {"label":"6,13", "x":18.75, "y":0}, {"label":"6,1", "x":0, "y":1}, {"label":"7,1", "x":1, "y":1}, {"label":"4,0", "x":2.25, "y":1}, {"label":"4,1", "x":3.25, "y":1}, {"label":"4,2", "x":4.25, "y":1}, {"label":"4,3", "x":5.25, "y":1}, {"label":"4,4", "x":6.25, "y":1}, {"label":"4,5", "x":7.25, "y":1}, {"label":"4,6", "x":8.25, "y":1}, {"label":"4,8", "x":10.75, "y":1}, {"label":"4,9", "x":11.75, "y":1}, {"label":"4,10", "x":12.75, "y":1}, {"label":"4,11", "x":13.75, "y":1}, {"label":"4,12", "x":14.75, "y":1}, {"label":"4,13", "x":15.75, "y":1}, {"label":"4,14", "x":16.75, "y":1, "w":2}, {"label":"6,10", "x":18.75, "y":1}, {"label":"6,2", "x":0, "y":2}, {"label":"7,2", "x":1, "y":2}, {"label":"3,0", "x":2.25, "y":2, "w":1.5}, {"label":"3,1", "x":3.75, "y":2}, {"label":"3,2", "x":4.75, "y":2}, {"label":"3,3", "x":5.75, "y":2}, {"label":"3,4", "x":6.75, "y":2}, {"label":"3,5", "x":7.75, "y":2}, {"label":"1,8", "x":10.25, "y":2}, {"label":"1,9", "x":11.25, "y":2}, {"label":"1,10", "x":12.25, "y":2}, {"label":"1,11", "x":13.25, "y":2}, {"label":"1,12", "x":14.25, "y":2}, {"label":"1,13", "x":15.25, "y":2}, {"label":"1,14", "x":16.25, "y":2}, {"label":"2,14", "x":17.25, "y":2, "w":1.5}, {"label":"7,10", "x":18.75, "y":2}, {"label":"6,3", "x":0, "y":3}, {"label":"7,3", "x":1, "y":3}, {"label":"2,0", "x":2.25, "y":3, "w":1.75}, {"label":"2,1", "x":4, "y":3}, {"label":"2,2", "x":5, "y":3}, {"label":"2,3", "x":6, "y":3}, {"label":"2,4", "x":7, "y":3}, {"label":"2,5", "x":8, "y":3}, {"label":"2,8", "x":10.5, "y":3}, {"label":"2,9", "x":11.5, "y":3}, {"label":"2,10", "x":12.5, "y":3}, {"label":"2,11", "x":13.5, "y":3}, {"label":"2,12", "x":14.5, "y":3}, {"label":"2,13", "x":15.5, "y":3}, {"label":"3,13", "x":16.5, "y":3, "w":2.25}, {"label":"6,12", "x":18.75, "y":3}, {"label":"6,4", "x":0, "y":4}, {"label":"7,4", "x":1, "y":4}, {"label":"1,0", "x":2.25, "y":4, "w":2.25}, {"label":"1,1", "x":4.5, "y":4}, {"label":"1,2", "x":5.5, "y":4}, {"label":"1,3", "x":6.5, "y":4}, {"label":"1,4", "x":7.5, "y":4}, {"label":"1,5", "x":8.5, "y":4}, {"label":"3,8", "x":11, "y":4}, {"label":"3,9", "x":12, "y":4}, {"label":"3,10", "x":13, "y":4}, {"label":"3,11", "x":14, "y":4}, {"label":"3,12", "x":15, "y":4}, {"label":"3,14", "x":16, "y":4, "w":1.75}, {"label":"6,8", "x":17.75, "y":4}, {"label":"7,12", "x":18.75, "y":4}, {"label":"6,5", "x":0, "y":5}, {"label":"7,5", "x":1, "y":5}, {"label":"0,0", "x":2.25, "y":5, "w":1.25}, {"label":"0,1", "x":3.5, "y":5, "w":1.25}, {"label":"0,2", "x":4.75, "y":5, "w":1.25}, {"label":"7,7", "x":6, "y":5, "w":2}, {"label":"6,6", "x":8, "y":5}, {"label":"6,14", "x":10.5, "y":5, "w":2.75}, {"label":"0,10", "x":13.25, "y":5, "w":1.25}, {"label":"0,9", "x":14.5, "y":5}, {"label":"0,8", "x":15.5, "y":5, "w":1.25}, {"label":"7,8", "x":16.75, "y":5}, {"label":"6,9", "x":17.75, "y":5}, {"label":"7,9", "x":18.75, "y":5}]
diff --git a/keyboards/odelia/config.h b/keyboards/odelia/config.h
index 10803b81a1..c69ebcac30 100644
--- a/keyboards/odelia/config.h
+++ b/keyboards/odelia/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6BE3
-#define PRODUCT_ID 0xA129
-#define DEVICE_VER 0x0001
-#define MANUFACTURER InterpolKeeb
-#define PRODUCT Odelia
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B3, B7, B1, B2, B0, F4, F0, F1, D4, B6}
#define MATRIX_COL_PINS {B5, B4, D7, D6, E6, D0, D1, D2, D3, D5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/odelia/info.json b/keyboards/odelia/info.json
index b204795952..dacdc49760 100644
--- a/keyboards/odelia/info.json
+++ b/keyboards/odelia/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "odelia",
+ "keyboard_name": "Odelia",
+ "manufacturer": "InterpolKeeb",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x6BE3",
+ "pid": "0xA129",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ogre/ergo_single/config.h b/keyboards/ogre/ergo_single/config.h
index 5c0c09b3c7..788ace6f5c 100644
--- a/keyboards/ogre/ergo_single/config.h
+++ b/keyboards/ogre/ergo_single/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ctrlshiftba
-#define PRODUCT ergo_single
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/ogre/ergo_single/info.json b/keyboards/ogre/ergo_single/info.json
index ca9223545d..fd446099f5 100644
--- a/keyboards/ogre/ergo_single/info.json
+++ b/keyboards/ogre/ergo_single/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ogre Ergo Single",
+ "manufacturer": "ctrlshiftba",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ogre/ergo_split/config.h b/keyboards/ogre/ergo_split/config.h
index 4bf45c05e7..43a9894f3d 100644
--- a/keyboards/ogre/ergo_split/config.h
+++ b/keyboards/ogre/ergo_split/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ctrlshiftba
-#define PRODUCT ergo_split
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/ogre/ergo_split/info.json b/keyboards/ogre/ergo_split/info.json
index eaf5c4e389..2e3e2f73a8 100644
--- a/keyboards/ogre/ergo_split/info.json
+++ b/keyboards/ogre/ergo_split/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ogre Ergo Split",
+ "manufacturer": "ctrlshiftba",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ok60/config.h b/keyboards/ok60/config.h
index faccfcc646..96fff1b590 100644
--- a/keyboards/ok60/config.h
+++ b/keyboards/ok60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B36 // K6 - ok60
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OK60
-#define PRODUCT OK60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/ok60/info.json b/keyboards/ok60/info.json
index 8207604dda..19144808e2 100644
--- a/keyboards/ok60/info.json
+++ b/keyboards/ok60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "OK60",
+ "manufacturer": "OK60",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B36",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/ok60/keymaps/ptillemans/keymap.c b/keyboards/ok60/keymaps/ptillemans/keymap.c
index ff777847f6..44e9f39973 100644
--- a/keyboards/ok60/keymaps/ptillemans/keymap.c
+++ b/keyboards/ok60/keymaps/ptillemans/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_iso(
- 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_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
_______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______,
diff --git a/keyboards/om60/config.h b/keyboards/om60/config.h
new file mode 100644
index 0000000000..624579be7e
--- /dev/null
+++ b/keyboards/om60/config.h
@@ -0,0 +1,104 @@
+/*
+Copyright 2021 Salicylic_Acid
+Copyright 2021 3araht
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, E6 }
+
+/* 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 D3
+
+#ifndef RGBLED_NUM
+ #define RGBLED_NUM 69
+ #define RGBLIGHT_LED_MAP { \
+ 0, 1, 2, 3, \
+ 8, 7, 6, 5, 4, \
+ 9,10,11,12,13, \
+ 18,17,16,15,14, \
+ 19,20,21,22,23, \
+ 28,27,26,25,24, \
+ 29,30,31,32,33, \
+ 38,37,36,35,34, \
+ 39,40,41,42,43, \
+ 48,47,46,45,44, \
+ 49,50,51,52,53, \
+ 58,57,56,55,54, \
+ 59,60,61,62,63, \
+ 68,67,66,65,64 \
+ }
+
+ #define RGBLIGHT_SLEEP
+#endif
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#ifndef IOS_DEVICE_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 90
+ #define RGBLIGHT_VAL_STEP 17
+#else
+ #define RGBLIGHT_LIMIT_VAL 30
+ #define RGBLIGHT_VAL_STEP 4
+#endif
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
+// 120 RGBoff, OLEDoff
+// 120 OLED
+// 330 RGB 6
+// 300 RGB 32
+// 310 OLED & RGB 32
+ #define USB_MAX_POWER_CONSUMPTION 400
+#else
+ // fix iPhone and iPad power adapter issue
+ // iOS device need lessthan 100
+ #define USB_MAX_POWER_CONSUMPTION 100
+#endif
+
+#define TAP_CODE_DELAY 10
+
+#define ENCODERS_PAD_A { B4 }
+#define ENCODERS_PAD_B { B5 }
diff --git a/keyboards/om60/info.json b/keyboards/om60/info.json
new file mode 100644
index 0000000000..319dca0071
--- /dev/null
+++ b/keyboards/om60/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "OM60",
+ "manufacturer": "jun10000",
+ "url": "https://github.com/jun10000",
+ "maintainer": "jun10000",
+ "usb": {
+ "vid": "0x6A6E",
+ "pid": "0x0001",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"4,0", "x":1.5, "y":0}, {"label":"4,1", "x":2.5, "y":0}, {"label":"4,2", "x":3.5, "y":0}, {"label":"4,3", "x":4.5, "y":0}, {"label":"4,4", "x":5.5, "y":0}, {"label":"4,5", "x":6.5, "y":0}, {"label":"4,6", "x":7.5, "y":0}, {"label":"4,7", "x":8.5, "y":0}, {"label":"9,0", "x":9.5, "y":0}, {"label":"9,1", "x":10.5, "y":0}, {"label":"9,2", "x":11.5, "y":0}, {"label":"9,3", "x":12.5, "y":0}, {"label":"9,4", "x":13.5, "y":0}, {"label":"0,1", "x":1.5, "y":1}, {"label":"0,2", "x":2.5, "y":1}, {"label":"0,3", "x":3.5, "y":1}, {"label":"0,4", "x":4.5, "y":1}, {"label":"0,5", "x":5.5, "y":1}, {"label":"0,6", "x":6.5, "y":1}, {"label":"0,7", "x":7.5, "y":1}, {"label":"5,0", "x":8.5, "y":1}, {"label":"5,1", "x":9.5, "y":1}, {"label":"5,2", "x":10.5, "y":1}, {"label":"5,3", "x":11.5, "y":1}, {"label":"5,4", "x":12.5, "y":1}, {"label":"5,5", "x":13.5, "y":1}, {"label":"1,0", "x":0, "y":2}, {"label":"1,1", "x":1.5, "y":2}, {"label":"1,2", "x":2.5, "y":2}, {"label":"1,3", "x":3.5, "y":2}, {"label":"1,4", "x":4.5, "y":2}, {"label":"1,5", "x":5.5, "y":2}, {"label":"1,6", "x":6.5, "y":2}, {"label":"1,7", "x":7.5, "y":2}, {"label":"6,0", "x":8.5, "y":2}, {"label":"6,1", "x":9.5, "y":2}, {"label":"6,2", "x":10.5, "y":2}, {"label":"6,3", "x":11.5, "y":2}, {"label":"6,4", "x":12.5, "y":2}, {"label":"6,5", "x":13.5, "y":2}, {"label":"2,0", "x":0, "y":3}, {"label":"2,1", "x":1.5, "y":3}, {"label":"2,2", "x":2.5, "y":3}, {"label":"2,3", "x":3.5, "y":3}, {"label":"2,4", "x":4.5, "y":3}, {"label":"2,5", "x":5.5, "y":3}, {"label":"2,6", "x":6.5, "y":3}, {"label":"2,7", "x":7.5, "y":3}, {"label":"7,0", "x":8.5, "y":3}, {"label":"7,1", "x":9.5, "y":3}, {"label":"7,2", "x":10.5, "y":3}, {"label":"7,3", "x":11.5, "y":3}, {"label":"7,4", "x":12.5, "y":3}, {"label":"7,5", "x":13.5, "y":3}, {"label":"3,0", "x":0, "y":4}, {"label":"3,1", "x":1.5, "y":4}, {"label":"3,2", "x":2.5, "y":4}, {"label":"3,3", "x":3.5, "y":4}, {"label":"3,4", "x":4.5, "y":4}, {"label":"3,5", "x":5.5, "y":4}, {"label":"3,6", "x":6.5, "y":4}, {"label":"3,7", "x":7.5, "y":4}, {"label":"8,0", "x":8.5, "y":4}, {"label":"8,1", "x":9.5, "y":4}, {"label":"8,2", "x":10.5, "y":4}, {"label":"8,3", "x":11.5, "y":4}, {"label":"8,4", "x":12.5, "y":4}, {"label":"8,5", "x":13.5, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/om60/keymaps/default/keymap.c b/keyboards/om60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..336b98d3bf
--- /dev/null
+++ b/keyboards/om60/keymaps/default/keymap.c
@@ -0,0 +1,70 @@
+/*
+Copyright 2021 Salicylic_Acid
+Copyright 2021 3araht
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ KC_MUTE, 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), 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_RSFT,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2),KC_LCTRL, KC_LGUI, KC_LALT, KC_DEL, KC_LBRC, KC_SPC, KC_SPC, KC_RBRC, KC_RALT, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ ),
+ [1] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ _______, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, KC_BSPC, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_ENT, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ ),
+ [2] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, KC_UP, _______, _______, _______,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ )
+};
diff --git a/keyboards/om60/keymaps/default/rules.mk b/keyboards/om60/keymaps/default/rules.mk
new file mode 100644
index 0000000000..8acf3d642b
--- /dev/null
+++ b/keyboards/om60/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/om60/keymaps/via/keymap.c b/keyboards/om60/keymaps/via/keymap.c
new file mode 100644
index 0000000000..beb4ab962b
--- /dev/null
+++ b/keyboards/om60/keymaps/via/keymap.c
@@ -0,0 +1,84 @@
+/*
+Copyright 2021 Salicylic_Acid
+Copyright 2021 3araht
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ KC_MUTE, 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), 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_RSFT,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2),KC_LCTRL, KC_LGUI, KC_LALT, KC_DEL, KC_LBRC, KC_SPC, KC_SPC, KC_RBRC, KC_RALT, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ ),
+ [1] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ _______, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, KC_BSPC, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_ENT, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ ),
+ [2] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, KC_UP, _______, _______, _______,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ ),
+ [3] = LAYOUT(
+ //,-----------------------------------------------------------------------------------------------------------------------------.
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ TO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ //|-----------------------------------------------------------------------------------------------------------------------------'
+ )
+};
diff --git a/keyboards/om60/keymaps/via/rules.mk b/keyboards/om60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1189f4ad19
--- /dev/null
+++ b/keyboards/om60/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/om60/matrix.c b/keyboards/om60/matrix.c
new file mode 100644
index 0000000000..3686780468
--- /dev/null
+++ b/keyboards/om60/matrix.c
@@ -0,0 +1,166 @@
+/*
+Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "quantum.h"
+
+#if (MATRIX_COLS <= 8)
+# define ROW_SHIFTER ((uint8_t)1)
+#elif (MATRIX_COLS <= 16)
+# define ROW_SHIFTER ((uint16_t)1)
+#elif (MATRIX_COLS <= 32)
+# define ROW_SHIFTER ((uint32_t)1)
+#endif
+
+static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
+static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
+
+static void select_row(uint8_t row)
+{
+ setPinOutput(row_pins[row]);
+ writePinLow(row_pins[row]);
+}
+
+static void unselect_row(uint8_t row)
+{
+ setPinInputHigh(row_pins[row]);
+}
+
+static void unselect_rows(void)
+{
+ for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ setPinInputHigh(row_pins[x]);
+ }
+}
+
+static void select_col(uint8_t col)
+{
+ setPinOutput(col_pins[col]);
+ writePinLow(col_pins[col]);
+}
+
+static void unselect_col(uint8_t col)
+{
+ setPinInputHigh(col_pins[col]);
+}
+
+static void unselect_cols(void)
+{
+ for(uint8_t x = 0; x < MATRIX_COLS; x++) {
+ setPinInputHigh(col_pins[x]);
+ }
+}
+
+static void init_pins(void) {
+ unselect_rows();
+ unselect_cols();
+ for (uint8_t x = 0; x < MATRIX_COLS; x++) {
+ setPinInputHigh(col_pins[x]);
+ }
+ for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ setPinInputHigh(row_pins[x]);
+ }
+}
+
+static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
+{
+ // Store last value of row prior to reading
+ matrix_row_t last_row_value = current_matrix[current_row];
+
+ // Clear data in matrix row
+ current_matrix[current_row] = 0;
+
+ // Select row and wait for row selecton to stabilize
+ select_row(current_row);
+ wait_us(30);
+
+ // For each col...
+ for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
+
+ // Select the col pin to read (active low)
+ uint8_t pin_state = readPin(col_pins[col_index]);
+
+ // Populate the matrix row with the state of the col pin
+ current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index);
+ }
+
+ // Unselect row
+ unselect_row(current_row);
+
+ return (last_row_value != current_matrix[current_row]);
+}
+
+static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
+{
+ bool matrix_changed = false;
+
+ // Select col and wait for col selecton to stabilize
+ select_col(current_col);
+ wait_us(30);
+
+ // For each row...
+ for(uint8_t row_index = 0; row_index < MATRIX_ROWS/2; row_index++)
+ {
+ uint8_t tmp = row_index + MATRIX_ROWS/2;
+ // Store last value of row prior to reading
+ matrix_row_t last_row_value = current_matrix[tmp];
+
+ // Check row pin state
+ if (readPin(row_pins[row_index]) == 0)
+ {
+ // Pin LO, set col bit
+ current_matrix[tmp] |= (ROW_SHIFTER << current_col);
+ }
+ else
+ {
+ // Pin HI, clear col bit
+ current_matrix[tmp] &= ~(ROW_SHIFTER << current_col);
+ }
+
+ // Determine if the matrix changed state
+ if ((last_row_value != current_matrix[tmp]) && !(matrix_changed))
+ {
+ matrix_changed = true;
+ }
+ }
+
+ // Unselect col
+ unselect_col(current_col);
+
+ return matrix_changed;
+}
+
+void matrix_init_custom(void) {
+ // initialize key pins
+ init_pins();
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[])
+{
+ bool changed = false;
+
+ // Set row, read cols
+ for (uint8_t current_row = 0; current_row < MATRIX_ROWS / 2; current_row++) {
+ changed |= read_cols_on_row(current_matrix, current_row);
+ }
+ //else
+ // Set col, read rows
+ for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
+ changed |= read_rows_on_col(current_matrix, current_col);
+ }
+
+ return (uint8_t)changed;
+}
diff --git a/keyboards/om60/om60.c b/keyboards/om60/om60.c
new file mode 100644
index 0000000000..9e66d6721c
--- /dev/null
+++ b/keyboards/om60/om60.c
@@ -0,0 +1,19 @@
+/*
+Copyright 2021 Salicylic_Acid
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 "om60.h"
diff --git a/keyboards/om60/om60.h b/keyboards/om60/om60.h
new file mode 100644
index 0000000000..669a610031
--- /dev/null
+++ b/keyboards/om60/om60.h
@@ -0,0 +1,41 @@
+/*
+Copyright 2021 Salicylic_Acid
+Copyright 2022 jun10000
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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( \
+ L01, L05, L10, L15, L20, L25, L30, L35, L40, R45, R50, R55, R60, R65, \
+ L06, L11, L16, L21, L26, L31, L36, R41, R46, R51, R56, R61, R66, \
+ L02, L07, L12, L17, L22, L27, L32, L37, R42, R47, R52, R57, R62, R67, \
+ L03, L08, L13, L18, L23, L28, L33, L38, R43, R48, R53, R58, R63, R68, \
+ L04, L09, L14, L19, L24, L29, L34, L39, R44, R49, R54, R59, R64, R69 \
+ ) \
+ { \
+ { L01, L06, L11, L16, L21, L26, L31, L36 }, \
+ { L02, L07, L12, L17, L22, L27, L32, L37 }, \
+ { L03, L08, L13, L18, L23, L28, L33, L38 }, \
+ { L04, L09, L14, L19, L24, L29, L34, L39 }, \
+ { L05, L10, L15, L20, L25, L30, L35, L40 }, \
+ { R41, R46, R51, R56, R61, R66, KC_NO, KC_NO }, \
+ { R42, R47, R52, R57, R62, R67, KC_NO, KC_NO }, \
+ { R43, R48, R53, R58, R63, R68, KC_NO, KC_NO }, \
+ { R44, R49, R54, R59, R64, R69, KC_NO, KC_NO }, \
+ { R45, R50, R55, R60, R65, KC_NO, KC_NO, KC_NO } \
+ }
diff --git a/keyboards/om60/readme.md b/keyboards/om60/readme.md
new file mode 100644
index 0000000000..5d9d096d56
--- /dev/null
+++ b/keyboards/om60/readme.md
@@ -0,0 +1,27 @@
+# OM60
+
+![OM60](https://i.imgur.com/WoO8oezh.jpg)
+
+The 60% Poker compatible Ortholinear keyboard or jumbo Macropad.
+
+* Keyboard Maintainer: [jun10000](https://github.com/jun10000)
+* Hardware Supported: OM60 PCB, Pro Micro
+* Hardware Availability: [junsgamingstore.booth.pm](https://junsgamingstore.booth.pm/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make om60:default
+
+Flashing example for this keyboard:
+
+ make om60:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/om60/rules.mk b/keyboards/om60/rules.mk
new file mode 100644
index 0000000000..9dc673edbf
--- /dev/null
+++ b/keyboards/om60/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+ENCODER_ENABLE = yes
+
+CUSTOM_MATRIX = lite
+
+SRC += matrix.c
diff --git a/keyboards/omkbd/ergodash/mini/config.h b/keyboards/omkbd/ergodash/mini/config.h
index b936e0f54e..67fe7e1603 100644
--- a/keyboards/omkbd/ergodash/mini/config.h
+++ b/keyboards/omkbd/ergodash/mini/config.h
@@ -20,13 +20,6 @@ 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 0x6060
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Omkbd
-#define PRODUCT ErgoDashmini
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/omkbd/ergodash/mini/info.json b/keyboards/omkbd/ergodash/mini/info.json
index 1a0c1766f6..d8e9bc634f 100644
--- a/keyboards/omkbd/ergodash/mini/info.json
+++ b/keyboards/omkbd/ergodash/mini/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ErgoDash mini",
+ "keyboard_name": "ErgoDash Mini",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"L00", "x":0, "y":1.375}, {"label":"L01", "x":1, "y":1.375}, {"label":"L02", "x":2, "y":1.125}, {"label":"L03", "x":3, "y":1}, {"label":"L04", "x":4, "y":1.125}, {"label":"L05", "x":5, "y":1.25}, {"label":"L06", "x":6, "y":1.75}, {"label":"R00", "x":11, "y":1.75}, {"label":"R01", "x":12, "y":1.25}, {"label":"R02", "x":13, "y":1.125}, {"label":"R03", "x":14, "y":1}, {"label":"R04", "x":15, "y":1.125}, {"label":"R05", "x":16, "y":1.375}, {"label":"R06", "x":17, "y":1.375}, {"label":"L10", "x":0, "y":2.375}, {"label":"L11", "x":1, "y":2.375}, {"label":"L12", "x":2, "y":2.125}, {"label":"L13", "x":3, "y":2}, {"label":"L14", "x":4, "y":2.125}, {"label":"L15", "x":5, "y":2.25}, {"label":"L16", "x":6, "y":2.75}, {"label":"R10", "x":11, "y":2.75}, {"label":"R11", "x":12, "y":2.25}, {"label":"R12", "x":13, "y":2.125}, {"label":"R13", "x":14, "y":2}, {"label":"R14", "x":15, "y":2.125}, {"label":"R15", "x":16, "y":2.375}, {"label":"R16", "x":17, "y":2.375}, {"label":"L20", "x":0, "y":3.375}, {"label":"L21", "x":1, "y":3.375}, {"label":"L22", "x":2, "y":3.125}, {"label":"L23", "x":3, "y":3}, {"label":"L24", "x":4, "y":3.125}, {"label":"L25", "x":5, "y":3.25}, {"label":"L26", "x":6.5, "y":4.25}, {"label":"R20", "x":10.5, "y":4.25}, {"label":"R21", "x":12, "y":3.25}, {"label":"R22", "x":13, "y":3.125}, {"label":"R23", "x":14, "y":3}, {"label":"R24", "x":15, "y":3.125}, {"label":"R25", "x":16, "y":3.375}, {"label":"R26", "x":17, "y":3.375}, {"label":"L30", "x":0, "y":4.375}, {"label":"L31", "x":1, "y":4.375}, {"label":"L32", "x":2, "y":4.125}, {"label":"L33", "x":3, "y":4}, {"label":"L34", "x":5.5, "y":5.25}, {"label":"L35", "x":6.5, "y":5.25}, {"label":"L36", "x":7.5, "y":4.25, "h":2}, {"label":"R30", "x":9.5, "y":4.25, "h":2}, {"label":"R31", "x":10.5, "y":5.25}, {"label":"R32", "x":11.5, "y":5.25}, {"label":"R33", "x":14, "y":4}, {"label":"R34", "x":15, "y":4.125}, {"label":"R35", "x":16, "y":4.375}, {"label":"R36", "x":17, "y":4.375}]
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c
index 1d18383652..d1016ecc5d 100644
--- a/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c
+++ b/keyboards/omkbd/ergodash/mini/keymaps/default/keymap.c
@@ -1,10 +1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
index 7224af7a00..5be2825861 100644
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
+++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,----------------------------------------------------------------------------------------------------------------------.
*/
[_ADJUST] = LAYOUT(
- _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
+ _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
_______, _______, BL_TOGG, BL_BRTG, BL_INC , BL_DEC ,_______, _______, _______, _______, _______, _______, _______, _______,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 ,_______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
diff --git a/keyboards/omkbd/ergodash/rev1/config.h b/keyboards/omkbd/ergodash/rev1/config.h
index 07282cdad2..56fe46f52a 100644
--- a/keyboards/omkbd/ergodash/rev1/config.h
+++ b/keyboards/omkbd/ergodash/rev1/config.h
@@ -20,13 +20,6 @@ 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 0x6060
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Omkbd
-#define PRODUCT ErgoDash
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/omkbd/ergodash/rev1/info.json b/keyboards/omkbd/ergodash/rev1/info.json
index bb491b5f50..1d78f82bd7 100644
--- a/keyboards/omkbd/ergodash/rev1/info.json
+++ b/keyboards/omkbd/ergodash/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ErgoDash rev1.2",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_4key": {
"layout": [
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c
index c5e0a30147..0251700433 100644
--- a/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/keymap.c
@@ -1,10 +1,12 @@
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
index ea79ae194b..f8b36dff03 100644
--- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,----------------------------------------------------------------------------------------------------------------------.
*/
[_ADJUST] = LAYOUT(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
index 9c450bca97..8f58643840 100644
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
@@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( \
XXXXXXX, WINDOWS, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, \
- RESET, XXXXXXX, XXXXXXX, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
)
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
index 6d080f2af1..938f3950fd 100644
--- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
+++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ ,_______ ,_______ ,_______ , KC_LCTL ,KC_SPC ,KC_LSFT , MO(_MOD),KC_ENT ,KC_LGUI , _______ ,_______ ,_______ ,_______
),
[_MOD] = LAYOUT(
- KC_F11 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,RGB_MOD , RESET ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 ,
+ KC_F11 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,RGB_MOD , QK_BOOT,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 ,
DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_TOG , _______ ,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_M_P , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
_______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,_______ , _______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
diff --git a/keyboards/omkbd/runner3680/3x6/config.h b/keyboards/omkbd/runner3680/3x6/config.h
index af8e6eb32b..33a4bcc8a2 100644
--- a/keyboards/omkbd/runner3680/3x6/config.h
+++ b/keyboards/omkbd/runner3680/3x6/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/omkbd/runner3680/3x6/info.json b/keyboards/omkbd/runner3680/3x6/info.json
index c54fe46106..404fda2b92 100644
--- a/keyboards/omkbd/runner3680/3x6/info.json
+++ b/keyboards/omkbd/runner3680/3x6/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 3x6",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/3x7/config.h b/keyboards/omkbd/runner3680/3x7/config.h
index 789dda45fd..44c54091e5 100644
--- a/keyboards/omkbd/runner3680/3x7/config.h
+++ b/keyboards/omkbd/runner3680/3x7/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/omkbd/runner3680/3x7/info.json b/keyboards/omkbd/runner3680/3x7/info.json
index 1a5ac8221e..f19b5a2a1e 100644
--- a/keyboards/omkbd/runner3680/3x7/info.json
+++ b/keyboards/omkbd/runner3680/3x7/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 3x7",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/3x8/config.h b/keyboards/omkbd/runner3680/3x8/config.h
index b1d1db1171..307916f645 100644
--- a/keyboards/omkbd/runner3680/3x8/config.h
+++ b/keyboards/omkbd/runner3680/3x8/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/omkbd/runner3680/3x8/info.json b/keyboards/omkbd/runner3680/3x8/info.json
index d8e71f97e0..8e7ddf00ff 100644
--- a/keyboards/omkbd/runner3680/3x8/info.json
+++ b/keyboards/omkbd/runner3680/3x8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 3x8",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/4x6/config.h b/keyboards/omkbd/runner3680/4x6/config.h
index 12596acd9a..9b9d7a578a 100644
--- a/keyboards/omkbd/runner3680/4x6/config.h
+++ b/keyboards/omkbd/runner3680/4x6/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/omkbd/runner3680/4x6/info.json b/keyboards/omkbd/runner3680/4x6/info.json
index 41ea3e0061..de912073ee 100644
--- a/keyboards/omkbd/runner3680/4x6/info.json
+++ b/keyboards/omkbd/runner3680/4x6/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 4x6",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/4x7/config.h b/keyboards/omkbd/runner3680/4x7/config.h
index bbfdd383c0..74541c0d3f 100644
--- a/keyboards/omkbd/runner3680/4x7/config.h
+++ b/keyboards/omkbd/runner3680/4x7/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/omkbd/runner3680/4x7/info.json b/keyboards/omkbd/runner3680/4x7/info.json
index 43876dd57e..2c587c38e6 100644
--- a/keyboards/omkbd/runner3680/4x7/info.json
+++ b/keyboards/omkbd/runner3680/4x7/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 4x7",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/4x8/config.h b/keyboards/omkbd/runner3680/4x8/config.h
index 82e2dc7ee8..401ad2ddb6 100644
--- a/keyboards/omkbd/runner3680/4x8/config.h
+++ b/keyboards/omkbd/runner3680/4x8/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/omkbd/runner3680/4x8/info.json b/keyboards/omkbd/runner3680/4x8/info.json
index 4502a86404..e955ea4178 100644
--- a/keyboards/omkbd/runner3680/4x8/info.json
+++ b/keyboards/omkbd/runner3680/4x8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 4x8",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/5x6/config.h b/keyboards/omkbd/runner3680/5x6/config.h
index d2f288546d..7c127c22e0 100644
--- a/keyboards/omkbd/runner3680/5x6/config.h
+++ b/keyboards/omkbd/runner3680/5x6/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/omkbd/runner3680/5x6/info.json b/keyboards/omkbd/runner3680/5x6/info.json
index 02c65ec7cc..58c399e07b 100644
--- a/keyboards/omkbd/runner3680/5x6/info.json
+++ b/keyboards/omkbd/runner3680/5x6/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 5x6",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h
index 815da24950..6348f10eb1 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/config.h
+++ b/keyboards/omkbd/runner3680/5x6_5x8/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3680
-#define PRODUCT_ID 0x5658
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json
index e8fb4c0927..eebbfe11fb 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/info.json
+++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 5x6+5x8",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0x3680",
+ "pid": "0x5658",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/5x7/config.h b/keyboards/omkbd/runner3680/5x7/config.h
index 6bcbeeda54..9a1a0a4110 100644
--- a/keyboards/omkbd/runner3680/5x7/config.h
+++ b/keyboards/omkbd/runner3680/5x7/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/omkbd/runner3680/5x7/info.json b/keyboards/omkbd/runner3680/5x7/info.json
index c60177d38c..d103c8949a 100644
--- a/keyboards/omkbd/runner3680/5x7/info.json
+++ b/keyboards/omkbd/runner3680/5x7/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 5x7",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/5x8/config.h b/keyboards/omkbd/runner3680/5x8/config.h
index 29cfba78d1..c8a65dd171 100644
--- a/keyboards/omkbd/runner3680/5x8/config.h
+++ b/keyboards/omkbd/runner3680/5x8/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0005
-#define MANUFACTURER Omkbd
-#define PRODUCT runner3680
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/omkbd/runner3680/5x8/info.json b/keyboards/omkbd/runner3680/5x8/info.json
index 70e3cc7833..4556ae7520 100644
--- a/keyboards/omkbd/runner3680/5x8/info.json
+++ b/keyboards/omkbd/runner3680/5x8/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "runner3680 5x8",
+ "manufacturer": "Omkbd",
"url": "",
"maintainer": "omkbd",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
index 515a6fcb07..14302bee5a 100644
--- a/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
+++ b/keyboards/omkbd/runner3680/5x8/keymaps/JIS/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-------------------------------------------------------. ,--------------------------------------------------------.
* | | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
* |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
- * | | | |RGBRST| RESET| | | | | | | | | | | | |
+ * | | | |RGBRST| QK_BOOT| | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
* | | | | TOG | HUI | SAI | VAI | | | | | | | | | | |
* |------+------+------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
@@ -61,7 +61,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, KC_F11, KC_F12, _______,
- _______, _______, _______, RGBRST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGBRST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/omnikeyish/config.h b/keyboards/omnikeyish/config.h
index 008f6b753b..6d02623b21 100644
--- a/keyboards/omnikeyish/config.h
+++ b/keyboards/omnikeyish/config.h
@@ -4,13 +4,6 @@
#define KEYBOARD_PCB_REV 11
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0666
-#define DEVICE_VER 0x1337
-#define MANUFACTURER Henrik O. Sørensen
-#define PRODUCT Omnikey(-ish) Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 23
diff --git a/keyboards/omnikeyish/info.json b/keyboards/omnikeyish/info.json
index 62a342d13e..e56e9dfa1a 100644
--- a/keyboards/omnikeyish/info.json
+++ b/keyboards/omnikeyish/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Omnikey-(ish)",
+ "manufacturer": "Henrik O. Sørensen",
"url": "https://github.com/henrikosorensen/keyboard_pcbs/tree/master/omnikeyish_pcb",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0666",
+ "device_version": "13.3.7"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [ {"label":"P11", "x":0, "y":0}, {"label":"P12", "x":1, "y":0}, {"label":"Esc", "x":2.6667, "y":0}, {"label":"F1", "x":4.6667, "y":0}, {"label":"F2", "x":5.6667, "y":0}, {"label":"F3", "x":6.6667, "y":0}, {"label":"F4", "x":7.6667, "y":0}, {"label":"F5", "x":9.1667, "y":0}, {"label":"F6", "x":10.1667, "y":0}, {"label":"F7", "x":11.1667, "y":0}, {"label":"F8", "x":12.1667, "y":0}, {"label":"F9", "x":13.6667, "y":0}, {"label":"F10", "x":14.6667, "y":0}, {"label":"F11", "x":15.6667, "y":0}, {"label":"F12", "x":16.6667, "y":0}, {"label":"PrtSc", "x":18.1667, "y":0}, {"label":"Scroll Lock", "x":19.1667, "y":0}, {"label":"Pause", "x":20.1667, "y":0}, {"x":21.6667, "y":0}, {"x":22.6667, "y":0}, {"x":23.6667, "y":0}, {"x":24.6667, "y":0},
diff --git a/keyboards/onekeyco/dango40/config.h b/keyboards/onekeyco/dango40/config.h
index fceb8fb252..8ab7a5b183 100644
--- a/keyboards/onekeyco/dango40/config.h
+++ b/keyboards/onekeyco/dango40/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE9B9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER One Key Company
-#define PRODUCT Dango40
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/onekeyco/dango40/info.json b/keyboards/onekeyco/dango40/info.json
index e26e92697b..4305346827 100644
--- a/keyboards/onekeyco/dango40/info.json
+++ b/keyboards/onekeyco/dango40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dango40",
+ "manufacturer": "One Key Company",
"url": "https://github.com/swiftrax",
"maintainer": "Swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE9B9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/onekeyco/dango40/readme.md b/keyboards/onekeyco/dango40/readme.md
index 4b12f55957..870ba74676 100644
--- a/keyboards/onekeyco/dango40/readme.md
+++ b/keyboards/onekeyco/dango40/readme.md
@@ -9,7 +9,7 @@
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
- * **Keycode in layout**: Press the key mapped to `RESET` if it is available
+ * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for flashing this keyboard (after setting up your build environment):
diff --git a/keyboards/opendeck/32/info.json b/keyboards/opendeck/32/info.json
index ad354e7506..8e22d925b1 100644
--- a/keyboards/opendeck/32/info.json
+++ b/keyboards/opendeck/32/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "OpenDeck 32",
+ "keyboard_name": "OpenDeck32",
+ "manufacturer": "OpenDeck",
+ "usb": {
+ "vid": "0x4345",
+ "pid": "0x2EC0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x8": {
"layout": [
diff --git a/keyboards/opendeck/32/rev1/config.h b/keyboards/opendeck/32/rev1/config.h
index 73967671d0..6a87ad86b4 100644
--- a/keyboards/opendeck/32/rev1/config.h
+++ b/keyboards/opendeck/32/rev1/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x4345
-#define PRODUCT_ID 0x2EC0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OpenDeck
-#define PRODUCT OpenDeck32
-
// Key matrix (TtB, LtR)
#define MATRIX_ROWS 4
#define MATRIX_COLS 8
diff --git a/keyboards/orange75/config.h b/keyboards/orange75/config.h
index 2ebaeb3e73..e2d37a26ac 100644
--- a/keyboards/orange75/config.h
+++ b/keyboards/orange75/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEEB
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fox-Lab
-#define PRODUCT Orange75
-
/* key matrix size */
#define MATRIX_ROWS 15
#define MATRIX_COLS 6
@@ -14,7 +7,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { E6,F0, F1, F4, F5, F6, F7, C7, C6, B6, B4, D7, D4, D5, D6 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, B7, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/orange75/info.json b/keyboards/orange75/info.json
index 3cfd040d0f..1fe4752635 100644
--- a/keyboards/orange75/info.json
+++ b/keyboards/orange75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Orange75",
+ "manufacturer": "Fox-Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEEB",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/org60/config.h b/keyboards/org60/config.h
index 42dbb83169..a6a64476cd 100644
--- a/keyboards/org60/config.h
+++ b/keyboards/org60/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 大橘å­å¤–设 (Large orange peripherals)
-#define PRODUCT Org60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* Backlight Setup */
#define BACKLIGHT_PIN F5
diff --git a/keyboards/org60/info.json b/keyboards/org60/info.json
index 2327468632..a889730258 100644
--- a/keyboards/org60/info.json
+++ b/keyboards/org60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Org60",
+ "manufacturer": "大橘å­å¤–设 (Large orange peripherals)",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K0C", "x":12, "y":0}, {"label":"K0D", "x":13, "y":0}, {"label":"K49", "x":14, "y":0}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1}, {"label":"K1B", "x":11.5, "y":1}, {"label":"K1C", "x":12.5, "y":1}, {"label":"K1D", "x":13.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2, "w":1.75}, {"label":"K21", "x":1.75, "y":2}, {"label":"K22", "x":2.75, "y":2}, {"label":"K23", "x":3.75, "y":2}, {"label":"K24", "x":4.75, "y":2}, {"label":"K25", "x":5.75, "y":2}, {"label":"K26", "x":6.75, "y":2}, {"label":"K27", "x":7.75, "y":2}, {"label":"K28", "x":8.75, "y":2}, {"label":"K29", "x":9.75, "y":2}, {"label":"K2A", "x":10.75, "y":2}, {"label":"K2B", "x":11.75, "y":2}, {"label":"K2C", "x":12.75, "y":2}, {"label":"K2D", "x":13.75, "y":2, "w":1.25}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}, {"label":"K34", "x":4, "y":3}, {"label":"K35", "x":5, "y":3}, {"label":"K36", "x":6, "y":3}, {"label":"K37", "x":7, "y":3}, {"label":"K38", "x":8, "y":3}, {"label":"K39", "x":9, "y":3}, {"label":"K3A", "x":10, "y":3}, {"label":"K3B", "x":11, "y":3}, {"label":"K47", "x":12, "y":3}, {"label":"K3D", "x":13, "y":3}, {"label":"K3C", "x":14, "y":3}, {"label":"K40", "x":0, "y":4, "w":1.25}, {"label":"K41", "x":1.25, "y":4, "w":1.25}, {"label":"K42", "x":2.5, "y":4, "w":1.25}, {"label":"K45", "x":3.75, "y":4, "w":6.25}, {"label":"K4A", "x":10, "y":4}, {"label":"K4B", "x":11, "y":4}, {"label":"K48", "x":12, "y":4}, {"label":"K4C", "x":13, "y":4}, {"label":"K4D", "x":14, "y":4}]
diff --git a/keyboards/org60/keymaps/boardy/keymap.c b/keyboards/org60/keymaps/boardy/keymap.c
index b85e475824..52eea78a8d 100644
--- a/keyboards/org60/keymaps/boardy/keymap.c
+++ b/keyboards/org60/keymaps/boardy/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//--------------------------------------------------------------------------------------------------------------------------------------|
// | | | | | | | | | | | | | |
// | | | | | | | | | | | | | |
- RESET, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, KC_NO, KC_INS, KC_PAUS, KC_HOME, KC_END, KC_SLEP,
+ QK_BOOT, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, KC_NO, KC_INS, KC_PAUS, KC_HOME, KC_END, KC_SLEP,
//--------------------------------------------------------------------------------------------------------------------------------------|
// | | | | | | | | | | | | |
// | | | | | | | | | | | | |
diff --git a/keyboards/org60/keymaps/jarred/keymap.c b/keyboards/org60/keymaps/jarred/keymap.c
index 3397a1909c..3e0b5d45c8 100644
--- a/keyboards/org60/keymaps/jarred/keymap.c
+++ b/keyboards/org60/keymaps/jarred/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP ,KC_END , KC_INS , _______, _______, _______, \
_______, _______, _______, KC_LSFT,KC_LCTL, KC_ENT, _______,KC_LEFT,KC_DOWN,KC_RGHT, KC_DEL , KC_DEL , _______, _______, \
_______, _______, _______, _______, _______,_______,_______,_______,KC_PGUP,KC_PGDN, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, RESET, _______),
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______),
};
diff --git a/keyboards/ortho5by12/config.h b/keyboards/ortho5by12/config.h
index 61719eb295..f8b8de4259 100644
--- a/keyboards/ortho5by12/config.h
+++ b/keyboards/ortho5by12/config.h
@@ -16,15 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-/* VID & PID from vusb project, see tmk_core/protocol/vusb/USB-IDs-for-free.txt"*/
-// These VID/PID is not verified. Use at your own risk.
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0002
-#define MANUFACTURER /u/squeezeonein
-#define PRODUCT ortho5by12
-
/* key matrix size, duplex 10x6 */
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
@@ -41,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
0 1 2 3 4 5 6 7 8 9 */
#define MATRIX_ROW_PINS { B5, B1, B2, B3, B4, C0, D5, D6, D7, B0 }
#define MATRIX_COL_PINS { C2, D0, D1, D4, C3, C1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ortho5by12/info.json b/keyboards/ortho5by12/info.json
index 56a4a09372..5bda0d68fb 100644
--- a/keyboards/ortho5by12/info.json
+++ b/keyboards/ortho5by12/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ortho5by12",
+ "manufacturer": "/u/squeezeonein",
"url": "https://github.com/itsnoteasy/misc/blob/master/ortho5by12.zip",
"maintainer": "itsnoteasy",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_5x12_1x2uC": {
"layout": [
diff --git a/keyboards/orthocode/config.h b/keyboards/orthocode/config.h
index e548fe1d4e..644d7ba255 100644
--- a/keyboards/orthocode/config.h
+++ b/keyboards/orthocode/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x3415 // orthocodekb.com
-#define PRODUCT_ID 0x0001 // orthocode
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jrodna
-#define PRODUCT OrthoCode
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ 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 {C4, C3, C2, C1, C0, D7, D6, A7, A4, A5, A6, A3, A2, A1, A0}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/orthocode/info.json b/keyboards/orthocode/info.json
index c193ab44f9..92058b2654 100644
--- a/keyboards/orthocode/info.json
+++ b/keyboards/orthocode/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "OrthoCode",
+ "manufacturer": "Jrodna",
"url": "https://github.com/Jrodna/OrthoCode",
"maintainer": "Jrodna",
+ "usb": {
+ "vid": "0x3415",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/orthodox/keymaps/default/keymap.c b/keyboards/orthodox/keymaps/default/keymap.c
index 1e06d7106d..3ad20a288a 100644
--- a/keyboards/orthodox/keymaps/default/keymap.c
+++ b/keyboards/orthodox/keymaps/default/keymap.c
@@ -25,12 +25,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/orthodox/keymaps/oscillope/keymap.c b/keyboards/orthodox/keymaps/oscillope/keymap.c
index 1f4aefca90..07496ddb43 100644
--- a/keyboards/orthodox/keymaps/oscillope/keymap.c
+++ b/keyboards/orthodox/keymaps/oscillope/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_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_INS, _______, _______, CC_PRN, CC_BRC, CC_CBR, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, \
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU \
),
[_RAISE] = LAYOUT( \
diff --git a/keyboards/orthodox/keymaps/rfvizarra/keymap.c b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
index d8c836dc12..1fc88ce722 100644
--- a/keyboards/orthodox/keymaps/rfvizarra/keymap.c
+++ b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY , COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
)
diff --git a/keyboards/orthodox/keymaps/shaymdev/keymap.c b/keyboards/orthodox/keymaps/shaymdev/keymap.c
index 54ae7e3972..4c955fa2bb 100644
--- a/keyboards/orthodox/keymaps/shaymdev/keymap.c
+++ b/keyboards/orthodox/keymaps/shaymdev/keymap.c
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
- TO_DV, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP,
+ TO_DV, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP,
RGB_TOG, RGB_MOD, VLK_TOG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY, DVORAK, _______, _______, _______,
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
diff --git a/keyboards/orthodox/keymaps/xyverz/keymap.c b/keyboards/orthodox/keymaps/xyverz/keymap.c
index 0417c1a4a0..4e78aaf347 100644
--- a/keyboards/orthodox/keymaps/xyverz/keymap.c
+++ b/keyboards/orthodox/keymaps/xyverz/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT ( \
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY , COLEMAK, DVORAK, _______, _______, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY , COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/orthodox/rev1/config.h b/keyboards/orthodox/rev1/config.h
index db45e2d75d..1f536aa6f6 100644
--- a/keyboards/orthodox/rev1/config.h
+++ b/keyboards/orthodox/rev1/config.h
@@ -23,13 +23,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER deductivemonkee
-#define PRODUCT Monkeebs Orthodox Rev.1
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/orthodox/rev1/info.json b/keyboards/orthodox/rev1/info.json
index 49ca9b31b8..d539fc8be2 100644
--- a/keyboards/orthodox/rev1/info.json
+++ b/keyboards/orthodox/rev1/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Monkeebs Orthodox Rev.1",
+ "manufacturer": "deductivemonkee",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/orthodox/rev3/config.h b/keyboards/orthodox/rev3/config.h
index 678a3603f1..b69aa4b109 100644
--- a/keyboards/orthodox/rev3/config.h
+++ b/keyboards/orthodox/rev3/config.h
@@ -23,13 +23,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER deductivemonkee
-#define PRODUCT Monkeebs Orthodox Rev.3
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/orthodox/rev3/info.json b/keyboards/orthodox/rev3/info.json
index 309769c626..6769fe7a30 100644
--- a/keyboards/orthodox/rev3/info.json
+++ b/keyboards/orthodox/rev3/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Monkeebs Orthodox Rev.3",
+ "manufacturer": "deductivemonkee",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/orthodox/rev3_teensy/config.h b/keyboards/orthodox/rev3_teensy/config.h
index d21d50e579..5cd92b005c 100644
--- a/keyboards/orthodox/rev3_teensy/config.h
+++ b/keyboards/orthodox/rev3_teensy/config.h
@@ -23,13 +23,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER deductivemonkee
-#define PRODUCT Monkeebs Orthodox Rev.3 (Teensy)
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 6
diff --git a/keyboards/orthodox/rev3_teensy/info.json b/keyboards/orthodox/rev3_teensy/info.json
index a89c370396..91a73c5cb3 100644
--- a/keyboards/orthodox/rev3_teensy/info.json
+++ b/keyboards/orthodox/rev3_teensy/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Monkeebs Orthodox Rev.3 (Teensy)",
+ "manufacturer": "deductivemonkee",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/owlab/jelly_epoch/hotswap/config.h b/keyboards/owlab/jelly_epoch/hotswap/config.h
index eb2998de7a..54aa5978e2 100644
--- a/keyboards/owlab/jelly_epoch/hotswap/config.h
+++ b/keyboards/owlab/jelly_epoch/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter*/
-#define VENDOR_ID 0x4F53 //0x4F53 OS for owl studio
-#define PRODUCT_ID 0x4A4C //0x4A4C JL for jelly, 0x4A53 JS for jelly solder
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT Jelly Epoch
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
diff --git a/keyboards/owlab/jelly_epoch/hotswap/info.json b/keyboards/owlab/jelly_epoch/hotswap/info.json
index 01af496bb2..c5ee4ff522 100644
--- a/keyboards/owlab/jelly_epoch/hotswap/info.json
+++ b/keyboards/owlab/jelly_epoch/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jelly epoch",
+ "keyboard_name": "Jelly Epoch Hotswap",
+ "manufacturer": "OwLab",
"url": "https://www.popkeyboard.com/products/jrrgvdsyu47wer",
"maintainer": "Owlab",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x4A4C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/owlab/jelly_epoch/soldered/config.h b/keyboards/owlab/jelly_epoch/soldered/config.h
index cd27b71dd4..54aa5978e2 100644
--- a/keyboards/owlab/jelly_epoch/soldered/config.h
+++ b/keyboards/owlab/jelly_epoch/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter*/
-#define VENDOR_ID 0x4F53 //0x4F53 OS for owl studio
-#define PRODUCT_ID 0x4A53 //0x4A4C JL for jelly, 0x4A53 JS for jelly solder
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT Jelly Epoch
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
diff --git a/keyboards/owlab/jelly_epoch/soldered/info.json b/keyboards/owlab/jelly_epoch/soldered/info.json
index 357634b481..59358ae99f 100644
--- a/keyboards/owlab/jelly_epoch/soldered/info.json
+++ b/keyboards/owlab/jelly_epoch/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "jelly",
+ "keyboard_name": "Jelly Epoch Soldered",
+ "manufacturer": "OwLab",
"url": "https://www.popkeyboard.com/products/jrrgvdsyu47wer",
"maintainer": "Owlab",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x4A53",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/owlab/spring/config.h b/keyboards/owlab/spring/config.h
index d4eef1e021..8b2f9b6340 100644
--- a/keyboards/owlab/spring/config.h
+++ b/keyboards/owlab/spring/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53 //0x4F53 for OwLab
-#define PRODUCT_ID 0x5350 //0x514B SP for Spring
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT Spring
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/owlab/spring/info.json b/keyboards/owlab/spring/info.json
index bbeee6628b..2664c4ba3c 100644
--- a/keyboards/owlab/spring/info.json
+++ b/keyboards/owlab/spring/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Spring",
+ "manufacturer": "OwLab",
"url": "",
"maintainer": "OwLab",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x5350",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_spring": {
"layout": [
diff --git a/keyboards/owlab/suit80/ansi/config.h b/keyboards/owlab/suit80/ansi/config.h
index 02c44da212..46cc4d82f7 100644
--- a/keyboards/owlab/suit80/ansi/config.h
+++ b/keyboards/owlab/suit80/ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53 //0x4F53 OS for owl studio
-#define PRODUCT_ID 0x5355 //0x5355 SU for SUIT
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT SUIT80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/owlab/suit80/ansi/info.json b/keyboards/owlab/suit80/ansi/info.json
index b5833c6a60..bdfaccacb8 100644
--- a/keyboards/owlab/suit80/ansi/info.json
+++ b/keyboards/owlab/suit80/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "suit80",
+ "keyboard_name": "Suit80 ANSI",
+ "manufacturer": "OwLab",
"url": "",
"maintainer": "Owlab",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x5355",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/owlab/suit80/iso/config.h b/keyboards/owlab/suit80/iso/config.h
index 22968bac15..9aa3f00fb7 100644
--- a/keyboards/owlab/suit80/iso/config.h
+++ b/keyboards/owlab/suit80/iso/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53 // 0x4F53 OS for owl studio
-#define PRODUCT_ID 0x5349 //0x5355 SI for SUIT ISO
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT SUIT80 ISO
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/owlab/suit80/iso/info.json b/keyboards/owlab/suit80/iso/info.json
index 7c911fe361..0818212330 100644
--- a/keyboards/owlab/suit80/iso/info.json
+++ b/keyboards/owlab/suit80/iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "suit80",
+ "keyboard_name": "Suit80 ISO",
+ "manufacturer": "OwLab",
"url": "",
"maintainer": "Owlab",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x5349",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h
index 42f97036b3..507b1f75e2 100644
--- a/keyboards/owlab/voice65/hotswap/config.h
+++ b/keyboards/owlab/voice65/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53
-#define PRODUCT_ID 0x564F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT Voice65 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/owlab/voice65/hotswap/info.json b/keyboards/owlab/voice65/hotswap/info.json
index 0481d1acea..006d87749a 100644
--- a/keyboards/owlab/voice65/hotswap/info.json
+++ b/keyboards/owlab/voice65/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "voice65 hotswap",
+ "keyboard_name": "Voice65 Hotswap",
+ "manufacturer": "OwLab",
"url": "https://www.popkeyboard.com/products/67968vn00mzx",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x564F",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h
index f0c68dc25b..74ab2db520 100644
--- a/keyboards/owlab/voice65/soldered/config.h
+++ b/keyboards/owlab/voice65/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53
-#define PRODUCT_ID 0x5657
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OwLab
-#define PRODUCT Voice65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/owlab/voice65/soldered/info.json b/keyboards/owlab/voice65/soldered/info.json
index ce33ffc083..7412c89546 100644
--- a/keyboards/owlab/voice65/soldered/info.json
+++ b/keyboards/owlab/voice65/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "voice65 soldered",
+ "keyboard_name": "Voice65 Soldered",
+ "manufacturer": "OwLab",
"url": "https://www.popkeyboard.com/products/67968vn00mzx",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x5657",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h
index e7f78123d9..475a2bd442 100644
--- a/keyboards/p3d/glitch/config.h
+++ b/keyboards/p3d/glitch/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x7033
-#define PRODUCT_ID 0x3568
-#define DEVICE_VER 0x0001
-#define MANUFACTURER P3D Store
-#define PRODUCT Glitch
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { D5, D6, B6, D7, C7, B4, B5, D3, D4, C6 }
#define MATRIX_COL_PINS { B2, D2, B3, B7, F5, F4, F1, F0 }
-#define UNUSED_PINS
#define RGB_DI_PIN B1
#define RGBLED_NUM 25
diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json
index 6445e200f8..5015a2e28f 100644
--- a/keyboards/p3d/glitch/info.json
+++ b/keyboards/p3d/glitch/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Glitch",
+ "manufacturer": "P3D Store",
"url": "https://p3dstore.com/products/p3d-glitch-group-buy",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x7033",
+ "pid": "0x3568",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{
diff --git a/keyboards/pabile/p18/config.h b/keyboards/pabile/p18/config.h
index 77351ca556..a13313413d 100644
--- a/keyboards/pabile/p18/config.h
+++ b/keyboards/pabile/p18/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6668
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P18 Macro Pad
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 5
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out for PROMICRO */
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { D2, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Encoder position for PROMICRO */
#define ENCODERS_PAD_A { B6, F6 }
diff --git a/keyboards/pabile/p18/info.json b/keyboards/pabile/p18/info.json
index 57d734ab3d..d6338182c6 100644
--- a/keyboards/pabile/p18/info.json
+++ b/keyboards/pabile/p18/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Pabile 18",
+ "keyboard_name": "P18 Macro Pad",
+ "manufacturer": "Pabile",
"url": "https://pabileonline.blogspot.com/",
"maintainer": "Pabile",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6668",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json
index 67e01dca85..e1fbb231ce 100644
--- a/keyboards/pabile/p20/info.json
+++ b/keyboards/pabile/p20/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "P20",
+ "manufacturer": "Pabile",
"url": "",
"maintainer": "pabile",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6667"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/pabile/p20/ver1/config.h b/keyboards/pabile/p20/ver1/config.h
index 94c600106b..231e491d9b 100644
--- a/keyboards/pabile/p20/ver1/config.h
+++ b/keyboards/pabile/p20/ver1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6667
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P20 ver1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { B3, B4, B5, D7, E6 }
#define MATRIX_COL_PINS { D0, B2, D4, B6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { F5, F7 }
#define ENCODERS_PAD_B { F6, B1 }
diff --git a/keyboards/pabile/p20/ver1/info.json b/keyboards/pabile/p20/ver1/info.json
new file mode 100644
index 0000000000..18b5e4bd2b
--- /dev/null
+++ b/keyboards/pabile/p20/ver1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "P20 ver1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/pabile/p20/ver2/config.h b/keyboards/pabile/p20/ver2/config.h
index 0997001836..13bce5132d 100644
--- a/keyboards/pabile/p20/ver2/config.h
+++ b/keyboards/pabile/p20/ver2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6667
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Pabile
-#define PRODUCT P20 ver2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* pin-out */
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { D1, D0, D4, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pabile/p20/ver2/info.json b/keyboards/pabile/p20/ver2/info.json
new file mode 100644
index 0000000000..dae1f84edb
--- /dev/null
+++ b/keyboards/pabile/p20/ver2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "P20 ver2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/pabile/p40/config.h b/keyboards/pabile/p40/config.h
index f05ef6eb26..f90aefef0c 100644
--- a/keyboards/pabile/p40/config.h
+++ b/keyboards/pabile/p40/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6666
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P40 Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -39,7 +32,6 @@ for pro micro facing back of pcb
#define MATRIX_ROW_PINS { D4, E6, B4, B5 }
#define MATRIX_COL_PINS { D1, D0, B6, B2, B3, B1, F7, F6, F5, F4 }
*/
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pabile/p40/info.json b/keyboards/pabile/p40/info.json
index 8a6c1327eb..ee7534c071 100644
--- a/keyboards/pabile/p40/info.json
+++ b/keyboards/pabile/p40/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Pabile 40",
+ "keyboard_name": "P40",
+ "manufacturer": "Pabile",
"url": "https://pabileonline.blogspot.com/",
"maintainer": "Pabile",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6666",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [
diff --git a/keyboards/pabile/p40_ortho/config.h b/keyboards/pabile/p40_ortho/config.h
index 4fd8e7a533..5a8c1625d5 100644
--- a/keyboards/pabile/p40_ortho/config.h
+++ b/keyboards/pabile/p40_ortho/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6669
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P40 Ortho Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, D0, F4, F5 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B2, B3, B1, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pabile/p40_ortho/info.json b/keyboards/pabile/p40_ortho/info.json
index 38eb5bdb70..a630973622 100644
--- a/keyboards/pabile/p40_ortho/info.json
+++ b/keyboards/pabile/p40_ortho/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "P40 Ortho",
+ "manufacturer": "Pabile",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6669",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [
diff --git a/keyboards/pabile/p42/config.h b/keyboards/pabile/p42/config.h
index 2f7c5ce30a..0a6fe4a2fc 100644
--- a/keyboards/pabile/p42/config.h
+++ b/keyboards/pabile/p42/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6666
-#define PRODUCT_ID 0x6670
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pabile
-#define PRODUCT P42 Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F1, F0, B1, B2, B3, D2, C7, D6, B7, B6, B5 }
*/
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pabile/p42/info.json b/keyboards/pabile/p42/info.json
index 7cc34266d2..5c1c2c8589 100644
--- a/keyboards/pabile/p42/info.json
+++ b/keyboards/pabile/p42/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "P42",
+ "manufacturer": "Pabile",
"url": "https://pabileonline.blogspot.com/",
"maintainer": "Pabile",
+ "usb": {
+ "vid": "0x6666",
+ "pid": "0x6670",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/palette1202/config.h b/keyboards/palette1202/config.h
index e0be3bd6c7..d631ed8463 100644
--- a/keyboards/palette1202/config.h
+++ b/keyboards/palette1202/config.h
@@ -19,20 +19,12 @@ 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 0x1202
-#define DEVICE_VER 0x0001
-#define MANUFACTURER niltea
-#define PRODUCT Palette1202
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 5
#define MATRIX_ROW_PINS { B6, B2, B3 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
-#define UNUSED_PINS { D2, D3, D4, B1 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/palette1202/info.json b/keyboards/palette1202/info.json
index e58f2fbb77..318a4c565c 100644
--- a/keyboards/palette1202/info.json
+++ b/keyboards/palette1202/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Palette1202",
+ "manufacturer": "niltea",
"url": "https://github.com/niltea/Palette1202",
"maintainer": "niltea",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1202",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/panc40/config.h b/keyboards/panc40/config.h
index e363b76dad..cc941d56af 100644
--- a/keyboards/panc40/config.h
+++ b/keyboards/panc40/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Panc Interactive
-#define PRODUCT Panc40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, F4, F5 }
#define MATRIX_COL_PINS { F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/panc40/info.json b/keyboards/panc40/info.json
index 834fef0a5d..57989732c4 100644
--- a/keyboards/panc40/info.json
+++ b/keyboards/panc40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Panc40",
+ "manufacturer": "Panc Interactive",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/panc60/config.h b/keyboards/panc60/config.h
index 495f5a2d4d..5bf4d4edcd 100644
--- a/keyboards/panc60/config.h
+++ b/keyboards/panc60/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Panc Interactive
-#define PRODUCT Panc60
-
#define RGBLED_NUM 12
#define MATRIX_ROWS 5
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/panc60/info.json b/keyboards/panc60/info.json
index 1d949b3be6..f3a1be6454 100644
--- a/keyboards/panc60/info.json
+++ b/keyboards/panc60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "panc60",
+ "keyboard_name": "Panc60",
+ "manufacturer": "Panc Interactive",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/papercranekeyboards/gerald65/config.h b/keyboards/papercranekeyboards/gerald65/config.h
index 9e795b1501..318671f298 100644
--- a/keyboards/papercranekeyboards/gerald65/config.h
+++ b/keyboards/papercranekeyboards/gerald65/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5012 //
-#define PRODUCT_ID 0x1501 // '21 keyboard 1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PaperCraneKeyboards
-#define PRODUCT gerald65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { B7, D6, E6, B4, B5 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D7, D4, D3, D2, D1, D0, B6, C6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/papercranekeyboards/gerald65/info.json b/keyboards/papercranekeyboards/gerald65/info.json
index c9b08304b3..8de08c41bd 100644
--- a/keyboards/papercranekeyboards/gerald65/info.json
+++ b/keyboards/papercranekeyboards/gerald65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "gerald65",
+ "manufacturer": "PaperCraneKeyboards",
"url": "",
"maintainer": "PaperCraneKeyboards",
+ "usb": {
+ "vid": "0x5012",
+ "pid": "0x1501",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/papercranekeyboards/gerald65/readme.md b/keyboards/papercranekeyboards/gerald65/readme.md
index 2dafff9e20..0bc610dd11 100644
--- a/keyboards/papercranekeyboards/gerald65/readme.md
+++ b/keyboards/papercranekeyboards/gerald65/readme.md
@@ -22,6 +22,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB (located in the center)
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available. To do this, hold down the key to the right of the left spacebar (1u key in the center of bottom row), and then also press the key in the top right (by default, the delete key).
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. To do this, hold down the key to the right of the left spacebar (1u key in the center of bottom row), and then also press the key in the top right (by default, the delete key).
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/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h
index 37a211726e..862f82ea54 100644
--- a/keyboards/paprikman/albacore/config.h
+++ b/keyboards/paprikman/albacore/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x736D
-#define PRODUCT_ID 0x000A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER paprikman
-#define PRODUCT Albacore
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
diff --git a/keyboards/paprikman/albacore/info.json b/keyboards/paprikman/albacore/info.json
index 494f228a32..5761467ac6 100644
--- a/keyboards/paprikman/albacore/info.json
+++ b/keyboards/paprikman/albacore/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Albacore",
+ "manufacturer": "paprikman",
"url": "https://github.com/paprikman/qmk_firmware/tree/master/keyboards/paprikman/albacore",
"maintainer": "paprikman",
+ "usb": {
+ "vid": "0x736D",
+ "pid": "0x000A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/paprikman/albacore/readme.md b/keyboards/paprikman/albacore/readme.md
index 57c113d42b..b8dacee6d7 100644
--- a/keyboards/paprikman/albacore/readme.md
+++ b/keyboards/paprikman/albacore/readme.md
@@ -21,6 +21,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
There are several ways to enter the bootloader:
-* **Using keycode**: Press the `RESET` key (if mapped)
+* **Using keycode**: Press the `QK_BOOT` key (if mapped)
* **Bootmagic reset**: Hold the left bottom key (default mod key) and plug the usb cable
* **Physical reset**: In the top right corner of the bottom part of the pcb you will find two pads. Shorten them with tweezers and plug the usb cable, then release. It is also possible to shorten these pads while the macropad is already connected (shorten and hold for a couple of seconds, then release).
diff --git a/keyboards/parallel/parallel_65/hotswap/config.h b/keyboards/parallel/parallel_65/hotswap/config.h
index ae730c3c9f..6abeea3bc8 100644
--- a/keyboards/parallel/parallel_65/hotswap/config.h
+++ b/keyboards/parallel/parallel_65/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504C
-#define PRODUCT_ID 0x5069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT Parallel 65% Hotswap PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/parallel/parallel_65/hotswap/info.json b/keyboards/parallel/parallel_65/hotswap/info.json
index 28b1dda23e..ff15ff15df 100644
--- a/keyboards/parallel/parallel_65/hotswap/info.json
+++ b/keyboards/parallel/parallel_65/hotswap/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Parallel 65% Hotswap PCB",
+ "manufacturer": "Parallel Limited",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x504C",
+ "pid": "0x5069",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/parallel/parallel_65/soldered/config.h b/keyboards/parallel/parallel_65/soldered/config.h
index 2ff2492ad4..6abeea3bc8 100644
--- a/keyboards/parallel/parallel_65/soldered/config.h
+++ b/keyboards/parallel/parallel_65/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504C
-#define PRODUCT_ID 0x5068
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT Parallel 65% PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/parallel/parallel_65/soldered/info.json b/keyboards/parallel/parallel_65/soldered/info.json
index 4b0ae27b00..182593f430 100644
--- a/keyboards/parallel/parallel_65/soldered/info.json
+++ b/keyboards/parallel/parallel_65/soldered/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Parallel 65% PCB",
+ "manufacturer": "Parallel Limited",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x504C",
+ "pid": "0x5068",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
diff --git a/keyboards/pdxkbc/config.h b/keyboards/pdxkbc/config.h
index ce6c79bc32..b24592942f 100644
--- a/keyboards/pdxkbc/config.h
+++ b/keyboards/pdxkbc/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5044 // PD
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Franklin Harding
-#define PRODUCT pdxkbc
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 2
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, B6, F4 }
#define MATRIX_COL_PINS { D1, E6 }
-#define UNUSED_PINS { D0, D4, C6, D7, B4, B5, F5, F6, B1, B3, B2 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pdxkbc/info.json b/keyboards/pdxkbc/info.json
index 21631ccc2a..5b1e1e6684 100644
--- a/keyboards/pdxkbc/info.json
+++ b/keyboards/pdxkbc/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pdxkbc",
+ "manufacturer": "Franklin Harding",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5044",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"reddit", "x":0, "y":0}, {"label":"discord", "x":1, "y":0}, {"label":"badge", "x":0, "y":1}, {"label":"hack", "x":1, "y":1}, {"label":"volu", "x":0, "y":2}, {"label":"vold", "x":1, "y":2}]
diff --git a/keyboards/pearl/config.h b/keyboards/pearl/config.h
index 2e9a2faf1d..8f17638549 100644
--- a/keyboards/pearl/config.h
+++ b/keyboards/pearl/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0348
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Pearl Boards
-#define PRODUCT Pearl
-
#define LED_NUM_LOCK_PIN D0
#define LED_CAPS_LOCK_PIN D1
#define LED_SCROLL_LOCK_PIN D6
@@ -40,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/pearl/info.json b/keyboards/pearl/info.json
index 6b4cb0a5ac..e812245ef5 100644
--- a/keyboards/pearl/info.json
+++ b/keyboards/pearl/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Pearl",
+ "manufacturer": "Pearl Boards",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0348",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"{", "x":11, "y":0}, {"label":"Backspace", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"A", "x":1.5, "y":1}, {"label":"S", "x":2.5, "y":1}, {"label":"D", "x":3.5, "y":1}, {"label":"F", "x":4.5, "y":1}, {"label":"G", "x":5.5, "y":1}, {"label":"H", "x":6.5, "y":1}, {"label":"J", "x":7.5, "y":1}, {"label":"K", "x":8.5, "y":1}, {"label":"L", "x":9.5, "y":1}, {"label":":", "x":10.5, "y":1}, {"label":"\\", "x":11.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2, "w":1.25}, {"label":"Alt", "x":1.13, "y":3}, {"label":"Ctrl", "x":2.13, "y":3, "w":1.25}, {"label":"Win", "x":3.375, "y":3, "w":1.25}, {"label":"Shift", "x":4.625, "y":3, "w":2.25}, {"x":6.875, "y":3, "w":1.25}, {"x":8.125, "y":3, "w":1.5}, {"label":"Menu", "x":9.625, "y":3}, {"label":"Fn", "x":10.63, "y":3, "w":1.25}]
diff --git a/keyboards/pearl/keymaps/cijanzen/keymap.c b/keyboards/pearl/keymaps/cijanzen/keymap.c
index 896e157fd6..1b23cab992 100644
--- a/keyboards/pearl/keymaps/cijanzen/keymap.c
+++ b/keyboards/pearl/keymaps/cijanzen/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// UTIL (Fn1+Fn3)
[4] = LAYOUT_all(
- KC_SLP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, RESET,
+ KC_SLP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, QK_BOOT,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/**
* Status LED layer indicators courtesy of jetpacktuxedo's firmware
*/
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
{
if (state & (1<<1)) { // if we are on layer 1
PORTD |= (1 << PD0); // light num lock led
diff --git a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
index 759c6fdc7d..69118a59df 100644
--- a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
@@ -20,14 +20,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, RESET,
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, BL_TOGG, KC_TRNS, BL_INC, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
-uint32_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
// if we are on layer 1
if (state & (1<<1)){
// light num lock led
diff --git a/keyboards/pearl/keymaps/phil/keymap.c b/keyboards/pearl/keymaps/phil/keymap.c
index 56326d423f..bca1278939 100755
--- a/keyboards/pearl/keymaps/phil/keymap.c
+++ b/keyboards/pearl/keymaps/phil/keymap.c
@@ -57,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TG(LIGHT), KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS
),
[LIGHT] = LAYOUT_all(
- RESET, KC_NO, BL_ON, BL_INC, BL_BRTG, RGB_M_P, RGB_M_B, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO,
+ QK_BOOT, KC_NO, BL_ON, BL_INC, BL_BRTG, RGB_M_P, RGB_M_B, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO,
KC_NO, KC_NO, BL_TOGG, BL_STEP, KC_NO, RGB_M_SN, RGB_M_K, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO,
KC_NO, KC_NO, BL_OFF, BL_DEC, KC_NO, KC_NO, KC_NO, RGB_RMOD, RGB_M_SW, RGB_M_R, RGB_M_G, KC_NO,
TG(LIGHT), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
};
-uint32_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
if (state & (1<<QWERTY)){
PORTD &= ~(1 << PD0);
} else {
diff --git a/keyboards/pearl/keymaps/rask/keymap.c b/keyboards/pearl/keymaps/rask/keymap.c
index bafb2b9738..1ab4badb51 100644
--- a/keyboards/pearl/keymaps/rask/keymap.c
+++ b/keyboards/pearl/keymaps/rask/keymap.c
@@ -36,14 +36,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP,____, ____,
____, ____, ____, ____, ____, ____, ____, ____, KC_HOME, KC_PGDN,KC_END, ____,
- RESET, ____, ____, ____, ____, ____, ____, ____
+ QK_BOOT, ____, ____, ____, ____, ____, ____, ____
),
};
/**
* Status LED layer indicators courtesy of jetpacktuxedo's firmware
*/
-uint32_t layer_state_set_kb(uint32_t state)
+layer_state_t layer_state_set_kb(layer_state_t state)
{
// if we are on layer 1
if (state & (1<<1)){
diff --git a/keyboards/pearlboards/atlas/config.h b/keyboards/pearlboards/atlas/config.h
index e35c7d0a90..a90e3e190b 100644
--- a/keyboards/pearlboards/atlas/config.h
+++ b/keyboards/pearlboards/atlas/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6963
-#define PRODUCT_ID 0x6964
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Atlas
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D6, E1, C0, C4, E3 }
#define MATRIX_COL_PINS { D5, D4, C1, C2, C3, C5, C7, A7, A6, A5, A4, A3, A2, A1, A0, F7 }
-#define UNUSED_PINS { E4, E5, E6, E7, F0, F1, F2, F3, B0, B4, B5, B7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pearlboards/atlas/info.json b/keyboards/pearlboards/atlas/info.json
index c3a924d0e4..2d5abf5b91 100644
--- a/keyboards/pearlboards/atlas/info.json
+++ b/keyboards/pearlboards/atlas/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Atlas",
- "maintainer": "Koobaczech",
+ "manufacturer": "Koobaczech",
"url": "",
+ "maintainer": "Koobaczech",
+ "usb": {
+ "vid": "0x6963",
+ "pid": "0x6964",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/pearlboards/atlas/readme.md b/keyboards/pearlboards/atlas/readme.md
index ac02df971b..5161dd2a55 100644
--- a/keyboards/pearlboards/atlas/readme.md
+++ b/keyboards/pearlboards/atlas/readme.md
@@ -18,5 +18,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
-* **Physical reset button**: Briefly press the button on the back of the PCB labeled "RESET"
-* **Keycode in layout**: Press the key mapped to `RESET` in conjunction with the key mapped to `MO(1))`
+* **Physical reset button**: Briefly press the button on the back of the PCB labeled "QK_BOOT"
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` in conjunction with the key mapped to `MO(1))`
diff --git a/keyboards/pearlboards/pandora/config.h b/keyboards/pearlboards/pandora/config.h
index 5a9a997be5..85661f2993 100644
--- a/keyboards/pearlboards/pandora/config.h
+++ b/keyboards/pearlboards/pandora/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6963
-#define PRODUCT_ID 0x6963
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Koobaczech
-#define PRODUCT Pandora
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, D7, D6, B3, B0 }
#define MATRIX_COL_PINS { D2, D1, D0, D3, D5, B5, B6, B7, D4, C6, C7, F0, F1, F4, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pearlboards/pandora/info.json b/keyboards/pearlboards/pandora/info.json
index 9e26364553..10c3bba7ed 100644
--- a/keyboards/pearlboards/pandora/info.json
+++ b/keyboards/pearlboards/pandora/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pandora",
+ "manufacturer": "Koobaczech",
"url": "",
"maintainer": "Koobaczech",
+ "usb": {
+ "vid": "0x6963",
+ "pid": "0x6963",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2, "w":1.25}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":12.5, "y":4, "w":1.25}, {"label":"4,13", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/pearlboards/pearl/config.h b/keyboards/pearlboards/pearl/config.h
index 002c2a5f5f..ff114094a1 100644
--- a/keyboards/pearlboards/pearl/config.h
+++ b/keyboards/pearlboards/pearl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6963
-#define PRODUCT_ID 0x6965
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Pearl
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/pearlboards/pearl/info.json b/keyboards/pearlboards/pearl/info.json
index 4a6619f394..a00c7b3cf9 100644
--- a/keyboards/pearlboards/pearl/info.json
+++ b/keyboards/pearlboards/pearl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pearl",
- "maintainer": "Koobaczech",
+ "manufacturer": "Koobaczech",
"url": "",
+ "maintainer": "Koobaczech",
+ "usb": {
+ "vid": "0x6963",
+ "pid": "0x6965",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/pearlboards/pearl/readme.md b/keyboards/pearlboards/pearl/readme.md
index 7679b270b3..e12d59c8b0 100644
--- a/keyboards/pearlboards/pearl/readme.md
+++ b/keyboards/pearlboards/pearl/readme.md
@@ -18,5 +18,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
-* **Physical reset button**: Briefly press the button on the front left of the PCB labeled "RESET"
-* **Keycode in layout**: Press the key mapped to `RESET` in conjunction with the key mapped to `MO(1))`
+* **Physical reset button**: Briefly press the button on the front left of the PCB labeled "QK_BOOT"
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` in conjunction with the key mapped to `MO(1))`
diff --git a/keyboards/pearlboards/zeus/config.h b/keyboards/pearlboards/zeus/config.h
index 7de94efcc2..2a371716b5 100644
--- a/keyboards/pearlboards/zeus/config.h
+++ b/keyboards/pearlboards/zeus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6963
-#define PRODUCT_ID 0x6966
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Zeus
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, C1, E1, E0, D7, D6 }
#define MATRIX_COL_PINS { F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, C7, C2, C0 }
-#define UNUSED_PINS { E3, E4, E5, B0, B4, B5, B6, B7, D4 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pearlboards/zeus/info.json b/keyboards/pearlboards/zeus/info.json
index 1938a7ef6d..41a72b5fb6 100644
--- a/keyboards/pearlboards/zeus/info.json
+++ b/keyboards/pearlboards/zeus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zeus",
- "maintainer": "Koobaczech",
+ "manufacturer": "Koobaczech",
"url": "",
+ "maintainer": "Koobaczech",
+ "usb": {
+ "vid": "0x6963",
+ "pid": "0x6966",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/pearlboards/zeus/readme.md b/keyboards/pearlboards/zeus/readme.md
index 9d85549d3b..2db71d3c64 100644
--- a/keyboards/pearlboards/zeus/readme.md
+++ b/keyboards/pearlboards/zeus/readme.md
@@ -18,5 +18,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
-* **Physical reset button**: Briefly press the button on the back of the PCB labeled "RESET"
-* **Keycode in layout**: Press the key mapped to `RESET` in conjunction with the key mapped to `MO(1))`
+* **Physical reset button**: Briefly press the button on the back of the PCB labeled "QK_BOOT"
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` in conjunction with the key mapped to `MO(1))`
diff --git a/keyboards/pearlboards/zeuspad/config.h b/keyboards/pearlboards/zeuspad/config.h
index 3c12bfae18..484af3d2d9 100644
--- a/keyboards/pearlboards/zeuspad/config.h
+++ b/keyboards/pearlboards/zeuspad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6963
-#define PRODUCT_ID 0x6967
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Koobaczech
-#define PRODUCT Zeuspad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, D5, F7, F4, F1 }
#define MATRIX_COL_PINS { B0, F0, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pearlboards/zeuspad/info.json b/keyboards/pearlboards/zeuspad/info.json
index 840d1a5b24..3ef471818a 100644
--- a/keyboards/pearlboards/zeuspad/info.json
+++ b/keyboards/pearlboards/zeuspad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zeuspad",
- "maintainer": "Koobaczech",
+ "manufacturer": "Koobaczech",
"url": "",
+ "maintainer": "Koobaczech",
+ "usb": {
+ "vid": "0x6963",
+ "pid": "0x6967",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/pearlboards/zeuspad/readme.md b/keyboards/pearlboards/zeuspad/readme.md
index e22f48e65a..690af89b79 100644
--- a/keyboards/pearlboards/zeuspad/readme.md
+++ b/keyboards/pearlboards/zeuspad/readme.md
@@ -18,5 +18,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
-* **Physical reset button**: Briefly press the button on the front of the PCB labeled "RESET"
-* **Keycode in layout**: Press the key mapped to `RESET` in conjunction with the key mapped to `MO(1))`
+* **Physical reset button**: Briefly press the button on the front of the PCB labeled "QK_BOOT"
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` in conjunction with the key mapped to `MO(1))`
diff --git a/keyboards/peej/lumberjack/config.h b/keyboards/peej/lumberjack/config.h
index ee993e9c99..f9f927f9d9 100644
--- a/keyboards/peej/lumberjack/config.h
+++ b/keyboards/peej/lumberjack/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706A
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT Lumberjack
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 10
#define MATRIX_ROW_PINS { C0, B5, B4, B3, B2, B1 }
#define MATRIX_COL_PINS { B0, D7, D6, D5, D4, D1, D0, C1, C2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/peej/lumberjack/info.json b/keyboards/peej/lumberjack/info.json
index 8550b996b6..acc7e11fc3 100644
--- a/keyboards/peej/lumberjack/info.json
+++ b/keyboards/peej/lumberjack/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lumberjack",
+ "manufacturer": "Peej",
"url": "https://github.com/peej/lumberjack-keyboard",
"maintainer": "Peej",
+ "usb": {
+ "vid": "0x706A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/peej/rosaline/config.h b/keyboards/peej/rosaline/config.h
index 603cad792f..4389572588 100644
--- a/keyboards/peej/rosaline/config.h
+++ b/keyboards/peej/rosaline/config.h
@@ -18,19 +18,11 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706A
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT Rosaline
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { C0, B5, B4, B3, B2, B1, C3, D5 }
#define MATRIX_COL_PINS { B0, D7, D6, C2, D4, D1, D0, C1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/peej/rosaline/info.json b/keyboards/peej/rosaline/info.json
deleted file mode 100644
index 8a6f71aae2..0000000000
--- a/keyboards/peej/rosaline/info.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "keyboard_name": "Rosaline",
- "url": "https://github.com/peej/rosaline-keyboard",
- "maintainer": "Peej",
- "layouts": {
- "LAYOUT_staggered_40": {
- "layout": [
- { "x": 0, "y": 0, "w": 1.5 },
- { "x": 1, "y": 0 },
- { "x": 2, "y": 0 },
- { "x": 3, "y": 0 },
- { "x": 4, "y": 0 },
- { "x": 5, "y": 0 },
- { "x": 6, "y": 0 },
- { "x": 7, "y": 0 },
- { "x": 8, "y": 0 },
- { "x": 9, "y": 0 },
- { "x": 10, "y": 0 },
- { "x": 11, "y": 0 },
- { "x": 12, "y": 0 },
- { "x": 13, "y": 0, "w": 1.5 },
- { "x": 0, "y": 1, "w": 1.75 },
- { "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": 7, "y": 1 },
- { "x": 8, "y": 1 },
- { "x": 9, "y": 1 },
- { "x": 10, "y": 1 },
- { "x": 11, "y": 1 },
- { "x": 12, "y": 1, "w": 2.25 },
- { "x": 0, "y": 2, "w": 2.25 },
- { "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": 7, "y": 2 },
- { "x": 8, "y": 2 },
- { "x": 9, "y": 2 },
- { "x": 10, "y": 2 },
- { "x": 11, "y": 2, "w": 1.75 },
- { "x": 12, "y": 2 },
- { "x": 0, "y": 3, "w": 1.5 },
- { "x": 1, "y": 3, "w": 1.5 },
- { "x": 2, "y": 3, "w": 1.5 },
- { "x": 3, "y": 3, "w": 2.75 },
- { "x": 4, "y": 3 },
- { "x": 5, "y": 3, "w": 2.25 },
- { "x": 6, "y": 3 },
- { "x": 7, "y": 3 },
- { "x": 8, "y": 3 },
- { "x": 9, "y": 3 },
- { "x": 10, "y": 3 }
- ]
- },
- "LAYOUT_ortho_4x15": {
- "layout": [
- { "x": 0, "y": 0 },
- { "x": 1, "y": 0 },
- { "x": 2, "y": 0 },
- { "x": 3, "y": 0 },
- { "x": 4, "y": 0 },
- { "x": 5, "y": 0 },
- { "x": 6, "y": 0 },
- { "x": 7, "y": 0 },
- { "x": 8, "y": 0 },
- { "x": 9, "y": 0 },
- { "x": 10, "y": 0 },
- { "x": 11, "y": 0 },
- { "x": 12, "y": 0 },
- { "x": 13, "y": 0 },
- { "x": 14, "y": 0 },
- { "x": 0, "y": 1 },
- { "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": 7, "y": 1 },
- { "x": 8, "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": 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": 7, "y": 2 },
- { "x": 8, "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": 0, "y": 3 },
- { "x": 1, "y": 3 },
- { "x": 2, "y": 3 },
- { "x": 3, "y": 3 },
- { "x": 4, "y": 3 },
- { "x": 5, "y": 3 },
- { "x": 6, "y": 3 },
- { "x": 7, "y": 3 },
- { "x": 8, "y": 3 },
- { "x": 9, "y": 3 },
- { "x": 10, "y": 3 },
- { "x": 11, "y": 3 },
- { "x": 12, "y": 3 },
- { "x": 13, "y": 3 },
- { "x": 14, "y": 3 }
- ]
- }
- }
-}
diff --git a/keyboards/peej/rosaline/keymaps/default/keymap.c b/keyboards/peej/rosaline/keymaps/default/keymap.c
deleted file mode 100644
index fc659293f0..0000000000
--- a/keyboards/peej/rosaline/keymaps/default/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2021 Paul James
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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,
- _FUNCTION
-};
-
-#define FN MO(_FUNCTION)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,--------.------.------.------.------.------.------.------.------.------.------.------.------.--------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * |--------'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'--------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |----------'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'------.------|
- * | Shft | Z | X | C | V | B | N | M | , | . | / | Shft | Fn |
- * |--------.-----'.-----'--.---'------'------'---.--'------'--.---'--.---'--.---'--.---'--.------+------|
- * | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
- * `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
- */
-[_QWERTY] = LAYOUT_staggered_40(
- 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_GESC, 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, FN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Function
- * ,--------.------.------.------.------.------.------.------.------.------.------.------.------.--------.
- * | Tab | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Del |
- * |--------'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'--------|
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | Enter |
- * |----------'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'------.------|
- * | Shft | Z | X | C | V | B | N | M | , | . | / | Shft | Fn |
- * |--------.-----'.-----'--.---'------'------'---.--'------'--.---'--.---'--.---'--.---'--.------+------|
- * | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
- * `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
- */
-[_FUNCTION] = LAYOUT_staggered_40(
- _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-)
-
-};
diff --git a/keyboards/peej/rosaline/keymaps/via/keymap.c b/keyboards/peej/rosaline/keymaps/via/keymap.c
deleted file mode 100644
index 1d6ac2ed82..0000000000
--- a/keyboards/peej/rosaline/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2021 Paul James
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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_staggered_40(
- 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_GESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-[1] = LAYOUT_staggered_40(
- _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-[2] = LAYOUT_staggered_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[3] = LAYOUT_staggered_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};
diff --git a/keyboards/peej/rosaline/ortho/info.json b/keyboards/peej/rosaline/ortho/info.json
new file mode 100644
index 0000000000..be47e6431d
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Rosaline Ortho",
+ "manufacturer": "Peej",
+ "url": "https://github.com/peej/rosaline-keyboard",
+ "maintainer": "Peej",
+ "usb": {
+ "vid": "0x706A",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x15": {
+ "layout": [
+ { "x": 0, "y": 0 },
+ { "x": 1, "y": 0 },
+ { "x": 2, "y": 0 },
+ { "x": 3, "y": 0 },
+ { "x": 4, "y": 0 },
+ { "x": 5, "y": 0 },
+ { "x": 6, "y": 0 },
+ { "x": 7, "y": 0 },
+ { "x": 8, "y": 0 },
+ { "x": 9, "y": 0 },
+ { "x": 10, "y": 0 },
+ { "x": 11, "y": 0 },
+ { "x": 12, "y": 0 },
+ { "x": 13, "y": 0 },
+ { "x": 14, "y": 0 },
+ { "x": 0, "y": 1 },
+ { "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": 7, "y": 1 },
+ { "x": 8, "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": 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": 7, "y": 2 },
+ { "x": 8, "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": 0, "y": 3 },
+ { "x": 1, "y": 3 },
+ { "x": 2, "y": 3 },
+ { "x": 3, "y": 3 },
+ { "x": 4, "y": 3 },
+ { "x": 5, "y": 3 },
+ { "x": 6, "y": 3 },
+ { "x": 7, "y": 3 },
+ { "x": 8, "y": 3 },
+ { "x": 9, "y": 3 },
+ { "x": 10, "y": 3 },
+ { "x": 11, "y": 3 },
+ { "x": 12, "y": 3 },
+ { "x": 13, "y": 3 },
+ { "x": 14, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/peej/rosaline/keymaps/ortho/keymap.c b/keyboards/peej/rosaline/ortho/keymaps/default/keymap.c
index e307ecccb3..e307ecccb3 100644
--- a/keyboards/peej/rosaline/keymaps/ortho/keymap.c
+++ b/keyboards/peej/rosaline/ortho/keymaps/default/keymap.c
diff --git a/keyboards/peej/rosaline/keymaps/via-ortho/keymap.c b/keyboards/peej/rosaline/ortho/keymaps/via/keymap.c
index 0a6068fa96..0a6068fa96 100644
--- a/keyboards/peej/rosaline/keymaps/via-ortho/keymap.c
+++ b/keyboards/peej/rosaline/ortho/keymaps/via/keymap.c
diff --git a/keyboards/peej/rosaline/ortho/keymaps/via/rules.mk b/keyboards/peej/rosaline/ortho/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/peej/rosaline/ortho/ortho.h b/keyboards/peej/rosaline/ortho/ortho.h
new file mode 100644
index 0000000000..b3287784c3
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/ortho.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "rosaline.h"
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”
+ * │00 │40 │01 │41 │02 │42 │03 │43 │04 │44 │05 │45 │06 │46 │07 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │10 │50 │11 │51 │12 │52 │13 │53 │14 │54 │15 │55 │16 │56 │17 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │20 │60 │21 │61 │22 │62 │23 │63 │24 │64 │25 │65 │26 │66 │27 │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │30 │70 │31 │71 │32 │72 │33 │73 │34 │74 │35 │75 │36 │76 │37 │
+ * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
+ * ┌───────────────────────────â”
+ * │73 │ 7u Space
+ * └───────────────────────────┘
+ * ┌───────┠┌───────â”
+ * 2u Left │32 │ │35 │ 2u Right
+ * └───────┘ └───────┘
+ */
+
+#define LAYOUT_ortho_4x15( \
+ k00, k40, k01, k41, k02, k42, k03, k43, k04, k44, k05, k45, k06, k46, k07, \
+ k10, k50, k11, k51, k12, k52, k13, k53, k14, k54, k15, k55, k16, k56, k17, \
+ k20, k60, k21, k61, k22, k62, k23, k63, k24, k64, k25, k65, k26, k66, k27, \
+ k30, k70, k31, k71, k32, k72, k33, k73, k34, k74, k35, k75, k36, k76, k37 \
+) \
+{ \
+ { k00, k01, k02, 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, XXX }, \
+ { k50, k51, k52, k53, k54, k55, k56, XXX }, \
+ { k60, k61, k62, k63, k64, k65, k66, XXX }, \
+ { k70, k71, k72, k73, k74, k75, k76, XXX } \
+}
+
+#define LED1 C5
+#define LED2 C4
diff --git a/keyboards/peej/rosaline/ortho/rules.mk b/keyboards/peej/rosaline/ortho/rules.mk
new file mode 100644
index 0000000000..d1dde8af62
--- /dev/null
+++ b/keyboards/peej/rosaline/ortho/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega328p
+
+# Bootloader selection
+BOOTLOADER = usbasploader
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peej/rosaline/readme.md b/keyboards/peej/rosaline/readme.md
index 033faa34f2..2b176d30df 100644
--- a/keyboards/peej/rosaline/readme.md
+++ b/keyboards/peej/rosaline/readme.md
@@ -2,7 +2,7 @@
## Through-hole 40% keyboard PCB for 60% cases
-![juliet](https://github.com/peej/rosaline-keyboard/raw/master/images/pcb.jpg)
+![Rosaline Staggered](https://raw.githubusercontent.com/peej/rosaline-keyboard/a40d60e95ee69630db0ea53d97c59b9e5db4851f/images/pcb-staggered-render.jpg)
40% staggered or 4x15 ortholinear PCB for 60% tray mount cases with only through hole components.
@@ -11,8 +11,11 @@
Make example for this keyboard (after setting up your build environment):
- make peej/rosaline:default
+ make peej/rosaline/staggered:default # for staggered PCBs
+ make peej/rosaline/ortho:default # for ortholinear PCBs
## Bootloader
Use usbasploader in [hsgw's repository](https://github.com/hsgw/USBaspLoader/tree/plaid).
+
+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/peej/rosaline/rosaline.h b/keyboards/peej/rosaline/rosaline.h
index 1e41a2e95e..22125f3188 100644
--- a/keyboards/peej/rosaline/rosaline.h
+++ b/keyboards/peej/rosaline/rosaline.h
@@ -20,39 +20,11 @@
#define XXX KC_NO
-#define LAYOUT_staggered_40( \
- k00, k01, k10, k20, k21, k30, k31, k40, k41, k50, k60, k61, k70, k71, \
- k02, k11, k12, k22, k23, k32, k33, k42, k51, k52, k62, k63, k72, \
- k03, k13, k14, k24, k34, k35, k43, k44, k53, k54, k64, k73, k74, \
- k04, k05, k15, k25, k45, k55, k56, k65, k66, k75, k76 \
-) \
-{ \
- { k00, k10, k20, k30, k40, k50, k60, k70 }, \
- { k01, k11, k21, k31, k41, k51, k61, k71 }, \
- { k02, k12, k22, k32, k42, k52, k62, k72 }, \
- { k03, k13, k23, k33, k43, k53, k63, k73 }, \
- { k04, k14, k24, k34, k44, k54, k64, k74 }, \
- { k05, k15, k25, k35, k45, k55, k65, k75 }, \
- { XXX, XXX, XXX, XXX, XXX, k56, k66, k76 }, \
- { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
-}
-
-#define LAYOUT_ortho_4x15( \
- k00, k04, k10, k14, k20, k24, k30, k34, k40, k44, k50, k54, k60, k64, k70, \
- k01, k05, k11, k15, k21, k25, k31, k35, k41, k45, k51, k55, k61, k65, k71, \
- k02, k06, k12, k16, k22, k26, k32, k36, k42, k46, k52, k56, k62, k66, k72, \
- k03, k07, k13, k17, k23, k27, k33, k37, k43, k47, k53, k57, k63, k67, k73 \
-) \
-{ \
- { k00, k10, k20, k30, k40, k50, k60, k70 }, \
- { k01, k11, k21, k31, k41, k51, k61, k71 }, \
- { k02, k12, k22, k32, k42, k52, k62, k72 }, \
- { k03, k13, k23, k33, k43, k53, k63, k73 }, \
- { k04, k14, k24, k34, k44, k54, k64, XXX }, \
- { k05, k15, k25, k35, k45, k55, k65, XXX }, \
- { k06, k16, k26, k36, k46, k56, k66, XXX }, \
- { k07, k17, k27, k37, k47, k57, k67, XXX } \
-}
+#if defined(KEYBOARD_peej_rosaline_staggered)
+ #include "staggered.h"
+#elif defined(KEYBOARD_peej_rosaline_ortho)
+ #include "ortho.h"
+#endif
#define LED1 C5
#define LED2 C4
diff --git a/keyboards/peej/rosaline/rules.mk b/keyboards/peej/rosaline/rules.mk
index d1dde8af62..928164362a 100644
--- a/keyboards/peej/rosaline/rules.mk
+++ b/keyboards/peej/rosaline/rules.mk
@@ -1,18 +1 @@
-# MCU name
-MCU = atmega328p
-
-# Bootloader selection
-BOOTLOADER = usbasploader
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
+DEFAULT_FOLDER = peej/rosaline/staggered
diff --git a/keyboards/peej/rosaline/staggered/info.json b/keyboards/peej/rosaline/staggered/info.json
new file mode 100644
index 0000000000..cd842ecaed
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/info.json
@@ -0,0 +1,74 @@
+{
+ "keyboard_name": "Rosaline Staggered",
+ "manufacturer": "Peej",
+ "url": "https://github.com/peej/rosaline-keyboard",
+ "maintainer": "Peej",
+ "usb": {
+ "vid": "0x706A",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_staggered_40": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0, "w":1.5},
+ {"x":1.5, "y":0},
+ {"x":2.5, "y":0},
+ {"x":3.5, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":10.5, "y":0},
+ {"x":11.5, "y":0},
+ {"x":12.5, "y":0},
+ {"x":13.5, "y":0, "w":1.5},
+
+ {"x":0, "y":1, "w":1.75},
+ {"x":1.75, "y":1},
+ {"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":7.75, "y":1},
+ {"x":8.75, "y":1},
+ {"x":9.75, "y":1},
+ {"x":10.75, "y":1},
+ {"x":11.75, "y":1},
+ {"x":12.75, "y":1, "w":2.25},
+
+ {"x":0, "y":2, "w":2.25},
+ {"x":2.25, "y":2},
+ {"x":3.25, "y":2},
+ {"x":4.25, "y":2},
+ {"x":5.25, "y":2},
+ {"x":6.25, "y":2},
+ {"x":7.25, "y":2},
+ {"x":8.25, "y":2},
+ {"x":9.25, "y":2},
+ {"x":10.25, "y":2},
+ {"x":11.25, "y":2},
+ {"x":12.25, "y":2, "w":1.75},
+ {"x":14, "y":2},
+
+ {"x":0, "y":3, "w":1.5},
+ {"x":1.5, "y":3},
+ {"x":2.5, "y":3, "w":1.5},
+ {"x":4, "y":3, "w":2.75},
+ {"x":6.75, "y":3},
+ {"x":7.75, "y":3, "w":2.25},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3},
+ {"x":13, "y":3},
+ {"x":14, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/peej/rosaline/staggered/keymaps/default/keymap.c b/keyboards/peej/rosaline/staggered/keymaps/default/keymap.c
new file mode 100644
index 0000000000..11f3831c44
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/keymaps/default/keymap.c
@@ -0,0 +1,64 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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,
+ _FUNCTION
+};
+
+#define FN MO(_FUNCTION)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,--------.------.------.------.------.------.------.------.------.------.------.------.------.--------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |--------'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'--------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |----------'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'------.------|
+ * | Shft | Z | X | C | V | B | N | M | , | . | / | Shft | Fn |
+ * |--------.-----'.-----'--.---'------'------'---.--'------'--.---'--.---'--.---'--.---'--.------+------|
+ * | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
+ * `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
+ */
+[_QWERTY] = LAYOUT_all(
+ 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_GESC, 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, FN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+/* Function
+ * ,--------.------.------.------.------.------.------.------.------.------.------.------.------.--------.
+ * | Tab | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Del |
+ * |--------'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'-.----'--------|
+ * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | Enter |
+ * |----------'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'---.--'------.------|
+ * | Shft | Z | X | C | V | B | N | M | , | . | / | Shft | Fn |
+ * |--------.-----'.-----'--.---'------'------'---.--'------'--.---'--.---'--.---'--.---'--.------+------|
+ * | Ctrl | Gui | Alt | Space | Space | Alt | Ctrl | Left | Down | Up | Rght |
+ * `--------'------'--------'---------------------'------------'------'------'------'------'------'------'
+ */
+[_FUNCTION] = LAYOUT_all(
+ _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+)
+
+};
diff --git a/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c b/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c
new file mode 100644
index 0000000000..87c0717da6
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_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_GESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+[1] = LAYOUT_all(
+ _______, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+),
+[2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+[3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+};
diff --git a/keyboards/peej/rosaline/staggered/keymaps/via/rules.mk b/keyboards/peej/rosaline/staggered/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/peej/rosaline/staggered/rules.mk b/keyboards/peej/rosaline/staggered/rules.mk
new file mode 100644
index 0000000000..d1dde8af62
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega328p
+
+# Bootloader selection
+BOOTLOADER = usbasploader
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/peej/rosaline/staggered/staggered.h b/keyboards/peej/rosaline/staggered/staggered.h
new file mode 100644
index 0000000000..cc2703c834
--- /dev/null
+++ b/keyboards/peej/rosaline/staggered/staggered.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 Paul James
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "rosaline.h"
+
+/*
+ * ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────â”
+ * │00 │10 │01 │02 │12 │03 │13 │04 │14 │05 │06 │16 │07 │17 │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │11 │21 │22 │32 │23 │33 │24 │15 │25 │26 │36 │27 │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┬──────────┠┌──────┬───┬───â”
+ * │30 │31 │41 │42 │43 │53 │34 │44 │35 │45 │46 │37 │47 │ │46 │37 │ 1u/2.75u RShift │46 │37 │47 │ 1.75u/1u/1u RShift
+ * ├─────┬──┴┬──┴──┬┴───┴───┴─┬─┴───┴──┬┴──┬┴──┬┴──┬┴──┬───┼───┤ └───┴──────────┘ └──────┴───┴───┘
+ * │40 │50 │51 │52 │54 │55 │65 │56 │66 │57 │67 │
+ * └─────┴───┴─────┴──────────┴────────┴───┴───┴───┴───┴───┴───┘
+ * ┌───────────────────────────┬─────┬───┬─────â”
+ * 7u Space │54 │56 │66 │57 │ Tsangan Right Mods
+ * └───────────────────────────┴─────┴───┴─────┘
+ * ┌──────────┬───┬────────┬───â”
+ * 2.75/1/2.25/1u │52 │54 │55 │65 │
+ * └──────────┴───┴────────┴───┘
+ */
+
+#define LAYOUT_all( \
+ k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k06, k16, k07, k17, \
+ k20, k11, k21, k22, k32, k23, k33, k24, k15, k25, k26, k36, k27, \
+ k30, k31, k41, k42, k43, k53, k34, k44, k35, k45, k46, k37, k47, \
+ k40, k50, k51, k52, k54, k55, k65, k56, k66, k57, k67 \
+) \
+{ \
+ { k00, k01, k02, 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 }, \
+ { XXX, XXX, XXX, XXX, XXX, k65, k66, k67 }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
+}
+
+#define LED1 C5
+#define LED2 C4
diff --git a/keyboards/peej/tripel/config.h b/keyboards/peej/tripel/config.h
index 50b0cc8829..1ea4947f32 100644
--- a/keyboards/peej/tripel/config.h
+++ b/keyboards/peej/tripel/config.h
@@ -17,19 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706A
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peej
-#define PRODUCT Tripel
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { C6, D4, D0, B4, E6, D7, D1, D2, D3 }
#define MATRIX_COL_PINS { B5, B6, B2, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS { F4 }
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json
index 97d50880c4..01beef6aae 100644
--- a/keyboards/peej/tripel/info.json
+++ b/keyboards/peej/tripel/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tripel",
+ "manufacturer": "Peej",
"url": "https://github.com/peej/tripel-keyboard",
"maintainer": "Peej",
+ "usb": {
+ "vid": "0x706A",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_7u": {
"layout": [
diff --git a/keyboards/pegasus/config.h b/keyboards/pegasus/config.h
index 6f773da966..2729258198 100644
--- a/keyboards/pegasus/config.h
+++ b/keyboards/pegasus/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER melonbred
-#define PRODUCT Pegasus
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, E6 }
#define MATRIX_COL_PINS { D2, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5 }
-//#define UNUSED_PINS { B0, B1, B2, B3, B7 }
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/pegasus/info.json b/keyboards/pegasus/info.json
index 238442b821..00faec71ec 100644
--- a/keyboards/pegasus/info.json
+++ b/keyboards/pegasus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pegasus",
+ "keyboard_name": "Pegasus",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/pegasus/keymaps/split/keymap.c b/keyboards/pegasus/keymaps/split/keymap.c
index 964cfa2df7..9f3d69f9b9 100644
--- a/keyboards/pegasus/keymaps/split/keymap.c
+++ b/keyboards/pegasus/keymaps/split/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_split(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_RALT, KC_RCTL, KC_DEL, KC_VOLD,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY
),
};
diff --git a/keyboards/pegasus/readme.md b/keyboards/pegasus/readme.md
index d164ba47ac..c523c03540 100644
--- a/keyboards/pegasus/readme.md
+++ b/keyboards/pegasus/readme.md
@@ -20,4 +20,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h
index 38bfd6259c..03e4b3cae9 100644
--- a/keyboards/peranekofactory/tone/rev1/config.h
+++ b/keyboards/peranekofactory/tone/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PeranekoFactory
-#define PRODUCT tone
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 8
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ D4, C6, D7, E6, F6, F7, B1, B3 } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/peranekofactory/tone/rev1/info.json b/keyboards/peranekofactory/tone/rev1/info.json
index d877d5135e..29ee59e390 100644
--- a/keyboards/peranekofactory/tone/rev1/info.json
+++ b/keyboards/peranekofactory/tone/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tone",
+ "manufacturer": "PeranekoFactory",
"url": "https://shop.yushakobo.jp/collections/keyboard-1/products/consign_tone-note",
"maintainer": "PeranekoFactory",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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}]
diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h
index 38bfd6259c..03e4b3cae9 100644
--- a/keyboards/peranekofactory/tone/rev2/config.h
+++ b/keyboards/peranekofactory/tone/rev2/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PeranekoFactory
-#define PRODUCT tone
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 8
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIRECT_PINS { \
{ D4, C6, D7, E6, F6, F7, B1, B3 } \
}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/peranekofactory/tone/rev2/info.json b/keyboards/peranekofactory/tone/rev2/info.json
index d877d5135e..29ee59e390 100644
--- a/keyboards/peranekofactory/tone/rev2/info.json
+++ b/keyboards/peranekofactory/tone/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tone",
+ "manufacturer": "PeranekoFactory",
"url": "https://shop.yushakobo.jp/collections/keyboard-1/products/consign_tone-note",
"maintainer": "PeranekoFactory",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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}]
diff --git a/keyboards/percent/booster/config.h b/keyboards/percent/booster/config.h
index ecb1c9ec82..c70d73d313 100644
--- a/keyboards/percent/booster/config.h
+++ b/keyboards/percent/booster/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5053 /* PS */
-#define PRODUCT_ID 0x4253
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Percent Studio
-#define PRODUCT Booster
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/percent/booster/info.json b/keyboards/percent/booster/info.json
index 2f5edb1d5f..5700e4ab7a 100644
--- a/keyboards/percent/booster/info.json
+++ b/keyboards/percent/booster/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "booster",
+ "keyboard_name": "Booster",
+ "manufacturer": "Percent Studio",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5053",
+ "pid": "0x4253",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/percent/canoe/config.h b/keyboards/percent/canoe/config.h
index 56793bab41..8b0c8ad8da 100644
--- a/keyboards/percent/canoe/config.h
+++ b/keyboards/percent/canoe/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5053 /* PS */
-#define PRODUCT_ID 0x434E
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Percent Studios
-#define PRODUCT CANOE
-
#define RGBLED_NUM 2
#define MATRIX_ROWS 5
@@ -32,7 +26,6 @@ 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 { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/percent/canoe/info.json b/keyboards/percent/canoe/info.json
index ca1bec5b89..b61cc7db5f 100644
--- a/keyboards/percent/canoe/info.json
+++ b/keyboards/percent/canoe/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Canoe",
- "maintainer": "qmk",
+ "keyboard_name": "CANOE",
+ "manufacturer": "Percent Studios",
"url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x5053",
+ "pid": "0x434E",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_65_iso_blocker": {
"layout": [{"label":"K0D", "x":0, "y":0}, {"label":"K0C", "x":1, "y":0}, {"label":"K0B", "x":2, "y":0}, {"label":"K0A", "x":3, "y":0}, {"label":"K09", "x":4, "y":0}, {"label":"K08", "x":5, "y":0}, {"label":"K07", "x":6, "y":0}, {"label":"K06", "x":7, "y":0}, {"label":"K05", "x":8, "y":0}, {"label":"K04", "x":9, "y":0}, {"label":"K03", "x":10, "y":0}, {"label":"K02", "x":11, "y":0}, {"label":"K01", "x":12, "y":0}, {"label":"K00", "x":13, "y":0, "w":2}, {"label":"K0E", "x":15, "y":0}, {"label":"K1D", "x":0, "y":1, "w":1.5}, {"label":"K1C", "x":1.5, "y":1}, {"label":"K1B", "x":2.5, "y":1}, {"label":"K1A", "x":3.5, "y":1}, {"label":"K19", "x":4.5, "y":1}, {"label":"K18", "x":5.5, "y":1}, {"label":"K17", "x":6.5, "y":1}, {"label":"K16", "x":7.5, "y":1}, {"label":"K15", "x":8.5, "y":1}, {"label":"K14", "x":9.5, "y":1}, {"label":"K13", "x":10.5, "y":1}, {"label":"K12", "x":11.5, "y":1}, {"label":"K11", "x":12.5, "y":1}, {"label":"K1E", "x":15, "y":1}, {"label":"K2D", "x":0, "y":2, "w":1.75}, {"label":"K2C", "x":1.75, "y":2}, {"label":"K2B", "x":2.75, "y":2}, {"label":"K2A", "x":3.75, "y":2}, {"label":"K29", "x":4.75, "y":2}, {"label":"K28", "x":5.75, "y":2}, {"label":"K27", "x":6.75, "y":2}, {"label":"K26", "x":7.75, "y":2}, {"label":"K25", "x":8.75, "y":2}, {"label":"K24", "x":9.75, "y":2}, {"label":"K23", "x":10.75, "y":2}, {"label":"K22", "x":11.75, "y":2}, {"label":"K10", "x":12.75, "y":2}, {"label":"K21", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"K2E", "x":15, "y":2}, {"label":"K3D", "x":0, "y":3, "w":1.25}, {"label":"K4A", "x":1.25, "y":3}, {"label":"K3C", "x":2.25, "y":3}, {"label":"K3B", "x":3.25, "y":3}, {"label":"K3A", "x":4.25, "y":3}, {"label":"K39", "x":5.25, "y":3}, {"label":"K38", "x":6.25, "y":3}, {"label":"K37", "x":7.25, "y":3}, {"label":"K36", "x":8.25, "y":3}, {"label":"K35", "x":9.25, "y":3}, {"label":"K34", "x":10.25, "y":3}, {"label":"K33", "x":11.25, "y":3}, {"label":"K32", "x":12.25, "y":3, "w":1.75}, {"label":"K30", "x":14, "y":3}, {"label":"K3E", "x":15, "y":3}, {"label":"K4D", "x":0, "y":4, "w":1.25}, {"label":"K4C", "x":1.25, "y":4, "w":1.25}, {"label":"K4B", "x":2.5, "y":4, "w":1.25}, {"label":"K48", "x":3.75, "y":4, "w":6.25}, {"label":"K44", "x":10, "y":4, "w":1.25}, {"label":"K43", "x":11.25, "y":4, "w":1.25}, {"label":"K42", "x":13, "y":4}, {"label":"K40", "x":14, "y":4}, {"label":"K4E", "x":15, "y":4}]
diff --git a/keyboards/percent/canoe/keymaps/boy_314/keymap.c b/keyboards/percent/canoe/keymaps/boy_314/keymap.c
index e3b4c88d28..f9b70764ff 100644
--- a/keyboards/percent/canoe/keymaps/boy_314/keymap.c
+++ b/keyboards/percent/canoe/keymaps/boy_314/keymap.c
@@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_F1] = 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_TRNS, \
- KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, RESET, KC_PSCR, KC_TRNS, KC_PAUS, KC_BSLS, KC_TRNS, \
+ KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, QK_BOOT, KC_PSCR, KC_TRNS, KC_PAUS, KC_BSLS, KC_TRNS, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,RGB_MOD,RGB_VAD,RGB_HUD,RGB_SAD,KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, \
KC_LSPO, KC_MPRV, KC_MPLY, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_MUTE,KC_VOLD, KC_VOLU, KC_NO, KC_RSPC, KC_VOLU, KC_TRNS, \
KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_MPLY, KC_VOLD, KC_MNXT),
[_F2] = 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_PAUS, \
- KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, \
+ KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,RGB_MOD,RGB_VAD,RGB_HUD,RGB_SAD,KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, \
KC_LSPO, KC_MPRV, KC_MPLY, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_MUTE,KC_VOLD, KC_VOLU, KC_NO, KC_RSPC, KC_PGUP, KC_TRNS, \
KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_HOME, KC_PGDOWN,KC_END)
diff --git a/keyboards/percent/canoe/keymaps/dhertz/keymap.c b/keyboards/percent/canoe/keymaps/dhertz/keymap.c
index 7e8170aefc..7d855e8fa7 100644
--- a/keyboards/percent/canoe/keymaps/dhertz/keymap.c
+++ b/keyboards/percent/canoe/keymaps/dhertz/keymap.c
@@ -49,8 +49,8 @@ void keyboard_post_init_user(void) {
rgblight_sethsv_teal();
}
-uint32_t layer_state_set_keymap(uint32_t state) {
- switch (biton32(state)) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+ switch (get_highest_layer(state)) {
case 1:
rgblight_sethsv_noeeprom_magenta();
break;
diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h
index 2188d9b41c..1f05360aae 100644
--- a/keyboards/percent/canoe_gen2/config.h
+++ b/keyboards/percent/canoe_gen2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9C12
-#define PRODUCT_ID 0x89F0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Percent Studio
-#define PRODUCT Canoe Gen2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B1,B3,B2,F5,F4}
#define MATRIX_COL_PINS {B0,D0,C6,B6,B5,B4,D7,D6,D4,D5,D3,D2,D1,F6,F7}
-#define UNUSED_PINS
/* Uncomment if your encoder doesn't react to every turn or skips */
//#define ENCODER_RESOLUTION 2
diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/info.json
index b72b84beee..e24eab5be0 100644
--- a/keyboards/percent/canoe_gen2/info.json
+++ b/keyboards/percent/canoe_gen2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Canoe Gen2",
+ "manufacturer": "Percent Studio",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x9C12",
+ "pid": "0x89F0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
diff --git a/keyboards/percent/skog/config.h b/keyboards/percent/skog/config.h
index 524fdc5ccf..65c9a65802 100644
--- a/keyboards/percent/skog/config.h
+++ b/keyboards/percent/skog/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x5053 /* PS */
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-
-#define MANUFACTURER Percent Studios
-#define PRODUCT Skog TKL
-
/* matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
diff --git a/keyboards/percent/skog/info.json b/keyboards/percent/skog/info.json
index de5655118a..9f7c86cdd8 100644
--- a/keyboards/percent/skog/info.json
+++ b/keyboards/percent/skog/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "skog",
+ "keyboard_name": "Skog TKL",
+ "manufacturer": "Percent Studios",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5053",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/percent/skog_lite/config.h b/keyboards/percent/skog_lite/config.h
index 15de9bbb89..0e61f5d2ff 100644
--- a/keyboards/percent/skog_lite/config.h
+++ b/keyboards/percent/skog_lite/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5053 /* PS */
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Percent Studios
-#define PRODUCT Skog Lite
-
#define RGBLED_NUM 18
#define MATRIX_ROWS 7
@@ -33,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B6, B5 }
#define MATRIX_COL_PINS { C4, C2, D7, C7, C6, A0, A1, A2, A3, A7, A6, A4, A5, C5, C3}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/percent/skog_lite/info.json b/keyboards/percent/skog_lite/info.json
index 09bcdc4381..fb3a71f01d 100644
--- a/keyboards/percent/skog_lite/info.json
+++ b/keyboards/percent/skog_lite/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Skog Lite",
+ "manufacturer": "Percent Studios",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5053",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/percent/skog_lite/keymaps/binman/keymap.c b/keyboards/percent/skog_lite/keymaps/binman/keymap.c
index 40308e1a6e..67f74eeb90 100755
--- a/keyboards/percent/skog_lite/keymaps/binman/keymap.c
+++ b/keyboards/percent/skog_lite/keymaps/binman/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_ansi(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, RGB_RMOD, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_HUI, RGB_SAI,
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_HUD, RGB_SAD,
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_HUD, RGB_SAD,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPI,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, KC_NO
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h
index b30adef9dd..2b1e6b1e5f 100644
--- a/keyboards/phantom/config.h
+++ b/keyboards/phantom/config.h
@@ -19,13 +19,6 @@ 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 0x5B50
-#define DEVICE_VER 0x0003
-#define MANUFACTURER bpiphany
-#define PRODUCT PHANTOM
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D5, C7, C6, D4, D0, E6, F0, F1, F4, F5, F6, F7, D7, D6, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/phantom/info.json b/keyboards/phantom/info.json
index 419ce4f491..1fbbdb73a4 100644
--- a/keyboards/phantom/info.json
+++ b/keyboards/phantom/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Phantom",
+ "manufacturer": "bpiphany",
"url": "https://deskthority.net/wiki/Phantom",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5B50",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/phantom/keymaps/rgbmod/keymap.c b/keyboards/phantom/keymaps/rgbmod/keymap.c
index 9be30fbae7..cbddcebeb3 100644
--- a/keyboards/phantom/keymaps/rgbmod/keymap.c
+++ b/keyboards/phantom/keymaps/rgbmod/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FL] = LAYOUT_tkl_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h
index 2b8320814e..9b942b20d3 100644
--- a/keyboards/phase_studio/titan65/hotswap/config.h
+++ b/keyboards/phase_studio/titan65/hotswap/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5054
-#define PRODUCT_ID 0xBB91
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Phase Studio
-#define PRODUCT Titan 65 (hotswap)
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/info.json
index 30fee696ce..6b9a2b80ac 100644
--- a/keyboards/phase_studio/titan65/hotswap/info.json
+++ b/keyboards/phase_studio/titan65/hotswap/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Titan 65 (hotswap)",
+ "manufacturer": "Phase Studio",
"url": "",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0x5054",
+ "pid": "0xBB91",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/phase_studio/titan65/soldered/config.h b/keyboards/phase_studio/titan65/soldered/config.h
index 6ecde7d1f3..f94a86676c 100644
--- a/keyboards/phase_studio/titan65/soldered/config.h
+++ b/keyboards/phase_studio/titan65/soldered/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5054
-#define PRODUCT_ID 0xBB92
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Phase Studio
-#define PRODUCT Titan 65 (soldered)
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/phase_studio/titan65/soldered/info.json b/keyboards/phase_studio/titan65/soldered/info.json
index 96bf7c05e9..6abbf8d0aa 100644
--- a/keyboards/phase_studio/titan65/soldered/info.json
+++ b/keyboards/phase_studio/titan65/soldered/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Titan 65 (soldered)",
+ "manufacturer": "Phase Studio",
"url": "",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0x5054",
+ "pid": "0xBB92",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/phoenix/config.h b/keyboards/phoenix/config.h
index 81fc3677ff..9fb090dec0 100644
--- a/keyboards/phoenix/config.h
+++ b/keyboards/phoenix/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x456B
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ErgoKB
-#define PRODUCT Phoenix
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
diff --git a/keyboards/phoenix/info.json b/keyboards/phoenix/info.json
index 65cdaaa338..85cffa1c31 100644
--- a/keyboards/phoenix/info.json
+++ b/keyboards/phoenix/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Phoenix",
+ "manufacturer": "ErgoKB",
"url": "ergokb.tw",
"maintainer": "ErgoKB via lschyi",
+ "usb": {
+ "vid": "0x456B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ergodox": {
"layout": [
diff --git a/keyboards/phoenix/phoenix.c b/keyboards/phoenix/phoenix.c
index a8e9a42a04..706a65b4de 100644
--- a/keyboards/phoenix/phoenix.c
+++ b/keyboards/phoenix/phoenix.c
@@ -74,7 +74,7 @@ void manipulate_led(uint32_t led, bool on) {
}
-layer_state_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);
uint8_t layer = get_highest_layer(state);
diff --git a/keyboards/phoenix/rules.mk b/keyboards/phoenix/rules.mk
index f895b3d316..c155cd0988 100644
--- a/keyboards/phoenix/rules.mk
+++ b/keyboards/phoenix/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/phrygian/ph100/config.h b/keyboards/phrygian/ph100/config.h
index 68bd430736..1edf420b90 100644
--- a/keyboards/phrygian/ph100/config.h
+++ b/keyboards/phrygian/ph100/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0C61
-#define DEVICE_VER 0x0100
-#define MANUFACTURER PhrygianDesign
-#define PRODUCT ph100
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
diff --git a/keyboards/phrygian/ph100/info.json b/keyboards/phrygian/ph100/info.json
index 054e3955e0..85bac6c4ca 100644
--- a/keyboards/phrygian/ph100/info.json
+++ b/keyboards/phrygian/ph100/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ph100",
+ "manufacturer": "PhrygianDesign",
"url": "https://phrygiandesign.com/products/ph100-mechanical-keyboard",
"maintainer": "phrygiandesign",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0C61",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pico/65keys/config.h b/keyboards/pico/65keys/config.h
index e0cc6ea566..a97d03596c 100644
--- a/keyboards/pico/65keys/config.h
+++ b/keyboards/pico/65keys/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x9692
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT Pico Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/pico/65keys/info.json b/keyboards/pico/65keys/info.json
index c5c9c8a85f..f87dd24c22 100644
--- a/keyboards/pico/65keys/info.json
+++ b/keyboards/pico/65keys/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pico Keyboard",
+ "manufacturer": "Kumao Kobo",
"url": "https://github.com/kumaokobo/pico-keyboard/",
"maintainer": "Kumao Kobo",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9692",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pico/70keys/config.h b/keyboards/pico/70keys/config.h
index b2d07c9691..a97d03596c 100644
--- a/keyboards/pico/70keys/config.h
+++ b/keyboards/pico/70keys/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x9692
-#define DEVICE_VER 0x0101
-#define MANUFACTURER Kumao Kobo
-#define PRODUCT Pico Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/pico/70keys/info.json b/keyboards/pico/70keys/info.json
index 4c87ab3691..e70e1a3abf 100644
--- a/keyboards/pico/70keys/info.json
+++ b/keyboards/pico/70keys/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pico Keyboard",
+ "manufacturer": "Kumao Kobo",
"url": "https://github.com/kumaokobo/pico-keyboard/",
"maintainer": "Kumao Kobo",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9692",
+ "device_version": "1.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/picolab/frusta_fundamental/config.h b/keyboards/picolab/frusta_fundamental/config.h
index 33389e3e82..6a3e76ba8c 100644
--- a/keyboards/picolab/frusta_fundamental/config.h
+++ b/keyboards/picolab/frusta_fundamental/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x614D
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PicoLab
-#define PRODUCT Frusta Fundamental
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B2, B3, B7, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/picolab/frusta_fundamental/info.json b/keyboards/picolab/frusta_fundamental/info.json
index bc6fb17e21..e64e1425f6 100644
--- a/keyboards/picolab/frusta_fundamental/info.json
+++ b/keyboards/picolab/frusta_fundamental/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "frusta_fundamental",
+ "keyboard_name": "Frusta Fundamental",
+ "manufacturer": "PicoLab",
"url": "https://picolab.hk",
"maintainer": "PicoLab",
+ "usb": {
+ "vid": "0x614D",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h
index 242b2ebf92..0855427bcd 100644
--- a/keyboards/pierce/config.h
+++ b/keyboards/pierce/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER durken
-#define PRODUCT pierce
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
diff --git a/keyboards/pierce/info.json b/keyboards/pierce/info.json
index 7179076794..850741cd9d 100644
--- a/keyboards/pierce/info.json
+++ b/keyboards/pierce/info.json
@@ -1,50 +1,57 @@
{
- "keyboard_name": "pierce",
- "url": "https://github.com/durken1/pierce",
- "maintainer": "durken1",
+ "keyboard_name": "pierce",
+ "manufacturer": "durken",
+ "url": "https://github.com/durken1/pierce",
+ "maintainer": "durken1",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
- {"x":0, "y":1},
- {"x":1, "y":0.63},
- {"x":2, "y":0.5},
- {"x":3, "y":0.63},
- {"x":4, "y":0.75},
- {"x":7, "y":0.75},
- {"x":8, "y":0.63},
- {"x":9, "y":0.5},
- {"x":10, "y":0.63},
- {"x":11, "y":1},
+ {"x":0, "y":0.5},
+ {"x":1, "y":0.13},
+ {"x":2, "y":0.0},
+ {"x":3, "y":0.13},
+ {"x":4, "y":0.25},
+ {"x":7, "y":0.25},
+ {"x":8, "y":0.13},
+ {"x":9, "y":0.0},
+ {"x":10, "y":0.13},
+ {"x":11, "y":0.5},
- {"x":0, "y":2},
- {"x":1, "y":1.63},
- {"x":2, "y":1.5},
- {"x":3, "y":1.63},
- {"x":4, "y":1.75},
- {"x":7, "y":1.75},
- {"x":8, "y":1.63},
- {"x":9, "y":1.5},
- {"x":10, "y":1.63},
- {"x":11, "y":2},
+ {"x":0, "y":1.5},
+ {"x":1, "y":1.13},
+ {"x":2, "y":1.0},
+ {"x":3, "y":1.13},
+ {"x":4, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.13},
+ {"x":9, "y":1.0},
+ {"x":10, "y":1.13},
+ {"x":11, "y":1.5},
- {"x":0, "y":3},
- {"x":1, "y":2.63},
- {"x":2, "y":2.5},
- {"x":3, "y":2.63},
- {"x":4, "y":2.75},
- {"x":7, "y":2.75},
- {"x":8, "y":2.63},
- {"x":9, "y":2.5},
- {"x":10, "y":2.63},
- {"x":11, "y":3},
+ {"x":0, "y":2.5},
+ {"x":1, "y":2.13},
+ {"x":2, "y":2.0},
+ {"x":3, "y":2.13},
+ {"x":4, "y":2.25},
+ {"x":7, "y":2.25},
+ {"x":8, "y":2.13},
+ {"x":9, "y":2.0},
+ {"x":10, "y":2.13},
+ {"x":11, "y":2.5},
- {"x":2.5, "y":3.66},
- {"x":3.5, "y":4.0},
- {"x":4.5, "y":4.25},
+ {"x":2.5, "y":3.16},
+ {"x":3.5, "y":3.5},
+ {"x":4.5, "y":3.75},
- {"x":7.5, "y":4.0},
- {"x":6.5, "y":4.25},
- {"x":8.5, "y":3.66}]
+ {"x":6.5, "y":3.75},
+ {"x":7.5, "y":3.5},
+ {"x":8.5, "y":3.16}
+ ]
}
}
}
diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h
index 7d19a0b83b..bc0bb1c4b8 100644
--- a/keyboards/pierce/keymaps/durken1/config.h
+++ b/keyboards/pierce/keymaps/durken1/config.h
@@ -27,9 +27,6 @@
#define PERMISSIVE_HOLD
-// Recommended for heavy chording.
-#define QMK_KEYS_PER_SCAN 4
-
// Combo settings
#define COMBO_COUNT 3
#define COMBO_TERM 35
@@ -74,4 +71,3 @@
#ifdef AUTO_BUTTONS
#define AUTO_BUTTONS_TIMEOUT 750
#endif
-
diff --git a/keyboards/pierce/readme.md b/keyboards/pierce/readme.md
index 351bacbfa0..be7ba1948b 100644
--- a/keyboards/pierce/readme.md
+++ b/keyboards/pierce/readme.md
@@ -24,4 +24,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the dongle / wired half
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/pimentoso/paddino02/rev1/config.h b/keyboards/pimentoso/paddino02/rev1/config.h
index 87259cd2eb..b9661afbaa 100755
--- a/keyboards/pimentoso/paddino02/rev1/config.h
+++ b/keyboards/pimentoso/paddino02/rev1/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD00D
-#define PRODUCT_ID 0x0020
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pimentoso
-#define PRODUCT Paddino02 rev1
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/pimentoso/paddino02/rev1/info.json b/keyboards/pimentoso/paddino02/rev1/info.json
index 8da1c8642f..bf9147e5f3 100644
--- a/keyboards/pimentoso/paddino02/rev1/info.json
+++ b/keyboards/pimentoso/paddino02/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Paddino02 rev1",
+ "manufacturer": "Pimentoso",
"url": "",
"maintainer": "Pimentoso",
+ "usb": {
+ "vid": "0xD00D",
+ "pid": "0x0020",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/left/config.h b/keyboards/pimentoso/paddino02/rev2/left/config.h
index d780f82c36..9de375d0b3 100755
--- a/keyboards/pimentoso/paddino02/rev2/left/config.h
+++ b/keyboards/pimentoso/paddino02/rev2/left/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD00D
-#define PRODUCT_ID 0x0021
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Pimentoso
-#define PRODUCT Paddino02 rev2
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D4, D1 }
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pimentoso/paddino02/rev2/left/info.json b/keyboards/pimentoso/paddino02/rev2/left/info.json
index 2468b11a70..40a3bb14a0 100644
--- a/keyboards/pimentoso/paddino02/rev2/left/info.json
+++ b/keyboards/pimentoso/paddino02/rev2/left/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Paddino02 rev2 (left)",
+ "manufacturer": "Pimentoso",
"url": "",
"maintainer": "Pimentoso",
+ "usb": {
+ "vid": "0xD00D",
+ "pid": "0x0021",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/right/config.h b/keyboards/pimentoso/paddino02/rev2/right/config.h
index f080a9e918..38253bb4a2 100755
--- a/keyboards/pimentoso/paddino02/rev2/right/config.h
+++ b/keyboards/pimentoso/paddino02/rev2/right/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD00D
-#define PRODUCT_ID 0x0022
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Pimentoso
-#define PRODUCT Paddino02 rev2
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F6, F5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pimentoso/paddino02/rev2/right/info.json b/keyboards/pimentoso/paddino02/rev2/right/info.json
index fde06194d9..9a341b606b 100644
--- a/keyboards/pimentoso/paddino02/rev2/right/info.json
+++ b/keyboards/pimentoso/paddino02/rev2/right/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Paddino02 rev2 (right)",
+ "manufacturer": "Pimentoso",
"url": "",
"maintainer": "Pimentoso",
+ "usb": {
+ "vid": "0xD00D",
+ "pid": "0x0022",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/touhoupad/config.h b/keyboards/pimentoso/touhoupad/config.h
index 8fd4e78116..50ef700e06 100644
--- a/keyboards/pimentoso/touhoupad/config.h
+++ b/keyboards/pimentoso/touhoupad/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD00D
-#define PRODUCT_ID 0x0031
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pimentoso
-#define PRODUCT TouhouPad rev2
-
#define MATRIX_ROWS 1
#define MATRIX_COLS 10
diff --git a/keyboards/pimentoso/touhoupad/info.json b/keyboards/pimentoso/touhoupad/info.json
index 59fded1959..86cb56a1d5 100644
--- a/keyboards/pimentoso/touhoupad/info.json
+++ b/keyboards/pimentoso/touhoupad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TouhouPad",
+ "keyboard_name": "TouhouPad rev2",
+ "manufacturer": "Pimentoso",
"url": "https://github.com/Pimentoso/TouhouPad_v2",
"maintainer": "Pimentoso",
+ "usb": {
+ "vid": "0xD00D",
+ "pid": "0x0031",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pinky/3/config.h b/keyboards/pinky/3/config.h
index 78192bc19e..f6b8dc4343 100644
--- a/keyboards/pinky/3/config.h
+++ b/keyboards/pinky/3/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544E // "TN"
-#define PRODUCT_ID 0x7033 // "P3"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tamanishi
-#define PRODUCT Pinky3
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
@@ -43,7 +36,6 @@
// wiring of each half
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pinky/3/info.json b/keyboards/pinky/3/info.json
index 15c6742f49..0fb7e5a6f6 100644
--- a/keyboards/pinky/3/info.json
+++ b/keyboards/pinky/3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pinky3",
+ "manufacturer": "tamanishi",
"url": "",
"maintainer": "tamanishi",
+ "usb": {
+ "vid": "0x544E",
+ "pid": "0x7033",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x7_4": {
"layout": [
diff --git a/keyboards/pinky/4/config.h b/keyboards/pinky/4/config.h
index f5a9024045..c980f9d302 100644
--- a/keyboards/pinky/4/config.h
+++ b/keyboards/pinky/4/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544E // "TN"
-#define PRODUCT_ID 0x7034 // "P4"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tamanishi
-#define PRODUCT Pinky4
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -43,7 +36,6 @@
// wiring of each half
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pinky/4/info.json b/keyboards/pinky/4/info.json
index a0781224c3..373861b138 100644
--- a/keyboards/pinky/4/info.json
+++ b/keyboards/pinky/4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pinky4",
+ "manufacturer": "tamanishi",
"url": "",
"maintainer": "tamanishi",
+ "usb": {
+ "vid": "0x544E",
+ "pid": "0x7034",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_4x7_4": {
"layout": [
diff --git a/keyboards/pisces/config.h b/keyboards/pisces/config.h
index 163edb8727..42db825e3e 100644
--- a/keyboards/pisces/config.h
+++ b/keyboards/pisces/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6B6E
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER knaruo
-#define PRODUCT pisces
-
#define USE_SERIAL
/* serial.c configuration for split keyboard */
@@ -52,7 +45,6 @@
*/
#define MATRIX_ROW_PINS { C4, B0, C7 }
#define MATRIX_COL_PINS { B1, B2, B3, B4, B5, B6, B7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pisces/info.json b/keyboards/pisces/info.json
index 749a1152d6..f70712c9f6 100644
--- a/keyboards/pisces/info.json
+++ b/keyboards/pisces/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pisces",
+ "manufacturer": "knaruo",
"url": "https://github.com/knaruo/pisces",
"maintainer": "knaruo",
+ "usb": {
+ "vid": "0x6B6E",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_1": {
"layout": [
diff --git a/keyboards/pixelspace/capsule65i/capsule65i.c b/keyboards/pixelspace/capsule65i/capsule65i.c
new file mode 100644
index 0000000000..30c1fed88e
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/capsule65i.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 PixelSpace 295033045@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 "capsule65i.h"
diff --git a/keyboards/pixelspace/capsule65i/capsule65i.h b/keyboards/pixelspace/capsule65i/capsule65i.h
new file mode 100644
index 0000000000..0e0d125cfa
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/capsule65i.h
@@ -0,0 +1,221 @@
+/* Copyright 2022 PixelSpace 295033045@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/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┠┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ │0D │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴â”1D │ ISO Enter
+ * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2F │ │2C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴┬──┴────┬───┼───┤ └───┴────┘
+ * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B│3C │3D │3F │
+ * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┼───┬───┼───┼───┤
+ * │40 │41 │42 │45 │49 │4A │4B │4C │4D │4F │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
+ * ┌────┬────┬────┬────────────────────────┬────┬────â”
+ * │40 │41 │42 │45 │49 │4A │ Blocker
+ * └────┴────┴────┴────────────────────────┴────┴────┘
+ * ┌─────┬───┬─────┬───────────────────────────┬─────â”
+ * │40 │41 │42 │45 │4A │ Tsangan
+ * └─────┴───┴─────┴───────────────────────────┴─────┘
+ */
+
+#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, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K4A, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_ansi_blocker_tsangan_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K4A, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker_tsangan( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K4A, K4C, K4D, K4F \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
+
+#define LAYOUT_65_iso_blocker_tsangan_split_bs( \
+ 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, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2F, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
+ K40, K41, K42, K45, K4A, K4C, K4D, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, XXX, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, K3F }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, XXX, K4C, K4D, XXX, K4F }, \
+}
diff --git a/keyboards/pixelspace/capsule65i/config.h b/keyboards/pixelspace/capsule65i/config.h
new file mode 100644
index 0000000000..ac5e003bc8
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/config.h
@@ -0,0 +1,56 @@
+/* Copyright 2022 PixelSpace 295033045@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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* 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 { F4, D1, B7, D0, F5 }
+#define MATRIX_COL_PINS { D5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, E2, B3, B1, B0, B2 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN F6
+
+#define RGB_DI_PIN F7
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 6
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/pixelspace/capsule65i/info.json b/keyboards/pixelspace/capsule65i/info.json
new file mode 100644
index 0000000000..b9af2398ef
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/info.json
@@ -0,0 +1,1002 @@
+{
+ "keyboard_name": "Capsule65i",
+ "manufacturer": "PixelSpace",
+ "url": "",
+ "maintainer": "PixelSpace",
+ "usb": {
+ "vid": "0xE061",
+ "pid": "0xE66E",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "K00 (F4,D5)", "x": 0, "y": 0 },
+ { "label": "K01 (F4,D2)", "x": 1, "y": 0 },
+ { "label": "K02 (F4,D3)", "x": 2, "y": 0 },
+ { "label": "K03 (F4,D4)", "x": 3, "y": 0 },
+ { "label": "K04 (F4,D6)", "x": 4, "y": 0 },
+ { "label": "K05 (F4,D7)", "x": 5, "y": 0 },
+ { "label": "K06 (F4,B4)", "x": 6, "y": 0 },
+ { "label": "K07 (F4,B5)", "x": 7, "y": 0 },
+ { "label": "K08 (F4,B6)", "x": 8, "y": 0 },
+ { "label": "K09 (F4,C6)", "x": 9, "y": 0 },
+ { "label": "K0A (F4,C7)", "x": 10, "y": 0 },
+ { "label": "K0B (F4,E2)", "x": 11, "y": 0 },
+ { "label": "K0C (F4,B3)", "x": 12, "y": 0 },
+ { "label": "K0D (F4,B1)", "x": 13, "y": 0 },
+ { "label": "K0E (F4,B0)", "x": 14, "y": 0 },
+ { "label": "K0F (F4,B2)", "x": 15, "y": 0 },
+ { "label": "K10 (D1,D5)", "x": 0, "y": 1 ,"w":1.5},
+ { "label": "K11 (D1,D2)", "x": 1.5, "y": 1},
+ { "label": "K12 (D1,D3)", "x": 2.5, "y": 1 },
+ { "label": "K13 (D1,D4)", "x": 3.5, "y": 1 },
+ { "label": "K14 (D1,D6)", "x": 4.5, "y": 1 },
+ { "label": "K15 (D1,D7)", "x": 5.5, "y": 1 },
+ { "label": "K16 (D1,B4)", "x": 6.5, "y": 1 },
+ { "label": "K17 (D1,B5)", "x": 7.5, "y": 1 },
+ { "label": "K18 (D1,B6)", "x": 8.5, "y": 1 },
+ { "label": "K19 (D1,C6)", "x": 9.5, "y": 1 },
+ { "label": "K1A (D1,C7)", "x": 10.5, "y": 1 },
+ { "label": "K1B (D1,E2)", "x": 11.5, "y": 1 },
+ { "label": "K1C (D1,B3)", "x": 12.5, "y": 1 },
+ { "label": "K1D (D1,B1)", "x": 13.5, "y": 1 ,"w":1.5},
+ { "label": "K1F (D1,B2)", "x": 15, "y": 1 },
+ { "label": "K20 (B7,D5)", "x": 0, "y": 2,"w":1.75 },
+ { "label": "K21 (B7,D2)", "x": 1.75, "y": 2 },
+ { "label": "K22 (B7,D3)", "x": 2.75, "y": 2 },
+ { "label": "K23 (B7,D4)", "x": 3.75, "y": 2 },
+ { "label": "K24 (B7,D6)", "x": 4.75, "y": 2 },
+ { "label": "K25 (B7,D7)", "x": 5.75, "y": 2 },
+ { "label": "K26 (B7,B4)", "x": 6.75, "y": 2 },
+ { "label": "K27 (B7,B5)", "x": 7.75, "y": 2 },
+ { "label": "K28 (B7,B6)", "x": 8.75, "y": 2 },
+ { "label": "K29 (B7,C6)", "x": 9.75, "y": 2 },
+ { "label": "K2A (B7,C7)", "x": 10.75, "y": 2 },
+ { "label": "K2B (B7,E2)", "x": 11.75, "y": 2 },
+ { "label": "K2C (B7,B3)", "x": 12.75, "y": 2 ,"w":2.25},
+ { "label": "K2F (B7,B2)", "x": 15, "y": 2 },
+ { "label": "K30 (D0,D5)", "x": 0, "y": 3 ,"w":1.25},
+ { "label": "K31 (D0,D2)", "x": 1.25, "y": 3 },
+ { "label": "K32 (D0,D3)", "x": 2.25, "y": 3 },
+ { "label": "K33 (D0,D4)", "x": 3.25, "y": 3 },
+ { "label": "K34 (D0,D6)", "x": 4.25, "y": 3 },
+ { "label": "K35 (D0,D7)", "x": 5.25, "y": 3 },
+ { "label": "K36 (D0,B4)", "x": 6.25, "y": 3 },
+ { "label": "K37 (D0,B5)", "x": 7.25, "y": 3 },
+ { "label": "K38 (D0,B6)", "x": 8.25, "y": 3 },
+ { "label": "K39 (D0,C6)", "x": 9.25, "y": 3 },
+ { "label": "K3A (D0,C7)", "x": 10.25, "y": 3 },
+ { "label": "K3B (D0,E2)", "x": 11.25, "y": 3 },
+ { "label": "K3C (D0,B3)", "x": 12.25, "y": 3 ,"w":1.75 },
+ { "label": "K3D (D0,B1)", "x": 14, "y": 3 },
+ { "label": "K3F (D0,B2)", "x": 15, "y": 3 },
+ { "label": "K40 (F5,D5)", "x": 0, "y": 4 ,"w":1.25},
+ { "label": "K41 (F5,D2)", "x": 1.25, "y": 4 ,"w":1.25},
+ { "label": "K42 (F5,D3)", "x": 2.5, "y": 4 ,"w":1.25},
+ { "label": "K45 (F5,D7)", "x": 3.75, "y": 4,"w":6.25 },
+ { "label": "K49 (F5,C6)", "x": 10, "y": 4 },
+ { "label": "K4A (F5,C7)", "x": 11, "y": 4 },
+ { "label": "K4B (F5,E2)", "x": 12, "y": 4 },
+ { "label": "K4C (F5,B3)", "x": 13, "y": 4 },
+ { "label": "K4D (F5,B1)", "x": 14, "y": 4 },
+ { "label": "K4F (F5,B2)", "x": 15, "y": 4 }
+ ]
+ },
+ "LAYOUT_65_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4},
+ {"label":"Ctrl", "x":11, "y":4},
+ {"label":"RGB Toggle", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4},
+ {"label":"Ctrl", "x":11, "y":4},
+ {"label":"RGB Toggle", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Ctrl", "x":11, "y":4, "w":1.5},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_tsangan_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Ctrl", "x":11, "y":4, "w":1.5},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4},
+ {"label":"Ctrl", "x":11, "y":4},
+ {"label":"RGB Toggle", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4},
+ {"label":"Ctrl", "x":11, "y":4},
+ {"label":"RGB Toggle", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":10, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker_tsangan": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Ctrl", "x":11, "y":4, "w":1.5},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker_tsangan_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2\"", "x":2, "y":0},
+ {"label":"3\u00a3", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "x":10, "y":0},
+ {"label":"-_", "x":11, "y":0},
+ {"label":"=+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0},
+ {"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":"End", "x":15, "y":1},
+
+ {"label":"Caps Lock", "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":"#~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"PgUp", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"\\|", "x":1.25, "y":3},
+ {"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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"GUI", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"label":"Space", "x":4, "y":4, "w":7},
+ {"label":"Ctrl", "x":11, "y":4, "w":1.5},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/pixelspace/capsule65i/keymaps/default/keymap.c b/keyboards/pixelspace/capsule65i/keymaps/default/keymap.c
new file mode 100644
index 0000000000..146c7de007
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/* Copyright 2022 PixelSpace 295033045@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 QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, 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_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_SPC, 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), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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, RGB_VAI, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, RGB_HUD
+ ),
+
+};
diff --git a/keyboards/pixelspace/capsule65i/keymaps/via/keymap.c b/keyboards/pixelspace/capsule65i/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8ae7f71411
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2022 PixelSpace 295033045@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 QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, 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_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_TRNS, 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), KC_RCTL, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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, RGB_VAI, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_VAD, RGB_HUD
+ ),
+
+ [2] = LAYOUT_all(
+
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
diff --git a/keyboards/pixelspace/capsule65i/keymaps/via/rules.mk b/keyboards/pixelspace/capsule65i/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/pixelspace/capsule65i/readme.md b/keyboards/pixelspace/capsule65i/readme.md
new file mode 100644
index 0000000000..a07acf24c8
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/readme.md
@@ -0,0 +1,17 @@
+# capsule65i
+A customizable soldering 65% keyboard.
+Support left shift, backspace split
+* Keyboard Maintainer: [PixelSpace](https://github.com/PixelSpaceStudio)
+* Hardware Supported: capsule65i
+* Hardware Availability: [PixelSpace](https://github.com/PixelSpaceStudio)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make pixelspace/capsule65i:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader Enter the bootloader in 3 ways:
+* **Bootmagic reset**: Hold down esc in the keyboard then replug
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/pixelspace/capsule65i/rules.mk b/keyboards/pixelspace/capsule65i/rules.mk
new file mode 100644
index 0000000000..36ea16195b
--- /dev/null
+++ b/keyboards/pixelspace/capsule65i/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 65_ansi 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_ansi_split_bs 65_iso 65_iso_blocker 65_iso_blocker_split_bs 65_iso_split_bs
diff --git a/keyboards/pizzakeyboards/pizza65/config.h b/keyboards/pizzakeyboards/pizza65/config.h
index 505a573630..1789ead3e8 100644
--- a/keyboards/pizzakeyboards/pizza65/config.h
+++ b/keyboards/pizzakeyboards/pizza65/config.h
@@ -17,20 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504B // PK
-#define PRODUCT_ID 0x707A // PZ
-#define DEVICE_VER 0x0001
-#define MANUFACTURER pizzakeyboards
-#define PRODUCT pizza65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B15, A10, F1, A0, A1 }
#define MATRIX_COL_PINS { A9, A8, F0, A2, A3, A4, B9, B8, B7, B6, B5, B4, B3, A15, A14, A13}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pizzakeyboards/pizza65/info.json b/keyboards/pizzakeyboards/pizza65/info.json
index 0cd80f3f97..9a0fdb3370 100644
--- a/keyboards/pizzakeyboards/pizza65/info.json
+++ b/keyboards/pizzakeyboards/pizza65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pizza65",
+ "manufacturer": "pizzakeyboards",
"url": "www.keyboards.pizza",
"maintainer": "mm0nte",
+ "usb": {
+ "vid": "0x504B",
+ "pid": "0x707A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c
index 6111144b1d..b020ba61f9 100644
--- a/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c
+++ b/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),
};
diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c
index 97f38c30e3..a373967e9f 100644
--- a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c
+++ b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),
};
diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c
index f39512107f..41d5587ac1 100644
--- a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c
+++ b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUHS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),
};
diff --git a/keyboards/pjb/eros/config.h b/keyboards/pjb/eros/config.h
index 038e13c9ad..c8d9692461 100644
--- a/keyboards/pjb/eros/config.h
+++ b/keyboards/pjb/eros/config.h
@@ -18,18 +18,11 @@
#include "config_common.h"
-#define VENDOR_ID 0x5042 // TG
-#define PRODUCT_ID 0x4552 // JC
-#define DEVICE_VER 0x0200
-#define MANUFACTURER PJB
-#define PRODUCT Eros
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
#define MATRIX_ROW_PINS { B2, B1, B0, D7, B7, D1 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, D4, D5, B4, D3, D2, E6, B3 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/pjb/eros/info.json b/keyboards/pjb/eros/info.json
index f639cfed1e..bda8ab15fb 100644
--- a/keyboards/pjb/eros/info.json
+++ b/keyboards/pjb/eros/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "PJB eros",
+ "keyboard_name": "Eros",
+ "manufacturer": "PJB",
"url": "https://github.com/602studios",
"maintainer": "602studios",
+ "usb": {
+ "vid": "0x5042",
+ "pid": "0x4552",
+ "device_version": "2.0.0"
+ },
"layout_aliases": {
"LAYOUT_all_f13": "LAYOUT_tkl_f13_ansi_split_bs_rshift",
"LAYOUT_tkl_ansi_f13": "LAYOUT_tkl_f13_ansi",
diff --git a/keyboards/pkb65/config.h b/keyboards/pkb65/config.h
index 7c6af9f84a..ab71d1633e 100644
--- a/keyboards/pkb65/config.h
+++ b/keyboards/pkb65/config.h
@@ -23,13 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D43 // MCKeebs
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MCKeebs
-#define PRODUCT PKB65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6, B6, B7, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pkb65/info.json b/keyboards/pkb65/info.json
index b09e8d8300..b9272dae2c 100644
--- a/keyboards/pkb65/info.json
+++ b/keyboards/pkb65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "PKB65",
+ "manufacturer": "MCKeebs",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D43",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h
index 8fb9dda32a..87221a81f8 100644
--- a/keyboards/planck/config.h
+++ b/keyboards/planck/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A8
-#define MANUFACTURER OLKB
-#define PRODUCT Planck
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -31,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#define QMK_ESC_OUTPUT F1
#define QMK_ESC_INPUT D5
diff --git a/keyboards/planck/ez/base/info.json b/keyboards/planck/ez/base/info.json
new file mode 100644
index 0000000000..07167a8c2a
--- /dev/null
+++ b/keyboards/planck/ez/base/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Planck EZ",
+ "usb": {
+ "pid": "0xC6CE"
+ }
+}
diff --git a/keyboards/planck/ez/base/rules.mk b/keyboards/planck/ez/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/planck/ez/base/rules.mk
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index d948fb5808..c9ed9e59ba 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -18,17 +18,6 @@
#pragma once
-#undef VENDOR_ID
-#define VENDOR_ID 0x3297
-#undef PRODUCT_ID
-#define PRODUCT_ID 0xC6CE
-#undef MANUFACTURER
-#define MANUFACTURER ZSA Technology Labs
-#undef PRODUCT
-#define PRODUCT Planck EZ
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0000
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index 98ec13085f..25dfe9adfb 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -322,7 +322,7 @@ bool music_mask_kb(uint16_t keycode) {
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX:
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
case AU_ON ... MUV_DE:
- case RESET:
+ case QK_BOOT:
case EEP_RST:
return false;
default:
@@ -330,3 +330,22 @@ bool music_mask_kb(uint16_t keycode) {
}
}
#endif
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
+ {{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, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+
+ {{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, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/ez/glow/config.h b/keyboards/planck/ez/glow/config.h
deleted file mode 100644
index 55ce289010..0000000000
--- a/keyboards/planck/ez/glow/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
- * Copyright 2015 ZSA Technology Labs Inc (@zsa)
- * 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
-
-#undef PRODUCT_ID
-#define PRODUCT_ID 0xC6CF
-
-#undef PRODUCT
-#define PRODUCT Planck EZ Glow
diff --git a/keyboards/planck/ez/glow/info.json b/keyboards/planck/ez/glow/info.json
new file mode 100644
index 0000000000..4852258570
--- /dev/null
+++ b/keyboards/planck/ez/glow/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Planck EZ Glow",
+ "usb": {
+ "pid": "0xC6CF"
+ }
+}
diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json
index 6c9332b052..4008cb7057 100644
--- a/keyboards/planck/ez/info.json
+++ b/keyboards/planck/ez/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Planck EZ",
+ "manufacturer": "ZSA Technology Labs",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x3297",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index 61d3eb4d4f..47f140585b 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -29,3 +29,5 @@ RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no
MOUSE_SHARED_EP = no
+
+DEFAULT_FOLDER = planck/ez/base
diff --git a/keyboards/planck/info.json b/keyboards/planck/info.json
index a4710d781f..cc57b6da60 100644
--- a/keyboards/planck/info.json
+++ b/keyboards/planck/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Planck",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"layouts": {
diff --git a/keyboards/planck/keymaps/ab/keymap.c b/keyboards/planck/keymaps/ab/keymap.c
index 8835bfc87d..e10d5e4422 100644
--- a/keyboards/planck/keymaps/ab/keymap.c
+++ b/keyboards/planck/keymaps/ab/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, EM_UNDO, KC_VOLD, KC_VOLU, KC_MUTE
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, EM_UNDO, KC_VOLD, KC_VOLU, KC_MUTE
),
[_CUSTOM] = LAYOUT_planck_grid( /* CUSTOM */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/planck/keymaps/abhixec/keymap.c b/keyboards/planck/keymaps/abhixec/keymap.c
index d840bf4721..e95aa344d6 100644
--- a/keyboards/planck/keymaps/abhixec/keymap.c
+++ b/keyboards/planck/keymaps/abhixec/keymap.c
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/abishalom/keymap.c b/keyboards/planck/keymaps/abishalom/keymap.c
index c88dced41f..91dadb2c3a 100644
--- a/keyboards/planck/keymaps/abishalom/keymap.c
+++ b/keyboards/planck/keymaps/abishalom/keymap.c
@@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/adamtabrams/keymap.c b/keyboards/planck/keymaps/adamtabrams/keymap.c
index 4b041aa2af..f1f5e6379a 100644
--- a/keyboards/planck/keymaps/adamtabrams/keymap.c
+++ b/keyboards/planck/keymaps/adamtabrams/keymap.c
@@ -200,8 +200,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FMWARE] = LAYOUT_planck_grid(
- XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, RESET, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, QK_BOOT, 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, _______
)
diff --git a/keyboards/planck/keymaps/altgr/common/chord_layout.h b/keyboards/planck/keymaps/altgr/common/chord_layout.h
index b6922705f3..cb1b7f6785 100644
--- a/keyboards/planck/keymaps/altgr/common/chord_layout.h
+++ b/keyboards/planck/keymaps/altgr/common/chord_layout.h
@@ -36,6 +36,6 @@
[_ADJUST] = LAYOUT_planck_grid(
PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/am/keymap.c b/keyboards/planck/keymaps/am/keymap.c
index d521484a1c..757e56bc2d 100644
--- a/keyboards/planck/keymaps/am/keymap.c
+++ b/keyboards/planck/keymaps/am/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/andylikescandy/keymap.c b/keyboards/planck/keymaps/andylikescandy/keymap.c
index e873130f46..f0bf4fa2c3 100644
--- a/keyboards/planck/keymaps/andylikescandy/keymap.c
+++ b/keyboards/planck/keymaps/andylikescandy/keymap.c
@@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,
LALT(LCTL(KC_DEL)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_CAPSLOCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX,
_______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, XXXXXXX //PLOVER
diff --git a/keyboards/planck/keymaps/antosha417/keymap.c b/keyboards/planck/keymaps/antosha417/keymap.c
index a3d46c2311..b034221e3e 100644
--- a/keyboards/planck/keymaps/antosha417/keymap.c
+++ b/keyboards/planck/keymaps/antosha417/keymap.c
@@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, BRUDERSCHAFT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/ariccb/config.h b/keyboards/planck/keymaps/ariccb/config.h
index 322aa9277f..464a8cd5db 100644
--- a/keyboards/planck/keymaps/ariccb/config.h
+++ b/keyboards/planck/keymaps/ariccb/config.h
@@ -40,6 +40,7 @@
//#define MIDI_ADVANCED
#define TAPPING_TERM 150
+#define TAPPING_TERM_PER_KEY
#define IGNORE_MOD_TAP_INTERRUPT
// #define IGNORE_MOD_TAP_INTERRUPT
// #define HOLD_ON_OTHER_KEY_PRESS
diff --git a/keyboards/planck/keymaps/ariccb/keymap.c b/keyboards/planck/keymaps/ariccb/keymap.c
index c0b4e490fa..2647880705 100644
--- a/keyboards/planck/keymaps/ariccb/keymap.c
+++ b/keyboards/planck/keymaps/ariccb/keymap.c
@@ -235,7 +235,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* MIT Layout (ADJUST)
*
* ,-----------------------------------------------------------------------------.
- * |RGBtog|Ms3 | Ms2 |MsUp | Ms1 | Hue+| Hue- | Sat+| Sat- |Brt+ |Brt- | RESET|
+ * |RGBtog|Ms3 | Ms2 |MsUp | Ms1 | Hue+| Hue- | Sat+| Sat- |Brt+ |Brt- | QK_BOOT|
* |-----------------------------------------------------------------------------|
* |RGBMod| MWL | MsL |MDn |MsR |GAMING| |AU_ON|AU_OFF|MU_ON|MU_OF| DEBUG|
* |-----------------------------------------------------------------------------|
@@ -245,7 +245,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid( /* ADJUST LAYER */
- RGB_TOG, KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RESET,
+ RGB_TOG, KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, QK_BOOT,
RGB_MOD, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, GAMING, KC_NO, AU_ON, AU_OFF, MU_ON, MU_OFF, DEBUG,
KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, QWERTY, COLEMAK_VCP, MI_ON, MI_OFF, KC_TRNS, KC_TRNS, MU_MOD,
KC_NO, KC_NO, KC_NO, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO
@@ -379,9 +379,18 @@ void usl_reset(qk_tap_dance_state_t *state, void *user_data) {
// Associate our tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
- [UNDS_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, usl_finished, usl_reset, 175)
+ [UNDS_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, usl_finished, usl_reset)
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(UNDS_LOWER):
+ return 175;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!process_select_word(keycode, record, SELWORD)) { return false; }
if (!process_caps_word(keycode, record)) { return false; }
@@ -661,4 +670,4 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
}
break;
}
-} \ No newline at end of file
+}
diff --git a/keyboards/planck/keymaps/aviator/keymap.c b/keyboards/planck/keymaps/aviator/keymap.c
index 8fe66b3781..143c1bc926 100644
--- a/keyboards/planck/keymaps/aviator/keymap.c
+++ b/keyboards/planck/keymaps/aviator/keymap.c
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- KC_ESC, RESET, DEBUG, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, KC_DEL,
+ KC_ESC, QK_BOOT, DEBUG, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, KC_DEL,
_______, ___x___, ___x___, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DATA, ___x___, ___x___, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, ___x___, ___x___, ___x___, ___x___, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -142,7 +142,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
#ifdef BACKLIGHT_BREATHING
breathing_enable();
@@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
#ifdef BACKLIGHT_BREATHING
breathing_self_disable();
@@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
#ifdef BACKLIGHT_BREATHING
breathing_enable();
@@ -173,7 +173,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
- uint8_t default_layer = biton32(default_layer_state);
+ uint8_t default_layer = get_highest_layer(default_layer_state);
if (default_layer == _QWERTY) {
#ifdef BACKLIGHT_BREATHING
breathing_self_disable();
diff --git a/keyboards/planck/keymaps/badger/keymap.c b/keyboards/planck/keymaps/badger/keymap.c
index 3321425190..6bbe034382 100644
--- a/keyboards/planck/keymaps/badger/keymap.c
+++ b/keyboards/planck/keymaps/badger/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_0, KC_DOT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______),
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, NK_ON, NK_OFF, EEP_RST, RESET, KC_MSTP, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN2, KC_INS, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, KC_MSTP, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN2, KC_INS, \
_______, GE_SWAP, GE_NORM, DEBUG, AG_SWAP, AG_NORM, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, _______, \
_______, KC_LYRC, KC_FIRST, KC_CAPS, KC_NO, KC_MPRV, KC_MNXT, KC_MUTE, KC_ACL0, KC_ACL1, KC_ACL2, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/planck/keymaps/basic/keymap.c b/keyboards/planck/keymaps/basic/keymap.c
index 09efbc146f..7ce327302f 100644
--- a/keyboards/planck/keymaps/basic/keymap.c
+++ b/keyboards/planck/keymaps/basic/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, 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_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,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
@@ -58,7 +58,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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
diff --git a/keyboards/planck/keymaps/bbaserdem/README.md b/keyboards/planck/keymaps/bbaserdem/README.md
deleted file mode 100644
index c8e8c3963c..0000000000
--- a/keyboards/planck/keymaps/bbaserdem/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Planck Layout
-
-Current keymap is for rev4.
-Audio is disabled in favor of RGB.
-Check out [user readme](../../../../users/bbaserdem/README.md) for more info.
-
-# Build
-
-Get keyboard into reset mode, and then;
-
-```
-make planck/rev4:bbaserdem:dfu
-```
-
-Either use sudo or set up udev rules.
diff --git a/keyboards/planck/keymaps/bbaserdem/config.h b/keyboards/planck/keymaps/bbaserdem/config.h
deleted file mode 100755
index ac5460bda6..0000000000
--- a/keyboards/planck/keymaps/bbaserdem/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef CONFIG_KEYMAP_H
-#define CONFIG_KEYMAP_H
-
-#include "config_common.h"
-
-// LED strip stuff
-#ifdef RGBLIGHT_ENABLE
-#define RGB_DI_PIN B2
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 6
-#define RGBLIGHT_SAT_STEP 12
-#define RGBLIGHT_VAL_STEP 20
-#define RGBLIGHT_ANIMATIONS
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 6
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
-#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 6
-#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 6
-#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 2000
-#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
-#endif
-
-#define ENCODER_RESOLUTION 4
-
-#endif
diff --git a/keyboards/planck/keymaps/bbaserdem/keymap.c b/keyboards/planck/keymaps/bbaserdem/keymap.c
deleted file mode 100755
index 1fa8132ddb..0000000000
--- a/keyboards/planck/keymaps/bbaserdem/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * PLANCK - Dvorak turkish
- * Keymap by @bbaserdem
- * Dvorak layout with multiple features
- * Most of the code is in the "user" directory.
- * Check qmk_firmware/users/bbaserdem for the main part of the code
- */
-
-#include "planck.h"
-#include "bbaserdem.h"
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Main Dvorak layer
- [_DV] = LAYOUT_planck_wrapper(DVORAK),
- // Turkish and special character overlay
- [_AL] = LAYOUT_planck_wrapper(ALTCHAR),
- // Gaming layer
- [_GA] = LAYOUT_planck_wrapper(GAME),
- // Numbers layer
- [_NU] = LAYOUT_planck_wrapper(NUMBERS),
- // Settings layer
- [_SE] = LAYOUT_planck_wrapper(SETTINGS),
- // Mouse emulation layer
- [_MO] = LAYOUT_planck_wrapper(MOUSE),
- // Music mode
- [_MU] = LAYOUT_planck_wrapper(MUSIC),
-};
diff --git a/keyboards/planck/keymaps/bbaserdem/rules.mk b/keyboards/planck/keymaps/bbaserdem/rules.mk
deleted file mode 100755
index b9b589e8d2..0000000000
--- a/keyboards/planck/keymaps/bbaserdem/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Build options
-
-BACKLIGHT_ENABLE = yes # Switch LEDs
-MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
-RGBLIGHT_ENABLE = yes # LED strips
-TAP_DANCE_ENABLE = no # Use multi-tap features
-AUDIO_ENABLE = yes # Audio stuff
diff --git a/keyboards/planck/keymaps/bghull/keymap.c b/keyboards/planck/keymaps/bghull/keymap.c
index 3539ac7bf7..8abdc884dd 100644
--- a/keyboards/planck/keymaps/bghull/keymap.c
+++ b/keyboards/planck/keymaps/bghull/keymap.c
@@ -70,21 +70,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Mute | VolD | VolU | `~ | _ | = | 1 | 2 | 3 | PgUp | \ | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | |RESET | | | | | . | Home | PgDn | End |
+ * | | |QK_BOOT | | | | | . | Home | PgDn | End |
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = LAYOUT_planck_grid(
_______, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_0, _______,
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_PPLS, KC_MINS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_GRAVE, KC_UNDS, KC_EQL, KC_1, KC_2, KC_3, KC_PGUP, KC_BSLS,
- _______, XXXXXXX, RESET, _______, _______, _______, _______, _______, KC_PDOT, KC_HOME, KC_PGDN, KC_END
+ _______, XXXXXXX, QK_BOOT, _______, _______, _______, _______, _______, KC_PDOT, KC_HOME, KC_PGDN, KC_END
),
/* Dynamic macros + Winkey combos
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | W2 | | | | | | | | | | | RESET|
+ * | W2 | | | | | | | | | | | QK_BOOT|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | W3 | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FUNC] = 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,
- LGUI(KC_2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ LGUI(KC_2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
LGUI(KC_3), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
LGUI(KC_4), _______, DM_REC1, DM_PLY1, DM_RSTP, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/brandon/keymap.c b/keyboards/planck/keymaps/brandon/keymap.c
index 66533e53a2..cd228c3579 100644
--- a/keyboards/planck/keymaps/brandon/keymap.c
+++ b/keyboards/planck/keymaps/brandon/keymap.c
@@ -217,7 +217,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* \_____________\_ Backlight _/
*/
[KEYBOARD_LAYER] = LAYOUT_planck_grid(
- ___x___, RESET, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___,
+ ___x___, QK_BOOT, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___,
___x___, QWERTY, COLEMAK, STENO, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___,
___x___, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, ___x___, ___x___, AU_ON, AU_OFF, ___x___,
___x___, ___x___, ___x___, ___x___, LOWER, BL_TOGG, BL_TOGG, RAISE, BL_TOGG, BL_DEC, BL_INC, ___x___
diff --git a/keyboards/planck/keymaps/buffet/keymap.c b/keyboards/planck/keymaps/buffet/keymap.c
index 78a9f711c4..966ec23a6f 100644
--- a/keyboards/planck/keymaps/buffet/keymap.c
+++ b/keyboards/planck/keymaps/buffet/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
____, ____, ____, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[PHI] = LAYOUT_planck_grid(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, ____, ____, ____, ____, ____, ____, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, ____, ____, ____, ____, ____, ____, KC_DEL,
____, KC_F5, KC_F6, KC_F7, KC_F8, ____, ____, DF(QWERTY), DF(NORMAL), DF(GAME), ____, KC_F13,
____, KC_F9, KC_F10, KC_F11, KC_F12, ____, ____, ____, ____, ____, ____, ____,
____, RGB_TOG, RGB_MOD, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
diff --git a/keyboards/planck/keymaps/buhearns/keymap.c b/keyboards/planck/keymaps/buhearns/keymap.c
index 4821ece571..074c33e453 100644
--- a/keyboards/planck/keymaps/buhearns/keymap.c
+++ b/keyboards/planck/keymaps/buhearns/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[4] = LAYOUT_planck_grid(
- KC_TRNS, RESET, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, MU_MOD, MUV_IN, MU_ON, AU_ON, KC_EJCT,
+ KC_TRNS, QK_BOOT, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, MU_MOD, MUV_IN, MU_ON, AU_ON, KC_EJCT,
KC_TRNS, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MUV_DE, MU_OFF, AU_OFF, KC_TRNS,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_MPRV, KC_MNXT, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_VOLD, KC_VOLU, KC_MPLY
diff --git a/keyboards/planck/keymaps/cbbrowne/keymap.c b/keyboards/planck/keymaps/cbbrowne/keymap.c
index 683b9342d8..22e0cbc492 100644
--- a/keyboards/planck/keymaps/cbbrowne/keymap.c
+++ b/keyboards/planck/keymaps/cbbrowne/keymap.c
@@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_grid( /* Adjustments - gonna shift the wild tools in here */
ROT_LED,USERNAME,MVERSION, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
_______, RANDDIG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, RANDALP, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ ,
+ _______, RANDALP, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/chance/keymap.c b/keyboards/planck/keymaps/chance/keymap.c
index 46d077ddc3..458e9a4f53 100644
--- a/keyboards/planck/keymaps/chance/keymap.c
+++ b/keyboards/planck/keymaps/chance/keymap.c
@@ -170,7 +170,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
M(1) , _______, _______, _______, _______, _______, NUMPAD, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/charlesrocket/keymap.c b/keyboards/planck/keymaps/charlesrocket/keymap.c
index cec3f0186a..f6229d2d69 100644
--- a/keyboards/planck/keymaps/charlesrocket/keymap.c
+++ b/keyboards/planck/keymaps/charlesrocket/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_grid(
_______, CK_UP, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- KC_DELETE, CK_TOGG, AU_ON, AU_OFF, AU_TOG, _______, _______, _______, RGB_VAI,RGB_VAD , _______, RESET,
+ KC_DELETE, CK_TOGG, AU_ON, AU_OFF, AU_TOG, _______, _______, _______, RGB_VAI,RGB_VAD , _______, QK_BOOT,
_______, CK_DOWN, MU_ON, MU_OFF, MU_TOG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______
),
@@ -101,7 +101,7 @@ void set_layer_color(int layer) {
void rgb_matrix_indicators_user(void) {
if (g_suspend_state || keyboard_config.disable_layer_led) { return; }
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case 0:
set_layer_color(0);
break;
diff --git a/keyboards/planck/keymaps/circuit/keymap.c b/keyboards/planck/keymaps/circuit/keymap.c
index 805ebd7fd3..d259914d8a 100644
--- a/keyboards/planck/keymaps/circuit/keymap.c
+++ b/keyboards/planck/keymaps/circuit/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ,
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 ,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RESET, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ QK_BOOT, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
diff --git a/keyboards/planck/keymaps/coloneljesus/keymap.c b/keyboards/planck/keymaps/coloneljesus/keymap.c
index f60adc43e6..832287f224 100644
--- a/keyboards/planck/keymaps/coloneljesus/keymap.c
+++ b/keyboards/planck/keymaps/coloneljesus/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/copface/keymap.c b/keyboards/planck/keymaps/copface/keymap.c
index b448d9c7dd..2ba55c6a52 100644
--- a/keyboards/planck/keymaps/copface/keymap.c
+++ b/keyboards/planck/keymaps/copface/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, CG_TOGG, XXXXXXX,
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT
)
};
diff --git a/keyboards/planck/keymaps/corvec/keymap.c b/keyboards/planck/keymaps/corvec/keymap.c
index a927c522a2..fc9f2e4985 100644
--- a/keyboards/planck/keymaps/corvec/keymap.c
+++ b/keyboards/planck/keymaps/corvec/keymap.c
@@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
COLEMAK, _______, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, QWERTY ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, KC_ASON, KC_ASUP,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,KC_ASRP, KC_ASOFF,KC_ASDN,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
)
diff --git a/keyboards/planck/keymaps/csc027/config.h b/keyboards/planck/keymaps/csc027/config.h
index a3b69beb5a..2a620db279 100644
--- a/keyboards/planck/keymaps/csc027/config.h
+++ b/keyboards/planck/keymaps/csc027/config.h
@@ -19,10 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-
-#define USB_POLLING_INTERVAL_MS 1
-
-#if defined(TAP_CODE_DELAY)
-# undef TAP_CODE_DELAY
-#endif
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/planck/keymaps/csc027/rules.mk b/keyboards/planck/keymaps/csc027/rules.mk
index d6b6894bf1..0c35b2c28f 100644
--- a/keyboards/planck/keymaps/csc027/rules.mk
+++ b/keyboards/planck/keymaps/csc027/rules.mk
@@ -1,6 +1,8 @@
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+BOOTMAGIC_ENABLE = no
COMMAND_ENABLE = no
CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
LTO_ENABLE = no
+MOUSEKEY_ENABLE = yes
+NKRO_ENABLE = yes
RGBLIGHT_ENABLE = no
diff --git a/keyboards/planck/keymaps/david/keymap.c b/keyboards/planck/keymaps/david/keymap.c
index d093efe04a..59a23d9223 100644
--- a/keyboards/planck/keymaps/david/keymap.c
+++ b/keyboards/planck/keymaps/david/keymap.c
@@ -16,13 +16,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT_planck_grid( /* RAISE */
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_TRNS, DF(0), DF(1), RESET, M(0), M(1), M(2), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_TRNS, DF(0), DF(1), QK_BOOT, M(0), M(1), M(2), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
KC_TRNS, KC_F11, KC_F12, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[3] = LAYOUT_planck_grid( /* LOWER */
S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC,
- KC_TRNS, DF(0), DF(1), RESET, M(0), M(1), M(2), S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS),
+ KC_TRNS, DF(0), DF(1), QK_BOOT, M(0), M(1), M(2), S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS),
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
diff --git a/keyboards/planck/keymaps/davidrambo/keymap.c b/keyboards/planck/keymaps/davidrambo/keymap.c
index fa524180fb..66151adcbc 100644
--- a/keyboards/planck/keymaps/davidrambo/keymap.c
+++ b/keyboards/planck/keymaps/davidrambo/keymap.c
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END, G_GRV , _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c
index 75087eb9c9..1d425ea3d1 100644
--- a/keyboards/planck/keymaps/dbroqua/keymap.c
+++ b/keyboards/planck/keymaps/dbroqua/keymap.c
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dc/keymap.c b/keyboards/planck/keymaps/dc/keymap.c
index fdafd03a53..7cbc9dfaf2 100644
--- a/keyboards/planck/keymaps/dc/keymap.c
+++ b/keyboards/planck/keymaps/dc/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ACTIONS] = LAYOUT_planck_grid(
- BL_STEP, _______, _______, _______, _______, KC_SLEP, RESET, _______, _______, _______, _______, KC_DEL,
+ BL_STEP, _______, _______, _______, _______, KC_SLEP, QK_BOOT, _______, _______, _______, _______, KC_DEL,
_______, LCTL(KC_Y), _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______,
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dcompact/keymap.c b/keyboards/planck/keymaps/dcompact/keymap.c
index 0b48f30ac4..0c0f23d85b 100644
--- a/keyboards/planck/keymaps/dcompact/keymap.c
+++ b/keyboards/planck/keymaps/dcompact/keymap.c
@@ -248,7 +248,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, RGB_TOG, RGB_MOD, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_VAD, RGB_VAI, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
index c25df20a5b..c34130f36f 100644
--- a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
+++ b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index 3453d41746..8041e0bada 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_grid(
_______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/planck/keymaps/deft/keymap.c b/keyboards/planck/keymaps/deft/keymap.c
index d7d40f146b..0d7611f371 100644
--- a/keyboards/planck/keymaps/deft/keymap.c
+++ b/keyboards/planck/keymaps/deft/keymap.c
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dlaroe/keymap.c b/keyboards/planck/keymaps/dlaroe/keymap.c
index 41b3064132..86e4365781 100644
--- a/keyboards/planck/keymaps/dlaroe/keymap.c
+++ b/keyboards/planck/keymaps/dlaroe/keymap.c
@@ -153,7 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- LALT(LCTL(KC_INS)), QWERTY, _______, _______, RESET, M(0), _______, _______, _______, _______, PLOVER, LALT(LCTL(KC_DEL)),
+ LALT(LCTL(KC_INS)), QWERTY, _______, _______, QK_BOOT, M(0), _______, _______, _______, _______, PLOVER, LALT(LCTL(KC_DEL)),
KC_CAPS, ARROW, _______, AU_ON, AU_OFF, GAME, AG_SWAP, AG_NORM, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
BACKLIT, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, BL_TOGG, BL_DEC , BL_INC , BL_STEP
diff --git a/keyboards/planck/keymaps/dodger/keymap.c b/keyboards/planck/keymaps/dodger/keymap.c
index 80f8445cc6..2a7486f2de 100644
--- a/keyboards/planck/keymaps/dodger/keymap.c
+++ b/keyboards/planck/keymaps/dodger/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- EEP_RST, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ EEP_RST, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dr0ck/keymap.c b/keyboards/planck/keymaps/dr0ck/keymap.c
index 0d28698d29..0449477fae 100644
--- a/keyboards/planck/keymaps/dr0ck/keymap.c
+++ b/keyboards/planck/keymaps/dr0ck/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
KC_CAPS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dr_notsokind/keymap.c b/keyboards/planck/keymaps/dr_notsokind/keymap.c
index 1055c754f0..410015708c 100644
--- a/keyboards/planck/keymaps/dr_notsokind/keymap.c
+++ b/keyboards/planck/keymaps/dr_notsokind/keymap.c
@@ -199,7 +199,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PWR,
KC_WAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, AU_OFF, MU_OFF, QWERTY, NUMPAD, MU_ON, AU_ON, XXXXXXX, MUV_IN, KC_SYSREQ,
- RESET, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, AG_NORM, MUV_DE, AG_SWAP
+ QK_BOOT, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, AG_NORM, MUV_DE, AG_SWAP
)
};
diff --git a/keyboards/planck/keymaps/dsanchezseco/keymap.c b/keyboards/planck/keymaps/dsanchezseco/keymap.c
index 901709429b..f20f68667b 100644
--- a/keyboards/planck/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/planck/keymaps/dsanchezseco/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, _______, _______, _______, _______,
_______, KC_PSCR, _______, KC_DOWN, KC_UP, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dshields/keymap.c b/keyboards/planck/keymaps/dshields/keymap.c
index 7b768603cb..538c41922a 100644
--- a/keyboards/planck/keymaps/dshields/keymap.c
+++ b/keyboards/planck/keymaps/dshields/keymap.c
@@ -4,7 +4,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEF] = LAYOUT_planck_grid(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P ,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ MT_A, MT_S, MT_D, MT_F, KC_G, KC_TAB, KC_ENT, KC_H, MT_J, MT_K, MT_L, MT_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, OSMLSFT, DM_PLY1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
OSMLCTL, KC_LGUI, OSMLALT, OSL_FUN, OSL_LWR, MT_SPC, MT_SPC, OSL_RSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
[FUN] = LAYOUT_planck_grid(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RESET, EEP_RST, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, EEP_RST, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, DM_RSTP, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
LGT_TOG, LGT_MOD, LGT_BRT, LGT_INC, LGT_DEC, DM_REC1, DM_REC2, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
diff --git a/keyboards/planck/keymaps/dudeofawesome/keymap.c b/keyboards/planck/keymaps/dudeofawesome/keymap.c
index eac7470d25..ad515032b6 100644
--- a/keyboards/planck/keymaps/dudeofawesome/keymap.c
+++ b/keyboards/planck/keymaps/dudeofawesome/keymap.c
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_M_R, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/dvorak2space/keymap.c b/keyboards/planck/keymaps/dvorak2space/keymap.c
index 4b07759452..9abdaf800a 100644
--- a/keyboards/planck/keymaps/dvorak2space/keymap.c
+++ b/keyboards/planck/keymaps/dvorak2space/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
LCTL(KC_F13),LCTL(KC_F14),LCTL(KC_F15),LCTL(KC_F16),LCTL(KC_F17),LCTL(KC_F18),LCTL(KC_F19),LCTL(KC_F20),LCTL(KC_F21),LCTL(KC_F22),LCTL(KC_F23),LCTL(KC_F24),
LSFT(KC_F13),LSFT(KC_F14),LSFT(KC_F15),LSFT(KC_F16),LSFT(KC_F17),LSFT(KC_F18),LSFT(KC_F19),LSFT(KC_F20),LSFT(KC_F21),LSFT(KC_F22),LSFT(KC_F23),LSFT(KC_F24),
- RESET, LALT(KC_F14),LALT(KC_F15),OSL(PASS_L), CAD, LALT(KC_F19), LALT(KC_F21),LALT(KC_F22),HK_SLP, HK_COSL
+ QK_BOOT, LALT(KC_F14),LALT(KC_F15),OSL(PASS_L), CAD, LALT(KC_F19), LALT(KC_F21),LALT(KC_F22),HK_SLP, HK_COSL
),
//Locked Screen
[5] = LAYOUT_planck_2x2u(
diff --git a/keyboards/planck/keymaps/dvz/keymap.c b/keyboards/planck/keymaps/dvz/keymap.c
index f1d213b42c..1d5ea41c74 100644
--- a/keyboards/planck/keymaps/dvz/keymap.c
+++ b/keyboards/planck/keymaps/dvz/keymap.c
@@ -147,7 +147,7 @@ LSFT_T(KC_TAB),DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
KC_POWER,_______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/emiller/keymap.c b/keyboards/planck/keymaps/emiller/keymap.c
index 7dcd99d3b7..cab0193ceb 100644
--- a/keyboards/planck/keymaps/emiller/keymap.c
+++ b/keyboards/planck/keymaps/emiller/keymap.c
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/emilyh/keymap.c b/keyboards/planck/keymaps/emilyh/keymap.c
index 3beadd8e2d..fd71b0e905 100644
--- a/keyboards/planck/keymaps/emilyh/keymap.c
+++ b/keyboards/planck/keymaps/emilyh/keymap.c
@@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/eosti/keymap.c b/keyboards/planck/keymaps/eosti/keymap.c
index 3f1c750cfc..54e1c7f4c7 100644
--- a/keyboards/planck/keymaps/eosti/keymap.c
+++ b/keyboards/planck/keymaps/eosti/keymap.c
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_INS, KC_HOME, AU_ON, KC_NO, GAME,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_NO, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_SLEP, KC_DEL, KC_END, AU_OFF, KC_NO, RESET,
+ KC_NO, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_SLEP, KC_DEL, KC_END, AU_OFF, KC_NO, QK_BOOT,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, UTILS, _______, _______, UTILS, _______, _______, _______, _______
// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
diff --git a/keyboards/planck/keymaps/eshesh2/keymap.c b/keyboards/planck/keymaps/eshesh2/keymap.c
index c13af1d3fc..672d28ea3c 100644
--- a/keyboards/planck/keymaps/eshesh2/keymap.c
+++ b/keyboards/planck/keymaps/eshesh2/keymap.c
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, NUMPAD, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/espynn/keymap.c b/keyboards/planck/keymaps/espynn/keymap.c
index 305fb6e759..fb7abd5c8d 100644
--- a/keyboards/planck/keymaps/espynn/keymap.c
+++ b/keyboards/planck/keymaps/espynn/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS0, CUS3, CUS4, KC_TRNS, KC_F12, KC_TRNS,
KC_TRNS, KC_TRNS, CUT, COPY, PASTE, CUS1, CUS5, CUS2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL, RESET, LALT(LCTL(KC_DEL)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ BL, QK_BOOT, LALT(LCTL(KC_DEL)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/planck/keymaps/experimental/keymap.c b/keyboards/planck/keymaps/experimental/keymap.c
index 2024552004..7252b5b5d3 100644
--- a/keyboards/planck/keymaps/experimental/keymap.c
+++ b/keyboards/planck/keymaps/experimental/keymap.c
@@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/fabian/keymap.c b/keyboards/planck/keymaps/fabian/keymap.c
index 9969d4337e..54d17cd51e 100644
--- a/keyboards/planck/keymaps/fabian/keymap.c
+++ b/keyboards/planck/keymaps/fabian/keymap.c
@@ -172,7 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/foreveranapple/keymap.c b/keyboards/planck/keymaps/foreveranapple/keymap.c
index 3c5ab7cd02..ade51d5a3c 100644
--- a/keyboards/planck/keymaps/foreveranapple/keymap.c
+++ b/keyboards/planck/keymaps/foreveranapple/keymap.c
@@ -203,7 +203,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, NIXQWERTY, OSX, PLOVER, COLEMAK,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/fsck/keymap.c b/keyboards/planck/keymaps/fsck/keymap.c
index cac5d554ec..f1043d53d2 100644
--- a/keyboards/planck/keymaps/fsck/keymap.c
+++ b/keyboards/planck/keymaps/fsck/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/gitdrik/keymap.c b/keyboards/planck/keymaps/gitdrik/keymap.c
index 58db078281..d9f1e5a4fc 100644
--- a/keyboards/planck/keymaps/gitdrik/keymap.c
+++ b/keyboards/planck/keymaps/gitdrik/keymap.c
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_RIGHTER] = LAYOUT_planck_grid(
- KC_TRNS, RESET, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, KC_WH_U,
+ KC_TRNS, QK_BOOT, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, KC_WH_U,
KC_TRNS, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_WH_D,
KC_TRNS, KC_TRNS, MU_MOD, MU_ON, MU_OFF, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_TRNS, KC_TRNS,
KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO
diff --git a/keyboards/planck/keymaps/grahampheath/keymap.c b/keyboards/planck/keymaps/grahampheath/keymap.c
index babe67c442..cfb15ab9a5 100644
--- a/keyboards/planck/keymaps/grahampheath/keymap.c
+++ b/keyboards/planck/keymaps/grahampheath/keymap.c
@@ -213,7 +213,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool has_layer_changed = true;
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
static uint8_t old_layer = 0;
if (old_layer != layer) {
diff --git a/keyboards/planck/keymaps/grant24/keymap.c b/keyboards/planck/keymaps/grant24/keymap.c
index a82403d197..3af4642af5 100644
--- a/keyboards/planck/keymaps/grant24/keymap.c
+++ b/keyboards/planck/keymaps/grant24/keymap.c
@@ -186,7 +186,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______,
+ _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______,
_______, _______, _______, AU_ON, AU_OFF, _______, _______, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, _______, _______, MU_ON, MU_OFF, _______, _______, KC_CAPS, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/gunp/keymap.c b/keyboards/planck/keymaps/gunp/keymap.c
index 04af006a7b..3e5abb947f 100644
--- a/keyboards/planck/keymaps/gunp/keymap.c
+++ b/keyboards/planck/keymaps/gunp/keymap.c
@@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MC(KC_W), KC_DELETE, KC_APP
),
[LY_1101] = LAYOUT_gunp(
- SANDBOX, XXXXXXX, AU_TOG, KC_LOCK, RGB_TOG, RESET,
+ SANDBOX, XXXXXXX, AU_TOG, KC_LOCK, RGB_TOG, QK_BOOT,
KC_WAKE, KC_CLCK, USER_NAME, USER_EMAIL, RGB_MOD, DEBUG,
KC_SLEP, KC_NLCK, DM_REC1, DM_PLY1, XXXXXXX, EEP_RST,
KC_PWR, KC_SLCK, DM_REC2, DM_PLY2, DM_RSTP, KC_INSERT
diff --git a/keyboards/planck/keymaps/handwired_binaryplease/keymap.c b/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
index 58f9cea2a5..abc31a2ee6 100644
--- a/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
+++ b/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
@@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, QWERTY, COLEMAK,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/hiea/common/chord_layout.h b/keyboards/planck/keymaps/hiea/common/chord_layout.h
index b6922705f3..cb1b7f6785 100644
--- a/keyboards/planck/keymaps/hiea/common/chord_layout.h
+++ b/keyboards/planck/keymaps/hiea/common/chord_layout.h
@@ -36,6 +36,6 @@
[_ADJUST] = LAYOUT_planck_grid(
PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/hieax/common/chord_layout.h b/keyboards/planck/keymaps/hieax/common/chord_layout.h
index b6922705f3..cb1b7f6785 100644
--- a/keyboards/planck/keymaps/hieax/common/chord_layout.h
+++ b/keyboards/planck/keymaps/hieax/common/chord_layout.h
@@ -36,6 +36,6 @@
[_ADJUST] = LAYOUT_planck_grid(
PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/hvp/keymap.c b/keyboards/planck/keymaps/hvp/keymap.c
index 95d3646dfa..1aad239301 100644
--- a/keyboards/planck/keymaps/hvp/keymap.c
+++ b/keyboards/planck/keymaps/hvp/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, AG_NORM, AG_SWAP, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, KC_4, KC_5, KC_6, _______, _______,
KC_PSCR, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_0, KC_1, KC_2, KC_3, _______,
- RESET, _______, TERM_ON, TERM_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG
+ QK_BOOT, _______, TERM_ON, TERM_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG
)};
#ifdef AUDIO_ENABLE
diff --git a/keyboards/planck/keymaps/impossible/keymap.c b/keyboards/planck/keymaps/impossible/keymap.c
index 63541d5798..70ae70dd5d 100644
--- a/keyboards/planck/keymaps/impossible/keymap.c
+++ b/keyboards/planck/keymaps/impossible/keymap.c
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust
* ,-----------------------------------------------------------------------------------------------.
- * | | | | | | | | | Insert| PrtSc | Pause | RESET |
+ * | | | | | | | | | Insert| PrtSc | Pause | QK_BOOT |
* |-------+-------+-------+-------+-------+---------------+-------+-------+-------+-------+-------|
* | | | | | | | | CapLk |Voice +| Audio |MIDIoff| |
* |-------+-------+-------+-------+-------+-------|-------+-------+-------+-------+-------+-------|
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJ] = LAYOUT_planck_grid(
- _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, KC_PAUSE, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, KC_PAUSE, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, KC_CLCK, MUV_IN, AU_TOG, MI_OFF, _______,
_______, _______, _______, _______, _______, _______, _______, KC_SLCK, MUV_DE, MU_TOG, MI_ON, _______,
_______, _______, _______, _______, _______, _______, _______, KC_NLCK, WORKMAN, QWERTY, PLOVER, _______
diff --git a/keyboards/planck/keymaps/inkwell/keymap.c b/keyboards/planck/keymaps/inkwell/keymap.c
index f5192d0bb4..2c11ac61b0 100644
--- a/keyboards/planck/keymaps/inkwell/keymap.c
+++ b/keyboards/planck/keymaps/inkwell/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_BTN2, KC_ACL1, KC_ACL2, KC_BSPC ,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_BTN2, KC_ACL1, KC_ACL2, KC_BSPC ,
_______, KC_CALC, KC_MAIL, KC_MSEL, DEBUG, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, RGB_TOG,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT,
RSFT_T(KC_MPLY), KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, LOWER, RAISE, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
diff --git a/keyboards/planck/keymaps/jasperla/keymap.c b/keyboards/planck/keymaps/jasperla/keymap.c
index f51af78b52..8153aa33b7 100644
--- a/keyboards/planck/keymaps/jasperla/keymap.c
+++ b/keyboards/planck/keymaps/jasperla/keymap.c
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, _______, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, _______, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/jdelkins/keymap.c b/keyboards/planck/keymaps/jdelkins/keymap.c
index af438f704e..8a039bc00e 100644
--- a/keyboards/planck/keymaps/jdelkins/keymap.c
+++ b/keyboards/planck/keymaps/jdelkins/keymap.c
@@ -159,14 +159,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
KC_RCTL, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, TG(_KP), KC_BRID, KC_BRIU, KC_MUTE,
_______, RGB_TOG, KB_MAKE, KB_FLSH, KB_VRSN, KB_BOOT, _______, TG_SYS, _______, _______, _______, KC_MPLY,
KC_RCTL, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
)
/* [_ADJUST] = LAYOUT( */
-/* _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , */
+/* _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , */
/* _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, */
/* _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, */
/* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ */
diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c
index 9ac547bb82..adf72a5ac3 100644
--- a/keyboards/planck/keymaps/jeebak/keymap.c
+++ b/keyboards/planck/keymaps/jeebak/keymap.c
@@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
)
diff --git a/keyboards/planck/keymaps/jetpacktuxedo/keymap.c b/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
index 2e7d8e876b..31855f7685 100644
--- a/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/jhenahan/keymap.c b/keyboards/planck/keymaps/jhenahan/keymap.c
index e8d7456040..c05f678576 100644
--- a/keyboards/planck/keymaps/jhenahan/keymap.c
+++ b/keyboards/planck/keymaps/jhenahan/keymap.c
@@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, PLOVER, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/jimmysjolund/keymap.c b/keyboards/planck/keymaps/jimmysjolund/keymap.c
index aaf8600faf..91aaa0fa00 100644
--- a/keyboards/planck/keymaps/jimmysjolund/keymap.c
+++ b/keyboards/planck/keymaps/jimmysjolund/keymap.c
@@ -53,23 +53,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-/* Qwerty - jimmysjolund 2022-02-06
+/* Qwerty - jimmysjolund 2022-09-17
* ,-----------------------------------------------------------------------------------.
- * | ` | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * |Raise | A | S | D | F | G | H | J | K | L | ; | " |
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |Lower | Z | X | C | V | B | N | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | Tab | GUI |Shift | Bksp | Ctrl |Enter |Space |AltGr | Alt | Down | Up |
+ * |Raise |Ctrl+ | GUI |Shift |Bksp/ |Lower |Enter |Space |AltGr | Alt | Left |Right |
+ * | | Alt | | | Ctrl | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
- KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ 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,
LOWER, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_DOWN, KC_UP
+ RAISE, LCTL(KC_LALT), KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), LOWER, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_LEFT, KC_RGHT
),
/* Colemak Original
@@ -85,20 +86,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Colemak jimmysjolund
* ,-----------------------------------------------------------------------------------.
- * | ` | Q | W | F | P | G | J | L | U | Y | ; | Del |
+ * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * |Raise | A | R | S | T | D | H | N | E | I | O | " |
+ * | Tab | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |Lower | Z | X | C | V | B | K | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | Tab | GUI |Shift | Bksp | Ctrl |Enter |Space |AltGr | Alt | Down | Up |
+ * |Raise |Ctrl+ | GUI |Shift |Bksp/ |Lower |Enter |Space |AltGr | Alt | Left |Right |
+ * | | Alt | | | Ctrl | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_planck_grid(
- KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
- RAISE, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
+ KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
LOWER, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_DOWN, KC_UP
+ RAISE, LCTL(KC_LALT), KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), LOWER, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_LEFT, KC_RGHT
),
/* Dvorak
@@ -119,21 +121,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-/* Lower
+/* Lower - Jimmy Sjölund 2022-09-19
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ * | | | \ | : | ; | - | [ | ] | _ | , | . | / | ? |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = 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_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ KC_DEL, 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_LBRC, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
_______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
@@ -186,9 +188,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/planck/keymaps/jirgn/keymap.c b/keyboards/planck/keymaps/jirgn/keymap.c
index d89d702c2c..edbb3fbed7 100644
--- a/keyboards/planck/keymaps/jirgn/keymap.c
+++ b/keyboards/planck/keymaps/jirgn/keymap.c
@@ -148,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, PLOVER, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/joe/keymap.c b/keyboards/planck/keymaps/joe/keymap.c
index 49b2948e65..b520da9fa9 100644
--- a/keyboards/planck/keymaps/joe/keymap.c
+++ b/keyboards/planck/keymaps/joe/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[6] = LAYOUT_planck_grid( /* Joe SPECIAL fn3 */
KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
- KC_NO, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET ,
+ KC_NO, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT ,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
DF(0), DF(1), DF(2), DF(3), MO(4), KC_TRNS, KC_TRNS, MO(5), KC_POWER, KC_WAKE, KC_SLEP, LCTL(LALT(KC_L))
)
diff --git a/keyboards/planck/keymaps/jweickm/keymap.c b/keyboards/planck/keymaps/jweickm/keymap.c
index 02138a876c..1825cec36f 100644
--- a/keyboards/planck/keymaps/jweickm/keymap.c
+++ b/keyboards/planck/keymaps/jweickm/keymap.c
@@ -199,7 +199,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* _ADJUST
* ,-----------------------------------------------------------------------------------.
- * | A-SFT| RESET| DEBUG|RGBTOG|RGBMOD|RGBHUI|RGBHUD|RGBSAI|RGBSAD|RGBVAI|RGBVAD| DE_SW|
+ * | A-SFT| QK_BOOT| DEBUG|RGBTOG|RGBMOD|RGBHUI|RGBHUD|RGBSAI|RGBSAD|RGBVAI|RGBVAD| DE_SW|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | A-GRV|EEPRST|MU_MOD| AU_ON|AU_OFF|AGNORM|AGSWAP|!HRWCM| !WCM | A-GRV| !LANG| !GAME|
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -209,7 +209,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- LALT(KC_LSFT), RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DE_SWITCH,
+ LALT(KC_LSFT), QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DE_SWITCH,
LALT(KC_GRV), EEP_RST, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, HRWIDECOLEMAK, WIDECOLEMAK, LALT(KC_GRV), LANG_SWITCH, GAMING,
KC_TRNS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, KC_SVD_BD, KC_MPLY, KC_SVU_BU, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEPROM_RESET
diff --git a/keyboards/planck/keymaps/kanbara/keymap.c b/keyboards/planck/keymaps/kanbara/keymap.c
index 711411f65d..383069bd43 100644
--- a/keyboards/planck/keymaps/kanbara/keymap.c
+++ b/keyboards/planck/keymaps/kanbara/keymap.c
@@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY,
+ QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, COLEMAK,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LEAGUE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/kelorean/keymap.c b/keyboards/planck/keymaps/kelorean/keymap.c
index f6bc65b62b..8128f62302 100644
--- a/keyboards/planck/keymaps/kelorean/keymap.c
+++ b/keyboards/planck/keymaps/kelorean/keymap.c
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/khord/keymap.c b/keyboards/planck/keymaps/khord/keymap.c
index ccd4386c92..19166dbf4e 100644
--- a/keyboards/planck/keymaps/khord/keymap.c
+++ b/keyboards/planck/keymaps/khord/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, ADMIN, SMSPC1, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, ADMIN, SMSPC1, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, M_BRDFT, M_BRINC, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, M_BRTOG, M_BRDEC, C_A_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL
diff --git a/keyboards/planck/keymaps/kifinnsson/keymap.c b/keyboards/planck/keymaps/kifinnsson/keymap.c
index 3917462fa3..daee15842c 100644
--- a/keyboards/planck/keymaps/kifinnsson/keymap.c
+++ b/keyboards/planck/keymaps/kifinnsson/keymap.c
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/kloki/keymap.c b/keyboards/planck/keymaps/kloki/keymap.c
index c22ca15b4e..4320e12a72 100644
--- a/keyboards/planck/keymaps/kloki/keymap.c
+++ b/keyboards/planck/keymaps/kloki/keymap.c
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, WORKMAN, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/kmontag42/keymap.c b/keyboards/planck/keymaps/kmontag42/keymap.c
index 6910dbc250..f3d3a6dcfb 100644
--- a/keyboards/planck/keymaps/kmontag42/keymap.c
+++ b/keyboards/planck/keymaps/kmontag42/keymap.c
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/kuatsure/keymap.c b/keyboards/planck/keymaps/kuatsure/keymap.c
index 6ce1049b80..6609683c1e 100644
--- a/keyboards/planck/keymaps/kuatsure/keymap.c
+++ b/keyboards/planck/keymaps/kuatsure/keymap.c
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------.
* | | MAKE | FLSH | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | RESET| DEBUG| | |Aud on|AudOff| Game |Mouse | | | |
+ * | | QK_BOOT| DEBUG| | |Aud on|AudOff| Game |Mouse | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | VRSN | | |MusMod|Mus on|MusOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_planck_grid_wrapper(
_______, KB_MAKE, KB_FLSH, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, RESET, DEBUG, _______, _______, AU_ON, AU_OFF, GAME, MOUSE, _______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, AU_ON, AU_OFF, GAME, MOUSE, _______, _______, _______,
_______, KB_VRSN, _______, _______, MU_MOD, MU_ON, MU_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/lae3/keymap.c b/keyboards/planck/keymaps/lae3/keymap.c
index 249bcb87a7..1b5bbfd10e 100644
--- a/keyboards/planck/keymaps/lae3/keymap.c
+++ b/keyboards/planck/keymaps/lae3/keymap.c
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, BL_STEP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QWERTY, ARROW, NUMPAD, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/lja83/keymap.c b/keyboards/planck/keymaps/lja83/keymap.c
index 82862a77ed..8aaeef3a0f 100644
--- a/keyboards/planck/keymaps/lja83/keymap.c
+++ b/keyboards/planck/keymaps/lja83/keymap.c
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/lucas/keymap.c b/keyboards/planck/keymaps/lucas/keymap.c
index 01a2af7b19..703dea81ea 100644
--- a/keyboards/planck/keymaps/lucas/keymap.c
+++ b/keyboards/planck/keymaps/lucas/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
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_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO,
KC_NO, BL_TOGG, BL_DEC, BL_INC, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY
),
[5] = LAYOUT_planck_grid( /* Gaming
diff --git a/keyboards/planck/keymaps/mason/keymap.c b/keyboards/planck/keymaps/mason/keymap.c
index 9cf65c172d..ad12e2520c 100644
--- a/keyboards/planck/keymaps/mason/keymap.c
+++ b/keyboards/planck/keymaps/mason/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_POWER,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_POWER,
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_MOD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/matrixman/keymap.c b/keyboards/planck/keymaps/matrixman/keymap.c
index f13198cfa0..48219262fa 100644
--- a/keyboards/planck/keymaps/matrixman/keymap.c
+++ b/keyboards/planck/keymaps/matrixman/keymap.c
@@ -32,21 +32,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// accessed via the left nav-layer key, includes a F10 where the right nav-layer key was
[_NAV_L] = LAYOUT_planck_grid(
- KC_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, RESET, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
+ KC_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
,KC_BTN1, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_PSCREEN, KC_PAUSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11
,KC_BTN2, KC_BTN4, KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12
,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
// accessed via the right nav-layer key, includes a F1 where the left nav-layer key was
[_NAV_R] = LAYOUT_planck_grid(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RESET, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_TRNS
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_TRNS
,KC_BTN1, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_PSCREEN, KC_PAUSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11
,KC_BTN2, KC_BTN4, KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12
,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
// accessed via the lower alt keys, moves tab and delete to make alt+tab and ctrl+alt+del feel more standard
[_NAV_ALT] = LAYOUT_planck_grid(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RESET, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_DELETE
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, BL_STEP, KC_F6, KC_F7, KC_F8, KC_F9, KC_DELETE
,KC_TAB, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_PSCREEN, KC_PAUSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11
,KC_BTN2, KC_BTN4, KC_MS_WH_UP,KC_MS_WH_DOWN, KC_BTN5, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12
,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/planck/keymaps/mattly/keymap.c b/keyboards/planck/keymaps/mattly/keymap.c
index 52ade86432..c9e0a1c3af 100644
--- a/keyboards/planck/keymaps/mattly/keymap.c
+++ b/keyboards/planck/keymaps/mattly/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCT] = LAYOUT_planck_grid(
- RESET, XALLWIN, XPRVSPC, NWIN, XNXTSPC, XDESKTP, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F13,
+ QK_BOOT, XALLWIN, XPRVSPC, NWIN, XNXTSPC, XDESKTP, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F13,
DEBUG, XNOTIFY, PTAB, PWIN, NTAB, NAVBACK, NAVFWD, KC_F4, KC_F5, KC_F6, KC_F11, KC_F14,
KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, KC_MPLY, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F12, KC_F15,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/max/keymap.c b/keyboards/planck/keymaps/max/keymap.c
index b84404e1e5..d947b6a1a0 100644
--- a/keyboards/planck/keymaps/max/keymap.c
+++ b/keyboards/planck/keymaps/max/keymap.c
@@ -16,13 +16,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT_planck_grid( /* RAISE */
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_TRNS, DF(0), DF(1), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TRNS,
+ KC_TRNS, DF(0), DF(1), QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TRNS,
KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_BSLS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[3] = LAYOUT_planck_grid( /* LOWER */
S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC,
- KC_TRNS, DF(0), DF(1), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), KC_TRNS,
+ KC_TRNS, DF(0), DF(1), QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), KC_TRNS,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, S(KC_BSLS),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
diff --git a/keyboards/planck/keymaps/mgalisa/keymap.c b/keyboards/planck/keymaps/mgalisa/keymap.c
index 09e829564c..11fb309851 100644
--- a/keyboards/planck/keymaps/mgalisa/keymap.c
+++ b/keyboards/planck/keymaps/mgalisa/keymap.c
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/mikethetiger/keymap.c b/keyboards/planck/keymaps/mikethetiger/keymap.c
index 2fe9321501..35c6917bbf 100644
--- a/keyboards/planck/keymaps/mikethetiger/keymap.c
+++ b/keyboards/planck/keymaps/mikethetiger/keymap.c
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/mjt/keymap.c b/keyboards/planck/keymaps/mjt/keymap.c
index 4862526e12..371085ee15 100644
--- a/keyboards/planck/keymaps/mjt/keymap.c
+++ b/keyboards/planck/keymaps/mjt/keymap.c
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______ , RESET, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_PSCR, KC_DEL ,
+ _______ , QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_PSCR, KC_DEL ,
_______ , _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, MACSLEEP, PLOVER, _______,
_______ , MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/mjtnumsym/keymap.c b/keyboards/planck/keymaps/mjtnumsym/keymap.c
index 6274a9a602..2068eebd83 100644
--- a/keyboards/planck/keymaps/mjtnumsym/keymap.c
+++ b/keyboards/planck/keymaps/mjtnumsym/keymap.c
@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______ , RESET, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_PSCR, KC_DEL ,
+ _______ , QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_PSCR, KC_DEL ,
_______ , _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, MACSLEEP, PLOVER, _______,
_______ , MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/mjuma/keymap.c b/keyboards/planck/keymaps/mjuma/keymap.c
index 8aaa05864f..db9b46b9bf 100644
--- a/keyboards/planck/keymaps/mjuma/keymap.c
+++ b/keyboards/planck/keymaps/mjuma/keymap.c
@@ -159,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
- * | |RESET |DEBUG | | | | |DMREC1|DMREC2| | | |
+ * | |QK_BOOT |DEBUG | | | | |DMREC1|DMREC2| | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | |GAMING| | | | | |DMPLY1|DMPLY2|Audoff|Aud on| |
* |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, DM_REC1, DM_REC2, _______, _______, _______,
_______, TG(_GAMING), ___, _______, _______, _______, _______, DM_PLY1, DM_PLY2, AU_OFF, AU_ON, _______,
_______, _______, _______, _______, _______, _______, _______, DM_RSTP, _______, MU_OFF, MU_ON, MU_MOD,
_______, _______, _______, AG_TOGG, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, _______
diff --git a/keyboards/planck/keymaps/mnil/keymap.c b/keyboards/planck/keymaps/mnil/keymap.c
index 74a2f57654..5aa85340bd 100644
--- a/keyboards/planck/keymaps/mnil/keymap.c
+++ b/keyboards/planck/keymaps/mnil/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NUMPAD] = LAYOUT_planck_2x2u(
- KC_TRNS, QUIT, WIN, MVWSL, MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, RESET,
+ KC_TRNS, QUIT, WIN, MVWSL, MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, QK_BOOT,
KC_TRNS, CS_TAB, C_TAB, PRVWS, NXTWS, I3MOD, OPEN, KC_4, KC_5, KC_6, KC_0, KC_NO,
KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, MOVWS, BROWSER, KC_1, KC_2, KC_3, KC_DOT, KC_NO,
QWE_COL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/planck/keymaps/mollat/keymap.c b/keyboards/planck/keymaps/mollat/keymap.c
index f993d299b6..fc2a8bc47c 100644
--- a/keyboards/planck/keymaps/mollat/keymap.c
+++ b/keyboards/planck/keymaps/mollat/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
__________, __________, __________, KC_END, __________, __________, __________, __________, KC_INS, __________, KC_DEL, RALT(KC_Y) ,
KC_TRNS, __________, RALT(KC_S), __________, KC_PGDN, RALT(KC_5), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, RALT(KC_P), RALT(KC_Q) ,
__________, KC_HOME, __________, __________, __________, KC_PGUP, __________, __________, __________, __________, __________, KC_ENT ,
- RESET, __________, __________, __________, __________, KC_SPC, KC_SPC, __________, __________, __________, __________, __________
+ QK_BOOT, __________, __________, __________, __________, KC_SPC, KC_SPC, __________, __________, __________, __________, __________
),
// function key layer and some shift + (missing key at the small form factor)
diff --git a/keyboards/planck/keymaps/motform/keymap.c b/keyboards/planck/keymaps/motform/keymap.c
index 0dd046a93a..3e38e9fa63 100644
--- a/keyboards/planck/keymaps/motform/keymap.c
+++ b/keyboards/planck/keymaps/motform/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_planck_grid
(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/msiu/keymap.c b/keyboards/planck/keymaps/msiu/keymap.c
index 559767f1fb..afcc799c44 100644
--- a/keyboards/planck/keymaps/msiu/keymap.c
+++ b/keyboards/planck/keymaps/msiu/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
[_FUNC] = LAYOUT_planck_grid(
diff --git a/keyboards/planck/keymaps/muppetjones/.clang-format b/keyboards/planck/keymaps/muppetjones/.clang-format
new file mode 100644
index 0000000000..df3dbd17b4
--- /dev/null
+++ b/keyboards/planck/keymaps/muppetjones/.clang-format
@@ -0,0 +1,26 @@
+---
+BasedOnStyle: Google
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: 'true'
+AlignConsecutiveDeclarations: 'true'
+AlignOperands: 'true'
+AllowAllParametersOfDeclarationOnNextLine: 'false'
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: 'false'
+BinPackArguments: 'true'
+BinPackParameters: 'true'
+ColumnLimit: '160'
+IndentCaseLabels: 'true'
+IndentPPDirectives: AfterHash
+IndentWidth: '4'
+MaxEmptyLinesToKeep: '1'
+PointerAlignment: Right
+SortIncludes: 'false'
+SpaceBeforeAssignmentOperators: 'true'
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: 'false'
+TabWidth: '4'
+UseTab: Never
+
+...
diff --git a/keyboards/planck/keymaps/muppetjones/config.h b/keyboards/planck/keymaps/muppetjones/config.h
new file mode 100644
index 0000000000..1046d21499
--- /dev/null
+++ b/keyboards/planck/keymaps/muppetjones/config.h
@@ -0,0 +1,56 @@
+ /* Copyright 2020 Stephen Bush <muppetjones>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+#pragma once
+
+#ifdef AUDIO_ENABLE
+# define STARTUP_SONG SONG(PLANCK_SOUND)
+// #define STARTUP_SONG SONG(NO_SOUND)
+
+# define DEFAULT_LAYER_SONGS \
+ { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) }
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/*
+ * Other options
+ */
+
+// Enable lighting layers
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_SLEEP
+
+// Change "hold" time (default is 200 ms)
+#define TAPPING_TERM 200
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
+#define TAPPING_FORCE_HOLD
diff --git a/keyboards/planck/keymaps/muppetjones/keymap.c b/keyboards/planck/keymaps/muppetjones/keymap.c
new file mode 100644
index 0000000000..518ab43233
--- /dev/null
+++ b/keyboards/planck/keymaps/muppetjones/keymap.c
@@ -0,0 +1,403 @@
+/* Copyright 2020 Stephen Bush
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * qmk compile -kb planck/rev6 -km muppetjones
+ */
+
+#include QMK_KEYBOARD_H
+#include "muse.h"
+#include "muppetjones.h"
+
+#define LAYOUT_planck_wrapper(...) LAYOUT_planck_grid(__VA_ARGS__)
+
+/* Extend layers from muppetjones.h
+ _CLMK_DH = 0,
+ _QWERTY
+ _MOUSE,
+ _LOWER,
+ _RAISE,
+ _NAV,
+ _ADJUST,
+ */
+enum planck_layers {
+ _PLOVER = _ADJUST + 1,
+};
+
+enum planck_keycodes {
+ PLOVER = SAFE_RANGE,
+ BACKLIT,
+ EXT_PLV,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+
+/* Colemak DH II
+ * ,-----------------------------------------------------------------------------------.
+ * | Q | W | F | P | B | Del | Bksp | J | L | U | Y | ; |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | A | R | S | T | G | | " | M | N | E | I | O |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Z | X | C | D | V SFT| Enter| Tab | K | H | , | . | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt |HY_ESC|Lower | Space |Raise |HY_ESC| Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_CLMK_DH] = LAYOUT_planck_wrapper(
+ __COLEMAK_MOD_DH_L1________________________, KC_DEL, KC_BSPC, __COLEMAK_MOD_DH_R1_W_QUOT_________________,
+ __COLEMAK_MOD_DH_L2_W_GACS_________________, CAPSWRD, KC_QUOT, __COLEMAK_MOD_DH_R2_W_SCAG_________________,
+ __COLEMAK_MOD_DH_L3_W_SFTV_________________, KC_ENT, KC_TAB, __COLEMAK_MOD_DH_R3________________________,
+ TD_LAYR, XXXXXXX, XXXXXXX, HY_ESC, LOW_ENT, KC_BSPC, KC_BSPC, RAI_SPC, HY_ESC, KC_BSPC, XXXXXXX, XXXXXXX
+),
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_wrapper(
+ __QWERTY_L1________________________________, _______, _______, __QWERTY_R1________________________________,
+ __QWERTY_L2________________________________, _______, _______, __QWERTY_R2________________________________,
+ __QWERTY_L3________________________________, _______, _______, __QWERTY_R3________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________
+),
+
+/* MOUSE
+ * No encoders. Just an empty layer.
+ */
+[_MOUSE] = LAYOUT_planck_wrapper(
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________
+),
+
+// /* Colemak DH
+// * ,-----------------------------------------------------------------------------------.
+// * | Tab | Q | W | F | P | B | J | L | U | Y | ; | Bksp |
+// * |------+------+------+------+------+------+------+------+------+------+------+------|
+// * | Esc | A | R | S | T | G | M | N | E | I | O | " |
+// * |------+------+------+------+------+------+------+------+------+------+------+------|
+// * | Shift| Z | X | C | D | V | K | H | , | . | / |Enter |
+// * |------+------+------+------+------+------+------+------+------+------+------+------|
+// * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+// * `-----------------------------------------------------------------------------------'
+// */
+// [_CLMK_DH] = LAYOUT_planck_grid(
+// KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
+// HY_ESC, HOME_A, HOME_R, HOME_S, HOME_T, KC_G, KC_M, HOME_N, HOME_E, HOME_I, HOME_O, KC_QUOT,
+// KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT,
+// KC_LCTL, NUMPD, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX
+// ),
+/* Lower (numpad, symbols)
+ * ,-----------------------------------------------------------------------------------.
+ * | | | ( | ) | ~ | | | | 7 & | 8 * | 9 ( | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | { | } | ` | | | - _ | 4 $ | 5 % | 6 ^ | * |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | [ | ] | | | | = + | 1 ! | 2 @ | 3 # | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | Space | | 0 | . | | |
+ * `-----------------------------------------------------------------------------------'
+ * 21.02.22: Removed F keys.
+ * 21.03.28: Completely revamped to contain 10-key numpad and symbols.
+ */
+[_LOWER] = LAYOUT_planck_wrapper(
+ __SYMBOLS_L1_______________________________, _______, _______, __NUMPAD_R1________________________________,
+ __SYMBOLS_L2_______________________________, _______, _______, __NUMPAD_R2________________________________,
+ __SYMBOLS_L3_______________________________, _______, _______, __NUMPAD_R3________________________________,
+ _______, _______, _______, _______, _______, _______, _______, __NUMPAD_R4________________________________
+),
+
+/* Raise
+* ,-----------------------------------------------------------------------------------.
+* | ` | | | | | | | Pg Up| HOME | | END | |
+* |------+------+------+------+------+------+------+------+------+------+------+------|
+* | GUI | ALT | CTL | SFT | | | | Pg Dn| LEFT | DOWN | UP |RIGHT |
+* |------+------+------+------+------+------+------+------+------+------+------+------|
+* | | | | | | | | | | | | |
+* |------+------+------+------+------+------+------+------+------+------+------+------|
+* | | | | | | | | Next | Vol- | Vol+ | Play |
+* `-----------------------------------------------------------------------------------'
+* 21.02.22: Removed F keys and replaced with useful programming keys.
+*/
+[_RAISE] = LAYOUT_planck_wrapper(
+ XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, _______, _______, __NAV_R1___________________________________,
+ KC_LGUI, KC_LALT, HR_LBRC, HR_RBRC, KC_MINS, _______, _______, __NAV_R2___________________________________,
+ XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_EQL, _______, _______, __NAV_R3___________________________________,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Nav
+ * Available in raise.
+ */
+[_NAV] = LAYOUT_planck_wrapper(
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________,
+ __BLANK____________________________________, _______, _______, __BLANK____________________________________
+),
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * | # | # | # | # | # | # | # | # | # | # | # | # |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | S | T | P | H | * | * | F | P | L | T | D |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | S | K | W | R | * | * | R | B | G | S | Z |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit | | | A | O | | E | U | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_PLOVER] = LAYOUT_planck_grid(
+ KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
+ XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* Adjust (Lower + Raise)
+ * v------------------------RGB CONTROL--------------------v
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | |Brite |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|CLMKII|Plover| |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|ClmkDH| | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_planck_wrapper(
+ __ADJUST_L1________________________________, MUV_IN, PLOVER, __MEDIA_R1_________________________________,
+ __ADJUST_L2________________________________, MUV_DE, CLMK_DH, __MEDIA_R2_________________________________,
+ __ADJUST_L3________________________________, MU_MOD, QWERTY, __MEDIA_R3_________________________________,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+)
+
+/*
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+[_ADJUST] = LAYOUT_planck_grid(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+ */
+ // clang-format on
+};
+
+#ifdef AUDIO_ENABLE
+float plover_song[][2] = SONG(PLOVER_SOUND);
+float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
+#endif
+
+#define LIGHT_GOLDEN 30, 255, 100
+#define LIGHT_MAGENTA 213, 255, 100
+#define LIGHT_AZURE 148, 255, 100
+
+// Define light layers
+// -- e.g., light up LEDS 3-6 with RED when the numpd layer is active
+const rgblight_segment_t PROGMEM rgb_clmk_dh[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, HSV_RED});
+const rgblight_segment_t PROGMEM rgb_lower[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_GOLDEN});
+const rgblight_segment_t PROGMEM rgb_raise[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_MAGENTA});
+const rgblight_segment_t PROGMEM rgb_numpd[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_AZURE});
+
+const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(rgb_clmk_dh, rgb_lower, rgb_raise, rgb_numpd);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = rgb_layers; // Enable the LED layers
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER));
+ rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE));
+ return state;
+}
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
+ switch (keycode) {
+ case BACKLIT:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+#ifdef BACKLIGHT_ENABLE
+ backlight_step();
+#endif
+#ifdef KEYBOARD_planck_rev5
+ writePinLow(E6);
+#endif
+ } else {
+ unregister_code(KC_RSFT);
+#ifdef KEYBOARD_planck_rev5
+ writePinHigh(E6);
+#endif
+ }
+ return false;
+ break;
+ case PLOVER:
+ if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+ stop_all_notes();
+ PLAY_SONG(plover_song);
+#endif
+ layer_off(_RAISE);
+ layer_off(_LOWER);
+ layer_off(_ADJUST);
+ layer_on(_PLOVER);
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+ keymap_config.raw = eeconfig_read_keymap();
+ keymap_config.nkro = 1;
+ eeconfig_update_keymap(keymap_config.raw);
+ }
+ return false;
+ break;
+ case EXT_PLV:
+ if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(plover_gb_song);
+#endif
+ layer_off(_PLOVER);
+ }
+ return false;
+ break;
+ }
+
+ return true;
+}
+
+bool muse_mode = false;
+uint8_t last_muse_note = 0;
+uint16_t muse_counter = 0;
+uint8_t muse_offset = 70;
+uint16_t muse_tempo = 50;
+
+bool encoder_update(bool clockwise) {
+ if (muse_mode) {
+ if (IS_LAYER_ON(_RAISE)) {
+ if (clockwise) {
+ muse_offset++;
+ } else {
+ muse_offset--;
+ }
+ } else {
+ if (clockwise) {
+ muse_tempo += 1;
+ } else {
+ muse_tempo -= 1;
+ }
+ }
+ } else {
+ if (clockwise) {
+#ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_DOWN);
+#else
+ tap_code(KC_PGDN);
+#endif
+ } else {
+#ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_UP);
+#else
+ tap_code(KC_PGUP);
+#endif
+ }
+ }
+ return true;
+}
+
+void dip_switch_update_user(uint8_t index, bool active) {
+ switch (index) {
+ case 0: {
+#ifdef AUDIO_ENABLE
+ static bool play_sound = false;
+#endif
+ if (active) {
+#ifdef AUDIO_ENABLE
+ if (play_sound) {
+ PLAY_SONG(plover_song);
+ }
+#endif
+ layer_on(_ADJUST);
+ } else {
+#ifdef AUDIO_ENABLE
+ if (play_sound) {
+ PLAY_SONG(plover_gb_song);
+ }
+#endif
+ layer_off(_ADJUST);
+ }
+#ifdef AUDIO_ENABLE
+ play_sound = true;
+#endif
+ break;
+ }
+ case 1:
+ if (active) {
+ muse_mode = true;
+ } else {
+ muse_mode = false;
+ }
+ }
+}
+
+void matrix_scan_user(void) {
+#ifdef AUDIO_ENABLE
+ if (muse_mode) {
+ if (muse_counter == 0) {
+ uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
+ if (muse_note != last_muse_note) {
+ stop_note(compute_freq_for_midi_note(last_muse_note));
+ play_note(compute_freq_for_midi_note(muse_note), 0xF);
+ last_muse_note = muse_note;
+ }
+ }
+ muse_counter = (muse_counter + 1) % muse_tempo;
+ } else {
+ if (muse_counter) {
+ stop_all_notes();
+ muse_counter = 0;
+ }
+ }
+#endif
+}
+
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case RAISE:
+ case LOWER:
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/planck/keymaps/muppetjones/readme.md b/keyboards/planck/keymaps/muppetjones/readme.md
new file mode 100644
index 0000000000..de9680b498
--- /dev/null
+++ b/keyboards/planck/keymaps/muppetjones/readme.md
@@ -0,0 +1,2 @@
+# The Default Planck Layout
+
diff --git a/keyboards/planck/keymaps/muppetjones/rules.mk b/keyboards/planck/keymaps/muppetjones/rules.mk
new file mode 100644
index 0000000000..1db412715d
--- /dev/null
+++ b/keyboards/planck/keymaps/muppetjones/rules.mk
@@ -0,0 +1,5 @@
+SRC += muse.c
+
+MOUSEKEY_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+COMBO_ENABLE = yes
diff --git a/keyboards/planck/keymaps/muzfuz/keymap.c b/keyboards/planck/keymaps/muzfuz/keymap.c
index 5e21660d01..985f4b9dee 100644
--- a/keyboards/planck/keymaps/muzfuz/keymap.c
+++ b/keyboards/planck/keymaps/muzfuz/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/planck/keymaps/mwpeterson/keymap.c b/keyboards/planck/keymaps/mwpeterson/keymap.c
index dbe2f246f7..8c29e57779 100644
--- a/keyboards/planck/keymaps/mwpeterson/keymap.c
+++ b/keyboards/planck/keymaps/mwpeterson/keymap.c
@@ -196,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Swap GUI/Alt _/________/ \_____________\_ _/
*/
[ADJUST_LAYER] = LAYOUT_planck_grid(
- XXXXXXX, RESET, SEND_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SEND_VERSION, XXXXXXX,
+ XXXXXXX, QK_BOOT, SEND_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SEND_VERSION, XXXXXXX,
QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, XXXXXXX,
STENO, XXXXXXX, AG_SWAP, AG_NORM, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/planck/keymaps/myoung34/keymap.c b/keyboards/planck/keymaps/myoung34/keymap.c
index 2529df7422..714b7b3a89 100644
--- a/keyboards/planck/keymaps/myoung34/keymap.c
+++ b/keyboards/planck/keymaps/myoung34/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_M_R, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/narze/keymap.c b/keyboards/planck/keymaps/narze/keymap.c
index b5fd3356ea..84864db0ce 100644
--- a/keyboards/planck/keymaps/narze/keymap.c
+++ b/keyboards/planck/keymaps/narze/keymap.c
@@ -208,7 +208,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, QWOC, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, SDTOGG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BACKLIT
diff --git a/keyboards/planck/keymaps/nick/keymap.c b/keyboards/planck/keymaps/nick/keymap.c
index d75a91edb6..219665c201 100644
--- a/keyboards/planck/keymaps/nick/keymap.c
+++ b/keyboards/planck/keymaps/nick/keymap.c
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/nico/keymap.c b/keyboards/planck/keymaps/nico/keymap.c
index 7836517890..bc3a3f94d8 100644
--- a/keyboards/planck/keymaps/nico/keymap.c
+++ b/keyboards/planck/keymaps/nico/keymap.c
@@ -36,13 +36,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RS] = LAYOUT_planck_grid( /* RAISE */
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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS,
+ KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), QK_BOOT, KC_TRNS,
M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY
),
[_LW] = LAYOUT_planck_grid( /* LOWER */
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS,
+ KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), QK_BOOT, KC_TRNS,
M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY
)
};
diff --git a/keyboards/planck/keymaps/not-quite-neo/keymap.c b/keyboards/planck/keymaps/not-quite-neo/keymap.c
index 42ed71d0ad..4d18f9d32a 100644
--- a/keyboards/planck/keymaps/not-quite-neo/keymap.c
+++ b/keyboards/planck/keymaps/not-quite-neo/keymap.c
@@ -111,7 +111,7 @@ L06 -> <TBD>: UNSPECIFIED
/* LFN -> MO(FN): FUNCTION
* ,-----------------------------------------------------------------------------------.
- * | RESET| | | BACKS|
+ * | QK_BOOT| | | BACKS|
* |------+ | +------|
* | | L06_LEFT | L06_RIGHT |INSERT|
* |------+ | +------|
@@ -121,7 +121,7 @@ L06 -> <TBD>: UNSPECIFIED
* `-----------------------------------------------------------------------------------'
*/
[LFN] = LAYOUT_planck_grid(
- RESET, L06_LEFT_01, L06_RIGHT_01, KC_BSPC,
+ QK_BOOT, L06_LEFT_01, L06_RIGHT_01, KC_BSPC,
_______, L06_LEFT_02, L06_RIGHT_02, KC_INS,
_______, L06_LEFT_03, L06_RIGHT_03, KC_DEL,
MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______
diff --git a/keyboards/planck/keymaps/originerd/keymap.c b/keyboards/planck/keymaps/originerd/keymap.c
index 7604959119..17e6124280 100644
--- a/keyboards/planck/keymaps/originerd/keymap.c
+++ b/keyboards/planck/keymaps/originerd/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, NERD, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/orthodeluxe/keymap.c b/keyboards/planck/keymaps/orthodeluxe/keymap.c
index f7a4834227..c1da44e970 100644
--- a/keyboards/planck/keymaps/orthodeluxe/keymap.c
+++ b/keyboards/planck/keymaps/orthodeluxe/keymap.c
@@ -214,7 +214,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_UTILSLAYER] = LAYOUT_planck_grid(
- _______, XXXXXXX, WINDOWS, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PAUS, _______,
+ _______, XXXXXXX, WINDOWS, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PAUS, _______,
_______, XXXXXXX, KC_SLCK, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, KC_NLCK, MACOS, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c
index 0368c98420..9e451a010a 100644
--- a/keyboards/planck/keymaps/oryx/keymap.c
+++ b/keyboards/planck/keymaps/oryx/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_grid(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_DEL, _______, AU_ON, AU_OFF, AU_TOG, _______, _______, RGB_TOG, RGB_VAI, RGB_VAD, LED_LEVEL, RESET,
+ KC_DEL, _______, AU_ON, AU_OFF, AU_TOG, _______, _______, RGB_TOG, RGB_VAI, RGB_VAD, LED_LEVEL, QK_BOOT,
_______, _______, MU_ON, MU_OFF, MU_TOG, _______, _______, RGB_MOD, RGB_HUI, RGB_HUD, TOGGLE_LAYER_COLOR, _______,
_______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______
),
@@ -94,7 +94,7 @@ void rgb_matrix_indicators_user(void) {
if (keyboard_config.disable_layer_led) {
return;
}
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case 1:
set_layer_color(0);
break;
diff --git a/keyboards/planck/keymaps/palleiko/keymap.c b/keyboards/planck/keymaps/palleiko/keymap.c
index d3798c6518..a86cb698ff 100644
--- a/keyboards/planck/keymaps/palleiko/keymap.c
+++ b/keyboards/planck/keymaps/palleiko/keymap.c
@@ -222,7 +222,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/pascamel/keymap.c b/keyboards/planck/keymaps/pascamel/keymap.c
index 13553dc399..bc03824452 100644
--- a/keyboards/planck/keymaps/pascamel/keymap.c
+++ b/keyboards/planck/keymaps/pascamel/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/pete/keymap.c b/keyboards/planck/keymaps/pete/keymap.c
index 6b95a2eafb..cc73a251e2 100644
--- a/keyboards/planck/keymaps/pete/keymap.c
+++ b/keyboards/planck/keymaps/pete/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, WIN, MAC, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
),
[_MAC] = LAYOUT_planck_grid( /* Mac */
CYCLWIN,MACSLEEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL ,
diff --git a/keyboards/planck/keymaps/pevecyan/keymap.c b/keyboards/planck/keymaps/pevecyan/keymap.c
index 553dd84a5d..2b7518f22c 100644
--- a/keyboards/planck/keymaps/pevecyan/keymap.c
+++ b/keyboards/planck/keymaps/pevecyan/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/pickle_jr/keymap.c b/keyboards/planck/keymaps/pickle_jr/keymap.c
index 31853819c6..48ce0e645a 100644
--- a/keyboards/planck/keymaps/pickle_jr/keymap.c
+++ b/keyboards/planck/keymaps/pickle_jr/keymap.c
@@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/piemod/keymap.c b/keyboards/planck/keymaps/piemod/keymap.c
index d75b8bf53b..974b3d3646 100644
--- a/keyboards/planck/keymaps/piemod/keymap.c
+++ b/keyboards/planck/keymaps/piemod/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PSCREEN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DELETE, KC_INSERT, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DELETE, KC_INSERT, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
[EMACS] = LAYOUT_planck_grid(
diff --git a/keyboards/planck/keymaps/pjanx/keymap.c b/keyboards/planck/keymaps/pjanx/keymap.c
index cf2e52623d..9e191324c3 100644
--- a/keyboards/planck/keymaps/pjanx/keymap.c
+++ b/keyboards/planck/keymaps/pjanx/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, _______, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT
diff --git a/keyboards/planck/keymaps/pok3r/keymap.c b/keyboards/planck/keymaps/pok3r/keymap.c
index 8c10ee3401..c3a52d2e4e 100644
--- a/keyboards/planck/keymaps/pok3r/keymap.c
+++ b/keyboards/planck/keymaps/pok3r/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
KC_CAPS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, KC_CAPS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/premek/keymap.c b/keyboards/planck/keymaps/premek/keymap.c
index 4bcfbd91a0..72fa2faa03 100644
--- a/keyboards/planck/keymaps/premek/keymap.c
+++ b/keyboards/planck/keymaps/premek/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h
index c85e8656e6..d72b6d3908 100644
--- a/keyboards/planck/keymaps/priyadi/config.h
+++ b/keyboards/planck/keymaps/priyadi/config.h
@@ -5,12 +5,6 @@
#define PRIYADI_PLANCK
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
#define UNICODE_TYPE_DELAY 0
#define LAYOUT_DVORAK
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/.gitignore b/keyboards/planck/keymaps/prog_qgmlwb/.gitignore
new file mode 100644
index 0000000000..a39c642249
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/.gitignore
@@ -0,0 +1,3 @@
+build
+printout
+scripts
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/config.h b/keyboards/planck/keymaps/prog_qgmlwb/config.h
new file mode 100644
index 0000000000..b52b41746a
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/config.h
@@ -0,0 +1,12 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#define ENABLE_COMPILE_KEYCODE
+
+// Userspace defines
+// #define SPLIT_SPACE
+// #define NO_SPECIAL_SHIFT
+#define LAYER_EN QGMLWB_EN
+#define LAYER_NO QGMLWB_NO
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/keymap.c b/keyboards/planck/keymaps/prog_qgmlwb/keymap.c
new file mode 100644
index 0000000000..72e67ac3e7
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include "src/layouts.h"
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/readme.md b/keyboards/planck/keymaps/prog_qgmlwb/readme.md
new file mode 100644
index 0000000000..e9117507cd
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/readme.md
@@ -0,0 +1,82 @@
+# PROG-QGMLWB
+
+The prog-qgmlwb layout is a QMK firmware layout for the Planck keyboard.
+
+For letter placement, the layout uses the optimized QGMLWB layout from the [Carpalx project](http://mkweb.bcgsc.ca/carpalx).
+
+> The carpalx project introduces a quantitative model for typing effort and applies it to (a) evaluate QWERTY and popular alternatives, such as Dvorak and Colemak and (b) find the keyboard layouts that minimize typing effort for a given set of input documents.
+
+Carpalx named "QGMLWB" as the fully optimized layout according to the English alphabet, with an effort reduction of approximately 44.4%.
+
+The programming part of the name is inspired by the modified version of Dvorak, [Programmer Dvorak](http://programmer-dvorak.appspot.com), where the symbols have been adjusted logically for developers.
+
+The final layout swaps some Dvorak symbols and combines them with the QGMLWB letters, giving it the name **prog-qgmlwb**.
+
+The layout includes an English and Norwegian layer, whereas the Norwegian one only adds the three letters; æ, ø, and å.
+
+## Typing layers
+
+![Typing layers](https://i.imgur.com/QaHnqW8.png)
+
+## Adjust layer
+
+![Adjust layer](https://i.imgur.com/63I69P0.png)
+
+## Usage
+
+### Clone the QMK Firmware repo
+
+```bash
+git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git <path/name>
+```
+
+### Move into this keymap
+
+```bash
+cd <path/name>/keyboards/planck/keymaps/prog_qgmlwb
+```
+
+### Initialize QMK the first time
+
+Set default keyboard:
+
+```bash
+qmk config user.keyboard=planck/<rev>
+```
+
+Set default keymap:
+
+```bash
+qmk config user.keymap=prog_qgmlwb
+```
+
+Initialize libraries:
+
+```bash
+qmk setup
+```
+
+### Compile and flash the keyboard
+
+```bash
+qmk compile
+qmk flash
+```
+
+## QMK documentation
+
+Found in the QMK docs: <https://docs.qmk.fm>
+
+## Printing layout
+
+This keymap uses macros such that [qmk configurator](https://config.qmk.fm) cannot match its behavior. The images was designed using [Figma](https://figma.com).
+
+## Future additions
+
+Features disabled due to the lack of storage space in the Planck PCB version 5:
+
+- Audio
+- Plover mode
+- Use alt codes to fix missing characters in the english layout
+- Improve documentation of code and readme files
+- Reimplement right version of modifier keys through raise+space
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/rules.mk b/keyboards/planck/keymaps/prog_qgmlwb/rules.mk
new file mode 100644
index 0000000000..7431d9e0b7
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/rules.mk
@@ -0,0 +1,6 @@
+# Compiler source files
+SRC += src/layouts.c
+
+USER_NAME := davidkristoffersen
+
+SIZE_OPTIMIZE = yes
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/enums.h b/keyboards/planck/keymaps/prog_qgmlwb/src/enums.h
new file mode 100644
index 0000000000..0c03b5dd04
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/enums.h
@@ -0,0 +1,23 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+// Layouts enum
+enum keyboard_layouts {
+ QGMLWB_NO,
+ QGMLWB_EN,
+
+ QWERTY,
+ COLEMAK,
+ DVORAK,
+
+ NORMAL_LOWER,
+ NORMAL_RAISE,
+
+ QGMLWB_LOWER,
+ QGMLWB_RAISE,
+
+ ADJUST,
+ NUMPAD,
+};
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.c b/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.c
new file mode 100644
index 0000000000..54ff411d86
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.c
@@ -0,0 +1,25 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include "layouts.h"
+#ifdef LAYER_NO
+# include "sendstring_norwegian.h"
+#endif
+
+KEYMAP keymaps [][MATRIX_ROWS][MATRIX_COLS] = {
+ [QGMLWB_NO] = qgmlwb_no_map,
+ [QGMLWB_EN] = qgmlwb_en_map,
+
+ [QWERTY] = qwerty_map,
+ [COLEMAK] = colemak_map,
+ [DVORAK] = dvorak_map,
+
+ [NORMAL_LOWER] = normal_lower_map,
+ [NORMAL_RAISE] = normal_raise_map,
+
+ [QGMLWB_LOWER] = qgmlwb_lower_map,
+ [QGMLWB_RAISE] = qgmlwb_raise_map,
+
+ [ADJUST] = adjust_map,
+ [NUMPAD] = numpad_map,
+};
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.h b/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.h
new file mode 100644
index 0000000000..19cbefb9ab
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/layouts.h
@@ -0,0 +1,27 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include QMK_KEYBOARD_H
+
+#include "davidkristoffersen.h"
+#include "enums.h"
+
+#include "normal.h"
+#include "qgmlwb.h"
+#include "special.h"
+
+#define KEYMAP const uint16_t PROGMEM
+
+// Layouts keycodes
+#define lower MO(NORMAL_LOWER)
+#define raise MO(NORMAL_RAISE)
+
+#define QLower MO(QGMLWB_LOWER)
+#define QRaise MO(QGMLWB_RAISE)
+
+#define adjust MO(ADJUST)
+#define numpad MO(NUMPAD)
+
+extern KEYMAP keymaps [][MATRIX_ROWS][MATRIX_COLS];
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/normal.h b/keyboards/planck/keymaps/prog_qgmlwb/src/normal.h
new file mode 100644
index 0000000000..fa5c84d217
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/normal.h
@@ -0,0 +1,96 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include "layouts.h"
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ;: |Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | ,< | .> | /? | Shift|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
+ * `-----------------------------------------------------------------------------------'
+*/
+#define qwerty_map LAYOUT_ortho_4x12(\
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,\
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT,\
+ KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
+)
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O |Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / | " |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
+ * `-----------------------------------------------------------------------------------'
+*/
+#define colemak_map LAYOUT_ortho_4x12(\
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,\
+ KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,\
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,\
+ KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
+)
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S |Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
+ * `-----------------------------------------------------------------------------------'
+*/
+#define dvorak_map LAYOUT_ortho_4x12(\
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,\
+ KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT,\
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH,\
+ KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
+)
+
+/* Lower - Normal
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | End | Home | XXXX | XXXX | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define normal_lower_map LAYOUT_ortho_4x12(\
+ KC_TILD, 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_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, KC_END, KC_HOME, XXXXXXX, XXXXXXX, _______,\
+ _______, _______, _______, _______, _______, _______, _______, adjust, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY\
+)
+
+/* Raise - Normal
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | # | \ | PgDn | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define normal_raise_map LAYOUT_ortho_4x12(\
+ 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,\
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HASH, KC_BSLS, KC_PGDN, KC_PGUP, _______,\
+ _______, _______, _______, _______, adjust, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY\
+)
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/qgmlwb.h b/keyboards/planck/keymaps/prog_qgmlwb/src/qgmlwb.h
new file mode 100644
index 0000000000..bad7a11615
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/qgmlwb.h
@@ -0,0 +1,63 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include "layouts.h"
+
+/* QGMLWB
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | G | M | L | W | B | Y | U | V | '" | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | D | S | T | N | R | I | A | E | O | H |Return|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | F | J | K | P | ,; | .: | -_ | \| |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt |NumPad| GUI | Lower|LSpace|RSpace| Raise| Left | Down | Up | Right|
+ * `-----------------------------------------------------------------------------------'
+*/
+// English Layout
+#define qgmlwb_en_map LAYOUT_ortho_4x12(\
+ KC_TAB, KC_Q, KC_G, KC_M, KC_L, KC_W, KC_B, KC_Y, KC_U, KC_V, KC_QUOT, KC_BSPC,\
+ KC_ESC, KC_D, KC_S, KC_T, KC_N, KC_R, KC_I, KC_A, KC_E, KC_O, KC_H, KC_ENT,\
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_F, KC_J, KC_K, KC_P, KC_COMM, KC_DOT, KC_MINS, KC_BSLS,\
+ KC_LCTL, KC_LALT, numpad, KC_LGUI, QLower, KC_LSPC, KC_RSPC, QRaise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
+)
+// Norwegian Layout
+#define qgmlwb_no_map qgmlwb_en_map
+
+/* Lower - QGMLWB
+ * ,-----------------------------------------------------------------------------------.
+ * | ! | % | [ | { | ( | < | > | ) | } | ] | & | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | Mute | XXXX | Refr | XXXX | XXXX | XXXX | = | + | * | / | ~ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Sleep|ScrLck| Caps |NumLck|PrtScr| Ins | End | Home | Æ | Ø | Å |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | |Adjust| Bri- | Vol- | Vol+ | Bri+ |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define qgmlwb_lower_map LAYOUT_ortho_4x12(\
+ KC_EXLM, KC_PERC, KC_LBRC, KC_LCBR, KC_LPRN, KC_LT, KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_AMPR, _______,\
+ KC_DEL, KC_MUTE, XXXXXXX, KC_WREF, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_PLUS, KC_ASTR, KC_SLSH, KC_TILD,\
+ _______, KC_SLEP, KC_SLCK, KC_CAPS, KC_NLCK, KC_PSCR, KC_INS, KC_END, KC_HOME, KC_AE, KC_OE, KC_AA,\
+ _______, _______, _______, _______, _______, _______, _______, adjust, KC_BRID, KC_VOLD, KC_VOLU, KC_BRIU\
+)
+
+/* Raise - QGMLWB
+ * ,-----------------------------------------------------------------------------------.
+ * | ? | 9 | 7 | 5 | 3 | 1 | 0 | 2 | 4 | 6 | 8 | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del+ | F1 | F2 | F3 | F4 | F5 | F6 | # | @ | ^ | $ | ` |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |RShift| F7 | F8 | F9 | F10 | F11 | F12 | PgDn | PgUp | XXXX | XXXX | XXXX |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | RCtrl| RAlt | | |Adjust| | | | Prev | Stop | Play | Next |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define qgmlwb_raise_map LAYOUT_ortho_4x12(\
+ KC_QUES, KC_9, KC_7, KC_5, KC_3, KC_1, KC_0, KC_2, KC_4, KC_6, KC_8, _______,\
+ S(KC_DEL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_HASH, KC_AT, KC_CIRC, KC_DLR, KC_GRV,\
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX,\
+ _______, _______, _______, _______, adjust, _______, _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT\
+)
diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/special.h b/keyboards/planck/keymaps/prog_qgmlwb/src/special.h
new file mode 100644
index 0000000000..de05db2070
--- /dev/null
+++ b/keyboards/planck/keymaps/prog_qgmlwb/src/special.h
@@ -0,0 +1,43 @@
+// Copyright 2022 David Kristoffersen (@davidkristoffersen)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include "layouts.h"
+
+/* Adjust
+ * v------------------------RGB CONTROL--------------------v
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| Debug| RGB |RGBMod| Hue- | Hue+ | Sat- | Sat+ | Bri- | Bri+ | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | XXXX |MusMod|AudOff| AudOn|AgNorm|AgSwap|Dvorak|Colmak|Qwerty|QgmlEN|QgmlNO|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | |Voice-|Voice+|MusOff| MusOn|MIDIOf|MIDIOn|TermOf|TermOn| T0 | T1 | T2 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | XXXX | XXXX | XXXX | XXXX |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define adjust_map LAYOUT_ortho_4x12(\
+ QK_RBT, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_DEL,\
+ QK_MAKE, XXXXXXX, MU_MOD, AU_OFF, AU_ON, AG_NORM, AG_SWAP, DF(DVORAK), DF(COLEMAK), DF(QWERTY), DF(QGMLWB_EN), DF(QGMLWB_NO),\
+ _______, MUV_IN, MUV_DE, MU_OFF, MU_ON, MI_OFF, MI_ON, TERM_OFF, TERM_ON, KC_T0, KC_T1, KC_T2,\
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX\
+)
+
+/* Numpad
+ * ,-----------------------------------------------------------------------------------.
+ * | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 7 | 8 | 9 | / | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 4 | 5 | 6 | * | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 1 | 2 | 3 | - | XXXX |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | XXXX | | | 0 | , | . | + | XXXX |
+ * `-----------------------------------------------------------------------------------'
+*/
+#define numpad_map LAYOUT_ortho_4x12(\
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_KP_SLASH, _______,\
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_KP_ASTERISK, _______,\
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_KP_MINUS, XXXXXXX,\
+ _______, _______, _______, _______, XXXXXXX, _______, _______, KC_0, KC_COMM, KC_DOT, KC_KP_PLUS, XXXXXXX\
+)
diff --git a/keyboards/planck/keymaps/ptillemans/keymap.c b/keyboards/planck/keymaps/ptillemans/keymap.c
index e671fd59ca..cb240e80aa 100644
--- a/keyboards/planck/keymaps/ptillemans/keymap.c
+++ b/keyboards/planck/keymaps/ptillemans/keymap.c
@@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, QWERTY, DVORAK, PLOVER, _______,
BACKLIT, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/pvc/config.h b/keyboards/planck/keymaps/pvc/config.h
index 0fb08540d4..78e12d3120 100644
--- a/keyboards/planck/keymaps/pvc/config.h
+++ b/keyboards/planck/keymaps/pvc/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef KEYBOARD_planck_light
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#endif
/*
diff --git a/keyboards/planck/keymaps/pvc/keymap.c b/keyboards/planck/keymaps/pvc/keymap.c
index 8428c2335f..e03e692d4e 100644
--- a/keyboards/planck/keymaps/pvc/keymap.c
+++ b/keyboards/planck/keymaps/pvc/keymap.c
@@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | VOICE+ | XXXXXX |
+ | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | QK_BOOT | XXXXXX | MOUSE | XXXXXX | XXXXXX | VOICE+ | XXXXXX |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX | XXXXXX | LOWER | XXXXXX | TEMPO- | VOICE- | TEMPO+ |
'-----------------------------------------------------------------------------------------------------------'
@@ -205,7 +205,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_ADJUST] = LAYOUT_planck_grid(
XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, MU_TOG , AU_TOG ,
XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,
- XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX ,
+ XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, QK_BOOT, XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX ,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP
),
diff --git a/keyboards/planck/keymaps/raffle/keymap.c b/keyboards/planck/keymaps/raffle/keymap.c
index 52727f35b1..436db90e2c 100644
--- a/keyboards/planck/keymaps/raffle/keymap.c
+++ b/keyboards/planck/keymaps/raffle/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/rai-suta/keymap.c b/keyboards/planck/keymaps/rai-suta/keymap.c
index 07dae2b2ab..bfaf28d8d9 100644
--- a/keyboards/planck/keymaps/rai-suta/keymap.c
+++ b/keyboards/planck/keymaps/rai-suta/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GESC, KC_EXLM, JK_DQT, KC_HASH, KC_DLR, KC_PERC, JK_AMPR, JK_SQT, JK_LPRN, JK_RPRN, JK_S0, KC_DEL,
_______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, JK_EQ, JK_TLD, JK_GRV, JK_LCBR, JK_PIPE,
_______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_Y), XXXXXXX, KC_ENT, KC_LABK, KC_RABK, JK_RCBR, JK_UNDS,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[KL_RAISE] = LAYOUT_planck_grid(
diff --git a/keyboards/planck/keymaps/rodhaene/keymap.c b/keyboards/planck/keymaps/rodhaene/keymap.c
index 8aded36b82..1732e19a3d 100644
--- a/keyboards/planck/keymaps/rodhaene/keymap.c
+++ b/keyboards/planck/keymaps/rodhaene/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, NUMPAD, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/roguepullrequest/keymap.c b/keyboards/planck/keymaps/roguepullrequest/keymap.c
index 177cb2b671..47331af90c 100644
--- a/keyboards/planck/keymaps/roguepullrequest/keymap.c
+++ b/keyboards/planck/keymaps/roguepullrequest/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FUNCTION] = LAYOUT_planck_grid(
- KC_F11, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F12, KC_F2, KC_F4, KC_F6, KC_F8, RESET,
+ KC_F11, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F12, KC_F2, KC_F4, KC_F6, KC_F8, QK_BOOT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
diff --git a/keyboards/planck/keymaps/roguepullrequest/rules.mk b/keyboards/planck/keymaps/roguepullrequest/rules.mk
index 9394c96e5b..5eb053e886 100644
--- a/keyboards/planck/keymaps/roguepullrequest/rules.mk
+++ b/keyboards/planck/keymaps/roguepullrequest/rules.mk
@@ -1,4 +1,3 @@
AUDIO_ENABLE = yes
COMMAND_ENABLE = no
-TERMINAL_ENABLE = no
TAP_DANCE_ENABLE = yes
diff --git a/keyboards/planck/keymaps/rootiest/config.h b/keyboards/planck/keymaps/rootiest/config.h
index fc1fc81761..5bb5a73a29 100644
--- a/keyboards/planck/keymaps/rootiest/config.h
+++ b/keyboards/planck/keymaps/rootiest/config.h
@@ -87,6 +87,7 @@
/*
* TAP-DANCE options
*/
+#define TAPPING_TERM_PER_KEY // Control Tap-Dance time individually by key
#define TAPPING_TERM 250 // Default time allowed before resetting a Tap-Dance combo
#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped once again. */
#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c
index 634bf2829e..c289c50e5b 100644
--- a/keyboards/planck/keymaps/rootiest/keymap.c
+++ b/keyboards/planck/keymaps/rootiest/keymap.c
@@ -502,7 +502,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
} else {
if (index == 0) { /* First encoder */
uint16_t held_keycode_timer = timer_read();
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case 0: // Base Layer
if ((get_mods() & MOD_MASK_GUI)) { // GUI-ed
if (clockwise) {
@@ -1656,13 +1656,26 @@ void sml_reset(qk_tap_dance_state_t* state, void* user_data) { sml_state.state =
// Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions[] = {
// Tap once for °, twice for ℉, thrice for ℃
- [TD_DEG_DEGF] = ACTION_TAP_DANCE_FN(send_degree_symbol), //
- [TD_LSHFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, scap_finished, scap_reset, 200), //
- [TD_LCTL_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, slctl_finished, slctl_reset, 200), //
- [TD_LALT_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, slalt_finished, slalt_reset, 200), //
- [TD_SMILEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, sml_finished, sml_reset, 500),
+ [TD_DEG_DEGF] = ACTION_TAP_DANCE_FN(send_degree_symbol), //
+ [TD_LSHFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scap_finished, scap_reset), //
+ [TD_LCTL_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, slctl_finished, slctl_reset), //
+ [TD_LALT_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, slalt_finished, slalt_reset), //
+ [TD_SMILEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, sml_finished, sml_reset),
};
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case TD(TD_LSHFT_CAPS):
+ case TD(TD_LCTL_STICKY):
+ case TD(TD_LALT_STICKY):
+ return 200;
+ case TD(TD_SMILEY):
+ return 500;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
// Dip-Switch controls
void dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
diff --git a/keyboards/planck/keymaps/rootiest/rules.mk b/keyboards/planck/keymaps/rootiest/rules.mk
index b669d8bb7d..ca0f90b6e9 100644
--- a/keyboards/planck/keymaps/rootiest/rules.mk
+++ b/keyboards/planck/keymaps/rootiest/rules.mk
@@ -20,8 +20,5 @@ KEY_LOCK_ENABLE = yes # Enables using lock key to maintain holds
# SWAP_HANDS_ENABLE = yes # Enables the swap hands function
# DEBOUNCE_TYPE = sym_eager_pk # Change debounce algorithm
-# NOTE: The following requires a lot of memory to include
-TERMINAL_ENABLE = yes # Enables a command-line-like interface designed to communicate through a text editor with keystrokes
-
# NOTE: The following is not yet available in main qmk branch
KEY_OVERRIDE_ENABLE = yes # Allows overiding modifier combos (change Shift+1 without affecting 1 or Shift's normal operation)
diff --git a/keyboards/planck/keymaps/sascha/keymap.c b/keyboards/planck/keymaps/sascha/keymap.c
index d17d4deaa4..ec4781c78b 100644
--- a/keyboards/planck/keymaps/sascha/keymap.c
+++ b/keyboards/planck/keymaps/sascha/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL,
KC_GRV , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , UC(L'ü') , UC(L'ö') , UC(L'ä'),
S(KC_INS) , UC(L'…') , UC(L'’') , UC(L'“') , UC(L'â€') , UC(L'â†') , UC(L'→') , UC(L'€') , UC(L'ß') , UC(L'Ãœ') , UC(L'Ö') , UC(L'Ä'),
- RESET , BL_STEP , KC_F1 , KC_HOME , KC_END , KC_PGUP , KC_PGDN , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_TRNS
+ QK_BOOT , BL_STEP , KC_F1 , KC_HOME , KC_END , KC_PGUP , KC_PGDN , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_TRNS
)
};
diff --git a/keyboards/planck/keymaps/scottzach1/keymap.c b/keyboards/planck/keymaps/scottzach1/keymap.c
index f3cd6c46ec..ce1c70d318 100755
--- a/keyboards/planck/keymaps/scottzach1/keymap.c
+++ b/keyboards/planck/keymaps/scottzach1/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------------------------------'
*/
[_DEBUG] = LAYOUT_ortho_4x12(
- RESET, DEBUG, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, EEP_RST,
+ QK_BOOT, DEBUG, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, EEP_RST,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx
diff --git a/keyboards/planck/keymaps/sdothum/common/chord_layout.h b/keyboards/planck/keymaps/sdothum/common/chord_layout.h
index b6922705f3..cb1b7f6785 100644
--- a/keyboards/planck/keymaps/sdothum/common/chord_layout.h
+++ b/keyboards/planck/keymaps/sdothum/common/chord_layout.h
@@ -36,6 +36,6 @@
[_ADJUST] = LAYOUT_planck_grid(
PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/sean/keymap.c b/keyboards/planck/keymaps/sean/keymap.c
index b4024909f5..e01dcc6ccf 100644
--- a/keyboards/planck/keymaps/sean/keymap.c
+++ b/keyboards/planck/keymaps/sean/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, HRVL, HRESET, HMENU,
+ _______, QK_BOOT, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, HRVL, HRESET, HMENU,
KC_PWR, KC_EJCT, CUT, COPY, PASTE, KC_PSCR, KC_SYSREQ, KC_CAPS, KC_MRWD, KC_MFFD, KC_MUTE, KC_MSTP,
DVRK, TO(_NMPD), TO(_MVMT), SDRK, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
BACKLIT, BACKTOG, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT
diff --git a/keyboards/planck/keymaps/sebas/keymap.c b/keyboards/planck/keymaps/sebas/keymap.c
index 1076531f13..631ad6fc23 100644
--- a/keyboards/planck/keymaps/sebas/keymap.c
+++ b/keyboards/planck/keymaps/sebas/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_planck_grid(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/sgoodwin/keymap.c b/keyboards/planck/keymaps/sgoodwin/keymap.c
index 1b70524825..ad380ce6ab 100644
--- a/keyboards/planck/keymaps/sgoodwin/keymap.c
+++ b/keyboards/planck/keymaps/sgoodwin/keymap.c
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, _______, _______, QWERTY, COLEMAK, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/sigul/keymap.c b/keyboards/planck/keymaps/sigul/keymap.c
index 2b100509b9..6c5da45224 100644
--- a/keyboards/planck/keymaps/sigul/keymap.c
+++ b/keyboards/planck/keymaps/sigul/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, DF(QWERTY), _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, DF(QWERTY), _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, MU_MOD, MU_ON, MU_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, MUV_DE, AU_ON, AU_OFF, MUV_IN
diff --git a/keyboards/planck/keymaps/skank/keymap.c b/keyboards/planck/keymaps/skank/keymap.c
index 9601cd31fb..da7b471085 100644
--- a/keyboards/planck/keymaps/skank/keymap.c
+++ b/keyboards/planck/keymaps/skank/keymap.c
@@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, AU_ON, AU_OFF, QWERTY, COLEMAK, _______, _______, _______, _______, RESET,
+ _______, _______, _______, AU_ON, AU_OFF, QWERTY, COLEMAK, _______, _______, _______, _______, QK_BOOT,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/planck/keymaps/skug/keymap.c b/keyboards/planck/keymaps/skug/keymap.c
index 6367d3c346..ce9c15e099 100644
--- a/keyboards/planck/keymaps/skug/keymap.c
+++ b/keyboards/planck/keymaps/skug/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = 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 ,
- _______, RESET , MU_MOD , AU_ON , AU_OFF , AG_NORM, AG_SWAP, DEFAULT, XXXXXXX , XXXXXXX, UTILITY, _______,
+ _______, QK_BOOT, MU_MOD , AU_ON , AU_OFF , AG_NORM, AG_SWAP, DEFAULT, XXXXXXX , XXXXXXX, UTILITY, _______,
_______, SE_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/planck/keymaps/smittey/keymap.c b/keyboards/planck/keymaps/smittey/keymap.c
index 537b60c103..f8d3f4b1bb 100644
--- a/keyboards/planck/keymaps/smittey/keymap.c
+++ b/keyboards/planck/keymaps/smittey/keymap.c
@@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_OFF, MI_ON, KC_DEL,
+ QK_BOOT, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_OFF, MI_ON, KC_DEL,
XXXXXXX, XXXXXXX, XXXXXXX, DVORAK, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, AU_OFF, AU_ON, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF, MU_OFF, MU_ON, XXXXXXX,
PLOVER, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, MUV_DE, MUV_IN, XXXXXXX
diff --git a/keyboards/planck/keymaps/smt/keymap.c b/keyboards/planck/keymaps/smt/keymap.c
index 55115b0c84..ff71e99377 100644
--- a/keyboards/planck/keymaps/smt/keymap.c
+++ b/keyboards/planck/keymaps/smt/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/spacebarracecar/keymap.c b/keyboards/planck/keymaps/spacebarracecar/keymap.c
index 5efced81a3..5b9f0eb444 100644
--- a/keyboards/planck/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/planck/keymaps/spacebarracecar/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
| |Prev |Pause |Next |LowerVol |RaiseVol |Mute | | | | | |
|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
-|RESET |ESCT | | | | | | | | | |Game |
+|QK_BOOT |ESCT | | | | | | | | | |Game |
`-----------------------------------------------------------------------------------------------------------------------'
*/
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, MU_ON, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- RESET, CU_ESCT, ALTF4, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME
+ QK_BOOT, CU_ESCT, ALTF4, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME
)
};
diff --git a/keyboards/planck/keymaps/steno/keymap.c b/keyboards/planck/keymaps/steno/keymap.c
index c2db4746cc..aac974f6a6 100644
--- a/keyboards/planck/keymaps/steno/keymap.c
+++ b/keyboards/planck/keymaps/steno/keymap.c
@@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, ST_BOLT, ST_GEM,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/stuartfong1/keymap.c b/keyboards/planck/keymaps/stuartfong1/keymap.c
index b15afb788e..c394a9db81 100644
--- a/keyboards/planck/keymaps/stuartfong1/keymap.c
+++ b/keyboards/planck/keymaps/stuartfong1/keymap.c
@@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- XXXXXXX, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX,
+ XXXXXXX, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX,
XXXXXXX, XXXXXXX, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, PLOVER, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/planck/keymaps/synth_sample/keymap.c b/keyboards/planck/keymaps/synth_sample/keymap.c
index 0a57b7ce9a..397e64bbb3 100644
--- a/keyboards/planck/keymaps/synth_sample/keymap.c
+++ b/keyboards/planck/keymaps/synth_sample/keymap.c
@@ -160,10 +160,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
- _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/synth_wavetable/keymap.c b/keyboards/planck/keymaps/synth_wavetable/keymap.c
index d413d63896..c8c243ee20 100644
--- a/keyboards/planck/keymaps/synth_wavetable/keymap.c
+++ b/keyboards/planck/keymaps/synth_wavetable/keymap.c
@@ -160,10 +160,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
- _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/tak3over/keymap.c b/keyboards/planck/keymaps/tak3over/keymap.c
index 1b9f91b0bd..7e8b953dd2 100644
--- a/keyboards/planck/keymaps/tak3over/keymap.c
+++ b/keyboards/planck/keymaps/tak3over/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LW] = LAYOUT_planck_grid(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TRNS, RESET, KC_INS, KC_HOME, KC_PGUP, DF(_CM), KC_LEFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_TRNS, QK_BOOT, KC_INS, KC_HOME, KC_PGUP, DF(_CM), KC_LEFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
KC_TRNS, M(0), KC_DEL, KC_END, KC_PGDN, DF(_QW), KC_DEL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/planck/keymaps/that_canadian/keymap.c b/keyboards/planck/keymaps/that_canadian/keymap.c
index 8974555fb9..a9762e6e88 100644
--- a/keyboards/planck/keymaps/that_canadian/keymap.c
+++ b/keyboards/planck/keymaps/that_canadian/keymap.c
@@ -91,14 +91,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | RESET|
+ * | | | | | | | | | | | | QK_BOOT|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
),
/* Function
diff --git a/keyboards/planck/keymaps/thermal_printer/keymap.c b/keyboards/planck/keymaps/thermal_printer/keymap.c
index 9a1d0d0494..6e23014ac5 100644
--- a/keyboards/planck/keymaps/thermal_printer/keymap.c
+++ b/keyboards/planck/keymaps/thermal_printer/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, PRINT_ON, PRINT_OFF, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, PRINT_ON, PRINT_OFF, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/tk/keymap.c b/keyboards/planck/keymaps/tk/keymap.c
index 1ceb6cc5bb..c471141baa 100644
--- a/keyboards/planck/keymaps/tk/keymap.c
+++ b/keyboards/planck/keymaps/tk/keymap.c
@@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_HYPER] = LAYOUT_planck_grid(
- R_MODES, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
+ R_MODES, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
AU_TOG, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, MU_TOG,
CK_TOGG, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_MOD,
XXXXXXX, KC_WAKE, KC_SLEP, KC_PSCR, XXXXXXX, BASE, BASE, XXXXXXX, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c
index 66beaf33b7..89175e0115 100644
--- a/keyboards/planck/keymaps/tom/keymap.c
+++ b/keyboards/planck/keymaps/tom/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- C(G(S(KC_4))), RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ C(G(S(KC_4))), QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -228,7 +228,7 @@ bool music_mask_user(uint16_t keycode) {
void rgb_matrix_indicators_user(void) {
#ifdef RGB_MATRIX_ENABLE
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _RAISE:
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
diff --git a/keyboards/planck/keymaps/tomkonidas/keymap.c b/keyboards/planck/keymaps/tomkonidas/keymap.c
index 39933e8a21..e0232f69ec 100644
--- a/keyboards/planck/keymaps/tomkonidas/keymap.c
+++ b/keyboards/planck/keymaps/tomkonidas/keymap.c
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/tong92/keymap.c b/keyboards/planck/keymaps/tong92/keymap.c
index de43024c40..cf535d6c8c 100644
--- a/keyboards/planck/keymaps/tong92/keymap.c
+++ b/keyboards/planck/keymaps/tong92/keymap.c
@@ -131,7 +131,7 @@ KC_TRNS,_______ ,_______ ,MOUSE ,MOUSE ,XXXXXX
),
/* 10: mouse layer
* ,-----------------------------------------------------------------------.
-* | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| |RESET|
+* | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| |QK_BOOT|
* |-----------------------------------------------------------------------|
* | | |Mo_Le|Mo_Do|Mo_Ri| | |M_Bt1|M_WhD|M_Bt2| | |
* |-----------------------------------------------------------------------|
@@ -141,7 +141,7 @@ KC_TRNS,_______ ,_______ ,MOUSE ,MOUSE ,XXXXXX
* `-----------------------------------------------------------------------'
*/
[_MOUSE] = LAYOUT_planck_grid(
-XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,RESET,
+XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,QK_BOOT,
XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX,XXXXXXX,KC_BTN1,KC_WH_D,KC_BTN2,XXXXXXX,XXXXXXX,
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_ACL0,KC_ACL1,KC_ACL2,XXXXXXX,WINDOW,
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,EXT_MOUSE,EXT_MOUSE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,MAC
diff --git a/keyboards/planck/keymaps/ttys0/keymap.c b/keyboards/planck/keymaps/ttys0/keymap.c
index ed392bfb93..9dd1fa4ffd 100644
--- a/keyboards/planck/keymaps/ttys0/keymap.c
+++ b/keyboards/planck/keymaps/ttys0/keymap.c
@@ -128,7 +128,7 @@
#define move MO(MOVE)
#define func MO(FUNC)
-#define rset RESET
+#define rset QK_BOOT
#define powr KC_POWER
#define ____ KC_TRNS
diff --git a/keyboards/planck/keymaps/tylerwince/keymap.c b/keyboards/planck/keymaps/tylerwince/keymap.c
index 5cbc47b2fb..e6d174fbce 100644
--- a/keyboards/planck/keymaps/tylerwince/keymap.c
+++ b/keyboards/planck/keymaps/tylerwince/keymap.c
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
- RESET, _______, _______, _______, _______, LALT(LCTL(KC_7)), LALT(LCTL(KC_8)), _______, _______, _______, LALT(LCTL(KC_L)), _______,
+ QK_BOOT, _______, _______, _______, _______, LALT(LCTL(KC_7)), LALT(LCTL(KC_8)), _______, _______, _______, LALT(LCTL(KC_L)), _______,
_______, _______, _______, _______, _______, LALT(LCTL(KC_U)), LALT(LCTL(KC_I)), LALT(LCTL(KC_H)), _______, _______, _______, _______,
_______, _______, _______, LALT(LCTL(KC_J)), LALT(LCTL(KC_K)), _______, _______, _______, _______, _______, _______, LALT(LCTL(KC_ENTER)),
TO(0), TO(4), _______, _______, _______, _______, KC_NO, _______, KC_AUDIO_VOL_DOWN, KC_F14, KC_F15, KC_AUDIO_VOL_UP
@@ -168,7 +168,7 @@ void set_layer_color(int layer) {
void rgb_matrix_indicators_user(void) {
if (g_suspend_state || disable_layer_color) { return; }
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case 0:
set_layer_color(0);
break;
@@ -276,7 +276,7 @@ bool music_mask_user(uint16_t keycode) {
layer_state_t layer_state_set_user(layer_state_t state) {
palClearPad(GPIOB, 8);
palClearPad(GPIOB, 9);
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
switch (layer) {
case _LOWER:
palSetPad(GPIOB, 9);
diff --git a/keyboards/planck/keymaps/unagi/keymap.c b/keyboards/planck/keymaps/unagi/keymap.c
index 1fc1814796..e75e7386bc 100644
--- a/keyboards/planck/keymaps/unagi/keymap.c
+++ b/keyboards/planck/keymaps/unagi/keymap.c
@@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/unicode/keymap.c b/keyboards/planck/keymaps/unicode/keymap.c
index 215acaa3ab..24e7a7d901 100644
--- a/keyboards/planck/keymaps/unicode/keymap.c
+++ b/keyboards/planck/keymaps/unicode/keymap.c
@@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/vaire/keymap.c b/keyboards/planck/keymaps/vaire/keymap.c
index 71cbcd8bd0..0bd4d5893f 100644
--- a/keyboards/planck/keymaps/vaire/keymap.c
+++ b/keyboards/planck/keymaps/vaire/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_planck_grid(
TO(0), KC_LSCR, WIN_LEFT, KC_MS_WH_UP, WIN_RIGHT, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_TRNS, KC_TRNS,
KC_TRNS, KC_INS, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
- RESET, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4),
+ QK_BOOT, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4),
TO(0), KC_MENU, KC_TRNS, KC_TRNS, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RCTL),
LAYOUT_planck_grid(
diff --git a/keyboards/planck/keymaps/vxid/keymap.c b/keyboards/planck/keymaps/vxid/keymap.c
index 0494056ea2..397befcdda 100644
--- a/keyboards/planck/keymaps/vxid/keymap.c
+++ b/keyboards/planck/keymaps/vxid/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_planck_grid(
- RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/winternebs/keymap.c b/keyboards/planck/keymaps/winternebs/keymap.c
index 4bb97b27ac..614d1c1e92 100755
--- a/keyboards/planck/keymaps/winternebs/keymap.c
+++ b/keyboards/planck/keymaps/winternebs/keymap.c
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------
- * |RESET |DEBUG| |Aud on|Audoff| | | | | | |Reset |
+ * |QK_BOOT |DEBUG| |Aud on|Audoff| | | | | | |Reset |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |QWERTY|WORKMAN| | | Help | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- RESET, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______ ,
+ QK_BOOT, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, QWERTY, WORKMAN , _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_VOLU, KC_MPLY,
MAGIC_TOGGLE_NKRO, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/planck/keymaps/xjtian/keymap.c b/keyboards/planck/keymaps/xjtian/keymap.c
index f3287738d3..b338ddee0e 100644
--- a/keyboards/planck/keymaps/xjtian/keymap.c
+++ b/keyboards/planck/keymaps/xjtian/keymap.c
@@ -99,13 +99,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |Rewind| Vol- | Stop | Play | Vol+ | Skip | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * |RESET | | | | | | | | | | | |
+ * |QK_BOOT | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
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_MRWD, KC_VOLD, KC_MSTP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_MRWD, KC_VOLD, KC_MSTP, KC_MPLY, KC_VOLU, KC_MFFD, KC_NO, KC_NO, KC_NO,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
};
diff --git a/keyboards/planck/keymaps/yang/keymap.c b/keyboards/planck/keymaps/yang/keymap.c
index e9c69c9989..0a77b2be2f 100644
--- a/keyboards/planck/keymaps/yang/keymap.c
+++ b/keyboards/planck/keymaps/yang/keymap.c
@@ -36,13 +36,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RS] = LAYOUT_planck_grid( /* RAISE */
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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS,
+ KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), QK_BOOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[_LW] = LAYOUT_planck_grid( /* LOWER */
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS,
+ KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), QK_BOOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[_RGB] = LAYOUT_planck_grid( /* RGBLIGHT */
diff --git a/keyboards/planck/keymaps/zach/keymap.c b/keyboards/planck/keymaps/zach/keymap.c
index ba0338e39a..f4a79e0108 100644
--- a/keyboards/planck/keymaps/zach/keymap.c
+++ b/keyboards/planck/keymaps/zach/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
UNIWIN, XXXXXXX, XXXXXXX, PENGY, DUCK, KC_INS, KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX,
UNILIN, XXXXXXX, XXXXXXX, RANDIG, RANDIG, SWCOLE, COLEMAK, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX,
_______, CADKEY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,
- _______, _______, _______, _______, _______, RESET, RESET, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
[_UNICODES] = LAYOUT_planck_grid( /* UNICODES - Extra layer for unicode stuff */
diff --git a/keyboards/planck/keymaps/zrichard/config.h b/keyboards/planck/keymaps/zrichard/config.h
index d12c19065c..eaedf65575 100755
--- a/keyboards/planck/keymaps/zrichard/config.h
+++ b/keyboards/planck/keymaps/zrichard/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef KEYBOARD_planck_light
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#endif
/* enable basic MIDI features:
diff --git a/keyboards/planck/keymaps/zrichard/keymap.c b/keyboards/planck/keymaps/zrichard/keymap.c
index f3f60b7d1d..6494231a2a 100755
--- a/keyboards/planck/keymaps/zrichard/keymap.c
+++ b/keyboards/planck/keymaps/zrichard/keymap.c
@@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | VOICE+ | MACRO |
+ | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | QK_BOOT | XXXXXX | MOUSE | XXXXXX | XXXXXX | VOICE+ | MACRO |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| XXXXXX | XXXXXX | XXXXXX | XXXXXX | LOWER | XXXXXX | XXXXXX | UPPER | XXXXXX | TEMPO- | VOICE- | TEMPO+ |
'-----------------------------------------------------------------------------------------------------------'
@@ -214,7 +214,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_ADJUST] = LAYOUT_planck_grid(
XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, MU_TOG , AU_TOG ,
XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,
- XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, MUV_IN , MY_MACRO,
+ XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, QK_BOOT, XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, MUV_IN , MY_MACRO,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP
),
diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h
index cc7f1fe940..67b42e8c08 100644
--- a/keyboards/planck/light/config.h
+++ b/keyboards/planck/light/config.h
@@ -2,11 +2,6 @@
#include "config_common.h"
-#undef PRODUCT
-#define PRODUCT Planck Light
-#define PRODUCT_ID 0xBEA2
-#define DEVICE_VER 0x0001
-
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json
index 6169a8f991..d55de09d47 100644
--- a/keyboards/planck/light/info.json
+++ b/keyboards/planck/light/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Planck Light",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xBEA2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c
index 1967d318d4..5a7c656f1a 100644
--- a/keyboards/planck/light/light.c
+++ b/keyboards/planck/light/light.c
@@ -127,3 +127,16 @@ void suspend_wakeup_init_kb(void)
suspend_wakeup_init_user();
}
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/planck.c b/keyboards/planck/planck.c
index 6202da5250..20db22055c 100644
--- a/keyboards/planck/planck.c
+++ b/keyboards/planck/planck.c
@@ -1,18 +1,5 @@
#include "planck.h"
-#ifdef SWAP_HANDS_ENABLE
-__attribute__ ((weak))
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
- {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
- {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
- {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
-};
-# ifdef ENCODER_MAP_ENABLE
-const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
-# endif
-#endif
-
__attribute__ ((weak))
void matrix_init_kb(void) {
// Turn status LED on, with the exception of THK
diff --git a/keyboards/planck/rev1/config.h b/keyboards/planck/rev1/config.h
deleted file mode 100644
index 82f9acd8f9..0000000000
--- a/keyboards/planck/rev1/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0001
diff --git a/keyboards/planck/rev1/info.json b/keyboards/planck/rev1/info.json
index 04c6775042..2fcff227c6 100644
--- a/keyboards/planck/rev1/info.json
+++ b/keyboards/planck/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 1",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev1/rev1.c b/keyboards/planck/rev1/rev1.c
new file mode 100644
index 0000000000..e37e11cf98
--- /dev/null
+++ b/keyboards/planck/rev1/rev1.c
@@ -0,0 +1,15 @@
+#include "planck.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev2/config.h b/keyboards/planck/rev2/config.h
deleted file mode 100644
index 09ec6c4470..0000000000
--- a/keyboards/planck/rev2/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0002
diff --git a/keyboards/planck/rev2/info.json b/keyboards/planck/rev2/info.json
index 42839397cb..5d4137a9d6 100644
--- a/keyboards/planck/rev2/info.json
+++ b/keyboards/planck/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 2",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev2/rev2.c b/keyboards/planck/rev2/rev2.c
new file mode 100644
index 0000000000..e37e11cf98
--- /dev/null
+++ b/keyboards/planck/rev2/rev2.c
@@ -0,0 +1,15 @@
+#include "planck.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev3/config.h b/keyboards/planck/rev3/config.h
deleted file mode 100644
index a57e42dfbc..0000000000
--- a/keyboards/planck/rev3/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0003
diff --git a/keyboards/planck/rev3/info.json b/keyboards/planck/rev3/info.json
index 88a8741ad1..d9eaea8f41 100644
--- a/keyboards/planck/rev3/info.json
+++ b/keyboards/planck/rev3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 3",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev3/rev3.c b/keyboards/planck/rev3/rev3.c
new file mode 100644
index 0000000000..e37e11cf98
--- /dev/null
+++ b/keyboards/planck/rev3/rev3.c
@@ -0,0 +1,15 @@
+#include "planck.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev4/config.h b/keyboards/planck/rev4/config.h
deleted file mode 100644
index c802efa8d4..0000000000
--- a/keyboards/planck/rev4/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0004
diff --git a/keyboards/planck/rev4/info.json b/keyboards/planck/rev4/info.json
index 5c4d9af194..f5339f3671 100644
--- a/keyboards/planck/rev4/info.json
+++ b/keyboards/planck/rev4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 4",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.4"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev4/rev4.c b/keyboards/planck/rev4/rev4.c
new file mode 100644
index 0000000000..e37e11cf98
--- /dev/null
+++ b/keyboards/planck/rev4/rev4.c
@@ -0,0 +1,15 @@
+#include "planck.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev5/config.h b/keyboards/planck/rev5/config.h
deleted file mode 100644
index c2ff086f33..0000000000
--- a/keyboards/planck/rev5/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define PRODUCT_ID 0xAE01
-#define DEVICE_VER 0x0005
diff --git a/keyboards/planck/rev5/info.json b/keyboards/planck/rev5/info.json
index f5d667a507..4ade05c657 100644
--- a/keyboards/planck/rev5/info.json
+++ b/keyboards/planck/rev5/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 5",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xAE01",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
diff --git a/keyboards/planck/rev5/rev5.c b/keyboards/planck/rev5/rev5.c
new file mode 100644
index 0000000000..e37e11cf98
--- /dev/null
+++ b/keyboards/planck/rev5/rev5.c
@@ -0,0 +1,15 @@
+#include "planck.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h
index 778fa12fcc..3879cb7690 100644
--- a/keyboards/planck/rev6/config.h
+++ b/keyboards/planck/rev6/config.h
@@ -17,10 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0xA4F9
-#define DEVICE_VER 0x0006
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
@@ -44,7 +40,6 @@
#define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
diff --git a/keyboards/planck/rev6/info.json b/keyboards/planck/rev6/info.json
index 114a971294..bde896203f 100644
--- a/keyboards/planck/rev6/info.json
+++ b/keyboards/planck/rev6/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 6",
+ "keyboard_name": "Planck",
+ "manufacturer": "OLKB",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA4F9",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/planck/rev6/rev6.c b/keyboards/planck/rev6/rev6.c
index da6da11004..59a6b7e279 100644
--- a/keyboards/planck/rev6/rev6.c
+++ b/keyboards/planck/rev6/rev6.c
@@ -41,3 +41,22 @@ led_config_t g_led_config = { {
// 7 8 1 2
#endif
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
+ {{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, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+
+ {{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, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h
index f41d46b889..3cbee54de5 100644
--- a/keyboards/planck/rev6_drop/config.h
+++ b/keyboards/planck/rev6_drop/config.h
@@ -17,12 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0xA4F9
-#define DEVICE_VER 0x0006
-#undef MANUFACTURER
-#define MANUFACTURER Drop
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
@@ -48,7 +42,6 @@
#define MATRIX_COL_PINS \
{ B11, B10, B2, B1, A7, B0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A \
{ B12 }
diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/info.json
index 114a971294..cd8a932139 100644
--- a/keyboards/planck/rev6_drop/info.json
+++ b/keyboards/planck/rev6_drop/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Planck rev 6",
+ "keyboard_name": "Planck",
+ "manufacturer": "Drop",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA4F9",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/planck/rev6_drop/matrix.c b/keyboards/planck/rev6_drop/matrix.c
index 49e115d029..d10d94dcf8 100644
--- a/keyboards/planck/rev6_drop/matrix.c
+++ b/keyboards/planck/rev6_drop/matrix.c
@@ -15,14 +15,7 @@
* 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 "debug.h"
-#include "matrix.h"
+#include "quantum.h"
/*
* col: { B11, B10, B2, B1, A7, B0 }
@@ -38,9 +31,13 @@ __attribute__((weak)) void matrix_init_user(void) {}
__attribute__((weak)) void matrix_scan_user(void) {}
-__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); }
+__attribute__((weak)) void matrix_init_kb(void) {
+ matrix_init_user();
+}
-__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); }
+__attribute__((weak)) void matrix_scan_kb(void) {
+ matrix_scan_user();
+}
void matrix_init(void) {
dprintf("matrix init\n");
@@ -146,9 +143,13 @@ uint8_t matrix_scan(void) {
return 1;
}
-bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & (1 << col)); }
+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]; }
+matrix_row_t matrix_get_row(uint8_t row) {
+ return matrix[row];
+}
void matrix_print(void) {
dprintf("\nr/c 01234567\n");
diff --git a/keyboards/planck/rev6_drop/rev6_drop.c b/keyboards/planck/rev6_drop/rev6_drop.c
index 4c41af3806..e5d8ad9901 100644
--- a/keyboards/planck/rev6_drop/rev6_drop.c
+++ b/keyboards/planck/rev6_drop/rev6_drop.c
@@ -42,3 +42,22 @@ led_config_t g_led_config = { {
// 7 8 1 2
#endif
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
+ {{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, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+
+ {{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, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/planck/thk/config.h b/keyboards/planck/thk/config.h
index 845ef60b08..8ee347d284 100644
--- a/keyboards/planck/thk/config.h
+++ b/keyboards/planck/thk/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#include "config_common.h"
-#define DEVICE_VER 0x0000
-#undef PRODUCT
-#define PRODUCT Planck THK
-#define PRODUCT_ID 0x25A7
// THK has a different pin-out
#undef MATRIX_ROW_PINS
diff --git a/keyboards/planck/thk/info.json b/keyboards/planck/thk/info.json
index 70e1f0bd07..c8689737c0 100644
--- a/keyboards/planck/thk/info.json
+++ b/keyboards/planck/thk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Planck THK",
+ "manufacturer": "OLKB",
"maintainer": "Erovia",
"url": "https://olkb.com/planck",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x25A7",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
diff --git a/keyboards/planck/thk/keymaps/thk/keymap.c b/keyboards/planck/thk/keymaps/thk/keymap.c
index ae2420250e..e7d58d2d0b 100644
--- a/keyboards/planck/thk/keymaps/thk/keymap.c
+++ b/keyboards/planck/thk/keymaps/thk/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/thk/thk.c b/keyboards/planck/thk/thk.c
index e9912fcbb3..bd5e1a0342 100644
--- a/keyboards/planck/thk/thk.c
+++ b/keyboards/planck/thk/thk.c
@@ -16,3 +16,17 @@
*/
#include "thk.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
+# endif
+#endif
diff --git a/keyboards/playkbtw/ca66/config.h b/keyboards/playkbtw/ca66/config.h
index c65554a819..af3f2b2dbb 100644
--- a/keyboards/playkbtw/ca66/config.h
+++ b/keyboards/playkbtw/ca66/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5457 // "TW"
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Barry
-#define PRODUCT CA66
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { F5, F4, F1, B0, B3 }
#define MATRIX_COL_PINS { F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, F6, B7, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/playkbtw/ca66/info.json b/keyboards/playkbtw/ca66/info.json
index 1e14147de1..547f60de41 100644
--- a/keyboards/playkbtw/ca66/info.json
+++ b/keyboards/playkbtw/ca66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CA66",
+ "manufacturer": "Barry",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5457",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15.5, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":15.5, "y":3}, {"x":14.25, "y":3.25}, {"x":0, "y":4, "w":1.25}, {"x":2.25, "y":4}, {"x":3.25, "y":4, "w":1.25}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4, "w":2.75}, {"x":9.5, "y":4, "w":1.25}, {"x":10.75, "y":4}, {"x":11.75, "y":4, "w":1.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}]
diff --git a/keyboards/playkbtw/ca66/keymaps/kelorean/keymap.c b/keyboards/playkbtw/ca66/keymaps/kelorean/keymap.c
index a3450118a1..6258e8d7a9 100644
--- a/keyboards/playkbtw/ca66/keymaps/kelorean/keymap.c
+++ b/keyboards/playkbtw/ca66/keymaps/kelorean/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//Layer4, soft reset on Tab
[4] = LAYOUT(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
diff --git a/keyboards/playkbtw/ca66/keymaps/kelorean/layers.json b/keyboards/playkbtw/ca66/keymaps/kelorean/layers.json
index 9d7caa327d..fd28fc3f48 100644
--- a/keyboards/playkbtw/ca66/keymaps/kelorean/layers.json
+++ b/keyboards/playkbtw/ca66/keymaps/kelorean/layers.json
@@ -1 +1 @@
-[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_BSPC", "KC_PSCR", "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", "MO(3)", "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_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_PGDN", "KC_UP", "KC_NO", "KC_LCTL", "KC_LALT", "KC_BSPC", "KC_SPC", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_NO", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_UP", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "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_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_UP", "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_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RGB_HUD", "RGB_HUI", "KC_NO", "KC_NO", "KC_NO", "BL_TOGG", "BL_DEC", "BL_INC", "BL_STEP", "KC_NO", "KC_NO", "MO(4)", "KC_NO", "KC_TRNS", "RGB_TOG", "RGB_RMOD", "RGB_MOD", "RGB_VAD", "RGB_VAI", "KC_MSTP", "KC_MPLY", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RGB_SAD", "RGB_SAI", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RESET", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]] \ No newline at end of file
+[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_BSPC", "KC_PSCR", "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", "MO(3)", "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_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_PGDN", "KC_UP", "KC_NO", "KC_LCTL", "KC_LALT", "KC_BSPC", "KC_SPC", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_NO", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_UP", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "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_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_UP", "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_LEFT", "KC_DOWN", "KC_RGHT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RGB_HUD", "RGB_HUI", "KC_NO", "KC_NO", "KC_NO", "BL_TOGG", "BL_DEC", "BL_INC", "BL_STEP", "KC_NO", "KC_NO", "MO(4)", "KC_NO", "KC_TRNS", "RGB_TOG", "RGB_RMOD", "RGB_MOD", "RGB_VAD", "RGB_VAI", "KC_MSTP", "KC_MPLY", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RGB_SAD", "RGB_SAI", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]] \ No newline at end of file
diff --git a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c b/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c
index ed3d625e47..5dcd0f8a1b 100644
--- a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c
+++ b/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
LAYOUT(
- KC_PWR, 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, RESET,
+ KC_PWR, 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, QK_BOOT,
KC_CAPS, RGB_RMOD,RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_TOG, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/playkbtw/helen80/config.h b/keyboards/playkbtw/helen80/config.h
index 4e28b321d1..830b659c17 100644
--- a/keyboards/playkbtw/helen80/config.h
+++ b/keyboards/playkbtw/helen80/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706B
-#define PRODUCT_ID 0x4845
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Play Keyboard
-#define PRODUCT Helen 80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/playkbtw/helen80/info.json b/keyboards/playkbtw/helen80/info.json
index 1112fafd21..0c65363a13 100644
--- a/keyboards/playkbtw/helen80/info.json
+++ b/keyboards/playkbtw/helen80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "helen80",
+ "keyboard_name": "Helen 80",
+ "manufacturer": "Play Keyboard",
"url": "",
"maintainer": "yj7272098",
+ "usb": {
+ "vid": "0x706B",
+ "pid": "0x4845",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/playkbtw/pk60/config.h b/keyboards/playkbtw/pk60/config.h
index 0a6ee47d44..d3aaa893e0 100644
--- a/keyboards/playkbtw/pk60/config.h
+++ b/keyboards/playkbtw/pk60/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Play Keyboard
-#define PRODUCT pk60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, F7, B5, B4, D7, D6, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/playkbtw/pk60/info.json b/keyboards/playkbtw/pk60/info.json
index 96f0c1f1c4..b314708fdf 100644
--- a/keyboards/playkbtw/pk60/info.json
+++ b/keyboards/playkbtw/pk60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pk60",
+ "manufacturer": "Play Keyboard",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [{"label": "~", "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": "&amp;", "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": "Del", "x": 13, "y": 0}, {"label": "Bs", "x": 14, "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": "Caps Lock", "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": "&lt;", "x": 9.25, "y": 3}, {"label": "&gt;", "x": 10.25, "y": 3}, {"label": "?", "x": 11.25, "y": 3}, {"label": "Shift", "x": 12.25, "y": 3, "w": 1.75}, {"x": 14, "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": "Alt", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25}]
diff --git a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c b/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
index e439d4462e..193185e58d 100644
--- a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
+++ b/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_minila(
- 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, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_RMOD, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h
index 0e63f9204d..2ec5f15a39 100644
--- a/keyboards/playkbtw/pk64rgb/config.h
+++ b/keyboards/playkbtw/pk64rgb/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706B // Play Keyboard
-#define PRODUCT_ID 0x3634
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Play Keyboard
-#define PRODUCT Play Keyboard 64 RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json
index bc973f1b4c..063b58419a 100644
--- a/keyboards/playkbtw/pk64rgb/info.json
+++ b/keyboards/playkbtw/pk64rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "PK64RGB",
+ "manufacturer": "Play Keyboard",
"url": "",
"maintainer": "yj7272098",
+ "usb": {
+ "vid": "0x706B",
+ "pid": "0x3634",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/playkbtw/pk64rgb/readme.md b/keyboards/playkbtw/pk64rgb/readme.md
index 29871af7a6..c5061bc0cc 100644
--- a/keyboards/playkbtw/pk64rgb/readme.md
+++ b/keyboards/playkbtw/pk64rgb/readme.md
@@ -18,7 +18,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
You can get into bootloader by pressing the reset button from the back of PCB.
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
index 98fc81bb05..6a6713557b 100644
--- a/keyboards/ploopyco/mouse/config.h
+++ b/keyboards/ploopyco/mouse/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x4D6F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PloopyCo
-#define PRODUCT Mouse
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 8
@@ -48,7 +41,7 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ B4, D6, F1, F5, F6, F7 }
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
@@ -77,5 +70,5 @@
// #define DEBUG_LED_PIN F7
-/* PMW3360 Settings */
-#define PMW3360_CS_PIN B0
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json
index 593583176d..f672336c25 100644
--- a/keyboards/ploopyco/mouse/info.json
+++ b/keyboards/ploopyco/mouse/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "PloopyCo Mouse",
+ "keyboard_name": "Mouse",
+ "manufacturer": "PloopyCo",
"url": "www.ploopy.co",
"maintainer": "drashna",
+ "usb": {
+ "vid": "0x5043",
+ "pid": "0x4D6F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c b/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
index da328fff04..a072dfceca 100644
--- a/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
+++ b/keyboards/ploopyco/mouse/keymaps/drag_scroll/keymap.c
@@ -22,6 +22,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(/* Base */
C(KC_C), KC_BTN1, KC_BTN3, LT(1, KC_BTN2), C(KC_V), KC_BTN4, KC_BTN5, DPI_CONFIG),
[1] = LAYOUT(/* Base */
- _______, DRAG_SCROLL, _______, _______, _______, _______, _______, RESET),
+ _______, DRAG_SCROLL, _______, _______, _______, _______, _______, QK_BOOT),
};
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/config.h b/keyboards/ploopyco/mouse/keymaps/drashna/config.h
index 9aa9a40769..1dc1b7695f 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/config.h
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/config.h
@@ -28,4 +28,4 @@
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_SLEEP
-#define MOUSE_EXT_REPORT
+#define MOUSE_EXTENDED_REPORT
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
index ee0f653dee..056a1f7903 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
@@ -19,20 +19,23 @@
// safe range starts at `PLOOPY_SAFE_RANGE` instead.
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(/* Base */
+ [0] = LAYOUT(
C(KC_C), KC_BTN1, KC_BTN3, KC_BTN2, MO(1), KC_BTN4, KC_BTN5, DPI_CONFIG),
- [1] = LAYOUT(/* Base */
+ [1] = LAYOUT(
RGB_HUI, RGB_MOD, RGB_TOG, RGB_RMOD, MO(1), KC_VOLU, KC_VOLD, QK_BOOT)
-
};
+// clang-format on
+#ifdef RGBLIGHT_ENABLE
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
+# ifdef RGBLIGHT_EFFECT_TWINKLE
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5);
+# else
+ rgblight_mode(RGBLIGHT_MODE_BREATHING + 5);
+# endif
rgblight_sethsv(HSV_MAGENTA);
}
+#endif
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/rules.mk b/keyboards/ploopyco/mouse/keymaps/drashna/rules.mk
index 655dbfdfa0..bd3927a4b1 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/rules.mk
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/rules.mk
@@ -1,5 +1,6 @@
USER_NAME := not_drashna
+BOOTLOADER = qmk-hid
RGBLIGHT_ENABLE = yes
CONSOLE_ENABLE = no
-LTO_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/ploopyco/mouse/mouse.c b/keyboards/ploopyco/mouse/mouse.c
index 25ebd1ee2d..19bc17738e 100644
--- a/keyboards/ploopyco/mouse/mouse.c
+++ b/keyboards/ploopyco/mouse/mouse.c
@@ -111,7 +111,7 @@ void process_wheel(void) {
int dir = opt_encoder_handler(p1, p2);
if (dir == 0) return;
- encoder_update_kb(0, dir == 1);
+ encoder_update_kb(0, dir > 0);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
@@ -199,8 +199,8 @@ void keyboard_pre_init_kb(void) {
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
*/
-#ifdef UNUSED_PINS
- const pin_t unused_pins[] = UNUSED_PINS;
+#ifdef UNUSABLE_PINS
+ const pin_t unused_pins[] = UNUSABLE_PINS;
for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) {
setPinOutput(unused_pins[i]);
diff --git a/keyboards/ploopyco/opt_encoder.c b/keyboards/ploopyco/opt_encoder.c
index 8698351c26..226db0a809 100644
--- a/keyboards/ploopyco/opt_encoder.c
+++ b/keyboards/ploopyco/opt_encoder.c
@@ -15,6 +15,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "opt_encoder.h"
+#include <stdbool.h>
+
+enum State { HIHI, HILO, LOLO, LOHI };
enum State state;
@@ -44,6 +47,12 @@ int arHighA[SCROLLER_AR_SIZE];
int arLowB[SCROLLER_AR_SIZE];
int arHighB[SCROLLER_AR_SIZE];
+void calculateThresholdA(int curA);
+void calculateThresholdB(int curB);
+int calculateThreshold(int cur, int* low, int* high, bool* cLow, bool* cHigh, int arLow[], int arHigh[], int* lowIndex, int* highIndex, bool* lowOverflow, bool* highOverflow);
+int thresholdEquation(int lo, int hi);
+void incrementIndex(int* index, bool* ovflw);
+
/* Setup function for the scroll wheel. Initializes
the relevant variables. */
void opt_encoder_init(void) {
@@ -70,7 +79,7 @@ void opt_encoder_init(void) {
scrollThresholdB = 0;
}
-int opt_encoder_handler(int curA, int curB) {
+int8_t opt_encoder_handler(uint16_t curA, uint16_t curB) {
if (lowOverflowA == false || highOverflowA == false) calculateThresholdA(curA);
if (lowOverflowB == false || highOverflowB == false) calculateThresholdB(curB);
diff --git a/keyboards/ploopyco/opt_encoder.h b/keyboards/ploopyco/opt_encoder.h
index 17c25bc86f..8e5159f91c 100644
--- a/keyboards/ploopyco/opt_encoder.h
+++ b/keyboards/ploopyco/opt_encoder.h
@@ -16,7 +16,7 @@
*/
#pragma once
-#include <stdbool.h>
+#include <stdint.h>
#ifndef SCROLLER_AR_SIZE
# define SCROLLER_AR_SIZE 31
@@ -26,41 +26,7 @@
# define SCROLL_THRESH_RANGE_LIM 10
#endif
-enum State { HIHI, HILO, LOLO, LOHI };
-
-extern enum State state;
-
-/* Variables used for scroll wheel functionality. */
-extern bool lohif;
-extern bool hilof;
-extern int lowA;
-extern int highA;
-extern bool cLowA;
-extern bool cHighA;
-extern int lowIndexA;
-extern int highIndexA;
-extern bool lowOverflowA;
-extern bool highOverflowA;
-extern int lowB;
-extern int highB;
-extern bool cLowB;
-extern bool cHighB;
-extern int lowIndexB;
-extern int highIndexB;
-extern bool lowOverflowB;
-extern bool highOverflowB;
-extern int scrollThresholdA;
-extern int scrollThresholdB;
-extern int arLowA[SCROLLER_AR_SIZE];
-extern int arHighA[SCROLLER_AR_SIZE];
-extern int arLowB[SCROLLER_AR_SIZE];
-extern int arHighB[SCROLLER_AR_SIZE];
-
-void calculateThresholdA(int curA);
-void calculateThresholdB(int curB);
-int calculateThreshold(int cur, int* low, int* high, bool* cLow, bool* cHigh, int arLow[], int arHigh[], int* lowIndex, int* highIndex, bool* lowOverflow, bool* highOverflow);
-int thresholdEquation(int lo, int hi);
-void incrementIndex(int* index, bool* ovflw);
-
void opt_encoder_init(void);
-int opt_encoder_handler(int curA, int curB);
+/* Return the rotation direction, positive value means clockwise, negative value
+ * means counter-clockwise */
+int8_t opt_encoder_handler(uint16_t curA, uint16_t curB);
diff --git a/keyboards/ploopyco/opt_encoder_simple.c b/keyboards/ploopyco/opt_encoder_simple.c
new file mode 100644
index 0000000000..c30deb9ca4
--- /dev/null
+++ b/keyboards/ploopyco/opt_encoder_simple.c
@@ -0,0 +1,147 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2020 Ploopy Corporation
+ * Copyright 2022 Leorize <leorize+oss@disroot.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "opt_encoder.h"
+#include "util.h"
+#include <stdbool.h>
+#include <stdint.h>
+
+/* An alternative implementation for interpreting the encoder status:
+ *
+ * From graphing the phototransistor voltages, the peak and baseline appears to
+ * be rather stable. Therefore there is no need to average them out, and instead
+ * just simply store the min and max voltages of each phototransistor.
+ *
+ * This algorithm then distinguish between high and low states by employing an
+ * approach similar to a Schmitt trigger: a low and high threshold is defined
+ * for each phototransistor based on their min and max voltages.
+ *
+ * Currently, the thresholds are:
+ *
+ * * High threshold: The upper quarter of the voltage range.
+ * * Low threshold: The lower quarter of the voltage range.
+ *
+ * these thresholds are defined for each phototransistor.
+ *
+ * For a state to cross from high -> low, it must fall below the low threshold.
+ * Similarly, to cross from low -> high, the voltage must be higher than the
+ * high threshold.
+ *
+ * Having two distinct thresholds filters out the bulk of noise from the
+ * phototransistors.
+ *
+ * For converting the resulting high and low signals into rotation, a simple
+ * quadrature decoder is used.
+ */
+
+/* The minimum value returned by the ADC */
+#define ENCODER_MIN 0
+/* The maximum value returned by the ADC */
+#define ENCODER_MAX 1023
+
+/* Utilities for composing the encoder state */
+#define MAKE_STATE(HI_A, HI_B) (((uint8_t)((HI_A) & 0x1) << 1) | ((uint8_t)((HI_B) & 0x1)))
+#define STATE_A(st) ((st & 0x2) >> 1)
+#define STATE_B(st) (st & 0x1)
+#define LOLO MAKE_STATE(0, 0)
+#define HILO MAKE_STATE(1, 0)
+#define LOHI MAKE_STATE(0, 1)
+
+typedef enum {
+ CALIBRATION, /* Recalibrate encoder state by waiting for a 01 -> 00 or 10 -> 00 transistion */
+ DECODE /* Translate changes in the encoder state into movement */
+} encoder_state_t;
+
+static encoder_state_t mode;
+
+static uint8_t lastState;
+
+static uint16_t lowA;
+static uint16_t highA;
+static uint16_t lowB;
+static uint16_t highB;
+
+#define MOVE_UP 1
+#define MOVE_DOWN -1
+#define MOVE_NONE 0
+#define MOVE_ERR 0x7F
+static const uint8_t movement[] = {
+ // 00 -> 00, 01, 10, 11
+ MOVE_NONE, MOVE_DOWN, MOVE_UP, MOVE_ERR,
+ // 01 -> 00, 01, 10, 11
+ MOVE_UP, MOVE_NONE, MOVE_ERR, MOVE_DOWN,
+ // 10 -> 00, 01, 10, 11
+ MOVE_DOWN, MOVE_ERR, MOVE_NONE, MOVE_UP,
+ // 11 -> 00, 01, 10, 11
+ MOVE_ERR, MOVE_UP, MOVE_DOWN, MOVE_NONE
+};
+
+void opt_encoder_init(void) {
+ mode = CALIBRATION;
+ lastState = 0;
+
+ lowA = ENCODER_MAX;
+ lowB = ENCODER_MAX;
+ highA = ENCODER_MIN;
+ highB = ENCODER_MIN;
+}
+
+int8_t opt_encoder_handler(uint16_t encA, uint16_t encB) {
+ int8_t result = 0;
+
+ highA = MAX(encA, highA);
+ lowA = MIN(encA, lowA);
+ highB = MAX(encB, highB);
+ lowB = MIN(encB, lowB);
+
+ /* Only compute the thresholds after a large enough range is established */
+ if (highA - lowA > SCROLL_THRESH_RANGE_LIM && highB - lowB > SCROLL_THRESH_RANGE_LIM) {
+ const int16_t lowThresholdA = (highA + lowA) / 4;
+ const int16_t highThresholdA = (highA + lowA) - lowThresholdA;
+ const int16_t lowThresholdB = (highB + lowB) / 4;
+ const int16_t highThresholdB = (highB + lowB) - lowThresholdB;
+
+ uint8_t state = MAKE_STATE(
+ STATE_A(lastState) ? encA > lowThresholdA : encA > highThresholdA,
+ STATE_B(lastState) ? encB > lowThresholdB : encB > highThresholdB
+ );
+
+ switch (mode) {
+ case CALIBRATION:
+ if ((lastState == HILO && state == LOLO)
+ || (lastState == LOHI && state == LOLO))
+ mode = DECODE;
+ else
+ mode = CALIBRATION;
+ break;
+
+ case DECODE:
+ result = movement[lastState * 4 + state];
+ /* If we detect a state change that should not be possible,
+ * then the wheel might have moved too fast and we need to
+ * recalibrate the encoder position. */
+ mode = result == MOVE_ERR ? CALIBRATION : mode;
+ result = result == MOVE_ERR ? MOVE_NONE : result;
+
+ break;
+ }
+
+ lastState = state;
+ }
+
+ return result;
+}
diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h
index dd068e4838..54a301b0d2 100644
--- a/keyboards/ploopyco/trackball/config.h
+++ b/keyboards/ploopyco/trackball/config.h
@@ -20,12 +20,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x5442
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -53,6 +47,6 @@
// If board has a debug LED, you can enable it by defining this
// #define DEBUG_LED_PIN F7
-/* PMW3360 Settings */
-#define PMW3360_CS_PIN B0
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
#define POINTING_DEVICE_INVERT_Y
diff --git a/keyboards/ploopyco/trackball/info.json b/keyboards/ploopyco/trackball/info.json
index d144261c96..feb458e1c5 100644
--- a/keyboards/ploopyco/trackball/info.json
+++ b/keyboards/ploopyco/trackball/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "PloopyCo Trackball",
+ "keyboard_name": "Trackball",
+ "manufacturer": "PloopyCo",
"url": "www.ploopy.co",
"maintainer": "drashna",
- "manufacturer": "Ploopy Corporation",
+ "usb": {
+ "vid": "0x5043",
+ "pid": "0x5442",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball/rev1/config.h b/keyboards/ploopyco/trackball/rev1/config.h
index 2908f09602..3db085baf2 100644
--- a/keyboards/ploopyco/trackball/rev1/config.h
+++ b/keyboards/ploopyco/trackball/rev1/config.h
@@ -35,7 +35,7 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ D1, D3, B4, B6, B7, D6, C7, F6, F5, F3, F7 }
// If board has a debug LED, you can enable it by defining this
diff --git a/keyboards/ploopyco/trackball/rev1_005/config.h b/keyboards/ploopyco/trackball/rev1_005/config.h
index 83e70181de..321e3004d1 100644
--- a/keyboards/ploopyco/trackball/rev1_005/config.h
+++ b/keyboards/ploopyco/trackball/rev1_005/config.h
@@ -35,7 +35,7 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
// If board has a debug LED, you can enable it by defining this
diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c
index f819958734..786b40f9e8 100644
--- a/keyboards/ploopyco/trackball/trackball.c
+++ b/keyboards/ploopyco/trackball/trackball.c
@@ -112,14 +112,19 @@ void process_wheel(void) {
int dir = opt_encoder_handler(p1, p2);
if (dir == 0) return;
- encoder_update_kb(0, dir == 1);
+ encoder_update_kb(0, dir > 0);
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
process_wheel();
if (is_drag_scroll) {
+#ifdef PLOOPY_DRAGSCROLL_H_INVERT
+ // Invert horizontal scroll direction
+ mouse_report.h = -mouse_report.x;
+#else
mouse_report.h = mouse_report.x;
+#endif
#ifdef PLOOPY_DRAGSCROLL_INVERT
// Invert vertical scroll direction
mouse_report.v = -mouse_report.y;
@@ -199,8 +204,8 @@ void keyboard_pre_init_kb(void) {
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
*/
-#ifdef UNUSED_PINS
- const pin_t unused_pins[] = UNUSED_PINS;
+#ifdef UNUSABLE_PINS
+ const pin_t unused_pins[] = UNUSABLE_PINS;
for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) {
setPinOutput(unused_pins[i]);
diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h
index 9c53f1f501..bf7570f364 100644
--- a/keyboards/ploopyco/trackball_mini/config.h
+++ b/keyboards/ploopyco/trackball_mini/config.h
@@ -21,12 +21,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x1EAB
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball Mini
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
diff --git a/keyboards/ploopyco/trackball_mini/info.json b/keyboards/ploopyco/trackball_mini/info.json
index 67d62cc2b9..f465a7a21e 100644
--- a/keyboards/ploopyco/trackball_mini/info.json
+++ b/keyboards/ploopyco/trackball_mini/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "Ploopy Trackball Mini",
+ "keyboard_name": "Trackball Mini",
+ "manufacturer": "PloopyCo",
"url": "www.ploopy.co",
"maintainer": "ploopyco",
- "manufacturer": "Ploopy Corporation",
+ "usb": {
+ "vid": "0x5043",
+ "pid": "0x1EAB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball_mini/rev1_001/config.h b/keyboards/ploopyco/trackball_mini/rev1_001/config.h
index 06720b8fdf..d4c9d23bec 100644
--- a/keyboards/ploopyco/trackball_mini/rev1_001/config.h
+++ b/keyboards/ploopyco/trackball_mini/rev1_001/config.h
@@ -36,5 +36,5 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ B5, C7, D0, D1, D3, D5, D6, F1, F3, F5, F6, F7 }
diff --git a/keyboards/ploopyco/trackball_mini/rev1_002/config.h b/keyboards/ploopyco/trackball_mini/rev1_002/config.h
index 06720b8fdf..d4c9d23bec 100644
--- a/keyboards/ploopyco/trackball_mini/rev1_002/config.h
+++ b/keyboards/ploopyco/trackball_mini/rev1_002/config.h
@@ -36,5 +36,5 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ B5, C7, D0, D1, D3, D5, D6, F1, F3, F5, F6, F7 }
diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c
index e4b4a47c2b..df13912af4 100644
--- a/keyboards/ploopyco/trackball_mini/trackball_mini.c
+++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c
@@ -111,10 +111,10 @@ void process_wheel(void) {
if (debug_encoder) dprintf("OPT1: %d, OPT2: %d\n", p1, p2);
- uint8_t dir = opt_encoder_handler(p1, p2);
+ int8_t dir = opt_encoder_handler(p1, p2);
if (dir == 0) return;
- encoder_update_kb(0, dir == 1);
+ encoder_update_kb(0, dir > 0);
}
void pointing_device_init_kb(void) {
@@ -200,8 +200,8 @@ void keyboard_pre_init_kb(void) {
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
*/
-#ifdef UNUSED_PINS
- const pin_t unused_pins[] = UNUSED_PINS;
+#ifdef UNUSABLE_PINS
+ const pin_t unused_pins[] = UNUSABLE_PINS;
for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) {
setPinOutput(unused_pins[i]);
diff --git a/keyboards/ploopyco/trackball_nano/config.h b/keyboards/ploopyco/trackball_nano/config.h
index 985ddc09ba..fb340a4ec3 100644
--- a/keyboards/ploopyco/trackball_nano/config.h
+++ b/keyboards/ploopyco/trackball_nano/config.h
@@ -21,12 +21,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5043
-#define PRODUCT_ID 0x54A3
-#define DEVICE_VER 0x0001
-#define PRODUCT Trackball Nano
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
diff --git a/keyboards/ploopyco/trackball_nano/info.json b/keyboards/ploopyco/trackball_nano/info.json
index a788ce9eb1..cf9b78a4f3 100644
--- a/keyboards/ploopyco/trackball_nano/info.json
+++ b/keyboards/ploopyco/trackball_nano/info.json
@@ -1,8 +1,13 @@
{
- "keyboard_name": "Ploopy Trackball Nano",
+ "keyboard_name": "Trackball Nano",
+ "manufacturer": "PloopyCo",
"url": "www.ploopy.co",
"maintainer": "ploopyco",
- "manufacturer": "Ploopy Corporation",
+ "usb": {
+ "vid": "0x5043",
+ "pid": "0x54A3",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/lkbm/keymap.c b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/keymap.c
new file mode 100644
index 0000000000..6c3a38d127
--- /dev/null
+++ b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/keymap.c
@@ -0,0 +1,167 @@
+/* Copyright 2022 Aidan Gauland
+ * 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 QMK_KEYBOARD_H
+#include "print.h"
+
+#define NUM_LOCK_BITMASK 0b01
+#define CAPS_LOCK_BITMASK 0b10
+
+// World record for fastest index finger tapping is 1092 taps per minute, which
+// is 55ms for a single tap.
+// https://recordsetter.com/world-record/index-finger-taps-minute/46066
+#define LED_CMD_TIMEOUT 25
+#define DELTA_X_THRESHOLD 60
+#define DELTA_Y_THRESHOLD 15
+
+typedef enum {
+ // You could theoretically define 0b00 and send it by having a macro send
+ // the second tap after LED_CMD_TIMEOUT has elapsed.
+ // CMD_EXTRA = 0b00,
+ TG_SCROLL = 0b01,
+ CYC_DPI = 0b10,
+ CMD_RESET = 0b11 // CMD_ prefix to avoid clash with QMK macro
+} led_cmd_t;
+
+// State
+static bool scroll_enabled = false;
+static bool num_lock_state = false;
+static bool caps_lock_state = false;
+static bool in_cmd_window = false;
+static int8_t delta_x = 0;
+static int8_t delta_y = 0;
+
+typedef struct {
+ led_cmd_t led_cmd;
+ uint8_t num_lock_count;
+ uint8_t caps_lock_count;
+} cmd_window_state_t;
+
+// Dummy
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{KC_NO}}};
+
+report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
+ if (scroll_enabled) {
+ delta_x += mouse_report.x;
+ delta_y += mouse_report.y;
+
+ if (delta_x > DELTA_X_THRESHOLD) {
+ mouse_report.h = 1;
+ delta_x = 0;
+ } else if (delta_x < -DELTA_X_THRESHOLD) {
+ mouse_report.h = -1;
+ delta_x = 0;
+ }
+
+ if (delta_y > DELTA_Y_THRESHOLD) {
+ mouse_report.v = -1;
+ delta_y = 0;
+ } else if (delta_y < -DELTA_Y_THRESHOLD) {
+ mouse_report.v = 1;
+ delta_y = 0;
+ }
+ mouse_report.x = 0;
+ mouse_report.y = 0;
+ }
+ return mouse_report;
+}
+
+void keyboard_post_init_user(void) {
+ num_lock_state = host_keyboard_led_state().num_lock;
+ caps_lock_state = host_keyboard_led_state().caps_lock;
+}
+
+uint32_t command_timeout(uint32_t trigger_time, void *cb_arg) {
+ cmd_window_state_t *cmd_window_state = (cmd_window_state_t *)cb_arg;
+# ifdef CONSOLE_ENABLE
+ uprintf("Received command 0b%02b (", cmd_window_state->led_cmd);
+# endif
+ switch (cmd_window_state->led_cmd) {
+ case TG_SCROLL:
+# ifdef CONSOLE_ENABLE
+ uprint("TG_SCROLL)\n");
+# endif
+ scroll_enabled = !scroll_enabled;
+ break;
+ case CYC_DPI:
+# ifdef CONSOLE_ENABLE
+ uprint("CYC_DPI)\n");
+# endif
+ cycle_dpi();
+ break;
+ case CMD_RESET:
+# ifdef CONSOLE_ENABLE
+ uprint("QK_BOOT)\n");
+# endif
+ reset_keyboard();
+ break;
+ default:
+# ifdef CONSOLE_ENABLE
+ uprint("unknown)\n");
+# endif
+ // Ignore unrecognised commands.
+ break;
+ }
+ cmd_window_state->led_cmd = 0;
+ cmd_window_state->num_lock_count = 0;
+ cmd_window_state->caps_lock_count = 0;
+ in_cmd_window = false;
+
+ return 0; // Don't repeat
+}
+
+bool led_update_user(led_t led_state) {
+ static cmd_window_state_t cmd_window_state = {
+ .led_cmd = 0b00,
+ .num_lock_count = 0,
+ .caps_lock_count = 0
+ };
+
+ // Start timer to end command window if we are not already in the middle of
+ // one.
+ if (!in_cmd_window) {
+ in_cmd_window = true;
+ defer_exec(LED_CMD_TIMEOUT, command_timeout, &cmd_window_state);
+ }
+
+ // Set num lock and caps lock bits when each is toggled on and off within
+ // the window.
+ if (led_state.num_lock != num_lock_state) {
+ cmd_window_state.num_lock_count++;
+
+ if (cmd_window_state.num_lock_count == 2) {
+ cmd_window_state.led_cmd |= NUM_LOCK_BITMASK;
+ cmd_window_state.num_lock_count = 0;
+ }
+ }
+
+ if (led_state.caps_lock != caps_lock_state) {
+ cmd_window_state.caps_lock_count++;
+
+ if (cmd_window_state.caps_lock_count == 2) {
+ cmd_window_state.led_cmd |= CAPS_LOCK_BITMASK;
+ cmd_window_state.caps_lock_count = 0;
+ }
+ }
+
+ // Keep our copy of the LED states in sync with the host.
+ num_lock_state = led_state.num_lock;
+ caps_lock_state = led_state.caps_lock;
+ return true;
+}
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/lkbm/readme.md b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/readme.md
new file mode 100644
index 0000000000..3b2f698e52
--- /dev/null
+++ b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/readme.md
@@ -0,0 +1,2 @@
+# The keymap that takes commands as LED-Key BitMasks (lkbm)
+Based on [maddie](../maddie), this keymap lets you send a 2-bit command by having a macro on your keyboard tap `KC_NUM_LOCK` and `KC_CAPS_LOCK` on and off within a very short window (25ms by default) to represent bits 1 and 2 respectively. The keymap uses this to allow toggling between sending mouse-movement events and scrolling events; cycling DPI presets, and resetting to the bootloader, so you can reflash without having to unscrew your Ploopy Nano.
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/lkbm/rules.mk b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/rules.mk
new file mode 100644
index 0000000000..199bad85f3
--- /dev/null
+++ b/keyboards/ploopyco/trackball_nano/keymaps/lkbm/rules.mk
@@ -0,0 +1 @@
+DEFERRED_EXEC_ENABLE = yes
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c b/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
index 14a7804cc2..5e9b3e8e19 100644
--- a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
+++ b/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
@@ -27,6 +27,10 @@
bool scroll_enabled = false;
bool lock_state = false;
+// State
+static int8_t delta_x = 0;
+static int8_t delta_y = 0;
+
// Dummy
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
diff --git a/keyboards/ploopyco/trackball_nano/rev1_001/config.h b/keyboards/ploopyco/trackball_nano/rev1_001/config.h
index 6d265d7233..3bde88487a 100644
--- a/keyboards/ploopyco/trackball_nano/rev1_001/config.h
+++ b/keyboards/ploopyco/trackball_nano/rev1_001/config.h
@@ -33,5 +33,5 @@
// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
-#define UNUSED_PINS \
+#define UNUSABLE_PINS \
{ B5, B6, C7, D0, D1, D2, D3, D4, D5, D6, D7, E6, F1, F3, F5, F6, F7 }
diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.c b/keyboards/ploopyco/trackball_nano/trackball_nano.c
index e208a728cb..eb1d8e10b0 100644
--- a/keyboards/ploopyco/trackball_nano/trackball_nano.c
+++ b/keyboards/ploopyco/trackball_nano/trackball_nano.c
@@ -52,6 +52,14 @@ keyboard_config_t keyboard_config;
uint16_t dpi_array[] = PLOOPY_DPI_OPTIONS;
#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t))
+void cycle_dpi(void) {
+ keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE;
+ pointing_device_set_cpi(dpi_array[keyboard_config.dpi_config]);
+#ifdef CONSOLE_ENABLE
+ uprintf("DPI is now %d\n", dpi_array[keyboard_config.dpi_config]);
+#endif
+}
+
// TODO: Implement libinput profiles
// https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html
// Compile time accel selection
@@ -78,8 +86,8 @@ void keyboard_pre_init_kb(void) {
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
*/
-#ifdef UNUSED_PINS
- const pin_t unused_pins[] = UNUSED_PINS;
+#ifdef UNUSABLE_PINS
+ const pin_t unused_pins[] = UNUSABLE_PINS;
for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) {
setPinOutput(unused_pins[i]);
diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.h b/keyboards/ploopyco/trackball_nano/trackball_nano.h
index 5f16e96c41..d971627fc6 100644
--- a/keyboards/ploopyco/trackball_nano/trackball_nano.h
+++ b/keyboards/ploopyco/trackball_nano/trackball_nano.h
@@ -36,3 +36,5 @@ enum ploopy_keycodes {
DPI_CONFIG = SAFE_RANGE,
PLOOPY_SAFE_RANGE,
};
+
+void cycle_dpi(void);
diff --git a/keyboards/pluckey/config.h b/keyboards/pluckey/config.h
index f98318437b..152b8c3169 100644
--- a/keyboards/pluckey/config.h
+++ b/keyboards/pluckey/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF100
-#define PRODUCT_ID 0x91CE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER floookay
-#define PRODUCT pluckey
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, F5, F6, B6, B5 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, F7 }
-#define UNUSED_PINS { F4, B1 }
#define DIODE_DIRECTION COL2ROW
/* encoder support */
diff --git a/keyboards/pluckey/info.json b/keyboards/pluckey/info.json
index de58bee802..594cc6a7d3 100644
--- a/keyboards/pluckey/info.json
+++ b/keyboards/pluckey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pluckey",
+ "manufacturer": "floookay",
"url": "https://github.com/floookay/pluckey",
"maintainer": "floookay",
+ "usb": {
+ "vid": "0xF100",
+ "pid": "0x91CE",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/pluckey/keymaps/manna-harbour_miryoku/config.h b/keyboards/pluckey/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..19976c2c2d
--- /dev/null
+++ b/keyboards/pluckey/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2021 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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
+
+#define LAYOUT_miryoku( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
+XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+ XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX \
+)
diff --git a/keyboards/pluckey/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/pluckey/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..3da5ed16ae
--- /dev/null
+++ b/keyboards/pluckey/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,4 @@
+// Copyright 2021 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/plum47/info.json b/keyboards/plum47/info.json
new file mode 100644
index 0000000000..9ad37d1768
--- /dev/null
+++ b/keyboards/plum47/info.json
@@ -0,0 +1,80 @@
+{
+ "manufacturer": "Masayuki Takagi",
+ "keyboard_name": "plum47",
+ "maintainer": "awh-tokyo",
+ "bootloader": "caterina",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
+ "rows": ["D1", "D0", "D4", "C6"]
+ },
+ "processor": "atmega32u4",
+ "url": "ihttps://github.com/takagi/plum47_buildguide",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x5E14",
+ "vid": "0xFEED"
+ },
+ "debounce": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [1, 5], "x": 5, "y": 1 },
+ { "matrix": [1, 6], "x": 6, "y": 1 },
+ { "matrix": [1, 7], "x": 7, "y": 1 },
+ { "matrix": [1, 8], "x": 8, "y": 1 },
+ { "matrix": [1, 9], "x": 9, "y": 1 },
+ { "matrix": [1, 10], "x": 10, "y": 1 },
+ { "matrix": [1, 11], "x": 11, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 },
+ { "matrix": [2, 5], "x": 5, "y": 2 },
+ { "matrix": [2, 6], "x": 6, "y": 2 },
+ { "matrix": [2, 7], "x": 7, "y": 2 },
+ { "matrix": [2, 8], "x": 8, "y": 2 },
+ { "matrix": [2, 9], "x": 9, "y": 2 },
+ { "matrix": [2, 10], "x": 10, "y": 2 },
+ { "matrix": [2, 11], "x": 11, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+ { "matrix": [3, 4], "x": 4, "y": 3 },
+ { "matrix": [3, 5], "x": 5, "y": 3, "w": 2 },
+ { "matrix": [3, 7], "x": 7, "y": 3 },
+ { "matrix": [3, 8], "x": 8, "y": 3 },
+ { "matrix": [3, 9], "x": 9, "y": 3 },
+ { "matrix": [3, 10], "x": 10, "y": 3 },
+ { "matrix": [3, 11], "x": 11, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/plum47/keymaps/default/keymap.c b/keyboards/plum47/keymaps/default/keymap.c
new file mode 100644
index 0000000000..dc6642d7f1
--- /dev/null
+++ b/keyboards/plum47/keymaps/default/keymap.c
@@ -0,0 +1,84 @@
+/* Copyright 2020 Masayuki Takagi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_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,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_NO, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_DEL, 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, _______, _______, KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+)
+
+};
+
diff --git a/keyboards/plum47/keymaps/via/keymap.c b/keyboards/plum47/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8927fa4f76
--- /dev/null
+++ b/keyboards/plum47/keymaps/via/keymap.c
@@ -0,0 +1,92 @@
+/* Copyright 2020 Masayuki Takagi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _BLANK
+};
+
+#define LOWER FN_MO13
+#define RAISE FN_MO23
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_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,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_NO, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_DEL, 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, _______, _______, KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+// Blank layer because via needs 4 by default
+[_BLANK] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+};
+
diff --git a/keyboards/plum47/keymaps/via/rules.mk b/keyboards/plum47/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/plum47/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/plum47/readme.md b/keyboards/plum47/readme.md
new file mode 100644
index 0000000000..7e8745249c
--- /dev/null
+++ b/keyboards/plum47/readme.md
@@ -0,0 +1,28 @@
+# plum47
+
+![plum47](https://i.imgur.com/t3rjsWIh.png)
+
+Plum47 is a 4-row, 12-column (47 key) ortholinear keyboard sold domestically in Japan as a
+home build kit. It features MX sockets for hot-swap keyswitch support, and a bezel-less
+acrylic sandwich case. The controller is a Pro Micro.
+
+* Keyboard Developer: [Masayuki Takagi](https://github.com/takagi)
+* Keyboard submitted by [Andrew Hamilton](https://github.com/awh-tokyo)
+* Hardware Supported: plum47 keyboard kit including PCB and Pro Micro controller
+* Hardware Availability: https://shop.yushakobo.jp/products/consign_plum47
+
+Make example for this keyboard (after setting up your build environment):
+
+ make plum47:default
+
+Flashing example for this keyboard:
+
+ make plum47:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader as follows:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
diff --git a/keyboards/plum47/rules.mk b/keyboards/plum47/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/plum47/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/plume/plume65/config.h b/keyboards/plume/plume65/config.h
index b7d91e1023..0a9cf3ceca 100644
--- a/keyboards/plume/plume65/config.h
+++ b/keyboards/plume/plume65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5D66
-#define PRODUCT_ID 0x22CF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Plume Keyboards LLC
-#define PRODUCT Plume65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { D2, D5, E6, D0, D1 }
#define MATRIX_COL_PINS { B7, F7, C7, C6, B6, F0, B5, F1, B4, F4, D7, F5, D6, F6, D4 }
-#define UNUSED_PINS { }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/plume/plume65/info.json b/keyboards/plume/plume65/info.json
index f41e8eba55..eb9bc6fcd9 100644
--- a/keyboards/plume/plume65/info.json
+++ b/keyboards/plume/plume65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Plume65",
+ "manufacturer": "Plume Keyboards LLC",
"url": "",
"maintainer": "evyd13",
+ "usb": {
+ "vid": "0x5D66",
+ "pid": "0x22CF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_iso": {
"layout": [
diff --git a/keyboards/plut0nium/0x3e/config.h b/keyboards/plut0nium/0x3e/config.h
index 055fe63ce7..86ec6d2f15 100644
--- a/keyboards/plut0nium/0x3e/config.h
+++ b/keyboards/plut0nium/0x3e/config.h
@@ -19,13 +19,6 @@ 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 0x3E01
-#define DEVICE_VER 0x0001
-#define MANUFACTURER plut0nium
-#define PRODUCT 0x3E
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D5, D4, D6, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/plut0nium/0x3e/info.json b/keyboards/plut0nium/0x3e/info.json
index 552dc478c2..8f00fa9a3c 100644
--- a/keyboards/plut0nium/0x3e/info.json
+++ b/keyboards/plut0nium/0x3e/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "0x3E",
+ "manufacturer": "plut0nium",
"url": "",
"maintainer": "plut0nium",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3E01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/plx/config.h b/keyboards/plx/config.h
index 68708beccf..74cf3dee8f 100644
--- a/keyboards/plx/config.h
+++ b/keyboards/plx/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE972
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Peac Design
-#define PRODUCT PLX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/plx/info.json b/keyboards/plx/info.json
index 47f73ada61..be37e4efe0 100644
--- a/keyboards/plx/info.json
+++ b/keyboards/plx/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "PLX",
+ "manufacturer": "Peac Design",
"url": "https://peac.design/",
"maintainer": "2Moons-JP",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE972",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi_tsangan"
},
diff --git a/keyboards/plywrks/ahgase/config.h b/keyboards/plywrks/ahgase/config.h
index a7b16ab108..c1a90de131 100644
--- a/keyboards/plywrks/ahgase/config.h
+++ b/keyboards/plywrks/ahgase/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706C // P L
-#define PRODUCT_ID 0x7902 // Y 2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER plywrks
-#define PRODUCT Ahgase
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B3, B7, D6, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D5, B0, B1, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/plywrks/ahgase/info.json b/keyboards/plywrks/ahgase/info.json
index 1e554e9c6e..297d0b9834 100644
--- a/keyboards/plywrks/ahgase/info.json
+++ b/keyboards/plywrks/ahgase/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ahgase",
+ "manufacturer": "plywrks",
"url": "",
"maintainer": "Ramon Imbao (ramonimbao)",
+ "usb": {
+ "vid": "0x706C",
+ "pid": "0x7902",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/plywrks/allaro/info.json b/keyboards/plywrks/allaro/info.json
new file mode 100644
index 0000000000..aa56aa1103
--- /dev/null
+++ b/keyboards/plywrks/allaro/info.json
@@ -0,0 +1,124 @@
+{
+ "manufacturer": "Plywrks",
+ "keyboard_name": "Allaro",
+ "maintainer": "ramonimbao",
+ "development_board": "promicro",
+
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["F0", "F7", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1"],
+ "rows": ["F1", "B7", "B0", "D0", "F5"]
+ },
+ "url": "",
+ "usb": {
+ "vid": "0x706C",
+ "pid": "0x7903",
+ "device_version": "1.0.0"
+ },
+ "rgblight": {
+ "led_count": 16,
+ "pin": "E2",
+ "hue_steps": 10,
+ "saturation_steps": 17,
+ "brightness_steps": 17,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT_arisu": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0.4, "y": 0 },
+ { "matrix": [0, 1], "x": 1.55, "y": 0.1 },
+ { "matrix": [0, 2], "x": 2.55, "y": 0.1 },
+ { "matrix": [0, 3], "x": 3.55, "y": 0 },
+ { "matrix": [0, 4], "x": 4.55, "y": 0.1 },
+ { "matrix": [0, 5], "x": 5.55, "y": 0.1 },
+ { "matrix": [0, 6], "x": 6.55, "y": 0.1 },
+ { "matrix": [2, 7], "x": 7.55, "y": 0.1 },
+ { "matrix": [0, 7], "x": 9.75, "y": 0.1 },
+ { "matrix": [0, 8], "x": 10.75, "y": 0.1 },
+ { "matrix": [0, 9], "x": 11.75, "y": 0.1 },
+ { "matrix": [0, 10], "x": 12.75, "y": 0.1 },
+ { "matrix": [0, 11], "x": 13.75, "y": 0 },
+ { "matrix": [0, 12], "x": 14.75, "y": 0.1 },
+ { "matrix": [0, 13], "x": 15.75, "y": 0.1 },
+ { "matrix": [0, 14], "x": 16.75, "y": 0.1 },
+
+ { "matrix": [1, 0], "x": 0.2, "y": 1.0 },
+ { "matrix": [1, 1], "w": 1.5, "x": 1.35, "y": 1.1 },
+ { "matrix": [1, 2], "x": 2.85, "y": 1.1 },
+ { "matrix": [1, 3], "x": 3.85, "y": 1.1 },
+ { "matrix": [1, 4], "x": 4.85, "y": 1.1 },
+ { "matrix": [1, 5], "x": 5.85, "y": 1.1 },
+ { "matrix": [1, 6], "x": 6.85, "y": 1.1 },
+ { "matrix": [1, 7], "x": 9.45, "y": 1.1 },
+ { "matrix": [1, 8], "x": 10.45, "y": 1.1 },
+ { "matrix": [1, 9], "x": 11.45, "y": 1.1 },
+ { "matrix": [1, 10], "x": 12.45, "y": 1.1 },
+ { "matrix": [1, 11], "x": 13.45, "y": 1.1 },
+ { "matrix": [1, 12], "x": 14.45, "y": 1.1 },
+ { "matrix": [1, 13], "x": 15.45, "y": 1.1 },
+ { "matrix": [1, 14], "w": 1.5, "x": 16.45, "y": 1.1 },
+
+ { "matrix": [2, 0], "x": 0, "y": 2.0 },
+ { "matrix": [2, 1], "w": 1.75, "x": 1.15, "y": 2.1 },
+ { "matrix": [2, 2], "x": 2.9, "y": 2.1 },
+ { "matrix": [2, 3], "x": 3.9, "y": 2.1 },
+ { "matrix": [2, 4], "x": 4.9, "y": 2.1 },
+ { "matrix": [2, 5], "x": 5.9, "y": 2.1 },
+ { "matrix": [2, 6], "x": 6.9, "y": 2.1 },
+ { "matrix": [2, 8], "x": 9.9, "y": 2.1 },
+ { "matrix": [2, 9], "x": 10.9, "y": 2.1 },
+ { "matrix": [2, 10], "x": 11.9, "y": 2.1 },
+ { "matrix": [2, 11], "x": 12.9, "y": 2.1 },
+ { "matrix": [2, 12], "x": 13.9, "y": 2.1 },
+ { "matrix": [2, 13], "x": 14.9, "y": 2.1 },
+ { "matrix": [2, 14], "w": 2.25, "x": 15.9, "y": 2.1 },
+
+ { "matrix": [3, 1], "w": 2.25, "x": 0.95, "y": 3.1 },
+ { "matrix": [3, 2], "x": 3.2, "y": 3.1 },
+ { "matrix": [3, 3], "x": 4.2, "y": 3.1 },
+ { "matrix": [3, 4], "x": 5.2, "y": 3.1 },
+ { "matrix": [3, 5], "x": 6.2, "y": 3.1 },
+ { "matrix": [3, 6], "x": 7.2, "y": 3.1 },
+ { "matrix": [3, 7], "x": 9.6, "y": 3.1 },
+ { "matrix": [3, 8], "x": 10.6, "y": 3.1 },
+ { "matrix": [3, 9], "x": 11.6, "y": 3.1 },
+ { "matrix": [3, 10], "x": 12.6, "y": 3.1 },
+ { "matrix": [3, 11], "x": 13.6, "y": 3.1 },
+ { "matrix": [3, 12], "x": 14.6, "y": 3.1 },
+ { "matrix": [3, 13], "x": 15.6, "y": 3.1 },
+ { "matrix": [3, 14], "w": 1.75, "x": 16.6, "y": 3.1 },
+
+ { "matrix": [4, 1], "w": 1.5, "x": 0.95, "y": 4.1 },
+ { "matrix": [4, 3], "w": 1.5, "x": 3.85, "y": 4.1 },
+ { "matrix": [4, 5], "w": 2, "x": 5.35, "y": 4.1 },
+ { "matrix": [4, 6], "w": 1.25, "x": 7.35, "y": 4.1 },
+ { "matrix": [4, 8], "w": 2.75, "x": 9.6, "y": 4.1 },
+ { "matrix": [4, 10], "w": 1.5, "x": 12.35, "y": 4.1 },
+ { "matrix": [4, 12], "x": 14.6, "y": 4.1 },
+ { "matrix": [4, 13], "x": 15.6, "y": 4.1 },
+ { "matrix": [4, 14], "x": 16.6, "y": 4.1 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/plywrks/allaro/keymaps/default/keymap.c b/keyboards/plywrks/allaro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..dbfa2e888e
--- /dev/null
+++ b/keyboards/plywrks/allaro/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/* Copyright 2020 MudkipMao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_arisu(
+ KC_ESC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_UP, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_arisu(
+ RGB_TOG, 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,
+ RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_HOME
+ )
+};
diff --git a/keyboards/plywrks/allaro/keymaps/via/keymap.c b/keyboards/plywrks/allaro/keymaps/via/keymap.c
new file mode 100644
index 0000000000..667ac0f1a6
--- /dev/null
+++ b/keyboards/plywrks/allaro/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2020 MudkipMao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_arisu(
+ KC_ESC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_UP, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_arisu(
+ RGB_TOG, 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,
+ RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_HOME
+ ),
+ [2] = LAYOUT_arisu(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_arisu(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/plywrks/allaro/keymaps/via/rules.mk b/keyboards/plywrks/allaro/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/plywrks/allaro/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/plywrks/allaro/readme.md b/keyboards/plywrks/allaro/readme.md
new file mode 100644
index 0000000000..7fb1c1715c
--- /dev/null
+++ b/keyboards/plywrks/allaro/readme.md
@@ -0,0 +1,26 @@
+# Plywrks Allaro
+
+![Allaro](https://i.imgur.com/SwVyLLzl.png)
+
+An Arisu-like hotswap PCB.
+
+* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
+* Hardware Supported: ATmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make plywrks/allaro:via
+
+Flashing example for this keyboard:
+
+ make plywrks/allaro:via:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/plywrks/allaro/rules.mk b/keyboards/plywrks/allaro/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/plywrks/allaro/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/plywrks/lune/config.h b/keyboards/plywrks/lune/config.h
new file mode 100644
index 0000000000..065cc52d93
--- /dev/null
+++ b/keyboards/plywrks/lune/config.h
@@ -0,0 +1,83 @@
+/*
+Copyright 2022 Ramon Imbao
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 9
+#define MATRIX_COLS 8
+
+/*
+ * 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 { F1, F0, B7, B0, B6, B5, D7, B4, D6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, D4, D5, D3, D2 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 8
+//# 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
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* 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
diff --git a/keyboards/plywrks/lune/info.json b/keyboards/plywrks/lune/info.json
new file mode 100644
index 0000000000..83ccfe12f3
--- /dev/null
+++ b/keyboards/plywrks/lune/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "Lune",
+ "manufacturer": "plywrks",
+ "url": "",
+ "maintainer": "ramonimbao",
+ "usb": {
+ "vid": "0x706C",
+ "pid": "0x7901",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0.5, "y":0},
+ {"x":1.75, "y":0},
+ {"x":2.75, "y":0},
+ {"x":3.75, "y":0},
+ {"x":4.75, "y":0},
+ {"x":5.75, "y":0},
+ {"x":6.75, "y":0},
+ {"x":7.75, "y":0},
+ {"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":17, "y":0},
+
+ {"x":0.25, "y":1},
+ {"x":1.5, "y":1, "w":1.5},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1},
+ {"x":14.5, "y":1},
+ {"x":15.5, "y":1},
+ {"x":16.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2},
+ {"x":1.5, "y":2, "w":1.75},
+ {"x":3.25, "y":2},
+ {"x":4.25, "y":2},
+ {"x":5.25, "y":2},
+ {"x":6.25, "y":2},
+ {"x":7.25, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2},
+ {"x":13.75, "y":2},
+ {"x":14.75, "y":2},
+ {"x":15.75, "y":2, "w":2.25},
+
+ {"x":1.5, "y":3, "w":2.25},
+ {"x":3.75, "y":3},
+ {"x":4.75, "y":3},
+ {"x":5.75, "y":3},
+ {"x":6.75, "y":3},
+ {"x":7.75, "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":1.75},
+ {"x":17, "y":3},
+
+ {"x":1.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":1.5},
+ {"x":5.5, "y":4, "w":2},
+ {"x":7.5, "y":4, "w":1.25},
+ {"x":9.25, "y":4, "w":2.75},
+ {"x":12, "y":4, "w":1.5},
+ {"x":16.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/plywrks/lune/keymaps/default/keymap.c b/keyboards/plywrks/lune/keymaps/default/keymap.c
new file mode 100644
index 0000000000..10471fa35f
--- /dev/null
+++ b/keyboards/plywrks/lune/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_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, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_HOME, _______, _______, KC_UP, _______, _______, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_VAI, _______, _______, _______,
+ KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/plywrks/lune/keymaps/via/keymap.c b/keyboards/plywrks/lune/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f5b11f210a
--- /dev/null
+++ b/keyboards/plywrks/lune/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_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, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
+ KC_HOME, _______, _______, KC_UP, _______, _______, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_VAI, _______, _______, _______,
+ KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
diff --git a/keyboards/plywrks/lune/keymaps/via/rules.mk b/keyboards/plywrks/lune/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/plywrks/lune/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/plywrks/lune/lune.c b/keyboards/plywrks/lune/lune.c
new file mode 100644
index 0000000000..1437f3fee6
--- /dev/null
+++ b/keyboards/plywrks/lune/lune.c
@@ -0,0 +1,38 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "lune.h"
+
+#ifdef OLED_ENABLE
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer :"), false);
+ oled_write(get_u8_str(get_highest_layer(layer_state), ' '), false);
+
+ oled_advance_page(true);
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/plywrks/lune/lune.h b/keyboards/plywrks/lune/lune.h
new file mode 100644
index 0000000000..444f855123
--- /dev/null
+++ b/keyboards/plywrks/lune/lune.h
@@ -0,0 +1,47 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define ___ KC_NO
+
+#define LAYOUT_all( \
+ k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
+ k20, k30, k21, k31, k22, k32, k23, k24, k34, k25, k35, k26, k36, k27, k37, \
+ k40, k50, k41, k51, k42, k52, k43, k44, k54, k45, k55, k46, k56, k57, \
+ k70, k61, k71, k62, k72, k63, k64, k74, k65, k75, k66, k76, k67, k77, \
+ k80, k81, k82, k83, k84, k85, k87 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, ___, k34, k35, k36, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, ___ }, \
+ { k50, k51, k52, ___, k54, k55, k56, k57 }, \
+ { ___, k61, k62, k63, k64, k65, k66, k67 }, \
+ { k70, k71, k72, ___, k74, k75, k75, k77 }, \
+ { k80, k81, k82, k83, k84, k85, ___, k87 }, \
+}
diff --git a/keyboards/plywrks/lune/readme.md b/keyboards/plywrks/lune/readme.md
new file mode 100644
index 0000000000..bab2356a45
--- /dev/null
+++ b/keyboards/plywrks/lune/readme.md
@@ -0,0 +1,21 @@
+# Lune
+
+![Lune](https://i.imgur.com/GgOzXRUl.jpg)
+
+Lune: a plateless, screwless ergonomic 60 percent with an OLED screen.
+Specs: 16.5mm front height, 5 degrees typing angle, interchangeable brass top, daughterboard
+
+* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
+* Hardware Supported: ATmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make plywrks/lune:default
+
+To get to the bootloader, simply press the reset button located on the back of the PCB. You can then flash new firmware onto it.
+
+Flashing example for this keyboard:
+
+ make plywrks/lune: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/plywrks/lune/rules.mk b/keyboards/plywrks/lune/rules.mk
new file mode 100644
index 0000000000..89f7f10840
--- /dev/null
+++ b/keyboards/plywrks/lune/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+OLED_ENABLE = yes # Enable OLED
diff --git a/keyboards/pohjolaworks/louhi/config.h b/keyboards/pohjolaworks/louhi/config.h
index b9cbde16d3..e2ff5a06ac 100644
--- a/keyboards/pohjolaworks/louhi/config.h
+++ b/keyboards/pohjolaworks/louhi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5057
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Pohjola Works
-#define PRODUCT Louhi
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, D1, D0, D7, C6, B4, E6 }
#define MATRIX_COL_PINS { D4, B6, F4, F5, F6, F7, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/pohjolaworks/louhi/info.json b/keyboards/pohjolaworks/louhi/info.json
index ce9ef6b85e..e305708d7d 100644
--- a/keyboards/pohjolaworks/louhi/info.json
+++ b/keyboards/pohjolaworks/louhi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Louhi",
+ "manufacturer": "Pohjola Works",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/pohjolaworks/louhi",
"maintainer": "ErkHal",
+ "usb": {
+ "vid": "0x5057",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_7u_space": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k10", "x":1, "y":0}, {"label":"k01", "x":2, "y":0}, {"label":"k11", "x":3, "y":0}, {"label":"k02", "x":4, "y":0}, {"label":"k12", "x":5, "y":0}, {"label":"k03", "x":6, "y":0}, {"label":"k13", "x":7, "y":0}, {"label":"k04", "x":8, "y":0}, {"label":"k14", "x":9, "y":0}, {"label":"k05", "x":10, "y":0}, {"label":"k15", "x":11, "y":0}, {"label":"k06", "x":12, "y":0}, {"label":"k20", "x":0, "y":1}, {"label":"k30", "x":1, "y":1}, {"label":"k21", "x":2, "y":1}, {"label":"k31", "x":3, "y":1}, {"label":"k22", "x":4, "y":1}, {"label":"k32", "x":5, "y":1}, {"label":"k23", "x":6, "y":1}, {"label":"k33", "x":7, "y":1}, {"label":"k24", "x":8, "y":1}, {"label":"k34", "x":9, "y":1}, {"label":"k25", "x":10, "y":1}, {"label":"k35", "x":11, "y":1}, {"label":"k26", "x":12, "y":1}, {"label":"k40", "x":0, "y":2}, {"label":"k50", "x":1, "y":2}, {"label":"k41", "x":2, "y":2}, {"label":"k51", "x":3, "y":2}, {"label":"k42", "x":4, "y":2}, {"label":"k52", "x":5, "y":2}, {"label":"k43", "x":6, "y":2}, {"label":"k53", "x":7, "y":2}, {"label":"k44", "x":8, "y":2}, {"label":"k54", "x":9, "y":2}, {"label":"k45", "x":10, "y":2}, {"label":"k55", "x":11, "y":2}, {"label":"k46", "x":12, "y":2}, {"label":"k60", "x":0, "y":3}, {"label":"k70", "x":1, "y":3}, {"label":"k61", "x":2, "y":3}, {"label":"k63", "x":3, "y":3, "w":7}, {"label":"k65", "x":10, "y":3}, {"label":"k75", "x":11, "y":3}, {"label":"k66", "x":12, "y":3}]
diff --git a/keyboards/poker87c/config.h b/keyboards/poker87c/config.h
index e01df80ec7..93352a2e95 100644
--- a/keyboards/poker87c/config.h
+++ b/keyboards/poker87c/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D66 // "mf" - mfkiiyd
-#define PRODUCT_ID 0x087C // "87C"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mfkiiyd
-#define PRODUCT POKER-87C Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/poker87c/info.json b/keyboards/poker87c/info.json
index bf7b42e470..1bf7cc4979 100644
--- a/keyboards/poker87c/info.json
+++ b/keyboards/poker87c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "POKER-87C",
+ "keyboard_name": "POKER-87C Hotswap",
+ "manufacturer": "mfkiiyd",
"url": "",
"maintainer": "mfkiiyd",
+ "usb": {
+ "vid": "0x6D66",
+ "pid": "0x087C",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/poker87d/config.h b/keyboards/poker87d/config.h
index 7cf87340e4..ab28e84a06 100644
--- a/keyboards/poker87d/config.h
+++ b/keyboards/poker87d/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6D66 // "mf" - mfkiiyd
-#define PRODUCT_ID 0x087D // "87D"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mfkiiyd
-#define PRODUCT POKER-87D Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/poker87d/info.json b/keyboards/poker87d/info.json
index a0b78e5c8a..e36cdb09f4 100644
--- a/keyboards/poker87d/info.json
+++ b/keyboards/poker87d/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "POKER-87D",
+ "keyboard_name": "POKER-87D Hotswap",
+ "manufacturer": "mfkiiyd",
"url": "",
"maintainer": "mfkiiyd",
+ "usb": {
+ "vid": "0x6D66",
+ "pid": "0x087D",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/polilla/info.json b/keyboards/polilla/info.json
index 0287b22a52..bb6a98939c 100644
--- a/keyboards/polilla/info.json
+++ b/keyboards/polilla/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Polilla",
+ "manufacturer": "elagil",
"url": "",
"maintainer": "elagil",
+ "usb": {
+ "vid": "0x6166",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/polilla/rev1/config.h b/keyboards/polilla/rev1/config.h
index b48e99e6d5..4584a939fc 100644
--- a/keyboards/polilla/rev1/config.h
+++ b/keyboards/polilla/rev1/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6166 // af
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER elagil
-#define PRODUCT Polilla
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B1, B0, A7, F1, A0 }
#define MATRIX_COL_PINS { A6, A5, A4, A3, A2, A1, F0, B7, B6, B5, B4, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/polycarbdiet/s20/config.h b/keyboards/polycarbdiet/s20/config.h
index 58f998e767..350f7dfff3 100644
--- a/keyboards/polycarbdiet/s20/config.h
+++ b/keyboards/polycarbdiet/s20/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5040 // PD = polycarbdiet
-#define PRODUCT_ID 0x7320 // S20
-#define DEVICE_VER 0x0001
-#define MANUFACTURER polycarbdiet
-#define PRODUCT S20
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 1 2 3 4 5
#define MATRIX_ROW_PINS { B7, E6, D0, D1, D5 }
#define MATRIX_COL_PINS { C6, C7, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/polycarbdiet/s20/info.json b/keyboards/polycarbdiet/s20/info.json
index ff06e2a257..d4cf5827b6 100644
--- a/keyboards/polycarbdiet/s20/info.json
+++ b/keyboards/polycarbdiet/s20/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "S20 revA",
+ "manufacturer": "polycarbdiet",
"url": "",
"maintainer": "polycarbdiet",
+ "usb": {
+ "vid": "0x5040",
+ "pid": "0x7320",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/polycarbdiet/s20/readme.md b/keyboards/polycarbdiet/s20/readme.md
index 7eb2927716..e40f999a1c 100644
--- a/keyboards/polycarbdiet/s20/readme.md
+++ b/keyboards/polycarbdiet/s20/readme.md
@@ -17,11 +17,11 @@ Flashing example for this keyboard:
make polycarbdiet/s20:default:flash
**Reset Method:**
-- Press the `RESET` button on the under side of the PCB
+- Press the `QK_BOOT` button on the under side of the PCB
**Bootloader Method:**
- Hold down the key located at `K00`, commonly programmed as `ESC`, while plugging in the keyboard.
-- Hold down the key located at `K00`, commonly programmed as `ESC`, and press the RESET button on the PCB.
+- Hold down the key located at `K00`, commonly programmed as `ESC`, and press the QK_BOOT button on the PCB.
- Hold down the key located at `K42` and then press the key located at `K40`.
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/pom_keyboards/tnln95/config.h b/keyboards/pom_keyboards/tnln95/config.h
index 78d2d805e1..e958aebd30 100644
--- a/keyboards/pom_keyboards/tnln95/config.h
+++ b/keyboards/pom_keyboards/tnln95/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544E
-#define PRODUCT_ID 0x3931
-#define DEVICE_VER 0x0001
-#define MANUFACTURER POM_keyboard
-#define PRODUCT tnln95
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B4, B0, D7, E6, D4, F5, D6, C6, B5 }
#define MATRIX_COL_PINS { F4, F1, F0, F6, F7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/pom_keyboards/tnln95/info.json b/keyboards/pom_keyboards/tnln95/info.json
index 68d1359209..470da65459 100644
--- a/keyboards/pom_keyboards/tnln95/info.json
+++ b/keyboards/pom_keyboards/tnln95/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tnln95",
+ "manufacturer": "POM_keyboard",
"url": "http://www.keyboard-layout-editor.com/#/gists/45aee74c726e32a063130a715fc494d3",
"maintainer": "HoangNM",
+ "usb": {
+ "vid": "0x544E",
+ "pid": "0x3931",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/portal_66/hotswap/config.h b/keyboards/portal_66/hotswap/config.h
index 96ea091a20..6abeea3bc8 100644
--- a/keyboards/portal_66/hotswap/config.h
+++ b/keyboards/portal_66/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504C
-#define PRODUCT_ID 0x5067
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT Portal 66
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/portal_66/hotswap/info.json b/keyboards/portal_66/hotswap/info.json
index 984134a4e7..b98e9cc714 100644
--- a/keyboards/portal_66/hotswap/info.json
+++ b/keyboards/portal_66/hotswap/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Portal 66 Hotswap",
+ "manufacturer": "Parallel Limited",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x504C",
+ "pid": "0x5067",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/portal_66/soldered/config.h b/keyboards/portal_66/soldered/config.h
index f5e0d734c4..6abeea3bc8 100644
--- a/keyboards/portal_66/soldered/config.h
+++ b/keyboards/portal_66/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x504C
-#define PRODUCT_ID 0x5066
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Parallel Limited
-#define PRODUCT Portal 66
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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
diff --git a/keyboards/portal_66/soldered/info.json b/keyboards/portal_66/soldered/info.json
index de621a2f70..f24fc4b870 100644
--- a/keyboards/portal_66/soldered/info.json
+++ b/keyboards/portal_66/soldered/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Portal 66",
+ "keyboard_name": "Portal 66 Soldered",
+ "manufacturer": "Parallel Limited",
"maintainer": "matthewdias",
+ "usb": {
+ "vid": "0x504C",
+ "pid": "0x5066",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_ansi_split_bs": "LAYOUT_65_ansi_blocker_split_bs",
"LAYOUT_65_ansi": "LAYOUT_65_ansi_blocker",
diff --git a/keyboards/pos78/config.h b/keyboards/pos78/config.h
index 81449c844f..b0136fb812 100644
--- a/keyboards/pos78/config.h
+++ b/keyboards/pos78/config.h
@@ -19,13 +19,6 @@ 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 0x7878
-#define DEVICE_VER 0x0001
-#define MANUFACTURER smssmssms
-#define PRODUCT POS78
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 13
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B2, B1, D2, D3, D1, D0, C6, E6, B5, B6, B7, D6, C7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/pos78/info.json b/keyboards/pos78/info.json
index 76c1430559..d6bd269fc5 100644
--- a/keyboards/pos78/info.json
+++ b/keyboards/pos78/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "pos78",
+ "keyboard_name": "POS78",
+ "manufacturer": "smssmssms",
"url": "https://github.com/smssmssms/pos78.git",
"maintainer": "smssmssms",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7878",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x13": {
"layout": [
diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h
index 6bcfa26380..13fbe46857 100644
--- a/keyboards/preonic/config.h
+++ b/keyboards/preonic/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A8
-#define MANUFACTURER OLKB
-#define PRODUCT Preonic
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -31,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#define QMK_ESC_OUTPUT F1
#define QMK_ESC_INPUT B5
diff --git a/keyboards/preonic/info.json b/keyboards/preonic/info.json
index e49e964577..76571d7ce8 100644
--- a/keyboards/preonic/info.json
+++ b/keyboards/preonic/info.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Preonic",
"url": "https://olkb.com/preonic",
"maintainer": "jackhumbert",
"layouts": {
diff --git a/keyboards/preonic/keymaps/0xdec/keymap.c b/keyboards/preonic/keymaps/0xdec/keymap.c
index 28277bd5f4..4393ab9f69 100644
--- a/keyboards/preonic/keymaps/0xdec/keymap.c
+++ b/keyboards/preonic/keymaps/0xdec/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | BACK | STOP | RFRSH| FRWRD| MUTE |BL TOG| HOME | PGDN | PGUP | END |INSERT|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | RESET| | | | | DEL | | | | | | |
+ * | QK_BOOT| | | | | DEL | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_preonic_grid( \
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX,KC_F11 ,KC_F12 ,XXXXXXX,AU_TOG ,KC_VOLU,BL_INC ,COLEMAK,GAME ,MU_TOG ,KC_MENU,KC_SLCK, \
KC_CAPS,KC_MPRV,KC_MSTP,KC_MPLY,KC_MNXT,KC_VOLD,BL_DEC ,KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,KC_PAUS, \
XXXXXXX,KC_WBAK,KC_WSTP,KC_WREF,KC_WFWD,KC_MUTE,BL_TOGG,KC_HOME,KC_PGDN,KC_PGUP,KC_END ,KC_INS, \
- RESET ,_______,_______,_______,_______,KC_DEL ,_______,_______,_______,_______,_______,_______ \
+ QK_BOOT,_______,_______,_______,_______,KC_DEL ,_______,_______,_______,_______,_______,_______ \
)
};
diff --git a/keyboards/preonic/keymaps/AlexDaigre/keymap.c b/keyboards/preonic/keymaps/AlexDaigre/keymap.c
index ef4707f64b..c4e0f132d8 100644
--- a/keyboards/preonic/keymaps/AlexDaigre/keymap.c
+++ b/keyboards/preonic/keymaps/AlexDaigre/keymap.c
@@ -159,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
BACKLIT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
diff --git a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
index a572770788..b20568506c 100644
--- a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
+++ b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c
@@ -188,10 +188,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_1x2uC( \
_______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, MI_ON, MI_OFF, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, ARROW, GAME, NUMPAD, _______, _______, \
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/preonic/keymaps/arkag/keymap.c b/keyboards/preonic/keymaps/arkag/keymap.c
index 5e50c584af..c2a32277ed 100644
--- a/keyboards/preonic/keymaps/arkag/keymap.c
+++ b/keyboards/preonic/keymaps/arkag/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
M_USSR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______,
RGB_M_P, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/preonic/keymaps/badger/keymap.c b/keyboards/preonic/keymaps/badger/keymap.c
index 761beb861f..edf96db2e9 100644
--- a/keyboards/preonic/keymaps/badger/keymap.c
+++ b/keyboards/preonic/keymaps/badger/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST_ORTHO] = LAYOUT_preonic_2x2u(
KC_ESC, AU_ON, AU_OFF, CK_TOGG, CK_UP, CK_DOWN, CK_RST, MU_ON, MU_OFF, MU_TOG, MU_MOD, KC_DEL, \
- _______, NK_ON, NK_OFF, EEP_RST, RESET, KC_MSTP, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN2, KC_INS, \
+ _______, NK_ON, NK_OFF, EEP_RST, QK_BOOT, KC_MSTP, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN2, KC_INS, \
_______, GE_SWAP, GE_NORM, DEBUG, AG_SWAP, AG_NORM, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, _______, \
_______, KC_LYRC, KC_FIRST, KC_CAPS, KC_NO, KC_MPRV, KC_MNXT, KC_MUTE, KC_ACL0, KC_ACL1, KC_ACL2, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/preonic/keymaps/bghull/keymap.c b/keyboards/preonic/keymaps/bghull/keymap.c
index 9a3ca0af4f..eba6cd4f85 100644
--- a/keyboards/preonic/keymaps/bghull/keymap.c
+++ b/keyboards/preonic/keymaps/bghull/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Mute | VolD | VolU | `~ | _ | = | 1 | 2 | 3 | PgUp | \ | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | RESET| | | | | . | Home | PgDn | End |
+ * | | | QK_BOOT| | | | | . | Home | PgDn | End |
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = LAYOUT_preonic_grid(
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_0, _______,
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_PPLS, KC_MINS,
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_GRAVE, KC_UNDS, KC_EQL, KC_1, KC_2, KC_3, KC_PGUP, KC_BSLS,
- _______, XXXXXXX, RESET, _______, _______, _______, _______, _______, KC_PDOT, KC_HOME, KC_PGDN, KC_END
+ _______, XXXXXXX, QK_BOOT, _______, _______, _______, _______, _______, KC_PDOT, KC_HOME, KC_PGDN, KC_END
)
};
diff --git a/keyboards/preonic/keymaps/blake-newman/keymap.c b/keyboards/preonic/keymaps/blake-newman/keymap.c
index 2b50eaf6b9..53a4cf78f0 100644
--- a/keyboards/preonic/keymaps/blake-newman/keymap.c
+++ b/keyboards/preonic/keymaps/blake-newman/keymap.c
@@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_1x2uC( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,LALT(KC_PSCR), LCTL(KC_PSCR), KC_PSCR, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,LALT(KC_PSCR), LCTL(KC_PSCR), KC_PSCR, \
KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, NUMPAD, KC_INS, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
diff --git a/keyboards/preonic/keymaps/boy314/keymap.c b/keyboards/preonic/keymaps/boy314/keymap.c
index 04404f69f9..67d1fe4cf8 100644
--- a/keyboards/preonic/keymaps/boy314/keymap.c
+++ b/keyboards/preonic/keymaps/boy314/keymap.c
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, DVORAK, _______, _______, _______, _______, \
_______, ARROWS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/codecoffeecode/keymap.c b/keyboards/preonic/keymaps/codecoffeecode/keymap.c
index 9264927ecb..c41c9757cf 100644
--- a/keyboards/preonic/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/preonic/keymaps/codecoffeecode/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[2] = LAYOUT_preonic_1x2uC(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, KC_F12, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, KC_F12, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/cranium/keymap.c b/keyboards/preonic/keymaps/cranium/keymap.c
index 2c1337d843..8267a0a4be 100644
--- a/keyboards/preonic/keymaps/cranium/keymap.c
+++ b/keyboards/preonic/keymaps/cranium/keymap.c
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_grid(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP,
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, KC_PSCR
diff --git a/keyboards/preonic/keymaps/davidrambo/keymap.c b/keyboards/preonic/keymaps/davidrambo/keymap.c
index 322089d917..823bcb6862 100755
--- a/keyboards/preonic/keymaps/davidrambo/keymap.c
+++ b/keyboards/preonic/keymaps/davidrambo/keymap.c
@@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, C_TAB , A_LEFT , KC_UP , A_RGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______,S(C_TAB), KC_LEFT, KC_DOWN, KC_RGHT, C_TAB , _______,
_______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END , G_GRV , _______,
- RESET , _______, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______
),
[_NAVPC] = LAYOUT_preonic_grid(
@@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, C_TAB , C_LEFT , KC_UP , C_RGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, A_TAB , C_BSPC , KC_HOME, KC_END , G_GRV , _______,
- RESET , _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAVQUD] = LAYOUT_preonic_grid(
diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c
index ef7614393d..c1faf464d6 100644
--- a/keyboards/preonic/keymaps/default/keymap.c
+++ b/keyboards/preonic/keymaps/default/keymap.c
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/dlaroe/keymap.c b/keyboards/preonic/keymaps/dlaroe/keymap.c
index 888a21c063..796ef64550 100644
--- a/keyboards/preonic/keymaps/dlaroe/keymap.c
+++ b/keyboards/preonic/keymaps/dlaroe/keymap.c
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_1x2uC( \
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- LALT(LCTL(KC_INS)), QWERTY, _______, _______, RESET, M(0), _______, MAGIC_TOGGLE_NKRO, _______, _______, _______, LALT(LCTL(KC_DEL)),
+ LALT(LCTL(KC_INS)), QWERTY, _______, _______, QK_BOOT, M(0), _______, MAGIC_TOGGLE_NKRO, _______, _______, _______, LALT(LCTL(KC_DEL)),
KC_CAPS, ARROW, _______, AU_ON, AU_OFF, _______, AG_SWAP, AG_NORM, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
BACKLIT, _______, _______, _______, _______, KC_MPLY, _______, BL_TOGG, BL_DEC , BL_INC , BL_STEP
diff --git a/keyboards/preonic/keymaps/drasbeck/keymap.c b/keyboards/preonic/keymaps/drasbeck/keymap.c
index ae4804ce3f..a3bfbb4760 100644
--- a/keyboards/preonic/keymaps/drasbeck/keymap.c
+++ b/keyboards/preonic/keymaps/drasbeck/keymap.c
@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/dudeofawesome/keymap.c b/keyboards/preonic/keymaps/dudeofawesome/keymap.c
index 2d2a252b23..932b76df3e 100644
--- a/keyboards/preonic/keymaps/dudeofawesome/keymap.c
+++ b/keyboards/preonic/keymaps/dudeofawesome/keymap.c
@@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_1x2uC( \
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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
@@ -275,7 +275,7 @@ bool numpadActive = false;
float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND);
void matrix_scan_user (void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _NUMPAD:
diff --git a/keyboards/preonic/keymaps/ekis_isa/keymap.c b/keyboards/preonic/keymaps/ekis_isa/keymap.c
index b256a6bff7..ff2bfdb0f1 100644
--- a/keyboards/preonic/keymaps/ekis_isa/keymap.c
+++ b/keyboards/preonic/keymaps/ekis_isa/keymap.c
@@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_1x2uC( \
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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/elisiano/keymap.c b/keyboards/preonic/keymaps/elisiano/keymap.c
index d885d1f028..c7ec076ca7 100644
--- a/keyboards/preonic/keymaps/elisiano/keymap.c
+++ b/keyboards/preonic/keymaps/elisiano/keymap.c
@@ -159,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TG(_MOUSE), _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/fig-r/keymap.c b/keyboards/preonic/keymaps/fig-r/keymap.c
index 86c87b0aca..b031a4027e 100644
--- a/keyboards/preonic/keymaps/fig-r/keymap.c
+++ b/keyboards/preonic/keymaps/fig-r/keymap.c
@@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_grid( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/fsck/keymap.c b/keyboards/preonic/keymaps/fsck/keymap.c
index dea1523600..cdb5bf1acc 100644
--- a/keyboards/preonic/keymaps/fsck/keymap.c
+++ b/keyboards/preonic/keymaps/fsck/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/jacwib/keymap.c b/keyboards/preonic/keymaps/jacwib/keymap.c
index e4cd76b84d..4cacafb120 100644
--- a/keyboards/preonic/keymaps/jacwib/keymap.c
+++ b/keyboards/preonic/keymaps/jacwib/keymap.c
@@ -165,9 +165,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, \
- _______, MU_ON, MU_OFF, _______, _______, _______, _______, TO(0), TO(5), _______, _______, RESET, \
+ _______, MU_ON, MU_OFF, _______, _______, _______, _______, TO(0), TO(5), _______, _______, QK_BOOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/preonic/keymaps/jpe230/config.h b/keyboards/preonic/keymaps/jpe230/config.h
new file mode 100644
index 0000000000..70cb9d826b
--- /dev/null
+++ b/keyboards/preonic/keymaps/jpe230/config.h
@@ -0,0 +1,28 @@
+/*
+Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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
+
+#ifdef AUDIO_ENABLE
+#define STARTUP_SONG SONG(ODE_TO_JOY)
+#endif
+
+#define MUSIC_MASK (keycode != KC_NO)
+
+#define ENABLE_COMPILE_KEYCODE
+#define AUDIO_ENABLE_TONE_MULTIPLEXING
+#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10 \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/jpe230/jpe230.h b/keyboards/preonic/keymaps/jpe230/jpe230.h
new file mode 100644
index 0000000000..e6b4ed1401
--- /dev/null
+++ b/keyboards/preonic/keymaps/jpe230/jpe230.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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/>.
+*/
+
+#ifdef VIA_ENABLE
+ #define USER_START USER00
+#else
+ #define USER_START SAFE_RANGE
+#endif
+
+enum jpe230_keycodes {
+ KC_LSRS = USER_START,
+ KC_LERS,
+ KC_LSRE
+};
+
+#define LEFT_BAR 0, 9, 5
+#define RIGHT_BAR 0, 9, 1
+
+float song_lsrs[][2] = SONG(QWERTY_SOUND);
+float song_lers[][2] = SONG(COLEMAK_SOUND);
+float song_lsre[][2] = SONG(DVORAK_SOUND); \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/jpe230/keymap.c b/keyboards/preonic/keymaps/jpe230/keymap.c
new file mode 100644
index 0000000000..43aa42aaf1
--- /dev/null
+++ b/keyboards/preonic/keymaps/jpe230/keymap.c
@@ -0,0 +1,116 @@
+/*
+Copyright 2022 Jose Pablo Ramirez <jp.ramangulo@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
+#include "jpe230.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_preonic_grid(
+ //,-----------------------------------------------------------------------------------------------------------.
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_LBRC, KC_RBRC, KC_LGUI, MO(1), _______, KC_SPC, _______, KC_ENT, MO(2), KC_RALT, KC_MINS, KC_EQL
+ //`-----------------------------------------------------------------------------------------------------------'
+ ),
+
+ [1] = LAYOUT_preonic_grid(
+ //,-----------------------------------------------------------------------------------------------------------.
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, CK_UP, AU_TOG,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, CK_DOWN, _______,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, CK_RST, _______,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______
+ //`-----------------------------------------------------------------------------------------------------------'
+ ),
+
+ [2] = LAYOUT_preonic_grid(
+ //,-----------------------------------------------------------------------------------------------------------.
+ KC_GRV, KC_F11, KC_F12, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_CAPS, _______, KC_MS_U, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ _______, _______, _______, MO(3), _______, KC_BTN1, _______, _______, _______, _______, _______, _______
+ //`-----------------------------------------------------------------------------------------------------------'
+ ),
+
+ [3] = LAYOUT_preonic_grid(
+ //,-----------------------------------------------------------------------------------------------------------.
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, QK_BOOT,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_VOLU, _______, KC_MNXT, KC_F6, KC_F5, KC_F6, _______, KC_6, KC_5, KC_4, _______, QK_MAKE,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ KC_VOLD, KC_MPRV, KC_MNXT, KC_F1, KC_F2, KC_F3, KC_LSRS, KC_1, KC_2, KC_3, _______, DB_TOGG,
+ //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
+ MU_TOG, MU_MOD, _______, _______, _______, KC_LSRE, _______, KC_LERS, _______, _______, _______, EE_CLR
+ //`-----------------------------------------------------------------------------------------------------------'
+ )
+};
+
+/*
+Logic to shift between the bars:
+ KC_LSRE => Left Bar - Space... Right Bar - Enter
+ KC_LERS => Left Bar - Enter... Right Bar - Space
+ KC_LSRS => Left Bar - Space... Right Bar - Space
+
+ Hack into dynamic_keymap_set_keycode and change the value of the keymap.
+ (Just like VIA does, but instead it is done inside the keyboard so no need
+ to open the app)
+
+ Possible alternatives:
+ - Create 3 layers but only change the KC_ENTER and KC_SPACE position between them
+ - Create a custom keycode and use process_record_user to alter the behaviour
+*/
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+ case KC_LSRS:
+ dynamic_keymap_set_keycode(LEFT_BAR, KC_SPC);
+ dynamic_keymap_set_keycode(RIGHT_BAR, KC_SPC);
+ PLAY_SONG(song_lsrs);
+ return false;
+ case KC_LERS:
+ dynamic_keymap_set_keycode(LEFT_BAR, KC_ENT);
+ dynamic_keymap_set_keycode(RIGHT_BAR, KC_SPC);
+ PLAY_SONG(song_lers);
+ return false;
+ case KC_LSRE:
+ dynamic_keymap_set_keycode(LEFT_BAR, KC_SPC);
+ dynamic_keymap_set_keycode(RIGHT_BAR, KC_ENT);
+ PLAY_SONG(song_lsre);
+ return false;
+ default:
+ return true; // Process all other keycodes normally
+ }
+ }
+ return true;
+}
diff --git a/keyboards/preonic/keymaps/jpe230/rules.mk b/keyboards/preonic/keymaps/jpe230/rules.mk
new file mode 100644
index 0000000000..d57d1e33f2
--- /dev/null
+++ b/keyboards/preonic/keymaps/jpe230/rules.mk
@@ -0,0 +1,9 @@
+# Disable unused features inherited from the kb rules.mk
+RGBLIGHT_ENABLE = no
+ENCODER_ENABLE = no
+DIP_SWITCH_ENABLE = no
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+
+# Enable VIA
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/keelhauler/keymap.c b/keyboards/preonic/keymaps/keelhauler/keymap.c
index dc0cffe094..d6adc08adb 100644
--- a/keyboards/preonic/keymaps/keelhauler/keymap.c
+++ b/keyboards/preonic/keymaps/keelhauler/keymap.c
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h
index f85be752e4..eabce5e790 100644
--- a/keyboards/preonic/keymaps/kinesis/config.h
+++ b/keyboards/preonic/keymaps/kinesis/config.h
@@ -34,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/preonic/keymaps/kjwon15/keymap.c b/keyboards/preonic/keymaps/kjwon15/keymap.c
index 2f25cdfa85..45db32be92 100644
--- a/keyboards/preonic/keymaps/kjwon15/keymap.c
+++ b/keyboards/preonic/keymaps/kjwon15/keymap.c
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- KC_LOCK, RESET, CK_TOGG, MU_MOD, QWERTY, PURE, BLANK, KC_WH_D, KC_MS_U, KC_WH_U, _______, KC_DEL, \
+ KC_LOCK, QK_BOOT, CK_TOGG, MU_MOD, QWERTY, PURE, BLANK, KC_WH_D, KC_MS_U, KC_WH_U, _______, KC_DEL, \
_______, AU_ON, AU_OFF, KC_BTN2, KC_BTN1, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_ACL0, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, KC_ACL1, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL2 \
diff --git a/keyboards/preonic/keymaps/kuatsure/keymap.c b/keyboards/preonic/keymaps/kuatsure/keymap.c
index 5bd7321d49..becb8dc559 100644
--- a/keyboards/preonic/keymaps/kuatsure/keymap.c
+++ b/keyboards/preonic/keymaps/kuatsure/keymap.c
@@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | MAKE | FLSH | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | RESET| DEBUG| | |Aud on|AudOff| | | | | |
+ * | | QK_BOOT| DEBUG| | |Aud on|AudOff| | | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | VRSN | | |MusMod|Mus on|MusOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_preonic_grid_wrapper( \
____________FUNCTION_1____________, ____________FUNCTION_2____________, ____________FUNCTION_3____________, \
_______, KB_MAKE, KB_FLSH, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
- _______, RESET, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, \
+ _______, QK_BOOT, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, \
_______, KB_VRSN, _______, _______, MU_MOD, MU_ON, MU_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, QWERTY, GAME, _______, _______ \
),
diff --git a/keyboards/preonic/keymaps/laurentlaurent/keymap.c b/keyboards/preonic/keymaps/laurentlaurent/keymap.c
index 62943a420c..d9df9f16ef 100644
--- a/keyboards/preonic/keymaps/laurentlaurent/keymap.c
+++ b/keyboards/preonic/keymaps/laurentlaurent/keymap.c
@@ -277,7 +277,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_grid( \
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_TAB, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, XXXXXXX,
+ KC_TAB, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, XXXXXXX,
/*_______, _______, MU_MOD, AU_ON, AU_OFF, QWERTY, QWWIN, QWERTY, COLEMAK, DVORAK, _______, _______, \ Remove this if adding Colemak and Dvorak*/
_______, _______, MU_MOD, AU_ON, AU_OFF, QWERTY, QWWIN, QWERTY, QWWIN, _______, _______, KC_F12,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
diff --git a/keyboards/preonic/keymaps/mechmaster48/keymap.c b/keyboards/preonic/keymaps/mechmaster48/keymap.c
index ede3765238..9fcb737490 100644
--- a/keyboards/preonic/keymaps/mechmaster48/keymap.c
+++ b/keyboards/preonic/keymaps/mechmaster48/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/mguterl/keymap.c b/keyboards/preonic/keymaps/mguterl/keymap.c
index 87a9cd32b3..184c111aef 100644
--- a/keyboards/preonic/keymaps/mguterl/keymap.c
+++ b/keyboards/preonic/keymaps/mguterl/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- TG_GAME, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ TG_GAME, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/mikethetiger/keymap.c b/keyboards/preonic/keymaps/mikethetiger/keymap.c
index 36e09e5501..1fb41129cd 100644
--- a/keyboards/preonic/keymaps/mikethetiger/keymap.c
+++ b/keyboards/preonic/keymaps/mikethetiger/keymap.c
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/muzfuz/keymap.c b/keyboards/preonic/keymaps/muzfuz/keymap.c
index c0c7ae07e6..6baf32a51e 100644
--- a/keyboards/preonic/keymaps/muzfuz/keymap.c
+++ b/keyboards/preonic/keymaps/muzfuz/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
+ _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/preonic/keymaps/mverteuil/keymap.c b/keyboards/preonic/keymaps/mverteuil/keymap.c
index ef01851690..03388d785b 100644
--- a/keyboards/preonic/keymaps/mverteuil/keymap.c
+++ b/keyboards/preonic/keymaps/mverteuil/keymap.c
@@ -228,7 +228,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_preonic_1x2uC (
- AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, RESET,
+ AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSHIFT,
diff --git a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
index 4b28058540..a54b547d8c 100644
--- a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
+++ b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
@@ -204,7 +204,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_preonic_2x2u (
- AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, RESET,
+ AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSHIFT,
diff --git a/keyboards/preonic/keymaps/nikchi/keymap.c b/keyboards/preonic/keymaps/nikchi/keymap.c
index 34d837cd64..861c2ae03b 100644
--- a/keyboards/preonic/keymaps/nikchi/keymap.c
+++ b/keyboards/preonic/keymaps/nikchi/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/preonic/keymaps/pcurt854/keymap.c b/keyboards/preonic/keymaps/pcurt854/keymap.c
index 4620f32390..9d82aa9fd4 100644
--- a/keyboards/preonic/keymaps/pcurt854/keymap.c
+++ b/keyboards/preonic/keymaps/pcurt854/keymap.c
@@ -212,8 +212,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------.
* | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | |Qwerty|Colemk|Dvorak| | | | | | |Print |RESET |
- * | | | | | | | | | | |screen|RESET |
+ * | |Qwerty|Colemk|Dvorak| | | | | | |Print |QK_BOOT |
+ * | | | | | | | | | | |screen|QK_BOOT |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | |Sleep |show | | |finder|mv win| |Lock | | |
* | | | |Dsktp | | |Hddn |clkw | |screen| | |
@@ -227,7 +227,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_grid(
XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX,
- XXXXXXX, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SCMD(KC_5), RESET,
+ XXXXXXX, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SCMD(KC_5), QK_BOOT,
XXXXXXX, XXXXXXX, C(LCMD(KC_PAUSE)),
LCMD(KC_F4),
XXXXXXX, XXXXXXX, SCMD(KC_DOT),
diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c
index c41fb4500f..46addbca48 100644
--- a/keyboards/preonic/keymaps/pezhore/keymap.c
+++ b/keyboards/preonic/keymaps/pezhore/keymap.c
@@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/pitty/keymap.c b/keyboards/preonic/keymaps/pitty/keymap.c
index 25c648eea6..249ff16a76 100644
--- a/keyboards/preonic/keymaps/pitty/keymap.c
+++ b/keyboards/preonic/keymaps/pitty/keymap.c
@@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY) \
diff --git a/keyboards/preonic/keymaps/pvillano/keymap.c b/keyboards/preonic/keymaps/pvillano/keymap.c
index 093948e093..5800a9490b 100644
--- a/keyboards/preonic/keymaps/pvillano/keymap.c
+++ b/keyboards/preonic/keymaps/pvillano/keymap.c
@@ -92,7 +92,7 @@
*/
[_FUN] = LAYOUT_preonic_grid(
_______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, RESET, _______,
+ _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, KC_F9, KC_F10, KC_F11, KC_F12, TG(_GAME),_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_NLCK, MU_TOG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c
index e152507835..531b08285f 100644
--- a/keyboards/preonic/keymaps/senseored/keymap.c
+++ b/keyboards/preonic/keymaps/senseored/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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, \
- TO(_GAMEMODE), RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ TO(_GAMEMODE), QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY) \
@@ -367,7 +367,7 @@ bool dip_switch_update_user(uint8_t index, bool active) {
layer_state_t layer_state_set_user(layer_state_t state) {
// if(rgblight_get_mode() == 1) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _QWERTY:
if(bnumlock) {
tap_code(KC_NLCK);
diff --git a/keyboards/preonic/keymaps/smt/keymap.c b/keyboards/preonic/keymaps/smt/keymap.c
index bb561a72cf..3600a15e66 100644
--- a/keyboards/preonic/keymaps/smt/keymap.c
+++ b/keyboards/preonic/keymaps/smt/keymap.c
@@ -148,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_preonic_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,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/preonic/keymaps/that_canadian/keymap.c b/keyboards/preonic/keymaps/that_canadian/keymap.c
index d1d274f293..5b5e8266a9 100644
--- a/keyboards/preonic/keymaps/that_canadian/keymap.c
+++ b/keyboards/preonic/keymaps/that_canadian/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |RESET |
+ * | | | | | | | | | | | |QK_BOOT |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_preonic_grid( \
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT \
),
/* Function
diff --git a/keyboards/preonic/keymaps/trigotometry/keymap.c b/keyboards/preonic/keymaps/trigotometry/keymap.c
index 31cee4a4cd..f44c8becbe 100644
--- a/keyboards/preonic/keymaps/trigotometry/keymap.c
+++ b/keyboards/preonic/keymaps/trigotometry/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, XXXXXXX, XXXXXXX, KC_PSLS, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
_______, KC_PIPE, KC_LBRC, KC_LCBR, KC_LPRN, KC_LABK, KC_RABK, KC_RPRN, KC_RCBR, KC_RBRC, KC_PIPE, XXXXXXX, \
_______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PMNS, KC_UNDS, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, QWERTY , GAMING, XXXXXXX, RESET \
+ _______, _______, _______, _______, _______, _______, _______, _______, QWERTY , GAMING, XXXXXXX, QK_BOOT \
)
};
diff --git a/keyboards/preonic/keymaps/ttys0/keymap.c b/keyboards/preonic/keymaps/ttys0/keymap.c
index 577e69e741..38d816de48 100644
--- a/keyboards/preonic/keymaps/ttys0/keymap.c
+++ b/keyboards/preonic/keymaps/ttys0/keymap.c
@@ -127,7 +127,7 @@
#define move MO(MOVE)
#define func MO(FUNC)
-#define rset RESET
+#define rset QK_BOOT
#define powr KC_POWER
#define ____ KC_TRNS
diff --git a/keyboards/preonic/keymaps/zach/config.h b/keyboards/preonic/keymaps/zach/config.h
index d69952fa88..37e85bf512 100644
--- a/keyboards/preonic/keymaps/zach/config.h
+++ b/keyboards/preonic/keymaps/zach/config.h
@@ -34,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
diff --git a/keyboards/preonic/keymaps/zach/keymap.c b/keyboards/preonic/keymaps/zach/keymap.c
index 8e29d59731..7423f9639d 100644
--- a/keyboards/preonic/keymaps/zach/keymap.c
+++ b/keyboards/preonic/keymaps/zach/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
UNILIN, SUPA2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, \
XXXXXXX, DEGREE, IBANG, LAROW, RAROW, SWCOLE, COLEMAK, KC_F5, KC_F6, KC_F7, KC_F8, BL_INC, \
_______, CADKEY, MICRO, WOMEGA, OMEGA, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, BL_DEC, \
- _______, _______, _______, _______, _______, RESET, _______, XXXXXXX, MUV_DE, MUV_IN, BL_TOGG \
+ _______, _______, _______, _______, _______, QK_BOOT, _______, XXXXXXX, MUV_DE, MUV_IN, BL_TOGG \
),
[_UNICODES] = LAYOUT_preonic_1x2uC( /* UNICODES - Extra layer for unicode stuff */
diff --git a/keyboards/preonic/rev1/config.h b/keyboards/preonic/rev1/config.h
deleted file mode 100644
index a1091b10ed..0000000000
--- a/keyboards/preonic/rev1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2017 Jack Humbert <jack.humb@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 "config_common.h"
-
-#define DEVICE_VER 0x0001
-#define PRODUCT_ID 0x67F3
diff --git a/keyboards/preonic/rev1/info.json b/keyboards/preonic/rev1/info.json
new file mode 100644
index 0000000000..1a44f3a2d6
--- /dev/null
+++ b/keyboards/preonic/rev1/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x67F3",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/preonic/rev2/config.h b/keyboards/preonic/rev2/config.h
deleted file mode 100644
index a62fed4850..0000000000
--- a/keyboards/preonic/rev2/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2017 Jack Humbert <jack.humb@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 "config_common.h"
-
-#define DEVICE_VER 0x0002
-#define PRODUCT_ID 0x67F3
diff --git a/keyboards/preonic/rev2/info.json b/keyboards/preonic/rev2/info.json
new file mode 100644
index 0000000000..5362084dc7
--- /dev/null
+++ b/keyboards/preonic/rev2/info.json
@@ -0,0 +1,9 @@
+{
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0x67F3",
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h
index efa32d5916..5590ba0252 100644
--- a/keyboards/preonic/rev3/config.h
+++ b/keyboards/preonic/rev3/config.h
@@ -17,10 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0xA649
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
@@ -31,7 +27,6 @@
#undef MATRIX_COL_PINS
#define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2, A3, A6 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json
index 8b7a65384e..1f13d480d2 100644
--- a/keyboards/preonic/rev3/info.json
+++ b/keyboards/preonic/rev3/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Preonic rev. 3",
- "url": "https://olkb.com/preonic",
- "maintainer": "jackhumbert",
+ "keyboard_name": "Preonic",
+ "manufacturer": "OLKB",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA649",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_preonic_1x2uC": {
"layout": [
diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h
index 813675eb84..5590ba0252 100644
--- a/keyboards/preonic/rev3_drop/config.h
+++ b/keyboards/preonic/rev3_drop/config.h
@@ -17,12 +17,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define PRODUCT_ID 0xA649
-#undef MANUFACTURER
-#define MANUFACTURER Drop
-
#undef MATRIX_ROWS
#undef MATRIX_COLS
/* key matrix size */
@@ -33,7 +27,6 @@
#undef MATRIX_COL_PINS
#define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2, A3, A6 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/info.json
index 8b7a65384e..081d9e1983 100644
--- a/keyboards/preonic/rev3_drop/info.json
+++ b/keyboards/preonic/rev3_drop/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Preonic rev. 3",
- "url": "https://olkb.com/preonic",
- "maintainer": "jackhumbert",
+ "keyboard_name": "Preonic",
+ "manufacturer": "Drop",
+ "usb": {
+ "vid": "0x03A8",
+ "pid": "0xA649",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_preonic_1x2uC": {
"layout": [
diff --git a/keyboards/preonic/rev3_drop/matrix.c b/keyboards/preonic/rev3_drop/matrix.c
index 07171a39e9..82214e03d9 100644
--- a/keyboards/preonic/rev3_drop/matrix.c
+++ b/keyboards/preonic/rev3_drop/matrix.c
@@ -15,14 +15,7 @@
* 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 "debug.h"
-#include "matrix.h"
+#include "quantum.h"
typedef uint16_t matrix_col_t;
@@ -40,9 +33,13 @@ __attribute__((weak)) void matrix_init_user(void) {}
__attribute__((weak)) void matrix_scan_user(void) {}
-__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); }
+__attribute__((weak)) void matrix_init_kb(void) {
+ matrix_init_user();
+}
-__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); }
+__attribute__((weak)) void matrix_scan_kb(void) {
+ matrix_scan_user();
+}
void matrix_init(void) {
dprintf("matrix init\n");
@@ -150,9 +147,13 @@ uint8_t matrix_scan(void) {
return 1;
}
-bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & (1 << col)); }
+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]; }
+matrix_row_t matrix_get_row(uint8_t row) {
+ return matrix[row];
+}
void matrix_print(void) {
dprintf("\nr/c 01234567\n");
diff --git a/keyboards/primekb/meridian/config.h b/keyboards/primekb/meridian/config.h
index 082392c6bd..916847cf07 100644
--- a/keyboards/primekb/meridian/config.h
+++ b/keyboards/primekb/meridian/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x004D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Prime Keyboards
-#define PRODUCT Meridian
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian/info.json b/keyboards/primekb/meridian/info.json
index 4c46e325c5..c12b1b7587 100644
--- a/keyboards/primekb/meridian/info.json
+++ b/keyboards/primekb/meridian/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Meridian",
+ "manufacturer": "Prime Keyboards",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052",
+ "pid": "0x004D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_unified_bs_rshift": {
"layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "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":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "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":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/meridian/ktr1010/config.h b/keyboards/primekb/meridian/ktr1010/config.h
index bf91dc9715..faba78554f 100644
--- a/keyboards/primekb/meridian/ktr1010/config.h
+++ b/keyboards/primekb/meridian/ktr1010/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x004D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Prime Keyboards
-#define PRODUCT Meridian
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian/readme.md b/keyboards/primekb/meridian/readme.md
index 01df9c5ba3..8e95ae263d 100644
--- a/keyboards/primekb/meridian/readme.md
+++ b/keyboards/primekb/meridian/readme.md
@@ -13,7 +13,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: hold down the key at (0,0) in the matrix (usually Escape) and plug in the keyboard; or
* **Physical reset button**: press the button on the bottom of the PCB; or
-* **Keycode in layout**: press the key mapped to `RESET` if it is available (Escape key on layer 1 in the default layout).
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (Escape key on layer 1 in the default layout).
### Compile firmware
diff --git a/keyboards/primekb/meridian/ws2812/config.h b/keyboards/primekb/meridian/ws2812/config.h
index 082392c6bd..916847cf07 100644
--- a/keyboards/primekb/meridian/ws2812/config.h
+++ b/keyboards/primekb/meridian/ws2812/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x004D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Prime Keyboards
-#define PRODUCT Meridian
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian_rgb/config.h b/keyboards/primekb/meridian_rgb/config.h
index 4dc63d91ce..542cda7ca6 100644
--- a/keyboards/primekb/meridian_rgb/config.h
+++ b/keyboards/primekb/meridian_rgb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x0042
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Prime Keyboards
-#define PRODUCT Meridian RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/primekb/meridian_rgb/info.json b/keyboards/primekb/meridian_rgb/info.json
index 606fab0692..eebf1ea394 100644
--- a/keyboards/primekb/meridian_rgb/info.json
+++ b/keyboards/primekb/meridian_rgb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Meridian RGB",
+ "manufacturer": "Prime Keyboards",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052",
+ "pid": "0x0042",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "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":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "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":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/meridian_rgb/readme.md b/keyboards/primekb/meridian_rgb/readme.md
index d07752ae3d..52457c4f47 100644
--- a/keyboards/primekb/meridian_rgb/readme.md
+++ b/keyboards/primekb/meridian_rgb/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* Physical reset button: Briefly press the button on the back of the PCB
-* Keycode in layout: Press the key mapped to RESET if it is available
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/primekb/prime_e/config.h b/keyboards/primekb/prime_e/config.h
index 343a9dc0bf..f1bd0090c7 100644
--- a/keyboards/primekb/prime_e/config.h
+++ b/keyboards/primekb/prime_e/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define MANUFACTURER PrimeKB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json
index ee83f1bcbc..25f14ee9ce 100644
--- a/keyboards/primekb/prime_e/info.json
+++ b/keyboards/primekb/prime_e/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Prime_E",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "holtenc",
+ "usb": {
+ "vid": "0x5052"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0,"y":0,"w":1,"h":1}, {"x":1,"y":0,"w":1,"h":1}, {"x":2,"y":0,"w":1,"h":1}, {"x":3,"y":0,"w":1,"h":1}, {"x":4,"y":0,"w":1,"h":1}, {"x":5,"y":0,"w":1,"h":1}, {"x":7,"y":0,"w":1,"h":1}, {"x":8,"y":0,"w":1,"h":1}, {"x":9,"y":0,"w":1,"h":1}, {"x":10,"y":0,"w":1,"h":1}, {"x":11,"y":0,"w":1,"h":1}, {"x":12,"y":0,"w":1,"h":1}, {"x":13,"y":0,"w":1,"h":1},
diff --git a/keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c b/keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c
index a92fcbfec6..29b2f3214b 100644
--- a/keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/brandonschlack/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c b/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c
index 7b10be8c01..5dbdc4cfc8 100644
--- a/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/gwillad/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
index 099d6e0325..e02cedcec9 100644
--- a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/primekb/prime_e/keymaps/milestogo/config.h b/keyboards/primekb/prime_e/keymaps/milestogo/config.h
index 24a42bb185..c3f9e43415 100644
--- a/keyboards/primekb/prime_e/keymaps/milestogo/config.h
+++ b/keyboards/primekb/prime_e/keymaps/milestogo/config.h
@@ -30,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { E6, C7, B5, B4, C6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4, D5, D3, D2, D1, D0, B6, D7}
-#define UNUSED_PINS
// Babble config
#define USE_BABBLEPASTE
diff --git a/keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c b/keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c
index 7724c2b435..3ad641179a 100644
--- a/keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_RALT, KC_RCTL
),
[_FUNC] = LAYOUT(
- 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,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_RSFT,
KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_RALT, KC_RCTL
diff --git a/keyboards/primekb/prime_e/keymaps/via/keymap.c b/keyboards/primekb/prime_e/keymaps/via/keymap.c
index 195f845cc2..2d1d003d51 100644
--- a/keyboards/primekb/prime_e/keymaps/via/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/via/keymap.c
@@ -108,7 +108,7 @@ void led_set_user(uint8_t usb_led) {
//function for layer indicator LED
layer_state_t layer_state_set_user(layer_state_t state)
{
- if (biton32(state) == 1) {
+ if (get_highest_layer(state) == 1) {
writePinHigh(B3);
} else {
writePinLow(B3);
diff --git a/keyboards/primekb/prime_e/rgb/config.h b/keyboards/primekb/prime_e/rgb/config.h
index a562ffba81..89cf43902c 100644
--- a/keyboards/primekb/prime_e/rgb/config.h
+++ b/keyboards/primekb/prime_e/rgb/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0052
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_E RGB
-
#define RGB_DI_PIN B7
#define RGBLED_NUM 8
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/primekb/prime_e/rgb/info.json b/keyboards/primekb/prime_e/rgb/info.json
new file mode 100644
index 0000000000..1d40389e87
--- /dev/null
+++ b/keyboards/primekb/prime_e/rgb/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Prime_E RGB",
+ "usb": {
+ "pid": "0x0052",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/primekb/prime_e/std/config.h b/keyboards/primekb/prime_e/std/config.h
index a711e35b21..d6b242e08e 100644
--- a/keyboards/primekb/prime_e/std/config.h
+++ b/keyboards/primekb/prime_e/std/config.h
@@ -19,10 +19,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x0051
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_E
-
#define BACKLIGHT_PIN B7
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/primekb/prime_e/std/info.json b/keyboards/primekb/prime_e/std/info.json
new file mode 100644
index 0000000000..04f8842546
--- /dev/null
+++ b/keyboards/primekb/prime_e/std/info.json
@@ -0,0 +1,7 @@
+{
+ "keyboard_name": "Prime_E",
+ "usb": {
+ "pid": "0x0051",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/primekb/prime_l/config.h b/keyboards/primekb/prime_l/config.h
index 92cbe3f664..f6084f3280 100644
--- a/keyboards/primekb/prime_l/config.h
+++ b/keyboards/primekb/prime_l/config.h
@@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define MANUFACTURER PrimeKB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json
index ac537202f3..88a2cdb065 100644
--- a/keyboards/primekb/prime_l/info.json
+++ b/keyboards/primekb/prime_l/info.json
@@ -1,7 +1,10 @@
{
- "keyboard_name": "Prime_L",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "vid": "0x5052"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "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":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/prime_l/v1/config.h b/keyboards/primekb/prime_l/v1/config.h
index afa8c62460..e5a2f04158 100644
--- a/keyboards/primekb/prime_l/v1/config.h
+++ b/keyboards/primekb/prime_l/v1/config.h
@@ -20,15 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x504C
-#define DEVICE_VER 0x0001
-#define PRODUCT Prime_L V1
-
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D1, D0, B7, B3, B2 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, C7, C6, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B6
/*#define BACKLIGHT_BREATHING*/
diff --git a/keyboards/primekb/prime_l/v1/info.json b/keyboards/primekb/prime_l/v1/info.json
index ac537202f3..628aa67c10 100644
--- a/keyboards/primekb/prime_l/v1/info.json
+++ b/keyboards/primekb/prime_l/v1/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Prime_L",
+ "keyboard_name": "Prime_L V1",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "pid": "0x504C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "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":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
diff --git a/keyboards/primekb/prime_l/v2/config.h b/keyboards/primekb/prime_l/v2/config.h
index 1386a127fe..d479a57f66 100644
--- a/keyboards/primekb/prime_l/v2/config.h
+++ b/keyboards/primekb/prime_l/v2/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x5042
-#define DEVICE_VER 0x0002
-#define PRODUCT Prime_L V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -31,4 +26,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { E6, B2, B1, B0, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D4, D0, D1, D2, D3, D5, B7, B3 }
-#define UNUSED_PINS \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v2/info.json b/keyboards/primekb/prime_l/v2/info.json
index b8033eae30..7199de33f6 100644
--- a/keyboards/primekb/prime_l/v2/info.json
+++ b/keyboards/primekb/prime_l/v2/info.json
@@ -2,6 +2,10 @@
"keyboard_name": "Prime_L V2",
"url": "https://www.primekb.com",
"maintainer": "HoltenC",
+ "usb": {
+ "pid": "0x5042",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0},
diff --git a/keyboards/primekb/prime_m/config.h b/keyboards/primekb/prime_m/config.h
index 3b01b5380e..3468ea975e 100644
--- a/keyboards/primekb/prime_m/config.h
+++ b/keyboards/primekb/prime_m/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052 // "PR"
-#define PRODUCT_ID 0x504D // "PM"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_M
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { C5, B5, B2, D5, D3 }
#define MATRIX_COL_PINS { B3, C7, C6, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/primekb/prime_m/info.json b/keyboards/primekb/prime_m/info.json
index c692690ba0..06a7d46447 100644
--- a/keyboards/primekb/prime_m/info.json
+++ b/keyboards/primekb/prime_m/info.json
@@ -1,8 +1,13 @@
-
{
"keyboard_name": "Prime_M",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "vid": "0x5052",
+ "pid": "0x504D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x6": {
"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":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":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":4}, {"x":5, "y":4}]
diff --git a/keyboards/primekb/prime_m/keymaps/numpad/keymap.c b/keyboards/primekb/prime_m/keymaps/numpad/keymap.c
index 35ff30a0c8..80c572db1b 100644
--- a/keyboards/primekb/prime_m/keymaps/numpad/keymap.c
+++ b/keyboards/primekb/prime_m/keymaps/numpad/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, TG(1), KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_numpad_5x6(
- RESET, KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, KC_PMNS,
+ QK_BOOT, KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, KC_PMNS,
KC_A, KC_B, KC_HOME, KC_UP, KC_PGUP,
KC_C, KC_D, KC_LEFT, KC_NO, KC_RGHT, KC_PPLS,
KC_E, KC_F, KC_END, KC_DOWN, KC_PGDN,
diff --git a/keyboards/primekb/prime_o/config.h b/keyboards/primekb/prime_o/config.h
index 9639f9b8f5..60edde57e7 100644
--- a/keyboards/primekb/prime_o/config.h
+++ b/keyboards/primekb/prime_o/config.h
@@ -19,13 +19,6 @@ 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 0x4024
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_O
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D4, D6, B1, C5, B4, B3, C4, B2, B0, D5 }
#define MATRIX_COL_PINS { B6, B5, C7, C6, D2, D1, D0, C2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/primekb/prime_o/info.json b/keyboards/primekb/prime_o/info.json
index eb54834020..164c431a67 100644
--- a/keyboards/primekb/prime_o/info.json
+++ b/keyboards/primekb/prime_o/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Prime_O",
+ "manufacturer": "PrimeKB",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4024",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "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":7, "y":1}, {"x":8, "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":15, "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":7, "y":2}, {"x":8, "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":15, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "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":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
index 2a320aecf2..e8ca64c908 100644
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
+++ b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
@@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | PgUp | Home | Up | End | | | Vol- | Vol+ | Mute | | | | | | |
* | | | | | | | | | | | | | | | | |
* |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgDn | Left | Down |Right | | | Play | Prev | Next | | | | | | RESET|
+ * | | PgDn | Left | Down |Right | | | Play | Prev | Next | | | | | | QK_BOOT|
* | | | | | | | | | | | | | | | | |
* |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | | | | | |
@@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, KC__VOLDOWN, KC__VOLUP, KC__MUTE, _______, _______, _______, _______, _______, _______,
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, _______, _______, RESET,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG
),
diff --git a/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c b/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
index dbcc8c31a3..040827308b 100644
--- a/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
| |1 |2 |3 | |Prev |Pause |Next |LowerVol |RaiseVol |Mute | | | | | |
|Enter |---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
-| |. |0 |00 |RESET |ESCT | | | | | | | | | |Game |
+| |. |0 |00 |QK_BOOT |ESCT | | | | | | | | | |Game |
`---------------------------------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
CU_EQL, _______, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL,
CU_EQL, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT,
_______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, _______, _______, _______, RESET, ALTF4, _______, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME
+ _______, _______, _______, _______, QK_BOOT, ALTF4, _______, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME
),
// Can be used to place macros on the numpad
diff --git a/keyboards/primekb/prime_r/config.h b/keyboards/primekb/prime_r/config.h
index b73eb346a7..a75d608e3c 100644
--- a/keyboards/primekb/prime_r/config.h
+++ b/keyboards/primekb/prime_r/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_R
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D1, D0, B7, B3, B2 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, C7, C6, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/primekb/prime_r/info.json b/keyboards/primekb/prime_r/info.json
index a9e77a5ef9..c29b0419f8 100644
--- a/keyboards/primekb/prime_r/info.json
+++ b/keyboards/primekb/prime_r/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Prime_R",
+ "manufacturer": "PrimeKB",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K113", "x":13, "y":1}, {"label":"K114", "x":14, "y":1}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.25}, {"label":"K201", "x":1.25, "y":2}, {"label":"K202", "x":2.25, "y":2}, {"label":"K203", "x":3.25, "y":2}, {"label":"K204", "x":4.25, "y":2}, {"label":"K205", "x":5.25, "y":2}, {"label":"K206", "x":6.25, "y":2}, {"label":"K207", "x":7.25, "y":2}, {"label":"K208", "x":8.25, "y":2}, {"label":"K209", "x":9.25, "y":2}, {"label":"K210", "x":10.25, "y":2}, {"label":"K212", "x":11.25, "y":2, "w":1.75}, {"label":"K213", "x":13, "y":2}, {"label":"K214", "x":14, "y":2}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3, "w":1.25}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K402", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4}, {"label":"K404", "x":3.5, "y":4}, {"label":"K405", "x":4.5, "y":4, "w":2}, {"label":"K407", "x":6.5, "y":4, "w":2.25}, {"label":"K409", "x":8.75, "y":4}, {"label":"K410", "x":9.75, "y":4}, {"label":"K411", "x":10.75, "y":4}, {"label":"K412", "x":11.75, "y":4, "w":1.25}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}]
diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h
index 156044d24a..efb27f7fb2 100644
--- a/keyboards/program_yoink/config.h
+++ b/keyboards/program_yoink/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7079
-#define DEVICE_VER 0x0001
-#define MANUFACTURER melonbred
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -40,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D3, B1, B0 }
#define MATRIX_COL_PINS { C4, C5, C6, C7, B7, B6, B5, B4, B3, B2, D6, C2, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/program_yoink/ortho/config.h b/keyboards/program_yoink/ortho/config.h
deleted file mode 100644
index 7620643f1a..0000000000
--- a/keyboards/program_yoink/ortho/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 melonbred
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0xF10C
-#define PRODUCT Program Yoink! Ortho
diff --git a/keyboards/program_yoink/ortho/info.json b/keyboards/program_yoink/ortho/info.json
index 7d7d4ef230..c73b4cc030 100644
--- a/keyboards/program_yoink/ortho/info.json
+++ b/keyboards/program_yoink/ortho/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "program_yoink",
+ "keyboard_name": "Program Yoink! Ortho",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0x7079",
+ "pid": "0xF10C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho": {
"layout": [
diff --git a/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c b/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c
index 9ffc617f08..837dc1e754 100644
--- a/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c
+++ b/keyboards/program_yoink/ortho/keymaps/ortho_split/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_ortho_split(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_K, RGB_M_G, RGB_M_R, RGB_M_SW, _______, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, _______, RGB_HUD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, _______, RGB_HUD,
_______, RGB_TOG, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_RALT, KC_RCTL
),
};
diff --git a/keyboards/program_yoink/staggered/config.h b/keyboards/program_yoink/staggered/config.h
deleted file mode 100644
index a0da031525..0000000000
--- a/keyboards/program_yoink/staggered/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 melonbred
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0xF10B
-#define PRODUCT Program Yoink! Staggered
diff --git a/keyboards/program_yoink/staggered/info.json b/keyboards/program_yoink/staggered/info.json
index cc73feeb43..cc488e4a8f 100644
--- a/keyboards/program_yoink/staggered/info.json
+++ b/keyboards/program_yoink/staggered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "program_yoink",
+ "keyboard_name": "Program Yoink! Staggered",
+ "manufacturer": "melonbred",
"url": "",
"maintainer": "melonbred",
+ "usb": {
+ "vid": "0x7079",
+ "pid": "0xF10B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c b/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c
index 7bbde7bd01..d37722e7bc 100644
--- a/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c
+++ b/keyboards/program_yoink/staggered/keymaps/split_bar/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER2] = LAYOUT_split_bar(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_K, RGB_M_G, RGB_M_R, RGB_M_SW, RGB_HUI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, RGB_HUD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_VAD, RGB_HUD,
_______, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_RALT, KC_RCTL
),
};
diff --git a/keyboards/projectcain/relic/config.h b/keyboards/projectcain/relic/config.h
new file mode 100644
index 0000000000..026e139fd1
--- /dev/null
+++ b/keyboards/projectcain/relic/config.h
@@ -0,0 +1,127 @@
+/*
+Copyright 2021 projectcain
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+#define ENCODERS_PAD_A { D4 }
+#define ENCODERS_PAD_B { D6 }
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 11
+
+/*
+ * 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 { D7, B2, B6, B5 }
+#define MATRIX_COL_PINS { D3, D5, B0, F0, F1, F4, F5, F6, C7, C6, B4 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+// #define RGB_DI_PIN E2
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 16
+// #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 */
+// /*== 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
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* 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 userful 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
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/projectcain/relic/info.json b/keyboards/projectcain/relic/info.json
new file mode 100644
index 0000000000..2b4041a261
--- /dev/null
+++ b/keyboards/projectcain/relic/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "Relic",
+ "manufacturer": "projectcain",
+ "url": "",
+ "maintainer": "projectcain",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"BACK <BR> SPACE", "x":11, "y":0}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":";", "x":10.25, "y":1, "w":1.75}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"/", "x":10.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":0.25, "y":3, "w":1.25}, {"label":"Alt", "x":1.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.25, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.5, "y":3, "w":1.25}, {"label":"LGUI", "x":3, "y":3.25}, {"label":"BACK <BR> SPACE", "x":4, "y":3.25, "w":1.5}, {"label":"Space", "x":5.5, "y":3.25}, {"label":"Space", "x":6.5, "y":3.25, "w":1.5}, {"label":"RGUI", "x":8, "y":3.25}]
+ },
+ "LAYOUT_full_space": {
+ "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"BACK <BR> SPACE", "x":11, "y":0}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":";", "x":10.25, "y":1, "w":1.75}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"/", "x":10.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":0.25, "y":3, "w":1.25}, {"label":"Alt", "x":1.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.25, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.5, "y":3, "w":1.25}, {"label":"Space", "x":3, "y":3.25, "w":6}]
+ },
+ "LAYOUT_split_2space": {
+ "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"BACK <BR> SPACE", "x":11, "y":0}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":";", "x":10.25, "y":1, "w":1.75}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"/", "x":10.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":0.25, "y":3, "w":1.25}, {"label":"Alt", "x":1.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.25, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.5, "y":3, "w":1.25}, {"label":"BACK <BR> SPACE", "x":3, "y":3.25, "w":3}, {"label":"Space", "x":6, "y":3.25, "w":3}]
+ },
+ "LAYOUT_split_4space": {
+ "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"BACK <BR> SPACE", "x":11, "y":0}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":";", "x":10.25, "y":1, "w":1.75}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"/", "x":10.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":0.25, "y":3, "w":1.25}, {"label":"Alt", "x":1.5, "y":3, "w":1.25}, {"label":"MO(1)", "x":9.25, "y":3, "w":1.25}, {"label":"MO(2)", "x":10.5, "y":3, "w":1.25}, {"label":"Lgui", "x":3, "y":3.25}, {"label":"BACK <BR> SPACE", "x":4, "y":3.25, "w":2}, {"label":"Space", "x":6, "y":3.25, "w":2}, {"label":"Rgui", "x":8, "y":3.25}]
+ }
+ }
+}
diff --git a/keyboards/projectcain/relic/keymaps/default/config.h b/keyboards/projectcain/relic/keymaps/default/config.h
new file mode 100644
index 0000000000..7756a8db2f
--- /dev/null
+++ b/keyboards/projectcain/relic/keymaps/default/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 projectcain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define ENCODER_RESOLUTION 2
+#define COMBO_COUNT 6
+#define COMBO_TERM 50
+#define TAPPING_FORCE_HOLD
+#define DISABLE_LEADER
diff --git a/keyboards/projectcain/relic/keymaps/default/keymap.c b/keyboards/projectcain/relic/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6b6c740603
--- /dev/null
+++ b/keyboards/projectcain/relic/keymaps/default/keymap.c
@@ -0,0 +1,74 @@
+/* Copyright 2021 projectcain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+enum layers{
+ BASE,
+ NUM,
+ SYM,
+ META
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_all(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOTE,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ MO(1), KC_LCTRL, MO(1), SFT_T(KC_BSPC), KC_SPACE, KC_SPACE, MO(2), KC_LALT, MO(2)
+ ),
+
+ [NUM] = LAYOUT_all(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_KP_SLASH, KC_7, KC_8, KC_9, KC_MINUS, KC_BSPC,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_KP_ASTERISK, KC_4, KC_5, KC_6, KC_PLUS,
+ KC_LCPO, KC_X, KC_C, KC_V, KC_B, KC_0, KC_1, KC_2, KC_3, KC_RCPC,
+ MO(1), KC_LCTRL, KC_TRNS, SFT_T(KC_BSPC), KC_TRNS, KC_SPACE, KC_TRNS, KC_LALT, MO(2)
+ ),
+
+ [SYM] = LAYOUT_all(
+ S(KC_GRV), KC_GRV, KC_TRNS, S(KC_BSLS), KC_BSLS, KC_TRNS, S(KC_MINS), KC_EQL, KC_TRNS, C(KC_W), QK_BOOT,
+ S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), KC_SCLN, S(KC_SCLN),
+ S(KC_LBRC), KC_LBRC, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_RBRC, S(KC_RBRC),
+ MO(1), KC_LCTRL, KC_TRNS, SFT_T(KC_BSPC), KC_TRNS, KC_SPACE, KC_TRNS, KC_LALT, MO(2)
+ ),
+
+};
+
+
+
+enum combos {
+ KL_SLSH,
+ JK_MINUS,
+ LQUOTE_ENTER,
+ QW_ESC,
+ AS_TAB,
+ FJ_LGUI
+};
+
+const uint16_t PROGMEM kl_combo[] = {KC_K, KC_L, COMBO_END};
+const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
+const uint16_t PROGMEM lquote_combo[] = {KC_L, KC_QUOTE, COMBO_END};
+const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
+const uint16_t PROGMEM as_combo[] = {KC_A, KC_S, COMBO_END};
+const uint16_t PROGMEM fj_combo[] = {KC_F, KC_J, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+ [KL_SLSH] = COMBO(kl_combo, S(KC_SLSH)),
+ [JK_MINUS] = COMBO(jk_combo, KC_MINUS),
+ [LQUOTE_ENTER] = COMBO(lquote_combo, KC_ENTER),
+ [QW_ESC] = COMBO(qw_combo, KC_ESC),
+ [AS_TAB] = COMBO(as_combo, KC_TAB),
+ [FJ_LGUI] = COMBO(fj_combo, KC_LGUI)
+};
diff --git a/keyboards/projectcain/relic/keymaps/default/readme.md b/keyboards/projectcain/relic/keymaps/default/readme.md
new file mode 100644
index 0000000000..0c00cd74af
--- /dev/null
+++ b/keyboards/projectcain/relic/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for relic
diff --git a/keyboards/projectcain/relic/keymaps/default/rules.mk b/keyboards/projectcain/relic/keymaps/default/rules.mk
new file mode 100644
index 0000000000..dca6713d4f
--- /dev/null
+++ b/keyboards/projectcain/relic/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+ENCODER_ENABLE = yes
+COMBO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/projectcain/relic/readme.md b/keyboards/projectcain/relic/readme.md
new file mode 100644
index 0000000000..5f2606c543
--- /dev/null
+++ b/keyboards/projectcain/relic/readme.md
@@ -0,0 +1,17 @@
+# relic
+
+![relic](https://i.imgur.com/oqveJc2h.jpg)
+
+This is an 11-unit unibody split keyboard with an exploded spacebar cluster on bottom
+
+* Keyboard Maintainer: [projectcain](https://github.com/yourusername)
+* Hardware Supported: Relic PCB
+* Hardware Availability: mechvault.net
+
+To reset the keyboard into bootloader mode, short the two pads labeled "Reset" on the left side of the pcb
+
+Make example for this keyboard (after setting up your build environment):
+
+ make projectcain/relic: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/projectcain/relic/relic.c b/keyboards/projectcain/relic/relic.c
new file mode 100644
index 0000000000..f72250847d
--- /dev/null
+++ b/keyboards/projectcain/relic/relic.c
@@ -0,0 +1,37 @@
+/* Copyright 2021 projectcain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "relic.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) { /* First encoder */
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ } else if (index == 1) { /* Second encoder */
+ if (clockwise) {
+ tap_code(KC_DOWN);
+ } else {
+ tap_code(KC_UP);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/projectcain/relic/relic.h b/keyboards/projectcain/relic/relic.h
new file mode 100644
index 0000000000..45ae28a97f
--- /dev/null
+++ b/keyboards/projectcain/relic/relic.h
@@ -0,0 +1,80 @@
+/* Copyright 2021 projectcain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+#define LAYOUT_all( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, \
+ K300, K301, K303, K304, K305, K306, K307, K308, K309 \
+) \
+ { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, KC_NO }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO }, \
+ { K300, K301, KC_NO, K303, K304, K305, K306, K307, K308, K309, KC_NO } \
+}
+
+#define LAYOUT_full_space( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, \
+ K300, K301, K305, K308, K309 \
+) \
+ { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, KC_NO }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO }, \
+ { K300, K301, KC_NO, KC_NO, KC_NO, K305, KC_NO, KC_NO, K308, K309, KC_NO } \
+}
+
+#define LAYOUT_split_2space( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, \
+ K300, K301, K304, K306, K308, K309 \
+) \
+ { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, KC_NO }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO }, \
+ { K300, K301, KC_NO, KC_NO, K304, KC_NO, K306, KC_NO, K308, K309, KC_NO } \
+}
+
+#define LAYOUT_split_4space( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, \
+ K300, K301, K303, K304, K306, K307, K308, K309 \
+) \
+ { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, KC_NO }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO }, \
+ { K300, K301, KC_NO, K303, K304, KC_NO, K306, K307, K308, K309, KC_NO } \
+}
diff --git a/keyboards/projectcain/relic/rules.mk b/keyboards/projectcain/relic/rules.mk
new file mode 100644
index 0000000000..717cc07b4b
--- /dev/null
+++ b/keyboards/projectcain/relic/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/projectcain/vault35/config.h
index 1490b0ba4e..f7fe8b17c7 100644
--- a/keyboards/projectcain/vault35/config.h
+++ b/keyboards/projectcain/vault35/config.h
@@ -16,13 +16,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER projectcain
-#define PRODUCT vault35
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, D4, B0, C7 }
#define MATRIX_COL_PINS { B1, D3, F0, F1, F4, F5, F6, F7, C6, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/projectcain/vault35/info.json b/keyboards/projectcain/vault35/info.json
index e842e35e41..4b81c2ef76 100644
--- a/keyboards/projectcain/vault35/info.json
+++ b/keyboards/projectcain/vault35/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Vault 35",
+ "keyboard_name": "Vault35",
+ "manufacturer": "projectcain",
"url": "",
"maintainer": "projectcain",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_4space": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"BACK<br>SPACE", "x":10, "y":0}, {"label":"TAB", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":"ENTER", "x":9.25, "y":1, "w":1.75}, {"label":"SHIFT", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":5.75, "y":2}, {"label":"M", "x":6.75, "y":2}, {"label":"<", "x":7.75, "y":2}, {"label":">", "x":8.75, "y":2}, {"label":"SHIFT", "x":9.75, "y":2, "w":1.25}, {"label":"CTRL", "x":1.5, "y":3}, {"label":"LOWER", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":1.75}, {"x":5.5, "y":3, "w":1.75}, {"label":"RAISE", "x":7.25, "y":3, "w":1.25}, {"label":"ALT", "x":8.5, "y":3}]
diff --git a/keyboards/projectcain/vault45/config.h b/keyboards/projectcain/vault45/config.h
index e531c7f530..2ac39d277c 100644
--- a/keyboards/projectcain/vault45/config.h
+++ b/keyboards/projectcain/vault45/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER projectcain
-#define PRODUCT vault45
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, B6, B5, C7 }
#define MATRIX_COL_PINS { B0, D5, D4, D6, D7, B4, D3, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/projectcain/vault45/info.json b/keyboards/projectcain/vault45/info.json
index 6f272e3bba..9e3ebcb02e 100644
--- a/keyboards/projectcain/vault45/info.json
+++ b/keyboards/projectcain/vault45/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Vault 45",
+ "keyboard_name": "Vault45",
+ "manufacturer": "projectcain",
"url": "",
"maintainer": "projectcain",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/projectkb/alice/info.json b/keyboards/projectkb/alice/info.json
index b4ae3103c2..f85ce98b15 100644
--- a/keyboards/projectkb/alice/info.json
+++ b/keyboards/projectkb/alice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alice",
+ "manufacturer": "ProjectKB",
"url": "https://store.projectkeyboard.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x0159",
+ "pid": "0xA71C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/projectkb/alice/keymaps/devinceble/keymap.c b/keyboards/projectkb/alice/keymaps/devinceble/keymap.c
index bf46aa95b6..01d281bc68 100644
--- a/keyboards/projectkb/alice/keymaps/devinceble/keymap.c
+++ b/keyboards/projectkb/alice/keymaps/devinceble/keymap.c
@@ -36,6 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_MOD, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RGB_RMOD, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT
),
};
diff --git a/keyboards/projectkb/alice/keymaps/keithlo/keymap.c b/keyboards/projectkb/alice/keymaps/keithlo/keymap.c
index c6801308aa..49c6ccfd12 100644
--- a/keyboards/projectkb/alice/keymaps/keithlo/keymap.c
+++ b/keyboards/projectkb/alice/keymaps/keithlo/keymap.c
@@ -38,6 +38,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, KC_F11, KC_F12, _______, _______,
RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RIGHT, _______, _______, _______,
_______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/projectkb/alice/keymaps/madhatter/keymap.c b/keyboards/projectkb/alice/keymaps/madhatter/keymap.c
index 7a671402c0..c61619e32e 100644
--- a/keyboards/projectkb/alice/keymaps/madhatter/keymap.c
+++ b/keyboards/projectkb/alice/keymaps/madhatter/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVMED] = LAYOUT_default(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
KC_END, _______, _______, _______, _______, _______, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNMS] = LAYOUT_default(
RGB_TOG, _______, 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_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, RESET,
+ RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT,
VLK_TOG, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______,
_______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______,
AG_TOGG, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/projectkb/alice/keymaps/stanrc85/keymap.c b/keyboards/projectkb/alice/keymaps/stanrc85/keymap.c
index 300362c281..482765a9c0 100644
--- a/keyboards/projectkb/alice/keymaps/stanrc85/keymap.c
+++ b/keyboards/projectkb/alice/keymaps/stanrc85/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN2_60] = LAYOUT_default(
BL_TOGG, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, TG(_DEFAULT)
diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h
index 498c1f9370..c06f73a35b 100644
--- a/keyboards/projectkb/alice/rev1/config.h
+++ b/keyboards/projectkb/alice/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0159
-#define PRODUCT_ID 0xA71C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ProjectKB
-#define PRODUCT Alice
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h
index 21742ac7b8..9e66d6a628 100644
--- a/keyboards/projectkb/alice/rev2/config.h
+++ b/keyboards/projectkb/alice/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0159
-#define PRODUCT_ID 0xA71C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ProjectKB
-#define PRODUCT Alice
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/projectkb/signature65/config.h b/keyboards/projectkb/signature65/config.h
index f37085c190..cadc03dcf7 100644
--- a/keyboards/projectkb/signature65/config.h
+++ b/keyboards/projectkb/signature65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0159
-#define PRODUCT_ID 0x0165
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Project Keyboard
-#define PRODUCT Signature65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/projectkb/signature65/info.json b/keyboards/projectkb/signature65/info.json
index 15e08907b0..1344dedac4 100644
--- a/keyboards/projectkb/signature65/info.json
+++ b/keyboards/projectkb/signature65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Kepler FC65",
+ "keyboard_name": "Signature65",
+ "manufacturer": "Project Keyboard",
"url": "https://store.projectkeyboard.com",
"maintainer": "projectkeyboard",
+ "usb": {
+ "vid": "0x0159",
+ "pid": "0x0165",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/projectkb/signature65/readme.md b/keyboards/projectkb/signature65/readme.md
index 81fd434ff4..b6566f0ceb 100644
--- a/keyboards/projectkb/signature65/readme.md
+++ b/keyboards/projectkb/signature65/readme.md
@@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset switch/button**: Set the dipswitch to the "on" position. Briefly press the button on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/projectkb/signature87/config.h b/keyboards/projectkb/signature87/config.h
index 5e6a9214af..188419e89d 100644
--- a/keyboards/projectkb/signature87/config.h
+++ b/keyboards/projectkb/signature87/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0159
-#define PRODUCT_ID 0x0187
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Project Keyboard
-#define PRODUCT Signature87
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/projectkb/signature87/info.json b/keyboards/projectkb/signature87/info.json
index 2be7e402e6..bafbbd4cb9 100644
--- a/keyboards/projectkb/signature87/info.json
+++ b/keyboards/projectkb/signature87/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Signature 87",
+ "keyboard_name": "Signature87",
+ "manufacturer": "Project Keyboard",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x0159",
+ "pid": "0x0187",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":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, "y":4.25}, {"x":16.25, "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, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/prototypist/allison/config.h b/keyboards/prototypist/allison/config.h
index 89a24768de..14124f7c99 100644
--- a/keyboards/prototypist/allison/config.h
+++ b/keyboards/prototypist/allison/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x414D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER protoTypist
-#define PRODUCT Allison
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D2, D1, D0, B1, B2, D3}
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/prototypist/allison/info.json b/keyboards/prototypist/allison/info.json
index cd6b51f96e..f4108081cc 100644
--- a/keyboards/prototypist/allison/info.json
+++ b/keyboards/prototypist/allison/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "allison",
+ "keyboard_name": "Allison",
+ "manufacturer": "protoTypist",
"url": "www.yiancar-designs.com",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x414D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0,0", "x":1.25, "y":0}, {"label":"0,1", "x":2.5, "y":0}, {"label":"0,2", "x":3.5, "y":0}, {"label":"0,3", "x":4.5, "y":0}, {"label":"0,4", "x":5.5, "y":0}, {"label":"0,5", "x":6.75, "y":0}, {"label":"0,6", "x":7.75, "y":0}, {"label":"0,7", "x":8.75, "y":0}, {"label":"0,8", "x":9.75, "y":0}, {"label":"0,9", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,11", "x":13, "y":0}, {"label":"0,12", "x":14, "y":0}, {"label":"0,13", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1.25, "y":1.25}, {"label":"1,2", "x":2.25, "y":1.25}, {"label":"1,3", "x":3.25, "y":1.25}, {"label":"1,4", "x":4.25, "y":1.25}, {"label":"1,5", "x":5.25, "y":1.25}, {"label":"1,6", "x":6.25, "y":1.25}, {"label":"1,7", "x":7.25, "y":1.25}, {"label":"1,8", "x":8.25, "y":1.25}, {"label":"1,9", "x":9.25, "y":1.25}, {"label":"1,10", "x":10.25, "y":1.25}, {"label":"1,11", "x":11.25, "y":1.25}, {"label":"1,12", "x":12.25, "y":1.25}, {"label":"1,13", "x":13.25, "y":1.25}, {"label":"1,14", "x":14.25, "y":1.25}, {"label":"0,14", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25}, {"label":"2,1", "x":1.25, "y":2.25, "w":1.5}, {"label":"2,2", "x":2.75, "y":2.25}, {"label":"2,3", "x":3.75, "y":2.25}, {"label":"2,4", "x":4.75, "y":2.25}, {"label":"2,5", "x":5.75, "y":2.25}, {"label":"2,6", "x":6.75, "y":2.25}, {"label":"2,7", "x":7.75, "y":2.25}, {"label":"2,8", "x":8.75, "y":2.25}, {"label":"2,9", "x":9.75, "y":2.25}, {"label":"2,10", "x":10.75, "y":2.25}, {"label":"2,11", "x":11.75, "y":2.25}, {"label":"2,12", "x":12.75, "y":2.25}, {"label":"2,13", "x":13.75, "y":2.25}, {"label":"2,14", "x":14.75, "y":2.25, "w":1.5}, {"label":"3,0", "x":0, "y":3.25}, {"label":"3,1", "x":1.25, "y":3.25, "w":1.75}, {"label":"3,2", "x":3, "y":3.25}, {"label":"3,3", "x":4, "y":3.25}, {"label":"3,4", "x":5, "y":3.25}, {"label":"3,5", "x":6, "y":3.25}, {"label":"3,6", "x":7, "y":3.25}, {"label":"3,7", "x":8, "y":3.25}, {"label":"3,8", "x":9, "y":3.25}, {"label":"3,9", "x":10, "y":3.25}, {"label":"3,10", "x":11, "y":3.25}, {"label":"3,11", "x":12, "y":3.25}, {"label":"3,12", "x":13, "y":3.25}, {"label":"3,13", "x":14, "y":3.25}, {"label":"3,14", "x":15, "y":3.25, "w":1.25}, {"label":"4,0", "x":0, "y":4.25}, {"label":"4,1", "x":1.25, "y":4.25, "w":1.25}, {"label":"4,2", "x":2.5, "y":4.25}, {"label":"4,3", "x":3.5, "y":4.25}, {"label":"4,4", "x":4.5, "y":4.25}, {"label":"4,5", "x":5.5, "y":4.25}, {"label":"4,6", "x":6.5, "y":4.25}, {"label":"4,7", "x":7.5, "y":4.25}, {"label":"4,8", "x":8.5, "y":4.25}, {"label":"4,9", "x":9.5, "y":4.25}, {"label":"4,10", "x":10.5, "y":4.25}, {"label":"4,11", "x":11.5, "y":4.25}, {"label":"4,12", "x":12.5, "y":4.25}, {"label":"4,13", "x":13.5, "y":4.25, "w":1.75}, {"label":"4,14", "x":15.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.5}, {"label":"5,2", "x":2.75, "y":5.25}, {"label":"5,3", "x":3.75, "y":5.25, "w":1.5}, {"label":"5,8", "x":5.25, "y":5.25, "w":7}, {"label":"5,12", "x":12.25, "y":5.25, "w":1.5}, {"label":"5,13", "x":13.75, "y":5.25}, {"label":"5,14", "x":14.75, "y":5.25, "w":1.5}]
diff --git a/keyboards/prototypist/allison_numpad/config.h b/keyboards/prototypist/allison_numpad/config.h
index 59fb02d9a5..6a442689d1 100644
--- a/keyboards/prototypist/allison_numpad/config.h
+++ b/keyboards/prototypist/allison_numpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x414E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER protoTypist
-#define PRODUCT Allison Numpad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS { F6, F5, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/prototypist/allison_numpad/info.json b/keyboards/prototypist/allison_numpad/info.json
index e644d8ec3b..bf0de7a653 100644
--- a/keyboards/prototypist/allison_numpad/info.json
+++ b/keyboards/prototypist/allison_numpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "allison_numpad",
+ "keyboard_name": "Allison Numpad",
+ "manufacturer": "protoTypist",
"url": "www.yiancar-designs.com",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x414E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/prototypist/j01/config.h b/keyboards/prototypist/j01/config.h
index 4d15e1349b..36858a6534 100644
--- a/keyboards/prototypist/j01/config.h
+++ b/keyboards/prototypist/j01/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5450
-#define PRODUCT_ID 0x6A31
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Prototypist
-#define PRODUCT J-01 Rev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { B3, B2, B0, F6, F5 }
#define MATRIX_COL_PINS { B1, F0, F7, F1, F4, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/prototypist/j01/info.json b/keyboards/prototypist/j01/info.json
index c93f4a9f4d..6ff8ce09c5 100644
--- a/keyboards/prototypist/j01/info.json
+++ b/keyboards/prototypist/j01/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "J-01",
+ "keyboard_name": "J-01 Rev1",
+ "manufacturer": "Prototypist",
"url": "https://prototypist.net/",
"maintainer": "Flexerm",
+ "usb": {
+ "vid": "0x5450",
+ "pid": "0x6A31",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/protozoa/cassini/config.h b/keyboards/protozoa/cassini/config.h
index cdcef1e0ac..2c95c7be2a 100644
--- a/keyboards/protozoa/cassini/config.h
+++ b/keyboards/protozoa/cassini/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4341
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Cassini
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/protozoa/cassini/info.json b/keyboards/protozoa/cassini/info.json
index be662952e2..456e00707b 100644
--- a/keyboards/protozoa/cassini/info.json
+++ b/keyboards/protozoa/cassini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cassini",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4341",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/protozoa/p01/config.h b/keyboards/protozoa/p01/config.h
new file mode 100644
index 0000000000..190dfe41d8
--- /dev/null
+++ b/keyboards/protozoa/p01/config.h
@@ -0,0 +1,95 @@
+/*
+Copyright 2022 Yiancar-Designs
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published byß
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* Key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 18
+
+#define MATRIX_ROW_PINS { B1, B2, B10, B11, B12, B13 }
+#define MATRIX_COL_PINS { A14, A15, B3, B4, B5, B6, B7, B8, B9, A0, A1, A2, A3, A4, A5, A6, A7, B0 }
+
+/* Encoder */
+#define ENCODERS 1
+#define ENCODERS_PAD_A { B15 }
+#define ENCODERS_PAD_B { B14 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* RGB Light */
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
+#define WS2812_DMA_CHANNEL 5
+
+#define RGB_DI_PIN A9
+#define RGBLED_NUM 18
+#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_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* Define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/protozoa/p01/halconf.h b/keyboards/protozoa/p01/halconf.h
new file mode 100644
index 0000000000..4abd83bd3b
--- /dev/null
+++ b/keyboards/protozoa/p01/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/protozoa/p01/info.json b/keyboards/protozoa/p01/info.json
new file mode 100644
index 0000000000..b4fce2823f
--- /dev/null
+++ b/keyboards/protozoa/p01/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "P.01",
+ "manufacturer": "Yiancar-Designs",
+ "url": "https://yiancar-designs.com",
+ "maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5031",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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, "y":4.25}, {"x":16.25, "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, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
+ }
+ }
+}
diff --git a/keyboards/protozoa/p01/keymaps/default/keymap.c b/keyboards/protozoa/p01/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a72840aa2c
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_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_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_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, 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)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/protozoa/p01/keymaps/default/readme.md b/keyboards/protozoa/p01/keymaps/default/readme.md
new file mode 100644
index 0000000000..f907ad3993
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+# The default keymap for P.01. VIA support disabled.
+
+![Layer 0](https://i.imgur.com/KCg3lBQ.png)
+
+![Layer 1](https://i.imgur.com/X9Twapp.png)
diff --git a/keyboards/protozoa/p01/keymaps/default/rules.mk b/keyboards/protozoa/p01/keymaps/default/rules.mk
new file mode 100644
index 0000000000..d0790e6c3f
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/protozoa/p01/keymaps/via/keymap.c b/keyboards/protozoa/p01/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1cb2a0f9b6
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/via/keymap.c
@@ -0,0 +1,63 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_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_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_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, 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),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/protozoa/p01/keymaps/via/readme.md b/keyboards/protozoa/p01/keymaps/via/readme.md
new file mode 100644
index 0000000000..96dba4693e
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/via/readme.md
@@ -0,0 +1,5 @@
+# The default keymap for P.01. VIA support enabled.
+
+![Layer 0](https://i.imgur.com/KCg3lBQ.png)
+
+![Layer 1](https://i.imgur.com/X9Twapp.png)
diff --git a/keyboards/protozoa/p01/keymaps/via/rules.mk b/keyboards/protozoa/p01/keymaps/via/rules.mk
new file mode 100644
index 0000000000..136d78985e
--- /dev/null
+++ b/keyboards/protozoa/p01/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/protozoa/p01/mcuconf.h b/keyboards/protozoa/p01/mcuconf.h
new file mode 100644
index 0000000000..0b3baa9b4b
--- /dev/null
+++ b/keyboards/protozoa/p01/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/protozoa/p01/p01.c b/keyboards/protozoa/p01/p01.c
new file mode 100644
index 0000000000..b0a14e1212
--- /dev/null
+++ b/keyboards/protozoa/p01/p01.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "p01.h"
diff --git a/keyboards/protozoa/p01/p01.h b/keyboards/protozoa/p01/p01.h
new file mode 100644
index 0000000000..2d51d95ef7
--- /dev/null
+++ b/keyboards/protozoa/p01/p01.h
@@ -0,0 +1,36 @@
+/* Copyright 2022 Yiancar-Designs
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0B, K0C, K0D, K0E, K0F, KOG, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1F, K1G, K1H, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4G, \
+ K50, K51, K52, K56, K59, K5A, K5C, K5E, K5F, K5G, K5H \
+) { \
+ { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, XXX, K0B, K0C, K0D, K0E, K0F, KOG, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, K2F, K2G, K2H }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, XXX, XXX, XXX }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, XXX, K4G, XXX }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, K59, K5A, XXX, K5C, XXX, K5E, K5F, K5G, K5H } \
+}
diff --git a/keyboards/protozoa/p01/readme.md b/keyboards/protozoa/p01/readme.md
new file mode 100644
index 0000000000..6476e6a219
--- /dev/null
+++ b/keyboards/protozoa/p01/readme.md
@@ -0,0 +1,34 @@
+# P.01
+
+This is standard TKL keyboard with exposed diodes. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 60% keyboard with STM32F072CB
+* Hardware Availability: https://protozoa.studio
+
+![P.01](https://i.imgur.com/gKEPNFel.png)
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make protozoa/p01:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or CLI (`make protozoa/p01:<keymap>:flash`)
diff --git a/keyboards/protozoa/p01/rules.mk b/keyboards/protozoa/p01/rules.mk
new file mode 100644
index 0000000000..736745abf0
--- /dev/null
+++ b/keyboards/protozoa/p01/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+WS2812_DRIVER = pwm # Driver for RGB uderglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Encoder support
diff --git a/keyboards/psuieee/pluto12/config.h b/keyboards/psuieee/pluto12/config.h
index 49466f7b4a..907ed283cc 100644
--- a/keyboards/psuieee/pluto12/config.h
+++ b/keyboards/psuieee/pluto12/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4747
-#define PRODUCT_ID 0x7012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER psuieee
-#define PRODUCT pluto12
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -19,7 +12,6 @@
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D0, D4, C6 }
#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
/* Encoder Assignments */
#define ENCODERS_PAD_A { B6 }
diff --git a/keyboards/psuieee/pluto12/info.json b/keyboards/psuieee/pluto12/info.json
index a48b687fb1..3858497cd2 100644
--- a/keyboards/psuieee/pluto12/info.json
+++ b/keyboards/psuieee/pluto12/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pluto12",
+ "manufacturer": "psuieee",
"url": "https://github.com/psuieee/pluto12",
"maintainer": "wymcg",
+ "usb": {
+ "vid": "0x4747",
+ "pid": "0x7012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/psuieee/pluto12/readme.md b/keyboards/psuieee/pluto12/readme.md
index bfdafb3b2d..d75f768b41 100644
--- a/keyboards/psuieee/pluto12/readme.md
+++ b/keyboards/psuieee/pluto12/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/pteron36/config.h b/keyboards/pteron36/config.h
index 793dc8e5ed..96b5b42f86 100644
--- a/keyboards/pteron36/config.h
+++ b/keyboards/pteron36/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4847 //HG
-#define PRODUCT_ID 0x5054 //PT
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Harshit Goel
-#define PRODUCT Pteron36
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, D7, B4, B5 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/pteron36/info.json b/keyboards/pteron36/info.json
index e191dc616f..e5323631ee 100644
--- a/keyboards/pteron36/info.json
+++ b/keyboards/pteron36/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pteron36",
+ "manufacturer": "Harshit Goel",
"url": "",
"maintainer": "harshitgoel96",
+ "usb": {
+ "vid": "0x4847",
+ "pid": "0x5054",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
diff --git a/keyboards/puck/config.h b/keyboards/puck/config.h
index c4eeb207f9..71cea5ac64 100644
--- a/keyboards/puck/config.h
+++ b/keyboards/puck/config.h
@@ -2,20 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OkKeebs LLC
-#define PRODUCT Puck
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { D2, D3, C6, C7 }
#define MATRIX_COL_PINS { B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/puck/info.json b/keyboards/puck/info.json
index 095f572163..0d9c5ffa04 100644
--- a/keyboards/puck/info.json
+++ b/keyboards/puck/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Puck",
+ "manufacturer": "OkKeebs LLC",
"url": "",
"maintainer": "john-pettigrew",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/punk75/config.h b/keyboards/punk75/config.h
index 61950da946..fa87d13433 100644
--- a/keyboards/punk75/config.h
+++ b/keyboards/punk75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDEED
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER dsanchezseco
-#define PRODUCT punk75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -47,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_A { D0, B1}
#define ENCODERS_PAD_B { D1, B0 }
-#define UNUSED_PINS { C7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/punk75/info.json b/keyboards/punk75/info.json
index 8a774b94ea..1bfae0305c 100644
--- a/keyboards/punk75/info.json
+++ b/keyboards/punk75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "punk75",
+ "manufacturer": "dsanchezseco",
"url": "",
"maintainer": "dsanchezseco",
+ "usb": {
+ "vid": "0xDEED",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
diff --git a/keyboards/q4z/config.h b/keyboards/q4z/config.h
index 8a591a9a89..64608f4879 100644
--- a/keyboards/q4z/config.h
+++ b/keyboards/q4z/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0001
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER drmmr
-#define PRODUCT q4z keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { D1, D0, D4, B6, B2, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/q4z/info.json b/keyboards/q4z/info.json
index 47fe4dd0ed..6b1503f551 100644
--- a/keyboards/q4z/info.json
+++ b/keyboards/q4z/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "q4z",
+ "manufacturer": "drmmr",
"url": "",
"maintainer": "rjboone",
+ "usb": {
+ "vid": "0x0001",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/q4z/keymaps/rjboone/keymap.c b/keyboards/q4z/keymaps/rjboone/keymap.c
index aa8a77dae6..8e764e4735 100644
--- a/keyboards/q4z/keymaps/rjboone/keymap.c
+++ b/keyboards/q4z/keymaps/rjboone/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAV] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, 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_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/eggman/config.h b/keyboards/qpockets/eggman/config.h
index e1515e6c3d..0faaeae1f5 100644
--- a/keyboards/qpockets/eggman/config.h
+++ b/keyboards/qpockets/eggman/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7170
-#define PRODUCT_ID 0x656D
-#define DEVICE_VER 0x1000
-#define MANUFACTURER qpockets
-#define PRODUCT eggman
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 7
@@ -32,7 +25,6 @@
#define MATRIX_ROW_PINS { C4, C5, C2, D0, B5, B6, D6 }
#define MATRIX_COL_PINS { B7, B4, B3, B2, D3, D2, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/qpockets/eggman/info.json b/keyboards/qpockets/eggman/info.json
index 17e1cb2166..f9cc6c77b9 100644
--- a/keyboards/qpockets/eggman/info.json
+++ b/keyboards/qpockets/eggman/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "eggman",
+ "manufacturer": "qpockets",
"url": "",
"maintainer": "qpockets",
+ "usb": {
+ "vid": "0x7170",
+ "pid": "0x656D",
+ "device_version": "10.0.0"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/qpockets/space_space/rev1/config.h b/keyboards/qpockets/space_space/rev1/config.h
index d52aad4c2b..0b87d47767 100644
--- a/keyboards/qpockets/space_space/rev1/config.h
+++ b/keyboards/qpockets/space_space/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7170
-#define PRODUCT_ID 0x7373
-#define DEVICE_VER 0x3000
-#define MANUFACTURER qpockets
-#define PRODUCT space_space
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -34,7 +27,6 @@
#define MATRIX_COL_PINS \
{ D4, B4, B5, B6, C6, F7, F6, F0, B0, E6, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/qpockets/space_space/rev1/info.json b/keyboards/qpockets/space_space/rev1/info.json
index 5bac73c642..f882474efe 100644
--- a/keyboards/qpockets/space_space/rev1/info.json
+++ b/keyboards/qpockets/space_space/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "space_space",
+ "manufacturer": "qpockets",
"url": "",
"maintainer": "qpockets",
+ "usb": {
+ "vid": "0x7170",
+ "pid": "0x7373",
+ "device_version": "30.0.0"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c
index 62241532e8..9755cdec3f 100644
--- a/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c
+++ b/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_big_space(
- KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC,
+ KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC,
KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB,
KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/space_space/rev2/config.h b/keyboards/qpockets/space_space/rev2/config.h
index bb8f04da2b..b762783d7e 100644
--- a/keyboards/qpockets/space_space/rev2/config.h
+++ b/keyboards/qpockets/space_space/rev2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7170
-#define PRODUCT_ID 0x7373
-#define DEVICE_VER 0x3002
-#define MANUFACTURER qpockets
-#define PRODUCT space_space
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
@@ -34,7 +27,6 @@
#define MATRIX_COL_PINS \
{ C6, F6, F1, F4, F5, E6, D6, B2, B5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/qpockets/space_space/rev2/info.json b/keyboards/qpockets/space_space/rev2/info.json
index 5bac73c642..a6cad3665e 100644
--- a/keyboards/qpockets/space_space/rev2/info.json
+++ b/keyboards/qpockets/space_space/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "space_space",
+ "manufacturer": "qpockets",
"url": "",
"maintainer": "qpockets",
+ "usb": {
+ "vid": "0x7170",
+ "pid": "0x7373",
+ "device_version": "30.0.2"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c
index a272c001b4..afde5f7b20 100644
--- a/keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c
+++ b/keyboards/qpockets/space_space/rev2/keymaps/big_space/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_big_space(
- KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC,
+ KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC,
KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB,
KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c
index 986e435957..c163c6eac9 100644
--- a/keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c
+++ b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_default(
- KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
+ KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TAB,
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/wanten/config.h b/keyboards/qpockets/wanten/config.h
index 18a91c1dfd..feba6e742a 100644
--- a/keyboards/qpockets/wanten/config.h
+++ b/keyboards/qpockets/wanten/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7170 //qp
-#define PRODUCT_ID 0x7774 //wt
-#define DEVICE_VER 0x0001
-#define MANUFACTURER qpockets
-#define PRODUCT wanten
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F7, B3, D5 }
#define MATRIX_COL_PINS { F4, F1, B5, B6, C6, C7, D4, E6, D2, B1, B2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/qpockets/wanten/info.json b/keyboards/qpockets/wanten/info.json
index e683761582..d78efd2758 100644
--- a/keyboards/qpockets/wanten/info.json
+++ b/keyboards/qpockets/wanten/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "wanten",
+ "manufacturer": "qpockets",
"url": "",
"maintainer": "qpockets",
+ "usb": {
+ "vid": "0x7170",
+ "pid": "0x7774",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c b/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c
index 5e2dd8aa09..8283ea9608 100644
--- a/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c
+++ b/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_2u_bars(
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
+ KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TAB,
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c b/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c
index b1cc213d1b..37a5c3fb37 100644
--- a/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c
+++ b/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_625_bar(
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
+ KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC,
KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TAB,
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/qpockets/wanten/readme.md b/keyboards/qpockets/wanten/readme.md
index 243e949f34..5215a7d782 100644
--- a/keyboards/qpockets/wanten/readme.md
+++ b/keyboards/qpockets/wanten/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key or encoder) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/quad_h/lb75/config.h b/keyboards/quad_h/lb75/config.h
index 36cb275a97..15041b1a8a 100644
--- a/keyboards/quad_h/lb75/config.h
+++ b/keyboards/quad_h/lb75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QUADH
-#define PRODUCT LB75
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5, B6, C6, C7, D3, D5, F0, E6 }
#define MATRIX_COL_PINS { D2, D1, D0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/quad_h/lb75/info.json b/keyboards/quad_h/lb75/info.json
index 84916f1b9b..10e63cb2d0 100644
--- a/keyboards/quad_h/lb75/info.json
+++ b/keyboards/quad_h/lb75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LB75",
+ "manufacturer": "QUADH",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_continuous_fnrow": {
"layout": [
diff --git a/keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c b/keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c
index 5a3a58482d..34edfc511c 100644
--- a/keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c
+++ b/keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_divided_fnrow( /* Fn */
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_STEP, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/quantrik/kyuu/config.h b/keyboards/quantrik/kyuu/config.h
index 772e404ad0..f8da7ab014 100644
--- a/keyboards/quantrik/kyuu/config.h
+++ b/keyboards/quantrik/kyuu/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5154 // "QT"
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Quantrik
-#define PRODUCT Kyuu
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ 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 { F1, F4, F5, F6, F7, C7, C6, F0, B7, D0, D5, D3, D2, D1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/quantrik/kyuu/info.json b/keyboards/quantrik/kyuu/info.json
index c245b8baee..f30b74c1a7 100644
--- a/keyboards/quantrik/kyuu/info.json
+++ b/keyboards/quantrik/kyuu/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kyuu",
+ "manufacturer": "Quantrik",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5154",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/qvex/lynepad/config.h b/keyboards/qvex/lynepad/config.h
index d1a5c2eb0b..31e0d8ded3 100644
--- a/keyboards/qvex/lynepad/config.h
+++ b/keyboards/qvex/lynepad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5156
-#define PRODUCT_ID 0x4C50
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QVEX
-#define PRODUCT Lynepad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Basic matrix config */
#define MATRIX_ROW_PINS { C7, F7, F6}
#define MATRIX_COL_PINS { F0, F1, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/qvex/lynepad/info.json b/keyboards/qvex/lynepad/info.json
index 46612141c1..3a21a1f9b5 100644
--- a/keyboards/qvex/lynepad/info.json
+++ b/keyboards/qvex/lynepad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "QVEX Lynepad",
+ "keyboard_name": "Lynepad",
+ "manufacturer": "QVEX",
"url": "https://www.tindie.com/products/qvex_tech/qvex-lynepad-macro-keypad/",
"maintainer": "KemoNine",
+ "usb": {
+ "vid": "0x5156",
+ "pid": "0x4C50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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}]
diff --git a/keyboards/qwertlekeys/calice/calice.c b/keyboards/qwertlekeys/calice/calice.c
new file mode 100644
index 0000000000..d284544964
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/calice.c
@@ -0,0 +1,17 @@
+/* copyright 2021 Joah Nelson (jels)
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERAHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "calice.h"
diff --git a/keyboards/qwertlekeys/calice/calice.h b/keyboards/qwertlekeys/calice/calice.h
new file mode 100644
index 0000000000..e418266dd9
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/calice.h
@@ -0,0 +1,44 @@
+/* copyright 2021 Joah Nelson (jels)
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERAHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+
+#define LAYOUT_all( \
+ K0B0, K0A0, K0B1, K0A1, K0B2, K0A2, K0B3, K0A4, K0B4, K0A5, K0B5, K0A6, K0B6, K0A7, K0B7, \
+ K1B0, K1A0, K1B1, K1A1, K1B2, K1A2, K1B3, K1A4, K1B4, K1A5, K1B5, K1A6, K1B6, K2B6, K1A7, K1B7, \
+ K2B0, K2A0, K2B1, K2A1, K2B2, K2A2, K2B3, K2A4, K2B4, K2A5, K2B5, K2A6, K3B6, K2A7, K2B7, \
+ K3B0, K3A0, K3B1, K3A1, K3B2, K3A2, K3B3, K3A4, K3B4, K3A5, K3B5, K3A6, K3A7, K3B7, \
+ K4B0, K4A0, K4B1, K4A1, K4B2, K4A2, K4B3, K4A4, K4B4, K4A5, K4B5, K4A6, K4B6, K4A7, \
+ K5B0, K5A0, K5B2, K5A2, K5A4, K5A5, K5B6, K5A7, K5B7 \
+){ \
+ {K0A0, K0A1, K0A2, ____, K0A4, K0A5, K0A6, K0A7}, \
+ {K0B0, K0B1, K0B2, K0B3, K0B4, K0B5, K0B6, K0B7}, \
+ {K1A0, K1A1, K1A2, ____, K1A4, K1A5, K1A6, K1A7}, \
+ {K1B0, K1B1, K1B2, K1B3, K1B4, K1B5, K1B6, K1B7}, \
+ {K2A0, K2A1, K2A2, ____, K2A4, K2A5, K2A6, K2A7}, \
+ {K2B0, K2B1, K2B2, K2B3, K2B4, K2B5, K2B6, K2B7}, \
+ {K3A0, K3A1, K3A2, ____, K3A4, K3A5, K3A6, K3A7}, \
+ {K3B0, K3B1, K3B2, K3B3, K3B4, K3B5, K3B6, K3B7}, \
+ {K4A0, K4A1, K4A2, ____, K4A4, K4A5, K4A6, K4A7}, \
+ {K4B0, K4B1, K4B2, K4B3, K4B4, K4B5, K4B6, ____}, \
+ {K5A0, ____, K5A2, ____, K5A4, K5A5, ____, K5A7}, \
+ {K5B0, ____, K5B2, ____, ____, ____, K5B6, K5B7} \
+}
diff --git a/keyboards/qwertlekeys/calice/config.h b/keyboards/qwertlekeys/calice/config.h
new file mode 100644
index 0000000000..b23c5d642a
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/config.h
@@ -0,0 +1,47 @@
+ /* Copyright 2021 Joah Nelson (Jels)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* Define Matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 8
+
+#define BOOTMAGIC_LITE_COLUMN 0
+#define BOOTMAGIC_LITE_ROW 1
+
+/*Define Matrix Pins */
+#define MATRIX_ROW_PINS {F0, F1, F5, F4, C6, C7, B5, B6, D4, D2, D5, D3}
+#define MATRIX_COL_PINS {D7, B4, F7, F6, D1, B7, B3, B2}
+
+#define LED_CAPS_LOCK_PIN D6
+
+/* Envoder */
+#define ENCODERS_PAD_A {B0}
+#define ENCODERS_PAD_B {B1}
+
+/* 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
diff --git a/keyboards/qwertlekeys/calice/info.json b/keyboards/qwertlekeys/calice/info.json
new file mode 100644
index 0000000000..d88ada3894
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/info.json
@@ -0,0 +1,98 @@
+{
+ "keyboard_name": "Calice",
+ "manufacturer": "QwertleKeys",
+ "url": "",
+ "maintainer": "Jels",
+ "usb": {
+ "vid": "0x716B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"1,0", "x":0.5, "y":0},
+ {"label":"0,0", "x":1.75, "y":0},
+ {"label":"1,1", "x":2.75, "y":0},
+ {"label":"0,1", "x":3.75, "y":0},
+ {"label":"1,2", "x":4.75, "y":0},
+ {"label":"0,2", "x":6.25, "y":0},
+ {"label":"1,3", "x":7.25, "y":0},
+ {"label":"0,4", "x":8.25, "y":0},
+ {"label":"1,4", "x":9.25, "y":0},
+ {"label":"0,5", "x":10.75, "y":0},
+ {"label":"1,5", "x":11.75, "y":0},
+ {"label":"0,6", "x":12.75, "y":0},
+ {"label":"1,6", "x":13.75, "y":0},
+ {"label":"0,7", "x":15, "y":0},
+ {"label":"1,7", "x":16.75, "y":0},
+ {"label":"3,7", "x":17, "y":1},
+ {"label":"3,0", "x":1.25, "y":1.25},
+ {"label":"2,0", "x":2.25, "y":1.25},
+ {"label":"3,1", "x":3.25, "y":1.25},
+ {"label":"2,1", "x":4.25, "y":1.25},
+ {"label":"3,2", "x":5.25, "y":1.25},
+ {"label":"2,2", "x":6.25, "y":1.25},
+ {"label":"3,3", "x":7.25, "y":1.25},
+ {"label":"2,4", "x":8.75, "y":1.25},
+ {"label":"3,4", "x":9.75, "y":1.25},
+ {"label":"2,5", "x":10.75, "y":1.25},
+ {"label":"3,5", "x":11.75, "y":1.25},
+ {"label":"2,6", "x":12.75, "y":1.25},
+ {"label":"3,6", "x":13.75, "y":1.25},
+ {"label":"5,6", "x":14.75, "y":1.25},
+ {"label":"2,7", "x":15.75, "y":1.25},
+ {"label":"5,7", "x":17.25, "y":2},
+ {"label":"5,0", "x":1, "y":2.25, "w":1.5},
+ {"label":"4,0", "x":2.5, "y":2.25},
+ {"label":"5,1", "x":3.5, "y":2.25},
+ {"label":"4,1", "x":4.5, "y":2.25},
+ {"label":"5,2", "x":5.5, "y":2.25},
+ {"label":"4,2", "x":6.5, "y":2.25},
+ {"label":"5,3", "x":8.5, "y":2.25},
+ {"label":"4,4", "x":9.5, "y":2.25},
+ {"label":"5,4", "x":10.5, "y":2.25},
+ {"label":"4,5", "x":11.5, "y":2.25},
+ {"label":"5,5", "x":12.5, "y":2.25},
+ {"label":"4,6", "x":13.5, "y":2.25},
+ {"label":"7,6", "x":14.5, "y":2.25},
+ {"label":"4,7", "x":15.5, "y":2.25, "w":1.5},
+ {"label":"7,7", "x":17.5, "y":3},
+ {"label":"7,0", "x":0.75, "y":3.25, "w":1.75},
+ {"label":"6,0", "x":2.5, "y":3.25},
+ {"label":"7,1", "x":3.5, "y":3.25},
+ {"label":"6,1", "x":4.5, "y":3.25},
+ {"label":"7,2", "x":5.5, "y":3.25},
+ {"label":"6,2", "x":6.5, "y":3.25},
+ {"label":"7,3", "x":9, "y":3.25},
+ {"label":"6,4", "x":10, "y":3.25},
+ {"label":"7,4", "x":11, "y":3.25},
+ {"label":"6,5", "x":12, "y":3.25},
+ {"label":"7,5", "x":13, "y":3.25},
+ {"label":"6,6", "x":14, "y":3.25},
+ {"label":"6,7", "x":15, "y":3.25, "w":2.25},
+ {"label":"9,0", "x":0.5, "y":4.25, "w":2.25},
+ {"label":"8,0", "x":2.75, "y":4.25},
+ {"label":"9,1", "x":3.75, "y":4.25},
+ {"label":"8,1", "x":4.75, "y":4.25},
+ {"label":"9,2", "x":5.75, "y":4.25},
+ {"label":"8,2", "x":6.75, "y":4.25},
+ {"label":"9,3", "x":8.75, "y":4.25},
+ {"label":"8,4", "x":9.75, "y":4.25},
+ {"label":"9,4", "x":10.75, "y":4.25},
+ {"label":"8,5", "x":11.75, "y":4.25},
+ {"label":"9,5", "x":12.75, "y":4.25},
+ {"label":"8,6", "x":13.75, "y":4.25},
+ {"label":"9,6", "x":14.75, "y":4.25, "w":1.75},
+ {"label":"8,7", "x":16.5, "y":4.25},
+ {"label":"11,0", "x":0.5, "y":5.25, "w":1.5},
+ {"label":"10,0", "x":3.25, "y":5.25, "w":1.5},
+ {"label":"11,2", "x":4.75, "y":5.25, "w":2.25},
+ {"label":"10,2", "x":7, "y":5.25},
+ {"label":"10,4", "x":8.25, "y":5.25, "w":2.75},
+ {"label":"10,5", "x":11, "y":5.25, "w":1.5},
+ {"label":"11,6", "x":15.5, "y":5.25},
+ {"label":"10,7", "x":16.5, "y":5.25},
+ {"label":"11,7", "x":17.5, "y":5.25}]
+ }
+ }
+}
diff --git a/keyboards/qwertlekeys/calice/keymaps/default/keymap.c b/keyboards/qwertlekeys/calice/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d9876034de
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+/* copyright 2021 Joah Nelson (jels)
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERAHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+//base layer
+[0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+),
+[1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/qwertlekeys/calice/keymaps/via/keymap.c b/keyboards/qwertlekeys/calice/keymaps/via/keymap.c
new file mode 100644
index 0000000000..102b20aa5c
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/* copyright 2021 Joah Nelson (jels)
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERAHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+//base layer
+[0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+),
+[1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/qwertlekeys/calice/keymaps/via/rules.mk b/keyboards/qwertlekeys/calice/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/qwertlekeys/calice/readme.md b/keyboards/qwertlekeys/calice/readme.md
new file mode 100644
index 0000000000..9fc7d570cf
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/readme.md
@@ -0,0 +1,23 @@
+# Calice
+
+![Calice](https://i.imgur.com/5Xsw1ojl.jpg)
+
+## A 75% Alice
+
+* Keyboard Maintainer: [jels](https://github.com/Jels02)
+* Hardware Supported: Calice PCB
+* Hardware Availabililty: Groupbuy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make qwertlekeys/calice:default
+
+Flashing example for this keyboard:
+
+ make qwertlekeys/calice: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).
+
+* **Bootmagic reset**: Hold down the top left key (ESC) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/qwertlekeys/calice/rules.mk b/keyboards/qwertlekeys/calice/rules.mk
new file mode 100644
index 0000000000..cef940efac
--- /dev/null
+++ b/keyboards/qwertlekeys/calice/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader Selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
diff --git a/keyboards/qwertykeys/qk65/hotswap/config.h b/keyboards/qwertykeys/qk65/hotswap/config.h
index 8dfaf1648d..51b4780c22 100644
--- a/keyboards/qwertykeys/qk65/hotswap/config.h
+++ b/keyboards/qwertykeys/qk65/hotswap/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4F53 //0x4F53 for qwertykeys
-#define PRODUCT_ID 0x514B //0x514B QK for QK65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER qwertykeys
-#define PRODUCT QK65
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/qwertykeys/qk65/hotswap/info.json b/keyboards/qwertykeys/qk65/hotswap/info.json
index 21d30bd491..a4684a27db 100644
--- a/keyboards/qwertykeys/qk65/hotswap/info.json
+++ b/keyboards/qwertykeys/qk65/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "qk65",
+ "keyboard_name": "QK65 Hotswap",
+ "manufacturer": "qwertykeys",
"url": "",
"maintainer": "qwertykeys",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x514B",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_hotswap": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/qwertykeys/qk65/solder/config.h b/keyboards/qwertykeys/qk65/solder/config.h
index be8c11bbda..b12d6d4121 100644
--- a/keyboards/qwertykeys/qk65/solder/config.h
+++ b/keyboards/qwertykeys/qk65/solder/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter s*/
-#define VENDOR_ID 0x4F53 // 0x4F53 for qwertykeys
-#define PRODUCT_ID 0x5153 //0x5153 QS for QK65 Solder
-#define DEVICE_VER 0x0001
-#define MANUFACTURER qwertykeys
-#define PRODUCT QK65
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/qwertykeys/qk65/solder/info.json b/keyboards/qwertykeys/qk65/solder/info.json
index 53c5179f42..332f881cb3 100644
--- a/keyboards/qwertykeys/qk65/solder/info.json
+++ b/keyboards/qwertykeys/qk65/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "qk65",
+ "keyboard_name": "QK65 Solder",
+ "manufacturer": "qwertykeys",
"url": "",
"maintainer": "qwertykeys",
+ "usb": {
+ "vid": "0x4F53",
+ "pid": "0x5153",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_solder": "LAYOUT_all",
"LAYOUT_iso": "LAYOUT_65_iso_blocker"
diff --git a/keyboards/qwertyydox/config.h b/keyboards/qwertyydox/config.h
index 4ca8fed192..748999ac64 100644
--- a/keyboards/qwertyydox/config.h
+++ b/keyboards/qwertyydox/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCEEB
-#define PRODUCT_ID 0x1256
-#define DEVICE_VER 0x0100
-#define MANUFACTURER AYDENandDAD Youtube
-#define PRODUCT QWERTYYdox
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/qwertyydox/info.json b/keyboards/qwertyydox/info.json
index 53de10d3f6..ee19ee58c0 100644
--- a/keyboards/qwertyydox/info.json
+++ b/keyboards/qwertyydox/info.json
@@ -1,8 +1,14 @@
{
"keyboard_name": "QWERTYYdox",
+ "manufacturer": "AYDENandDAD Youtube",
"identifier": "0x1256",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCEEB",
+ "pid": "0x1256",
+ "device_version": "1.0.0"
+ },
"bootloader": "caterina",
"processor": "atmega32u4",
"layouts": {
diff --git a/keyboards/rabbit/rabbit68/config.h b/keyboards/rabbit/rabbit68/config.h
index 9ebd5e55ae..9a5e4781a3 100644
--- a/keyboards/rabbit/rabbit68/config.h
+++ b/keyboards/rabbit/rabbit68/config.h
@@ -19,13 +19,6 @@ 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 0x68F1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Kai Eckert
-#define PRODUCT Rabbit68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, D7, D0, B3, B7 }
#define MATRIX_COL_PINS { D6, D1, B4, D2, B5, F7, F6, F5, F4, F1, F0, B0, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/rabbit/rabbit68/info.json b/keyboards/rabbit/rabbit68/info.json
index 2f6fcf7e63..a850c3ae05 100644
--- a/keyboards/rabbit/rabbit68/info.json
+++ b/keyboards/rabbit/rabbit68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rabbit68",
+ "manufacturer": "Kai Eckert",
"url": "",
"maintainer": "kaiec",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x68F1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rad/config.h b/keyboards/rad/config.h
index 47048722b1..04ea4f9cb9 100644
--- a/keyboards/rad/config.h
+++ b/keyboards/rad/config.h
@@ -23,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D7, C6, B6, D0 }
#define MATRIX_COL_PINS { B5, B4, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rad/readme.md b/keyboards/rad/readme.md
index 3a0fc76230..81254ad69e 100644
--- a/keyboards/rad/readme.md
+++ b/keyboards/rad/readme.md
@@ -21,4 +21,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,2) in the matrix (top right) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/rainkeebs/delilah/config.h b/keyboards/rainkeebs/delilah/config.h
index d07366a51d..498596eccd 100644
--- a/keyboards/rainkeebs/delilah/config.h
+++ b/keyboards/rainkeebs/delilah/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726B
-#define PRODUCT_ID 0x645C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rainkeebs
-#define PRODUCT Delilah
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, B6, C6, C7 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F0, E6, D5, D3, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rainkeebs/delilah/info.json b/keyboards/rainkeebs/delilah/info.json
index d6a378eeba..5600bae870 100644
--- a/keyboards/rainkeebs/delilah/info.json
+++ b/keyboards/rainkeebs/delilah/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Delilah",
+ "manufacturer": "rainkeebs",
"url": "https://www.rainkeebs.mx/product/delilah-keyboard-group-buy",
"maintainer": "rainkeebs",
+ "usb": {
+ "vid": "0x726B",
+ "pid": "0x645C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0, "w":1.25}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Shift", "x":10.75, "y":2, "w":1.5}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3}, {"label":"Alt", "x":2.25, "y":3}, {"label":"225", "x":3.25, "y":3, "w":2.25}, {"label":"275", "x":5.5, "y":3, "w":2.75}, {"label":"Alt", "x":9.0, "y":3}, {"label":"Win", "x":10.0, "y":3}, {"label":"Ctrl", "x":11.0, "y":3, "w":1.25}]
diff --git a/keyboards/rainkeebs/rainkeeb/config.h b/keyboards/rainkeebs/rainkeeb/config.h
index 36c3a5d5bf..a2049a87a4 100644
--- a/keyboards/rainkeebs/rainkeeb/config.h
+++ b/keyboards/rainkeebs/rainkeeb/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726B // rk - "rainkeebs"
-#define PRODUCT_ID 0x726B // rk - "rainkeeb"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rainkeebs
-#define PRODUCT rainkeeb
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rainkeebs/rainkeeb/info.json b/keyboards/rainkeebs/rainkeeb/info.json
index b704d2d43b..b0ced909a6 100644
--- a/keyboards/rainkeebs/rainkeeb/info.json
+++ b/keyboards/rainkeebs/rainkeeb/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rainkeeb",
+ "manufacturer": "rainkeebs",
"url": "",
"maintainer": "rain",
+ "usb": {
+ "vid": "0x726B",
+ "pid": "0x726B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rainkeebs/yasui/config.h b/keyboards/rainkeebs/yasui/config.h
index 7d41a9e7f9..d595f6cbf0 100644
--- a/keyboards/rainkeebs/yasui/config.h
+++ b/keyboards/rainkeebs/yasui/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726B // rk - "rainkeebs"
-#define PRODUCT_ID 0x7973 // ys - "yasui"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rainkeebs
-#define PRODUCT yasui
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, C6, B5, E6 }
#define MATRIX_COL_PINS { D7, B4, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rainkeebs/yasui/info.json b/keyboards/rainkeebs/yasui/info.json
index 019d4f94fc..b1f44226f0 100644
--- a/keyboards/rainkeebs/yasui/info.json
+++ b/keyboards/rainkeebs/yasui/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Yasui",
+ "manufacturer": "rainkeebs",
"url": "https://www.rainkeebs.mx/product/yasui-keyboard-kit",
"maintainer": "rainkeebs",
+ "usb": {
+ "vid": "0x726B",
+ "pid": "0x7973",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}]
diff --git a/keyboards/ramonimbao/aelith/config.h b/keyboards/ramonimbao/aelith/config.h
index a2911dac4f..285a9b5e6a 100644
--- a/keyboards/ramonimbao/aelith/config.h
+++ b/keyboards/ramonimbao/aelith/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0xE460
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT AELITH
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D1, D0, D6, A7 }
#define MATRIX_COL_PINS { D7, C0, C1, C2, C3, C4, C5, C6, C7, A6, A5, A0, A1, A2, A3, A4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/aelith/info.json b/keyboards/ramonimbao/aelith/info.json
index 8dd9ddff0a..2df7a46399 100644
--- a/keyboards/ramonimbao/aelith/info.json
+++ b/keyboards/ramonimbao/aelith/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AELITH",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0xE460",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/ramonimbao/chevron/config.h b/keyboards/ramonimbao/chevron/config.h
index 9deeff3856..4a2f1fe008 100644
--- a/keyboards/ramonimbao/chevron/config.h
+++ b/keyboards/ramonimbao/chevron/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0xC4EE
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Chevron
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D6, C0, D7, NO_PIN }
#define MATRIX_COL_PINS { A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, A4, A3, A2, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/chevron/info.json b/keyboards/ramonimbao/chevron/info.json
index b464fd9915..d9add91eba 100644
--- a/keyboards/ramonimbao/chevron/info.json
+++ b/keyboards/ramonimbao/chevron/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Chevron",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "ramonimbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0xC4EE",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/herringbone/pro/config.h b/keyboards/ramonimbao/herringbone/pro/config.h
index f78665a880..298f8cff56 100644
--- a/keyboards/ramonimbao/herringbone/pro/config.h
+++ b/keyboards/ramonimbao/herringbone/pro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x440B
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Herringbone Pro
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C4, C5, C6, C7, A7, A6, NO_PIN }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, D6, D5, D1, B0, B1, B2, B3, B4, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/herringbone/pro/info.json b/keyboards/ramonimbao/herringbone/pro/info.json
index c7846f00f2..3ca8db0858 100644
--- a/keyboards/ramonimbao/herringbone/pro/info.json
+++ b/keyboards/ramonimbao/herringbone/pro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Herringbone Pro",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x440B",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/herringbone/v1/config.h b/keyboards/ramonimbao/herringbone/v1/config.h
index 7f37bcc8b2..cbe83f71fc 100644
--- a/keyboards/ramonimbao/herringbone/v1/config.h
+++ b/keyboards/ramonimbao/herringbone/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x04E5
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Herringbone
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C4, C5, C6, C7, A7, A6 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, D6, D5, D1, B0, B1, B2, B3, B4, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/herringbone/v1/info.json b/keyboards/ramonimbao/herringbone/v1/info.json
index b5b1ea3187..2bacde4015 100644
--- a/keyboards/ramonimbao/herringbone/v1/info.json
+++ b/keyboards/ramonimbao/herringbone/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Herringbone",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x04E5",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/mona/v1/config.h b/keyboards/ramonimbao/mona/v1/config.h
index 5ee7ca3e33..bbe396b2f8 100644
--- a/keyboards/ramonimbao/mona/v1/config.h
+++ b/keyboards/ramonimbao/mona/v1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x404A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Mona
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D5, B7, F0, F1 }
#define MATRIX_COL_PINS { D0, D3, D2, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/mona/v1/info.json b/keyboards/ramonimbao/mona/v1/info.json
index 11b0719145..05467e5dac 100644
--- a/keyboards/ramonimbao/mona/v1/info.json
+++ b/keyboards/ramonimbao/mona/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mona",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x404A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -352,78 +358,6 @@
{"x":12.5, "y":4},
{"x":13.5, "y":4, "w":1.5}
]
- },
- "LAYOUT_60_iso_split_bs_rshift": {
- "layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6, "y":0},
- {"x":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
-
- {"x":0, "y":1, "w":1.5},
- {"x":1.5, "y":1},
- {"x":2.5, "y":1},
- {"x":3.5, "y":1},
- {"x":4.5, "y":1},
- {"x":5.5, "y":1},
- {"x":6.5, "y":1},
- {"x":7.5, "y":1},
- {"x":8.5, "y":1},
- {"x":9.5, "y":1},
- {"x":10.5, "y":1},
- {"x":11.5, "y":1},
- {"x":12.5, "y":1},
- {"x":13.5, "y":1, "w":1.5},
-
- {"x":0, "y":2, "w":1.75},
- {"x":1.75, "y":2},
- {"x":2.75, "y":2},
- {"x":3.75, "y":2},
- {"x":4.75, "y":2},
- {"x":5.75, "y":2},
- {"x":6.75, "y":2},
- {"x":7.75, "y":2},
- {"x":8.75, "y":2},
- {"x":9.75, "y":2},
- {"x":10.75, "y":2},
- {"x":11.75, "y":2},
- {"x":12.75, "y":2, "w":2.25},
-
- {"x":0, "y":3, "w":1.25},
- {"x":1.25, "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, "w":1.75},
- {"x":14, "y":3},
-
- {"x":0, "y":4, "w":1.25},
- {"x":1.25, "y":4, "w":1.25},
- {"x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":6.25},
- {"x":10, "y":4, "w":1.25},
- {"x":11.25, "y":4, "w":1.25},
- {"x":12.5, "y":4, "w":1.25},
- {"x":13.75, "y":4, "w":1.25}
- ]
}
}
}
diff --git a/keyboards/ramonimbao/mona/v1_1/config.h b/keyboards/ramonimbao/mona/v1_1/config.h
index ce9c01139e..ff99b86a06 100644
--- a/keyboards/ramonimbao/mona/v1_1/config.h
+++ b/keyboards/ramonimbao/mona/v1_1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x404B
-#define DEVICE_VER 0x0011
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Mona
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D5, B7, F0, F1 }
#define MATRIX_COL_PINS { D0, D3, D2, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/mona/v1_1/info.json b/keyboards/ramonimbao/mona/v1_1/info.json
index 8a2e11f13c..b7f19f52ba 100644
--- a/keyboards/ramonimbao/mona/v1_1/info.json
+++ b/keyboards/ramonimbao/mona/v1_1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mona",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x404B",
+ "device_version": "0.1.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -353,78 +359,6 @@
{"x":13.5, "y":4, "w":1.5}
]
},
- "LAYOUT_60_iso_split_bs_rshift": {
- "layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6, "y":0},
- {"x":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
-
- {"x":0, "y":1, "w":1.5},
- {"x":1.5, "y":1},
- {"x":2.5, "y":1},
- {"x":3.5, "y":1},
- {"x":4.5, "y":1},
- {"x":5.5, "y":1},
- {"x":6.5, "y":1},
- {"x":7.5, "y":1},
- {"x":8.5, "y":1},
- {"x":9.5, "y":1},
- {"x":10.5, "y":1},
- {"x":11.5, "y":1},
- {"x":12.5, "y":1},
- {"x":13.5, "y":1, "w":1.5},
-
- {"x":0, "y":2, "w":1.75},
- {"x":1.75, "y":2},
- {"x":2.75, "y":2},
- {"x":3.75, "y":2},
- {"x":4.75, "y":2},
- {"x":5.75, "y":2},
- {"x":6.75, "y":2},
- {"x":7.75, "y":2},
- {"x":8.75, "y":2},
- {"x":9.75, "y":2},
- {"x":10.75, "y":2},
- {"x":11.75, "y":2},
- {"x":12.75, "y":2, "w":2.25},
-
- {"x":0, "y":3, "w":1.25},
- {"x":1.25, "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, "w":1.75},
- {"x":14, "y":3},
-
- {"x":0, "y":4, "w":1.25},
- {"x":1.25, "y":4, "w":1.25},
- {"x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":6.25},
- {"x":10, "y":4, "w":1.25},
- {"x":11.25, "y":4, "w":1.25},
- {"x":12.5, "y":4, "w":1.25},
- {"x":13.75, "y":4, "w":1.25}
- ]
- },
"LAYOUT_all": {
"layout": [
{"x":0, "y":0},
diff --git a/keyboards/ramonimbao/mona/v1_1/readme.md b/keyboards/ramonimbao/mona/v1_1/readme.md
index b28fedd76c..17ae6012bd 100644
--- a/keyboards/ramonimbao/mona/v1_1/readme.md
+++ b/keyboards/ramonimbao/mona/v1_1/readme.md
@@ -7,7 +7,7 @@ A gummy-worm o-ring mount 60% marble keyboard. Now with ALPS/MX, Caps Lock LED,
* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
* Hardware Supported: ATmega32u4
-To get to the bootloader, with the USB cable plugged in, press the `RESET` button on the back of the PCB.
+To get to the bootloader, with the USB cable plugged in, press the `QK_BOOT` button on the back of the PCB.
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/ramonimbao/mona/v32a/config.h b/keyboards/ramonimbao/mona/v32a/config.h
index fdd80e59aa..dce6c80d1f 100644
--- a/keyboards/ramonimbao/mona/v32a/config.h
+++ b/keyboards/ramonimbao/mona/v32a/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x4032
-#define DEVICE_VER 0x0011
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Mona
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C2, C3, D6, D1, A6 }
#define MATRIX_COL_PINS { B4, B3, B2, B1, B0, A0, A1, A2, A5, A4, A3, A7, D5, C7, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/mona/v32a/info.json b/keyboards/ramonimbao/mona/v32a/info.json
index 8a2e11f13c..b3a1332a83 100644
--- a/keyboards/ramonimbao/mona/v32a/info.json
+++ b/keyboards/ramonimbao/mona/v32a/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Mona",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x4032",
+ "device_version": "0.1.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -353,78 +359,6 @@
{"x":13.5, "y":4, "w":1.5}
]
},
- "LAYOUT_60_iso_split_bs_rshift": {
- "layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6, "y":0},
- {"x":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
-
- {"x":0, "y":1, "w":1.5},
- {"x":1.5, "y":1},
- {"x":2.5, "y":1},
- {"x":3.5, "y":1},
- {"x":4.5, "y":1},
- {"x":5.5, "y":1},
- {"x":6.5, "y":1},
- {"x":7.5, "y":1},
- {"x":8.5, "y":1},
- {"x":9.5, "y":1},
- {"x":10.5, "y":1},
- {"x":11.5, "y":1},
- {"x":12.5, "y":1},
- {"x":13.5, "y":1, "w":1.5},
-
- {"x":0, "y":2, "w":1.75},
- {"x":1.75, "y":2},
- {"x":2.75, "y":2},
- {"x":3.75, "y":2},
- {"x":4.75, "y":2},
- {"x":5.75, "y":2},
- {"x":6.75, "y":2},
- {"x":7.75, "y":2},
- {"x":8.75, "y":2},
- {"x":9.75, "y":2},
- {"x":10.75, "y":2},
- {"x":11.75, "y":2},
- {"x":12.75, "y":2, "w":2.25},
-
- {"x":0, "y":3, "w":1.25},
- {"x":1.25, "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, "w":1.75},
- {"x":14, "y":3},
-
- {"x":0, "y":4, "w":1.25},
- {"x":1.25, "y":4, "w":1.25},
- {"x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":6.25},
- {"x":10, "y":4, "w":1.25},
- {"x":11.25, "y":4, "w":1.25},
- {"x":12.5, "y":4, "w":1.25},
- {"x":13.75, "y":4, "w":1.25}
- ]
- },
"LAYOUT_all": {
"layout": [
{"x":0, "y":0},
diff --git a/keyboards/ramonimbao/mona/v32a/readme.md b/keyboards/ramonimbao/mona/v32a/readme.md
index 61a3deefaa..f9a730691f 100644
--- a/keyboards/ramonimbao/mona/v32a/readme.md
+++ b/keyboards/ramonimbao/mona/v32a/readme.md
@@ -7,7 +7,7 @@ A gummy-worm o-ring mount 60% marble keyboard. Now with ALPS/MX, Caps Lock LED,
* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
* Hardware Supported: ATmega32A
-To get to the bootloader, with the USB cable plugged in, press the `RESET` button on the back of the PCB.
+To get to the bootloader, with the USB cable plugged in, press the `QK_BOOT` button on the back of the PCB.
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/ramonimbao/squishy65/config.h b/keyboards/ramonimbao/squishy65/config.h
index 1f2bfd7e66..1f858ffee2 100644
--- a/keyboards/ramonimbao/squishy65/config.h
+++ b/keyboards/ramonimbao/squishy65/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x10B5
-#define DEVICE_VER 0x0065
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Squishy65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/ramonimbao/squishy65/info.json b/keyboards/ramonimbao/squishy65/info.json
index d85efa831f..5e41ed2685 100644
--- a/keyboards/ramonimbao/squishy65/info.json
+++ b/keyboards/ramonimbao/squishy65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Squishy65",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x10B5",
+ "device_version": "0.6.5"
+ },
"layouts": {
"LAYOUT_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":"~", "x":13, "y":0}, {"label":"|", "x":14, "y":0}, {"label":"Home", "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":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "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":"PgDn", "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":"\u2191", "x":14, "y":3}, {"label":"End", "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}, {"label":"", "x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/ramonimbao/squishyfrl/config.h b/keyboards/ramonimbao/squishyfrl/config.h
index 9a50948771..04e9a6039d 100644
--- a/keyboards/ramonimbao/squishyfrl/config.h
+++ b/keyboards/ramonimbao/squishyfrl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x4BE5
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT SquishyFRL
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 21
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B9, B8, A0, A1, A9, A8, B11, A6, A5}
#define MATRIX_COL_PINS { A7, C4, C5, B0, B1, B2, B10, B12, B13, B14, B15, C6, C9, C7, C8, A10, A4, C14, A3, A2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/squishyfrl/info.json b/keyboards/ramonimbao/squishyfrl/info.json
index 15a1cd1f86..d2623d0fc9 100644
--- a/keyboards/ramonimbao/squishyfrl/info.json
+++ b/keyboards/ramonimbao/squishyfrl/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "SquishyTKL",
+ "keyboard_name": "SquishyFRL",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x4BE5",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/squishytkl/config.h b/keyboards/ramonimbao/squishytkl/config.h
index 0ee0bc9509..c5843a2277 100644
--- a/keyboards/ramonimbao/squishytkl/config.h
+++ b/keyboards/ramonimbao/squishytkl/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x00B1
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT SquishyTKL
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 26
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B3, B4, B5, C13, B9, B8, A0, A1, A9, A8, B11, A6, A5, C0 }
#define MATRIX_COL_PINS { A15, C10, C11, C12, D2, A7, C4, C5, B0, B1, B2, B10, B12, B13, B14, B15, C6, C9, C7, C8, A10, A4, C14, A3, A2, C3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/squishytkl/info.json b/keyboards/ramonimbao/squishytkl/info.json
index aa19c73fa8..1f60e2bcaf 100644
--- a/keyboards/ramonimbao/squishytkl/info.json
+++ b/keyboards/ramonimbao/squishytkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SquishyTKL",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x00B1",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/tkl_ff/config.h b/keyboards/ramonimbao/tkl_ff/config.h
index d0b3ee75ff..550b2ffee0 100644
--- a/keyboards/ramonimbao/tkl_ff/config.h
+++ b/keyboards/ramonimbao/tkl_ff/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x00FF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT TKL FF
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B3, B7, D6, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D5, B0, B1, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/tkl_ff/info.json b/keyboards/ramonimbao/tkl_ff/info.json
index fd71d3f990..a3a22e34d8 100644
--- a/keyboards/ramonimbao/tkl_ff/info.json
+++ b/keyboards/ramonimbao/tkl_ff/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "TKL FF",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/tkl_ff/rules.mk b/keyboards/ramonimbao/tkl_ff/rules.mk
index 1275531ef6..36c8b4137b 100644
--- a/keyboards/ramonimbao/tkl_ff/rules.mk
+++ b/keyboards/ramonimbao/tkl_ff/rules.mk
@@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+
+DEFAULT_FOLDER = ramonimbao/tkl_ff/v1
diff --git a/keyboards/ramonimbao/tkl_ff/v1/info.json b/keyboards/ramonimbao/tkl_ff/v1/info.json
new file mode 100644
index 0000000000..3370446f2d
--- /dev/null
+++ b/keyboards/ramonimbao/tkl_ff/v1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x00FF"
+ }
+}
diff --git a/keyboards/ramonimbao/tkl_ff/v1/rules.mk b/keyboards/ramonimbao/tkl_ff/v1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/ramonimbao/tkl_ff/v1/rules.mk
diff --git a/keyboards/ramonimbao/tkl_ff/v2/config.h b/keyboards/ramonimbao/tkl_ff/v2/config.h
index a35d1bc599..906f38813a 100644
--- a/keyboards/ramonimbao/tkl_ff/v2/config.h
+++ b/keyboards/ramonimbao/tkl_ff/v2/config.h
@@ -17,9 +17,6 @@
#include "config_common.h"
-#undef PRODUCT_ID
-#define PRODUCT_ID 0x10FF
-
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/ramonimbao/tkl_ff/v2/info.json b/keyboards/ramonimbao/tkl_ff/v2/info.json
new file mode 100644
index 0000000000..ed70ec408c
--- /dev/null
+++ b/keyboards/ramonimbao/tkl_ff/v2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x10FF"
+ }
+}
diff --git a/keyboards/ramonimbao/wete/v1/config.h b/keyboards/ramonimbao/wete/v1/config.h
index ae9ffc6d97..894980edf3 100644
--- a/keyboards/ramonimbao/wete/v1/config.h
+++ b/keyboards/ramonimbao/wete/v1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x00B5
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Wete
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 20
diff --git a/keyboards/ramonimbao/wete/v1/info.json b/keyboards/ramonimbao/wete/v1/info.json
index 7886b864ab..c57354bfcb 100644
--- a/keyboards/ramonimbao/wete/v1/info.json
+++ b/keyboards/ramonimbao/wete/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wete",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x00B5",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT_ansi_rhnp": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4.25, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":8.75, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":16.75, "y":0}, {"x":17.75, "y":0}, {"x":19.25, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4.25, "y":1.25}, {"x":5.25, "y":1.25}, {"x":6.25, "y":1.25}, {"x":7.25, "y":1.25}, {"x":8.25, "y":1.25}, {"x":9.25, "y":1.25}, {"x":10.25, "y":1.25}, {"x":11.25, "y":1.25}, {"x":12.25, "y":1.25}, {"x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "y":1.25, "w":2}, {"x":19.25, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25, "h":2}, {"x":4.25, "y":2.25, "w":1.5}, {"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}, {"x":13.75, "y":2.25}, {"x":14.75, "y":2.25}, {"x":15.75, "y":2.25}, {"x":16.75, "y":2.25}, {"x":17.75, "y":2.25, "w":1.5}, {"x":19.25, "y":2.25}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":4.25, "y":3.25, "w":1.75}, {"x":6, "y":3.25}, {"x":7, "y":3.25}, {"x":8, "y":3.25}, {"x":9, "y":3.25}, {"x":10, "y":3.25}, {"x":11, "y":3.25}, {"x":12, "y":3.25}, {"x":13, "y":3.25}, {"x":14, "y":3.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25, "w":2.25}, {"x":19.25, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25, "h":2}, {"x":4.25, "y":4.25, "w":2.25}, {"x":6.5, "y":4.25}, {"x":7.5, "y":4.25}, {"x":8.5, "y":4.25}, {"x":9.5, "y":4.25}, {"x":10.5, "y":4.25}, {"x":11.5, "y":4.25}, {"x":12.5, "y":4.25}, {"x":13.5, "y":4.25}, {"x":14.5, "y":4.25}, {"x":15.5, "y":4.25}, {"x":16.5, "y":4.25, "w":1.75}, {"x":18.25, "y":4.25}, {"x":19.25, "y":4.25}, {"x":0, "y":5.25, "w":2}, {"x":2, "y":5.25}, {"x":4.25, "y":5.25, "w":1.25}, {"x":5.5, "y":5.25, "w":1.25}, {"x":6.75, "y":5.25, "w":1.25}, {"x":8, "y":5.25, "w":6.25}, {"x":14.25, "y":5.25, "w":1.25}, {"x":15.5, "y":5.25, "w":1.25}, {"x":17.25, "y":5.25}, {"x":18.25, "y":5.25}, {"x":19.25, "y":5.25}]
diff --git a/keyboards/ramonimbao/wete/v2/config.h b/keyboards/ramonimbao/wete/v2/config.h
index d66fe09ad3..8aec9abb3c 100644
--- a/keyboards/ramonimbao/wete/v2/config.h
+++ b/keyboards/ramonimbao/wete/v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB16B
-#define PRODUCT_ID 0x00B3
-#define DEVICE_VER 0x3500
-#define MANUFACTURER Ramon Imbao
-#define PRODUCT Wete R2
-
/* key matrix size */
#define MATRIX_ROWS 13
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B6, C6, C7, E6, F7, F6, F5, F4, F1, F0, NO_PIN }
#define MATRIX_COL_PINS { B1, B0, B7, B5, B4, D7, D6, D4, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ramonimbao/wete/v2/info.json b/keyboards/ramonimbao/wete/v2/info.json
index 8231871a1f..64f4d1afdf 100644
--- a/keyboards/ramonimbao/wete/v2/info.json
+++ b/keyboards/ramonimbao/wete/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Wete R2",
+ "manufacturer": "Ramon Imbao",
"url": "",
"maintainer": "Ramon Imbao",
+ "usb": {
+ "vid": "0xB16B",
+ "pid": "0x00B3",
+ "device_version": "35.0.0"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/ramonimbao/wete/v2/readme.md b/keyboards/ramonimbao/wete/v2/readme.md
index 3b33c9bdaa..d99c611560 100644
--- a/keyboards/ramonimbao/wete/v2/readme.md
+++ b/keyboards/ramonimbao/wete/v2/readme.md
@@ -23,4 +23,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the upper left key and plug in the keyboard
* **Physical reset button**: Briefly press the reset button on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/rart/rart45/config.h b/keyboards/rart/rart45/config.h
index 90d584649d..0b8f0b7102 100644
--- a/keyboards/rart/rart45/config.h
+++ b/keyboards/rart/rart45/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x0045
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT Rart45
-
/* key matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 6
#define MATRIX_ROW_PINS { D1, C2, C1, B1, D0, C3, C0, D7, B0 }
#define MATRIX_COL_PINS { D6, D4, B2, B5, B4, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart45/info.json b/keyboards/rart/rart45/info.json
index e7b1f241b8..e0f9986eee 100644
--- a/keyboards/rart/rart45/info.json
+++ b/keyboards/rart/rart45/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rart45",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0045",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rart4x4/config.h b/keyboards/rart/rart4x4/config.h
index e203cdaaab..b859a2f552 100644
--- a/keyboards/rart/rart4x4/config.h
+++ b/keyboards/rart/rart4x4/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RART4X4
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, B6, B3, B1 }
#define MATRIX_COL_PINS { F7, B2, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart4x4/info.json b/keyboards/rart/rart4x4/info.json
index 468962aaa6..79be3f9722 100644
--- a/keyboards/rart/rart4x4/info.json
+++ b/keyboards/rart/rart4x4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART4X4",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/rart/rart67/config.h b/keyboards/rart/rart67/config.h
index fe96325ac4..a303b42cd2 100644
--- a/keyboards/rart/rart67/config.h
+++ b/keyboards/rart/rart67/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C // "AL"
-#define PRODUCT_ID 0x0067 // "67"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RART67
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { D0, D1, D2, D3, B0 }
#define MATRIX_COL_PINS { B3, B2, B1, D5, D4, D6, D7, B4, B5, F0, F7, F6, F5, F4, F1, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart67/info.json b/keyboards/rart/rart67/info.json
index 1bd24c14f8..8e6a1620f8 100644
--- a/keyboards/rart/rart67/info.json
+++ b/keyboards/rart/rart67/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART67",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0067",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rart67m/config.h b/keyboards/rart/rart67m/config.h
index 02ee4817d9..796b17d5b7 100644
--- a/keyboards/rart/rart67m/config.h
+++ b/keyboards/rart/rart67m/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x6067
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RART67M
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { D3, D2, D4, F6, B3, B4, B2, B5 }
#define MATRIX_COL_PINS { F4, F5, C6, F7, D7, B1, E6, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart67m/info.json b/keyboards/rart/rart67m/info.json
index a8398b041d..6cfd7dcbd6 100644
--- a/keyboards/rart/rart67m/info.json
+++ b/keyboards/rart/rart67m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART67M",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x6067",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rart75/config.h b/keyboards/rart/rart75/config.h
index 1f9a473907..dcc2dff902 100644
--- a/keyboards/rart/rart75/config.h
+++ b/keyboards/rart/rart75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C // "AL"
-#define PRODUCT_ID 0x0075 // "75"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RART75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, F4, F6, C7, D4, D0 }
#define MATRIX_COL_PINS { D5, D3, D2, D1, C6, B6, B5, B4, D7, D6, B3, B1, F7, F5, B2, B7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart75/info.json b/keyboards/rart/rart75/info.json
index d045da2ac1..ebb8c4044d 100644
--- a/keyboards/rart/rart75/info.json
+++ b/keyboards/rart/rart75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART75",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rart75hs/config.h b/keyboards/rart/rart75hs/config.h
index d08e0612a2..7c797b19b2 100644
--- a/keyboards/rart/rart75hs/config.h
+++ b/keyboards/rart/rart75hs/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C // "AL"
-#define PRODUCT_ID 0x5575 // "75"
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Alabahuy
-#define PRODUCT RART75 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D5, D6, D7, D0, C5, C4 }
#define MATRIX_COL_PINS { B4, B3, B2, B1, B0, A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rart75hs/info.json b/keyboards/rart/rart75hs/info.json
index 2a8cae96f8..43822f71f1 100644
--- a/keyboards/rart/rart75hs/info.json
+++ b/keyboards/rart/rart75hs/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART75 Hotswap",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x5575",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rart75m/config.h b/keyboards/rart/rart75m/config.h
index 528082cee0..61173b183b 100644
--- a/keyboards/rart/rart75m/config.h
+++ b/keyboards/rart/rart75m/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x6075
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT 75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { C7, B3, B1, B0, D3, D2 }
#define MATRIX_COL_PINS { B2, D4, F0, C6, F1, D7, F4, E6, F5, B4, F6, B5, F7, B6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_B { B7 }
#define ENCODERS_PAD_A { D6 }
diff --git a/keyboards/rart/rart75m/info.json b/keyboards/rart/rart75m/info.json
index 29a948fb8c..5ff8da619f 100644
--- a/keyboards/rart/rart75m/info.json
+++ b/keyboards/rart/rart75m/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RART75M",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x6075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rartand/config.h b/keyboards/rart/rartand/config.h
index 841b63b639..adf7a9ed86 100644
--- a/keyboards/rart/rartand/config.h
+++ b/keyboards/rart/rartand/config.h
@@ -17,20 +17,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x5050
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT Rartand
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
#define MATRIX_ROW_PINS { C3, B2, C2, B1, C1, D7, C0, B0 }
#define MATRIX_COL_PINS { D0, D1, B4, B5, B3, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rartand/info.json b/keyboards/rart/rartand/info.json
index e1f885ed46..8faf60cf01 100644
--- a/keyboards/rart/rartand/info.json
+++ b/keyboards/rart/rartand/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rartand",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x5050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rartland/config.h b/keyboards/rart/rartland/config.h
index 46f08f11a4..5994219592 100644
--- a/keyboards/rart/rartland/config.h
+++ b/keyboards/rart/rartland/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x6065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RARTLAND
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_ROW_PINS { B4, A7, A5, A6, C3 }
#define MATRIX_COL_PINS { B0, A1, B1, A2, B2, A3, B3, A4, C7, C6, D0, C5, D1, C4 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN A0
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/rart/rartland/info.json b/keyboards/rart/rartland/info.json
index 2743457e7a..2e46454f85 100644
--- a/keyboards/rart/rartland/info.json
+++ b/keyboards/rart/rartland/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RARTLAND",
+ "manufacturer": "Alabahuy",
"url": " ",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x6065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rartlice/config.h b/keyboards/rart/rartlice/config.h
index cf02cfedb6..2db1919529 100644
--- a/keyboards/rart/rartlice/config.h
+++ b/keyboards/rart/rartlice/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x0065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT Rartlice
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/rart/rartlice/info.json b/keyboards/rart/rartlice/info.json
index cd49dbf03c..d5e8802ee6 100644
--- a/keyboards/rart/rartlice/info.json
+++ b/keyboards/rart/rartlice/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rartlice",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rart/rartlite/config.h b/keyboards/rart/rartlite/config.h
index a11592d392..b73269195a 100644
--- a/keyboards/rart/rartlite/config.h
+++ b/keyboards/rart/rartlite/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C
-#define PRODUCT_ID 0x4040
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RARTLITE
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, D2, B2, B4, B6, B5, D0, D1 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B3, F7, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rartlite/info.json b/keyboards/rart/rartlite/info.json
index 96b3d26d70..6403eca743 100644
--- a/keyboards/rart/rartlite/info.json
+++ b/keyboards/rart/rartlite/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RART4X4",
+ "keyboard_name": "RARTLITE",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x4040",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_right_numpad": {
"layout": [
diff --git a/keyboards/rart/rartpad/config.h b/keyboards/rart/rartpad/config.h
index efb6c7ec29..495f6f99ba 100644
--- a/keyboards/rart/rartpad/config.h
+++ b/keyboards/rart/rartpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x414C // "AL"
-#define PRODUCT_ID 0x0050 // "P"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Alabahuy
-#define PRODUCT RARTPAD
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B6, F6, D0, D4, C6 }
#define MATRIX_COL_PINS { B2, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rart/rartpad/info.json b/keyboards/rart/rartpad/info.json
index 48edae5122..2c883cc215 100644
--- a/keyboards/rart/rartpad/info.json
+++ b/keyboards/rart/rartpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RARTPAD",
+ "manufacturer": "Alabahuy",
"url": "",
"maintainer": "Alabahuy",
+ "usb": {
+ "vid": "0x414C",
+ "pid": "0x0050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/rart/rartpad/keymaps/numpad/keymap.c b/keyboards/rart/rartpad/keymaps/numpad/keymap.c
index e149dd6b1d..a576f9df9d 100644
--- a/keyboards/rart/rartpad/keymaps/numpad/keymap.c
+++ b/keyboards/rart/rartpad/keymaps/numpad/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, MO(1), KC_PENT
),
[1] = LAYOUT_numpad_5x4(
- KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/rate/pistachio/config.h b/keyboards/rate/pistachio/config.h
index 5ff7b3d799..8396147b11 100644
--- a/keyboards/rate/pistachio/config.h
+++ b/keyboards/rate/pistachio/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5255
-#define PRODUCT_ID 0xD0C2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rate
-#define PRODUCT pistachio
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/rate/pistachio/info.json b/keyboards/rate/pistachio/info.json
index 8cdeb51ca3..7f9e92e484 100644
--- a/keyboards/rate/pistachio/info.json
+++ b/keyboards/rate/pistachio/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Pistachio",
+ "keyboard_name": "pistachio",
+ "manufacturer": "rate",
"url": "",
"maintainer": "rate",
+ "usb": {
+ "vid": "0x5255",
+ "pid": "0xD0C2",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"ESC", "x":1.25, "y":0.25},
diff --git a/keyboards/rate/pistachio/rev1/config.h b/keyboards/rate/pistachio/rev1/config.h
index efffd3c9e2..3859a34ca1 100644
--- a/keyboards/rate/pistachio/rev1/config.h
+++ b/keyboards/rate/pistachio/rev1/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D3}
-#define UNUSED_PINS
#define USE_I2C
diff --git a/keyboards/rate/pistachio/rev2/config.h b/keyboards/rate/pistachio/rev2/config.h
index 5363f76df4..bd682d1a90 100644
--- a/keyboards/rate/pistachio/rev2/config.h
+++ b/keyboards/rate/pistachio/rev2/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6, D4 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, D3}
-#define UNUSED_PINS
#define USE_I2C
diff --git a/keyboards/rate/pistachio_mp/config.h b/keyboards/rate/pistachio_mp/config.h
index 09b067c8ee..55f6456874 100644
--- a/keyboards/rate/pistachio_mp/config.h
+++ b/keyboards/rate/pistachio_mp/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5255
-#define PRODUCT_ID 0xE212
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rate
-#define PRODUCT pistachio_mp
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -47,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, E6, D7, C6, D4 }
#define MATRIX_COL_PINS { B3, B1, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/rate/pistachio_mp/info.json b/keyboards/rate/pistachio_mp/info.json
index d4e130300c..52c754186f 100644
--- a/keyboards/rate/pistachio_mp/info.json
+++ b/keyboards/rate/pistachio_mp/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "pistachio_mp",
+ "manufacturer": "rate",
"url": "",
"maintainer": "rate",
+ "usb": {
+ "vid": "0x5255",
+ "pid": "0xE212",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rate/pistachio_pro/config.h b/keyboards/rate/pistachio_pro/config.h
index d140aa5407..464a68af72 100644
--- a/keyboards/rate/pistachio_pro/config.h
+++ b/keyboards/rate/pistachio_pro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5255
-#define PRODUCT_ID 0xF40C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rate
-#define PRODUCT PistachioPro
-
#define ENCODERS_PAD_A {D2}
#define ENCODERS_PAD_B {D3}
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D4, C6, D7, B3, B4, B5 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B6, D6 }
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/rate/pistachio_pro/info.json b/keyboards/rate/pistachio_pro/info.json
index c519a69e11..e762f30b69 100644
--- a/keyboards/rate/pistachio_pro/info.json
+++ b/keyboards/rate/pistachio_pro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "PistachioPro",
+ "manufacturer": "rate",
"url": "https://rates.booth.pm/items/2925303",
"maintainer": "rate",
+ "usb": {
+ "vid": "0x5255",
+ "pid": "0xF40C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rationalist/ratio65_hotswap/info.json b/keyboards/rationalist/ratio65_hotswap/info.json
deleted file mode 100644
index 709e929fa0..0000000000
--- a/keyboards/rationalist/ratio65_hotswap/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Ratio65_HotSwap",
- "url": "",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"\u2191", "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
- }
- }
-}
diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
index 1bc8eb7fdf..655c6898a0 100644
--- a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
+++ b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4446
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Ratio65 Rev A HotSwap
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/info.json b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json
new file mode 100644
index 0000000000..8616062b72
--- /dev/null
+++ b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Ratio65 Hotswap Rev A",
+ "manufacturer": "4pplet",
+ "url": "",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4446",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"\u2191", "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/rationalist/ratio65_solder/info.json b/keyboards/rationalist/ratio65_solder/info.json
deleted file mode 100644
index e083099bde..0000000000
--- a/keyboards/rationalist/ratio65_solder/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "Ratio65_Solder",
- "url": "",
- "maintainer": "4pplet",
- "layouts": {
- "LAYOUT_all": {
- "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":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Del", "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"Nuhs", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"Nubs", "x":1.25, "y":3}, {"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":"\u2191", "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
- }
- }
-}
diff --git a/keyboards/rationalist/ratio65_solder/rev_a/config.h b/keyboards/rationalist/ratio65_solder/rev_a/config.h
index 824ebd3cb7..9a4a6d1357 100644
--- a/keyboards/rationalist/ratio65_solder/rev_a/config.h
+++ b/keyboards/rationalist/ratio65_solder/rev_a/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4446
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER 4pplet
-#define PRODUCT Ratio65 Rev A Solder
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/rationalist/ratio65_solder/rev_a/info.json b/keyboards/rationalist/ratio65_solder/rev_a/info.json
new file mode 100644
index 0000000000..ec846e517c
--- /dev/null
+++ b/keyboards/rationalist/ratio65_solder/rev_a/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Ratio65 Solder Rev A",
+ "manufacturer": "4pplet",
+ "url": "",
+ "maintainer": "4pplet",
+ "usb": {
+ "vid": "0x4446",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "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":"~", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Del", "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"Nuhs", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"Nubs", "x":1.25, "y":3}, {"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":"\u2191", "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":"Win", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/recompile_keys/choco60/config.h b/keyboards/recompile_keys/choco60/config.h
index 72264f51e2..5a017cbc4b 100644
--- a/keyboards/recompile_keys/choco60/config.h
+++ b/keyboards/recompile_keys/choco60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x524B // recompile keys
-#define PRODUCT_ID 0x4362 // Choco60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER recompile keys
-#define PRODUCT Choco60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/recompile_keys/choco60/info.json b/keyboards/recompile_keys/choco60/info.json
index 193e8f37b6..17ab7eadb2 100644
--- a/keyboards/recompile_keys/choco60/info.json
+++ b/keyboards/recompile_keys/choco60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Choco60",
+ "manufacturer": "recompile keys",
"url": "https://keys.recompile.net/projects/choco60/",
"maintainer": "Naoto Takai",
+ "usb": {
+ "vid": "0x524B",
+ "pid": "0x4362",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"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":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":"+", "x":13, "y":0}, {"label":"|", "x":14, "y":0}, {"label":"~", "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":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"{", "x":12.5, "y":1}, {"label":"}", "x":13.5, "y":1}, {"label":"Delete", "x":14.5, "y":1, "w":1.5}, {"label":"Control", "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":7.75, "y":2}, {"label":"J", "x":8.75, "y":2}, {"label":"K", "x":9.75, "y":2}, {"label":"L", "x":10.75, "y":2}, {"label":":", "x":11.75, "y":2}, {"label":"\"", "x":12.75, "y":2}, {"label":"Return", "x":13.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":8.25, "y":3}, {"label":"M", "x":9.25, "y":3}, {"label":"<", "x":10.25, "y":3}, {"label":">", "x":11.25, "y":3}, {"label":"?", "x":12.25, "y":3}, {"label":"Shift", "x":13.25, "y":3, "w":1.75}, {"label":"Fn", "x":15, "y":3}, {"label":"Opt", "x":1.5, "y":4}, {"label":"\u2318", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":2.75}, {"label":"Opt", "x":7.75, "y":4}, {"x":8.75, "y":4, "w":2.25}, {"label":"\u2318", "x":11, "y":4, "w":1.5}, {"label":"Ctrl", "x":12.5, "y":4}]
diff --git a/keyboards/recompile_keys/choco60/rev1/config.h b/keyboards/recompile_keys/choco60/rev1/config.h
index c5efc6f5f0..d8b3d2904d 100644
--- a/keyboards/recompile_keys/choco60/rev1/config.h
+++ b/keyboards/recompile_keys/choco60/rev1/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/recompile_keys/choco60/rev2/config.h b/keyboards/recompile_keys/choco60/rev2/config.h
index 46aef108d8..5db3a06352 100644
--- a/keyboards/recompile_keys/choco60/rev2/config.h
+++ b/keyboards/recompile_keys/choco60/rev2/config.h
@@ -32,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* The last three NO_PIN are dummies to make the same size as MATRIX_ROW_PINS_RIGHT. */
#define MATRIX_COL_PINS { C6, B4, B3, B2, B1, B0, NO_PIN, NO_PIN, NO_PIN }
#define MATRIX_COL_PINS_RIGHT { C7, B7, B6, B5, B4, B3, B2, C6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/recompile_keys/cocoa40/config.h b/keyboards/recompile_keys/cocoa40/config.h
index 50da34ffbd..caf109a72f 100644
--- a/keyboards/recompile_keys/cocoa40/config.h
+++ b/keyboards/recompile_keys/cocoa40/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC0C0
-#define PRODUCT_ID 0x4000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER recompile keys
-#define PRODUCT cocoa40
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/recompile_keys/cocoa40/info.json b/keyboards/recompile_keys/cocoa40/info.json
index d2b75a6fca..dca5750161 100644
--- a/keyboards/recompile_keys/cocoa40/info.json
+++ b/keyboards/recompile_keys/cocoa40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cocoa40",
+ "manufacturer": "recompile keys",
"url": "https://keys.recompile.net/projects/cocoa40/",
"maintainer": "Naoto Takai",
+ "usb": {
+ "vid": "0xC0C0",
+ "pid": "0x4000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7.25, "y":0}, {"label":"U", "x":8.25, "y":0}, {"label":"I", "x":9.25, "y":0}, {"label":"O", "x":10.25, "y":0}, {"label":"P", "x":11.25, "y":0}, {"label":"{", "x":12.25, "y":0}, {"label":"}", "x":13.25, "y":0}, {"label":"Back<br>Space", "x":14.25, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":7.5, "y":1}, {"label":"J", "x":8.5, "y":1}, {"label":"K", "x":9.5, "y":1}, {"label":"L", "x":10.5, "y":1}, {"label":":", "x":11.5, "y":1}, {"label":"\"", "x":12.5, "y":1}, {"label":"Enter", "x":13.5, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":8, "y":2}, {"label":"M", "x":9, "y":2}, {"label":"<", "x":10, "y":2}, {"label":">", "x":11, "y":2}, {"label":"?", "x":12, "y":2}, {"label":"Shift", "x":13, "y":2, "w":1.25}, {"label":"Fn", "x":14.25, "y":2}, {"label":"Opt", "x":1.5, "y":3}, {"label":"Command", "x":2.5, "y":3, "w":1.5}, {"label":"", "x":4, "y":3, "w":2.25}, {"label":"", "x":7.5, "y":3, "w":2.75}, {"label":"Command", "x":10.25, "y":3, "w":1.5}, {"label":"Opt", "x":11.75, "y":3}]
diff --git a/keyboards/recompile_keys/mio/config.h b/keyboards/recompile_keys/mio/config.h
index 0c4438e53e..155228fef6 100644
--- a/keyboards/recompile_keys/mio/config.h
+++ b/keyboards/recompile_keys/mio/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x524B // recompile keys
-#define PRODUCT_ID 0x4D41 // MIO
-#define DEVICE_VER 0x0001
-#define MANUFACTURER recompile keys
-#define PRODUCT MIO
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, F0, F4, F7, F6, F5 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/recompile_keys/mio/info.json b/keyboards/recompile_keys/mio/info.json
index fb66fba7f5..6c82236727 100644
--- a/keyboards/recompile_keys/mio/info.json
+++ b/keyboards/recompile_keys/mio/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "MIO",
+ "manufacturer": "recompile keys",
"url": "https://keys.recompile.net/projects/mio/",
"maintainer": "recompile keys",
+ "usb": {
+ "vid": "0x524B",
+ "pid": "0x4D41",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/recompile_keys/nomu30/config.h b/keyboards/recompile_keys/nomu30/config.h
index 62aec20525..23b19c4e0c 100644
--- a/keyboards/recompile_keys/nomu30/config.h
+++ b/keyboards/recompile_keys/nomu30/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x524B // recompile keys
-#define PRODUCT_ID 0x4E31 // Nomu30
-#define DEVICE_VER 0x0001
-#define MANUFACTURER recompile keys
-#define PRODUCT Nomu30
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12
diff --git a/keyboards/recompile_keys/nomu30/info.json b/keyboards/recompile_keys/nomu30/info.json
index 8f53f003b5..7521023d1b 100644
--- a/keyboards/recompile_keys/nomu30/info.json
+++ b/keyboards/recompile_keys/nomu30/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nomu30",
+ "manufacturer": "recompile keys",
"url": "https://keys.recompile.net/projects/nomu30/",
"maintainer": "takai",
+ "usb": {
+ "vid": "0x524B",
+ "pid": "0x4E31",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c
index 45a1b8a566..4f789fdc50 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c
+++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,-------------------------------------------------------------------------------------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md
index 754e37f46b..ef35e0a405 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md
+++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md
@@ -57,7 +57,7 @@ At first, Move to Lower layer with long push. After that Adjust key with long pu
[_ADJUST] = LAYOUT(
//,-------------------------------------------------------------------------------------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c
index efdf01b2e7..9d9e9fe42f 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c
+++ b/keyboards/recompile_keys/nomu30/keymaps/like_jis/keymap.c
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,-----------------------------------------------------------------------------------------------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md b/keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md
index ad64f06b15..1e3e63a460 100644
--- a/keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md
+++ b/keyboards/recompile_keys/nomu30/keymaps/like_jis/readme.md
@@ -53,7 +53,7 @@ At first, Move to Lower layer with long push. After that Adjust key with long pu
[_ADJUST] = LAYOUT(
//,-----------------------------------------------------------------------------------------------------------------------.
- RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX,
//|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
diff --git a/keyboards/recompile_keys/nomu30/rev1/config.h b/keyboards/recompile_keys/nomu30/rev1/config.h
index 718c840bd6..e9ef483924 100644
--- a/keyboards/recompile_keys/nomu30/rev1/config.h
+++ b/keyboards/recompile_keys/nomu30/rev1/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D4 }
#define MATRIX_COL_PINS { C6, D7, E6, B4, F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/recompile_keys/nomu30/rev2/config.h b/keyboards/recompile_keys/nomu30/rev2/config.h
index 49d80a7162..f69bae591a 100644
--- a/keyboards/recompile_keys/nomu30/rev2/config.h
+++ b/keyboards/recompile_keys/nomu30/rev2/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, B1, B0 }
#define MATRIX_COL_PINS { C4, C5, C6, C7, B7, B6, B5, B4, B3, D5, D4, D3 }
-#define UNUSED_PINS { C2, D0, D1, D2, D6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rect44/config.h b/keyboards/rect44/config.h
index d76f5f068f..19343d16a8 100644
--- a/keyboards/rect44/config.h
+++ b/keyboards/rect44/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4DD7
-#define DEVICE_VER 0x0001
-#define MANUFACTURER koshinoya
-#define PRODUCT Rect44
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/rect44/info.json b/keyboards/rect44/info.json
index aae5fe41de..857df635d9 100644
--- a/keyboards/rect44/info.json
+++ b/keyboards/rect44/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "rect44",
+ "keyboard_name": "Rect44",
+ "manufacturer": "koshinoya",
"url": "",
"maintainer": "koshinoya",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4DD7",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/redox/info.json b/keyboards/redox/info.json
deleted file mode 100644
index e404d195e4..0000000000
--- a/keyboards/redox/info.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "keyboard_name": "Redox",
- "url": "",
- "maintainer": "qmk",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"_Nav || `", "x":0, "y":0.375, "w":1.25},
- {"label":"1", "x":1.25, "y":0.375},
- {"label":"2", "x":2.25, "y":0.125},
- {"label":"3", "x":3.25, "y":0},
- {"label":"4", "x":4.25, "y":0.125},
- {"label":"5", "x":5.25, "y":0.25},
-
- {"label":"6", "x":12.25, "y":0.25},
- {"label":"7", "x":13.25, "y":0.125},
- {"label":"8", "x":14.25, "y":0},
- {"label":"9", "x":15.25, "y":0.125},
- {"label":"0", "x":16.25, "y":0.375},
- {"label":"_Nav || -", "x":17.25, "y":0.375, "w":1.25},
-
- {"label":"Tab", "x":0, "y":1.375, "w":1.25},
- {"label":"Q", "x":1.25, "y":1.375},
- {"label":"W", "x":2.25, "y":1.125},
- {"label":"E", "x":3.25, "y":1},
- {"label":"R", "x":4.25, "y":1.125},
- {"label":"T", "x":5.25, "y":1.25},
- {"label":"MO(_SYMB)", "x":6.25, "y":0.75},
-
- {"label":"MO(_SYMB)", "x":11.25, "y":0.75},
- {"label":"Y", "x":12.25, "y":1.25},
- {"label":"U", "x":13.25, "y":1.125},
- {"label":"I", "x":14.25, "y":1},
- {"label":"O", "x":15.25, "y":1.125},
- {"label":"P", "x":16.25, "y":1.375},
- {"label":"=", "x":17.25, "y":1.375, "w":1.25},
-
- {"label":"Esc", "x":0, "y":2.375, "w":1.25},
- {"label":"A", "x":1.25, "y":2.375},
- {"label":"S", "x":2.25, "y":2.125},
- {"label":"D", "x":3.25, "y":2},
- {"label":"F", "x":4.25, "y":2.125},
- {"label":"G", "x":5.25, "y":2.25},
- {"label":"[", "x":6.25, "y":1.75, "h":1.5},
-
- {"label":"]", "x":11.25, "y":1.75, "h":1.5},
- {"label":"H", "x":12.25, "y":2.25},
- {"label":"J", "x":13.25, "y":2.125},
- {"label":"K", "x":14.25, "y":2},
- {"label":"L", "x":15.25, "y":2.125},
- {"label":";", "x":16.25, "y":2.375},
- {"label":"'", "x":17.25, "y":2.375, "w":1.25},
-
- {"label":"Shift", "x":0, "y":3.375, "w":1.25},
- {"label":"Z", "x":1.25, "y":3.375},
- {"label":"X", "x":2.25, "y":3.125},
- {"label":"C", "x":3.25, "y":3},
- {"label":"V", "x":4.25, "y":3.125},
- {"label":"B", "x":5.25, "y":3.25},
-
- {"label":"_Adjust/Page Up", "x":6.75, "y":3.75},
- {"label":"Page Down", "x":7.75, "y":3.75},
-
- {"label":"Home", "x":9.75, "y":3.75},
- {"label":"_Adjust/End", "x":10.75, "y":3.75},
-
- {"label":"N", "x":12.25, "y":3.25},
- {"label":"M", "x":13.25, "y":3.125},
- {"label":",", "x":14.25, "y":3},
- {"label":",", "x":15.25, "y":3.125},
- {"label":"\\", "x":16.25, "y":3.375},
- {"label":"Shift", "x":17.25, "y":3.375, "w":1.25},
-
- {"label":"LGUI", "x":0.25, "y":4.375},
- {"label":"P+", "x":1.25, "y":4.375},
- {"label":"P-", "x":2.25, "y":4.125},
- {"label":"LAlt || P*", "x":3.25, "y":4},
-
- {"label":"LCtrl || P/", "x":5.5, "y":5.25, "w":1.25},
- {"label":"Backspace", "x":6.75, "y":4.75, "h":1.5},
- {"label":"Delete", "x":7.75, "y":4.75, "h":1.5},
-
- {"label":"Enter", "x":9.75, "y":4.75, "h":1.5},
- {"label":"Space", "x":10.75, "y":4.75, "h":1.5},
- {"label":"RAlt", "x":11.75, "y":5.25, "w":1.25},
-
- {"label":"Left", "x":14.25, "y":4},
- {"label":"Down", "x":15.25, "y":4.125},
- {"label":"Up", "x":16.25, "y":4.375},
- {"label":"Right", "x":17.25, "y":4.375}
- ]
- }
- }
-}
diff --git a/keyboards/redox/keymaps/KL1RL/keymap.c b/keyboards/redox/keymaps/KL1RL/keymap.c
index 2986a51ceb..a024cd1d56 100644
--- a/keyboards/redox/keymaps/KL1RL/keymap.c
+++ b/keyboards/redox/keymaps/KL1RL/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/default/keymap.c b/keyboards/redox/keymaps/default/keymap.c
index 3f56fa5f3c..ecf3ff4f80 100644
--- a/keyboards/redox/keymaps/default/keymap.c
+++ b/keyboards/redox/keymaps/default/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/eightbitraptor/keymap.c b/keyboards/redox/keymaps/eightbitraptor/keymap.c
index dd1ed01c24..110abb8368 100644
--- a/keyboards/redox/keymaps/eightbitraptor/keymap.c
+++ b/keyboards/redox/keymaps/eightbitraptor/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_MUTE , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/fculpo/keymap.c b/keyboards/redox/keymaps/fculpo/keymap.c
index b5aeca99dd..24c4767869 100644
--- a/keyboards/redox/keymaps/fculpo/keymap.c
+++ b/keyboards/redox/keymaps/fculpo/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/finex/keymap.c b/keyboards/redox/keymaps/finex/keymap.c
index 8cc822f1ce..724bf564f6 100644
--- a/keyboards/redox/keymaps/finex/keymap.c
+++ b/keyboards/redox/keymaps/finex/keymap.c
@@ -373,7 +373,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,LR1 ,LR2 ,LR3 ,LR4 ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,RGB_M_B ,RGB_M_R ,RGB_M_SW,RGB_M_SN,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/german/keymap.c b/keyboards/redox/keymaps/german/keymap.c
index 06928b2304..c4325ea73e 100644
--- a/keyboards/redox/keymaps/german/keymap.c
+++ b/keyboards/redox/keymaps/german/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/italian/keymap.c b/keyboards/redox/keymaps/italian/keymap.c
index 5059a810b9..97f2f53294 100644
--- a/keyboards/redox/keymaps/italian/keymap.c
+++ b/keyboards/redox/keymaps/italian/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/jeherve/keymap.c b/keyboards/redox/keymaps/jeherve/keymap.c
index 226d14aae1..cd1dbdce3e 100644
--- a/keyboards/redox/keymaps/jeherve/keymap.c
+++ b/keyboards/redox/keymaps/jeherve/keymap.c
@@ -230,7 +230,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,XXXXXXX ,RGB_VAD ,RGB_VAI ,RGB_TOG ,XXXXXXX ,_______ , _______ ,XXXXXXX ,RESET ,DEBUG ,AU_TOG ,XXXXXXX ,_______ ,
+ _______ ,XXXXXXX ,RGB_VAD ,RGB_VAI ,RGB_TOG ,XXXXXXX ,_______ , _______ ,XXXXXXX ,QK_BOOT,DEBUG ,AU_TOG ,XXXXXXX ,_______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/nrichers/keymap.c b/keyboards/redox/keymaps/nrichers/keymap.c
index 7434b43682..cfe6895cde 100755
--- a/keyboards/redox/keymaps/nrichers/keymap.c
+++ b/keyboards/redox/keymaps/nrichers/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,KC_F12 ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/ptillemans/keymap.c b/keyboards/redox/keymaps/ptillemans/keymap.c
index 3d9b90be5b..eea5a32808 100644
--- a/keyboards/redox/keymaps/ptillemans/keymap.c
+++ b/keyboards/redox/keymaps/ptillemans/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/thattolleyguy/keymap.c b/keyboards/redox/keymaps/thattolleyguy/keymap.c
index 825addbbbf..5bcb7e52cc 100644
--- a/keyboards/redox/keymaps/thattolleyguy/keymap.c
+++ b/keyboards/redox/keymaps/thattolleyguy/keymap.c
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,XXXXXXX, _______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,KC_PSCR
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,KC_PSCR
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
),
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_END ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,RESET ,XXXXXXX
+ _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,QK_BOOT,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
)
};
diff --git a/keyboards/redox/keymaps/tw1t611/keymap.c b/keyboards/redox/keymaps/tw1t611/keymap.c
index 3ea10a7528..da978de9fa 100644
--- a/keyboards/redox/keymaps/tw1t611/keymap.c
+++ b/keyboards/redox/keymaps/tw1t611/keymap.c
@@ -24,7 +24,7 @@ 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_DQUO ,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 , QK_BOOT,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_QUES ,DE_PIPE ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/via/keymap.c b/keyboards/redox/keymaps/via/keymap.c
index 13c95bdd53..474f03ecd7 100644
--- a/keyboards/redox/keymaps/via/keymap.c
+++ b/keyboards/redox/keymaps/via/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/readme.md b/keyboards/redox/readme.md
index 27333b518c..82b00d79f7 100644
--- a/keyboards/redox/readme.md
+++ b/keyboards/redox/readme.md
@@ -41,7 +41,7 @@ qmk flash
```
Enter the bootloader when prompted by doing one of the following:
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if you have a layout that has one.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if you have a layout that has one.
The WS2812 driver is *untested* on the Proton C, but if you choose to use this feature, you will need to source 5v from the Proton's VUSB pin and not use the PCB's dedicated pin which will be 3v3 *and* follow the [documentation](https://docs.qmk.fm/#/ws2812_driver) to enable the correct driver settings.
diff --git a/keyboards/redox/rev1/base/info.json b/keyboards/redox/rev1/base/info.json
new file mode 100644
index 0000000000..ad889c2304
--- /dev/null
+++ b/keyboards/redox/rev1/base/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/redox/rev1/base/rules.mk b/keyboards/redox/rev1/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/redox/rev1/base/rules.mk
diff --git a/keyboards/redox/rev1/config.h b/keyboards/redox/rev1/config.h
index 95c4e3cbbf..72874b66f5 100644
--- a/keyboards/redox/rev1/config.h
+++ b/keyboards/redox/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D44 // "MD"
-#define PRODUCT_ID 0x5244 // "RD"
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Falbatech
-#define PRODUCT The Redox Keyboard
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/redox/rev1/info.json b/keyboards/redox/rev1/info.json
new file mode 100644
index 0000000000..bceac88bb0
--- /dev/null
+++ b/keyboards/redox/rev1/info.json
@@ -0,0 +1,100 @@
+{
+ "keyboard_name": "Redox",
+ "manufacturer": "Falbatech",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D44",
+ "pid": "0x5244",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"_Nav || `", "x":0, "y":0.375, "w":1.25},
+ {"label":"1", "x":1.25, "y":0.375},
+ {"label":"2", "x":2.25, "y":0.125},
+ {"label":"3", "x":3.25, "y":0},
+ {"label":"4", "x":4.25, "y":0.125},
+ {"label":"5", "x":5.25, "y":0.25},
+
+ {"label":"6", "x":12.25, "y":0.25},
+ {"label":"7", "x":13.25, "y":0.125},
+ {"label":"8", "x":14.25, "y":0},
+ {"label":"9", "x":15.25, "y":0.125},
+ {"label":"0", "x":16.25, "y":0.375},
+ {"label":"_Nav || -", "x":17.25, "y":0.375, "w":1.25},
+
+ {"label":"Tab", "x":0, "y":1.375, "w":1.25},
+ {"label":"Q", "x":1.25, "y":1.375},
+ {"label":"W", "x":2.25, "y":1.125},
+ {"label":"E", "x":3.25, "y":1},
+ {"label":"R", "x":4.25, "y":1.125},
+ {"label":"T", "x":5.25, "y":1.25},
+ {"label":"MO(_SYMB)", "x":6.25, "y":0.75},
+
+ {"label":"MO(_SYMB)", "x":11.25, "y":0.75},
+ {"label":"Y", "x":12.25, "y":1.25},
+ {"label":"U", "x":13.25, "y":1.125},
+ {"label":"I", "x":14.25, "y":1},
+ {"label":"O", "x":15.25, "y":1.125},
+ {"label":"P", "x":16.25, "y":1.375},
+ {"label":"=", "x":17.25, "y":1.375, "w":1.25},
+
+ {"label":"Esc", "x":0, "y":2.375, "w":1.25},
+ {"label":"A", "x":1.25, "y":2.375},
+ {"label":"S", "x":2.25, "y":2.125},
+ {"label":"D", "x":3.25, "y":2},
+ {"label":"F", "x":4.25, "y":2.125},
+ {"label":"G", "x":5.25, "y":2.25},
+ {"label":"[", "x":6.25, "y":1.75, "h":1.5},
+
+ {"label":"]", "x":11.25, "y":1.75, "h":1.5},
+ {"label":"H", "x":12.25, "y":2.25},
+ {"label":"J", "x":13.25, "y":2.125},
+ {"label":"K", "x":14.25, "y":2},
+ {"label":"L", "x":15.25, "y":2.125},
+ {"label":";", "x":16.25, "y":2.375},
+ {"label":"'", "x":17.25, "y":2.375, "w":1.25},
+
+ {"label":"Shift", "x":0, "y":3.375, "w":1.25},
+ {"label":"Z", "x":1.25, "y":3.375},
+ {"label":"X", "x":2.25, "y":3.125},
+ {"label":"C", "x":3.25, "y":3},
+ {"label":"V", "x":4.25, "y":3.125},
+ {"label":"B", "x":5.25, "y":3.25},
+
+ {"label":"_Adjust/Page Up", "x":6.75, "y":3.75},
+ {"label":"Page Down", "x":7.75, "y":3.75},
+
+ {"label":"Home", "x":9.75, "y":3.75},
+ {"label":"_Adjust/End", "x":10.75, "y":3.75},
+
+ {"label":"N", "x":12.25, "y":3.25},
+ {"label":"M", "x":13.25, "y":3.125},
+ {"label":",", "x":14.25, "y":3},
+ {"label":",", "x":15.25, "y":3.125},
+ {"label":"\\", "x":16.25, "y":3.375},
+ {"label":"Shift", "x":17.25, "y":3.375, "w":1.25},
+
+ {"label":"LGUI", "x":0.25, "y":4.375},
+ {"label":"P+", "x":1.25, "y":4.375},
+ {"label":"P-", "x":2.25, "y":4.125},
+ {"label":"LAlt || P*", "x":3.25, "y":4},
+
+ {"label":"LCtrl || P/", "x":5.5, "y":5.25, "w":1.25},
+ {"label":"Backspace", "x":6.75, "y":4.75, "h":1.5},
+ {"label":"Delete", "x":7.75, "y":4.75, "h":1.5},
+
+ {"label":"Enter", "x":9.75, "y":4.75, "h":1.5},
+ {"label":"Space", "x":10.75, "y":4.75, "h":1.5},
+ {"label":"RAlt", "x":11.75, "y":5.25, "w":1.25},
+
+ {"label":"Left", "x":14.25, "y":4},
+ {"label":"Down", "x":15.25, "y":4.125},
+ {"label":"Up", "x":16.25, "y":4.375},
+ {"label":"Right", "x":17.25, "y":4.375}
+ ]
+ }
+ }
+}
diff --git a/keyboards/redox/rev1/proton_c/config.h b/keyboards/redox/rev1/proton_c/config.h
index eec50ab879..56cdb88126 100644
--- a/keyboards/redox/rev1/proton_c/config.h
+++ b/keyboards/redox/rev1/proton_c/config.h
@@ -5,10 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#undef DEVICE_VER
-#define DEVICE_VER 0x0101 // added 1 for the rev1 + proton c
-
// wiring of each half
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS { B5, B3, B2, B1, B0 }
diff --git a/keyboards/redox/rev1/proton_c/info.json b/keyboards/redox/rev1/proton_c/info.json
new file mode 100644
index 0000000000..62a27157ad
--- /dev/null
+++ b/keyboards/redox/rev1/proton_c/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.1"
+ }
+}
diff --git a/keyboards/redox/rev1/rules.mk b/keyboards/redox/rev1/rules.mk
index e69de29bb2..c971da1680 100644
--- a/keyboards/redox/rev1/rules.mk
+++ b/keyboards/redox/rev1/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = redox/rev1/base
diff --git a/keyboards/redox/rules.mk b/keyboards/redox/rules.mk
index 1ce6f56efe..181027c417 100644
--- a/keyboards/redox/rules.mk
+++ b/keyboards/redox/rules.mk
@@ -19,7 +19,7 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SPLIT_KEYBOARD = yes
-DEFAULT_FOLDER = redox/rev1
+DEFAULT_FOLDER = redox/rev1/base
# Disable unsupported hardware
AUDIO_SUPPORTED = no
diff --git a/keyboards/redox_media/config.h b/keyboards/redox_media/config.h
index 0d4ac16b5f..6f2225adb0 100644
--- a/keyboards/redox_media/config.h
+++ b/keyboards/redox_media/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0100
-#define MANUFACTURER shiftux
-#define PRODUCT Redox Media
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
diff --git a/keyboards/redox_media/info.json b/keyboards/redox_media/info.json
index e13487e791..ac2480c997 100644
--- a/keyboards/redox_media/info.json
+++ b/keyboards/redox_media/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Redox Media",
+ "manufacturer": "shiftux",
"url": "",
"maintainer": "shiftux",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/redox_w/config.h b/keyboards/redox_w/config.h
index 4fe2447b06..3c4b49fa10 100644
--- a/keyboards/redox_w/config.h
+++ b/keyboards/redox_w/config.h
@@ -18,14 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x4D44 //MD
-#define PRODUCT_ID 0x5257 //RW
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mattia Dal Ben
-#define PRODUCT Redox_wireless
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/redox_w/info.json b/keyboards/redox_w/info.json
index aae795c677..b91fec5a50 100644
--- a/keyboards/redox_w/info.json
+++ b/keyboards/redox_w/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Redox Wireless",
+ "manufacturer": "Mattia Dal Ben",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D44",
+ "pid": "0x5257",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/redox_w/keymaps/danielo515/keymap.c b/keyboards/redox_w/keymaps/danielo515/keymap.c
index b76a72cf18..5a9fa4e5ee 100644
--- a/keyboards/redox_w/keymaps/danielo515/keymap.c
+++ b/keyboards/redox_w/keymaps/danielo515/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,TG(_GAMING) ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox_w/keymaps/default/keymap.c b/keyboards/redox_w/keymaps/default/keymap.c
index a91d3725f4..a463bfc673 100644
--- a/keyboards/redox_w/keymaps/default/keymap.c
+++ b/keyboards/redox_w/keymaps/default/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox_w/keymaps/italian/keymap.c b/keyboards/redox_w/keymaps/italian/keymap.c
index e67742c6a1..fd4dffeecb 100644
--- a/keyboards/redox_w/keymaps/italian/keymap.c
+++ b/keyboards/redox_w/keymaps/italian/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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
+ 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
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
),
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,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
+ _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
),
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
+ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
),
@@ -89,20 +89,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , 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 matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
@@ -121,5 +121,3 @@ void matrix_scan_user(void) {
break;
}
};
-
-
diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
index ffc0d98798..d2d64b8894 100644
--- a/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/redox_w/keymaps/via/keymap.c b/keyboards/redox_w/keymaps/via/keymap.c
index b9af344a46..2ec63ec852 100644
--- a/keyboards/redox_w/keymaps/via/keymap.c
+++ b/keyboards/redox_w/keymaps/via/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┠┌────────┬────────┬────────┬────────┬────────┬────────â”
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- XXXXXXX ,QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
+ XXXXXXX ,QK_BOOT,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┠┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redscarf_i/config.h b/keyboards/redscarf_i/config.h
index ec86905db1..494afb5e2b 100644
--- a/keyboards/redscarf_i/config.h
+++ b/keyboards/redscarf_i/config.h
@@ -19,20 +19,11 @@ 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 0x5959
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Red Scarf
-#define PRODUCT Red Scarf I
-
/* Matrix */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Backlight */
diff --git a/keyboards/redscarf_i/info.json b/keyboards/redscarf_i/info.json
index ac997c3a5f..fb4341f78f 100644
--- a/keyboards/redscarf_i/info.json
+++ b/keyboards/redscarf_i/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Red Scarf I",
+ "manufacturer": "Red Scarf",
"url": "",
"maintainer": "qmk, defying",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5959",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/redscarf_i/redscarf_i.c b/keyboards/redscarf_i/redscarf_i.c
index a8a685b13b..039e20664d 100644
--- a/keyboards/redscarf_i/redscarf_i.c
+++ b/keyboards/redscarf_i/redscarf_i.c
@@ -36,7 +36,7 @@ bool led_update_kb(led_t led_state) {
}
layer_state_t layer_state_set_kb(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case 1:
writePinHigh(F6);
writePinLow(F5);
diff --git a/keyboards/redscarf_iiplus/verb/config.h b/keyboards/redscarf_iiplus/verb/config.h
index daf1bc8823..07d3979bef 100755
--- a/keyboards/redscarf_iiplus/verb/config.h
+++ b/keyboards/redscarf_iiplus/verb/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RedScarf
-#define PRODUCT RedScarfII+
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { }
#define MATRIX_COL_PINS { F4, F1, F0, B3, D0, D1, D4, D5, D6, D7, F7, F6, D2, D3, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/redscarf_iiplus/verb/info.json b/keyboards/redscarf_iiplus/verb/info.json
index 2b675a5ca8..2e4ad61866 100644
--- a/keyboards/redscarf_iiplus/verb/info.json
+++ b/keyboards/redscarf_iiplus/verb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Red Scarf II+ Ver.B (RS78)",
+ "keyboard_name": "RedScarfII+ Ver.B (RS78)",
+ "manufacturer": "RedScarf",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_78_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "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":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":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.25, "y":1, "w":1.5}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.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, "w":1.5}, {"x":17.25, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.25, "y":2, "w":1.75}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "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":15, "y":2, "w":2.25}, {"x":17.25, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.25, "y":3, "w":2.25}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.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, "w":1.75}, {"x":16.25, "y":3}, {"x":17.25, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":1.25}, {"x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":6.25}, {"x":12.25, "y":4}, {"x":13.25, "y":4}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}, {"x":17.25, "y":4}]
diff --git a/keyboards/redscarf_iiplus/verc/config.h b/keyboards/redscarf_iiplus/verc/config.h
index daf1bc8823..07d3979bef 100755
--- a/keyboards/redscarf_iiplus/verc/config.h
+++ b/keyboards/redscarf_iiplus/verc/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RedScarf
-#define PRODUCT RedScarfII+
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { }
#define MATRIX_COL_PINS { F4, F1, F0, B3, D0, D1, D4, D5, D6, D7, F7, F6, D2, D3, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/redscarf_iiplus/verc/info.json b/keyboards/redscarf_iiplus/verc/info.json
index c3988d225b..1093d3a363 100644
--- a/keyboards/redscarf_iiplus/verc/info.json
+++ b/keyboards/redscarf_iiplus/verc/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Red Scarf II+ Ver.C (RS68)",
+ "keyboard_name": "RedScarfII+ Ver.C (RS68)",
+ "manufacturer": "RedScarf",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/redscarf_iiplus/verd/config.h b/keyboards/redscarf_iiplus/verd/config.h
index d0ab1abe33..44b08645b4 100644
--- a/keyboards/redscarf_iiplus/verd/config.h
+++ b/keyboards/redscarf_iiplus/verd/config.h
@@ -18,13 +18,6 @@ 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 0x7778
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RedScarf
-#define PRODUCT RedScarfII+
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { }
#define MATRIX_COL_PINS { F4, F1, F0, B3, D0, D1, D4, D5, D6, D7, F7, F6, D2, D3, B6, B5, B4, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/redscarf_iiplus/verd/info.json b/keyboards/redscarf_iiplus/verd/info.json
index 8b2d3c2d97..0d36542278 100644
--- a/keyboards/redscarf_iiplus/verd/info.json
+++ b/keyboards/redscarf_iiplus/verd/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Red Scarf II+ Ver D",
+ "keyboard_name": "RedScarfII+ Ver.D",
+ "manufacturer": "RedScarf",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7778",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_numpad_split0": {
"layout": [
diff --git a/keyboards/retro_75/config.h b/keyboards/retro_75/config.h
index 5d8c26450d..f2621902bf 100644
--- a/keyboards/retro_75/config.h
+++ b/keyboards/retro_75/config.h
@@ -19,13 +19,6 @@ 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 0x5275
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PheonixStarr
-#define PRODUCT Retro75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { A8, B15, B14, B13, B12, B8 }
#define MATRIX_COL_PINS { A5, A4, A3, F0, C15, C14, C13, A6, B11, B10, B2, B1, B0, A7, A14, A15 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/retro_75/info.json b/keyboards/retro_75/info.json
index 585506ae43..69dd3a89d7 100644
--- a/keyboards/retro_75/info.json
+++ b/keyboards/retro_75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Retro75",
+ "manufacturer": "PheonixStarr",
"url": "",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5275",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":7, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10.5, "y":0}, {"label":"F10", "x":11.5, "y":0}, {"label":"F11", "x":12.5, "y":0}, {"label":"F12", "x":13.5, "y":0}, {"label":"Prt Sc", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"label":"Delete", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Page Up", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Page Down", "x":15, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14, "y":4.25}, {"label":"Fn", "x":15, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Alt", "x":2.25, "y":5.25, "w":1.5}, {"x":3.75, "y":5.25, "w":7}, {"label":"Alt", "x":10.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":13, "y":5.25}, {"label":"\u2193", "x":14, "y":5.25}, {"label":"\u2192", "x":15, "y":5.25}]
diff --git a/keyboards/retro_75/keymaps/split_backspace/keymap.c b/keyboards/retro_75/keymaps/split_backspace/keymap.c
index 58993b8bb3..f962b75b5c 100644
--- a/keyboards/retro_75/keymaps/split_backspace/keymap.c
+++ b/keyboards/retro_75/keymaps/split_backspace/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_split_bs(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/reversestudio/decadepad/config.h b/keyboards/reversestudio/decadepad/config.h
index f4bbdfda11..aa3e5b930b 100644
--- a/keyboards/reversestudio/decadepad/config.h
+++ b/keyboards/reversestudio/decadepad/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5253
-#define PRODUCT_ID 0x4450
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ReverseStudio
-#define PRODUCT DecadePad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -34,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NIU Mini PCB default pin-out */
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reversestudio/decadepad/info.json b/keyboards/reversestudio/decadepad/info.json
index 0789acae2c..fc835f9182 100644
--- a/keyboards/reversestudio/decadepad/info.json
+++ b/keyboards/reversestudio/decadepad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DecadePad",
+ "manufacturer": "ReverseStudio",
"url": "",
"maintainer": "huajijam",
+ "usb": {
+ "vid": "0x5253",
+ "pid": "0x4450",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/reviung/reviung33/config.h b/keyboards/reviung/reviung33/config.h
index f113de6d11..4a009b053c 100644
--- a/keyboards/reviung/reviung33/config.h
+++ b/keyboards/reviung/reviung33/config.h
@@ -19,13 +19,6 @@ 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 0x516D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung33
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7}
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B1, B3, B2, B6, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung33/info.json b/keyboards/reviung/reviung33/info.json
index 450a41930b..f5d83a1363 100644
--- a/keyboards/reviung/reviung33/info.json
+++ b/keyboards/reviung/reviung33/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung33",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x516D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung33": {
"layout": [
diff --git a/keyboards/reviung/reviung34/config.h b/keyboards/reviung/reviung34/config.h
index 254ea550af..5bc0cf98fc 100755
--- a/keyboards/reviung/reviung34/config.h
+++ b/keyboards/reviung/reviung34/config.h
@@ -19,13 +19,6 @@ 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 0x4E03
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung34
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 9
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7}
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung34/info.json b/keyboards/reviung/reviung34/info.json
index 6e727a4ff3..2738014d21 100755
--- a/keyboards/reviung/reviung34/info.json
+++ b/keyboards/reviung/reviung34/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung34",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4E03",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung34": {
"layout": [
diff --git a/keyboards/reviung/reviung39/config.h b/keyboards/reviung/reviung39/config.h
index 1377cecd3f..f6b6403ffd 100644
--- a/keyboards/reviung/reviung39/config.h
+++ b/keyboards/reviung/reviung39/config.h
@@ -19,13 +19,6 @@ 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 0x5F10
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung39
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung39/info.json b/keyboards/reviung/reviung39/info.json
index 725e2ff8e1..3602d0c2c3 100644
--- a/keyboards/reviung/reviung39/info.json
+++ b/keyboards/reviung/reviung39/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung39",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x5F10",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung39": {
"layout": [
diff --git a/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c b/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c
index f2586086c2..36d643370a 100644
--- a/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c
+++ b/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c
@@ -35,9 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LOWER] = LAYOUT_reviung39(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, RCMD(RALT(KC_I)), RCMD(RALT(KC_O)), _______,
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
- KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
+ KC_LALT, _______, _______, ADJUST, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
_______, _______, KC_RGUI
),
@@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT_reviung39(
- RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX,
- RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
- KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LANG1, KC_LANG2,
- KC_LGUI, XXXXXXX, _______
+ _______, RCMD(LALT(KC_1)), RCMD(LALT(KC_2)), RCMD(LALT(KC_3)), RCMD(LALT(KC_4)), RCMD(LALT(KC_5)), RCMD(LALT(KC_6)), RCMD(LALT(KC_7)), _______, _______, RCMD(LALT(KC_0)), _______,
+ RGB_SAI, RGB_HUI, RGB_MOD, _______, RGB_TOG, RGB_VAI, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, _______, _______,
+ KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, QK_BOOT, _______, _______, _______, _______, _______, _______,
+ KC_LGUI, _______, _______
),
};
diff --git a/keyboards/reviung/reviung41/config.h b/keyboards/reviung/reviung41/config.h
index afa83220c7..0ef09997bf 100644
--- a/keyboards/reviung/reviung41/config.h
+++ b/keyboards/reviung/reviung41/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7807
-#define PRODUCT_ID 0xDCCB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung41
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 6
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F4, F5, F6, F7, B1, B3, B2 }
#define MATRIX_COL_PINS \
{ D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung41/info.json b/keyboards/reviung/reviung41/info.json
index ff9e11b939..62c430b738 100644
--- a/keyboards/reviung/reviung41/info.json
+++ b/keyboards/reviung/reviung41/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "reviung39",
+ "keyboard_name": "reviung41",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0x7807",
+ "pid": "0xDCCB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung41": {
"layout": [
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
index a35b677197..751a1c51b1 100644
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
@@ -247,12 +247,12 @@
* |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
* | | | | | | | | M_L | M_D | M_I | M_R | | SLEEP |
* |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
- * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | RESET |
+ * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | QK_BOOT |
* |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
* | ____ | ____ | BSPC | ____ | ____ |
* +-------------/ \--------------+
*/
- [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
/* _ADJUST 4
* ,----------------------------------------+ +---------------------------------------------------.
* | 😃 | 😅 | 🤣 | 😉 | 😇 | 🥰 | | RGBUP | HUEUP | RGB_MOD | BRIU | PLAY | VOLU |
diff --git a/keyboards/reviung/reviung5/config.h b/keyboards/reviung/reviung5/config.h
index 38b88c07a8..2e28af7a65 100644
--- a/keyboards/reviung/reviung5/config.h
+++ b/keyboards/reviung/reviung5/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5C06
-#define PRODUCT_ID 0x4F0D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung5
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F4 }
#define MATRIX_COL_PINS \
{ D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung5/info.json b/keyboards/reviung/reviung5/info.json
index 78d27d64e2..12320d7774 100644
--- a/keyboards/reviung/reviung5/info.json
+++ b/keyboards/reviung/reviung5/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung5",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0x5C06",
+ "pid": "0x4F0D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung5": {
"layout": [
diff --git a/keyboards/reviung/reviung53/config.h b/keyboards/reviung/reviung53/config.h
index f874297d77..fcfbe8194d 100644
--- a/keyboards/reviung/reviung53/config.h
+++ b/keyboards/reviung/reviung53/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4E94
-#define PRODUCT_ID 0x4E09
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung53
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 8
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung53/info.json b/keyboards/reviung/reviung53/info.json
index ff63de5bc8..9001719324 100644
--- a/keyboards/reviung/reviung53/info.json
+++ b/keyboards/reviung/reviung53/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung53",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0x4E94",
+ "pid": "0x4E09",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_reviung53": {
"layout": [
diff --git a/keyboards/reviung/reviung53/readme.md b/keyboards/reviung/reviung53/readme.md
index a2bfbcdbc2..2e0ed27e16 100644
--- a/keyboards/reviung/reviung53/readme.md
+++ b/keyboards/reviung/reviung53/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/reviung/reviung61/config.h b/keyboards/reviung/reviung61/config.h
index 0d10c983c9..cc3039ab59 100644
--- a/keyboards/reviung/reviung61/config.h
+++ b/keyboards/reviung/reviung61/config.h
@@ -19,13 +19,6 @@ 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 0x7C1A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gtips
-#define PRODUCT reviung61
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/reviung/reviung61/info.json b/keyboards/reviung/reviung61/info.json
index 5a23617d55..25ba896b2f 100644
--- a/keyboards/reviung/reviung61/info.json
+++ b/keyboards/reviung/reviung61/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "reviung61",
+ "manufacturer": "gtips",
"url": "",
"maintainer": "gtips",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7C1A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/rgbkb/common/common_oled.c b/keyboards/rgbkb/common/common_oled.c
index b6ea6b20af..b6873123b0 100644
--- a/keyboards/rgbkb/common/common_oled.c
+++ b/keyboards/rgbkb/common/common_oled.c
@@ -11,7 +11,8 @@
#include "oled_driver.h"
#include "rgb_matrix.h"
-// for memcpy
+// for memcpy & snprintf
+#include <stdio.h>
#include <string.h>
#include <transactions.h>
diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h
index de658eb93c..0c39127af5 100644
--- a/keyboards/rgbkb/mun/config.h
+++ b/keyboards/rgbkb/mun/config.h
@@ -11,12 +11,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3535
-#define PRODUCT_ID 0x3505
-#define MANUFACTURER RGBKB
-#define PRODUCT Mün
-
/* Matrix Configuration - Rows are doubled up */
#define MATRIX_ROWS 14
// Last pins reserved for encoder / touch encoder support
diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
index 66eaa144ec..ff763394b4 100644
--- a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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
),
[_LHAND] = LAYOUT(
- RESET, 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,
+ QK_BOOT, 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_UP, 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_RGHT, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_RSFT,
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_FUNC] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RESET,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
index 0b01d43eb2..11149bbe0d 100644
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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_HOME, KC_UP, KC_END, QK_BOOT, 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, _______,
diff --git a/keyboards/rgbkb/mun/matrix.c b/keyboards/rgbkb/mun/matrix.c
deleted file mode 100644
index 2472d217c7..0000000000
--- a/keyboards/rgbkb/mun/matrix.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "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 "matrix.h"
-#include "atomic_util.h"
-#include "gpio.h"
-
-#define ROWS_PER_HAND (MATRIX_ROWS / 2)
-static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-
-void matrix_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_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
- /* Drive row pin low. */
- ATOMIC_BLOCK_FORCEON { writePinLow(row_pins[current_row]); }
- matrix_output_select_delay();
-
- /* Read all columns in one go, aka port scanning. */
- uint16_t porta = palReadPort(GPIOA);
- uint16_t portb = palReadPort(GPIOB);
-
-// clang-format off
- /* 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)
-// clang-format on
-
- /* 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[current_row] = cols;
-
- /* Drive row pin high again. */
- ATOMIC_BLOCK_FORCEON { writePinHigh(row_pins[current_row]); }
- matrix_output_unselect_delay(current_row, cols != 0);
-}
-
-#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/rev1/config.h b/keyboards/rgbkb/mun/rev1/config.h
deleted file mode 100644
index 7ff0b54903..0000000000
--- a/keyboards/rgbkb/mun/rev1/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "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
index 72cd7be9f0..8b16bd4542 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Mun",
+ "keyboard_name": "Mün",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/products/mun",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0x3535",
+ "pid": "0x3505",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk
index a682f3aa04..7670e0ee45 100644
--- a/keyboards/rgbkb/mun/rules.mk
+++ b/keyboards/rgbkb/mun/rules.mk
@@ -16,7 +16,7 @@ QUANTUM_LIB_SRC += i2c_master.c
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
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 = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
@@ -38,7 +38,4 @@ OPT = 3
OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\"
-# matrix optimisations
-SRC += matrix.c
-
DEFAULT_FOLDER = rgbkb/mun/rev1
diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h
index 43c534ca92..5b6ca7e876 100644
--- a/keyboards/rgbkb/pan/config.h
+++ b/keyboards/rgbkb/pan/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5247 // "RG" - RGBKB
-#define PRODUCT_ID 0x8C9C // Pan
-#define DEVICE_VER 0x0002
-#define MANUFACTURER RGBKB
-#define PRODUCT Pan
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 13
diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json
index 54ac24a3a4..524eec0da8 100644
--- a/keyboards/rgbkb/pan/info.json
+++ b/keyboards/rgbkb/pan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RGBKB Pan",
+ "keyboard_name": "Pan",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/collections/all/products/pan-keyboard-diy-kit",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0x5247",
+ "pid": "0x8C9C",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c
index dbc127616a..dcafeec765 100644
--- a/keyboards/rgbkb/pan/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c
@@ -75,7 +75,7 @@ bool oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("RGBKB Pan\n"), false);
oled_write_P(PSTR("Layer: "), false);
- uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+ uint8_t layer = get_highest_layer(layer_state|default_layer_state);
switch (layer) {
case _QWERTY:
oled_write_P(PSTR("Default\n"), false);
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
index d6867ffa9b..3ccd96036a 100644
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJ] = LAYOUT( \
//,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, \
//|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
_______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_SPI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, \
//|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/rgbkb/sol/keymaps/danielhklein/keymap.c b/keyboards/rgbkb/sol/keymaps/danielhklein/keymap.c
index c24d382704..c63356b3e5 100644
--- a/keyboards/rgbkb/sol/keymaps/danielhklein/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/danielhklein/keymap.c
@@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ADJ
* ,------------------------------------------------. ,------------------------------------------------.
- * |RESET | F1 | F2 | F3 | F4 | F5 | F6 | | | = | / | * | - | | |
+ * |QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | | | = | / | * | - | | |
* |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | 7 | 8 | 9 | + | | |
* |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
@@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJ] = LAYOUT( \
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, \
XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, \
XXXXXXX, RGB_SAD, RGB_VAI, RGB_SAI, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PENT, XXXXXXX, XXXXXXX, \
XXXXXXX, RGB_HUD, RGB_VAD, RGB_HUI, XXXXXXX, XXXXXXX, QWERTY, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_SPC, XXXXXXX, XXXXXXX, \
diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c
index c82259f5ee..1ce18bc1ab 100644
--- a/keyboards/rgbkb/sol/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c
@@ -233,7 +233,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
} else
#endif
{
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
uint16_t keycode = pgm_read_word(&encoders[layer][index][clockwise]);
while (keycode == KC_TRANSPARENT && layer > 0)
{
@@ -325,7 +325,7 @@ static void render_status(void) {
// Define layers here
oled_write_P(PSTR("Layer"), false);
- uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+ uint8_t layer = get_highest_layer(layer_state|default_layer_state);
switch (layer) {
case _QWERTY:
oled_write_P(PSTR("BASE "), false);
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
index bdcfbb1b93..cdd0c6620a 100644
--- a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_NLCK, _______, _______, \
KC_CAPS, _______, QWERTY, COLEMAK, DVORAK, DESTINY, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, \
_______, _______, _______, RGB_SPI, RGB_SPD, _______, XXXXXXX, XXXXXXX, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, \
@@ -263,7 +263,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
} else
#endif
{
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
uint16_t keycode = encoders[layer][index][clockwise];
while (keycode == KC_TRANSPARENT && layer > 0)
{
@@ -306,7 +306,7 @@ static void render_status(void) {
// Define layers here
oled_write_P(PSTR(" Layer-----"), false);
- uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state);
+ uint8_t layer = layer_state ? get_highest_layer(layer_state) : get_highest_layer(default_layer_state);
switch (layer) {
case _DVORAK:
oled_write_P(PSTR("DVRAK"), false);
diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h
index 14518a755d..3e08848f6b 100644
--- a/keyboards/rgbkb/sol/rev1/config.h
+++ b/keyboards/rgbkb/sol/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B3
diff --git a/keyboards/rgbkb/sol/rev1/info.json b/keyboards/rgbkb/sol/rev1/info.json
index 33e6625fe4..2a611f7a6a 100644
--- a/keyboards/rgbkb/sol/rev1/info.json
+++ b/keyboards/rgbkb/sol/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sol",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index f0c71db34e..cdaf9c0536 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B7
diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json
index 33e6625fe4..bd1bba3d72 100644
--- a/keyboards/rgbkb/sol/rev2/info.json
+++ b/keyboards/rgbkb/sol/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sol",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h
index 92db3def6b..20435a159a 100644
--- a/keyboards/rgbkb/sol3/config.h
+++ b/keyboards/rgbkb/sol3/config.h
@@ -11,12 +11,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3535
-#define PRODUCT_ID 0x3510
-#define MANUFACTURER RGBKB
-#define PRODUCT Sol 3
-
/* Matrix Configuration - Rows are doubled up */
#define MATRIX_ROWS 12
// Last pins reserved for encoder / touch encoder support
diff --git a/keyboards/rgbkb/sol3/readme.md b/keyboards/rgbkb/sol3/readme.md
index c896f7c0cd..8d799bd926 100644
--- a/keyboards/rgbkb/sol3/readme.md
+++ b/keyboards/rgbkb/sol3/readme.md
@@ -22,5 +22,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
To reset the board into bootloader mode, do one of the following:
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Adjust + R by default)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Adjust + R by default)
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard (also erases persistent settings)
diff --git a/keyboards/rgbkb/sol3/rev1/config.h b/keyboards/rgbkb/sol3/rev1/config.h
deleted file mode 100644
index 7ff0b54903..0000000000
--- a/keyboards/rgbkb/sol3/rev1/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * ----------------------------------------------------------------------------
- * "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/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index 7003726b7f..b8a8e5015a 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Sol 3 rev1",
+ "keyboard_name": "Sol 3",
+ "manufacturer": "RGBKB",
"url": "",
"maintainer": "XScorpion2, rgbkb",
+ "usb": {
+ "vid": "0x3535",
+ "pid": "0x3510",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk
index e30330d333..de9f7185cf 100644
--- a/keyboards/rgbkb/sol3/rules.mk
+++ b/keyboards/rgbkb/sol3/rules.mk
@@ -14,9 +14,9 @@ QUANTUM_LIB_SRC += i2c_master.c
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
+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
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = yes # Audio output
@@ -42,8 +42,4 @@ OPT = 3
OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\"
-# TODO: Implement fast matrix scanning
-# matrix optimisations
-# SRC += matrix.c
-
DEFAULT_FOLDER = rgbkb/sol3/rev1
diff --git a/keyboards/rgbkb/zen/config.h b/keyboards/rgbkb/zen/config.h
deleted file mode 100644
index 6868dc1354..0000000000
--- a/keyboards/rgbkb/zen/config.h
+++ /dev/null
@@ -1,20 +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 "config_common.h"
diff --git a/keyboards/rgbkb/zen/post_rules.mk b/keyboards/rgbkb/zen/post_rules.mk
index 3ddb449efa..212d9e8693 100644
--- a/keyboards/rgbkb/zen/post_rules.mk
+++ b/keyboards/rgbkb/zen/post_rules.mk
@@ -1,14 +1,3 @@
-ifeq ($(strip $(CTPC)), yes)
- CONVERT_TO_PROTON_C=yes
-endif
-
-ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
- SPLIT_KEYBOARD = no # currently unsupported on ARM
- RGBLIGHT_ENABLE = no # currently unsupported on ARM
-
- EXTRAFLAGS += -DUSE_PROTON_C
-else
- # Currently moved to Pro Micro only section because of lack of Proton-C support
- SPLIT_KEYBOARD = yes
- RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+ifeq ($(strip $(CONVERT_TO)), proton_c)
+ RGBLIGHT_ENABLE = no # OOB incompatible with split on ARM
endif
diff --git a/keyboards/rgbkb/zen/readme.md b/keyboards/rgbkb/zen/readme.md
index 0a2f9e3edf..04d8a73c7a 100644
--- a/keyboards/rgbkb/zen/readme.md
+++ b/keyboards/rgbkb/zen/readme.md
@@ -20,8 +20,6 @@ Make example for this keyboard (after setting up your build environment):
To build for a Proton-C:
- make rgbkb/zen/rev2:default CTPC=yes
-
-**Note:** The Proton-C does not have split keyboard, or encoder support. Also OLED driver support is untested. Will update as status changes.
+ make rgbkb/zen/rev2:default CONVERT_TO=proton_c
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/rgbkb/zen/rev1/config.h b/keyboards/rgbkb/zen/rev1/config.h
index d41ffa477d..e1d1212bbc 100644
--- a/keyboards/rgbkb/zen/rev1/config.h
+++ b/keyboards/rgbkb/zen/rev1/config.h
@@ -17,12 +17,7 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Legonut
-#define PRODUCT Project Zen
+#include "config_common.h"
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/rgbkb/zen/rev1/info.json b/keyboards/rgbkb/zen/rev1/info.json
index 2a78ba0297..cdd6497139 100644
--- a/keyboards/rgbkb/zen/rev1/info.json
+++ b/keyboards/rgbkb/zen/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Zen",
+ "keyboard_name": "Project Zen",
+ "manufacturer": "Legonut",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0.5, "y":0}, {"label":"k01", "x":1.5, "y":0}, {"label":"k02", "x":2.5, "y":0}, {"label":"k03", "x":3.5, "y":0}, {"label":"k04", "x":4.5, "y":0}, {"label":"k05", "x":5.5, "y":0}, {"label":"k55", "x":10.5, "y":0}, {"label":"k54", "x":11.5, "y":0}, {"label":"k53", "x":12.5, "y":0}, {"label":"k52", "x":13.5, "y":0}, {"label":"k51", "x":14.5, "y":0}, {"label":"k50", "x":15.5, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k65", "x":10.5, "y":1}, {"label":"k64", "x":11.5, "y":1}, {"label":"k63", "x":12.5, "y":1}, {"label":"k62", "x":13.5, "y":1}, {"label":"k61", "x":14.5, "y":1}, {"label":"k60", "x":15.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.5}, {"label":"k21", "x":1.5, "y":2}, {"label":"k22", "x":2.5, "y":2}, {"label":"k23", "x":3.5, "y":2}, {"label":"k24", "x":4.5, "y":2}, {"label":"k25", "x":5.5, "y":2}, {"label":"k75", "x":10.5, "y":2}, {"label":"k74", "x":11.5, "y":2}, {"label":"k73", "x":12.5, "y":2}, {"label":"k72", "x":13.5, "y":2}, {"label":"k71", "x":14.5, "y":2}, {"label":"k70", "x":15.5, "y":2, "w":1.5}, {"label":"k30", "x":0, "y":3, "w":1.5}, {"label":"k31", "x":1.5, "y":3}, {"label":"k32", "x":2.5, "y":3}, {"label":"k33", "x":3.5, "y":3}, {"label":"k34", "x":4.5, "y":3}, {"label":"k35", "x":5.5, "y":3}, {"label":"k85", "x":10.5, "y":3}, {"label":"k84", "x":11.5, "y":3}, {"label":"k83", "x":12.5, "y":3}, {"label":"k82", "x":13.5, "y":3}, {"label":"k81", "x":14.5, "y":3}, {"label":"k80", "x":15.5, "y":3, "w":1.5}, {"label":"k40", "x":0, "y":4, "w":1.5}, {"label":"k41", "x":1.5, "y":4}, {"label":"k42", "x":2.5, "y":4}, {"label":"k43", "x":3.5, "y":4}, {"label":"k44", "x":4.5, "y":4}, {"label":"k45", "x":6, "y":4.5, "h":2}, {"label":"k46", "x":7, "y":4.5, "h":2}, {"label":"k96", "x":9, "y":4.5, "h":2}, {"label":"k95", "x":10, "y":4.5, "h":2}, {"label":"k94", "x":11.5, "y":4}, {"label":"k93", "x":12.5, "y":4}, {"label":"k92", "x":13.5, "y":4}, {"label":"k91", "x":14.5, "y":4}, {"label":"k90", "x":15.5, "y":4, "w":1.5}]
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
index 946ca79efd..4cde20a7ef 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | APscr| % | ^ | [ | ] | ~ | | 1 | 2 | 3 | \ | Vol- | Vol+ |
* |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
- * | Pscr | | RESET| | | GAME | || | 0 | . | = | Prev | Next | Play |
+ * | Pscr | | QK_BOOT| | | GAME | || | 0 | . | = | Prev | Next | Play |
* `------------------------------------------------- -------------------------------------------------'
*/
[SYMB] = LAYOUT( \
@@ -66,12 +66,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, KC_7, KC_8, KC_9, KC_ASTR, KC_RPRN, KC_F12, \
_______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, KC_4, KC_5, KC_6, KC_PLUS, KC_RCBR, KC_PIPE, \
PSCREEN_APP, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_1, KC_2, KC_3, KC_BSLS, KC_VOLD, KC_VOLU, \
- KC_PSCR, _______, RESET, _______, _______, TO(GAME), _______, _______, KC_0, KC_DOT, KC_EQL, KC_MPRV, KC_MNXT, KC_MPLY \
+ KC_PSCR, _______, QK_BOOT, _______, _______, TO(GAME), _______, _______, KC_0, KC_DOT, KC_EQL, KC_MPRV, KC_MNXT, KC_MPLY \
),
/* Vim Movement
* ,-----------------------------------------. .-----------------------------------------.
- * | | | | | | | | | | | | RESET| |
+ * | | | | | | | | | | | | QK_BOOT| |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | |RGBSAI|RGBVAI|RGBSAD| LSFT | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------..------------------------------------------------'
*/
[VIM] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, \
_______, RGB_SAI, RGB_VAI, RGB_SAD, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, \
_______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, \
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Shift| Z | | | | | | | | | | | GUI |
* |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
- * | Enter| | Lock | Bksp | Alt | Spc | RESET|| | Lower| Left | Up | Down | Right|QWERTY|
+ * | Enter| | Lock | Bksp | Alt | Spc | QK_BOOT|| | Lower| Left | Up | Down | Right|QWERTY|
* `------------------------------------------------..-----------------------------------------------'
*/
[GAME] = LAYOUT( \
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Shift| Z | | | | | | | | | | | GUI |
* |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
- * | Enter| | Lock | Bksp | Alt | Spc | RESET|| | Lower| Left | Up | Down | Right|QWERTY|
+ * | Enter| | Lock | Bksp | Alt | Spc | QK_BOOT|| | Lower| Left | Up | Down | Right|QWERTY|
* `------------------------------------------------..-----------------------------------------------'
*/
[GAME_ARROW] = LAYOUT( \
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h
index 211e3517ec..cdffe6fd50 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h
+++ b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h
@@ -29,6 +29,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define COMBO_COUNT 2
#endif
-#define QMK_KEYS_PER_SCAN 4
-
#define EE_HANDS
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
index bca4684dc5..c8d45933f5 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. .-----------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGBSAI|RGBVAI|RGBSAD| RESET| [ | | ] | Pgup | Up | Pgdn |Insert| Home |
+ * | |RGBSAI|RGBVAI|RGBSAD| QK_BOOT| [ | | ] | Pgup | Up | Pgdn |Insert| Home |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | |RGBHUD|RGBVAD|RGBHUI|RGBMOD| | | | Left | Down | Right|Delete| End |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_NAV] = 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_SAI, RGB_VAI, RGB_SAD, RESET, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, \
+ _______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, \
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_MOD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END, \
KC_LSFT, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, \
KC_LCTL, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD \
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
index 673ea4054a..9e5d2212ea 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* |Shift | | | | | | | | | | Pause| Back | Next |
* |------+------+------+------+------+------+------. .------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt |RGBMOD| | | | | RESET| | | | Mute | VOLUP| VOLDN|
+ * | Ctrl | GUI | Alt |RGBMOD| | | | | QK_BOOT| | | | Mute | VOLUP| VOLDN|
* `------------------------------------------------' '------------------------------------------------'
*/
[_NAV] = LAYOUT(
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_SAI, RGB_VAI, RGB_SAD, _______, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
- KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, RESET, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
+ KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
),
};
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
index b9b21102b1..a8d93e5639 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
@@ -124,7 +124,7 @@ KC_CCCV, KC_LGUI, KC_LALT, RGB_TOG, MO(1), TD(TD_SPC_DOT), KC_BSPC, KC_ENT, TD
[1] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
-KC_TRNS, RGB_SAI, RGB_VAI, RGB_SAD, RESET, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
+KC_TRNS, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT,
KC_NO, KC_LGUI, KC_LALT, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD),
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/xyverz/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/xyverz/keymap.c
index 6250086ed9..e98bab84eb 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/xyverz/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/xyverz/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT( \
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_SNK, _______, QWERTY, COLEMAK, DVORAK, WOW, _______, \
RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \
diff --git a/keyboards/rgbkb/zen/rev1/rev1.h b/keyboards/rgbkb/zen/rev1/rev1.h
index 470a26a43f..3b437c459c 100644
--- a/keyboards/rgbkb/zen/rev1/rev1.h
+++ b/keyboards/rgbkb/zen/rev1/rev1.h
@@ -1,17 +1,7 @@
#pragma once
-#include "zen.h"
-
#include "quantum.h"
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
diff --git a/keyboards/rgbkb/zen/rev2/config.h b/keyboards/rgbkb/zen/rev2/config.h
index e37bd7a168..685577b6c7 100644
--- a/keyboards/rgbkb/zen/rev2/config.h
+++ b/keyboards/rgbkb/zen/rev2/config.h
@@ -17,24 +17,14 @@ 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 0x3061
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Legonut
-#define PRODUCT "Project Zen"
+#include "config_common.h"
/* key matrix size */
// Rows are doubled-up
// wiring of each half
-#ifdef CONVERT_TO_PROTON_C
- #define MATRIX_ROWS 5
- #define MATRIX_COLS 7
-#else
- #define MATRIX_ROWS 10
- #define MATRIX_COLS 7
-#endif
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
// Proton-C does pin conversion
#define MATRIX_ROW_PINS { C6, E6, B5, D7, B4 }
diff --git a/keyboards/rgbkb/zen/rev2/info.json b/keyboards/rgbkb/zen/rev2/info.json
index 53baefe22d..3c80032407 100644
--- a/keyboards/rgbkb/zen/rev2/info.json
+++ b/keyboards/rgbkb/zen/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Zen",
+ "keyboard_name": "Project Zen",
+ "manufacturer": "Legonut",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3061",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/zen/rev2/rev2.c b/keyboards/rgbkb/zen/rev2/rev2.c
index 5461890272..70e5531673 100644
--- a/keyboards/rgbkb/zen/rev2/rev2.c
+++ b/keyboards/rgbkb/zen/rev2/rev2.c
@@ -37,7 +37,7 @@ void render_status(void) {
// Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
oled_set_cursor(0, 3); // Line 3
oled_write_P(PSTR("Layer"), false); // Line 4
- oled_write_P(layer_name_user(biton32(layer_state)), false);
+ oled_write_P(layer_name_user(get_highest_layer(layer_state)), false);
// Host Keyboard LED Status
uint8_t led_usb_state = host_keyboard_leds();
diff --git a/keyboards/rgbkb/zen/rev2/rev2.h b/keyboards/rgbkb/zen/rev2/rev2.h
index c545710abb..c7a06d1767 100644
--- a/keyboards/rgbkb/zen/rev2/rev2.h
+++ b/keyboards/rgbkb/zen/rev2/rev2.h
@@ -1,52 +1,24 @@
#pragma once
-#include "zen.h"
-
#include "quantum.h"
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-#ifdef CONVERT_TO_PROTON_C
- #define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
- k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
- k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
- k30, k31, k32, k33, k34, k35, k16, k66, k85, k84, k83, k82, k81, k80, \
- k40, k41, k42, k43, k44, k36, k26, k76, k86, k94, k93, k92, k91, k90, \
- k45, k46, k96, k95 \
- ) \
- { \
- { k00, k01, k02, k03, k04, k05, KC_NO }, \
- { k10, k11, k12, k13, k14, k15, k16 }, \
- { k20, k21, k22, k23, k24, k25, k26 }, \
- { k30, k31, k32, k33, k34, k35, k36 }, \
- { k40, k41, k42, k43, k44, k45, k46 } \
- }
-#else
- #define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
- k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
- k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
- k30, k31, k32, k33, k34, k35, k16, k66, k85, k84, k83, k82, k81, k80, \
- k40, k41, k42, k43, k44, k36, k26, k76, k86, k94, k93, k92, k91, k90, \
- k45, k46, k96, k95 \
- ) \
- { \
- { k00, k01, k02, k03, k04, k05, KC_NO }, \
- { k10, k11, k12, k13, k14, k15, k16 }, \
- { k20, k21, k22, k23, k24, k25, k26 }, \
- { k30, k31, k32, k33, k34, k35, k36 }, \
- { k40, k41, k42, k43, k44, k45, k46 }, \
- { k50, k51, k52, k53, k54, k55, KC_NO }, \
- { k60, k61, k62, k63, k64, k65, k66 }, \
- { k70, k71, k72, k73, k74, k75, k76 }, \
- { k80, k81, k82, k83, k84, k85, k86 }, \
- { k90, k91, k92, k93, k94, k95, k96 } \
- }
-#endif
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \
+ k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \
+ k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \
+ k30, k31, k32, k33, k34, k35, k16, k66, k85, k84, k83, k82, k81, k80, \
+ k40, k41, k42, k43, k44, k36, k26, k76, k86, k94, k93, k92, k91, k90, \
+ k45, k46, k96, k95 \
+ ) \
+ { \
+ { k00, k01, k02, k03, k04, k05, KC_NO }, \
+ { k10, k11, k12, k13, k14, k15, k16 }, \
+ { k20, k21, k22, k23, k24, k25, k26 }, \
+ { k30, k31, k32, k33, k34, k35, k36 }, \
+ { k40, k41, k42, k43, k44, k45, k46 }, \
+ { k50, k51, k52, k53, k54, k55, KC_NO }, \
+ { k60, k61, k62, k63, k64, k65, k66 }, \
+ { k70, k71, k72, k73, k74, k75, k76 }, \
+ { k80, k81, k82, k83, k84, k85, k86 }, \
+ { k90, k91, k92, k93, k94, k95, k96 } \
+ }
diff --git a/keyboards/rgbkb/zen/rules.mk b/keyboards/rgbkb/zen/rules.mk
index 5a3ac77e74..84a2d08ff0 100644
--- a/keyboards/rgbkb/zen/rules.mk
+++ b/keyboards/rgbkb/zen/rules.mk
@@ -14,5 +14,7 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight
DEFAULT_FOLDER = rgbkb/zen/rev2
diff --git a/keyboards/rgbkb/zen/zen.c b/keyboards/rgbkb/zen/zen.c
deleted file mode 100644
index 22131ef5c7..0000000000
--- a/keyboards/rgbkb/zen/zen.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "zen.h"
diff --git a/keyboards/rgbkb/zen/zen.h b/keyboards/rgbkb/zen/zen.h
deleted file mode 100644
index e51c3c831f..0000000000
--- a/keyboards/rgbkb/zen/zen.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-
-#if KEYBOARD_rgbkb_zen_rev1
- #include "rev1.h"
-#elif KEYBOARD_rgbkb_zen_rev2
- #include "rev2.h"
-#endif
-#include "quantum.h"
diff --git a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
index 1c5b242c0b..dde27eae24 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJ] = LAYOUT_ortho_5x6(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_MOD, _______, _______
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
index 48bd1a33f7..f4d5c82a71 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
+++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c
@@ -198,7 +198,7 @@ static void render_status(void) {
// Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
oled_write_P(PSTR("Layer: "), false);
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _QWERTY:
oled_write_ln_P(PSTR("QWERTY"), false);
break;
diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h
index 19fd28d2ec..3835a3e705 100644
--- a/keyboards/rgbkb/zygomorph/rev1/config.h
+++ b/keyboards/rgbkb/zygomorph/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RGBKB
-#define PRODUCT Zygomorph
-
/* Select hand configuration */
#define EE_HANDS
diff --git a/keyboards/rgbkb/zygomorph/rev1/info.json b/keyboards/rgbkb/zygomorph/rev1/info.json
index ef8db5d02a..50155da240 100644
--- a/keyboards/rgbkb/zygomorph/rev1/info.json
+++ b/keyboards/rgbkb/zygomorph/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zygomorph",
+ "manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/pages/introducing-the-zygomorph-keyboard",
"maintainer": "Legonut",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [{"label":"`", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":7, "y":0}, {"label":"7", "x":8, "y":0}, {"label":"8", "x":9, "y":0}, {"label":"9", "x":10, "y":0}, {"label":"0", "x":11, "y":0}, {"label":"BKSP", "x":12, "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":7, "y":1}, {"label":"U", "x":8, "y":1}, {"label":"I", "x":9, "y":1}, {"label":"O", "x":10, "y":1}, {"label":"P", "x":11, "y":1}, {"label":"\\|", "x":12, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":";:", "x":11, "y":2}, {"label":"'\"", "x":12, "y":2}, {"label":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":",<", "x":9, "y":3}, {"label":".>", "x":10, "y":3}, {"label":"/?", "x":11, "y":3}, {"label":"Enter", "x":12, "y":3}, {"label":"Ctrl", "x":0, "y":4}, {"label":"Alt", "x":1, "y":4}, {"label":"Super", "x":2, "y":4}, {"label":"RGB", "x":3, "y":4}, {"label":"&dArr;", "x":4, "y":4}, {"x":5, "y":4}, {"x":7, "y":4}, {"label":"FN", "x":8, "y":4}, {"label":"Left", "x":9, "y":4}, {"label":"Down", "x":10, "y":4}, {"label":"Up", "x":11, "y":4}, {"label":"Right", "x":12, "y":4}]
diff --git a/keyboards/ristretto/config.h b/keyboards/ristretto/config.h
index 3d5a66fbc3..0aad014e02 100644
--- a/keyboards/ristretto/config.h
+++ b/keyboards/ristretto/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x666B // fk
-#define PRODUCT_ID 0x7273 // rs
-#define DEVICE_VER 0x0001 // rev 1
-#define MANUFACTURER fruitykeeb
-#define PRODUCT ristretto
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
diff --git a/keyboards/ristretto/info.json b/keyboards/ristretto/info.json
index de01aaea4d..a409f9339b 100644
--- a/keyboards/ristretto/info.json
+++ b/keyboards/ristretto/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ristretto",
+ "manufacturer": "fruitykeeb",
"url": "https://www.fruitykeeb.xyz/product/ristretto",
"maintainer": "Fruit",
+ "usb": {
+ "vid": "0x666B",
+ "pid": "0x7273",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rmkeebs/rm_numpad/config.h b/keyboards/rmkeebs/rm_numpad/config.h
index e0c9ef89a6..1c3a48cba5 100644
--- a/keyboards/rmkeebs/rm_numpad/config.h
+++ b/keyboards/rmkeebs/rm_numpad/config.h
@@ -19,13 +19,6 @@ 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 0x524E /* RN (RMKeebs Numpad) */
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RMKeebs
-#define PRODUCT rm_numpad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B4, F7, C7, C6, F1, F0 }
#define MATRIX_COL_PINS { F4, F5, F6, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rmkeebs/rm_numpad/info.json b/keyboards/rmkeebs/rm_numpad/info.json
index 9ad0ebd286..9bba777661 100644
--- a/keyboards/rmkeebs/rm_numpad/info.json
+++ b/keyboards/rmkeebs/rm_numpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rm_numpad",
+ "manufacturer": "RMKeebs",
"url": "https://www.rmkeebs.com/product/rm-numpad/",
"maintainer": "RuckerMachine",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x524E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/rocketboard_16/config.h b/keyboards/rocketboard_16/config.h
index d06895f709..ab5cd2399f 100644
--- a/keyboards/rocketboard_16/config.h
+++ b/keyboards/rocketboard_16/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB034
-#define PRODUCT_ID 0xFF16
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Rocketboard
-#define PRODUCT Rocketboard-16
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/rocketboard_16/info.json b/keyboards/rocketboard_16/info.json
index 1ff728bfb7..f9accb9629 100644
--- a/keyboards/rocketboard_16/info.json
+++ b/keyboards/rocketboard_16/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rocketboard-16",
+ "manufacturer": "Rocketboard",
"url": "",
"maintainer": "fl3tching101",
+ "usb": {
+ "vid": "0xB034",
+ "pid": "0xFF16",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_default": "LAYOUT"
},
diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c
index d967a03c31..0e6e47ba0d 100644
--- a/keyboards/rocketboard_16/keycode_lookup.c
+++ b/keyboards/rocketboard_16/keycode_lookup.c
@@ -288,7 +288,7 @@ lookup_table_t lookup_table[334] =
{"KC_LT", KC_LT},
{"KC_GT", KC_GT},
{"KC_QUES", KC_QUES},
- {"RESET", RESET},
+ {"RESET", QK_BOOT},
{"DEBUG", DEBUG},
{"MAGIC_TOGGLE_NKRO", MAGIC_TOGGLE_NKRO},
{"KC_GESC", KC_GESC},
diff --git a/keyboards/rocketboard_16/keymaps/default/keymap.c b/keyboards/rocketboard_16/keymaps/default/keymap.c
index ce26a834d0..dc83cbd62b 100644
--- a/keyboards/rocketboard_16/keymaps/default/keymap.c
+++ b/keyboards/rocketboard_16/keymaps/default/keymap.c
@@ -107,10 +107,10 @@ static void oled_write_ln_centered(const char * data, bool inverted)
char line_buf[21];
// Amount to offset string from left side
- uint8_t offset = (21 - strlen(data))/2;
+ uint8_t offset = (22 - strlen(data)) / 2;
// Formatted string centering... look, it works, don't ask how...
- snprintf(line_buf, 21, "%*s%s%*s\0", offset, "", data, offset, ""); // Centers data within 21 character buffer with null termination
+ snprintf(line_buf, 21, "%*s%s%*s", offset, "", data, offset, ""); // Centers data within 21 character buffer
oled_write_ln(line_buf, inverted);
}
diff --git a/keyboards/rocketboard_16/keymaps/via/keymap.c b/keyboards/rocketboard_16/keymaps/via/keymap.c
index ce26a834d0..08b8e65b4f 100644
--- a/keyboards/rocketboard_16/keymaps/via/keymap.c
+++ b/keyboards/rocketboard_16/keymaps/via/keymap.c
@@ -107,10 +107,10 @@ static void oled_write_ln_centered(const char * data, bool inverted)
char line_buf[21];
// Amount to offset string from left side
- uint8_t offset = (21 - strlen(data))/2;
+ uint8_t offset = (22 - strlen(data))/2;
// Formatted string centering... look, it works, don't ask how...
- snprintf(line_buf, 21, "%*s%s%*s\0", offset, "", data, offset, ""); // Centers data within 21 character buffer with null termination
+ snprintf(line_buf, 21, "%*s%s%*s", offset, "", data, offset, ""); // Centers data within 21 character buffer
oled_write_ln(line_buf, inverted);
}
diff --git a/keyboards/rominronin/katana60/rev1/config.h b/keyboards/rominronin/katana60/rev1/config.h
index fea2d7d643..97a18443a1 100644
--- a/keyboards/rominronin/katana60/rev1/config.h
+++ b/keyboards/rominronin/katana60/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7272 // "rr" - rominronin
-#define PRODUCT_ID 0x0C2C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RominRonin CandyKeys
-#define PRODUCT Katana60 rev1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F5, F6, F4, F1, D0 }
#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, C7, D1, D2, C6, B6, B5, B4, D4, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/rominronin/katana60/rev1/info.json b/keyboards/rominronin/katana60/rev1/info.json
index 8ac62a68e3..1b4ec3c943 100644
--- a/keyboards/rominronin/katana60/rev1/info.json
+++ b/keyboards/rominronin/katana60/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Katana60 rev1",
+ "manufacturer": "RominRonin CandyKeys",
"url": "",
"maintainer": "rominronin",
+ "usb": {
+ "vid": "0x7272",
+ "pid": "0x0C2C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c
index bb1752ba1b..29e9ddf825 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c
+++ b/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______
),
[SYMB] = LAYOUT(
- 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,
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
index 8556ee424c..02bd23a9b4 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
+++ b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
@@ -98,21 +98,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, _______, _______, _______, _______
),
[_SYMB] = LAYOUT(
- 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,
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
_______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
),
[_M_EXT] = LAYOUT(
- RESET ,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, M_PRVWD, KC_UP, M_NXTWD, _______, _______,
_______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
_______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, _______, _______, _______, M_LSTRT, _______, M_LEND, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_W_EXT] = LAYOUT(
- RESET ,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, W_PRVWD, KC_UP, W_NXTWD, _______, _______,
_______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
_______, W_UNDO, W_CUT, W_COPY, W_PASTE, _______, _______, _______, _______, _______, W_LSTRT, _______, W_LEND, _______, _______,
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c
index 72b795baa5..a65a5260b5 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c
+++ b/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
),
[_FN] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
index 5666dba9d5..6fa09146ed 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
+++ b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______
),
[SYMB] = LAYOUT(
- 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,
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
diff --git a/keyboards/rominronin/katana60/rev2/config.h b/keyboards/rominronin/katana60/rev2/config.h
index 24984c8179..0671c86044 100644
--- a/keyboards/rominronin/katana60/rev2/config.h
+++ b/keyboards/rominronin/katana60/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7272 // "rr" - rominronin
-#define PRODUCT_ID 0xF03B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RominRonin CandyKeys
-#define PRODUCT Katana60 rev2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, E6, D5, B4, B5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, D6, D4, D3, D2, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rominronin/katana60/rev2/info.json b/keyboards/rominronin/katana60/rev2/info.json
index e2ac51024f..3b26ff635e 100644
--- a/keyboards/rominronin/katana60/rev2/info.json
+++ b/keyboards/rominronin/katana60/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Katana60 rev2",
+ "manufacturer": "RominRonin CandyKeys",
"url": "https://candykeys.com/product/katana60-pcb-V2",
"maintainer": "rominronin",
+ "usb": {
+ "vid": "0x7272",
+ "pid": "0xF03B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_7u_a": {
"layout": [
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
index 5450892123..6919b46990 100644
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
+++ b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______
),
[SYMB] = LAYOUT_7u_a(
- 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,
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
diff --git a/keyboards/roseslite/config.h b/keyboards/roseslite/config.h
index 44f415b379..f499c29de3 100644
--- a/keyboards/roseslite/config.h
+++ b/keyboards/roseslite/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDE17
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DeltaDesigns
-#define PRODUCT roseslite
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/roseslite/info.json b/keyboards/roseslite/info.json
index 70db000a64..0ecc988464 100644
--- a/keyboards/roseslite/info.json
+++ b/keyboards/roseslite/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "roses lite",
+ "manufacturer": "Delta Designs",
"url": "delta-design.xyz",
"maintainer": "Reason6/Vk2fgav",
+ "usb": {
+ "vid": "0xDE17",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rotor/config.h b/keyboards/rotor/config.h
index 9f3d8aa7d3..98cdb24a6b 100644
--- a/keyboards/rotor/config.h
+++ b/keyboards/rotor/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8BE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Densus Design
-#define PRODUCT Rotor
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
diff --git a/keyboards/rotor/info.json b/keyboards/rotor/info.json
index a5c86ec4bd..455a7b3f60 100644
--- a/keyboards/rotor/info.json
+++ b/keyboards/rotor/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rotor",
+ "manufacturer": "Densus Design",
"url": "https://klc-playground.com/",
"maintainer": "2Moons",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8BE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"label":"Esc", "x":2.25, "y":0}, {"label":"!", "x":3.25, "y":0}, {"label":"@", "x":4.25, "y":0}, {"label":"#", "x":5.25, "y":0}, {"label":"$", "x":6.25, "y":0}, {"label":"%", "x":7.25, "y":0}, {"label":"^", "x":8.25, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "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":2}, {"label":"Home", "x":17.25, "y":0}, {"x":0, "y":1}, {"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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"|", "x":15.75, "y":1, "w":1.5}, {"label":"PgUp", "x":17.25, "y":1}, {"x":0, "y":2}, {"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":"Enter", "x":15, "y":2, "w":2.25}, {"label":"PgDn", "x":17.25, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"label":"Shift", "x":2.25, "y":3, "w":2.25}, {"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.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"End", "x":17.25, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"label":"Ctrl", "x":2.25, "y":4, "w":1.5}, {"x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.5}, {"label":"7u", "x":6.25, "y":4, "w":7}, {"label":"Ctrl", "x":13.25, "y":4, "w":1.5}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/rotr/config.h b/keyboards/rotr/config.h
index b9eac7d8bc..d8cd526654 100644
--- a/keyboards/rotr/config.h
+++ b/keyboards/rotr/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726F
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ROTR
-#define PRODUCT ROTR
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -24,7 +17,6 @@
/*Sets the number of pulses per increment*/
#define ENCODER_RESOLUTION 2
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rotr/info.json b/keyboards/rotr/info.json
index cf3113b496..a621150f6b 100644
--- a/keyboards/rotr/info.json
+++ b/keyboards/rotr/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "rotr",
+ "keyboard_name": "ROTR",
+ "manufacturer": "ROTR",
"url": "https://geekhack.org/index.php?topic=107104.0",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x726F",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}]
diff --git a/keyboards/rpiguy9907/southpaw66/config.h b/keyboards/rpiguy9907/southpaw66/config.h
index b5cef39a6f..13c6694b05 100644
--- a/keyboards/rpiguy9907/southpaw66/config.h
+++ b/keyboards/rpiguy9907/southpaw66/config.h
@@ -17,12 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9907 // "9907" - rpiguy9907
-#define PRODUCT_ID 0x5366 // "S" "66"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rpiguy9907
-#define PRODUCT Southpaw66
#define TAPPING_TERM 400
@@ -34,7 +28,6 @@
#define MATRIX_ROW_PINS { D7, C6, D4, D0, D1, D2, D3 }
#define MATRIX_COL_PINS { E6, B4, B5, F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/rpiguy9907/southpaw66/info.json b/keyboards/rpiguy9907/southpaw66/info.json
index ae9e1d4c67..fb8e6789da 100644
--- a/keyboards/rpiguy9907/southpaw66/info.json
+++ b/keyboards/rpiguy9907/southpaw66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Southpaw66",
+ "manufacturer": "rpiguy9907",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x9907",
+ "pid": "0x5366",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
diff --git a/keyboards/rubi/config.h b/keyboards/rubi/config.h
index 25c7aa5be7..b4efca2997 100644
--- a/keyboards/rubi/config.h
+++ b/keyboards/rubi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4752
-#define PRODUCT_ID 0x5242
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gregorio
-#define PRODUCT Rubi
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B3, B2, B1, F7 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D7 }
#define ENCODERS_PAD_B { D6 }
diff --git a/keyboards/rubi/info.json b/keyboards/rubi/info.json
index 2ee76f3fdd..95d77d5204 100644
--- a/keyboards/rubi/info.json
+++ b/keyboards/rubi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rubi",
+ "manufacturer": "gregorio",
"url": "https://github.com/ohchiko/qmk_firmware/tree/master/keyboards/rubi",
"maintainer": "gregorio",
+ "usb": {
+ "vid": "0x4752",
+ "pid": "0x5242",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/runes/skjoldr/config.h b/keyboards/runes/skjoldr/config.h
new file mode 100644
index 0000000000..bc4d4c0fe9
--- /dev/null
+++ b/keyboards/runes/skjoldr/config.h
@@ -0,0 +1,93 @@
+/*
+Copyright 2021 Vicktor
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * 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 { D6, D7, B4, B5, B0 }
+#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, B3, E6, D5, F7, F6, F5, F4, F1, F0 }
+
+/* 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
+
+
+/* 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
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/runes/skjoldr/info.json b/keyboards/runes/skjoldr/info.json
new file mode 100644
index 0000000000..4ebb2a7309
--- /dev/null
+++ b/keyboards/runes/skjoldr/info.json
@@ -0,0 +1,87 @@
+{
+ "keyboard_name": "Skjöldr",
+ "manufacturer": "Runes",
+ "url": "https://www.runes.id",
+ "maintainer": "vicktorhu",
+ "usb": {
+ "vid": "0x726E",
+ "pid": "0x736B",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_60_ansi_arrow"
+ },
+ "layouts": {
+ "LAYOUT_60_ansi_arrow": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1!", "x":1, "y":0},
+ {"label":"2@", "x":2, "y":0},
+ {"label":"3#", "x":3, "y":0},
+ {"label":"4$", "x":4, "y":0},
+ {"label":"5%", "x":5, "y":0},
+ {"label":"6^", "x":6, "y":0},
+ {"label":"7&", "x":7, "y":0},
+ {"label":"8*", "x":8, "y":0},
+ {"label":"9(", "x":9, "y":0},
+ {"label":"0)", "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":"Caps Lock", "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, "w":1.75},
+ {"label":"\u2191", "x":13, "y":3},
+ {"label":"Delete", "x":14, "y":3},
+
+ {"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":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Fn2", "x":10, "y":4},
+ {"label":"Fn1", "x":11, "y":4},
+ {"label":"\u2190", "x":12, "y":4},
+ {"label":"\u2193", "x":13, "y":4},
+ {"label":"\u2192", "x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/runes/skjoldr/keymaps/default/keymap.c b/keyboards/runes/skjoldr/keymaps/default/keymap.c
new file mode 100644
index 0000000000..9f40341e44
--- /dev/null
+++ b/keyboards/runes/skjoldr/keymaps/default/keymap.c
@@ -0,0 +1,59 @@
+/* Copyright 2021 Vicktor
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _DOUBLE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_60_ansi_arrow(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LOWER] = LAYOUT_60_ansi_arrow(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_INS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_END, KC_PAUS, KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PSCR, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MSTP, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_RAISE] = LAYOUT_60_ansi_arrow(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+ ),
+
+ [_DOUBLE] = LAYOUT_60_ansi_arrow(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
diff --git a/keyboards/runes/skjoldr/keymaps/default/readme.md b/keyboards/runes/skjoldr/keymaps/default/readme.md
new file mode 100644
index 0000000000..24f28db1e9
--- /dev/null
+++ b/keyboards/runes/skjoldr/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Skjoldr \ No newline at end of file
diff --git a/keyboards/runes/skjoldr/keymaps/via/keymap.c b/keyboards/runes/skjoldr/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9f40341e44
--- /dev/null
+++ b/keyboards/runes/skjoldr/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
+/* Copyright 2021 Vicktor
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _DOUBLE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_60_ansi_arrow(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LOWER] = LAYOUT_60_ansi_arrow(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_INS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_END, KC_PAUS, KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PSCR, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MSTP, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_RAISE] = LAYOUT_60_ansi_arrow(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+ ),
+
+ [_DOUBLE] = LAYOUT_60_ansi_arrow(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
diff --git a/keyboards/runes/skjoldr/keymaps/via/rules.mk b/keyboards/runes/skjoldr/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/runes/skjoldr/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/runes/skjoldr/readme.md b/keyboards/runes/skjoldr/readme.md
new file mode 100644
index 0000000000..96adf5f4ab
--- /dev/null
+++ b/keyboards/runes/skjoldr/readme.md
@@ -0,0 +1,23 @@
+# Skjöldr
+
+![Skjöldr](https://i.imgur.com/HtRqhxDh.jpg)
+
+Skjöldr [/ˈskjɒldr̩/] (Old Norse: Shield)
+
+60% keyboard with arrow keys based on atmega32u4 mcu.
+
+* Keyboard Maintainer: [Vicktor](https://github.com/vicktorhu)
+* Hardware Supported: atmega32u4
+* Hardware Availability: [Website](https://www.runes.id) -- Currently Indonesia only
+
+Reset the keyboard with **FN** + **Backspace** or by pressing the reset button on the PCB.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make runes/skjoldr:default
+
+Flashing example for this keyboard:
+
+ make runes/skjoldr: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/runes/skjoldr/rules.mk b/keyboards/runes/skjoldr/rules.mk
new file mode 100644
index 0000000000..d6dbd4a04d
--- /dev/null
+++ b/keyboards/runes/skjoldr/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 60_ansi_arrow
diff --git a/keyboards/runes/skjoldr/skjoldr.c b/keyboards/runes/skjoldr/skjoldr.c
new file mode 100644
index 0000000000..2a8f003fc4
--- /dev/null
+++ b/keyboards/runes/skjoldr/skjoldr.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 Vicktor
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "skjoldr.h"
diff --git a/keyboards/runes/skjoldr/skjoldr.h b/keyboards/runes/skjoldr/skjoldr.h
new file mode 100644
index 0000000000..cdd0592a0f
--- /dev/null
+++ b/keyboards/runes/skjoldr/skjoldr.h
@@ -0,0 +1,49 @@
+/* Copyright 2021 Vicktor
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │3D │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │40 │41 │42 │45 │49 │4A │4B │4C │4D │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+
+#define LAYOUT_60_ansi_arrow( \
+ 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, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
+) { \
+ { 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, K2C, ___ }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, ___, K3C, K3D }, \
+ { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D } \
+}
diff --git a/keyboards/runes/vaengr/config.h b/keyboards/runes/vaengr/config.h
index 67ba4ca0fe..060d6843ef 100644
--- a/keyboards/runes/vaengr/config.h
+++ b/keyboards/runes/vaengr/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x726E
-#define PRODUCT_ID 0x7661
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Runes
-#define PRODUCT VÆNGR
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B7, B0, F7, C6 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, D0, D1, D6, D4, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/runes/vaengr/info.json b/keyboards/runes/vaengr/info.json
index 53619a7868..3c5d4e2b86 100644
--- a/keyboards/runes/vaengr/info.json
+++ b/keyboards/runes/vaengr/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Runes Vængr",
+ "keyboard_name": "VÆNGR",
+ "manufacturer": "Runes",
"url": "https://www.runes.id",
"maintainer": "Vicktor",
+ "usb": {
+ "vid": "0x726E",
+ "pid": "0x7661",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ryanbaekr/rb18/config.h b/keyboards/ryanbaekr/rb18/config.h
index 6351db6acf..1df607db43 100644
--- a/keyboards/ryanbaekr/rb18/config.h
+++ b/keyboards/ryanbaekr/rb18/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7262
-#define PRODUCT_ID 0x0018
-#define DEVICE_VER 0x0003
-#define MANUFACTURER ryanbaekr
-#define PRODUCT rb18
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
#define MATRIX_COL_PINS { B2, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ryanbaekr/rb18/info.json b/keyboards/ryanbaekr/rb18/info.json
index 2ad1b56b6a..ba8f2955c1 100644
--- a/keyboards/ryanbaekr/rb18/info.json
+++ b/keyboards/ryanbaekr/rb18/info.json
@@ -1,10 +1,38 @@
{
- "keyboard_name": "rb18",
- "url": "",
- "maintainer": "qmk",
+ "keyboard_name": "rb18",
+ "manufacturer": "ryanbaekr",
+ "url": "",
+ "maintainer": "ryanbaekr",
+ "usb": {
+ "vid": "0x7262",
+ "pid": "0x0018",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
- "layout": [{"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25, "h":2}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25, "h":2}, {"x":0, "y":5.25, "w":2}, {"x":2, "y":5.25}]
+ "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":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":1, "h":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+
+ {"x":0, "y":4, "w":2},
+ {"x":2, "y":4},
+ {"x":3, "y":3, "h":2}
+ ]
}
}
}
diff --git a/keyboards/ryanbaekr/rb69/config.h b/keyboards/ryanbaekr/rb69/config.h
index 0464befc5f..447d2ca05a 100644
--- a/keyboards/ryanbaekr/rb69/config.h
+++ b/keyboards/ryanbaekr/rb69/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7262
-#define PRODUCT_ID 0x0069
-#define DEVICE_VER 0x0003
-#define MANUFACTURER ryanbaekr
-#define PRODUCT rb69
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, C6, D4, D0, D1 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, F0, F1, B4, B5, B7, D5, C7, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ryanbaekr/rb69/info.json b/keyboards/ryanbaekr/rb69/info.json
index 0377479cf6..805169a526 100644
--- a/keyboards/ryanbaekr/rb69/info.json
+++ b/keyboards/ryanbaekr/rb69/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rb69",
+ "manufacturer": "ryanbaekr",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7262",
+ "pid": "0x0069",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"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}, {"x":14, "y":1.25}, {"x":15.25, "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.25, "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.25, "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.5}, {"x":15.25, "y":4.25}, {"x":14, "y":4.5}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25, "w":1.25}, {"x":2.75, "y":5.25, "w":1.25}, {"x":4, "y":5.25, "w":6.25}, {"x":10.25, "y":5.25, "w":1.25}, {"x":11.5, "y":5.25, "w":1.25}, {"x":13, "y":5.5}, {"x":14, "y":5.5}, {"x":15, "y":5.5}]
diff --git a/keyboards/ryanbaekr/rb86/config.h b/keyboards/ryanbaekr/rb86/config.h
index fd076dd706..e2541efe2b 100644
--- a/keyboards/ryanbaekr/rb86/config.h
+++ b/keyboards/ryanbaekr/rb86/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7262
-#define PRODUCT_ID 0x0086
-#define DEVICE_VER 0x0002
-#define MANUFACTURER ryanbaekr
-#define PRODUCT rb86
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, D7 }
#define MATRIX_COL_PINS { B6, B5, D5, C7, F1, F0, D3, D2, D1, D0, D4, E6, B7, C6, F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ryanbaekr/rb86/info.json b/keyboards/ryanbaekr/rb86/info.json
index 42cf9e2aa1..05e3da7686 100644
--- a/keyboards/ryanbaekr/rb86/info.json
+++ b/keyboards/ryanbaekr/rb86/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "rb86",
+ "manufacturer": "ryanbaekr",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7262",
+ "pid": "0x0086",
+ "device_version": "0.0.2"
+ },
"layout_aliases": {
"LAYOUT_numpad_6x17": "LAYOUT"
},
diff --git a/keyboards/ryanskidmore/rskeys100/config.h b/keyboards/ryanskidmore/rskeys100/config.h
index aa3dcb3622..187834f7e3 100644
--- a/keyboards/ryanskidmore/rskeys100/config.h
+++ b/keyboards/ryanskidmore/rskeys100/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7273 // rs
-#define PRODUCT_ID 0x0064 // 100
-#define DEVICE_VER 0x0001 // rev 1
-#define MANUFACTURER ryanskidmore
-#define PRODUCT rsKeys100
-
/* Key Matrix Sizes */
#define MATRIX_ROWS 6
#define MATRIX_COLS 24
diff --git a/keyboards/ryanskidmore/rskeys100/info.json b/keyboards/ryanskidmore/rskeys100/info.json
index e87e7c50d3..ab2fbd9897 100644
--- a/keyboards/ryanskidmore/rskeys100/info.json
+++ b/keyboards/ryanskidmore/rskeys100/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "rskeys100",
+ "keyboard_name": "rsKeys100",
+ "manufacturer": "ryanskidmore",
+ "usb": {
+ "vid": "0x7273",
+ "pid": "0x0064",
+ "device_version": "0.0.1"
+ },
"url": "",
"maintainer": "ryanskidmore",
"layouts": {
diff --git a/keyboards/ryanskidmore/rskeys100/readme.md b/keyboards/ryanskidmore/rskeys100/readme.md
index 4be465dbde..3100e74f2d 100644
--- a/keyboards/ryanskidmore/rskeys100/readme.md
+++ b/keyboards/ryanskidmore/rskeys100/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader
-To enter the bootloader, press the `RESET` button on your daughterboard PCB while it's plugged in. \ No newline at end of file
+To enter the bootloader, press the `QK_BOOT` button on your daughterboard PCB while it's plugged in. \ No newline at end of file
diff --git a/keyboards/ryloo_studio/m0110/config.h b/keyboards/ryloo_studio/m0110/config.h
index 754c164b6a..92a35f9fdd 100755
--- a/keyboards/ryloo_studio/m0110/config.h
+++ b/keyboards/ryloo_studio/m0110/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x614D
-#define PRODUCT_ID 0x1000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ryloo studio
-#define PRODUCT M0110
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, F7, B5, B4, D7, D6, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ryloo_studio/m0110/info.json b/keyboards/ryloo_studio/m0110/info.json
index 10917cb3ec..694fd668d0 100644
--- a/keyboards/ryloo_studio/m0110/info.json
+++ b/keyboards/ryloo_studio/m0110/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "M0110",
+ "manufacturer": "Ryloo studio",
"url": "https://drop.com/buy/ryloo-studio-hello-m0110-mechanical-keyboard-kit",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x614D",
+ "pid": "0x1000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ryloo_studio/m0110/readme.md b/keyboards/ryloo_studio/m0110/readme.md
index 78a59f0e62..8729ef6319 100755
--- a/keyboards/ryloo_studio/m0110/readme.md
+++ b/keyboards/ryloo_studio/m0110/readme.md
@@ -16,9 +16,9 @@ Flashing example for this keyboard:
Putting the Keyboard in Bootloader Mode:
-The shipped PCB did not come with a reset button. To put the PCB in bootloader mode: locate the 2 `RESET` pins in the back of the PCB and short them with a conductive wire or tweezer.
+The shipped PCB did not come with a reset button. To put the PCB in bootloader mode: locate the 2 `QK_BOOT` pins in the back of the PCB and short them with a conductive wire or tweezer.
-![Ryloo Studio M0110 PCB RESET pins location](https://i.imgur.com/QJWmpqF.jpeg)
+![Ryloo Studio M0110 PCB QK_BOOT pins location](https://i.imgur.com/QJWmpqF.jpeg)
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/s_ol/0xc_pad/readme.md b/keyboards/s_ol/0xc_pad/readme.md
index 8ca3f78d1a..b9e75b02e9 100644
--- a/keyboards/s_ol/0xc_pad/readme.md
+++ b/keyboards/s_ol/0xc_pad/readme.md
@@ -18,7 +18,7 @@ following means:
- holding down the top-left key (next to the USB port) while plugging it in
- bridging the two pads labeled `BOOT` on the back of the PCB with a metallic
object (tweezers, paperclip. wire)
-- putting the `RESET` keycode in your keymap and pressing the corresponding key
+- putting the `QK_BOOT` keycode in your keymap and pressing the corresponding key
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/saevus/cor_tkl/config.h b/keyboards/saevus/cor_tkl/config.h
new file mode 100644
index 0000000000..449f2da113
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/config.h
@@ -0,0 +1,26 @@
+/*
+Copyright 2022 Ramon Imbao
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* RGB Matrix setup */
+#define RGB_DI_PIN GP19
+#define DRIVER_LED_TOTAL 2
+#define RGBLED_NUM 2
+#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
diff --git a/keyboards/saevus/cor_tkl/cor_tkl.c b/keyboards/saevus/cor_tkl/cor_tkl.c
new file mode 100644
index 0000000000..45cc8c0868
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/cor_tkl.c
@@ -0,0 +1,44 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "cor_tkl.h"
+
+led_config_t g_led_config = {{
+ // Key Matrix to LED Index
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 1, 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 },
+ { 0, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
+}, {
+ // LED Index to Physical Position
+ { 5, 40 }, { 211, 0 }
+}, {
+ // LED Index to Flag
+ LED_FLAG_INDICATOR, LED_FLAG_INDICATOR
+}};
+
+void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ if (!host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
+ }
+ if (!host_keyboard_led_state().scroll_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0);
+ }
+
+ rgb_matrix_indicators_advanced_user(led_min, led_max);
+}
diff --git a/keyboards/saevus/cor_tkl/cor_tkl.h b/keyboards/saevus/cor_tkl/cor_tkl.h
new file mode 100644
index 0000000000..e629f7e741
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/cor_tkl.h
@@ -0,0 +1,121 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// ANSI layout
+// Full backspace
+// Full right shift
+// Full left shift
+#define LAYOUT_tkl_f13_ansi( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___, ___, ___ }, \
+ { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, ___, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, k5a, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
+// ANSI layout
+// Split backspace
+// Split right shift
+// Full left shift
+#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
+ { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, k5a, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
+// ISO layout
+// Full backspace
+// Full right shift
+// Split left shift
+#define LAYOUT_tkl_f13_iso( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k2d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___, ___, ___ }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, ___, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, k5a, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
+// ISO layout
+// Split backspace
+// Split right shift
+// Split left shift
+#define LAYOUT_tkl_f13_iso_split_bs_rshift( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k2d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, k5a, k5b, k5c, k5d, k5e, k5f, k5g }, \
+}
+
+// Layout for VIA
+// Split backspace
+// Split left shift
+// Split right shift
+#define LAYOUT_all( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
+ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
diff --git a/keyboards/saevus/cor_tkl/info.json b/keyboards/saevus/cor_tkl/info.json
new file mode 100644
index 0000000000..5a881ce5cd
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/info.json
@@ -0,0 +1,524 @@
+{
+ "keyboard_name": "Cor TKL",
+ "manufacturer": "saevus",
+ "url": "",
+ "maintainer": "ramonimbao",
+ "layout_aliases": {
+ "LAYOUT_ansi": "LAYOUT_tkl_f13_ansi",
+ "LAYOUT_iso": "LAYOUT_tkl_f13_iso"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": false
+ },
+ "usb": {
+ "vid": "0x5001",
+ "pid": "0x0003",
+ "device_version": "1.0.0"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP12", "GP11", "GP5"],
+ "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"]
+ },
+ "layouts": {
+ "LAYOUT_tkl_f13_ansi": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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":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":2.75},
+ {"x":16.25, "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, "w":1.25},
+ {"x":11.25, "y":5.25, "w":1.25},
+ {"x":12.5, "y":5.25, "w":1.25},
+ {"x":13.75, "y":5.25, "w":1.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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":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, "y":4.25},
+ {"x":16.25, "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, "w":1.25},
+ {"x":11.25, "y":5.25, "w":1.25},
+ {"x":12.5, "y":5.25, "w":1.25},
+ {"x":13.75, "y":5.25, "w":1.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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},
+ {"x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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":2.75},
+ {"x":16.25, "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, "w":1.25},
+ {"x":11.25, "y":5.25, "w":1.25},
+ {"x":12.5, "y":5.25, "w":1.25},
+ {"x":13.75, "y":5.25, "w":1.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_split_bs_rshift": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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},
+ {"x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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, "y":4.25},
+ {"x":16.25, "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, "w":1.25},
+ {"x":11.25, "y":5.25, "w":1.25},
+ {"x":12.5, "y":5.25, "w":1.25},
+ {"x":13.75, "y":5.25, "w":1.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_all": {
+ "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.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "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},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "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.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "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":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.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, "y":4.25},
+ {"x":16.25, "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, "w":1.25},
+ {"x":11.25, "y":5.25, "w":1.25},
+ {"x":12.5, "y":5.25, "w":1.25},
+ {"x":13.75, "y":5.25, "w":1.25},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/saevus/cor_tkl/keymaps/default/config.h b/keyboards/saevus/cor_tkl/keymaps/default/config.h
new file mode 100644
index 0000000000..08636494e6
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/default/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/saevus/cor_tkl/keymaps/default/keymap.c b/keyboards/saevus/cor_tkl/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3c5139dbe7
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_f13_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/saevus/cor_tkl/keymaps/iso/config.h b/keyboards/saevus/cor_tkl/keymaps/iso/config.h
new file mode 100644
index 0000000000..52983591bf
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/iso/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/saevus/cor_tkl/keymaps/iso/keymap.c b/keyboards/saevus/cor_tkl/keymaps/iso/keymap.c
new file mode 100644
index 0000000000..4bc1c41809
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/iso/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_f13_iso_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_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_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/saevus/cor_tkl/keymaps/via/config.h b/keyboards/saevus/cor_tkl/keymaps/via/config.h
new file mode 100644
index 0000000000..52983591bf
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/via/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/saevus/cor_tkl/keymaps/via/keymap.c b/keyboards/saevus/cor_tkl/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d7e1cabc67
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 Ramon Imbao
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/saevus/cor_tkl/keymaps/via/rules.mk b/keyboards/saevus/cor_tkl/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/saevus/cor_tkl/readme.md b/keyboards/saevus/cor_tkl/readme.md
new file mode 100644
index 0000000000..c0c5ab0e91
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/readme.md
@@ -0,0 +1,18 @@
+# saevus cor TKL
+
+![Cor TKL](https://i.imgur.com/RGctsaVl.png)
+
+* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
+* Hardware Supported: RP2040
+
+Make example for this keyboard (after setting up your build environment):
+
+ make saevus/cor_tkl:via
+
+To get to the bootloader, simply press the reset button located at the back of the PCB. You can then flash new firmware onto it.
+
+Flashing example for this keyboard:
+
+ make saevus/cor_tkl:via: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/saevus/cor_tkl/rules.mk b/keyboards/saevus/cor_tkl/rules.mk
new file mode 100644
index 0000000000..e53fbb2e92
--- /dev/null
+++ b/keyboards/saevus/cor_tkl/rules.mk
@@ -0,0 +1,13 @@
+# MCU name
+MCU = RP2040
+
+# Bootloader selection
+BOOTLOADER = rp2040
+
+# RGB Matrix
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+WS2812_DRIVER = vendor
+
+LAYOUTS = tkl_f13_ansi tkl_f13_ansi_split_bs_rshift tkl_f13_iso tkl_f13_iso_split_bs_rshift
+
diff --git a/keyboards/salicylic_acid3/7skb/info.json b/keyboards/salicylic_acid3/7skb/info.json
deleted file mode 100644
index f85f32cb6d..0000000000
--- a/keyboards/salicylic_acid3/7skb/info.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "7skb",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":7, "y":0},
- {"label":"7", "x":8, "y":0},
- {"label":"8", "x":9, "y":0},
- {"label":"9", "x":10, "y":0},
- {"label":"0", "x":11, "y":0},
- {"label":"-", "x":12, "y":0},
- {"label":"=", "x":13, "y":0},
- {"label":"\\", "x":14, "y":0},
- {"label":"`", "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":7.5, "y":1},
- {"label":"U", "x":8.5, "y":1},
- {"label":"I", "x":9.5, "y":1},
- {"label":"O", "x":10.5, "y":1},
- {"label":"P", "x":11.5, "y":1},
- {"label":"[", "x":12.5, "y":1},
- {"label":"]", "x":13.5, "y":1},
- {"label":"Delete", "x":14.5, "y":1, "w":1.5},
- {"label":"Control", "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":7.75, "y":2},
- {"label":"J", "x":8.75, "y":2},
- {"label":"K", "x":9.75, "y":2},
- {"label":"L", "x":10.75, "y":2},
- {"label":";", "x":11.75, "y":2},
- {"label":"'", "x":12.75, "y":2},
- {"label":"Enter", "x":13.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":8.25, "y":3},
- {"label":"M", "x":9.25, "y":3},
- {"label":",", "x":10.25, "y":3},
- {"label":".", "x":11.25, "y":3},
- {"label":"/", "x":12.25, "y":3},
- {"label":"Shift", "x":13.25, "y":3, "w":1.75},
- {"label":"Fn", "x":15, "y":3},
- {"label":"Alt", "x":1.5, "y":4},
- {"label":"GUI", "x":2.5, "y":4, "w":1.5},
- {"x":4, "y":4, "w":1.5},
- {"x":5.5, "y":4, "w":1.25},
- {"x":7.75, "y":4, "w":1.25},
- {"x":9, "y":4, "w":2},
- {"label":"GUI", "x":11, "y":4, "w":1.5},
- {"label":"Alt", "x":12.5, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c
index 117a129a8b..5943139720 100644
--- a/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c
+++ b/keyboards/salicylic_acid3/7skb/keymaps/default/keymap.c
@@ -81,7 +81,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_sethsv_at( 0, 0, 0, 0);
break;
}
- rgblight_set_effect_range( 1, 4);
+ rgblight_set_effect_range( 1, 11);
#endif
return state;
}
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
index 4e1f2acd05..b63cdff3cc 100644
--- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c
@@ -32,8 +32,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -109,7 +109,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX
[_ADJUST] = LAYOUT( /* Base */
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
@@ -117,7 +117,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, _______, RESET, RESET, _______, KC_STOP, XXXXXXX
+ XXXXXXX, XXXXXXX, _______, QK_BOOT, QK_BOOT, _______, KC_STOP, XXXXXXX
//`---------------------------------------------| |--------------------------------------------'
)
};
@@ -147,7 +147,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_sethsv_at( 0, 0, 0, 0);
break;
}
- rgblight_set_effect_range( 1, 5);
+ rgblight_set_effect_range( 1, 11);
#endif
return state;
}
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c
index b294666966..5ce939f97d 100644
--- a/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c
+++ b/keyboards/salicylic_acid3/7skb/keymaps/via/keymap.c
@@ -86,7 +86,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_sethsv_at( 0, 0, 0, 0);
break;
}
- rgblight_set_effect_range( 1, 5);
+ rgblight_set_effect_range( 1, 11);
#endif
return state;
}
diff --git a/keyboards/salicylic_acid3/7skb/rev1/config.h b/keyboards/salicylic_acid3/7skb/rev1/config.h
index a74cd25c29..e6cddb0a5b 100644
--- a/keyboards/salicylic_acid3/7skb/rev1/config.h
+++ b/keyboards/salicylic_acid3/7skb/rev1/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB5F
-#define DEVICE_VER 0x0007
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT 7skb
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/salicylic_acid3/7skb/rev1/info.json b/keyboards/salicylic_acid3/7skb/rev1/info.json
new file mode 100644
index 0000000000..7bd508ed7f
--- /dev/null
+++ b/keyboards/salicylic_acid3/7skb/rev1/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "7skb",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB5F",
+ "device_version": "0.0.7"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"1", "x":1, "y":0},
+ {"label":"2", "x":2, "y":0},
+ {"label":"3", "x":3, "y":0},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"6", "x":7, "y":0},
+ {"label":"7", "x":8, "y":0},
+ {"label":"8", "x":9, "y":0},
+ {"label":"9", "x":10, "y":0},
+ {"label":"0", "x":11, "y":0},
+ {"label":"-", "x":12, "y":0},
+ {"label":"=", "x":13, "y":0},
+ {"label":"\\", "x":14, "y":0},
+ {"label":"`", "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":7.5, "y":1},
+ {"label":"U", "x":8.5, "y":1},
+ {"label":"I", "x":9.5, "y":1},
+ {"label":"O", "x":10.5, "y":1},
+ {"label":"P", "x":11.5, "y":1},
+ {"label":"[", "x":12.5, "y":1},
+ {"label":"]", "x":13.5, "y":1},
+ {"label":"Delete", "x":14.5, "y":1, "w":1.5},
+ {"label":"Control", "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":7.75, "y":2},
+ {"label":"J", "x":8.75, "y":2},
+ {"label":"K", "x":9.75, "y":2},
+ {"label":"L", "x":10.75, "y":2},
+ {"label":";", "x":11.75, "y":2},
+ {"label":"'", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.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":8.25, "y":3},
+ {"label":"M", "x":9.25, "y":3},
+ {"label":",", "x":10.25, "y":3},
+ {"label":".", "x":11.25, "y":3},
+ {"label":"/", "x":12.25, "y":3},
+ {"label":"Shift", "x":13.25, "y":3, "w":1.75},
+ {"label":"Fn", "x":15, "y":3},
+ {"label":"Alt", "x":1.5, "y":4},
+ {"label":"GUI", "x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":1.5},
+ {"x":5.5, "y":4, "w":1.25},
+ {"x":7.75, "y":4, "w":1.25},
+ {"x":9, "y":4, "w":2},
+ {"label":"GUI", "x":11, "y":4, "w":1.5},
+ {"label":"Alt", "x":12.5, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/7skb/rules.mk b/keyboards/salicylic_acid3/7skb/rules.mk
index 3ae2e899ca..dc0a7dfb49 100644
--- a/keyboards/salicylic_acid3/7skb/rules.mk
+++ b/keyboards/salicylic_acid3/7skb/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = caterina
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
+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
diff --git a/keyboards/salicylic_acid3/7splus/config.h b/keyboards/salicylic_acid3/7splus/config.h
index 8f3e32a52f..4bb41abe19 100644
--- a/keyboards/salicylic_acid3/7splus/config.h
+++ b/keyboards/salicylic_acid3/7splus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEAE7
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT 7splus
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
diff --git a/keyboards/salicylic_acid3/7splus/info.json b/keyboards/salicylic_acid3/7splus/info.json
index a87909c07b..aa70fe150a 100644
--- a/keyboards/salicylic_acid3/7splus/info.json
+++ b/keyboards/salicylic_acid3/7splus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "7splus",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAE7",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
index 06d7972a2e..bea5978c50 100644
--- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c
@@ -39,8 +39,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _MOUSE),
- [TD_ESAR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
+ [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/salicylic_acid3/ajisai74/config.h b/keyboards/salicylic_acid3/ajisai74/config.h
index e7a1555aea..cb886509ab 100644
--- a/keyboards/salicylic_acid3/ajisai74/config.h
+++ b/keyboards/salicylic_acid3/ajisai74/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB54
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT ajisai74
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/salicylic_acid3/ajisai74/info.json b/keyboards/salicylic_acid3/ajisai74/info.json
index 6bf2d7af49..c0e5c2b5c0 100644
--- a/keyboards/salicylic_acid3/ajisai74/info.json
+++ b/keyboards/salicylic_acid3/ajisai74/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ajisai74",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB54",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/ergoarrows/config.h b/keyboards/salicylic_acid3/ergoarrows/config.h
index ae13e20014..ff2bb2d47c 100644
--- a/keyboards/salicylic_acid3/ergoarrows/config.h
+++ b/keyboards/salicylic_acid3/ergoarrows/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA54
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT ergoarrows
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
diff --git a/keyboards/salicylic_acid3/ergoarrows/info.json b/keyboards/salicylic_acid3/ergoarrows/info.json
index a625476e79..2c741c21e9 100644
--- a/keyboards/salicylic_acid3/ergoarrows/info.json
+++ b/keyboards/salicylic_acid3/ergoarrows/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ergoarrows",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA54",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c
index 8f2c4151f8..dd2cad91d9 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/keymap.c
@@ -88,7 +88,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, XXXXXXX
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//|--------------------------------------------------------------| |--------------------------------------------------------------'
diff --git a/keyboards/salicylic_acid3/getta25/info.json b/keyboards/salicylic_acid3/getta25/info.json
deleted file mode 100644
index 980b5142db..0000000000
--- a/keyboards/salicylic_acid3/getta25/info.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "keyboard_name": "Getta25",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"ESC", "x":0, "y":0},
- {"label":"F2", "x":1, "y":0},
- {"label":"=", "x":2, "y":0},
- {"label":"DEL", "x":3, "y":0},
- {"label":"Num Lock", "x":0, "y":1.25},
- {"label":"/", "x":1, "y":1.25},
- {"label":"*", "x":2, "y":1.25},
- {"label":"-", "x":3, "y":1.25},
- {"label":"7", "x":0, "y":2.25},
- {"label":"8", "x":1, "y":2.25},
- {"label":"9", "x":2, "y":2.25},
- {"label":"ESC", "x":4.25, "y":2.25},
- {"label":"4", "x":0, "y":3.25},
- {"label":"5", "x":1, "y":3.25},
- {"label":"6", "x":2, "y":3.25},
- {"label":"+", "x":3, "y":2.25, "h":2},
- {"label":"F2", "x":4.25, "y":3.25},
- {"label":"1", "x":0, "y":4.25},
- {"label":"2", "x":1, "y":4.25},
- {"label":"3", "x":2, "y":4.25},
- {"label":"DEL", "x":4.25, "y":4.25},
- {"label":"0", "x":0, "y":5.25, "w":2},
- {"label":".", "x":2, "y":5.25},
- {"label":"Enter", "x":3, "y":4.25, "h":2},
- {"label":"BSPC", "x":4.25, "y":5.25}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/getta25/rev1/config.h b/keyboards/salicylic_acid3/getta25/rev1/config.h
index 740a9f3fbd..a039848af9 100644
--- a/keyboards/salicylic_acid3/getta25/rev1/config.h
+++ b/keyboards/salicylic_acid3/getta25/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0013
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT getta25
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
diff --git a/keyboards/salicylic_acid3/getta25/rev1/info.json b/keyboards/salicylic_acid3/getta25/rev1/info.json
new file mode 100644
index 0000000000..23354552ea
--- /dev/null
+++ b/keyboards/salicylic_acid3/getta25/rev1/info.json
@@ -0,0 +1,42 @@
+{
+ "keyboard_name": "getta25",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.1.3"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"ESC", "x":0, "y":0},
+ {"label":"F2", "x":1, "y":0},
+ {"label":"=", "x":2, "y":0},
+ {"label":"DEL", "x":3, "y":0},
+ {"label":"Num Lock", "x":0, "y":1.25},
+ {"label":"/", "x":1, "y":1.25},
+ {"label":"*", "x":2, "y":1.25},
+ {"label":"-", "x":3, "y":1.25},
+ {"label":"7", "x":0, "y":2.25},
+ {"label":"8", "x":1, "y":2.25},
+ {"label":"9", "x":2, "y":2.25},
+ {"label":"ESC", "x":4.25, "y":2.25},
+ {"label":"4", "x":0, "y":3.25},
+ {"label":"5", "x":1, "y":3.25},
+ {"label":"6", "x":2, "y":3.25},
+ {"label":"+", "x":3, "y":2.25, "h":2},
+ {"label":"F2", "x":4.25, "y":3.25},
+ {"label":"1", "x":0, "y":4.25},
+ {"label":"2", "x":1, "y":4.25},
+ {"label":"3", "x":2, "y":4.25},
+ {"label":"DEL", "x":4.25, "y":4.25},
+ {"label":"0", "x":0, "y":5.25, "w":2},
+ {"label":".", "x":2, "y":5.25},
+ {"label":"Enter", "x":3, "y":4.25, "h":2},
+ {"label":"BSPC", "x":4.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/jisplit89/info.json b/keyboards/salicylic_acid3/jisplit89/info.json
deleted file mode 100644
index 4f138a5262..0000000000
--- a/keyboards/salicylic_acid3/jisplit89/info.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "keyboard_name": "jisplit89",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1.25, "y":0},
- {"label":"F2", "x":2.25, "y":0},
- {"label":"F3", "x":3.25, "y":0},
- {"label":"F4", "x":4.25, "y":0},
- {"label":"F5", "x":5.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":10.75, "y":0},
- {"label":"F10", "x":11.75, "y":0},
- {"label":"F11", "x":12.75, "y":0},
- {"label":"F12", "x":13.75, "y":0},
- {"label":"Insert", "x":15, "y":0},
- {"label":"Print Screen", "x":16, "y":0},
- {"label":"Hankaku/Zenkaku", "x":0, "y":1.25},
- {"label":"!", "x":1, "y":1.25},
- {"label":"\"", "x":2, "y":1.25},
- {"label":"#", "x":3, "y":1.25},
- {"label":"$", "x":4, "y":1.25},
- {"label":"%", "x":5, "y":1.25},
- {"label":"&", "x":7, "y":1.25},
- {"label":"'", "x":8, "y":1.25},
- {"label":"(", "x":9, "y":1.25},
- {"label":")", "x":10, "y":1.25},
- {"label":"", "x":11, "y":1.25},
- {"label":"=", "x":12, "y":1.25},
- {"label":"~", "x":13, "y":1.25},
- {"label":"|", "x":14, "y":1.25},
- {"label":"Back", "x":15, "y":1.25},
- {"label":"Del", "x":16, "y":1.25},
- {"label":"Tab", "x":0, "y":2.25, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.25},
- {"label":"W", "x":2.5, "y":2.25},
- {"label":"E", "x":3.5, "y":2.25},
- {"label":"R", "x":4.5, "y":2.25},
- {"label":"T", "x":5.5, "y":2.25},
- {"label":"Y", "x":7.5, "y":2.25},
- {"label":"U", "x":8.5, "y":2.25},
- {"label":"I", "x":9.5, "y":2.25},
- {"label":"O", "x":10.5, "y":2.25},
- {"label":"P", "x":11.5, "y":2.25},
- {"label":"`", "x":12.5, "y":2.25},
- {"label":"{", "x":13.5, "y":2.25},
- {"label":"Return", "x":14.75, "y":2.25, "w":1.25, "h":2},
- {"label":"Home", "x":16, "y":2.25},
- {"label":"Caps", "x":0, "y":3.25, "w":1.75},
- {"label":"A", "x":1.75, "y":3.25},
- {"label":"S", "x":2.75, "y":3.25},
- {"label":"D", "x":3.75, "y":3.25},
- {"label":"F", "x":4.75, "y":3.25},
- {"label":"G", "x":5.75, "y":3.25},
- {"label":"H", "x":7.75, "y":3.25},
- {"label":"J", "x":8.75, "y":3.25},
- {"label":"K", "x":9.75, "y":3.25},
- {"label":"L", "x":10.75, "y":3.25},
- {"label":"+", "x":11.75, "y":3.25},
- {"label":"*", "x":12.75, "y":3.25},
- {"label":"}", "x":13.75, "y":3.25},
- {"label":"End", "x":16, "y":3.25},
- {"label":"Shift", "x":0, "y":4.25, "w":2},
- {"label":"Z", "x":2, "y":4.25},
- {"label":"X", "x":3, "y":4.25},
- {"label":"C", "x":4, "y":4.25},
- {"label":"V", "x":5, "y":4.25},
- {"label":"B", "x":6, "y":4.25},
- {"label":"N", "x":8, "y":4.25},
- {"label":"M", "x":9, "y":4.25},
- {"label":"<", "x":10, "y":4.25},
- {"label":">", "x":11, "y":4.25},
- {"label":"?", "x":12, "y":4.25},
- {"label":"_", "x":13, "y":4.25},
- {"label":"PgDwn", "x":14, "y":4.25},
- {"label":"Up", "x":15, "y":4.25},
- {"label":"PgUp", "x":16, "y":4.25},
- {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
- {"label":"Win", "x":1.25, "y":5.25},
- {"label":"Alt", "x":2.25, "y":5.25, "w":1.25},
- {"label":"Muhenkan", "x":3.5, "y":5.25},
- {"label":"Alt", "x":4.5, "y":5.25, "w":1.25},
- {"label":"1", "x":5.75, "y":5.25},
- {"label":"2", "x":7.75, "y":5.25},
- {"label":"Ctrl", "x":8.75, "y":5.25, "w":1.25},
- {"label":"Henkan", "x":10, "y":5.25, "w":1.25},
- {"label":"Kana", "x":11.25, "y":5.25, "w":1.25},
- {"label":"App", "x":12.5, "y":5.25},
- {"label":"Left", "x":14, "y":5.25},
- {"label":"Down", "x":15, "y":5.25},
- {"label":"Right", "x":16, "y":5.25}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
index 4e8addf6b7..eba01d4d65 100644
--- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c
@@ -39,8 +39,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _MOUSE),
- [TD_ESAR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE),
+ [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/config.h b/keyboards/salicylic_acid3/jisplit89/rev1/config.h
index ee5f2ca0bc..9b30c9a242 100644
--- a/keyboards/salicylic_acid3/jisplit89/rev1/config.h
+++ b/keyboards/salicylic_acid3/jisplit89/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB4F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT jisplit89
-
/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/info.json b/keyboards/salicylic_acid3/jisplit89/rev1/info.json
new file mode 100644
index 0000000000..1279d2475e
--- /dev/null
+++ b/keyboards/salicylic_acid3/jisplit89/rev1/info.json
@@ -0,0 +1,106 @@
+{
+ "keyboard_name": "jisplit89",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB4F",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.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":10.75, "y":0},
+ {"label":"F10", "x":11.75, "y":0},
+ {"label":"F11", "x":12.75, "y":0},
+ {"label":"F12", "x":13.75, "y":0},
+ {"label":"Insert", "x":15, "y":0},
+ {"label":"Print Screen", "x":16, "y":0},
+ {"label":"Hankaku/Zenkaku", "x":0, "y":1.25},
+ {"label":"!", "x":1, "y":1.25},
+ {"label":"\"", "x":2, "y":1.25},
+ {"label":"#", "x":3, "y":1.25},
+ {"label":"$", "x":4, "y":1.25},
+ {"label":"%", "x":5, "y":1.25},
+ {"label":"&", "x":7, "y":1.25},
+ {"label":"'", "x":8, "y":1.25},
+ {"label":"(", "x":9, "y":1.25},
+ {"label":")", "x":10, "y":1.25},
+ {"label":"", "x":11, "y":1.25},
+ {"label":"=", "x":12, "y":1.25},
+ {"label":"~", "x":13, "y":1.25},
+ {"label":"|", "x":14, "y":1.25},
+ {"label":"Back", "x":15, "y":1.25},
+ {"label":"Del", "x":16, "y":1.25},
+ {"label":"Tab", "x":0, "y":2.25, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.25},
+ {"label":"W", "x":2.5, "y":2.25},
+ {"label":"E", "x":3.5, "y":2.25},
+ {"label":"R", "x":4.5, "y":2.25},
+ {"label":"T", "x":5.5, "y":2.25},
+ {"label":"Y", "x":7.5, "y":2.25},
+ {"label":"U", "x":8.5, "y":2.25},
+ {"label":"I", "x":9.5, "y":2.25},
+ {"label":"O", "x":10.5, "y":2.25},
+ {"label":"P", "x":11.5, "y":2.25},
+ {"label":"`", "x":12.5, "y":2.25},
+ {"label":"{", "x":13.5, "y":2.25},
+ {"label":"Return", "x":14.75, "y":2.25, "w":1.25, "h":2},
+ {"label":"Home", "x":16, "y":2.25},
+ {"label":"Caps", "x":0, "y":3.25, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.25},
+ {"label":"S", "x":2.75, "y":3.25},
+ {"label":"D", "x":3.75, "y":3.25},
+ {"label":"F", "x":4.75, "y":3.25},
+ {"label":"G", "x":5.75, "y":3.25},
+ {"label":"H", "x":7.75, "y":3.25},
+ {"label":"J", "x":8.75, "y":3.25},
+ {"label":"K", "x":9.75, "y":3.25},
+ {"label":"L", "x":10.75, "y":3.25},
+ {"label":"+", "x":11.75, "y":3.25},
+ {"label":"*", "x":12.75, "y":3.25},
+ {"label":"}", "x":13.75, "y":3.25},
+ {"label":"End", "x":16, "y":3.25},
+ {"label":"Shift", "x":0, "y":4.25, "w":2},
+ {"label":"Z", "x":2, "y":4.25},
+ {"label":"X", "x":3, "y":4.25},
+ {"label":"C", "x":4, "y":4.25},
+ {"label":"V", "x":5, "y":4.25},
+ {"label":"B", "x":6, "y":4.25},
+ {"label":"N", "x":8, "y":4.25},
+ {"label":"M", "x":9, "y":4.25},
+ {"label":"<", "x":10, "y":4.25},
+ {"label":">", "x":11, "y":4.25},
+ {"label":"?", "x":12, "y":4.25},
+ {"label":"_", "x":13, "y":4.25},
+ {"label":"PgDwn", "x":14, "y":4.25},
+ {"label":"Up", "x":15, "y":4.25},
+ {"label":"PgUp", "x":16, "y":4.25},
+ {"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
+ {"label":"Win", "x":1.25, "y":5.25},
+ {"label":"Alt", "x":2.25, "y":5.25, "w":1.25},
+ {"label":"Muhenkan", "x":3.5, "y":5.25},
+ {"label":"Alt", "x":4.5, "y":5.25, "w":1.25},
+ {"label":"1", "x":5.75, "y":5.25},
+ {"label":"2", "x":7.75, "y":5.25},
+ {"label":"Ctrl", "x":8.75, "y":5.25, "w":1.25},
+ {"label":"Henkan", "x":10, "y":5.25, "w":1.25},
+ {"label":"Kana", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"App", "x":12.5, "y":5.25},
+ {"label":"Left", "x":14, "y":5.25},
+ {"label":"Down", "x":15, "y":5.25},
+ {"label":"Right", "x":16, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/nafuda/config.h b/keyboards/salicylic_acid3/nafuda/config.h
index 22e17c6cc7..d6f57e9d7b 100644
--- a/keyboards/salicylic_acid3/nafuda/config.h
+++ b/keyboards/salicylic_acid3/nafuda/config.h
@@ -20,13 +20,6 @@ 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 0x3060
-#define DEVICE_VER 0x0012
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT nafuda
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
diff --git a/keyboards/salicylic_acid3/nafuda/info.json b/keyboards/salicylic_acid3/nafuda/info.json
index d418341d19..822ee9e0a1 100644
--- a/keyboards/salicylic_acid3/nafuda/info.json
+++ b/keyboards/salicylic_acid3/nafuda/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nafuda",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.1.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/naked48/info.json b/keyboards/salicylic_acid3/naked48/info.json
deleted file mode 100644
index 8186a6ba5b..0000000000
--- a/keyboards/salicylic_acid3/naked48/info.json
+++ /dev/null
@@ -1,249 +0,0 @@
-{
- "keyboard_name": "Naked48",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {
- "label":"Tab",
- "x":0,
- "y":0
- },
- {
- "label":"Q",
- "x":1,
- "y":0
- },
- {
- "label":"W",
- "x":2,
- "y":0
- },
- {
- "label":"E",
- "x":3,
- "y":0
- },
- {
- "label":"R",
- "x":4,
- "y":0
- },
- {
- "label":"T",
- "x":5,
- "y":0
- },
- {
- "label":"Y",
- "x":8,
- "y":0
- },
- {
- "label":"U",
- "x":9,
- "y":0
- },
- {
- "label":"I",
- "x":10,
- "y":0
- },
- {
- "label":"O",
- "x":11,
- "y":0
- },
- {
- "label":"P",
- "x":12,
- "y":0
- },
- {
- "label":"Back Space",
- "x":13,
- "y":0
- },
- {
- "label":"Esc",
- "x":0,
- "y":1
- },
- {
- "label":"A",
- "x":1,
- "y":1
- },
- {
- "label":"S",
- "x":2,
- "y":1
- },
- {
- "label":"D",
- "x":3,
- "y":1
- },
- {
- "label":"F",
- "x":4,
- "y":1
- },
- {
- "label":"G",
- "x":5,
- "y":1
- },
- {
- "label":"H",
- "x":8,
- "y":1
- },
- {
- "label":"J",
- "x":9,
- "y":1
- },
- {
- "label":"K",
- "x":10,
- "y":1
- },
- {
- "label":"L",
- "x":11,
- "y":1
- },
- {
- "label":";",
- "x":12,
- "y":1
- },
- {
- "label":"'",
- "x":13,
- "y":1
- },
- {
- "label":"Shift",
- "x":0,
- "y":2
- },
- {
- "label":"Z",
- "x":1,
- "y":2
- },
- {
- "label":"X",
- "x":2,
- "y":2
- },
- {
- "label":"C",
- "x":3,
- "y":2
- },
- {
- "label":"V",
- "x":4,
- "y":2
- },
- {
- "label":"B",
- "x":5,
- "y":2
- },
- {
- "label":"N",
- "x":8,
- "y":2
- },
- {
- "label":"M",
- "x":9,
- "y":2
- },
- {
- "label":",",
- "x":10,
- "y":2
- },
- {
- "label":".",
- "x":11,
- "y":2
- },
- {
- "label":"/",
- "x":12,
- "y":2
- },
- {
- "label":"Enter",
- "x":13,
- "y":2
- },
- {
- "label":"Adjust",
- "x":1,
- "y":3
- },
- {
- "label":"Ctrl",
- "x":2,
- "y":3
- },
- {
- "label":"Alt",
- "x":3,
- "y":3
- },
- {
- "label":"GUI",
- "x":4,
- "y":3
- },
- {
- "label":"&dArr;",
- "x":5,
- "y":3
- },
- {
- "x":6,
- "y":3
- },
- {
- "x":7,
- "y":3
- },
- {
- "label":"&uArr;",
- "x":8,
- "y":3
- },
- {
- "label":"&larr;",
- "x":9,
- "y":3
- },
- {
- "label":"&darr;",
- "x":10,
- "y":3
- },
- {
- "label":"&uarr;",
- "x":11,
- "y":3
- },
- {
- "label":"&rarr;",
- "x":12,
- "y":3
- }
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c
index 3807d9b6f3..249a5659f5 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/keymap.c
@@ -73,7 +73,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c
index d2abe704c6..86eca6b9f6 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/keymap.c
@@ -96,7 +96,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_MOD, RGB_TOG, RGB_SAI,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c
index d22f9ecb2f..1f58511c89 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/keymap.c
@@ -75,7 +75,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG,_______,_______
//`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------|
)
};
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c
index d8549e0e8b..cff7873804 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c
+++ b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_7] = LAYOUT( /* Layer 7 */
- KC_ESC, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_ESC, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
KC_LCTRL, KC_TRNS, KC_HOME, KC_LALT, KC_ENTER, N_COPY, N_PASTE, KC_SPC, KC_TRNS, KC_RCTL, KC_TRNS, KC_TRNS
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c
index 8d0c6f901b..0c663e1b4d 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c
+++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked48/rev1/config.h b/keyboards/salicylic_acid3/naked48/rev1/config.h
index faeb719019..2cc4a46674 100644
--- a/keyboards/salicylic_acid3/naked48/rev1/config.h
+++ b/keyboards/salicylic_acid3/naked48/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE8BA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT naked48
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 12
diff --git a/keyboards/salicylic_acid3/naked48/rev1/info.json b/keyboards/salicylic_acid3/naked48/rev1/info.json
new file mode 100644
index 0000000000..fd4639c5cc
--- /dev/null
+++ b/keyboards/salicylic_acid3/naked48/rev1/info.json
@@ -0,0 +1,255 @@
+{
+ "keyboard_name": "naked48",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE8BA",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label":"Tab",
+ "x":0,
+ "y":0
+ },
+ {
+ "label":"Q",
+ "x":1,
+ "y":0
+ },
+ {
+ "label":"W",
+ "x":2,
+ "y":0
+ },
+ {
+ "label":"E",
+ "x":3,
+ "y":0
+ },
+ {
+ "label":"R",
+ "x":4,
+ "y":0
+ },
+ {
+ "label":"T",
+ "x":5,
+ "y":0
+ },
+ {
+ "label":"Y",
+ "x":8,
+ "y":0
+ },
+ {
+ "label":"U",
+ "x":9,
+ "y":0
+ },
+ {
+ "label":"I",
+ "x":10,
+ "y":0
+ },
+ {
+ "label":"O",
+ "x":11,
+ "y":0
+ },
+ {
+ "label":"P",
+ "x":12,
+ "y":0
+ },
+ {
+ "label":"Back Space",
+ "x":13,
+ "y":0
+ },
+ {
+ "label":"Esc",
+ "x":0,
+ "y":1
+ },
+ {
+ "label":"A",
+ "x":1,
+ "y":1
+ },
+ {
+ "label":"S",
+ "x":2,
+ "y":1
+ },
+ {
+ "label":"D",
+ "x":3,
+ "y":1
+ },
+ {
+ "label":"F",
+ "x":4,
+ "y":1
+ },
+ {
+ "label":"G",
+ "x":5,
+ "y":1
+ },
+ {
+ "label":"H",
+ "x":8,
+ "y":1
+ },
+ {
+ "label":"J",
+ "x":9,
+ "y":1
+ },
+ {
+ "label":"K",
+ "x":10,
+ "y":1
+ },
+ {
+ "label":"L",
+ "x":11,
+ "y":1
+ },
+ {
+ "label":";",
+ "x":12,
+ "y":1
+ },
+ {
+ "label":"'",
+ "x":13,
+ "y":1
+ },
+ {
+ "label":"Shift",
+ "x":0,
+ "y":2
+ },
+ {
+ "label":"Z",
+ "x":1,
+ "y":2
+ },
+ {
+ "label":"X",
+ "x":2,
+ "y":2
+ },
+ {
+ "label":"C",
+ "x":3,
+ "y":2
+ },
+ {
+ "label":"V",
+ "x":4,
+ "y":2
+ },
+ {
+ "label":"B",
+ "x":5,
+ "y":2
+ },
+ {
+ "label":"N",
+ "x":8,
+ "y":2
+ },
+ {
+ "label":"M",
+ "x":9,
+ "y":2
+ },
+ {
+ "label":",",
+ "x":10,
+ "y":2
+ },
+ {
+ "label":".",
+ "x":11,
+ "y":2
+ },
+ {
+ "label":"/",
+ "x":12,
+ "y":2
+ },
+ {
+ "label":"Enter",
+ "x":13,
+ "y":2
+ },
+ {
+ "label":"Adjust",
+ "x":1,
+ "y":3
+ },
+ {
+ "label":"Ctrl",
+ "x":2,
+ "y":3
+ },
+ {
+ "label":"Alt",
+ "x":3,
+ "y":3
+ },
+ {
+ "label":"GUI",
+ "x":4,
+ "y":3
+ },
+ {
+ "label":"&dArr;",
+ "x":5,
+ "y":3
+ },
+ {
+ "x":6,
+ "y":3
+ },
+ {
+ "x":7,
+ "y":3
+ },
+ {
+ "label":"&uArr;",
+ "x":8,
+ "y":3
+ },
+ {
+ "label":"&larr;",
+ "x":9,
+ "y":3
+ },
+ {
+ "label":"&darr;",
+ "x":10,
+ "y":3
+ },
+ {
+ "label":"&uarr;",
+ "x":11,
+ "y":3
+ },
+ {
+ "label":"&rarr;",
+ "x":12,
+ "y":3
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/naked60/info.json b/keyboards/salicylic_acid3/naked60/info.json
deleted file mode 100644
index 8ec020ae72..0000000000
--- a/keyboards/salicylic_acid3/naked60/info.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "keyboard_name": "Naked60",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"ESC", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":8, "y":0},
- {"label":"7", "x":9, "y":0},
- {"label":"8", "x":10, "y":0},
- {"label":"9", "x":11, "y":0},
- {"label":"0", "x":12, "y":0},
- {"label":"Back Space", "x":13, "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":8, "y":1},
- {"label":"U", "x":9, "y":1},
- {"label":"I", "x":10, "y":1},
- {"label":"O", "x":11, "y":1},
- {"label":"P", "x":12, "y":1},
- {"label":"\\", "x":13, "y":1},
- {"label":"Esc", "x":0, "y":2},
- {"label":"A", "x":1, "y":2},
- {"label":"S", "x":2, "y":2},
- {"label":"D", "x":3, "y":2},
- {"label":"F", "x":4, "y":2},
- {"label":"G", "x":5, "y":2},
- {"label":"H", "x":8, "y":2},
- {"label":"J", "x":9, "y":2},
- {"label":"K", "x":10, "y":2},
- {"label":"L", "x":11, "y":2},
- {"label":";", "x":12, "y":2},
- {"label":"'", "x":13, "y":2},
- {"label":"Shift", "x":0, "y":3},
- {"label":"Z", "x":1, "y":3},
- {"label":"X", "x":2, "y":3},
- {"label":"C", "x":3, "y":3},
- {"label":"V", "x":4, "y":3},
- {"label":"B", "x":5, "y":3},
- {"label":"N", "x":8, "y":3},
- {"label":"M", "x":9, "y":3},
- {"label":",", "x":10, "y":3},
- {"label":".", "x":11, "y":3},
- {"label":"/", "x":12, "y":3},
- {"label":"Enter", "x":13, "y":3},
- {"label":"Adjust", "x":1, "y":4},
- {"label":"Ctrl", "x":2, "y":4},
- {"label":"Alt", "x":3, "y":4},
- {"label":"GUI", "x":4, "y":4},
- {"label":"&dArr;", "x":5, "y":4},
- {"x":6, "y":4},
- {"x":7, "y":4},
- {"label":"&uArr;", "x":8, "y":4},
- {"label":"&larr;", "x":9, "y":4},
- {"label":"&darr;", "x":10, "y":4},
- {"label":"&uarr;", "x":11, "y":4},
- {"label":"&rarr;", "x":12, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c
index 7185ec78b7..83a6154fb1 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c
+++ b/keyboards/salicylic_acid3/naked60/keymaps/333fred/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[VIM] = LAYOUT( /* Base */
//,-----------------------------------------------------| |-----------------------------------------------------.
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
index 8a2dbf051f..2466833b2a 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c
@@ -23,8 +23,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -97,7 +97,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
index 4201d79a2e..1ab1e9a150 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c
@@ -34,8 +34,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -133,7 +133,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
index 23786da915..a1f3379364 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c
@@ -32,8 +32,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -103,7 +103,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/naked60/rev1/config.h b/keyboards/salicylic_acid3/naked60/rev1/config.h
index b754095011..3f4e663b2d 100644
--- a/keyboards/salicylic_acid3/naked60/rev1/config.h
+++ b/keyboards/salicylic_acid3/naked60/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB5C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT naked60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 12
diff --git a/keyboards/salicylic_acid3/naked60/rev1/info.json b/keyboards/salicylic_acid3/naked60/rev1/info.json
new file mode 100644
index 0000000000..30b1def9aa
--- /dev/null
+++ b/keyboards/salicylic_acid3/naked60/rev1/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "naked60",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB5C",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"ESC", "x":0, "y":0},
+ {"label":"1", "x":1, "y":0},
+ {"label":"2", "x":2, "y":0},
+ {"label":"3", "x":3, "y":0},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"6", "x":8, "y":0},
+ {"label":"7", "x":9, "y":0},
+ {"label":"8", "x":10, "y":0},
+ {"label":"9", "x":11, "y":0},
+ {"label":"0", "x":12, "y":0},
+ {"label":"Back Space", "x":13, "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":8, "y":1},
+ {"label":"U", "x":9, "y":1},
+ {"label":"I", "x":10, "y":1},
+ {"label":"O", "x":11, "y":1},
+ {"label":"P", "x":12, "y":1},
+ {"label":"\\", "x":13, "y":1},
+ {"label":"Esc", "x":0, "y":2},
+ {"label":"A", "x":1, "y":2},
+ {"label":"S", "x":2, "y":2},
+ {"label":"D", "x":3, "y":2},
+ {"label":"F", "x":4, "y":2},
+ {"label":"G", "x":5, "y":2},
+ {"label":"H", "x":8, "y":2},
+ {"label":"J", "x":9, "y":2},
+ {"label":"K", "x":10, "y":2},
+ {"label":"L", "x":11, "y":2},
+ {"label":";", "x":12, "y":2},
+ {"label":"'", "x":13, "y":2},
+ {"label":"Shift", "x":0, "y":3},
+ {"label":"Z", "x":1, "y":3},
+ {"label":"X", "x":2, "y":3},
+ {"label":"C", "x":3, "y":3},
+ {"label":"V", "x":4, "y":3},
+ {"label":"B", "x":5, "y":3},
+ {"label":"N", "x":8, "y":3},
+ {"label":"M", "x":9, "y":3},
+ {"label":",", "x":10, "y":3},
+ {"label":".", "x":11, "y":3},
+ {"label":"/", "x":12, "y":3},
+ {"label":"Enter", "x":13, "y":3},
+ {"label":"Adjust", "x":1, "y":4},
+ {"label":"Ctrl", "x":2, "y":4},
+ {"label":"Alt", "x":3, "y":4},
+ {"label":"GUI", "x":4, "y":4},
+ {"label":"&dArr;", "x":5, "y":4},
+ {"x":6, "y":4},
+ {"x":7, "y":4},
+ {"label":"&uArr;", "x":8, "y":4},
+ {"label":"&larr;", "x":9, "y":4},
+ {"label":"&darr;", "x":10, "y":4},
+ {"label":"&uarr;", "x":11, "y":4},
+ {"label":"&rarr;", "x":12, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/naked64/info.json b/keyboards/salicylic_acid3/naked64/info.json
deleted file mode 100644
index 887f43b087..0000000000
--- a/keyboards/salicylic_acid3/naked64/info.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "keyboard_name": "Naked64",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"pgup", "x":0.25, "y":0},
- {"label":"ESC", "x":1.75, "y":0},
- {"label":"1", "x":2.75, "y":0},
- {"label":"2", "x":4, "y":0},
- {"label":"3", "x":5, "y":0},
- {"label":"4", "x":6, "y":0},
- {"label":"5", "x":7, "y":0},
- {"label":"6", "x":9.25, "y":0},
- {"label":"7", "x":10.25, "y":0},
- {"label":"8", "x":11.25, "y":0},
- {"label":"9", "x":12.25, "y":0},
- {"label":"0", "x":13.5, "y":0},
- {"label":"-", "x":14.5, "y":0},
- {"label":"Back Space", "x":15.5, "y":0},
- {"label":"pgdn", "x":0, "y":1},
- {"label":"Tab", "x":1.25, "y":1, "w":1.5},
- {"label":"Q", "x":2.75, "y":1},
- {"label":"W", "x":4, "y":1},
- {"label":"E", "x":5, "y":1},
- {"label":"R", "x":6, "y":1},
- {"label":"T", "x":7, "y":1},
- {"label":"Y", "x":9.25, "y":1},
- {"label":"U", "x":10.25, "y":1},
- {"label":"I", "x":11.25, "y":1},
- {"label":"O", "x":12.25, "y":1},
- {"label":"P", "x":13.5, "y":1},
- {"label":"[", "x":14.5, "y":1},
- {"label":"]", "x":15.5, "y":1},
- {"label":"Control", "x":1, "y":2, "w":1.75},
- {"label":"A", "x":2.75, "y":2},
- {"label":"S", "x":4, "y":2},
- {"label":"D", "x":5, "y":2},
- {"label":"F", "x":6, "y":2},
- {"label":"G", "x":7, "y":2},
- {"label":"H", "x":9.25, "y":2},
- {"label":"J", "x":10.25, "y":2},
- {"label":"K", "x":11.25, "y":2},
- {"label":"L", "x":12.25, "y":2},
- {"label":";", "x":13.5, "y":2},
- {"label":"'", "x":14.5, "y":2},
- {"label":"Return", "x":15.5, "y":2},
- {"label":"Shift", "x":0.5, "y":3, "w":2.25},
- {"label":"Z", "x":2.75, "y":3},
- {"label":"X", "x":4, "y":3},
- {"label":"C", "x":5, "y":3},
- {"label":"V", "x":6, "y":3},
- {"label":"B", "x":7, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":",", "x":11.25, "y":3},
- {"label":".", "x":12.25, "y":3},
- {"label":"/", "x":13.5, "y":3},
- {"label":"&uarr;", "x":14.5, "y":3},
- {"label":"Shift", "x":15.5, "y":3},
- {"label":"Adjust", "x":1.25, "y":4, "w":1.75},
- {"label":"Alt", "x":3.75, "y":4.25},
- {"x":4.75, "y":4.25, "w":2.25},
- {"label":"&dArr;", "x":7, "y":4.25},
- {"label":"&uArr;", "x":9.25, "y":4.25},
- {"x":10.25, "y":4.25, "w":2},
- {"label":"GUI", "x":12.25, "y":4.25},
- {"label":"&larr;", "x":13.5, "y":4},
- {"label":"&darr;", "x":14.5, "y":4},
- {"label":"&rarr;", "x":15.5, "y":4}
- ]
- },
- "LAYOUT_with_setta21": {
- "layout": [
- {"label":"pgup", "x":0.25, "y":0},
- {"label":"ESC", "x":1.75, "y":0},
- {"label":"1", "x":2.75, "y":0},
- {"label":"2", "x":4, "y":0},
- {"label":"3", "x":5, "y":0},
- {"label":"4", "x":6, "y":0},
- {"label":"5", "x":7, "y":0},
- {"label":"6", "x":9.25, "y":0},
- {"label":"7", "x":10.25, "y":0},
- {"label":"8", "x":11.25, "y":0},
- {"label":"9", "x":12.25, "y":0},
- {"label":"0", "x":13.5, "y":0},
- {"label":"-", "x":14.5, "y":0},
- {"label":"Back Space", "x":15.5, "y":0},
-
- {"label":"Esc", "x": 17.5, "y":0},
- {"label":"F2", "x": 18.5, "y":0},
- {"label":"=", "x": 19.5, "y":0},
- {"label":"Delete", "x": 20.5, "y":0},
-
- {"label":"pgdn", "x":0, "y":1},
- {"label":"Tab", "x":1.25, "y":1, "w":1.5},
- {"label":"Q", "x":2.75, "y":1},
- {"label":"W", "x":4, "y":1},
- {"label":"E", "x":5, "y":1},
- {"label":"R", "x":6, "y":1},
- {"label":"T", "x":7, "y":1},
- {"label":"Y", "x":9.25, "y":1},
- {"label":"U", "x":10.25, "y":1},
- {"label":"I", "x":11.25, "y":1},
- {"label":"O", "x":12.25, "y":1},
- {"label":"P", "x":13.5, "y":1},
- {"label":"[", "x":14.5, "y":1},
- {"label":"]", "x":15.5, "y":1},
-
- {"label":"Num Lock", "x": 17.5, "y":1.25},
- {"label":"/", "x": 18.5, "y":1.25},
- {"label":"*", "x": 19.5, "y":1.25},
- {"label":"-", "x": 20.5, "y":1.25},
-
- {"label":"Control", "x":1, "y":2, "w":1.75},
- {"label":"A", "x":2.75, "y":2},
- {"label":"S", "x":4, "y":2},
- {"label":"D", "x":5, "y":2},
- {"label":"F", "x":6, "y":2},
- {"label":"G", "x":7, "y":2},
- {"label":"H", "x":9.25, "y":2},
- {"label":"J", "x":10.25, "y":2},
- {"label":"K", "x":11.25, "y":2},
- {"label":"L", "x":12.25, "y":2},
- {"label":";", "x":13.5, "y":2},
- {"label":"'", "x":14.5, "y":2},
- {"label":"Return", "x":15.5, "y":2},
-
- {"label":"7", "x": 17.5, "y":2.25},
- {"label":"8", "x": 18.5, "y":2.25},
- {"label":"9", "x": 19.5, "y":2.25},
-
- {"label":"Shift", "x":0.5, "y":3, "w":2.25},
- {"label":"Z", "x":2.75, "y":3},
- {"label":"X", "x":4, "y":3},
- {"label":"C", "x":5, "y":3},
- {"label":"V", "x":6, "y":3},
- {"label":"B", "x":7, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":",", "x":11.25, "y":3},
- {"label":".", "x":12.25, "y":3},
- {"label":"/", "x":13.5, "y":3},
- {"label":"&uarr;", "x":14.5, "y":3},
- {"label":"Shift", "x":15.5, "y":3},
-
- {"label":"4", "x": 17.5, "y":3.25},
- {"label":"5", "x": 18.5, "y":3.25},
- {"label":"6", "x": 19.5, "y":3.25},
- {"label":"+", "x": 20.5, "y":2.25, "h":2},
-
- {"label":"Adjust", "x":1.25, "y":4, "w":1.75},
- {"label":"Alt", "x":3.75, "y":4.25},
- {"x":4.75, "y":4.25, "w":2.25},
- {"label":"&dArr;", "x":7, "y":4.25},
- {"label":"&uArr;", "x":9.25, "y":4.25},
- {"x":10.25, "y":4.25, "w":2},
- {"label":"GUI", "x":12.25, "y":4.25},
- {"label":"&larr;", "x":13.5, "y":4},
- {"label":"&darr;", "x":14.5, "y":4},
- {"label":"&rarr;", "x":15.5, "y":4},
-
- {"label":"1", "x": 17.5, "y":4.25},
- {"label":"2", "x": 18.5, "y":4.25},
- {"label":"3", "x": 19.5, "y":4.25},
-
- {"label":"Lower / 0", "x": 17.5, "y":5.25, "w":2},
- {"label":"Raise / .", "x": 19.5, "y":5.25},
- {"label":"Enter", "x": 20.5, "y":4.25, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
index db46075c8f..abc4350201 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c
@@ -33,8 +33,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT( /* Base */
//,--------------------------------------------------------------| |--------------------------------------------------------------.
- _______, 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, \
+ _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
index c91716cdd4..8514ae5a22 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c
@@ -38,8 +38,8 @@ enum tapdances{
};
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
- [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
+ [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
+ [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
};
#define LOWER MO(_LOWER)
@@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_with_setta21( /* Base */
//,--------------------------------------------------------------| |------------------------------------------------------------------------. ,-----------------------------------.
- _______, 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, _______, _______, _______, _______,
+ _______, QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+------------+--------------+--------+--------| |--------+--------+--------+--------|
diff --git a/keyboards/salicylic_acid3/naked64/rev1/config.h b/keyboards/salicylic_acid3/naked64/rev1/config.h
index b4699a9ca2..0bc5656fea 100644
--- a/keyboards/salicylic_acid3/naked64/rev1/config.h
+++ b/keyboards/salicylic_acid3/naked64/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT naked64
-
/* key matrix size */
#define MATRIX_ROWS 16
#define MATRIX_COLS 8
diff --git a/keyboards/salicylic_acid3/naked64/rev1/info.json b/keyboards/salicylic_acid3/naked64/rev1/info.json
new file mode 100644
index 0000000000..c8fe578271
--- /dev/null
+++ b/keyboards/salicylic_acid3/naked64/rev1/info.json
@@ -0,0 +1,180 @@
+{
+ "keyboard_name": "naked64",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.3"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"pgup", "x":0.25, "y":0},
+ {"label":"ESC", "x":1.75, "y":0},
+ {"label":"1", "x":2.75, "y":0},
+ {"label":"2", "x":4, "y":0},
+ {"label":"3", "x":5, "y":0},
+ {"label":"4", "x":6, "y":0},
+ {"label":"5", "x":7, "y":0},
+ {"label":"6", "x":9.25, "y":0},
+ {"label":"7", "x":10.25, "y":0},
+ {"label":"8", "x":11.25, "y":0},
+ {"label":"9", "x":12.25, "y":0},
+ {"label":"0", "x":13.5, "y":0},
+ {"label":"-", "x":14.5, "y":0},
+ {"label":"Back Space", "x":15.5, "y":0},
+ {"label":"pgdn", "x":0, "y":1},
+ {"label":"Tab", "x":1.25, "y":1, "w":1.5},
+ {"label":"Q", "x":2.75, "y":1},
+ {"label":"W", "x":4, "y":1},
+ {"label":"E", "x":5, "y":1},
+ {"label":"R", "x":6, "y":1},
+ {"label":"T", "x":7, "y":1},
+ {"label":"Y", "x":9.25, "y":1},
+ {"label":"U", "x":10.25, "y":1},
+ {"label":"I", "x":11.25, "y":1},
+ {"label":"O", "x":12.25, "y":1},
+ {"label":"P", "x":13.5, "y":1},
+ {"label":"[", "x":14.5, "y":1},
+ {"label":"]", "x":15.5, "y":1},
+ {"label":"Control", "x":1, "y":2, "w":1.75},
+ {"label":"A", "x":2.75, "y":2},
+ {"label":"S", "x":4, "y":2},
+ {"label":"D", "x":5, "y":2},
+ {"label":"F", "x":6, "y":2},
+ {"label":"G", "x":7, "y":2},
+ {"label":"H", "x":9.25, "y":2},
+ {"label":"J", "x":10.25, "y":2},
+ {"label":"K", "x":11.25, "y":2},
+ {"label":"L", "x":12.25, "y":2},
+ {"label":";", "x":13.5, "y":2},
+ {"label":"'", "x":14.5, "y":2},
+ {"label":"Return", "x":15.5, "y":2},
+ {"label":"Shift", "x":0.5, "y":3, "w":2.25},
+ {"label":"Z", "x":2.75, "y":3},
+ {"label":"X", "x":4, "y":3},
+ {"label":"C", "x":5, "y":3},
+ {"label":"V", "x":6, "y":3},
+ {"label":"B", "x":7, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":",", "x":11.25, "y":3},
+ {"label":".", "x":12.25, "y":3},
+ {"label":"/", "x":13.5, "y":3},
+ {"label":"&uarr;", "x":14.5, "y":3},
+ {"label":"Shift", "x":15.5, "y":3},
+ {"label":"Adjust", "x":1.25, "y":4, "w":1.75},
+ {"label":"Alt", "x":3.75, "y":4.25},
+ {"x":4.75, "y":4.25, "w":2.25},
+ {"label":"&dArr;", "x":7, "y":4.25},
+ {"label":"&uArr;", "x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25, "w":2},
+ {"label":"GUI", "x":12.25, "y":4.25},
+ {"label":"&larr;", "x":13.5, "y":4},
+ {"label":"&darr;", "x":14.5, "y":4},
+ {"label":"&rarr;", "x":15.5, "y":4}
+ ]
+ },
+ "LAYOUT_with_setta21": {
+ "layout": [
+ {"label":"pgup", "x":0.25, "y":0},
+ {"label":"ESC", "x":1.75, "y":0},
+ {"label":"1", "x":2.75, "y":0},
+ {"label":"2", "x":4, "y":0},
+ {"label":"3", "x":5, "y":0},
+ {"label":"4", "x":6, "y":0},
+ {"label":"5", "x":7, "y":0},
+ {"label":"6", "x":9.25, "y":0},
+ {"label":"7", "x":10.25, "y":0},
+ {"label":"8", "x":11.25, "y":0},
+ {"label":"9", "x":12.25, "y":0},
+ {"label":"0", "x":13.5, "y":0},
+ {"label":"-", "x":14.5, "y":0},
+ {"label":"Back Space", "x":15.5, "y":0},
+
+ {"label":"Esc", "x": 17.5, "y":0},
+ {"label":"F2", "x": 18.5, "y":0},
+ {"label":"=", "x": 19.5, "y":0},
+ {"label":"Delete", "x": 20.5, "y":0},
+
+ {"label":"pgdn", "x":0, "y":1},
+ {"label":"Tab", "x":1.25, "y":1, "w":1.5},
+ {"label":"Q", "x":2.75, "y":1},
+ {"label":"W", "x":4, "y":1},
+ {"label":"E", "x":5, "y":1},
+ {"label":"R", "x":6, "y":1},
+ {"label":"T", "x":7, "y":1},
+ {"label":"Y", "x":9.25, "y":1},
+ {"label":"U", "x":10.25, "y":1},
+ {"label":"I", "x":11.25, "y":1},
+ {"label":"O", "x":12.25, "y":1},
+ {"label":"P", "x":13.5, "y":1},
+ {"label":"[", "x":14.5, "y":1},
+ {"label":"]", "x":15.5, "y":1},
+
+ {"label":"Num Lock", "x": 17.5, "y":1.25},
+ {"label":"/", "x": 18.5, "y":1.25},
+ {"label":"*", "x": 19.5, "y":1.25},
+ {"label":"-", "x": 20.5, "y":1.25},
+
+ {"label":"Control", "x":1, "y":2, "w":1.75},
+ {"label":"A", "x":2.75, "y":2},
+ {"label":"S", "x":4, "y":2},
+ {"label":"D", "x":5, "y":2},
+ {"label":"F", "x":6, "y":2},
+ {"label":"G", "x":7, "y":2},
+ {"label":"H", "x":9.25, "y":2},
+ {"label":"J", "x":10.25, "y":2},
+ {"label":"K", "x":11.25, "y":2},
+ {"label":"L", "x":12.25, "y":2},
+ {"label":";", "x":13.5, "y":2},
+ {"label":"'", "x":14.5, "y":2},
+ {"label":"Return", "x":15.5, "y":2},
+
+ {"label":"7", "x": 17.5, "y":2.25},
+ {"label":"8", "x": 18.5, "y":2.25},
+ {"label":"9", "x": 19.5, "y":2.25},
+
+ {"label":"Shift", "x":0.5, "y":3, "w":2.25},
+ {"label":"Z", "x":2.75, "y":3},
+ {"label":"X", "x":4, "y":3},
+ {"label":"C", "x":5, "y":3},
+ {"label":"V", "x":6, "y":3},
+ {"label":"B", "x":7, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":",", "x":11.25, "y":3},
+ {"label":".", "x":12.25, "y":3},
+ {"label":"/", "x":13.5, "y":3},
+ {"label":"&uarr;", "x":14.5, "y":3},
+ {"label":"Shift", "x":15.5, "y":3},
+
+ {"label":"4", "x": 17.5, "y":3.25},
+ {"label":"5", "x": 18.5, "y":3.25},
+ {"label":"6", "x": 19.5, "y":3.25},
+ {"label":"+", "x": 20.5, "y":2.25, "h":2},
+
+ {"label":"Adjust", "x":1.25, "y":4, "w":1.75},
+ {"label":"Alt", "x":3.75, "y":4.25},
+ {"x":4.75, "y":4.25, "w":2.25},
+ {"label":"&dArr;", "x":7, "y":4.25},
+ {"label":"&uArr;", "x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25, "w":2},
+ {"label":"GUI", "x":12.25, "y":4.25},
+ {"label":"&larr;", "x":13.5, "y":4},
+ {"label":"&darr;", "x":14.5, "y":4},
+ {"label":"&rarr;", "x":15.5, "y":4},
+
+ {"label":"1", "x": 17.5, "y":4.25},
+ {"label":"2", "x": 18.5, "y":4.25},
+ {"label":"3", "x": 19.5, "y":4.25},
+
+ {"label":"Lower / 0", "x": 17.5, "y":5.25, "w":2},
+ {"label":"Raise / .", "x": 19.5, "y":5.25},
+ {"label":"Enter", "x": 20.5, "y":4.25, "h":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/salicylic_acid3/nknl7en/config.h b/keyboards/salicylic_acid3/nknl7en/config.h
index 997971bc96..5258cdccdb 100644
--- a/keyboards/salicylic_acid3/nknl7en/config.h
+++ b/keyboards/salicylic_acid3/nknl7en/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA56
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT nknl7en
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/salicylic_acid3/nknl7en/info.json b/keyboards/salicylic_acid3/nknl7en/info.json
index c80ac22769..6c94b5deb6 100644
--- a/keyboards/salicylic_acid3/nknl7en/info.json
+++ b/keyboards/salicylic_acid3/nknl7en/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nknl7en",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA56",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c
index 5944c00fc5..c1d042a5f2 100644
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/keymap.c
@@ -90,7 +90,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, _______, RESET, _______, _______, _______, _______, _______, _______, _______
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
//|-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/nknl7jp/config.h b/keyboards/salicylic_acid3/nknl7jp/config.h
index 7fb3c0e9c9..317f546c85 100644
--- a/keyboards/salicylic_acid3/nknl7jp/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA55
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT nknl7jp
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
diff --git a/keyboards/salicylic_acid3/nknl7jp/info.json b/keyboards/salicylic_acid3/nknl7jp/info.json
index c074d9019f..1750c19dba 100644
--- a/keyboards/salicylic_acid3/nknl7jp/info.json
+++ b/keyboards/salicylic_acid3/nknl7jp/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "nknl7jp",
+ "manufacturer": "Salicylic_Acid",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA55",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c
index e6004ba111..9252d2e58e 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c
+++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/keymap.c
@@ -88,7 +88,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, RESET, RESET, _______, _______, _______, _______, _______, _______, _______
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
//|-----------------------------------------------------| |--------------------------------------------------------------------------------'
)
};
diff --git a/keyboards/salicylic_acid3/setta21/info.json b/keyboards/salicylic_acid3/setta21/info.json
deleted file mode 100644
index 46c06613a8..0000000000
--- a/keyboards/salicylic_acid3/setta21/info.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "keyboard_name": "setta21",
- "url": "https://salicylic-acid3.hatenablog.com/",
- "maintainer": "Salicylic_acid3",
- "layouts": {
- "LAYOUT_numpad_6x4": {
- "layout": [
- {"label":"ESC", "x":0, "y":0},
- {"label":"F2", "x":1, "y":0},
- {"label":"\uff1d", "x":2, "y":0},
- {"label":"Del", "x":3, "y":0},
-
- {"label":"Num Lock", "x":0, "y":1.25},
- {"label":"/", "x":1, "y":1.25},
- {"label":"*", "x":2, "y":1.25},
- {"label":"-", "x":3, "y":1.25},
-
- {"label":"7", "x":0, "y":2.25},
- {"label":"8", "x":1, "y":2.25},
- {"label":"9", "x":2, "y":2.25},
-
- {"label":"4", "x":0, "y":3.25},
- {"label":"5", "x":1, "y":3.25},
- {"label":"6", "x":2, "y":3.25},
- {"label":"+", "x":3, "y":2.25, "h":2},
-
- {"label":"1", "x":0, "y":4.25},
- {"label":"2", "x":1, "y":4.25},
- {"label":"3", "x":2, "y":4.25},
-
- {"label":"0", "x":0, "y":5.25, "w":2},
- {"label":".", "x":2, "y":5.25},
- {"label":"Enter", "x":3, "y":4.25, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/salicylic_acid3/setta21/rev1/config.h b/keyboards/salicylic_acid3/setta21/rev1/config.h
index 742a8d73d0..697e7a7d49 100644
--- a/keyboards/salicylic_acid3/setta21/rev1/config.h
+++ b/keyboards/salicylic_acid3/setta21/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0011
-#define MANUFACTURER Salicylic_Acid
-#define PRODUCT setta21
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 6
diff --git a/keyboards/salicylic_acid3/setta21/rev1/info.json b/keyboards/salicylic_acid3/setta21/rev1/info.json
new file mode 100644
index 0000000000..aa101e7a13
--- /dev/null
+++ b/keyboards/salicylic_acid3/setta21/rev1/info.json
@@ -0,0 +1,43 @@
+{
+ "keyboard_name": "setta21",
+ "manufacturer": "Salicylic_Acid",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.1.1"
+ },
+ "layouts": {
+ "LAYOUT_numpad_6x4": {
+ "layout": [
+ {"label":"ESC", "x":0, "y":0},
+ {"label":"F2", "x":1, "y":0},
+ {"label":"\uff1d", "x":2, "y":0},
+ {"label":"Del", "x":3, "y":0},
+
+ {"label":"Num Lock", "x":0, "y":1.25},
+ {"label":"/", "x":1, "y":1.25},
+ {"label":"*", "x":2, "y":1.25},
+ {"label":"-", "x":3, "y":1.25},
+
+ {"label":"7", "x":0, "y":2.25},
+ {"label":"8", "x":1, "y":2.25},
+ {"label":"9", "x":2, "y":2.25},
+
+ {"label":"4", "x":0, "y":3.25},
+ {"label":"5", "x":1, "y":3.25},
+ {"label":"6", "x":2, "y":3.25},
+ {"label":"+", "x":3, "y":2.25, "h":2},
+
+ {"label":"1", "x":0, "y":4.25},
+ {"label":"2", "x":1, "y":4.25},
+ {"label":"3", "x":2, "y":4.25},
+
+ {"label":"0", "x":0, "y":5.25, "w":2},
+ {"label":".", "x":2, "y":5.25},
+ {"label":"Enter", "x":3, "y":4.25, "h":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/sam/s80/config.h b/keyboards/sam/s80/config.h
index 1df34a48dd..55dff94e3f 100644
--- a/keyboards/sam/s80/config.h
+++ b/keyboards/sam/s80/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534D
-#define PRODUCT_ID 0x3830
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sam
-#define PRODUCT s80
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 9
diff --git a/keyboards/sam/s80/info.json b/keyboards/sam/s80/info.json
index af109e1787..6dd583ddd6 100644
--- a/keyboards/sam/s80/info.json
+++ b/keyboards/sam/s80/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "s80 wkl",
+ "keyboard_name": "s8",
+ "manufacturer": "Sam",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x534D",
+ "pid": "0x3830",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sam/sg81m/config.h b/keyboards/sam/sg81m/config.h
index a0dca89211..da483a7cf5 100644
--- a/keyboards/sam/sg81m/config.h
+++ b/keyboards/sam/sg81m/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534D //SM
-#define PRODUCT_ID 0x3831 //81
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sam
-#define PRODUCT SG81M
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
diff --git a/keyboards/sam/sg81m/info.json b/keyboards/sam/sg81m/info.json
index 439d8562e9..59561a84f3 100644
--- a/keyboards/sam/sg81m/info.json
+++ b/keyboards/sam/sg81m/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sam sg81m",
+ "keyboard_name": "SG81M",
+ "manufacturer": "Sam",
"url": "",
"maintainer": "CMMS-Freather",
+ "usb": {
+ "vid": "0x534D",
+ "pid": "0x3831",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_7u_space": {
"layout": [
diff --git a/keyboards/sanctified/dystopia/config.h b/keyboards/sanctified/dystopia/config.h
index 3cb61cfde6..cf9d91d551 100644
--- a/keyboards/sanctified/dystopia/config.h
+++ b/keyboards/sanctified/dystopia/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5357 // "SW"
-#define PRODUCT_ID 0x0001 // First public keyboard
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER Sanctified.Works
-#define PRODUCT Dystopia
-
/* Key Matrix Size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -34,5 +27,3 @@
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, D4, D6, D7, B4 }
#define DIODE_DIRECTION COL2ROW
-
-#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/sanctified/dystopia/info.json b/keyboards/sanctified/dystopia/info.json
index f282ba1803..9b363e32d3 100644
--- a/keyboards/sanctified/dystopia/info.json
+++ b/keyboards/sanctified/dystopia/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dystopia",
+ "manufacturer": "Sanctified.Works",
"url": "",
"maintainer": "Sanctified",
+ "usb": {
+ "vid": "0x5357",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_bs": {
"layout": [
diff --git a/keyboards/sandwich/keeb68/config.h b/keyboards/sandwich/keeb68/config.h
index 9395d8ef1a..2c506e8bc2 100644
--- a/keyboards/sandwich/keeb68/config.h
+++ b/keyboards/sandwich/keeb68/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sandwich
-#define PRODUCT Keeb68 (Patron Saint Edition)
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { B6, C6, F7, E6, B7, D0, D1, D2, D3, D4, D6, D7, B4, B5 }
-#define UNUSED_PINS { D5, B0 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sandwich/keeb68/info.json b/keyboards/sandwich/keeb68/info.json
index c6b5cb4f53..b5193a9486 100644
--- a/keyboards/sandwich/keeb68/info.json
+++ b/keyboards/sandwich/keeb68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Keeb68 (PSE)",
+ "keyboard_name": "Keeb68 (Patron Saint Edition)",
+ "manufacturer": "sandwich",
"url": "",
"maintainer": "SandwichRising",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c b/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c
index eb5452a7c4..0a8fa898c3 100644
--- a/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c
+++ b/keyboards/sandwich/keeb68/keymaps/grv_esc/keymap.c
@@ -35,6 +35,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
_______, BL_TOGG, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END,
- _______, RESET, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______
+ _______, QK_BOOT, _______, _______, _______, MO(_FN), _______, _______, KC_VOLD, _______
)
};
diff --git a/keyboards/sandwich/keeb68/readme.md b/keyboards/sandwich/keeb68/readme.md
index 783d8f00b7..0c877fdc24 100644
--- a/keyboards/sandwich/keeb68/readme.md
+++ b/keyboards/sandwich/keeb68/readme.md
@@ -23,7 +23,7 @@ Some BIOSs may not detect keypresses properly while NRKO is enabled according to
Enter the bootloader in 2 ways (all keys assume default layout):
-* **Keycode in layout**: Hold Fn key and press the Windows(GUI) key (mapped to `RESET`)
+* **Keycode in layout**: Hold Fn key and press the Windows(GUI) key (mapped to `QK_BOOT`)
* **Physical reset button**: Briefly press the button on the back of the PCB (labeled sw1)
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/satt/comet46/config.h b/keyboards/satt/comet46/config.h
index d75294dc13..f14a389382 100644
--- a/keyboards/satt/comet46/config.h
+++ b/keyboards/satt/comet46/config.h
@@ -19,14 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SatT
-#define PRODUCT Comet46
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
diff --git a/keyboards/satt/comet46/i2c.c b/keyboards/satt/comet46/i2c.c
deleted file mode 100644
index 4bee5c6398..0000000000
--- a/keyboards/satt/comet46/i2c.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <util/twi.h>
-#include <avr/io.h>
-#include <stdlib.h>
-#include <avr/interrupt.h>
-#include <util/twi.h>
-#include <stdbool.h>
-#include "i2c.h"
-
-#ifdef USE_I2C
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWINT)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-
- // easier way, but will wait slightly longer
- // _delay_us(100);
-}
-
-// Setup twi to run at 100kHz or 400kHz (see ./i2c.h SCL_CLOCK)
-void i2c_master_init(void) {
- // no prescaler
- TWSR = 0;
- // Set TWI clock frequency to SCL_CLOCK. Need TWBR>10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
-
- i2c_delay();
-
- // check that we started successfully
- if ( (TW_STATUS != TW_START) && (TW_STATUS != TW_REP_START))
- return 1;
-
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- if ( (TW_STATUS != TW_MT_SLA_ACK) && (TW_STATUS != TW_MR_SLA_ACK) )
- return 1; // slave did not acknowledge
- else
- return 0; // success
-}
-
-
-// Finish the i2c transaction.
-void i2c_master_stop(void) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWSTO)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-}
-
-// Write one byte to the i2c slave.
-// returns 0 => slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- // check if the slave acknowledged us
- return (TW_STATUS == TW_MT_DATA_ACK) ? 0 : 1;
-}
-
-// Read one byte from the i2c slave. If ack=1 the slave is acknowledged,
-// if ack=0 the acknowledge bit is not set.
-// returns: byte read from i2c device
-uint8_t i2c_master_read(int ack) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (ack<<TWEA);
-
- i2c_delay();
- return TWDR;
-}
-
-void i2c_reset_state(void) {
- TWCR = 0;
-}
-
-void i2c_slave_init(uint8_t address) {
- TWAR = address << 0; // slave i2c address
- // TWEN - twi enable
- // TWEA - enable address acknowledgement
- // TWINT - twi interrupt flag
- // TWIE - enable the twi interrupt
- TWCR = (1<<TWIE) | (1<<TWEA) | (1<<TWINT) | (1<<TWEN);
-}
-
-ISR(TWI_vect);
-
-ISR(TWI_vect) {
- uint8_t ack = 1;
- switch(TW_STATUS) {
- case TW_SR_SLA_ACK:
- // this device has been addressed as a slave receiver
- slave_has_register_set = false;
- break;
-
- case TW_SR_DATA_ACK:
- // this device has received data as a slave receiver
- // The first byte that we receive in this transaction sets the location
- // of the read/write location of the slaves memory that it exposes over
- // i2c. After that, bytes will be written at slave_buffer_pos, incrementing
- // slave_buffer_pos after each write.
- if(!slave_has_register_set) {
- slave_buffer_pos = TWDR;
- // don't acknowledge the master if this memory loctaion is out of bounds
- if ( slave_buffer_pos >= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
-}
-#endif
diff --git a/keyboards/satt/comet46/i2c.h b/keyboards/satt/comet46/i2c.h
deleted file mode 100644
index 710662c7ab..0000000000
--- a/keyboards/satt/comet46/i2c.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency 400kHz
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
-
-
-static inline unsigned char i2c_start_read(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_READ);
-}
-
-static inline unsigned char i2c_start_write(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_WRITE);
-}
-
-// from SSD1306 scrips
-extern unsigned char i2c_rep_start(unsigned char addr);
-extern void i2c_start_wait(unsigned char addr);
-extern unsigned char i2c_readAck(void);
-extern unsigned char i2c_readNak(void);
-extern unsigned char i2c_read(unsigned char ack);
-
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
diff --git a/keyboards/satt/comet46/info.json b/keyboards/satt/comet46/info.json
index f49c878e08..be71dedb39 100644
--- a/keyboards/satt/comet46/info.json
+++ b/keyboards/satt/comet46/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Comet46",
+ "manufacturer": "SatT",
"url": "",
"maintainer": "SatT",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
index 6c88b70bfe..1e96bd7fbc 100644
--- a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c
@@ -173,7 +173,7 @@ void matrix_init_user(void) {
}
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
uint8_t default_layer = biton32(eeconfig_read_default_layer());
switch (layer) {
case _LOWER:
diff --git a/keyboards/satt/comet46/keymaps/default/config.h b/keyboards/satt/comet46/keymaps/default/config.h
deleted file mode 100644
index ee02a94b7e..0000000000
--- a/keyboards/satt/comet46/keymaps/default/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// place overrides here
-
-
-/* Use I2C or Serial */
-
-#define USE_I2C
-#define SSD1306OLED
diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c
index cf2c911d4c..3e6f9045ff 100644
--- a/keyboards/satt/comet46/keymaps/default/keymap.c
+++ b/keyboards/satt/comet46/keymaps/default/keymap.c
@@ -2,9 +2,6 @@
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
#include QMK_KEYBOARD_H
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -148,8 +145,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// You need to add source files to SRC in rules.mk when using OLED display functions
void set_keylog(uint16_t keycode);
@@ -157,27 +153,12 @@ const char *read_keylog(void);
const char *read_modifier_state(void);
const char *read_host_led_state(void);
-void matrix_init_user(void) {
- iota_gfx_init(false); // turns on the display
-}
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void render_status(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
// Layer state
char layer_str[22];
- matrix_write(matrix, "Layer: ");
- uint8_t layer = biton32(layer_state);
- uint8_t default_layer = biton32(eeconfig_read_default_layer());
+ oled_write_P(PSTR("Layer: "), false);
+ uint8_t layer = get_highest_layer(layer_state);
+ uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer());
switch (layer) {
case _QWERTY:
switch (default_layer) {
@@ -207,27 +188,21 @@ void render_status(struct CharacterMatrix *matrix) {
default:
snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer);
}
- matrix_write_ln(matrix, layer_str);
+ oled_write_ln(layer_str, false);
// Last entered keycode
- matrix_write_ln(matrix, read_keylog());
+ oled_write_ln(read_keylog(), false);
// Modifier state
- matrix_write_ln(matrix, read_modifier_state());
+ oled_write_ln(read_modifier_state(), false);
// Host Keyboard LED Status
- matrix_write(matrix, read_host_led_state());
-}
+ oled_write(read_host_led_state(), false);
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- render_status(&matrix);
- matrix_update(&display, &matrix);
+ return false;
}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- #ifdef SSD1306OLED
+ #ifdef OLED_ENABLE
if (record->event.pressed) {
set_keylog(keycode);
}
diff --git a/keyboards/satt/comet46/keymaps/default/rules.mk b/keyboards/satt/comet46/keymaps/default/rules.mk
index 3fa01f96af..3ceffe90ec 100644
--- a/keyboards/satt/comet46/keymaps/default/rules.mk
+++ b/keyboards/satt/comet46/keymaps/default/rules.mk
@@ -1,5 +1,6 @@
# If you want to change display settings of the OLED, you need to change the following lines
-SRC += ./lib/glcdfont.c \
- ./lib/keylogger.c \
+SRC += ./lib/keylogger.c \
./lib/modifier_state_reader.c \
./lib/host_led_state_reader.c
+
+OLED_ENABLE = yes
diff --git a/keyboards/satt/comet46/keymaps/satt/config.h b/keyboards/satt/comet46/keymaps/satt/config.h
deleted file mode 100644
index a3ca2ebfef..0000000000
--- a/keyboards/satt/comet46/keymaps/satt/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-/* Use I2C or Serial */
-
-#define USE_I2C
-#define SSD1306OLED
-
-#endif
diff --git a/keyboards/satt/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c
index cdd094f747..0f5c6876e7 100644
--- a/keyboards/satt/comet46/keymaps/satt/keymap.c
+++ b/keyboards/satt/comet46/keymaps/satt/keymap.c
@@ -5,9 +5,6 @@
#include "keymap_jis2us.h"
#include "action_pseudo_lut.h"
#include "keymap_japanese.h"
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
// 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.
@@ -73,7 +70,7 @@ enum custom_keycodes {
#define KC_IMON ALT_T(KC_F13)
#define KC_IMOF GUI_T(KC_F14)
#define KC_CAD LCA(KC_DEL)
-#define KC_RST RESET
+#define KC_RST QK_BOOT
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -165,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
layer_state_t layer_state_set_user(layer_state_t state) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _PSEUDO_US_LOWER:
case _PSEUDO_US_RAISE:
return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST);
@@ -176,8 +173,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
// You need to add source files to SRC in rules.mk when using OLED display functions
void set_keylog(uint16_t keycode);
@@ -185,86 +181,59 @@ const char *read_keylog(void);
const char *read_modifier_state(void);
const char *read_host_led_state(void);
-void matrix_init_user(void) {
- iota_gfx_init(false); // turns on the display
-}
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void render_status(struct CharacterMatrix *matrix) {
+bool oled_task_user(void) {
// Layer state
char layer_str[22];
- matrix_write(matrix, "Layer: ");
- uint8_t layer = biton32(layer_state);
- uint8_t default_layer = biton32(eeconfig_read_default_layer());
- switch (layer) {
- case _QWERTY:
- switch (default_layer) {
- case _QWERTY:
- snprintf(layer_str, sizeof(layer_str), "Qwerty");
- break;
- case _PSEUDO_US:
- snprintf(layer_str, sizeof(layer_str), "Psuedo_US");
- break;
- default:
- snprintf(layer_str, sizeof(layer_str), "Undef-%d", default_layer);
- break;
- }
- break;
- case _RAISE:
- snprintf(layer_str, sizeof(layer_str), "Raise");
- break;
- case _LOWER:
- snprintf(layer_str, sizeof(layer_str), "Lower");
- break;
+ oled_write_P(PSTR("Layer: "), false);
+ uint8_t layer = get_highest_layer(layer_state);
+ uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer());
+ switch (layer) {
+ case _QWERTY:
+ switch (default_layer) {
+ case _QWERTY:
+ snprintf(layer_str, sizeof(layer_str), "Qwerty");
+ break;
+ case _PSEUDO_US:
+ snprintf(layer_str, sizeof(layer_str), "Psuedo_US");
+ break;
+ default:
+ snprintf(layer_str, sizeof(layer_str), "Undef-%d", default_layer);
+ break;
+ }
+ break;
+ case _RAISE:
+ snprintf(layer_str, sizeof(layer_str), "Raise");
+ break;
+ case _LOWER:
+ snprintf(layer_str, sizeof(layer_str), "Lower");
+ break;
case _PSEUDO_US_RAISE:
snprintf(layer_str, sizeof(layer_str), "P_US_Raise");
break;
case _PSEUDO_US_LOWER:
snprintf(layer_str, sizeof(layer_str), "P_US_Lower");
break;
- case _ADJUST:
- snprintf(layer_str, sizeof(layer_str), "Adjust");
- break;
- default:
- snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer);
- }
- matrix_write_ln(matrix, layer_str);
+ case _ADJUST:
+ snprintf(layer_str, sizeof(layer_str), "Adjust");
+ break;
+ default:
+ snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer);
+ }
+ oled_write_ln(layer_str, false);
// Last entered keycode
- matrix_write_ln(matrix, read_keylog());
+ oled_write_ln(read_keylog(), false);
// Modifier state
- matrix_write_ln(matrix, read_modifier_state());
+ oled_write_ln(read_modifier_state(), false);
// Host Keyboard LED Status
- matrix_write(matrix, read_host_led_state());
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
-
-#if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
-#endif
+ oled_write(read_host_led_state(), false);
- matrix_clear(&matrix);
- render_status(&matrix);
- matrix_update(&display, &matrix);
+ return false;
}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- #ifdef SSD1306OLED
+ #ifdef OLED_ENABLE
if (record->event.pressed) {
set_keylog(keycode);
}
diff --git a/keyboards/satt/comet46/keymaps/satt/rules.mk b/keyboards/satt/comet46/keymaps/satt/rules.mk
index 91609dd4fd..9c07b12fcb 100644
--- a/keyboards/satt/comet46/keymaps/satt/rules.mk
+++ b/keyboards/satt/comet46/keymaps/satt/rules.mk
@@ -1,8 +1,8 @@
SRC += action_pseudo_lut.c
# If you want to change display settings of the OLED, you need to change the following lines
-SRC += ./lib/glcdfont.c \
- ./lib/keylogger.c \
+SRC += ./lib/keylogger.c \
./lib/modifier_state_reader.c \
./lib/host_led_state_reader.c
+OLED_ENABLE = yes
diff --git a/keyboards/satt/comet46/lib/glcdfont.c b/keyboards/satt/comet46/lib/glcdfont.c
deleted file mode 100644
index 361d0c3dc6..0000000000
--- a/keyboards/satt/comet46/lib/glcdfont.c
+++ /dev/null
@@ -1,137 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-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
-};
diff --git a/keyboards/satt/comet46/rules.mk b/keyboards/satt/comet46/rules.mk
index e177fc6441..83f7d905e9 100644
--- a/keyboards/satt/comet46/rules.mk
+++ b/keyboards/satt/comet46/rules.mk
@@ -17,9 +17,8 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
+OLED_DRIVER = SSD1306
# project specific files
-SRC += matrix.c \
- i2c.c \
- ssd1306.c
+SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
diff --git a/keyboards/satt/comet46/ssd1306.c b/keyboards/satt/comet46/ssd1306.c
deleted file mode 100644
index 4bd2d80bc4..0000000000
--- a/keyboards/satt/comet46/ssd1306.c
+++ /dev/null
@@ -1,343 +0,0 @@
-#ifdef SSD1306OLED
-
-#include "ssd1306.h"
-#include "i2c.h"
-#include <string.h>
-#include "print.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#endif
-#include "sendchar.h"
-#include "timer.h"
-
-struct CharacterMatrix display;
-
-extern const unsigned char font[] PROGMEM;
-
-// Set this to 1 to help diagnose early startup problems
-// when testing power-on with ble. Turn it off otherwise,
-// as the latency of printing most of the debug info messes
-// with the matrix scan, causing keys to drop.
-#define DEBUG_TO_SCREEN 0
-
-//static uint16_t last_battery_update;
-//static uint32_t vbat;
-//#define BatteryUpdateInterval 10000 /* milliseconds */
-
-// 'last_flush' is declared as uint16_t,
-// so this must be less than 65535
-#define ScreenOffInterval 60000 /* milliseconds */
-#if DEBUG_TO_SCREEN
-static uint8_t displaying;
-#endif
-static uint16_t last_flush;
-
-static bool force_dirty = true;
-
-// Write command sequence.
-// Returns true on success.
-static inline bool _send_cmd1(uint8_t cmd) {
- bool res = false;
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- xprintf("failed to start write to %d\n", SSD1306_ADDRESS);
- goto done;
- }
-
- if (i2c_master_write(0x0 /* command byte follows */)) {
- print("failed to write control byte\n");
-
- goto done;
- }
-
- if (i2c_master_write(cmd)) {
- xprintf("failed to write command %d\n", cmd);
- goto done;
- }
- res = true;
-done:
- i2c_master_stop();
- return res;
-}
-
-// Write 2-byte command sequence.
-// Returns true on success
-static inline bool _send_cmd2(uint8_t cmd, uint8_t opr) {
- if (!_send_cmd1(cmd)) {
- return false;
- }
- return _send_cmd1(opr);
-}
-
-// Write 3-byte command sequence.
-// Returns true on success
-static inline bool _send_cmd3(uint8_t cmd, uint8_t opr1, uint8_t opr2) {
- if (!_send_cmd1(cmd)) {
- return false;
- }
- if (!_send_cmd1(opr1)) {
- return false;
- }
- return _send_cmd1(opr2);
-}
-
-#define send_cmd1(c) if (!_send_cmd1(c)) {goto done;}
-#define send_cmd2(c,o) if (!_send_cmd2(c,o)) {goto done;}
-#define send_cmd3(c,o1,o2) if (!_send_cmd3(c,o1,o2)) {goto done;}
-
-static void clear_display(void) {
- matrix_clear(&display);
-
- // Clear all of the display bits (there can be random noise
- // in the RAM on startup)
- send_cmd3(PageAddr, 0, (DisplayHeight / 8) - 1);
- send_cmd3(ColumnAddr, 0, DisplayWidth - 1);
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- goto done;
- }
- if (i2c_master_write(0x40)) {
- // Data mode
- goto done;
- }
- for (uint8_t row = 0; row < MatrixRows; ++row) {
- for (uint8_t col = 0; col < DisplayWidth; ++col) {
- i2c_master_write(0);
- }
- }
-
- display.dirty = false;
-
-done:
- i2c_master_stop();
-}
-
-#if DEBUG_TO_SCREEN
-#undef sendchar
-static int8_t capture_sendchar(uint8_t c) {
- sendchar(c);
- iota_gfx_write_char(c);
-
- if (!displaying) {
- iota_gfx_flush();
- }
- return 0;
-}
-#endif
-
-bool iota_gfx_init(bool rotate) {
- bool success = false;
-
- i2c_master_init();
- send_cmd1(DisplayOff);
- send_cmd2(SetDisplayClockDiv, 0x80);
- send_cmd2(SetMultiPlex, DisplayHeight - 1);
-
- send_cmd2(SetDisplayOffset, 0);
-
-
- send_cmd1(SetStartLine | 0x0);
- send_cmd2(SetChargePump, 0x14 /* Enable */);
- send_cmd2(SetMemoryMode, 0 /* horizontal addressing */);
-
- if(rotate){
- // the following Flip the display orientation 180 degrees
- send_cmd1(SegRemap);
- send_cmd1(ComScanInc);
- }else{
- // Flips the display orientation 0 degrees
- send_cmd1(SegRemap | 0x1);
- send_cmd1(ComScanDec);
- }
-
- send_cmd2(SetComPins, 0x2);
- send_cmd2(SetContrast, 0x8f);
- send_cmd2(SetPreCharge, 0xf1);
- send_cmd2(SetVComDetect, 0x40);
- send_cmd1(DisplayAllOnResume);
- send_cmd1(NormalDisplay);
- send_cmd1(DeActivateScroll);
- send_cmd1(DisplayOn);
-
- send_cmd2(SetContrast, 0); // Dim
-
- clear_display();
-
- success = true;
-
- iota_gfx_flush();
-
-#if DEBUG_TO_SCREEN
- print_set_sendchar(capture_sendchar);
-#endif
-
-done:
- return success;
-}
-
-bool iota_gfx_off(void) {
- bool success = false;
-
- send_cmd1(DisplayOff);
- success = true;
-
-done:
- return success;
-}
-
-bool iota_gfx_on(void) {
- bool success = false;
-
- send_cmd1(DisplayOn);
- success = true;
-
-done:
- return success;
-}
-
-void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c) {
- *matrix->cursor = c;
- ++matrix->cursor;
-
- if (matrix->cursor - &matrix->display[0][0] == sizeof(matrix->display)) {
- // We went off the end; scroll the display upwards by one line
- memmove(&matrix->display[0], &matrix->display[1],
- MatrixCols * (MatrixRows - 1));
- matrix->cursor = &matrix->display[MatrixRows - 1][0];
- memset(matrix->cursor, ' ', MatrixCols);
- }
-}
-
-void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c) {
- matrix->dirty = true;
-
- if (c == '\n') {
- // Clear to end of line from the cursor and then move to the
- // start of the next line
- uint8_t cursor_col = (matrix->cursor - &matrix->display[0][0]) % MatrixCols;
-
- while (cursor_col++ < MatrixCols) {
- matrix_write_char_inner(matrix, ' ');
- }
- return;
- }
-
- matrix_write_char_inner(matrix, c);
-}
-
-void iota_gfx_write_char(uint8_t c) {
- matrix_write_char(&display, c);
-}
-
-void matrix_write(struct CharacterMatrix *matrix, const char *data) {
- const char *end = data + strlen(data);
- while (data < end) {
- matrix_write_char(matrix, *data);
- ++data;
- }
-}
-
-void matrix_write_ln(struct CharacterMatrix *matrix, const char *data) {
- char data_ln[strlen(data)+2];
- snprintf(data_ln, sizeof(data_ln), "%s\n", data);
- matrix_write(matrix, data_ln);
-}
-
-void iota_gfx_write(const char *data) {
- matrix_write(&display, data);
-}
-
-void matrix_write_P(struct CharacterMatrix *matrix, const char *data) {
- while (true) {
- uint8_t c = pgm_read_byte(data);
- if (c == 0) {
- return;
- }
- matrix_write_char(matrix, c);
- ++data;
- }
-}
-
-void iota_gfx_write_P(const char *data) {
- matrix_write_P(&display, data);
-}
-
-void matrix_clear(struct CharacterMatrix *matrix) {
- memset(matrix->display, ' ', sizeof(matrix->display));
- matrix->cursor = &matrix->display[0][0];
- matrix->dirty = true;
-}
-
-void iota_gfx_clear_screen(void) {
- matrix_clear(&display);
-}
-
-void matrix_render(struct CharacterMatrix *matrix) {
- last_flush = timer_read();
- iota_gfx_on();
-#if DEBUG_TO_SCREEN
- ++displaying;
-#endif
-
- // Move to the home position
- send_cmd3(PageAddr, 0, MatrixRows - 1);
- send_cmd3(ColumnAddr, 0, (MatrixCols * FontWidth) - 1);
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- goto done;
- }
- if (i2c_master_write(0x40)) {
- // Data mode
- goto done;
- }
-
- for (uint8_t row = 0; row < MatrixRows; ++row) {
- for (uint8_t col = 0; col < MatrixCols; ++col) {
- const uint8_t *glyph = font + (matrix->display[row][col] * FontWidth);
-
- for (uint8_t glyphCol = 0; glyphCol < FontWidth; ++glyphCol) {
- uint8_t colBits = pgm_read_byte(glyph + glyphCol);
- i2c_master_write(colBits);
- }
-
- // 1 column of space between chars (it's not included in the glyph)
- //i2c_master_write(0);
- }
- }
-
- matrix->dirty = false;
-
-done:
- i2c_master_stop();
-#if DEBUG_TO_SCREEN
- --displaying;
-#endif
-}
-
-void iota_gfx_flush(void) {
- matrix_render(&display);
-}
-
-__attribute__ ((weak))
-void iota_gfx_task_user(void) {
-}
-
-void iota_gfx_task(void) {
- iota_gfx_task_user();
-
- if (display.dirty|| force_dirty) {
- iota_gfx_flush();
- force_dirty = false;
- }
-
- if (timer_elapsed(last_flush) > ScreenOffInterval) {
- iota_gfx_off();
- }
-}
-
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record) {
- force_dirty = true;
- return true;
-}
-
-#endif
diff --git a/keyboards/satt/comet46/ssd1306.h b/keyboards/satt/comet46/ssd1306.h
deleted file mode 100644
index 11a3cc67f4..0000000000
--- a/keyboards/satt/comet46/ssd1306.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#pragma once
-
-#include <stdbool.h>
-#include <stdio.h>
-#include "action.h"
-
-enum ssd1306_cmds {
- DisplayOff = 0xAE,
- DisplayOn = 0xAF,
-
- SetContrast = 0x81,
- DisplayAllOnResume = 0xA4,
-
- DisplayAllOn = 0xA5,
- NormalDisplay = 0xA6,
- InvertDisplay = 0xA7,
- SetDisplayOffset = 0xD3,
- SetComPins = 0xda,
- SetVComDetect = 0xdb,
- SetDisplayClockDiv = 0xD5,
- SetPreCharge = 0xd9,
- SetMultiPlex = 0xa8,
- SetLowColumn = 0x00,
- SetHighColumn = 0x10,
- SetStartLine = 0x40,
-
- SetMemoryMode = 0x20,
- ColumnAddr = 0x21,
- PageAddr = 0x22,
-
- ComScanInc = 0xc0,
- ComScanDec = 0xc8,
- SegRemap = 0xa0,
- SetChargePump = 0x8d,
- ExternalVcc = 0x01,
- SwitchCapVcc = 0x02,
-
- ActivateScroll = 0x2f,
- DeActivateScroll = 0x2e,
- SetVerticalScrollArea = 0xa3,
- RightHorizontalScroll = 0x26,
- LeftHorizontalScroll = 0x27,
- VerticalAndRightHorizontalScroll = 0x29,
- VerticalAndLeftHorizontalScroll = 0x2a,
-};
-
-// Controls the SSD1306 128x32 OLED display via i2c
-
-#ifndef SSD1306_ADDRESS
-#define SSD1306_ADDRESS 0x3C
-#endif
-
-#define DisplayHeight 32
-#define DisplayWidth 128
-
-#define FontHeight 8
-#define FontWidth 6
-
-#define MatrixRows (DisplayHeight / FontHeight)
-#define MatrixCols (DisplayWidth / FontWidth)
-
-struct CharacterMatrix {
- uint8_t display[MatrixRows][MatrixCols];
- uint8_t *cursor;
- bool dirty;
-};
-
-extern struct CharacterMatrix display;
-
-bool iota_gfx_init(bool rotate);
-void iota_gfx_task(void);
-bool iota_gfx_off(void);
-bool iota_gfx_on(void);
-void iota_gfx_flush(void);
-void iota_gfx_write_char(uint8_t c);
-void iota_gfx_write(const char *data);
-void iota_gfx_write_P(const char *data);
-void iota_gfx_clear_screen(void);
-
-void iota_gfx_task_user(void);
-
-void matrix_clear(struct CharacterMatrix *matrix);
-void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c);
-void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c);
-void matrix_write(struct CharacterMatrix *matrix, const char *data);
-void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
-void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
-void matrix_render(struct CharacterMatrix *matrix);
-
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/satt/vision/config.h b/keyboards/satt/vision/config.h
index 2db8fa8b29..b4bf9e1978 100644
--- a/keyboards/satt/vision/config.h
+++ b/keyboards/satt/vision/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5454
-#define PRODUCT_ID 0x5649
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SatT
-#define PRODUCT Vision
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
diff --git a/keyboards/satt/vision/info.json b/keyboards/satt/vision/info.json
index 8d1965bfd9..bb32359aac 100644
--- a/keyboards/satt/vision/info.json
+++ b/keyboards/satt/vision/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Vision",
+ "manufacturer": "SatT",
"url": "",
"maintainer": "SatT",
+ "usb": {
+ "vid": "0x5454",
+ "pid": "0x5649",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"PgUp", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"Q", "x":2.25, "y":0}, {"label":"W", "x":3.25, "y":0}, {"label":"E", "x":4.25, "y":0}, {"label":"R", "x":5.25, "y":0}, {"label":"T", "x":6.25, "y":0}, {"label":"Y", "x":9, "y":0}, {"label":"U", "x":10, "y":0}, {"label":"I", "x":11, "y":0}, {"label":"O", "x":12, "y":0}, {"label":"P", "x":13, "y":0}, {"label":"Back", "x":14, "y":0}, {"label":"Del", "x":15, "y":0}, {"label":"PgDn", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.25}, {"label":"A", "x":2.5, "y":1}, {"label":"S", "x":3.5, "y":1}, {"label":"D", "x":4.5, "y":1}, {"label":"F", "x":5.5, "y":1}, {"label":"G", "x":6.5, "y":1}, {"label":"H", "x":9.25, "y":1}, {"label":"J", "x":10.25, "y":1}, {"label":"K", "x":11.25, "y":1}, {"label":"L", "x":12.25, "y":1}, {"label":":", "x":13.25, "y":1}, {"label":"\"", "x":14.25, "y":1, "w":1.75}, {"label":"Shift", "x":1.25, "y":2, "w":1.75}, {"label":"Z", "x":3, "y":2}, {"label":"X", "x":4, "y":2}, {"label":"C", "x":5, "y":2}, {"label":"V", "x":6, "y":2}, {"label":"B", "x":7, "y":2}, {"label":"B", "x":8.75, "y":2}, {"label":"N", "x":9.75, "y":2}, {"label":"M", "x":10.75, "y":2}, {"label":"<", "x":11.75, "y":2}, {"label":">", "x":12.75, "y":2}, {"label":"?", "x":13.75, "y":2, "w":1.25}, {"label":"Adjust", "x":15, "y":2}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":3.75, "y":3, "w":1.5}, {"label":"Lower", "x":5.25, "y":3, "w":2}, {"x":7.25, "y":3}, {"label":"Raise", "x":8.75, "y":3, "w":1.75}, {"label":"Enter", "x":10.5, "y":3}, {"label":"Alt", "x":11.5, "y":3, "w":1.5}, {"label":"Ctrl", "x":14.5, "y":3, "w":1.5}]
diff --git a/keyboards/satt/vision/keymaps/satt/keymap.c b/keyboards/satt/vision/keymaps/satt/keymap.c
index 4289fbc20a..cc088d94f3 100644
--- a/keyboards/satt/vision/keymaps/satt/keymap.c
+++ b/keyboards/satt/vision/keymaps/satt/keymap.c
@@ -100,7 +100,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
- 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,
+ QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, _______, _______, QWERTY, PSEU_US, CTALDEL, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/sauce/mild/config.h b/keyboards/sauce/mild/config.h
index 6e203a4341..989980b79e 100644
--- a/keyboards/sauce/mild/config.h
+++ b/keyboards/sauce/mild/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8367 // "SC"
-#define PRODUCT_ID 0x7783 // "MS"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sauce
-#define PRODUCT Mild
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { C13, C14, C15, A15, F0, F1 }
#define MATRIX_COL_PINS { A10, A9, A8, B11, B10, B2, B1, B0, A7, A5, A4, A3, A2, A1, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sauce/mild/info.json b/keyboards/sauce/mild/info.json
index d722a03d8b..6893180ab8 100644
--- a/keyboards/sauce/mild/info.json
+++ b/keyboards/sauce/mild/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Sauce - Mild",
+ "keyboard_name": "Mild",
+ "manufacturer": "Sauce",
"url": "",
"maintainer": "Sauce",
+ "usb": {
+ "vid": "0x8367",
+ "pid": "0x7783",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/sawnsprojects/amber80/readme.md b/keyboards/sawnsprojects/amber80/readme.md
index bc5dd417fc..807ba0917f 100644
--- a/keyboards/sawnsprojects/amber80/readme.md
+++ b/keyboards/sawnsprojects/amber80/readme.md
@@ -20,6 +20,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/sawnsprojects/amber80/solder/config.h b/keyboards/sawnsprojects/amber80/solder/config.h
index 90c9bc522c..6643409761 100644
--- a/keyboards/sawnsprojects/amber80/solder/config.h
+++ b/keyboards/sawnsprojects/amber80/solder/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5350
-#define PRODUCT_ID 0xA801
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SawnsProjects X Yuutsu X Zlane
-#define PRODUCT Amber80 Solder
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -45,7 +38,6 @@
*/
#define MATRIX_ROW_PINS { B1, B2, B3, B7, D0, D1, F1, F0, D7, B4, D5, D3 }
#define MATRIX_COL_PINS { F4, F6, F7, C7, C6, B6, B5, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sawnsprojects/amber80/solder/info.json b/keyboards/sawnsprojects/amber80/solder/info.json
index 49ca20594c..a04fa2f716 100644
--- a/keyboards/sawnsprojects/amber80/solder/info.json
+++ b/keyboards/sawnsprojects/amber80/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Amber80 SOLDER",
+ "keyboard_name": "Amber80 Solder",
+ "manufacturer": "SawnsProjects X Yuutsu X Zlane",
"url": "",
"maintainer": "SawnsProjects",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0xA801",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/sawnsprojects/amber80/solder/readme.md b/keyboards/sawnsprojects/amber80/solder/readme.md
index a429328702..094169a224 100644
--- a/keyboards/sawnsprojects/amber80/solder/readme.md
+++ b/keyboards/sawnsprojects/amber80/solder/readme.md
@@ -19,6 +19,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/sawnsprojects/krush/krush60/readme.md b/keyboards/sawnsprojects/krush/krush60/readme.md
index 515040f904..6890329c35 100644
--- a/keyboards/sawnsprojects/krush/krush60/readme.md
+++ b/keyboards/sawnsprojects/krush/krush60/readme.md
@@ -20,6 +20,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/config.h b/keyboards/sawnsprojects/krush/krush60/solder/config.h
index 4cd1a1b39c..5e0614f58e 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/config.h
+++ b/keyboards/sawnsprojects/krush/krush60/solder/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5350
-#define PRODUCT_ID 0x6B32
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SawnsProjects
-#define PRODUCT Krush60 - Solder
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, B2, D1, D2, D4, D6, F6, F7, F5, F4 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sawnsprojects/krush/krush60/solder/info.json b/keyboards/sawnsprojects/krush/krush60/solder/info.json
index d95c475509..d3de2e9000 100644
--- a/keyboards/sawnsprojects/krush/krush60/solder/info.json
+++ b/keyboards/sawnsprojects/krush/krush60/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Krush60 Solder",
+ "keyboard_name": "Krush60 - Solder",
+ "manufacturer": "SawnsProjects",
"url": "",
"maintainer": "MaiTheSan",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0x6B32",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_60_ansi_arrow_split_bs_7u_spc": "LAYOUT_60_ansi_arrow_tsangan_split_bs",
"LAYOUT_60_ansi_arrow_7u_spc": "LAYOUT_60_ansi_arrow_tsangan"
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/config.h b/keyboards/sawnsprojects/krush/krush65/hotswap/config.h
new file mode 100644
index 0000000000..d545886dc0
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/config.h
@@ -0,0 +1,64 @@
+/* Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B1, B2, D4, F1, F0 }
+#define MATRIX_COL_PINS { B7, B3, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D0, D5, D6, D3 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+/* Caps Lock */
+#define LED_CAPS_LOCK_PIN B0
+#define LED_PIN_ON_STATE 0
+
+/* Encoders */
+
+#define ENCODERS 1
+
+#define ENCODERS_PAD_A { D1 }
+#define ENCODERS_PAD_B { D2 }
+
+#define ENCODERS_CW_KEY { { 12, 3 } }
+#define ENCODERS_CCW_KEY { { 12, 4 } }
+
+/* RGB */
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 20
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations 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_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#endif \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c
new file mode 100644
index 0000000000..039f8739b4
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c
@@ -0,0 +1,58 @@
+/* Copyright 2020 Neil Brian Ramirez
+ * Copyright 2021 drashna jael're (@drashna)
+ * Copyright 2021 uybv
+ * Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "encoder_actions.h"
+
+#ifdef ENCODER_ENABLE
+
+# ifdef ENCODERS
+static uint8_t encoder_state[ENCODERS] = {0};
+static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
+static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
+# endif
+
+void encoder_action_unregister(void) {
+# ifdef ENCODERS
+ for (int index = 0; index < ENCODERS; ++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);
+ }
+ }
+# endif
+}
+
+void encoder_action_register(uint8_t index, bool clockwise) {
+# ifdef ENCODERS
+ 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);
+# endif
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h
new file mode 100644
index 0000000000..098210d40c
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 Neil Brian Ramirez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+
+void encoder_action_unregister(void);
+
+void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.c b/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.c
new file mode 100644
index 0000000000..8fd9a2fa14
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.c
@@ -0,0 +1,31 @@
+/* Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "hotswap.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ }
+ return true;
+}
+#endif \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h b/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h
new file mode 100644
index 0000000000..cc0d0dc7e9
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h
@@ -0,0 +1,53 @@
+/* Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+#include "encoder_actions.h"
+
+
+
+#define XXX KC_NO
+
+
+#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, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K42, K43, K45, K46, K47, K48, K4B, K4D, K4E, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
+ { K40, XXX, K42, K43, XXX, K45, K46, K47, K48, XXX, XXX, K4B, XXX, K4D, K4E, K4F }, \
+}
+
+#define LAYOUT_via_rotary( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, EC1A, EC2A,\
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
+ K40, K42, K43, K45, K46, K47, K48, K4B, K4D, K4E, K4F \
+) { \
+ { 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, XXX, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, K2F }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, EC1A, K3D, K3E, K3F }, \
+ { K40, XXX, K42, K43, XXX, K45, K46, K47, K48, XXX, XXX, K4B, EC2A, K4D, K4E, K4F }, \
+}
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/info.json b/keyboards/sawnsprojects/krush/krush65/hotswap/info.json
new file mode 100644
index 0000000000..b70ecd9ddd
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/info.json
@@ -0,0 +1,163 @@
+{
+ "keyboard_name": "Krush65 - Hotswap",
+ "manufacturer": "SawnsProjects",
+ "url": "",
+ "maintainer": "MaiTheSan",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0x5B31",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "", "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": "", "x": 13, "y": 0 },
+ { "label": "", "x": 14, "y": 0 },
+ { "label": "", "x": 15, "y": 0 },
+ { "label": "", "x": 0, "y": 1, "w": 1.5 },
+ { "label": "", "x": 1.5, "y": 1 },
+ { "label": "", "x": 2.5, "y": 1 },
+ { "label": "", "x": 3.5, "y": 1 },
+ { "label": "", "x": 4.5, "y": 1 },
+ { "label": "", "x": 5.5, "y": 1 },
+ { "label": "", "x": 6.5, "y": 1 },
+ { "label": "", "x": 7.5, "y": 1 },
+ { "label": "", "x": 8.5, "y": 1 },
+ { "label": "", "x": 9.5, "y": 1 },
+ { "label": "", "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": "", "x": 15, "y": 1 },
+ { "label": "", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "", "x": 1.75, "y": 2 },
+ { "label": "", "x": 2.75, "y": 2 },
+ { "label": "", "x": 3.75, "y": 2 },
+ { "label": "", "x": 4.75, "y": 2 },
+ { "label": "", "x": 5.75, "y": 2 },
+ { "label": "", "x": 6.75, "y": 2 },
+ { "label": "", "x": 7.75, "y": 2 },
+ { "label": "", "x": 8.75, "y": 2 },
+ { "label": "", "x": 9.75, "y": 2 },
+ { "label": "", "x": 10.75, "y": 2 },
+ { "label": "", "x": 11.75, "y": 2 },
+ { "label": "", "x": 12.75, "y": 2, "w": 2.25 },
+ { "label": "", "x": 15, "y": 2 },
+ { "label": "", "x": 0, "y": 3, "w": 2.25 },
+ { "label": "", "x": 2.25, "y": 3 },
+ { "label": "", "x": 3.25, "y": 3 },
+ { "label": "", "x": 4.25, "y": 3 },
+ { "label": "", "x": 5.25, "y": 3 },
+ { "label": "", "x": 6.25, "y": 3 },
+ { "label": "", "x": 7.25, "y": 3 },
+ { "label": "", "x": 8.25, "y": 3 },
+ { "label": "", "x": 9.25, "y": 3 },
+ { "label": "", "x": 10.25, "y": 3 },
+ { "label": "", "x": 11.25, "y": 3 },
+ { "label": "", "x": 12.25, "y": 3, "w": 1.75 },
+ { "label": "", "x": 14, "y": 3 },
+ { "label": "", "x": 15, "y": 3 },
+ { "label": "", "x": 0, "y": 4, "w": 1.25 },
+ { "label": "", "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "", "x": 2.5, "y": 4, "w": 1.25 },
+ { "label": "", "x": 3.75, "y": 4, "w": 2.25 },
+ { "label": "", "x": 6, "y": 4, "w": 1.25 },
+ { "label": "", "x": 7.25, "y": 4, "w": 2.75 },
+ { "label": "", "x": 10, "y": 4, "w": 1.25 },
+ { "label": "", "x": 11.25, "y": 4, "w": 1.25 },
+ { "label": "", "x": 13, "y": 4 },
+ { "label": "", "x": 14, "y": 4 },
+ { "label": "", "x": 15, "y": 4 }
+ ]
+ },
+ "LAYOUT_via_rotary": {
+ "layout": [
+ { "label": "", "x": 0, "y": 0.75 },
+ { "label": "", "x": 1, "y": 0.75 },
+ { "label": "", "x": 2, "y": 0.75 },
+ { "label": "", "x": 3, "y": 0.75 },
+ { "label": "", "x": 4, "y": 0.75 },
+ { "label": "", "x": 5, "y": 0.75 },
+ { "label": "", "x": 6, "y": 0.75 },
+ { "label": "", "x": 7, "y": 0.75 },
+ { "label": "", "x": 8, "y": 0.75 },
+ { "label": "", "x": 9, "y": 0.75 },
+ { "label": "", "x": 10, "y": 0.75 },
+ { "label": "", "x": 11, "y": 0.75 },
+ { "label": "", "x": 12, "y": 0.75 },
+ { "label": "", "x": 13, "y": 0.75 },
+ { "label": "", "x": 14, "y": 0.75 },
+ { "label": "", "x": 15, "y": 0.75 },
+ { "label": "", "x": 14.75, "y": 0, "w": 0.75, "h": 0.75 },
+ { "label": "", "x": 15.5, "y": 0, "w": 0.75, "h": 0.75 },
+ { "label": "", "x": 0, "y": 1.75, "w": 1.5 },
+ { "label": "", "x": 1.5, "y": 1.75 },
+ { "label": "", "x": 2.5, "y": 1.75 },
+ { "label": "", "x": 3.5, "y": 1.75 },
+ { "label": "", "x": 4.5, "y": 1.75 },
+ { "label": "", "x": 5.5, "y": 1.75 },
+ { "label": "", "x": 6.5, "y": 1.75 },
+ { "label": "", "x": 7.5, "y": 1.75 },
+ { "label": "", "x": 8.5, "y": 1.75 },
+ { "label": "", "x": 9.5, "y": 1.75 },
+ { "label": "", "x": 10.5, "y": 1.75 },
+ { "label": "", "x": 11.5, "y": 1.75 },
+ { "label": "", "x": 12.5, "y": 1.75 },
+ { "label": "", "x": 13.5, "y": 1.75, "w": 1.5 },
+ { "label": "", "x": 15, "y": 1.75 },
+ { "label": "", "x": 0, "y": 2.75, "w": 1.75 },
+ { "label": "", "x": 1.75, "y": 2.75 },
+ { "label": "", "x": 2.75, "y": 2.75 },
+ { "label": "", "x": 3.75, "y": 2.75 },
+ { "label": "", "x": 4.75, "y": 2.75 },
+ { "label": "", "x": 5.75, "y": 2.75 },
+ { "label": "", "x": 6.75, "y": 2.75 },
+ { "label": "", "x": 7.75, "y": 2.75 },
+ { "label": "", "x": 8.75, "y": 2.75 },
+ { "label": "", "x": 9.75, "y": 2.75 },
+ { "label": "", "x": 10.75, "y": 2.75 },
+ { "label": "", "x": 11.75, "y": 2.75 },
+ { "label": "", "x": 12.75, "y": 2.75, "w": 2.25 },
+ { "label": "", "x": 15, "y": 2.75 },
+ { "label": "", "x": 0, "y": 3.75, "w": 2.25 },
+ { "label": "", "x": 2.25, "y": 3.75 },
+ { "label": "", "x": 3.25, "y": 3.75 },
+ { "label": "", "x": 4.25, "y": 3.75 },
+ { "label": "", "x": 5.25, "y": 3.75 },
+ { "label": "", "x": 6.25, "y": 3.75 },
+ { "label": "", "x": 7.25, "y": 3.75 },
+ { "label": "", "x": 8.25, "y": 3.75 },
+ { "label": "", "x": 9.25, "y": 3.75 },
+ { "label": "", "x": 10.25, "y": 3.75 },
+ { "label": "", "x": 11.25, "y": 3.75 },
+ { "label": "", "x": 12.25, "y": 3.75, "w": 1.75 },
+ { "label": "", "x": 14, "y": 3.75 },
+ { "label": "", "x": 15, "y": 3.75 },
+ { "label": "", "x": 0, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 1.25, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 2.5, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 3.75, "y": 4.75, "w": 2.25 },
+ { "label": "", "x": 6, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 7.25, "y": 4.75, "w": 2.75 },
+ { "label": "", "x": 10, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 11.25, "y": 4.75, "w": 1.25 },
+ { "label": "", "x": 13, "y": 4.75 },
+ { "label": "", "x": 14, "y": 4.75 },
+ { "label": "", "x": 15, "y": 4.75 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c
new file mode 100644
index 0000000000..13883d07e4
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/* Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_PSCR,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+};
+
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/readme.md b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/readme.md
new file mode 100644
index 0000000000..33e79b607e
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for krush65 Hotswap
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d55eb74fb0
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,60 @@
+ /* Copyright 2021 SawnsProjects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_via_rotary(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_PSCR, KC_VOLD ,KC_VOLU,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_via_rotary(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_via_rotary(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_via_rotary(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+
+void matrix_scan_user(void) {
+ encoder_action_unregister();
+}
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ encoder_action_register(index, clockwise);
+ return false; // override kb default behavior
+}; \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/readme.md b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/readme.md
new file mode 100644
index 0000000000..a03a6d13a9
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The VIA keymap for krush65 Hotswap
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk
new file mode 100644
index 0000000000..a9739430b9
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+
+# Added encoder Action
+SRC += encoder_actions.c \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/readme.md b/keyboards/sawnsprojects/krush/krush65/hotswap/readme.md
new file mode 100644
index 0000000000..9e2ae1735e
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/readme.md
@@ -0,0 +1,23 @@
+# Krush65 Hotswap
+
+![Krush65](https://imgur.com/56ZvWUmh.jpg)
+
+A 65% keyboard PCB made and sold by SawnsProjects with Nuxros in [mechkey.store](https://mechkey.store/blogs/store-updates/introducing-krush-65).
+
+* Keyboard Maintainer: [Mai The San](https://github.com/MaiTheSan)
+* Hardware Supported: Krush65
+* Hardware Availability: [mechkey.store](https://mechkey.store/products/krush-65-hotswap-pcb)
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+Make example for this keyboard (after setting up your build environment):
+
+ make sawnsprojects/krush/krush65/hotswap: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/sawnsprojects/krush/krush65/hotswap/rules.mk b/keyboards/sawnsprojects/krush/krush65/hotswap/rules.mk
new file mode 100644
index 0000000000..c754f3f5d0
--- /dev/null
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
diff --git a/keyboards/sawnsprojects/krush/krush65/readme.md b/keyboards/sawnsprojects/krush/krush65/readme.md
index 34e996f0bf..cc2efdfcfe 100644
--- a/keyboards/sawnsprojects/krush/krush65/readme.md
+++ b/keyboards/sawnsprojects/krush/krush65/readme.md
@@ -20,6 +20,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/config.h b/keyboards/sawnsprojects/krush/krush65/solder/config.h
index 1afab16a0e..54318a485b 100644
--- a/keyboards/sawnsprojects/krush/krush65/solder/config.h
+++ b/keyboards/sawnsprojects/krush/krush65/solder/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5350
-#define PRODUCT_ID 0x6B31
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SawnsProjects
-#define PRODUCT Krush65 - Solder
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, B2, D1, D2, D4, D6, F6, F7, F5, F4 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D5, D3 }
-#define UNUSED_PINS
/* indicator */
// #define LED_CAPS_LOCK_PIN F0
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/info.json b/keyboards/sawnsprojects/krush/krush65/solder/info.json
index b72946bf55..c7ab169977 100644
--- a/keyboards/sawnsprojects/krush/krush65/solder/info.json
+++ b/keyboards/sawnsprojects/krush/krush65/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Krush65 Solder",
+ "keyboard_name": "Krush65 - Solder",
+ "manufacturer": "SawnsProjects",
"url": "",
"maintainer": "MaiTheSan",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0x6B31",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_65_ansi_blocker_split_bs_sp"
},
diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h
index 5ad3f20093..077b18d0d8 100644
--- a/keyboards/sawnsprojects/satxri6key/config.h
+++ b/keyboards/sawnsprojects/satxri6key/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5350
-#define PRODUCT_ID 0x0727
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MaiTheSan
-#define PRODUCT Satxri6key
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/sawnsprojects/satxri6key/info.json b/keyboards/sawnsprojects/satxri6key/info.json
index 77897e179c..a158fff7d2 100644
--- a/keyboards/sawnsprojects/satxri6key/info.json
+++ b/keyboards/sawnsprojects/satxri6key/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Satxri6key",
+ "manufacturer": "MaiTheSan",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0x0727",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sawnsprojects/vcl65/readme.md b/keyboards/sawnsprojects/vcl65/readme.md
index 025c41badf..d47c145e79 100644
--- a/keyboards/sawnsprojects/vcl65/readme.md
+++ b/keyboards/sawnsprojects/vcl65/readme.md
@@ -20,6 +20,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/sawnsprojects/vcl65/solder/config.h b/keyboards/sawnsprojects/vcl65/solder/config.h
index bf1a7cdde6..b536e66c1f 100644
--- a/keyboards/sawnsprojects/vcl65/solder/config.h
+++ b/keyboards/sawnsprojects/vcl65/solder/config.h
@@ -17,13 +17,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5350
-#define PRODUCT_ID 0x1727
-#define DEVICE_VER 0x0001
-#define MANUFACTURER VCL x SawnsProjects
-#define PRODUCT VCL65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, F7, F0, F4, B1 }
#define MATRIX_COL_PINS { B2, B5, F5, C7, B4, C6, D7, D6, D4, D5, D3, D2, B6, D1, D0 }
-#define UNUSED_PINS
/* indicator */
// #define LED_CAPS_LOCK_PIN F0
diff --git a/keyboards/sawnsprojects/vcl65/solder/info.json b/keyboards/sawnsprojects/vcl65/solder/info.json
index bae3093b4f..982a09d953 100644
--- a/keyboards/sawnsprojects/vcl65/solder/info.json
+++ b/keyboards/sawnsprojects/vcl65/solder/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "VCL65 Solder",
+ "keyboard_name": "VCL65",
+ "manufacturer": "VCL x SawnsProjects",
"url": "",
"maintainer": "MaiTheSan",
+ "usb": {
+ "vid": "0x5350",
+ "pid": "0x1727",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/sawnsprojects/vcl65/solder/readme.md b/keyboards/sawnsprojects/vcl65/solder/readme.md
index 06b44ab730..b168e0e079 100644
--- a/keyboards/sawnsprojects/vcl65/solder/readme.md
+++ b/keyboards/sawnsprojects/vcl65/solder/readme.md
@@ -18,6 +18,6 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the front of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/scatter42/config.h b/keyboards/scatter42/config.h
index ca7ce70ff3..e271984760 100644
--- a/keyboards/scatter42/config.h
+++ b/keyboards/scatter42/config.h
@@ -19,13 +19,6 @@ 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 0x3B47
-#define DEVICE_VER 0x0001
-#define MANUFACTURER bbrfkr
-#define PRODUCT scatter42
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/scatter42/info.json b/keyboards/scatter42/info.json
index 5802fc5cdc..c30750c7c2 100644
--- a/keyboards/scatter42/info.json
+++ b/keyboards/scatter42/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "scatter42",
+ "manufacturer": "bbrfkr",
"url": "https://github.com/bbrfkr/keyboards/tree/master/scatter42",
"maintainer": "bbrfkr",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3B47",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sck/gtm/config.h b/keyboards/sck/gtm/config.h
index a8ead5ccb5..fb0f5d3b4a 100644
--- a/keyboards/sck/gtm/config.h
+++ b/keyboards/sck/gtm/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6090
-#define DEVICE_VER 0x0002
-#define MANUFACTURER SpaceCityKeyboards
-#define PRODUCT GTM Pad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 6
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C4, C5, D1 }
#define MATRIX_COL_PINS { B4, B5, B6, B7, C7, D0 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D2 }
diff --git a/keyboards/sck/gtm/info.json b/keyboards/sck/gtm/info.json
index 147704f65e..4da024cd44 100644
--- a/keyboards/sck/gtm/info.json
+++ b/keyboards/sck/gtm/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Grand Theft Macro Pad",
+ "keyboard_name": "GTM Pad",
+ "manufacturer": "SpaceCityKeyboards",
"url": "",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6090",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sck/m0116b/config.h b/keyboards/sck/m0116b/config.h
index b008ff1b24..95d9f66318 100644
--- a/keyboards/sck/m0116b/config.h
+++ b/keyboards/sck/m0116b/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jrfhoutx
-#define PRODUCT Golden Delicious
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { D5, D3, D2, D0, B3, B2, B1, B0, E6, B5, B6, C6, C7, F7, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sck/m0116b/info.json b/keyboards/sck/m0116b/info.json
index 37b3a10176..df77370b8b 100644
--- a/keyboards/sck/m0116b/info.json
+++ b/keyboards/sck/m0116b/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Golden Delicious - M0116B",
+ "manufacturer": "jrfhoutx",
"url": "https://github.com/jrfhoutx",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_m0116_ansi": {
"layout": [
diff --git a/keyboards/sck/m0116b/keymaps/m0116/keymap.c b/keyboards/sck/m0116b/keymaps/m0116/keymap.c
index 8a6f831fe6..56bb777f7a 100644
--- a/keyboards/sck/m0116b/keymaps/m0116/keymap.c
+++ b/keyboards/sck/m0116b/keymaps/m0116/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Keymap Layer 1: (Layer 1) Layer 1
* ,---------------------------------------------------------------------------------.
- * | |RESET| |
+ * | |QK_BOOT| |
* `---------------------------------------------------------------------------------'
* ,-----------------------------------------------------------. .-------------------.
* | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | | | | | |
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------' `-------------------'
*/
[1] = LAYOUT_m0116_ansi( /* Layer 1 */
- RESET,
+ QK_BOOT,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/sck/m0116b/keymaps/m0118/keymap.c b/keyboards/sck/m0116b/keymaps/m0118/keymap.c
index 5d718e9a77..7a54952f97 100644
--- a/keyboards/sck/m0116b/keymaps/m0118/keymap.c
+++ b/keyboards/sck/m0116b/keymaps/m0118/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------' `-------------------'
*/
[1] = LAYOUT_m0118_iso( /* Layer 1 */
- RESET,
+ QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/sck/neiso/config.h b/keyboards/sck/neiso/config.h
index 9ff392ec25..254e0a6d11 100644
--- a/keyboards/sck/neiso/config.h
+++ b/keyboards/sck/neiso/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Space City Keyboards
-#define PRODUCT NEISO
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F4 }
#define MATRIX_COL_PINS \
{ B3, D2, F5, F7, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sck/neiso/info.json b/keyboards/sck/neiso/info.json
index 069b01a2e9..4303e58857 100644
--- a/keyboards/sck/neiso/info.json
+++ b/keyboards/sck/neiso/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEISO",
+ "manufacturer": "Space City Keyboards",
"url": "",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0.25, "y":0, "w":2, "h":1.25}, {"x":2.75, "y":0.25, "w":1.25, "h":2}, {"x":1.5, "y":1.5}, {"x":0, "y":1.75, "w":1.25, "h":2}, {"x":1.75, "y":2.75, "w":2, "h":1.25}]
diff --git a/keyboards/sck/osa/config.h b/keyboards/sck/osa/config.h
index 6e3d617e9a..b83eee8dd5 100644
--- a/keyboards/sck/osa/config.h
+++ b/keyboards/sck/osa/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5343 // "SC"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Space City Keyboards
-#define PRODUCT OSA
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { B4, D7, D5, D3, D2, D0, D1, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sck/osa/info.json b/keyboards/sck/osa/info.json
index 210c302f90..37e05235f6 100644
--- a/keyboards/sck/osa/info.json
+++ b/keyboards/sck/osa/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "OSA",
+ "manufacturer": "Space City Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5343",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.25, "y":0}, {"label":"!", "x":2.25, "y":0}, {"label":"@", "x":3.25, "y":0}, {"label":"#", "x":4.25, "y":0}, {"label":"$", "x":5.25, "y":0}, {"label":"%", "x":6.25, "y":0}, {"label":"^", "x":7.25, "y":0}, {"label":"&", "x":10.25, "y":0}, {"label":"*", "x":11.25, "y":0}, {"label":"(", "x":12.25, "y":0}, {"label":")", "x":13.25, "y":0}, {"label":"_", "x":14.25, "y":0}, {"label":"+", "x":15.25, "y":0}, {"label":"Backspace", "x":16.25, "y":0, "w":2}, {"label":"Page Up", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":9.75, "y":1}, {"label":"U", "x":10.75, "y":1}, {"label":"I", "x":11.75, "y":1}, {"label":"O", "x":12.75, "y":1}, {"label":"P", "x":13.75, "y":1}, {"label":"{", "x":14.75, "y":1}, {"label":"}", "x":15.75, "y":1}, {"label":"|", "x":16.75, "y":1, "w":1.5}, {"label":"Page Down", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":10, "y":2}, {"label":"J", "x":11, "y":2}, {"label":"K", "x":12, "y":2}, {"label":"L", "x":13, "y":2}, {"label":":", "x":14, "y":2}, {"label":"\"", "x":15, "y":2}, {"label":"Enter", "x":16, "y":2, "w":2.25}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":9.5, "y":3}, {"label":"N", "x":10.5, "y":3}, {"label":"M", "x":11.5, "y":3}, {"label":"<", "x":12.5, "y":3}, {"label":">", "x":13.5, "y":3}, {"label":"?", "x":14.5, "y":3}, {"label":"Shift", "x":15.5, "y":3, "w":2.75}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.5}, {"label":"Win", "x":4.25, "y":4, "w":1.5}, {"x":5.75, "y":4, "w":2.25}, {"label":"Fn", "x":8, "y":4}, {"x":9.5, "y":4, "w":2.75}, {"label":"Alt", "x":12.25, "y":4, "w":1.5}, {"label":"Ctrl", "x":16.75, "y":4, "w":1.5}]
diff --git a/keyboards/sekigon/grs_70ec/config.h b/keyboards/sekigon/grs_70ec/config.h
index 2eb52658e5..b2e1882574 100644
--- a/keyboards/sekigon/grs_70ec/config.h
+++ b/keyboards/sekigon/grs_70ec/config.h
@@ -19,13 +19,6 @@ 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 0x70EC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sekigon-gonnoc
-#define PRODUCT GRS-70EC
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -46,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_CHANNELS { 2, 1, 0, 3, 5, 7, 6, 4 }
-#define UNUSED_PINS
#define DISCHARGE_PIN B1
#define ANALOG_PORT F6
#define MUX_SEL_PINS { D1, D0, D4 }
diff --git a/keyboards/sekigon/grs_70ec/info.json b/keyboards/sekigon/grs_70ec/info.json
index 93a6327a67..55db0571f7 100644
--- a/keyboards/sekigon/grs_70ec/info.json
+++ b/keyboards/sekigon/grs_70ec/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "grs_70ec",
+ "keyboard_name": "GRS-70EC",
+ "manufacturer": "sekigon-gonnoc",
"url": "https://github.com/sekigon-gonnoc/GRS-70EC-doc/",
"maintainer": "sekigon-gonnoc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x70EC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sendyyeah/75pixels/config.h b/keyboards/sendyyeah/75pixels/config.h
index 9cb41e4917..26fc9334fd 100644
--- a/keyboards/sendyyeah/75pixels/config.h
+++ b/keyboards/sendyyeah/75pixels/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5359
-#define PRODUCT_ID 0x3735
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sendyyeah
-#define PRODUCT 75 Pixels
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/sendyyeah/75pixels/info.json b/keyboards/sendyyeah/75pixels/info.json
index 6fb65c1d88..4bfc29e243 100644
--- a/keyboards/sendyyeah/75pixels/info.json
+++ b/keyboards/sendyyeah/75pixels/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "beVi",
+ "keyboard_name": "75 Pixels",
+ "manufacturer": "sendyyeah",
"url": "https://github.com/sendyyeah/bevi",
"maintainer": "sendyyeah",
+ "usb": {
+ "vid": "0x5359",
+ "pid": "0x3735",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
diff --git a/keyboards/sendyyeah/bevi/config.h b/keyboards/sendyyeah/bevi/config.h
index 8283329986..fff3556e2b 100644
--- a/keyboards/sendyyeah/bevi/config.h
+++ b/keyboards/sendyyeah/bevi/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5359
-#define PRODUCT_ID 0x4256
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sendyyeah
-#define PRODUCT beVi
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
diff --git a/keyboards/sendyyeah/bevi/info.json b/keyboards/sendyyeah/bevi/info.json
index 05e66f3aa5..508c3f50ef 100644
--- a/keyboards/sendyyeah/bevi/info.json
+++ b/keyboards/sendyyeah/bevi/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "beVi",
+ "manufacturer": "sendyyeah",
"url": "https://github.com/sendyyeah/bevi",
"maintainer": "sendyyeah",
+ "usb": {
+ "vid": "0x5359",
+ "pid": "0x4256",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sendyyeah/pix/config.h b/keyboards/sendyyeah/pix/config.h
index 86c6d26e16..48fd375b07 100644
--- a/keyboards/sendyyeah/pix/config.h
+++ b/keyboards/sendyyeah/pix/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5359
-#define PRODUCT_ID 0x4e34
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sendyyeah
-#define PRODUCT Pix
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 5
diff --git a/keyboards/sendyyeah/pix/info.json b/keyboards/sendyyeah/pix/info.json
index 39e016dae1..339ad499f6 100644
--- a/keyboards/sendyyeah/pix/info.json
+++ b/keyboards/sendyyeah/pix/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pix",
+ "manufacturer": "sendyyeah",
"url": "https://github.com/sendz/pix",
"maintainer": "sendz",
+ "usb": {
+ "vid": "0x5359",
+ "pid": "0x4E34",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h
index dc2cb68c79..ea48db4e15 100644
--- a/keyboards/senselessclay/ck60/config.h
+++ b/keyboards/senselessclay/ck60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4849 // HI
-#define PRODUCT_ID 0x0601 // 60rgb (1)
-#define DEVICE_VER 0x0000 // rev0
-#define MANUFACTURER senselessclay
-#define PRODUCT ck60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/senselessclay/ck60/info.json b/keyboards/senselessclay/ck60/info.json
index 55a7e95b46..27088f2785 100644
--- a/keyboards/senselessclay/ck60/info.json
+++ b/keyboards/senselessclay/ck60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CK60",
+ "manufacturer": "senselessclay",
"url": "https://candykeys.com",
"maintainer": "had-i",
+ "usb": {
+ "vid": "0x4849",
+ "pid": "0x0601",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_iso"
},
diff --git a/keyboards/senselessclay/ck65/config.h b/keyboards/senselessclay/ck65/config.h
index f23560f164..68571b63c7 100644
--- a/keyboards/senselessclay/ck65/config.h
+++ b/keyboards/senselessclay/ck65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4849 // HI
-#define PRODUCT_ID 0x0651 // 65rgb (1)
-#define DEVICE_VER 0x0000 // rev0
-#define MANUFACTURER senselessclay
-#define PRODUCT ck65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B3, B2, F1, F4, F5 }
#define MATRIX_COL_PINS { F0, D5, D3, D2, D1, D0, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-//#define UNUSED_PINS { B0, B7, E6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/senselessclay/ck65/info.json b/keyboards/senselessclay/ck65/info.json
index c1dcf3cebd..54e43ccc94 100644
--- a/keyboards/senselessclay/ck65/info.json
+++ b/keyboards/senselessclay/ck65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "CK65",
+ "manufacturer": "senselessclay",
"url": "https://candykeys.com",
"maintainer": "had-i",
+ "usb": {
+ "vid": "0x4849",
+ "pid": "0x0651",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_65_iso"
},
diff --git a/keyboards/senselessclay/gos65/config.h b/keyboards/senselessclay/gos65/config.h
index 5656d77ea5..724e47e797 100644
--- a/keyboards/senselessclay/gos65/config.h
+++ b/keyboards/senselessclay/gos65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4849 // HI
-#define PRODUCT_ID 0x0650 // 65rgb (0)
-#define DEVICE_VER 0x0001 // rev1
-#define MANUFACTURER senselessclay
-#define PRODUCT gos65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -49,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B1, B2, F1, F6, F5 }
#define MATRIX_COL_PINS { F4, D5, D3, D2, D1, D0, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-//#define UNUSED_PINS { B0, B7, E6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/senselessclay/gos65/info.json b/keyboards/senselessclay/gos65/info.json
index 95f0960a47..6bad2ae556 100644
--- a/keyboards/senselessclay/gos65/info.json
+++ b/keyboards/senselessclay/gos65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "gos65",
+ "manufacturer": "senselessclay",
"url": "https://senselessclay.com/",
"maintainer": "hadi",
+ "usb": {
+ "vid": "0x4849",
+ "pid": "0x0650",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/senselessclay/had60/config.h b/keyboards/senselessclay/had60/config.h
index 60a4b23d02..9ec21ffa84 100644
--- a/keyboards/senselessclay/had60/config.h
+++ b/keyboards/senselessclay/had60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4849 // HI
-#define PRODUCT_ID 0x060F // 60flex
-#define DEVICE_VER 0x0001 // rev1
-#define MANUFACTURER senselessclay
-#define PRODUCT had60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -47,7 +40,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { F1, F0, F7, F6, F5 }
#define MATRIX_COL_PINS { F4, D5, D3, D2, D1, D0, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS { B0, B7, E6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/senselessclay/had60/info.json b/keyboards/senselessclay/had60/info.json
index a14c171d69..5dbcf2f68c 100644
--- a/keyboards/senselessclay/had60/info.json
+++ b/keyboards/senselessclay/had60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "had60",
+ "manufacturer": "senselessclay",
"url": "https://senselessclay.com/",
"maintainer": "hadi",
+ "usb": {
+ "vid": "0x4849",
+ "pid": "0x060F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/senselessclay/had60/keymaps/had/keymap.c b/keyboards/senselessclay/had60/keymaps/had/keymap.c
index 0776a740ef..add0595522 100644
--- a/keyboards/senselessclay/had60/keymaps/had/keymap.c
+++ b/keyboards/senselessclay/had60/keymaps/had/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT_all(
- MAGIC_NO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, RESET,
+ MAGIC_NO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, QK_BOOT,
MAGIC_UNNO_GUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
diff --git a/keyboards/sentraq/number_pad/config.h b/keyboards/sentraq/number_pad/config.h
index 0426773a68..a3b13ac2f7 100644
--- a/keyboards/sentraq/number_pad/config.h
+++ b/keyboards/sentraq/number_pad/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sentraq
-#define PRODUCT Sentraq Number Pad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F5, F0, B5, D6, D4 }
#define MATRIX_COL_PINS { C7, D5, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sentraq/number_pad/info.json b/keyboards/sentraq/number_pad/info.json
index 806edcea27..b0c0ca370d 100644
--- a/keyboards/sentraq/number_pad/info.json
+++ b/keyboards/sentraq/number_pad/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "Sentraq Number Pad",
+ "keyboard_name": "Number Pad",
+ "manufacturer": "Sentraq",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"url": "https://sentraq.com/collections/kits/products/number-pad-rgb-kit",
"layouts": {
"LAYOUT_numpad_5x4": {
diff --git a/keyboards/sentraq/s60_x/default/config.h b/keyboards/sentraq/s60_x/default/config.h
index 3f08499531..25baca4b88 100644
--- a/keyboards/sentraq/s60_x/default/config.h
+++ b/keyboards/sentraq/s60_x/default/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sentraq
-#define PRODUCT S60-X
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 }
-#define UNUSED_PINS { F0 }
/* number of backlight levels */
#define BACKLIGHT_PIN B7
diff --git a/keyboards/sentraq/s60_x/default/info.json b/keyboards/sentraq/s60_x/default/info.json
new file mode 100644
index 0000000000..3f0110679d
--- /dev/null
+++ b/keyboards/sentraq/s60_x/default/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "S60-X"
+}
diff --git a/keyboards/sentraq/s60_x/info.json b/keyboards/sentraq/s60_x/info.json
index 6d664193c5..424c576c72 100644
--- a/keyboards/sentraq/s60_x/info.json
+++ b/keyboards/sentraq/s60_x/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "S60-X",
+ "manufacturer": "Sentraq",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/sentraq/s60_x/keymaps/amnesia0287/keymap.c b/keyboards/sentraq/s60_x/keymaps/amnesia0287/keymap.c
index c17c9e7449..238c744ee3 100644
--- a/keyboards/sentraq/s60_x/keymaps/amnesia0287/keymap.c
+++ b/keyboards/sentraq/s60_x/keymaps/amnesia0287/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_HL] = LAYOUT(
RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF, BL_STEP, BL_ON, BL_DEC, BL_INC, KC_TRNS, LALT(KC_F4),
- RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, 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_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c
index 2bfe82977c..e0644f0a21 100644
--- a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c
+++ b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c
@@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[FUNCTION] = 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_INS, RESET, \
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, QK_BOOT, \
_______, _______, KC_CM_W, KC_CM_E, KC_MPRV, KC_MPLY, KC_MNXT, KC_CM_U, KC_CM_I, KC_CM_O, KC_CM_P, KC_PSCR, KC_SLCK, KC_PAUS, \
_______, KC_CM_A, KC_CM_S, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_CM_K, KC_CM_L, _______, _______, _______, KC_PENT, \
_______, _______, KC_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, KC_PGUP, KC_GMLK, \
diff --git a/keyboards/sentraq/s60_x/keymaps/bluebear/keymap.c b/keyboards/sentraq/s60_x/keymaps/bluebear/keymap.c
index 2ba29b09ee..17c39d0b37 100644
--- a/keyboards/sentraq/s60_x/keymaps/bluebear/keymap.c
+++ b/keyboards/sentraq/s60_x/keymaps/bluebear/keymap.c
@@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 2: Mouse Keys Layer
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
- │RESET│ F13 │ F14 │ F15 │ F16 │ F17 │ F18 │ F19 │ F20 │ F21 │ F22 │ F23 │ F24 │ │ │
+ │QK_BOOT│ F13 │ F14 │ F15 │ F16 │ F17 │ F18 │ F19 │ F20 │ F21 │ F22 │ F23 │ F24 │ │ │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│DEBUG│ │ │ │ │ │ │BTN1 │MS_UP│BTN2 │WH_UP│ │ │ │█████│
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
@@ -220,7 +220,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MOUSE] = LAYOUT(
- RESET, 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_NO, KC_NO, \
+ QK_BOOT, 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_NO, KC_NO, \
DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_UP, KC_BTN2, KC_WH_U, KC_NO, KC_NO, KC_NO, \
TFS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_WH_D, KC_BTN3, KC_NO, KC_TRNS, \
MAGSYS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, \
diff --git a/keyboards/sentraq/s60_x/rgb/config.h b/keyboards/sentraq/s60_x/rgb/config.h
index 63abf8cc21..0ab4093862 100644
--- a/keyboards/sentraq/s60_x/rgb/config.h
+++ b/keyboards/sentraq/s60_x/rgb/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sentraq
-#define PRODUCT S60-X-RGB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 }
-#define UNUSED_PINS
/* number of backlight levels */
#define BACKLIGHT_PIN B7
diff --git a/keyboards/sentraq/s60_x/rgb/info.json b/keyboards/sentraq/s60_x/rgb/info.json
new file mode 100644
index 0000000000..bcee4ef9db
--- /dev/null
+++ b/keyboards/sentraq/s60_x/rgb/info.json
@@ -0,0 +1,3 @@
+{
+ "keyboard_name": "S60-X-RGB"
+}
diff --git a/keyboards/sentraq/s65_plus/config.h b/keyboards/sentraq/s65_plus/config.h
index 2f02e8e162..cc7fd7e753 100644
--- a/keyboards/sentraq/s65_plus/config.h
+++ b/keyboards/sentraq/s65_plus/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT S65-PLUS
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sentraq
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, E6, B0, B1, D5, B2, B3, D0, D1, D2, D4, D6, D7, F7 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN B7
#define LED_PIN_ON_STATE 0
diff --git a/keyboards/sentraq/s65_plus/info.json b/keyboards/sentraq/s65_plus/info.json
index 141f7d6c63..625bc63fd3 100644
--- a/keyboards/sentraq/s65_plus/info.json
+++ b/keyboards/sentraq/s65_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "S65-Plus",
+ "manufacturer": "Sentraq",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/sentraq/s65_x/config.h b/keyboards/sentraq/s65_x/config.h
index b8886bf67f..2381a7c7d1 100644
--- a/keyboards/sentraq/s65_x/config.h
+++ b/keyboards/sentraq/s65_x/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT S65-X RGB
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sentraq
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B4 }
#define MATRIX_COL_PINS { F4, F1, F0, E6, B0, B1, D5, B2, B3, D0, D1, D2, D4, D6, D7, F7 }
-#define UNUSED_PINS
/* number of backlight levels */
#define BACKLIGHT_PIN B7
diff --git a/keyboards/sentraq/s65_x/info.json b/keyboards/sentraq/s65_x/info.json
index 20088cee89..7e87cf2011 100644
--- a/keyboards/sentraq/s65_x/info.json
+++ b/keyboards/sentraq/s65_x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "S65-X PCB",
+ "manufacturer": "Sentraq",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/sentraq/s65_x/keymaps/smt/keymap.c b/keyboards/sentraq/s65_x/keymaps/smt/keymap.c
index 8c3984c21f..ab5eb8d820 100644
--- a/keyboards/sentraq/s65_x/keymaps/smt/keymap.c
+++ b/keyboards/sentraq/s65_x/keymaps/smt/keymap.c
@@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────â”
* │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ RGB │
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
- * │ │ │ │ │RESET│ │ │QWRTY│COLMK│DVORK│ │ │ │ │█████│RGBV+│
+ * │ │ │ │ │QK_BOOT│ │ │QWRTY│COLMK│DVORK│ │ │ │ │█████│RGBV+│
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
* │ │ │ _CL │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│RGBV-│
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 4: ANSI control layer */
[_CL] = LAYOUT_65_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, \
- _______, _______, _______, _______, RESET, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, RGB_VAI, \
+ _______, _______, _______, _______, QK_BOOT, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, RGB_VAI, \
_______, _______, MO(_CL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, \
MO(_FL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, \
_______, _______, _______, RGB_MOD, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
diff --git a/keyboards/sergiopoverony/creator_pro/config.h b/keyboards/sergiopoverony/creator_pro/config.h
index 3bf7efc77d..d83cc7c635 100644
--- a/keyboards/sergiopoverony/creator_pro/config.h
+++ b/keyboards/sergiopoverony/creator_pro/config.h
@@ -17,14 +17,6 @@
#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
@@ -45,5 +37,4 @@
#define ENCODERS_PAD_B { D3 }
#define ENCODER_RESOLUTION 1
-#define UNUSED_PINS
diff --git a/keyboards/sergiopoverony/creator_pro/info.json b/keyboards/sergiopoverony/creator_pro/info.json
index a64615a78f..71d82a85bb 100644
--- a/keyboards/sergiopoverony/creator_pro/info.json
+++ b/keyboards/sergiopoverony/creator_pro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Creator Pro",
+ "manufacturer": "SergioPoverony",
"url": "https://github.com/sergiopoverony",
"maintainer": "SergioPoverony",
+ "usb": {
+ "vid": "0x8B1E",
+ "pid": "0x0C00",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sets3n/kk980/config.h b/keyboards/sets3n/kk980/config.h
index 016ab0d460..e24468054e 100644
--- a/keyboards/sets3n/kk980/config.h
+++ b/keyboards/sets3n/kk980/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x404A
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sets3n
-#define PRODUCT kk980
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -43,7 +36,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B2, B3, D3, D4, D5, D6 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, B1, B0, D0, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sets3n/kk980/info.json b/keyboards/sets3n/kk980/info.json
index dad5530d44..9b712f7507 100644
--- a/keyboards/sets3n/kk980/info.json
+++ b/keyboards/sets3n/kk980/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kk980",
+ "manufacturer": "Sets3n",
"url": "https://i.imgur.com/MQA6FXb.jpg",
"maintainer": "Sets3n",
+ "usb": {
+ "vid": "0x404A",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sets3n/kk980/readme.md b/keyboards/sets3n/kk980/readme.md
index 0a1142e571..a238ae0524 100644
--- a/keyboards/sets3n/kk980/readme.md
+++ b/keyboards/sets3n/kk980/readme.md
@@ -14,7 +14,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## HEX
diff --git a/keyboards/shambles/config.h b/keyboards/shambles/config.h
index 26f9c9515e..52dc73121e 100644
--- a/keyboards/shambles/config.h
+++ b/keyboards/shambles/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4F42
-#define DEVICE_VER 0x0001
-#define MANUFACTURER OsciX
-#define PRODUCT Shambles TKL
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, B3, B1, F7 }
#define MATRIX_COL_PINS { D3, D1, D0, D4, C6, D7, E6, B4, B5, B6, B2, F4, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/shambles/info.json b/keyboards/shambles/info.json
index 5952442d7d..071f0c7568 100644
--- a/keyboards/shambles/info.json
+++ b/keyboards/shambles/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Shambles TKL",
+ "manufacturer": "OsciX",
"url": "",
"maintainer": "OsciX",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0F42",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1.5, "y":0}, {"label":"K02", "x":2.5, "y":0}, {"label":"K03", "x":3.5, "y":0}, {"label":"K04", "x":4.75, "y":0}, {"label":"K05", "x":5.75, "y":0}, {"label":"K06", "x":6.75, "y":0}, {"label":"K07", "x":8, "y":0}, {"label":"K08", "x":9, "y":0}, {"label":"K09", "x":10.25, "y":0}, {"label":"K10", "x":11.25, "y":0}, {"label":"K11", "x":12.25, "y":0}, {"label":"K12", "x":0, "y":1.5}, {"label":"K13", "x":1, "y":1.5}, {"label":"K14", "x":2, "y":1.5}, {"label":"K15", "x":3, "y":1.5}, {"label":"K16", "x":4, "y":1.5}, {"label":"K17", "x":5, "y":1.5}, {"label":"K18", "x":6, "y":1.5}, {"label":"K19", "x":7, "y":1.5}, {"label":"K20", "x":8, "y":1.5}, {"label":"K21", "x":9, "y":1.5}, {"label":"K22", "x":10.25, "y":1.25}, {"label":"K23", "x":11.25, "y":1.25}, {"label":"K24", "x":12.25, "y":1.25}, {"label":"K25", "x":0, "y":2.5}, {"label":"K26", "x":1, "y":2.5}, {"label":"K27", "x":2, "y":2.5}, {"label":"K28", "x":3, "y":2.5}, {"label":"K29", "x":4, "y":2.5}, {"label":"K30", "x":5, "y":2.5}, {"label":"K31", "x":6, "y":2.5}, {"label":"K32", "x":7, "y":2.5}, {"label":"K33", "x":8, "y":2.5}, {"label":"K34", "x":9, "y":2.5}, {"label":"K35", "x":11.25, "y":2.5}, {"label":"K36", "x":0.5, "y":3.5}, {"label":"K37", "x":1.5, "y":3.5}, {"label":"K38", "x":2.5, "y":3.5}, {"label":"K39", "x":3.5, "y":3.5}, {"label":"K40", "x":4.5, "y":3.5, "w":2}, {"label":"K41", "x":6.5, "y":3.5}, {"label":"K42", "x":7.5, "y":3.5}, {"label":"K43", "x":8.5, "y":3.5}, {"label":"K44", "x":10.25, "y":3.5}, {"label":"K45", "x":11.25, "y":3.5}, {"label":"K43", "x":12.25, "y":3.5}]
diff --git a/keyboards/shapeshifter4060/config.h b/keyboards/shapeshifter4060/config.h
index ee84318f3d..0846a73e0a 100644
--- a/keyboards/shapeshifter4060/config.h
+++ b/keyboards/shapeshifter4060/config.h
@@ -19,21 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0x1209 // pid.codes Vendor ID
-#define PRODUCT_ID 0xA1F1 // Shapeshifter 4060: https://pid.codes/1209/A1F1/
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Vosechu
-#define PRODUCT Shapeshifter 4060
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D0, D1, B1, B3, B2, B6, B5, B4, E6, D7, C6, D4 }
-#define UNUSED_PINS { D2, D3 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/shapeshifter4060/info.json b/keyboards/shapeshifter4060/info.json
index 5ec2bc2b03..14a0e4407f 100644
--- a/keyboards/shapeshifter4060/info.json
+++ b/keyboards/shapeshifter4060/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Shapeshifter 4060",
+ "manufacturer": "Vosechu",
"url": "kitsunekeyboards.com",
"maintainer": "vosechu",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xA1F1",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/shapeshifter4060/keymaps/default/keymap.c b/keyboards/shapeshifter4060/keymaps/default/keymap.c
index 88ea5a7138..15f8d3a82f 100644
--- a/keyboards/shapeshifter4060/keymaps/default/keymap.c
+++ b/keyboards/shapeshifter4060/keymaps/default/keymap.c
@@ -86,6 +86,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ , BWSR_BK , TAB_LFT , KC_UP , TAB_RGT , BWSR_FW , KC_MUTE , XXXXXXX , SCR_LFT , SCR_FUL , SCR_RGT , _______ ,
_______ , XXXXXXX , KC_LEFT , KC_DOWN , KC_RGHT , KC_PGUP , KC_VOLU , SLACKUP , XXXXXXX , XXXXXXX , TO_QW , _______ ,
_______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_PGDN , KC_VOLD , SLACKDN , XXXXXXX , XXXXXXX , TO_DV , _______ ,
- _______ , QK_BOOT , _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______
+ _______ , QK_BOOT, _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______
)
};
diff --git a/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
index eb04506ec0..f2a75c38cc 100644
--- a/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
+++ b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DV] = LAYOUT(
- PAWFIVE , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , RESET ,
+ PAWFIVE , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , QK_BOOT,
KC_ESC , KC_A , KC_O , KC_E , LWR_U , KC_I , KC_D , RSE_H , KC_T , KC_N , KC_S , XXXXXXX ,
XXXXXXX , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_ENT ,
XXXXXXX , CTL_GRV , ALT_TAB , KC_LGUI , LFT_BK , SFT_SPC , KC_SPC , LFT_ENT , KC_MINS , KC_EQL , KC_SLSH , KC_BSLS
@@ -48,6 +48,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ , BWSR_BK , TAB_LFT , KC_UP , TAB_RGT , BWSR_FW , KC_MUTE , XXXXXXX , SCR_LFT , SCR_FUL , SCR_RGT , _______ ,
_______ , XXXXXXX , KC_LEFT , KC_DOWN , KC_RGHT , KC_PGUP , KC_VOLU , SLACKUP , XXXXXXX , XXXXXXX , TO(QW) , _______ ,
_______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_PGDN , KC_VOLD , SLACKDN , XXXXXXX , XXXXXXX , TO(DV) , _______ ,
- _______ , RESET , _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______
+ _______ , QK_BOOT, _______ , _______ , _LAYER_ , KC_BSPC , _______ , KC_LSFT , KC_LGUI , KC_LALT , KC_LCTL , _______
)
};
diff --git a/keyboards/shapeshifter4060/readme.md b/keyboards/shapeshifter4060/readme.md
index 2f134ce15b..d318502c20 100644
--- a/keyboards/shapeshifter4060/readme.md
+++ b/keyboards/shapeshifter4060/readme.md
@@ -26,7 +26,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
- **Physical reset button**: Briefly press the button on the top of the PCB
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
## Changelog
diff --git a/keyboards/shiro/config.h b/keyboards/shiro/config.h
index 80243234e7..c2bb97a1cc 100644
--- a/keyboards/shiro/config.h
+++ b/keyboards/shiro/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER T.Shinohara
-#define PRODUCT Shiro
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/shiro/info.json b/keyboards/shiro/info.json
index a4be71c6d3..e2ff5a96dd 100644
--- a/keyboards/shiro/info.json
+++ b/keyboards/shiro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Shiro",
+ "manufacturer": "T.Shinohara",
"url": "https://github.com/ShinoharaTa/keyboards/blob/master/Shiro/manual/build_guide_ja.md",
"maintainer": "T.Shinohara",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/shk9/config.h b/keyboards/shk9/config.h
index 059515c776..a23a37cb53 100644
--- a/keyboards/shk9/config.h
+++ b/keyboards/shk9/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5348
-#define PRODUCT_ID 0x4B39
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Superhuman
-#define PRODUCT SHK9
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { B0, B1, B2 }
#define MATRIX_COL_PINS { B3, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/shk9/info.json b/keyboards/shk9/info.json
index 529668ce0d..7784728b0a 100644
--- a/keyboards/shk9/info.json
+++ b/keyboards/shk9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SHK9",
+ "manufacturer": "Superhuman",
"url": "http://superhuman.website",
"maintainer": "Sam Hudson",
+ "usb": {
+ "vid": "0x5348",
+ "pid": "0x4B39",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/shoc/config.h b/keyboards/shoc/config.h
new file mode 100644
index 0000000000..98084059af
--- /dev/null
+++ b/keyboards/shoc/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 JannikB5825
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 OLED_DISPLAY_128X64
+#define OLED_TIMEOUT 300000
+
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B6, B2 }
+#define MATRIX_COL_PINS { D3, D2, D4, C6, D7, E6, B4, B5 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
diff --git a/keyboards/shoc/info.json b/keyboards/shoc/info.json
new file mode 100644
index 0000000000..d398e67956
--- /dev/null
+++ b/keyboards/shoc/info.json
@@ -0,0 +1,83 @@
+{
+ "keyboard_name": "Shoc",
+ "manufacturer": "JannikB5825",
+ "url": "https://github.com/JannikB5825/Shoc",
+ "maintainer": "JannikB5825",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "1.0.0"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "caterina",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "x": 0, "y": 0 },
+ { "x": 1, "y": 0 },
+ { "x": 2, "y": 0 },
+ { "x": 3, "y": 0 },
+ { "x": 4, "y": 0 },
+ { "x": 5, "y": 0 },
+ { "x": 6, "y": 0 },
+ { "x": 7, "y": 0 },
+ { "x": 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": 7, "y": 1 },
+ { "x": 0, "y": 2, "w": 1.5 },
+ { "x": 1.5, "y": 2 },
+ { "x": 2.5, "y": 2 },
+ { "x": 3.5, "y": 2 },
+ { "x": 4.5, "y": 2 },
+ { "x": 5.5, "y": 2 },
+ { "x": 6.5, "y": 2 },
+ { "x": 7.5, "y": 2 },
+ { "x": 0, "y": 3, "w": 2 },
+ { "x": 2, "y": 3 },
+ { "x": 3, "y": 3 },
+ { "x": 4, "y": 3 },
+ { "x": 5, "y": 3 },
+ { "x": 6, "y": 3 },
+ { "x": 7, "y": 3 },
+ { "x": 8, "y": 3 },
+ { "x": 0, "y": 4, "w": 1.5 },
+ { "x": 1.5, "y": 4 },
+ { "x": 2.5, "y": 4, "w": 1.5 },
+ { "x": 4, "y": 4, "w": 2 },
+ { "x": 6, "y": 4 },
+ { "x": 7, "y": 4, "w": 2 },
+ { "x": 9, "y": 4 },
+ { "x": 10, "y": 4 },
+ { "x": 12, "y": 0, "w": 2 },
+ { "x": 11, "y": 0 },
+ { "x": 10, "y": 0 },
+ { "x": 9, "y": 0 },
+ { "x": 8, "y": 0 },
+ { "x": 8, "y": 1 },
+ { "x": 9, "y": 1 },
+ { "x": 10, "y": 1 },
+ { "x": 13, "y": 4 },
+ { "x": 12, "y": 4 },
+ { "x": 11, "y": 4 },
+ { "x": 13, "y": 3 },
+ { "x": 12, "y": 3 },
+ { "x": 11, "y": 3 },
+ { "x": 10, "y": 3 },
+ { "x": 9, "y": 3 },
+ { "x": 11, "y": 1 },
+ { "x": 12, "y": 1 },
+ { "x": 13, "y": 1 },
+ { "x": 12.5, "y": 2, "w": 1.5 },
+ { "x": 11.5, "y": 2 },
+ { "x": 10.5, "y": 2 },
+ { "x": 9.5, "y": 2 },
+ { "x": 8.5, "y": 2 }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/shoc/keymaps/bongo/keymap.c b/keyboards/shoc/keymaps/bongo/keymap.c
new file mode 100644
index 0000000000..14779f1d75
--- /dev/null
+++ b/keyboards/shoc/keymaps/bongo/keymap.c
@@ -0,0 +1,176 @@
+/* Copyright 2022 JannikB5825
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J,
+ KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL,
+ KC_BSPC, KC_MINS, KC_0, KC_9, KC_8, KC_I, KC_O, KC_P,
+ KC_RGHT, KC_DOWN, KC_LEFT, KC_EQL, KC_UP, KC_SLSH, KC_COMM, KC_DOT,
+ KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K),
+
+ [1] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J,
+ KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL,
+ KC_BSPC, KC_F11, KC_F10, KC_F9, KC_F8, KC_I, KC_O, KC_P,
+ KC_RGHT, KC_DOWN, KC_LEFT, KC_DEL, KC_UP, KC_SLSH, KC_COMM, KC_DOT,
+ KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K)
+
+
+};
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_0;
+}
+//full credit goes to https://www.reddit.com/user/Pop-X-/ only small feature comforts were added
+
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 30 // below this wpm value your animation will idle
+#define TAP_FRAMES 2
+#define TAP_SPEED 60 // above this wpm value typing animation to triggere
+
+#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+#define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+uint8_t current_tap_frame = 0;
+
+// Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach.
+static void render_anim(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 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,128,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, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, 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,128,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, 24,100,130, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,192, 56, 4, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 8, 4, 2, 2, 4, 24, 96,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,128,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, 60,194, 1, 1, 2, 2, 4, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0,129,130,130,132, 8, 16, 32, 64,128, 0, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 25, 6, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 27, 3, 0, 64,160, 34, 36, 20, 18, 18, 18, 11, 8, 8, 8, 8, 5, 5, 9, 9, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 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,128,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, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 4, 2, 2, 2, 4, 56, 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,128,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, 28,226, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0,192,193,193,194, 4, 8, 16, 32, 64,128, 0, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ }
+ };
+ static const char PROGMEM prep[][ANIM_SIZE] = {
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 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,128,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, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132,195,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 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, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ }
+ };
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 64,128, 0, 0, 0, 0, 0, 0, 0,248,248,248,248, 0, 0, 0, 0, 0,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,128,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, 30,225, 0, 0, 1, 1, 2, 2,129,128,128, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1, 1, 2, 4, 8, 16, 32, 67,135, 7, 1, 0,184,188,190,159, 95, 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 12, 3, 0, 0, 24, 6, 5,152,153,132, 67,124, 65, 65, 64, 64, 32, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 8, 8, 16, 16, 16, 16, 16, 17, 15, 1, 61,124,252,252,252,252,252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 2, 2, 1, 1, 1, 1, 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, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0, 0, 0,128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 4, 2, 1, 1, 2, 12, 48, 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,128,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, 30,225, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 48, 48, 0, 0, 1,225, 26, 6, 9, 49, 53, 1,138,124, 0, 0,128,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,196, 4,196, 4,196, 2,194, 2,194, 1, 1, 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,128,112, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 64,160, 33, 34, 18, 17, 17, 17, 9, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,170,255,255,195,191,127, 3,127,191,195,255,255,170,170, 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,128,128,128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3,122,122,121,121,121,121, 57, 49, 2, 2, 4, 4, 8, 8, 8,136,136,135,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, 2,130,135, 31, 7,159, 7, 28, 7,159, 7,159, 7, 2,130, 0, 0, 0, 0,
+ 32, 16, 16, 16, 16, 8, 8, 8, 8, 4, 4, 4, 4, 2, 2, 2, 2, 1, 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, 48,120,124,254,255, 63, 7, 0, 0, 0, 0,255,255,127,127, 63, 62, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 8, 23, 0, 15, 1, 2, 1, 15, 0, 15, 2, 5, 8
+ },
+ };
+
+ //assumes 1 frame prep stage
+ void animation_phase(void) {
+ if(get_current_wpm() <=IDLE_SPEED){
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
+ }
+ if(get_current_wpm() >IDLE_SPEED && get_current_wpm() <TAP_SPEED){
+ oled_write_raw_P(prep[0], ANIM_SIZE);
+ }
+ if(get_current_wpm() >=TAP_SPEED){
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
+ }
+ }
+ if(get_current_wpm() != 000) {
+ oled_on();
+ if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ anim_sleep = timer_read32();
+ } else {
+ if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
+
+
+bool oled_task_user(void) {
+ render_anim();
+ oled_set_cursor(0,6);
+ oled_write_P(PSTR(" WPM: "), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false);
+ if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)){
+ oled_set_cursor(0,5);
+ oled_write_P(PSTR(" CAPS LOCK"), false);
+ }
+ else{
+ oled_set_cursor(0,5);
+ oled_write_P(PSTR(" "), false);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/shoc/keymaps/default/keymap.c b/keyboards/shoc/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a5916db65a
--- /dev/null
+++ b/keyboards/shoc/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2022 JannikB5825
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J,
+ KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL,
+ KC_BSPC, KC_MINS, KC_0, KC_9, KC_8, KC_I, KC_O, KC_P,
+ KC_RGHT, KC_DOWN, KC_LEFT, KC_EQL, KC_UP, KC_SLSH, KC_COMM, KC_DOT,
+ KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K),
+
+ [1] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J,
+ KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL,
+ KC_BSPC, KC_F11, KC_F10, KC_F9, KC_F8, KC_I, KC_O, KC_P,
+ KC_RGHT, KC_DOWN, KC_LEFT, KC_DEL, KC_UP, KC_SLSH, KC_COMM, KC_DOT,
+ KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K)
+
+
+};
diff --git a/keyboards/shoc/readme.md b/keyboards/shoc/readme.md
new file mode 100644
index 0000000000..4f81d47efb
--- /dev/null
+++ b/keyboards/shoc/readme.md
@@ -0,0 +1,21 @@
+# Shoc
+
+![Shoc](https://i.imgur.com/k00Uz6wh.jpg)
+
+A 64 Key keyboard with an Oled Display.
+
+* Keyboard Maintainer: [JannikB5825](https://github.com/JannikB5825)
+* Hardware Supported: Shoc PCB, Pro Micro 5V/16MHz and compatible.
+* Hardware Availability: [Shoc](https://github.com/JannikB5825/Shoc).
+
+Make example for this keyboard (after setting up your build environment):
+
+ make shoc:default
+
+Flashing example for this keyboard:
+
+ make shoc:default:flash
+
+## Bootloader
+
+Briefly press the button along the outer edge of the PCB next to the microcontroller.
diff --git a/keyboards/shoc/rules.mk b/keyboards/shoc/rules.mk
new file mode 100644
index 0000000000..806df50421
--- /dev/null
+++ b/keyboards/shoc/rules.mk
@@ -0,0 +1,15 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+WPM_ENABLE = yes
diff --git a/keyboards/shoc/shoc.c b/keyboards/shoc/shoc.c
new file mode 100644
index 0000000000..eabb767d28
--- /dev/null
+++ b/keyboards/shoc/shoc.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 JannikB5825
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "shoc.h"
diff --git a/keyboards/shoc/shoc.h b/keyboards/shoc/shoc.h
new file mode 100644
index 0000000000..3ea48781e0
--- /dev/null
+++ b/keyboards/shoc/shoc.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 JannikB5825
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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, 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 \
+) { \
+ { k00, k01, k02, 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 } \
+}
+
diff --git a/keyboards/sidderskb/majbritt/rev1/config.h b/keyboards/sidderskb/majbritt/rev1/config.h
index a6ccb2221b..cc05bc722d 100644
--- a/keyboards/sidderskb/majbritt/rev1/config.h
+++ b/keyboards/sidderskb/majbritt/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534B // SB
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SiddersKB
-#define PRODUCT Majbritt
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/sidderskb/majbritt/rev1/info.json b/keyboards/sidderskb/majbritt/rev1/info.json
index 2677edb794..c337ab9cb1 100644
--- a/keyboards/sidderskb/majbritt/rev1/info.json
+++ b/keyboards/sidderskb/majbritt/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Majbritt",
+ "keyboard_name": "Majbritt Rev1",
+ "manufacturer": "SiddersKb",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x534B",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sidderskb/majbritt/rev2/config.h b/keyboards/sidderskb/majbritt/rev2/config.h
index 6bee0fa6bf..ac78a636e3 100644
--- a/keyboards/sidderskb/majbritt/rev2/config.h
+++ b/keyboards/sidderskb/majbritt/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534B // SB
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER SiddersKb
-#define PRODUCT Majbritt
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/sidderskb/majbritt/rev2/info.json b/keyboards/sidderskb/majbritt/rev2/info.json
index 3e2aa450ad..9c3af6d1c4 100644
--- a/keyboards/sidderskb/majbritt/rev2/info.json
+++ b/keyboards/sidderskb/majbritt/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Majbritt Rev2",
- "maintainer": "Sleepdealr",
+ "manufacturer": "SiddersKb",
"url": "https://sidderskb.co.uk/",
+ "maintainer": "Sleepdealr",
+ "usb": {
+ "vid": "0x534B",
+ "pid": "0x0001",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/signum/3_0/config.h b/keyboards/signum/3_0/config.h
index d0c3175d0f..4ecd7cb9fd 100644
--- a/keyboards/signum/3_0/config.h
+++ b/keyboards/signum/3_0/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Troy Fletcher
-#define PRODUCT Signum30
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/signum/3_0/elitec/config.h b/keyboards/signum/3_0/elitec/config.h
index fdbfac3c93..0c8ad2e414 100644
--- a/keyboards/signum/3_0/elitec/config.h
+++ b/keyboards/signum/3_0/elitec/config.h
@@ -5,4 +5,3 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, D1, F5, B5 }
#define MATRIX_COL_PINS { B4, D7, D0, E6, D4, F6, F4, F7, B1, B3, C6, B2 }
-#define UNUSED_PINS
diff --git a/keyboards/signum/3_0/info.json b/keyboards/signum/3_0/info.json
index 2966e5114e..632d87e711 100644
--- a/keyboards/signum/3_0/info.json
+++ b/keyboards/signum/3_0/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Signum 3.0",
+ "manufacturer": "Troy Fletcher",
"url": "http://troyfletcher.net/",
"maintainer": "jceb",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_4x12"
},
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/config.h b/keyboards/signum/3_0/keymaps/sgurenkov/config.h
index 5f8d0d02b8..7d164aa3a9 100644
--- a/keyboards/signum/3_0/keymaps/sgurenkov/config.h
+++ b/keyboards/signum/3_0/keymaps/sgurenkov/config.h
@@ -29,9 +29,6 @@
// Auto Shift and Retro Shift (Auto Shift for Tap Hold).
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
-// Recommended for heavy chording.
-#define QMK_KEYS_PER_SCAN 4
-
// Mouse key speed and acceleration.
#undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0
diff --git a/keyboards/signum/3_0/teensy/config.h b/keyboards/signum/3_0/teensy/config.h
index 343131fce0..2a81c0f565 100644
--- a/keyboards/signum/3_0/teensy/config.h
+++ b/keyboards/signum/3_0/teensy/config.h
@@ -19,5 +19,4 @@
// clang-format off
#define MATRIX_ROW_PINS { B0, B3, F6, C7 }
#define MATRIX_COL_PINS { C6, D2, B7, D3, D0, F7, F5, B6, B5, B4, D1, D7 }
-#define UNUSED_PINS
// clang-format on
diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h
index 28b53eb066..28339ff431 100644
--- a/keyboards/silverbullet44/config.h
+++ b/keyboards/silverbullet44/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SwanMatch
-#define PRODUCT SilverBullet44
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/info.json
index 40e7fb832f..bd6878aa66 100644
--- a/keyboards/silverbullet44/info.json
+++ b/keyboards/silverbullet44/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SilverBullet44",
+ "manufacturer": "SwanMatch",
"url": "https://swanmatch.booth.pm/items/1561270",
"maintainer": "swanmatch",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/singa/config.h b/keyboards/singa/config.h
index 1d3ed105e1..e612ba93b2 100644
--- a/keyboards/singa/config.h
+++ b/keyboards/singa/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x736B // SK
-#define PRODUCT_ID 0x7575
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Singa Keyboards
-#define PRODUCT Singa
-
#define RGBLED_NUM 18
#define MATRIX_ROWS 7
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/singa/info.json b/keyboards/singa/info.json
index d65bf0c07b..ca79d19e72 100644
--- a/keyboards/singa/info.json
+++ b/keyboards/singa/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Singa",
+ "manufacturer": "Singa Keyboards",
"url": "http://singakbd.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x736B",
+ "pid": "0x7575",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K05", "x":0, "y":0}, {"label":"K25", "x":1, "y":0}, {"label":"K35", "x":2, "y":0}, {"label":"K45", "x":3, "y":0}, {"label":"K55", "x":4, "y":0}, {"label":"K06", "x":5, "y":0}, {"label":"KA6", "x":6, "y":0}, {"label":"KA7", "x":7, "y":0}, {"label":"K07", "x":8, "y":0}, {"label":"KB5", "x":9, "y":0}, {"label":"KC5", "x":10, "y":0}, {"label":"KD5", "x":11, "y":0}, {"label":"KE5", "x":12, "y":0}, {"label":"KD1", "x":13, "y":0}, {"label":"KE1", "x":14, "y":0}, {"label":"KE2", "x":15, "y":0}, {"label":"K04", "x":0, "y":1}, {"label":"K14", "x":1, "y":1}, {"label":"K24", "x":2, "y":1}, {"label":"K34", "x":3, "y":1}, {"label":"K44", "x":4, "y":1}, {"label":"K54", "x":5, "y":1}, {"label":"K16", "x":6, "y":1}, {"label":"KB6", "x":7, "y":1}, {"label":"KB7", "x":8, "y":1}, {"label":"K17", "x":9, "y":1}, {"label":"KA4", "x":10, "y":1}, {"label":"KB4", "x":11, "y":1}, {"label":"KC4", "x":12, "y":1}, {"label":"KE4", "x":13, "y":1}, {"label":"KE4", "x":14, "y":1}, {"label":"KD0", "x":15, "y":1}, {"label":"K03", "x":0, "y":2, "w":1.5}, {"label":"K13", "x":1.5, "y":2}, {"label":"K23", "x":2.5, "y":2}, {"label":"K33", "x":3.5, "y":2}, {"label":"K43", "x":4.5, "y":2}, {"label":"K53", "x":5.5, "y":2}, {"label":"K26", "x":6.5, "y":2}, {"label":"KC6", "x":7.5, "y":2}, {"label":"KC7", "x":8.5, "y":2}, {"label":"K27", "x":9.5, "y":2}, {"label":"KA3", "x":10.5, "y":2}, {"label":"KB3", "x":11.5, "y":2}, {"label":"KC3", "x":12.5, "y":2}, {"label":"KD3", "x":13.5, "y":2, "w":1.5}, {"label":"K67", "x":15, "y":2}, {"label":"K02", "x":0, "y":3, "w":1.75}, {"label":"K12", "x":1.75, "y":3}, {"label":"K22", "x":2.75, "y":3}, {"label":"K32", "x":3.75, "y":3}, {"label":"K42", "x":4.75, "y":3}, {"label":"K52", "x":5.75, "y":3}, {"label":"K36", "x":6.75, "y":3}, {"label":"KD6", "x":7.75, "y":3}, {"label":"KD7", "x":8.75, "y":3}, {"label":"K37", "x":9.75, "y":3}, {"label":"KA2", "x":10.75, "y":3}, {"label":"KB2", "x":11.75, "y":3}, {"label":"KD2", "x":12.75, "y":3}, {"label":"KD2", "x":13.75, "y":3, "w":1.25}, {"label":"KE0", "x":15, "y":3}, {"label":"K01", "x":0, "y":4, "w":1.25}, {"label":"K01", "x":1.25, "y":4}, {"label":"K11", "x":2.25, "y":4}, {"label":"K21", "x":3.25, "y":4}, {"label":"K31", "x":4.25, "y":4}, {"label":"K41", "x":5.25, "y":4}, {"label":"K51", "x":6.25, "y":4}, {"label":"K46", "x":7.25, "y":4}, {"label":"KE6", "x":8.25, "y":4}, {"label":"KE7", "x":9.25, "y":4}, {"label":"K47", "x":10.25, "y":4}, {"label":"KA1", "x":11.25, "y":4}, {"label":"KB1", "x":12.25, "y":4, "w":1.75}, {"label":"K86", "x":14, "y":4}, {"label":"K77", "x":15, "y":4}, {"label":"K00", "x":0, "y":5, "w":1.25}, {"label":"K00", "x":1.25, "y":5, "w":1.25}, {"label":"K20", "x":2.5, "y":5, "w":1.25}, {"label":"K56", "x":3.75, "y":5, "w":1}, {"label":"K56", "x":4.75, "y":5, "w":1.25}, {"label":"K20", "x":6, "y":5, "w":1.75}, {"label":"K56", "x":7.75, "y":5, "w":1.25}, {"label":"K56", "x":9, "y":5, "w":1}, {"label":"K57", "x":10, "y":5}, {"label":"K57", "x":11, "y":5}, {"label":"K57", "x":12, "y":5}, {"label":"K66", "x":13, "y":5}, {"label":"K76", "x":14, "y":5}, {"label":"K96", "x":15, "y":5}]
diff --git a/keyboards/singa/keymaps/amnesia0287/keymap.c b/keyboards/singa/keymaps/amnesia0287/keymap.c
index dc52122db6..c42b73fdce 100644
--- a/keyboards/singa/keymaps/amnesia0287/keymap.c
+++ b/keyboards/singa/keymaps/amnesia0287/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_wkl(
- 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, \
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, \
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, \
diff --git a/keyboards/singa/keymaps/test/keymap.c b/keyboards/singa/keymaps/test/keymap.c
index 6e284a4ac1..d31c277198 100644
--- a/keyboards/singa/keymaps/test/keymap.c
+++ b/keyboards/singa/keymaps/test/keymap.c
@@ -27,7 +27,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
- KC_ESC, RESET, 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_ESC, QK_BOOT, 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_NO, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, KC_PGDN,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT( /* Base */
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/sirius/uni660/rev1/config.h b/keyboards/sirius/uni660/rev1/config.h
index 4b810e2cd6..649fd5deda 100644
--- a/keyboards/sirius/uni660/rev1/config.h
+++ b/keyboards/sirius/uni660/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5352 // "SR"
-#define PRODUCT_ID 0x0201 // Second Product First Version
-#define DEVICE_VER 0x1912 // 2019.12
-#define MANUFACTURER SiRius
-#define PRODUCT Uni660
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/sirius/uni660/rev1/info.json b/keyboards/sirius/uni660/rev1/info.json
index f3a9b244e8..9960c4c35b 100644
--- a/keyboards/sirius/uni660/rev1/info.json
+++ b/keyboards/sirius/uni660/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Uni660",
+ "manufacturer": "SiRius",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5352",
+ "pid": "0x0201",
+ "device_version": "19.1.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sirius/uni660/rev2/ansi/config.h b/keyboards/sirius/uni660/rev2/ansi/config.h
index 19ee1166c3..649fd5deda 100644
--- a/keyboards/sirius/uni660/rev2/ansi/config.h
+++ b/keyboards/sirius/uni660/rev2/ansi/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5352 // "SR"
-#define PRODUCT_ID 0x0202 // Second Product Second Version
-#define DEVICE_VER 0x2004 // 2020.12
-#define MANUFACTURER SiRius
-#define PRODUCT Uni660 V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/sirius/uni660/rev2/ansi/info.json b/keyboards/sirius/uni660/rev2/ansi/info.json
index 630038cdd0..eaf2e8538a 100644
--- a/keyboards/sirius/uni660/rev2/ansi/info.json
+++ b/keyboards/sirius/uni660/rev2/ansi/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Uni660",
+ "keyboard_name": "Uni660 V2 ANSI",
+ "manufacturer": "SiRius",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5352",
+ "pid": "0x0202",
+ "device_version": "20.0.4"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/sirius/uni660/rev2/iso/config.h b/keyboards/sirius/uni660/rev2/iso/config.h
index f0f771707e..649fd5deda 100644
--- a/keyboards/sirius/uni660/rev2/iso/config.h
+++ b/keyboards/sirius/uni660/rev2/iso/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5352 // "SR"
-#define PRODUCT_ID 0x0203 // Second Product Third Version
-#define DEVICE_VER 0x2004 // 2020.12
-#define MANUFACTURER SiRius
-#define PRODUCT Uni660 V2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/sirius/uni660/rev2/iso/info.json b/keyboards/sirius/uni660/rev2/iso/info.json
index e2d72bfb51..bb46a2f3ab 100644
--- a/keyboards/sirius/uni660/rev2/iso/info.json
+++ b/keyboards/sirius/uni660/rev2/iso/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Uni660",
+ "keyboard_name": "Uni660 V2 ISO",
+ "manufacturer": "SiRius",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5352",
+ "pid": "0x0203",
+ "device_version": "20.0.4"
+ },
"layouts": {
"LAYOUT_iso": {
"layout": [
diff --git a/keyboards/sirius/unigo66/config.h b/keyboards/sirius/unigo66/config.h
index 777046db0c..d1511874ec 100644
--- a/keyboards/sirius/unigo66/config.h
+++ b/keyboards/sirius/unigo66/config.h
@@ -17,13 +17,6 @@ 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 0x1001
-#define DEVICE_VER 0x1901
-#define MANUFACTURER Sirius
-#define PRODUCT UniGo66
-
/* size of virtual matrix */
#define MATRIX_ROWS 16
#define MATRIX_COLS 16
diff --git a/keyboards/sirius/unigo66/info.json b/keyboards/sirius/unigo66/info.json
index d1acdeeb07..fca325dd92 100644
--- a/keyboards/sirius/unigo66/info.json
+++ b/keyboards/sirius/unigo66/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UniGo66",
+ "manufacturer": "Sirius",
"url": "https://discord.gg/GJ8bdM",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1001",
+ "device_version": "19.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
index 2425572bdc..e511cd5089 100644
--- a/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
+++ b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
@@ -74,7 +74,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
/* FN
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | RESET | | | | | | | | | | | | | | |
+ * | QK_BOOT | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | MAC | | | | | | | | | | PgDn | Up | PgUp | Print| Home |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -91,7 +91,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
* `-------------' `--------------'
*/
[_FN] = LAYOUT(
- RESET, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
MAC, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME,
WINDOWS, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END,
_______, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD,
diff --git a/keyboards/sixkeyboard/config.h b/keyboards/sixkeyboard/config.h
index a4d19a5ca1..f9379f5720 100644
--- a/keyboards/sixkeyboard/config.h
+++ b/keyboards/sixkeyboard/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x746B
-#define PRODUCT_ID 0x736B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER techkeys.us
-#define PRODUCT sixkeykeyboard
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
diff --git a/keyboards/sixkeyboard/info.json b/keyboards/sixkeyboard/info.json
index 9f8ffa4879..2c9206fcbf 100644
--- a/keyboards/sixkeyboard/info.json
+++ b/keyboards/sixkeyboard/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Techkeys SixKeyBoard",
+ "keyboard_name": "SixKeyBoard",
+ "manufacturer": "TechKeys",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x746B",
+ "pid": "0x736B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
diff --git a/keyboards/skeletn87/hotswap/config.h b/keyboards/skeletn87/hotswap/config.h
index 059daa0392..de3df5afbf 100644
--- a/keyboards/skeletn87/hotswap/config.h
+++ b/keyboards/skeletn87/hotswap/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF984
-#define PRODUCT_ID 0xB5E9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BredWorks
-#define PRODUCT Skeletn87 Hotswap
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skeletn87/hotswap/info.json b/keyboards/skeletn87/hotswap/info.json
index 9878d6d194..a310bb260b 100644
--- a/keyboards/skeletn87/hotswap/info.json
+++ b/keyboards/skeletn87/hotswap/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "skeletn87 hotswap",
+ "keyboard_name": "Skeletn87 Hotswap",
+ "manufacturer": "BredWorks",
"url": "",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0xF984",
+ "pid": "0xB5E9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/skeletn87/soldered/config.h b/keyboards/skeletn87/soldered/config.h
index 7580d0a43e..db7c1ab7a4 100644
--- a/keyboards/skeletn87/soldered/config.h
+++ b/keyboards/skeletn87/soldered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF984
-#define PRODUCT_ID 0xB5E8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER BredWorks
-#define PRODUCT Skeletn87
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skeletn87/soldered/info.json b/keyboards/skeletn87/soldered/info.json
index e3d8c6d999..c62f4e559e 100644
--- a/keyboards/skeletn87/soldered/info.json
+++ b/keyboards/skeletn87/soldered/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "skeletn87",
+ "keyboard_name": "Skeletn87",
+ "manufacturer": "BredWorks",
"url": "",
"maintainer": "kb-elmo<mail@elmo.space>",
+ "usb": {
+ "vid": "0xF984",
+ "pid": "0xB5E8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/skeletonkbd/skeletonnumpad/config.h b/keyboards/skeletonkbd/skeletonnumpad/config.h
index 3e93068b5a..b9ea8fdb77 100644
--- a/keyboards/skeletonkbd/skeletonnumpad/config.h
+++ b/keyboards/skeletonkbd/skeletonnumpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x736C
-#define PRODUCT_ID 0x6E70
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SkeletonKBD
-#define PRODUCT SkeletonNumPad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, C6, C7, F7, F6 }
#define MATRIX_COL_PINS { D6, D7, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skeletonkbd/skeletonnumpad/info.json b/keyboards/skeletonkbd/skeletonnumpad/info.json
index 0dac570601..050ff5b61b 100644
--- a/keyboards/skeletonkbd/skeletonnumpad/info.json
+++ b/keyboards/skeletonkbd/skeletonnumpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "skeletonnumpad",
+ "keyboard_name": "SkeletonNumPad",
+ "manufacturer": "SkeletonKBD",
"url": "https://github.com/skeletonkbd/SkeletonNumPad",
"maintainer": "skeletonkbd",
+ "usb": {
+ "vid": "0x736C",
+ "pid": "0x6E70",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/skeletonkbd/skeletonnumpad/readme.md b/keyboards/skeletonkbd/skeletonnumpad/readme.md
index fc67c79e54..538989277a 100644
--- a/keyboards/skeletonkbd/skeletonnumpad/readme.md
+++ b/keyboards/skeletonkbd/skeletonnumpad/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-- **Keycode in layout**: Press the key mapped to `RESET` if it is available
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/skergo/config.h b/keyboards/skergo/config.h
index e736e4c8d4..54c83eb469 100644
--- a/keyboards/skergo/config.h
+++ b/keyboards/skergo/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B49
-#define PRODUCT_ID 0x534B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Keyzio
-#define PRODUCT SKErgo
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B4, B3, B2, B1 }
#define MATRIX_COL_PINS { A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C2, C1, C0, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skergo/info.json b/keyboards/skergo/info.json
index 06bcd31f70..c47a1ac45f 100644
--- a/keyboards/skergo/info.json
+++ b/keyboards/skergo/info.json
@@ -1,84 +1,167 @@
{
"keyboard_name": "SKErgo",
+ "manufacturer": "Keyzio",
"url": "https://keyz.io",
- "maintainer": "Keyz.io",
+ "maintainer": "kevinzhao-tech",
+ "usb": {
+ "vid": "0x4B49",
+ "pid": "0x534B",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_split_bs"
+ },
"layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3.75, "y":0},
- {"label":"4", "x":4.75, "y":0},
- {"label":"5", "x":5.75, "y":0},
- {"label":"6", "x":6.75, "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.5, "y":0},
- {"label":"=", "x":14.5, "y":0},
- {"label":"~", "x":15.5, "y":0},
- {"label":"Backspace", "x":16.5, "y":0},
+ "LAYOUT_2u_bs": {
+ "layout": [
+ {"label":"Esc", "x":0.5, "y":0.25},
+ {"label":"1!", "x":1.5, "y":0.25},
+ {"label":"2@", "x":2.5, "y":0.25},
+ {"label":"3#", "x":3.5, "y":0.25},
+ {"label":"4$", "x":4.5, "y":0.25},
+ {"label":"5%", "x":5.5, "y":0.25},
+ {"label":"6^", "x":6.5, "y":0.25},
+ {"label":"7&", "x":8.75, "y":0.25},
+ {"label":"8*", "x":9.75, "y":0.25},
+ {"label":"9(", "x":10.75, "y":0.25},
+ {"label":"0)", "x":11.75, "y":0.25},
+ {"label":"-_", "x":12.75, "y":0.25},
+ {"label":"=+", "x":13.75, "y":0.25},
+ {"label":"Backspace", "x":14.75, "y":0.25, "w":2},
+ {"label":"Page Up", "x":17, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":3.25, "y":1},
- {"label":"E", "x":4.25, "y":1},
- {"label":"R", "x":5.25, "y":1},
- {"label":"T", "x":6.25, "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":"{", "x":14.25, "y":1},
- {"label":"}", "x":15.25, "y":1},
- {"label":"|", "x":16.25, "y":1, "w":1.5},
- {"label":"Pg Up", "x":18, "y":0},
+ {"label":"Tab", "w":1.5, "x":0.25, "y":1.25},
+ {"label":"Q", "x":1.75, "y":1.25},
+ {"label":"W", "x":2.75, "y":1.25},
+ {"label":"E", "x":3.75, "y":1.25},
+ {"label":"R", "x":4.75, "y":1.25},
+ {"label":"T", "x":5.75, "y":1.25},
+ {"label":"Y", "x":8.4, "y":1.25},
+ {"label":"U", "x":9.4, "y":1.25},
+ {"label":"I", "x":10.4, "y":1.25},
+ {"label":"O", "x":11.4, "y":1.25},
+ {"label":"P", "x":12.4, "y":1.25},
+ {"label":"[{", "x":13.4, "y":1.25},
+ {"label":"]}", "x":14.4, "y":1.25},
+ {"label":"\\|", "w":1.5, "x":15.4, "y":1.25},
+ {"label":"Page Down", "x":17.15, "y":1},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":3.5, "y":2},
- {"label":"D", "x":4.5, "y":2},
- {"label":"F", "x":5.5, "y":2},
- {"label":"G", "x":6.5, "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.5, "y":2},
- {"label":"\"", "x":14.5, "y":2},
- {"label":"Enter", "x":15.5, "y":2, "w":2.25},
- {"label":"Pg Dn", "x":18.25, "y":1},
+ {"label":"Caps Lock", "w":1.75, "x":0.15, "y":2.25},
+ {"label":"A", "x":1.9, "y":2.25},
+ {"label":"S", "x":2.9, "y":2.25},
+ {"label":"D", "x":3.9, "y":2.25},
+ {"label":"F", "x":4.9, "y":2.25},
+ {"label":"G", "x":5.9, "y":2.25},
+ {"label":"H", "x":8.75, "y":2.25},
+ {"label":"J", "x":9.75, "y":2.25},
+ {"label":"K", "x":10.75, "y":2.25},
+ {"label":"L", "x":11.75, "y":2.25},
+ {"label":";:", "x":12.75, "y":2.25},
+ {"label":"'\"", "x":13.75, "y":2.25},
+ {"label":"Enter", "w":2.25, "x":14.75, "y":2.25},
+ {"label":"End", "x":17.25, "y":2},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.75, "y":3},
- {"label":"C", "x":4.75, "y":3},
- {"label":"V", "x":5.75, "y":3},
- {"label":"B", "x":6.75, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":14.25, "y":3},
- {"label":"Shift", "x":15.25, "y":3, "w":1.75},
- {"label":"Up", "x":17.25, "y":3},
- {"label":"End", "x":18.5, "y":2},
+ {"label":"Shift", "w":2.25, "x":0, "y":3.25},
+ {"label":"Z", "x":2.25, "y":3.25},
+ {"label":"X", "x":3.25, "y":3.25},
+ {"label":"C", "x":4.25, "y":3.25},
+ {"label":"V", "x":5.25, "y":3.25},
+ {"label":"B", "x":6.25, "y":3.25},
+ {"label":"B", "x":8.25, "y":3.25},
+ {"label":"N", "x":9.25, "y":3.25},
+ {"label":"M", "x":10.25, "y":3.25},
+ {"label":",<", "x":11.25, "y":3.25},
+ {"label":".>", "x":12.25, "y":3.25},
+ {"label":"/?", "x":13.25, "y":3.25},
+ {"label":"Shift", "w":1.75, "x":14.25, "y":3.25},
+ {"label":"\u2191", "x":16.25, "y":3.5},
- {"label":"L_Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"L_Alt", "x":3.75, "y":4, "w":1.5},
- {"label":"L_Space", "x":5.25, "y":4, "w":2},
- {"label":"Fn", "x":7.25, "y":4},
- {"label":"R_Space", "x":9, "y":4, "w":2.75},
+ {"label":"Ctrl", "w":1.5, "x":0, "y":4.25},
+ {"label":"Alt", "w":1.5, "x":3.25, "y":4.25},
+ {"label":"Space", "w":2, "x":4.75, "y":4.25},
+ {"label":"GUI", "x":6.75, "y":4.25},
+ {"label":"Space", "w":2.75, "x":8.75, "y":4.25},
+ {"label":"Fn", "w":1.5, "x":11.5, "y":4.25},
+ {"label":"\u2190", "x":15.25, "y":4.5},
+ {"label":"\u2193", "x":16.25, "y":4.5},
+ {"label":"\u2192", "x":17.25, "y":4.5}
+ ]
+ },
+ "LAYOUT_split_bs": {
+ "layout": [
+ {"label":"Esc", "x":0.5, "y":0.25},
+ {"label":"1!", "x":1.5, "y":0.25},
+ {"label":"2@", "x":2.5, "y":0.25},
+ {"label":"3#", "x":3.5, "y":0.25},
+ {"label":"4$", "x":4.5, "y":0.25},
+ {"label":"5%", "x":5.5, "y":0.25},
+ {"label":"6^", "x":6.5, "y":0.25},
+ {"label":"7&", "x":8.75, "y":0.25},
+ {"label":"8*", "x":9.75, "y":0.25},
+ {"label":"9(", "x":10.75, "y":0.25},
+ {"label":"0)", "x":11.75, "y":0.25},
+ {"label":"-_", "x":12.75, "y":0.25},
+ {"label":"=+", "x":13.75, "y":0.25},
+ {"label":"Backspace", "x":14.75, "y":0.25},
+ {"label":"Backspace", "x":15.75, "y":0.25},
+ {"label":"Page Up", "x":17, "y":0},
- {"label":"R_Alt", "x":11.75, "y":4, "w":1.5},
- {"label":"Left","x":16.25, "y":4},
- {"label":"Down","x":17.25, "y":4},
- {"label":"Right","x":18.25, "y":4}
- ]
+ {"label":"Tab", "w":1.5, "x":0.25, "y":1.25},
+ {"label":"Q", "x":1.75, "y":1.25},
+ {"label":"W", "x":2.75, "y":1.25},
+ {"label":"E", "x":3.75, "y":1.25},
+ {"label":"R", "x":4.75, "y":1.25},
+ {"label":"T", "x":5.75, "y":1.25},
+ {"label":"Y", "x":8.4, "y":1.25},
+ {"label":"U", "x":9.4, "y":1.25},
+ {"label":"I", "x":10.4, "y":1.25},
+ {"label":"O", "x":11.4, "y":1.25},
+ {"label":"P", "x":12.4, "y":1.25},
+ {"label":"[{", "x":13.4, "y":1.25},
+ {"label":"]}", "x":14.4, "y":1.25},
+ {"label":"\\|", "w":1.5, "x":15.4, "y":1.25},
+ {"label":"Page Down", "x":17.15, "y":1},
+
+ {"label":"Caps Lock", "w":1.75, "x":0.15, "y":2.25},
+ {"label":"A", "x":1.9, "y":2.25},
+ {"label":"S", "x":2.9, "y":2.25},
+ {"label":"D", "x":3.9, "y":2.25},
+ {"label":"F", "x":4.9, "y":2.25},
+ {"label":"G", "x":5.9, "y":2.25},
+ {"label":"H", "x":8.75, "y":2.25},
+ {"label":"J", "x":9.75, "y":2.25},
+ {"label":"K", "x":10.75, "y":2.25},
+ {"label":"L", "x":11.75, "y":2.25},
+ {"label":";:", "x":12.75, "y":2.25},
+ {"label":"'\"", "x":13.75, "y":2.25},
+ {"label":"Enter", "w":2.25, "x":14.75, "y":2.25},
+ {"label":"End", "x":17.25, "y":2},
+
+ {"label":"Shift", "w":2.25, "x":0, "y":3.25},
+ {"label":"Z", "x":2.25, "y":3.25},
+ {"label":"X", "x":3.25, "y":3.25},
+ {"label":"C", "x":4.25, "y":3.25},
+ {"label":"V", "x":5.25, "y":3.25},
+ {"label":"B", "x":6.25, "y":3.25},
+ {"label":"B", "x":8.25, "y":3.25},
+ {"label":"N", "x":9.25, "y":3.25},
+ {"label":"M", "x":10.25, "y":3.25},
+ {"label":",<", "x":11.25, "y":3.25},
+ {"label":".>", "x":12.25, "y":3.25},
+ {"label":"/?", "x":13.25, "y":3.25},
+ {"label":"Shift", "w":1.75, "x":14.25, "y":3.25},
+ {"label":"\u2191", "x":16.25, "y":3.5},
+
+ {"label":"Ctrl", "w":1.5, "x":0, "y":4.25},
+ {"label":"Alt", "w":1.5, "x":3.25, "y":4.25},
+ {"label":"Space", "w":2, "x":4.75, "y":4.25},
+ {"label":"GUI", "x":6.75, "y":4.25},
+ {"label":"Space", "w":2.75, "x":8.75, "y":4.25},
+ {"label":"Fn", "w":1.5, "x":11.5, "y":4.25},
+ {"label":"\u2190", "x":15.25, "y":4.5},
+ {"label":"\u2193", "x":16.25, "y":4.5},
+ {"label":"\u2192", "x":17.25, "y":4.5}
+ ]
}
}
}
diff --git a/keyboards/skergo/keymaps/default/keymap.c b/keyboards/skergo/keymaps/default/keymap.c
index 321d6efc4c..f0fb28b36f 100644
--- a/keyboards/skergo/keymaps/default/keymap.c
+++ b/keyboards/skergo/keymaps/default/keymap.c
@@ -17,18 +17,21 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_SPC, MO(1), KC_SPC, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS
- ),
- [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+
+ [0] = LAYOUT_split_bs(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_ENT, KC_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
};
diff --git a/keyboards/skergo/keymaps/via/keymap.c b/keyboards/skergo/keymaps/via/keymap.c
index 8d8859fa95..ddea8d2c70 100644
--- a/keyboards/skergo/keymaps/via/keymap.c
+++ b/keyboards/skergo/keymaps/via/keymap.c
@@ -17,32 +17,37 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_SPC, MO(1), KC_SPC, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS
- ),
- [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
+
+ [0] = LAYOUT_split_bs(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_ENT, KC_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_split_bs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_split_bs(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
};
diff --git a/keyboards/skergo/keymaps/via/rules.mk b/keyboards/skergo/keymaps/via/rules.mk
index 36b7ba9cbc..1e5b99807c 100644
--- a/keyboards/skergo/keymaps/via/rules.mk
+++ b/keyboards/skergo/keymaps/via/rules.mk
@@ -1,2 +1 @@
VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/skergo/readme.md b/keyboards/skergo/readme.md
index ee10a5b7c0..d6ffa4babb 100644
--- a/keyboards/skergo/readme.md
+++ b/keyboards/skergo/readme.md
@@ -12,4 +12,8 @@ Make example for this keyboard (after setting up your build environment):
make skergo:default
+Flashing example for this keyboard:
+
+ make skergo: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/skergo/skergo.h b/keyboards/skergo/skergo.h
index fceeaf0ddb..cee1c4c656 100644
--- a/keyboards/skergo/skergo.h
+++ b/keyboards/skergo/skergo.h
@@ -18,16 +18,48 @@
#include "quantum.h"
-#define LAYOUT( \
- 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, K214, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
- K400, K402, K404, K405, K406, K407, K409, K412, K413, K414 \
+#define ___ KC_NO
+
+/* ┌───â”
+ * ┌───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───┬───┬───â”│1E │ ┌───────â”
+ * │00 │01 │02 │03 │04 │05 │06 │ │07 │08 │09 │0A │0B │0C │0D │0E │├───┤ │0E │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤│2E │ └───────┘
+ * │10 │11 │12 │13 │14 │15 │ │16 │17 │18 │19 │1A │1B │1C │1D │├───┤
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┠└┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤│3E │
+ * │20 │21 │22 │23 │24 │25 │ │26 │27 │28 │29 │2A │2B │2C │└───┘
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┠┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘
+ * │30 │31 │32 │33 │34 │35 │ │46 │36 │37 │38 │39 │3A │3B │┌───â”
+ * ├────┬───┴───┼───┴─┬─┴───┴─┬─┴─┠└─┬─┴───┴───┴┬──┴──┬┴───┴──────┘│3D │
+ * │40 │ │42 │44 │45 │ │47 │49 │ ┌───┼───┼───â”
+ * └────┘ └─────┴───────┴───┘ └──────────┴─────┘ │4C │4D │4E │
+ * └───┴───┴───┘
+ * - Position K46 (secondary B key) is optional
+ */
+
+#define LAYOUT_2u_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K1E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, \
+ K30, K31, K32, K33, K34, K35, K46, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K44, K45, K47, K49, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, 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, K2C, ___, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \
+ { K40, ___, K42, ___, K44, K45, K46, K47, ___, K49, ___, ___, K4C, K4D, K4E } \
+}
+
+#define LAYOUT_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K1E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3E, \
+ K30, K31, K32, K33, K34, K35, K46, K36, K37, K38, K39, K3A, K3B, K3D, \
+ K40, K42, K44, K45, K47, K49, K4C, K4D, K4E \
) { \
- { 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, KC_NO, K214 }, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \
- { K400, KC_NO, K402, KC_NO, K404, K405, K406, K407, KC_NO, K409, KC_NO, KC_NO, K412, K413, K414 } \
+ { 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, K2C, ___, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \
+ { K40, ___, K42, ___, K44, K45, K46, K47, ___, K49, ___, ___, K4C, K4D, K4E } \
}
diff --git a/keyboards/skippys_custom_pcs/rooboard65/config.h b/keyboards/skippys_custom_pcs/rooboard65/config.h
index f061840771..ee624d5380 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/config.h
+++ b/keyboards/skippys_custom_pcs/rooboard65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x36B6 // Skippys Custom PCs
-#define PRODUCT_ID 0x0002 // Rooboard65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER FJLabs
-#define PRODUCT Rooboard65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skippys_custom_pcs/rooboard65/info.json b/keyboards/skippys_custom_pcs/rooboard65/info.json
index 3f195fc7c7..ab68e33ec0 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/info.json
+++ b/keyboards/skippys_custom_pcs/rooboard65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Rooboard65",
+ "manufacturer": "FJLabs",
"url": "https://www.fjlaboratories.com/",
"maintainer": "FJLabs",
+ "usb": {
+ "vid": "0x36B6",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/skippys_custom_pcs/rooboard65/readme.md b/keyboards/skippys_custom_pcs/rooboard65/readme.md
index 63f8217fc8..40a23ec12a 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/readme.md
+++ b/keyboards/skippys_custom_pcs/rooboard65/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/skippys_custom_pcs/roopad/config.h b/keyboards/skippys_custom_pcs/roopad/config.h
index 9d30421dcb..493de6ee32 100644
--- a/keyboards/skippys_custom_pcs/roopad/config.h
+++ b/keyboards/skippys_custom_pcs/roopad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x36B6 // skippys_custom_pcs
-#define PRODUCT_ID 0x0001 // RooPad
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER ToastyStoemp
-#define PRODUCT RooPad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B5, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { F0, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/skippys_custom_pcs/roopad/info.json b/keyboards/skippys_custom_pcs/roopad/info.json
index e866a1cc29..734310ed8c 100644
--- a/keyboards/skippys_custom_pcs/roopad/info.json
+++ b/keyboards/skippys_custom_pcs/roopad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "RooPad",
+ "manufacturer": "ToastyStoemp",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x36B6",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Num Lock", "x":1.5, "y":0}, {"label":"/", "x":2.5, "y":0}, {"label":"*", "x":3.5, "y":0}, {"label":"-", "x":4.5, "y":0}, {"x":0, "y":1}, {"label":"7", "x":1.5, "y":1}, {"label":"8", "x":2.5, "y":1}, {"label":"9", "x":3.5, "y":1}, {"label":"+", "x":4.5, "y":1, "h":2}, {"x":0, "y":2}, {"label":"4", "x":1.5, "y":2}, {"label":"5", "x":2.5, "y":2}, {"label":"6", "x":3.5, "y":2}, {"x":0, "y":3}, {"label":"1", "x":1.5, "y":3}, {"label":"2", "x":2.5, "y":3}, {"label":"3", "x":3.5, "y":3}, {"label":"Enter", "x":4.5, "y":3, "h":2}, {"x":0, "y":4}, {"label":"0", "x":1.5, "y":4, "w":2}, {"label":".", "x":3.5, "y":4}]
diff --git a/keyboards/skippys_custom_pcs/roopad/readme.md b/keyboards/skippys_custom_pcs/roopad/readme.md
index e10cc9fb4f..89230ddcb1 100644
--- a/keyboards/skippys_custom_pcs/roopad/readme.md
+++ b/keyboards/skippys_custom_pcs/roopad/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/skme/zeno/config.h b/keyboards/skme/zeno/config.h
index 91245ed508..53aa1cd621 100644
--- a/keyboards/skme/zeno/config.h
+++ b/keyboards/skme/zeno/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4048 // baul.xyz / sandkeys.me
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SKME
-#define PRODUCT Zeno
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,6 +34,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/*Enable 1khz polling by default*/
-#define USB_POLLING_INTERVAL_MS 1
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/skme/zeno/info.json b/keyboards/skme/zeno/info.json
index 14e9d92422..956761eeaa 100644
--- a/keyboards/skme/zeno/info.json
+++ b/keyboards/skme/zeno/info.json
@@ -1,8 +1,13 @@
-
{
"keyboard_name": "Zeno",
+ "manufacturer": "SKME",
"url": "https://baul.xyz",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4048",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"x":0.25, "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":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":15.25, "y":0}, {"x":16.25, "y":0}, {"x":0.25, "y":1, "w":1.5}, {"x":1.75, "y":1}, {"x":2.75, "y":1}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":8.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, "w":1.5}, {"x":0.15, "y":2, "w":1.75}, {"x":1.9, "y":2}, {"x":2.9, "y":2}, {"x":3.9, "y":2}, {"x":4.9, "y":2}, {"x":5.9, "y":2}, {"x":9.05, "y":2}, {"x":10.05, "y":2}, {"x":11.05, "y":2}, {"x":12.05, "y":2}, {"x":13.05, "y":2}, {"x":14.05, "y":2}, {"x":15.05, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":8.55, "y":3}, {"x":9.55, "y":3}, {"x":10.55, "y":3}, {"x":11.55, "y":3}, {"x":12.55, "y":3}, {"x":13.55, "y":3}, {"x":14.55, "y":3, "w":1.75}, {"x":16.3, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":3.5, "y":4, "w":1.5}, {"x":5, "y":4, "w":2.25}, {"x":8.55, "y":4, "w":2.75}, {"x":11.3, "y":4, "w":1.5}, {"x":15.8, "y":4, "w":1.5}]
diff --git a/keyboards/skme/zeno/readme.md b/keyboards/skme/zeno/readme.md
index 69a76b5734..0e71533a89 100644
--- a/keyboards/skme/zeno/readme.md
+++ b/keyboards/skme/zeno/readme.md
@@ -28,4 +28,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/skmt/15k/config.h b/keyboards/skmt/15k/config.h
new file mode 100644
index 0000000000..6144e332ea
--- /dev/null
+++ b/keyboards/skmt/15k/config.h
@@ -0,0 +1,79 @@
+// Copyright 2022 Jimmy Lye (@satorusaka)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+#define FORCE_NKRO
+
+#define RGB_DI_PIN GP1 // RGB LED pin
+#define RGBLED_NUM 15 // Number of LEDs
+#define DRIVER_LED_TOTAL 15 // Number of LEDs
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#define RGB_MATRIX_LED_FLUSH_LIMIT 16
+#define RGB_MATRIX_KEYPRESSES
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/skmt/15k/info.json b/keyboards/skmt/15k/info.json
new file mode 100644
index 0000000000..71f3bc24d7
--- /dev/null
+++ b/keyboards/skmt/15k/info.json
@@ -0,0 +1,68 @@
+{
+ "manufacturer": "SKMT",
+ "keyboard_name": "SKMT 15k",
+ "maintainer": "satorusaka",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["GP2", "GP3", "GP4", "GP5", "GP6"],
+ "rows": ["GP7", "GP8", "GP9"]
+ },
+ "processor": "RP2040",
+ "url": "https://github.com/satorusaka/15k-macropad",
+ "usb": {
+ "device_version": "1.1.0",
+ "pid": "0x3488",
+ "vid": "0xFEFE"
+ },
+ "layouts": {
+ "LAYOUT_default": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2 }
+ ]
+ }
+ },
+ "rgb_matrix": {
+ "driver": "WS2812",
+ "layout": [
+ { "flags": 4, "matrix": [2, 4], "x": 224, "y": 64 },
+ { "flags": 4, "matrix": [2, 3], "x": 168, "y": 64 },
+ { "flags": 4, "matrix": [2, 2], "x": 112, "y": 64 },
+ { "flags": 4, "matrix": [2, 1], "x": 56, "y": 64 },
+ { "flags": 4, "matrix": [2, 0], "x": 0, "y": 64 },
+ { "flags": 4, "matrix": [1, 4], "x": 224, "y": 32 },
+ { "flags": 4, "matrix": [1, 3], "x": 168, "y": 32 },
+ { "flags": 4, "matrix": [1, 2], "x": 112, "y": 32 },
+ { "flags": 4, "matrix": [1, 1], "x": 56, "y": 32 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 32 },
+ { "flags": 4, "matrix": [0, 4], "x": 224, "y": 0 },
+ { "flags": 4, "matrix": [0, 3], "x": 168, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 112, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 56, "y": 0 },
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }
+ ]
+ }
+}
diff --git a/keyboards/skmt/15k/keymaps/default/keymap.c b/keyboards/skmt/15k/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bc34dd7ca2
--- /dev/null
+++ b/keyboards/skmt/15k/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+// Copyright 2022 Jimmy Lye (@satorusaka)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌────┬───┬───┬───┬────â”
+ * │ F3 │ 9 │ 6 │ 3 │ fn │
+ * ├────┼───┼───┼───┼────┤
+ * │ F2 │ 8 │ 5 │ 2 │ . │
+ * ├────┼───┼───┼───┼────┤
+ * │ F1 │ 7 │ 4 │ 1 │ O │
+ * └────┴───┴───┴───┴────┘
+ */
+ [0] = LAYOUT_default(
+ KC_F3, KC_KP_9, KC_KP_6, KC_KP_3, LT(1, KC_KP_ENTER),
+ KC_F2, KC_KP_8, KC_KP_5, KC_KP_2, KC_KP_DOT,
+ KC_F1, KC_KP_7, KC_KP_4, KC_KP_1, KC_KP_0
+ ),
+ [1] = LAYOUT_default(
+ RGB_TOG,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_MODE_FORWARD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,
+ RGB_MODE_REVERSE,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD
+ )
+};
diff --git a/keyboards/skmt/15k/keymaps/fns/keymap.c b/keyboards/skmt/15k/keymaps/fns/keymap.c
new file mode 100644
index 0000000000..8933260d5f
--- /dev/null
+++ b/keyboards/skmt/15k/keymaps/fns/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2022 Jimmy Lye (@satorusaka)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌────┬───┬───┬───┬────â”
+ * │ F3 │ 9 │ 6 │ 3 │ fn │
+ * ├────┼───┼───┼───┼────┤
+ * │ F2 │ 8 │ 5 │ 2 │ . │
+ * ├────┼───┼───┼───┼────┤
+ * │ F1 │ 7 │ 4 │ 1 │ O │
+ * └────┴───┴───┴───┴────┘
+ */
+ [0] = LAYOUT_default(
+ KC_F1, KC_F2, KC_F3, KC_F4, LT(1, KC_KB_MUTE),
+ KC_F5, KC_F6, KC_F7, KC_F8, KC_KB_VOLUME_UP,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_KB_VOLUME_DOWN
+ ),
+ [1] = LAYOUT_default(
+ RGB_TOG,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_MODE_FORWARD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,
+ RGB_MODE_REVERSE,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD
+ )
+};
diff --git a/keyboards/skmt/15k/keymaps/qwert/keymap.c b/keyboards/skmt/15k/keymaps/qwert/keymap.c
new file mode 100644
index 0000000000..16464c93bc
--- /dev/null
+++ b/keyboards/skmt/15k/keymaps/qwert/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2022 Jimmy Lye (@satorusaka)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬─────────────────────â”
+ * │ Q │ W │ E │ R │ BACKSPACE (LAYER 1) │
+ * ├───┼───┼───┼───┼─────────────────────┤
+ * │ A │ S │ D │ F │ ENTER │
+ * ├───┼───┼───┼───┼─────────────────────┤
+ * │ Z │ X │ C │ V │ SPACE │
+ * └───┴───┴───┴───┴─────────────────────┘
+ */
+ [0] = LAYOUT_default(
+ KC_Q, KC_W, KC_E, KC_R, LT(1, KC_BSPC),
+ KC_A, KC_S, KC_D, KC_F, KC_ENT,
+ KC_Z, KC_X, KC_C, KC_V, KC_SPC
+ ),
+ [1] = LAYOUT_default(
+ RGB_TOG,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_MODE_FORWARD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,
+ RGB_MODE_REVERSE,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD
+ )
+};
diff --git a/keyboards/skmt/15k/keymaps/via/keymap.c b/keyboards/skmt/15k/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d0384efba0
--- /dev/null
+++ b/keyboards/skmt/15k/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+// Copyright 2022 Jimmy Lye (@satorusaka)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬─────────────────────â”
+ * │ Q │ W │ E │ R │ BACKSPACE (LAYER 1) │
+ * ├───┼───┼───┼───┼─────────────────────┤
+ * │ A │ S │ D │ F │ ENTER │
+ * ├───┼───┼───┼───┼─────────────────────┤
+ * │ Z │ X │ C │ V │ SPACE │
+ * └───┴───┴───┴───┴─────────────────────┘
+ */
+ [0] = LAYOUT_default(
+ KC_Q, KC_W, KC_E, KC_R, LT(1, KC_BSPC),
+ KC_A, KC_S, KC_D, KC_F, LT(2, KC_ENT),
+ KC_Z, KC_X, KC_C, KC_V, LT(3, KC_SPC)
+ ),
+ [1] = LAYOUT_default(
+ RGB_TOG,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_MODE_FORWARD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,
+ RGB_MODE_REVERSE,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD
+ ),
+ [2] = LAYOUT_default(
+ KC_TRNS,KC_TRNS,KC_TRNS,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_default(
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
+ )
+};
diff --git a/keyboards/skmt/15k/keymaps/via/rules.mk b/keyboards/skmt/15k/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/skmt/15k/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/skmt/15k/readme.md b/keyboards/skmt/15k/readme.md
new file mode 100644
index 0000000000..679fb76ca0
--- /dev/null
+++ b/keyboards/skmt/15k/readme.md
@@ -0,0 +1,26 @@
+# skmt_15k_macropad
+
+![skmt_15k_macropad](https://i.imgur.com/Sl6t4Lmh.jpg)
+![skmt_15k_macropad](https://i.imgur.com/SihSIVth.jpg)
+
+A diy, 3d-printed, 15 key (3x5), hotswap, RGB macropad.
+
+* Keyboard Maintainer: [Jimmy Lye](https://github.com/satorusaka)
+* Hardware Supported: skmt_15k_macropad on rpi pico
+* Hardware Availability: [satorusaka/15k-macropad](https://github.com/satorusaka/15k-macropad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make skmt/15k:default
+
+Flashing example for this keyboard:
+
+ make skmt/15k:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
diff --git a/keyboards/skmt/15k/rules.mk b/keyboards/skmt/15k/rules.mk
new file mode 100644
index 0000000000..848cfec5a3
--- /dev/null
+++ b/keyboards/skmt/15k/rules.mk
@@ -0,0 +1,3 @@
+WS2812_DRIVER = vendor
+
+LTO_ENABLE = yes
diff --git a/keyboards/slz40/config.h b/keyboards/slz40/config.h
index 7bcc71bb3c..7b20cd14bb 100644
--- a/keyboards/slz40/config.h
+++ b/keyboards/slz40/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SithLord
-#define PRODUCT slz40
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, B5, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, D2, F5, D1, F6, D0, F7, D4, B1, C6, E6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/slz40/info.json b/keyboards/slz40/info.json
index 471bba73c3..4b69d20efb 100644
--- a/keyboards/slz40/info.json
+++ b/keyboards/slz40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "slz40",
+ "manufacturer": "SithLord",
"url": "https://github.com/sithlord121/slz40",
"maintainer": "SithLord",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h
index c96fa911e5..20a9f2d88a 100644
--- a/keyboards/smallkeyboard/config.h
+++ b/keyboards/smallkeyboard/config.h
@@ -17,13 +17,7 @@
#pragma once
-/* USB Device descriptor parameter */
#include "config_common.h"
-#define VENDOR_ID 0x7A71 // "zq" = zhouqiong19840119
-#define PRODUCT_ID 0x736B // "sk" = smallkeyboard
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zhouqiong19840119
-#define PRODUCT smallkeyboard
/* key matrix size */
#define MATRIX_ROWS 2
@@ -41,7 +35,6 @@
*/
#define MATRIX_ROW_PINS {C7, C6 }
#define MATRIX_COL_PINS {F7, F6, F5}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/smallkeyboard/info.json b/keyboards/smallkeyboard/info.json
index 8d1d642c10..9514637685 100644
--- a/keyboards/smallkeyboard/info.json
+++ b/keyboards/smallkeyboard/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "smallkeyboard",
+ "manufacturer": "zhouqiong19840119",
"url": "",
"maintainer": "zhouqiong19840119",
+ "usb": {
+ "vid": "0x7A71",
+ "pid": "0x736B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
diff --git a/keyboards/smithrune/iron165r2/config.h b/keyboards/smithrune/iron165r2/config.h
index bfe83ba52c..ce3ddc7b86 100644
--- a/keyboards/smithrune/iron165r2/config.h
+++ b/keyboards/smithrune/iron165r2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8384 // SR for Smith and RUne
-#define PRODUCT_ID 0x1652 // 165 rev 2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SmithRune
-#define PRODUCT Iron156R2
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/smithrune/iron165r2/f411/config.h b/keyboards/smithrune/iron165r2/f411/config.h
index 5b2e04b93c..af8b46531c 100644
--- a/keyboards/smithrune/iron165r2/f411/config.h
+++ b/keyboards/smithrune/iron165r2/f411/config.h
@@ -16,6 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
+
#define BACKLIGHT_PIN A6
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
@@ -25,8 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BREATHING_PERIOD 5
#define BACKLIGHT_ON_STATE 1
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 22
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/smithrune/iron165r2/f411/mcuconf.h b/keyboards/smithrune/iron165r2/f411/mcuconf.h
index 0ea015be4f..63f1e30e64 100644
--- a/keyboards/smithrune/iron165r2/f411/mcuconf.h
+++ b/keyboards/smithrune/iron165r2/f411/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next <mcuconf.h>
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 72
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 3
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/smithrune/iron165r2/f411/rules.mk b/keyboards/smithrune/iron165r2/f411/rules.mk
index 598edffe64..6305fc5a14 100644
--- a/keyboards/smithrune/iron165r2/f411/rules.mk
+++ b/keyboards/smithrune/iron165r2/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/smithrune/iron165r2/info.json b/keyboards/smithrune/iron165r2/info.json
new file mode 100644
index 0000000000..0d42363728
--- /dev/null
+++ b/keyboards/smithrune/iron165r2/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "Iron165R2",
+ "manufacturer": "SmithRune",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1652",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/smithrune/iron165r2/readme.md b/keyboards/smithrune/iron165r2/readme.md
index 2fc913ff73..bc41ee4be2 100644
--- a/keyboards/smithrune/iron165r2/readme.md
+++ b/keyboards/smithrune/iron165r2/readme.md
@@ -18,7 +18,7 @@ The DFU state in the bootloader can be accessed in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key, escape in the default keymap) and plug in the keyboard;
* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds;
-* **Keycode in layout**: Press the key mapped to `RESET`; in the default layout, that is top left key ('escape') in layer 1.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`; in the default layout, that is top left key ('escape') in layer 1.
### How to compile and flash
diff --git a/keyboards/smithrune/iron180/config.h b/keyboards/smithrune/iron180/config.h
index 084f008a78..e26366ade3 100644
--- a/keyboards/smithrune/iron180/config.h
+++ b/keyboards/smithrune/iron180/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8384 //SR for Smith and Rune
-#define PRODUCT_ID 0x1180
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SmithRune
-#define PRODUCT IRON180
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/smithrune/iron180/info.json b/keyboards/smithrune/iron180/info.json
index 64ee4b4ee3..cd68970641 100644
--- a/keyboards/smithrune/iron180/info.json
+++ b/keyboards/smithrune/iron180/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Iron180",
+ "manufacturer": "SmithRune",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1180",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/smk60/config.h b/keyboards/smk60/config.h
index 2c7d0e178f..7b764cb5a4 100644
--- a/keyboards/smk60/config.h
+++ b/keyboards/smk60/config.h
@@ -6,20 +6,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDEAD
-#define PRODUCT_ID 0x6585
-#define DEVICE_VER 0x0001
-#define MANUFACTURER astro
-#define PRODUCT smk 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F0, F1, F5, B2 }
#define MATRIX_COL_PINS { B4, B5, B6, C6, C7, F6, F7, F4, B1, B3, D0, D1, D2, D3, D5}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/smk60/info.json b/keyboards/smk60/info.json
index 5aff493fd4..c3e3bd29e0 100644
--- a/keyboards/smk60/info.json
+++ b/keyboards/smk60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SMK60",
+ "manufacturer": "astro",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xDEAD",
+ "pid": "0x6585",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_wkl": {
"layout": [
diff --git a/keyboards/smk60/keymaps/60_ansi/keymap.c b/keyboards/smk60/keymaps/60_ansi/keymap.c
index 95d2fb0f26..70f913c82b 100644
--- a/keyboards/smk60/keymaps/60_ansi/keymap.c
+++ b/keyboards/smk60/keymaps/60_ansi/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
[1] = LAYOUT_60_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,
- RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,_______,_______,_______),
diff --git a/keyboards/smk60/keymaps/60_ansi_split_bs_shift/keymap.c b/keyboards/smk60/keymaps/60_ansi_split_bs_shift/keymap.c
index 095f98d151..4f48a595f5 100644
--- a/keyboards/smk60/keymaps/60_ansi_split_bs_shift/keymap.c
+++ b/keyboards/smk60/keymaps/60_ansi_split_bs_shift/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, KC_RGUI, TG(1), KC_RCTL),
[1] = LAYOUT_60_ansi_split_bs_shift(
_______, 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,
- RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,_______,TG(0),_______),
diff --git a/keyboards/smk60/keymaps/60_hhkb/keymap.c b/keyboards/smk60/keymaps/60_hhkb/keymap.c
index 2732abc06b..e4742f5b18 100644
--- a/keyboards/smk60/keymaps/60_hhkb/keymap.c
+++ b/keyboards/smk60/keymaps/60_hhkb/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1)),
[1] = LAYOUT_60_hhkb(
_______, 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, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______, _______, _______,_______),
diff --git a/keyboards/smk60/keymaps/60_iso/keymap.c b/keyboards/smk60/keymaps/60_iso/keymap.c
index 684bbb62f4..d57823ccfb 100644
--- a/keyboards/smk60/keymaps/60_iso/keymap.c
+++ b/keyboards/smk60/keymaps/60_iso/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, KC_RGUI, MO(1), KC_RCTL),
[1] = LAYOUT_60_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,
- RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT, _______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,_______,_______,_______),
diff --git a/keyboards/smk60/keymaps/60_wkl/keymap.c b/keyboards/smk60/keymaps/60_wkl/keymap.c
index 979fc93d67..4345998a9c 100644
--- a/keyboards/smk60/keymaps/60_wkl/keymap.c
+++ b/keyboards/smk60/keymaps/60_wkl/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, TG(1), KC_RCTL),
[1] = LAYOUT_60_wkl(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_DEL,
- RESET, RGB_TOG, RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
+ QK_BOOT, RGB_TOG, RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,TG(0),_______),
diff --git a/keyboards/smk60/keymaps/60_wkl_split_bs/keymap.c b/keyboards/smk60/keymaps/60_wkl_split_bs/keymap.c
index 22405cdc5f..12c4b8ce41 100644
--- a/keyboards/smk60/keymaps/60_wkl_split_bs/keymap.c
+++ b/keyboards/smk60/keymaps/60_wkl_split_bs/keymap.c
@@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, TG(1), KC_RCTL),
[1] = LAYOUT_60_wkl_split_bs(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,
- RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
+ QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,TG(0),_______),
diff --git a/keyboards/snampad/config.h b/keyboards/snampad/config.h
index f15fc72200..5e776fe52c 100644
--- a/keyboards/snampad/config.h
+++ b/keyboards/snampad/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Snamellit
-#define PRODUCT snampad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
#define MATRIX_COL_PINS { D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/snampad/info.json b/keyboards/snampad/info.json
index 740ab15ad8..de827697c2 100644
--- a/keyboards/snampad/info.json
+++ b/keyboards/snampad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "snampad",
+ "manufacturer": "Snamellit",
"url": "",
"maintainer": "ptillemans",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
diff --git a/keyboards/sneakbox/aliceclone/config.h b/keyboards/sneakbox/aliceclone/config.h
index 492c5680b8..4f2ecec285 100644
--- a/keyboards/sneakbox/aliceclone/config.h
+++ b/keyboards/sneakbox/aliceclone/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sneakbox
-#define PRODUCT AliceClone
-
/*Bootmagic boot button, set to topmost, leftmost key */
#define BOOTMAGIC_LITE_ROW 2
#define BOOTMAGIC_LITE_COLUMN 0
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, E6, F4, B1, F5, B2, F6, B3, F7, B7 }
#define MATRIX_COL_PINS { F0, D0, C7, C6, B6, B5, B4, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sneakbox/aliceclone/info.json b/keyboards/sneakbox/aliceclone/info.json
index 9fbee0c692..9fc342135d 100644
--- a/keyboards/sneakbox/aliceclone/info.json
+++ b/keyboards/sneakbox/aliceclone/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Alice Clone",
+ "keyboard_name": "AliceClone",
+ "manufacturer": "Sneakbox",
"url": "https://sneakbox.design",
"maintainer": "mujimanic",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/sneakbox/aliceclonergb/config.h b/keyboards/sneakbox/aliceclonergb/config.h
index 6e30dbca96..87ce572c4e 100644
--- a/keyboards/sneakbox/aliceclonergb/config.h
+++ b/keyboards/sneakbox/aliceclonergb/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sneakbox
-#define PRODUCT AliceClone RGB
-
/*Bootmagic boot button, set to topmost, leftmost key */
#define BOOTMAGIC_LITE_ROW 2
#define BOOTMAGIC_LITE_COLUMN 0
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, E6, F4, B1, F5, B2, F6, B3, F7, B7 }
#define MATRIX_COL_PINS { F0, D0, C7, C6, B6, B5, B4, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sneakbox/aliceclonergb/info.json b/keyboards/sneakbox/aliceclonergb/info.json
index 9fbee0c692..867ae9497a 100644
--- a/keyboards/sneakbox/aliceclonergb/info.json
+++ b/keyboards/sneakbox/aliceclonergb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Alice Clone",
+ "keyboard_name": "AliceClone RGB",
+ "manufacturer": "Sneakbox",
"url": "https://sneakbox.design",
"maintainer": "mujimanic",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/sneakbox/ava/config.h b/keyboards/sneakbox/ava/config.h
index 81fdf5b374..90112a26c1 100644
--- a/keyboards/sneakbox/ava/config.h
+++ b/keyboards/sneakbox/ava/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sneakbox
-#define PRODUCT AVA
-
/*Bootmagic boot button, set to topmost, leftmost key */
#define BOOTMAGIC_LITE_ROW 2
#define BOOTMAGIC_LITE_COLUMN 0
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F1, E6, F4, B1, F5, B2, F6, B3, B7 }
#define MATRIX_COL_PINS { F0, D0, C7, C6, B6, B5, B4, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sneakbox/ava/info.json b/keyboards/sneakbox/ava/info.json
index 276efce018..dc31241874 100644
--- a/keyboards/sneakbox/ava/info.json
+++ b/keyboards/sneakbox/ava/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "AVA",
+ "manufacturer": "Sneakbox",
"url": "https://sneakbox.com",
"maintainer": "mujimanic",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_alice_split_bs": "LAYOUT_ava_split_bs",
"LAYOUT_alice": "LAYOUT_ava"
diff --git a/keyboards/sneakbox/disarray/ortho/config.h b/keyboards/sneakbox/disarray/ortho/config.h
index 72b3265db6..90dc75d195 100644
--- a/keyboards/sneakbox/disarray/ortho/config.h
+++ b/keyboards/sneakbox/disarray/ortho/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sneakbox
-#define PRODUCT Disarray (Ortholinear Layout)
-
/*Bootmagic boot button, set to topmost, leftmost key */
#define BOOTMAGIC_LITE_ROW 1
#define BOOTMAGIC_LITE_COLUMN 0
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, D0, D1, D2, D3, B0}
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, E6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sneakbox/disarray/ortho/info.json b/keyboards/sneakbox/disarray/ortho/info.json
index 350e482177..5172c0c963 100644
--- a/keyboards/sneakbox/disarray/ortho/info.json
+++ b/keyboards/sneakbox/disarray/ortho/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Disarray (Ortholinear)",
+ "manufacturer": "Sneakbox",
"url": "https://sneakbox.com",
"maintainer": "mujimanic",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/sneakbox/disarray/staggered/config.h b/keyboards/sneakbox/disarray/staggered/config.h
index cc9a2ebd49..32c567f910 100644
--- a/keyboards/sneakbox/disarray/staggered/config.h
+++ b/keyboards/sneakbox/disarray/staggered/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Sneakbox
-#define PRODUCT Disarray (Staggered Layout)
-
/*Bootmagic boot button, set to topmost, leftmost key */
#define BOOTMAGIC_LITE_ROW 1
#define BOOTMAGIC_LITE_COLUMN 0
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, D0, D1, D2, D3}
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sneakbox/disarray/staggered/info.json b/keyboards/sneakbox/disarray/staggered/info.json
index f08d5389bf..2629c1ea4f 100644
--- a/keyboards/sneakbox/disarray/staggered/info.json
+++ b/keyboards/sneakbox/disarray/staggered/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Disarray (Staggered)",
+ "manufacturer": "Sneakbox",
"url": "https://sneakbox.design",
"maintainer": "mujimanic",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/soda/cherish/chconf.h b/keyboards/soda/cherish/chconf.h
new file mode 100644
index 0000000000..61b37ebf37
--- /dev/null
+++ b/keyboards/soda/cherish/chconf.h
@@ -0,0 +1,25 @@
+/* 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
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
+
diff --git a/keyboards/soda/cherish/cherish.c b/keyboards/soda/cherish/cherish.c
new file mode 100644
index 0000000000..76b2481d25
--- /dev/null
+++ b/keyboards/soda/cherish/cherish.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2015 Ãlvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "cherish.h"
diff --git a/keyboards/soda/cherish/cherish.h b/keyboards/soda/cherish/cherish.h
new file mode 100644
index 0000000000..e50da38177
--- /dev/null
+++ b/keyboards/soda/cherish/cherish.h
@@ -0,0 +1,38 @@
+/*
+Copyright 2015 Ãlvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_75_ansi( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, 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, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, \
+ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, \
+ K500, K501, K502, K505, K509, K510, K511, K512, K514 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, 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 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314 }, \
+ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414 }, \
+ { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, KC_NO, K514 } \
+}
diff --git a/keyboards/soda/cherish/config.h b/keyboards/soda/cherish/config.h
new file mode 100644
index 0000000000..15df7c244f
--- /dev/null
+++ b/keyboards/soda/cherish/config.h
@@ -0,0 +1,80 @@
+/*
+Copyright 2015 Ãlvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+
+#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A9, A10, A14, A15, B3, B4, B5, B6, B7, B8}
+#define MATRIX_ROW_PINS { A7, B0, B1, B2, B10, B11 }
+#define DIODE_DIRECTION COL2ROW
+
+//#define BACKLIGHT_PIN A6
+//#define BACKLIGHT_PWM_DRIVER PWMD3
+//#define BACKLIGHT_PWM_CHANNEL 1
+//#define BACKLIGHT_PAL_MODE 1
+//#define BACKLIGHT_LEVELS 6
+//#define BACKLIGHT_BREATHING
+//#define BREATHING_PERIOD 6
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+#define RGB_DI_PIN A13
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 1
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif \ No newline at end of file
diff --git a/keyboards/soda/cherish/info.json b/keyboards/soda/cherish/info.json
new file mode 100644
index 0000000000..0b3914eb63
--- /dev/null
+++ b/keyboards/soda/cherish/info.json
@@ -0,0 +1,103 @@
+{
+ "keyboard_name": "Cherish-75",
+ "url": "",
+ "maintainer": "qmk",
+ "manufacturer": "gezhaoyou",
+ "usb": {
+ "vid": "0xEB50",
+ "pid": "0xEB52",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_75_ansi": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15, "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":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+ {"x":13, "y":1, "w":2},
+ {"x":15, "y":1},
+
+ {"x":0, "y":2, "w":1.5},
+ {"x":1.5, "y":2},
+ {"x":2.5, "y":2},
+ {"x":3.5, "y":2},
+ {"x":4.5, "y":2},
+ {"x":5.5, "y":2},
+ {"x":6.5, "y":2},
+ {"x":7.5, "y":2},
+ {"x":8.5, "y":2},
+ {"x":9.5, "y":2},
+ {"x":10.5, "y":2},
+ {"x":11.5, "y":2},
+ {"x":12.5, "y":2},
+ {"x":13.5, "y":2, "w":1.5},
+ {"x":15, "y":2},
+
+ {"x":0, "y":3, "w":1.75},
+ {"x":1.75, "y":3},
+ {"x":2.75, "y":3},
+ {"x":3.75, "y":3},
+ {"x":4.75, "y":3},
+ {"x":5.75, "y":3},
+ {"x":6.75, "y":3},
+ {"x":7.75, "y":3},
+ {"x":8.75, "y":3},
+ {"x":9.75, "y":3},
+ {"x":10.75, "y":3},
+ {"x":11.75, "y":3},
+ {"x":12.75, "y":3, "w":2.25},
+ {"x":15, "y":3},
+
+ {"x":0, "y":4, "w":2.25},
+ {"x":2.25, "y":4},
+ {"x":3.25, "y":4},
+ {"x":4.25, "y":4},
+ {"x":5.25, "y":4},
+ {"x":6.25, "y":4},
+ {"x":7.25, "y":4},
+ {"x":8.25, "y":4},
+ {"x":9.25, "y":4},
+ {"x":10.25, "y":4},
+ {"x":11.25, "y":4},
+ {"x":12.25, "y":4, "w":1.75},
+ {"x":14, "y":4},
+ {"x":15, "y":4},
+
+ {"x":0, "y":5, "w":1.25},
+ {"x":1.25, "y":5, "w":1.25},
+ {"x":2.5, "y":5, "w":1.25},
+ {"x":3.75, "y":5, "w":6.25},
+ {"x":10, "y":5},
+ {"x":11, "y":5},
+ {"x":12, "y":5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/soda/cherish/keymaps/default/keymap.c b/keyboards/soda/cherish/keymaps/default/keymap.c
new file mode 100755
index 0000000000..3927f7f222
--- /dev/null
+++ b/keyboards/soda/cherish/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_75_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_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_HOME,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT_75_ansi(
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, 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_TRNS, KC_TRNS, KC_TRNS, 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(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUD, RGB_SAD),
+};
diff --git a/keyboards/soda/cherish/keymaps/via/keymap.c b/keyboards/soda/cherish/keymaps/via/keymap.c
new file mode 100755
index 0000000000..3927f7f222
--- /dev/null
+++ b/keyboards/soda/cherish/keymaps/via/keymap.c
@@ -0,0 +1,33 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_75_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_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_HOME,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT_75_ansi(
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, 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_TRNS, KC_TRNS, KC_TRNS, 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(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ 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, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_HUD, RGB_SAD),
+};
diff --git a/keyboards/soda/cherish/keymaps/via/rules.mk b/keyboards/soda/cherish/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/soda/cherish/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/soda/cherish/mcuconf.h b/keyboards/soda/cherish/mcuconf.h
new file mode 100644
index 0000000000..033c89fa82
--- /dev/null
+++ b/keyboards/soda/cherish/mcuconf.h
@@ -0,0 +1,23 @@
+/* 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_next <mcuconf.h>
+
+#undef STM32_I2C_USE_DMA
+#define STM32_I2C_USE_DMA FALSE
+
diff --git a/keyboards/soda/cherish/readme.md b/keyboards/soda/cherish/readme.md
new file mode 100644
index 0000000000..9a22e635b2
--- /dev/null
+++ b/keyboards/soda/cherish/readme.md
@@ -0,0 +1,30 @@
+# CHERISH-75
+
+A customizable 75% keyboard, support both HOTSWAP and SOLDER.
+
+* Keyboard Maintainer: [gezhaoyou](https://github.com/gezhaoyou)
+* Hardware Supported: [gezhaoyou](https://github.com/gezhaoyou)
+* Hardware Availability: [Cherish-75](https://github.com/gezhaoyou/Cherish-75)
+
+Make example for this keyboard (after setting up your build environment):
+
+**default**:
+
+```shell
+qmk compile -kb soda/cherish -km default
+```
+
+**via:**
+
+```shell
+qmk compile -kb soda/cherish -km via
+```
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset button**: Briefly press the button: [boot] first, then press button: [reset] on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/soda/cherish/rules.mk b/keyboards/soda/cherish/rules.mk
new file mode 100644
index 0000000000..55f433aaaa
--- /dev/null
+++ b/keyboards/soda/cherish/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -p FFFF -v FFFF
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h
index 93048f3cd1..8663bf8933 100755
--- a/keyboards/sofle/keyhive/config.h
+++ b/keyboards/sofle/keyhive/config.h
@@ -19,13 +19,6 @@
#pragma once
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0xFC32
-#define PRODUCT_ID 0x1287
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Keyhive
-#define PRODUCT Sofle
-
// Key matrix size
// Rows are doubled-up. Added extra column for rotary encoder VIA mapping.
#define MATRIX_ROWS 10
diff --git a/keyboards/sofle/keyhive/info.json b/keyboards/sofle/keyhive/info.json
index aafc6a8c8b..fd15873c42 100644
--- a/keyboards/sofle/keyhive/info.json
+++ b/keyboards/sofle/keyhive/info.json
@@ -1,5 +1,11 @@
{
"keyboard_name": "Sofle",
+ "manufacturer": "Keyhive",
+ "usb": {
+ "vid": "0xFC32",
+ "pid": "0x1287",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sofle/keymaps/default/keymap.c b/keyboards/sofle/keymaps/default/keymap.c
index 94e7d8b3a6..5729d80271 100644
--- a/keyboards/sofle/keymaps/default/keymap.c
+++ b/keyboards/sofle/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
* `-----------------------------------------/ / \ \-----------------------------------------'
* | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
diff --git a/keyboards/sofle/keymaps/devdev/keymap.c b/keyboards/sofle/keymaps/devdev/keymap.c
index b805f7f176..7209c2d33b 100644
--- a/keyboards/sofle/keymaps/devdev/keymap.c
+++ b/keyboards/sofle/keymaps/devdev/keymap.c
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RESET| | | | | | | | | | | | |
+ * | QK_BOOT| | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* |RGB_TOG|hue^ |sat ^ | bri ^| |COLEMAK|-------. ,-------|desk <| | |desk >| | |
* |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
@@ -245,7 +245,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------. ,---------------------------------------------------.
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- RESET, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
RGB_TOG, RGB_HUI,RGB_SAI, RGB_VAI, KC_COLEMAKDH,KC_COLEMAK, C(G(KC_LEFT)),KC_NO,KC_NO,C(G(KC_RGHT)),XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
@@ -301,7 +301,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------. ,---------------------------------------------------.
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, RESET,
+ TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, QK_BOOT,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EEP_RST,
//|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
diff --git a/keyboards/sofle/keymaps/flare576/keymap.c b/keyboards/sofle/keymaps/flare576/keymap.c
index 68f611a1b5..720232ad48 100644
--- a/keyboards/sofle/keymaps/flare576/keymap.c
+++ b/keyboards/sofle/keymaps/flare576/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* SYMS
* ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | { | } | | RESET|
+ * | | F1 | F2 | F3 | F4 | F5 | | | | { | } | | QK_BOOT|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | TRNS | F6 | F7 | F8 | F9 | F10 | | | | ( | ) | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' '------''---------------------------'
*/
[_SYMS] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, RESET,
+ XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, QK_BOOT,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX,
_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX,
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), KC_F20, _______, _______, XXXXXXX, XXXXXXX, KC_LT, KC_GT, XXXXXXX, XXXXXXX,
diff --git a/keyboards/sofle/keymaps/foureight84/config.h b/keyboards/sofle/keymaps/foureight84/config.h
new file mode 100644
index 0000000000..2104124f3a
--- /dev/null
+++ b/keyboards/sofle/keymaps/foureight84/config.h
@@ -0,0 +1,33 @@
+/* Copyright 2022 Khoa Truong <foureight84@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
+
+#define EE_HANDS
+
+/* clear default encoder def */
+#undef TAP_CODE_DELAY
+
+/* encoder support */
+#define TAP_CODE_DELAY 100
+
+#define SPLIT_WPM_ENABLE
+#define SPLIT_OLED_ENABLE
+
+#define POINTING_DEVICE_ROTATION_90
+#define SPLIT_POINTING_ENABLE
+#define POINTING_DEVICE_RIGHT
+#define POINTING_DEVICE_TASK_THROTTLE_MS 8 \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/keymap.c b/keyboards/sofle/keymaps/foureight84/keymap.c
new file mode 100644
index 0000000000..b2dd6a3cd6
--- /dev/null
+++ b/keyboards/sofle/keymaps/foureight84/keymap.c
@@ -0,0 +1,616 @@
+/* Copyright 2022 Khoa Truong <foureight84@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
+#include <string.h>
+#include "lib/lib8tion/lib8tion.h"
+
+
+enum sofle_layers {
+ /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
+ _QWERTY,
+ _COLEMAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+ _MOUSE,
+};
+
+enum custom_keycodes {
+ KC_QWERTY = SAFE_RANGE,
+ KC_COLEMAK,
+ KC_LOWER,
+ KC_RAISE,
+ KC_ADJUST,
+ KC_PRVWD,
+ KC_NXTWD,
+ KC_LSTRT,
+ KC_LEND,
+ KC_DLINE,
+ KC_MOUSE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ * QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LCtrl | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | [ | LGUI | LAlt |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | ] |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_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_BSLS, \
+ KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_LBRC ,KC_LGUI, KC_LALT, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RBRC \
+),
+/*
+ * COLEMAK
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_COLEMAK] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, \
+ KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
+ KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, 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_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_LGUI,KC_LALT,KC_LCTRL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI \
+),
+/* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | MOUSE| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------| 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_F12, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
+ KC_MOUSE, 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 | | | | | PWrd | Up | NWrd | DLine| Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
+ * |------+------+------+------+------+------| MPLY | | |------+------+------+------+------+------|
+ * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_RAISE] = LAYOUT( \
+ _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, \
+ _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, 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, \
+ _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, KC_MPLY, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+),
+/* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | QK_BOOT| |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, \
+ QK_BOOT, XXXXXXX,KC_QWERTY,KC_COLEMAK,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, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ ),
+ /* MOUSE
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | |-------. ,-------|MS_BT1|MS_BT2| | | | |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | | | | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+ [_MOUSE] = LAYOUT( \
+ XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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_MS_BTN1, KC_MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ )
+};
+
+#ifdef OLED_ENABLE
+
+static void print_status_narrow(void) {
+ // Print current mode
+ oled_write_P(PSTR("\n\n"), false);
+ oled_write_ln_P(PSTR("MODE"), false);
+ oled_write_ln_P(PSTR(""), false);
+ if (keymap_config.swap_lctl_lgui) {
+ oled_write_ln_P(PSTR("MAC"), false);
+ } else {
+ oled_write_ln_P(PSTR("WIN"), false);
+ }
+
+ switch (get_highest_layer(default_layer_state)) {
+ case _QWERTY:
+ oled_write_ln_P(PSTR("Qwrt"), false);
+ break;
+ case _COLEMAK:
+ oled_write_ln_P(PSTR("Clmk"), 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 _COLEMAK:
+ 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;
+ case _MOUSE:
+ oled_write_P(PSTR("Mouse\n"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_P(PSTR("\n\n"), false);
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
+}
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+ return rotation;
+}
+
+
+/* Animation bit by j-inc https://github.com/qmk/qmk_firmware/tree/master/keyboards/kyria/keymaps/j-inc */
+// WPM-responsive animation stuff here
+#define IDLE_FRAMES 5
+#define IDLE_SPEED 40 // below this wpm value your animation will idle
+
+// #define PREP_FRAMES 1 // uncomment if >1
+
+#define TAP_FRAMES 2
+#define TAP_SPEED 60 // above this wpm value typing animation to triggere
+
+#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+#define ANIM_SIZE 320 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+// Implementation credit j-inc(/James Incandenza), pixelbenny, and obosob.
+// Bongo cat images changed and adapted for sofle keyboard oled size.
+// Original gif can be found here: https://www.pixilart.com/art/bongo-cat-bd2a8e9323aa705
+static void render_anim(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
+ {
+ 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
+ 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
+ 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
+ 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
+ 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
+ 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
+ 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
+ }
+ };
+ static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
+ {
+ 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0x7c, 0x70, 0x40, 0x40,
+ 0x61, 0x5e, 0x80, 0xc0, 0xbc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0f, 0x3f, 0xf8, 0xf0, 0xf0, 0x20,
+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
+ 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04,
+ 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0x1e, 0x01, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x60, 0x80, 0x00, 0x00, 0xe1, 0x1e, 0x01, 0xf0, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x19,
+ 0x19, 0x41, 0x0a, 0x22, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
+ 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01,
+ },
+ {
+ 0x00, 0xc0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00,
+ 0xe1, 0x1e, 0x00, 0xc0, 0xbc, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3c, 0x03, 0x00, 0x00, 0x00, 0x80, 0x78, 0x87, 0x00, 0x03, 0x0c, 0x30, 0xc0, 0x00, 0xe0, 0x1f,
+ 0x01, 0xc0, 0x3c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x31, 0x05, 0x41, 0x12, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x87, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0xc0, 0x3f, 0x03, 0x80,
+ 0x78, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x03, 0x05,
+ 0x00, 0x00, 0xf0, 0xcf, 0x00, 0x01, 0x06, 0x18, 0x60, 0x80, 0x80, 0x79, 0x07, 0x80, 0x78, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 0x00, 0xf9, 0x07, 0x80, 0x78, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x2c, 0x32, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x03, 0x0f, 0x3f, 0xff, 0x03, 0x01, 0x03, 0x07, 0x18, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x60, 0x80, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x09, 0x0e, 0x0e, 0x01, 0xf3, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x70, 0x80,
+ 0x00, 0x00, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x01
+ },
+ };
+
+ //assumes 1 frame prep stage
+ void animation_phase(void) {
+ if(get_current_wpm() <=IDLE_SPEED){
+ oled_write_raw_P(idle[0], ANIM_SIZE);
+ }
+ if(get_current_wpm() >=TAP_SPEED){
+ current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
+ oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
+ }
+ }
+ if(get_current_wpm() != 000) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ anim_sleep = timer_read32();
+ } else {
+ if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ } else {
+ if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ }
+ }
+}
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ print_status_narrow();
+ } else {
+ render_anim();
+ oled_set_cursor(1,12);
+ oled_write_P(PSTR("WPM"), false);
+ oled_set_cursor(1,13);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false);
+ }
+ return false;
+}
+#endif
+
+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_COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ 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;
+ case KC_COPY:
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_C);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_C);
+ }
+ return false;
+ case KC_PASTE:
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_V);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_V);
+ }
+ return false;
+ case KC_CUT:
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_X);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_X);
+ }
+ return false;
+ break;
+ case KC_UNDO:
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_Z);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_Z);
+ }
+ return false;
+ case KC_MOUSE:
+ if (record->event.pressed) {
+ layer_on(_MOUSE);
+ } else {
+ layer_off(_MOUSE);
+ }
+ return false;
+ }
+ return true;
+}
+
+#ifdef ENCODER_ENABLE
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ switch (get_highest_layer(layer_state)) {
+ case _COLEMAK:
+ case _QWERTY:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLD);
+ } else {
+ tap_code(KC_VOLU);
+ }
+ }
+ break;
+
+ case _RAISE:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_MPRV);
+ } else {
+ tap_code(KC_MNXT);
+ }
+ }
+ break;
+ }
+ return true;
+}
+
+#endif
+
+static uint32_t last_mouse_activity = 0;
+static report_mouse_t last_mouse_report = {0};
+static bool is_scrolling = false;
+
+report_mouse_t smooth_mouse_movement(report_mouse_t mouse_report) {
+ // Linear interpolation and ease-in-out
+ static fract8 fract = 0.5;
+ int8_t x = 0;
+ int8_t y = 0;
+ int8_t h = 0;
+ int8_t v = 0;
+
+ if (!is_scrolling) {
+ x = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
+ y = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
+ } else {
+ h = ease8InOutApprox(lerp8by8(last_mouse_report.x, mouse_report.x, fract));
+ v = ease8InOutApprox(lerp8by8(last_mouse_report.y, mouse_report.y, fract));
+ }
+
+ // update the new smoothed report
+ mouse_report.x = x;
+ mouse_report.y = y;
+ mouse_report.h = h;
+ mouse_report.v = v;
+
+ return mouse_report;
+}
+
+report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
+
+ if (has_mouse_report_changed(&last_mouse_report, &mouse_report)) {
+ last_mouse_activity = timer_read32();
+ memcpy(&last_mouse_report, &mouse_report, sizeof(mouse_report));
+ }
+
+ return smooth_mouse_movement(mouse_report);
+} \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/foureight84/readme.md b/keyboards/sofle/keymaps/foureight84/readme.md
new file mode 100644
index 0000000000..e88b0e04f6
--- /dev/null
+++ b/keyboards/sofle/keymaps/foureight84/readme.md
@@ -0,0 +1 @@
+For more information on integrating the Pimoroni Trackball, please see: https://github.com/foureight84/sofle-keyboard-pimoroni
diff --git a/keyboards/sofle/keymaps/foureight84/rules.mk b/keyboards/sofle/keymaps/foureight84/rules.mk
new file mode 100644
index 0000000000..102742ab1c
--- /dev/null
+++ b/keyboards/sofle/keymaps/foureight84/rules.mk
@@ -0,0 +1,24 @@
+OLED_ENABLE = yes
+ENCODER_ENABLE = yes
+EXTRAKEY_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+WPM_ENABLE = yes
+
+#Debug options
+VERBOSE = no
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+
+LTO_ENABLE = yes
+
+SPLIT_KEYBOARD = yes
+
+VIA_ENABLE = no
+
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = pimoroni_trackball
+
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
+MUSIC_ENABLE = no \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/helltm/keymap.c b/keyboards/sofle/keymaps/helltm/keymap.c
index 8d6289af42..c0fd5edb5e 100644
--- a/keyboards/sofle/keymaps/helltm/keymap.c
+++ b/keyboards/sofle/keymaps/helltm/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | Esc | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | | Up | | RESET| | | PWrd | NWrd | Pscr |Scroll| Pause| F12 |
+ * | Tab | | Up | | QK_BOOT| | | PWrd | NWrd | Pscr |Scroll| Pause| F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Caps | Left | Down | Rigth| | |-------. ,-------| | | Ins | Home | PUp | |
* |------+------+------+------+------+------| play | | mute |------+------+------+------+------+------|
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, XXXXXXX, KC_UP, XXXXXXX, RESET, XXXXXXX, KC_PRVWD, KC_NXTWD, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12,
+ _______, XXXXXXX, KC_UP, XXXXXXX, QK_BOOT, XXXXXXX, KC_PRVWD, KC_NXTWD, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12,
_______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGUP, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_APP, KC_DEL, KC_END, KC_PGDN, XXXXXXX,
CG_TOGG, KC_RALT, _______, KC_RCTL, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
@@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RESET| |QWERTY| | | | | | | | | | |
+ * | QK_BOOT| |QWERTY| | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
* |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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,
+ QK_BOOT, 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,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h
index 2e6abe84e3..9d1de12d5a 100644
--- a/keyboards/sofle/keymaps/killmaster/config.h
+++ b/keyboards/sofle/keymaps/killmaster/config.h
@@ -61,4 +61,3 @@ for more options.
#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
index 71db0fc853..5db76bbb72 100644
--- a/keyboards/sofle/keymaps/killmaster/keymap.c
+++ b/keyboards/sofle/keymaps/killmaster/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RESET| |QWERTY|COLEMAK| | | | | | | | | |
+ * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
* |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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,
+ QK_BOOT, 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,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
index 8372e10168..e335d5d8b8 100644
--- a/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/sofle/keymaps/michal/config.h b/keyboards/sofle/keymaps/michal/config.h
new file mode 100644
index 0000000000..6ab3602dfd
--- /dev/null
+++ b/keyboards/sofle/keymaps/michal/config.h
@@ -0,0 +1,23 @@
+// Copyright 2022 Michal S. (@ihatethefrench)
+// SPDX-License-Identifier: GPL-2.0-only
+
+#pragma once
+
+// Enables features such as octave changer, suspend, etc.
+#define MIDI_ADVANCED
+
+// This autoshift delay feels most natural for me I think
+#define AUTO_SHIFT_TIMEOUT 165
+
+// I don't use too many layers, so this is more than enough
+#define LAYER_STATE_8BIT
+
+// Saving space
+#define NO_ACTION_ONESHOT
+#define NO_ACTION_TAPPING
+#define NO_MUSIC_MODE
+
+// If I recall correctly, these aren't necessary for the sofle
+// so i disable them to save more space.
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/michal/keymap.c b/keyboards/sofle/keymaps/michal/keymap.c
new file mode 100644
index 0000000000..1e0d16eab9
--- /dev/null
+++ b/keyboards/sofle/keymaps/michal/keymap.c
@@ -0,0 +1,230 @@
+// Copyright 2022 Michal S. (@ihatethefrench)
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include QMK_KEYBOARD_H
+
+// This specifies the layers that will be used
+enum sofle_layers {
+ _WORKMAN,
+ _QWERTY,
+ _MIDI,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+// This specifies any custom keycodes I might have set
+enum custom_keycodes {
+ KC_WORKMAN = SAFE_RANGE,
+ KC_QWERTY,
+ KC_MIDI,
+ KC_LOWER,
+ KC_RAISE,
+ KC_ADJUST
+};
+
+// Here the keymaps are defined in matrix form using KC_XYZ form keycodes
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ * WORKMAN
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | Q | D | R | W | B | | J | F | U | P | ; | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | A | S | H | T | G |-------. ,-------| Y | N | E | O | I | ' |
+ * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
+ * |LShift| Z | X | M | C | V |-------| |-------| K | L | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_WORKMAN] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
+ 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, XXXXXXX, KC_MUTE, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI, KC_LALT, KC_LCTRL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI
+),
+
+/*
+ * QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Prnt |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| | | MUTE |------+------+------+------+------+------|
+ * |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_PSCR,
+ 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, XXXXXXX, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI, KC_LALT, KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI
+),
+
+/* MIDI
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Pnic | OCT0 | OCT1 | OCT2 | OCT3 | OCT4 | | OCT5 | OCT6 | OCT7 | | | MTOG |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | |G#/Ab |Bb/A# | |C#/Db |D#/Eb | | |F#/Gb |G#/Ab |Bb/A# | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | A | B | C | D | E |-------. ,-------| F | G | A | B | C | Wkmn |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | TNSD | TNSU |-------| |-------| BNDD | BNDU | | | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | | | | Susd | /OCTDN / \OCTUP \ | | | | |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_MIDI] = LAYOUT(
+ MI_ALLOFF, MI_OCT_0, MI_OCT_1, MI_OCT_2, MI_OCT_3, MI_OCT_4, MI_OCT_5, MI_OCT_6, MI_OCT_7, _______, _______, MI_TOG,
+ _______, MI_Gs, MI_As, _______, MI_Cs_1, MI_Ds_1, _______, MI_Fs_1, MI_Gs_1, MI_As_1, _______, _______,
+ _______, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_C_2, KC_WORKMAN,
+ _______, _______, _______, _______, MI_TRNSD, MI_TRNSU, _______, _______, MI_BENDD, MI_BENDU, _______, _______, _______, _______,
+ _______, _______, _______, MI_SUS, MI_OCTD, MI_OCTU, _______, _______, _______, _______
+),
+
+/* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | |-------. ,-------| | | | | | | |
+ * |------+------+------+------+------+------| | | Run |------+------+------+------+------+------|
+ * | | = | - | + | { | } |-------| |-------| [ | ] | | | \ | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | | | |LOWER | / / \ \ | | | | |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_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_PIPE,
+ _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, LALT(KC_F2), KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* RAISE
+ * ,----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | ASTG |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | Up | | | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | |-------. ,-------| | Left | Down | Rght | | Wkmn |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | Midi | | |-------| |-------| | | Home | End | | Qwrt |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | | | | | / / \ \ |RAISE | | | |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_RAISE] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ASTG,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_WORKMAN,
+ _______, _______, _______, KC_MIDI, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, KC_QWERTY,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)};
+
+// This section only compiles if OLED_ENABLE is set to `yes` in rules.mk
+#ifdef OLED_ENABLE
+
+// Defining my custom text to draw to the screen :)
+static void oled_screen(void) {
+ oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR(">nix "), false);
+ oled_write_ln_P(PSTR(">rust"), false);
+ oled_write_ln_P(PSTR(">hs &"), false);
+ oled_write_ln_P(PSTR(">rum"), false);
+ oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR(" . ."), false);
+ oled_write_ln_P(PSTR(" u "), false);
+ oled_write_ln_P(PSTR(" d"), false);
+ oled_write_ln_P(PSTR(""), false);
+ oled_write_ln_P(PSTR("mchal"), false);
+}
+
+// Set correct rotation so the text doesn't end up sideways
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+ return rotation;
+}
+
+// I only draw to the right screen because I accidentally
+// burned the left one with a soldering iron. Oops.
+bool oled_task_user(void) {
+ if (!is_keyboard_master()) {
+ oled_screen();
+ }
+ return false;
+}
+
+#endif
+
+// This section defines custom keycodes, which I use to manage layers
+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_WORKMAN:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_WORKMAN);
+ }
+ return false;
+ case KC_MIDI:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_MIDI);
+ }
+ 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;
+ }
+ return true;
+}
+
+// This section only compiles if ENCODER_ENABLE is set to `yes` in rules.mk
+#ifdef ENCODER_ENABLE
+
+// This section is like the keymap matrix, but for rotary encoders
+// My left encoder is currently not working, so I'm using Layers to cope :')
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_WORKMAN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
+ [_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
+ [_LOWER] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
+ [_RAISE] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______ )},
+ [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______ )},
+};
+
+#endif
diff --git a/keyboards/sofle/keymaps/michal/rules.mk b/keyboards/sofle/keymaps/michal/rules.mk
new file mode 100644
index 0000000000..63f587fd30
--- /dev/null
+++ b/keyboards/sofle/keymaps/michal/rules.mk
@@ -0,0 +1,22 @@
+BOOTLOADER = atmel-dfu
+
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+
+# These are turned off to save space
+COMMAND_ENABLE = no
+CONSOLE_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
+SPACE_CADET_ENABLE = no
+
+# I actually use these features
+AUTO_SHIFT_ENABLE = yes
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+EXTRAKEY_ENABLE = yes
+MIDI_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+
+# More space-saving
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/noqmk/keymap.c b/keyboards/sofle/keymaps/noqmk/keymap.c
new file mode 100644
index 0000000000..ae92a7ec7f
--- /dev/null
+++ b/keyboards/sofle/keymaps/noqmk/keymap.c
@@ -0,0 +1,686 @@
+// Copyright 2022 axtlos (@axtloss)
+// SPDX-License-Identifier: GPL-2.0-only
+#include QMK_KEYBOARD_H
+
+
+enum sofle_layers {
+ /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
+ _QWERTY,
+ _COLEMAK,
+ _GAME,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ KC_COLEMAK = SAFE_RANGE,
+ KC_QWERTY,
+ KC_LOWER,
+ KC_RAISE,
+ KC_ADJUST,
+ KC_GAME,
+ KC_PRVWD,
+ KC_NXTWD,
+ KC_LSTRT,
+ KC_LEND,
+ KC_DLINE,
+ KC_UNLOCK,
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * COLEMAK
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
+ * |------+------+------+------+------+------| MUTE | |ADJUST |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | MOUSE |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_COLEMAK] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
+ KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
+ KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, 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_MUTE, KC_CAPS ,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI,KC_LALT,KC_LCTRL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_PSCR
+),
+/*
+ * 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 | /Enter / \Space \ |RAISE | RCTR | RAlt | Print|
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_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_GRV,
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_PSCR
+),
+/* 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 | | | | | PWrd | Up | NWrd | DLine| Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | ae | ue | oe | ss | euro |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * |Shift | Undo | Cut | Copy | Paste| caps |-------| |-------| | LStr | | LEnd | | Shift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_RAISE] = LAYOUT(
+ _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
+ _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_UP, LGUI(KC_9),LGUI(KC_0), KC_BSPC,
+ _______, RALT(KC_Q), RALT(KC_Y), RALT(KC_P), RALT(KC_S) , RALT(KC_5), KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
+ _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_CAPS, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
+ _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______
+),
+/*
+ * 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 | Print|
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_GAME] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSPC,
+ KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI,KC_LALT,KC_SPC, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_PSCR
+),
+/* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | QK_BOOT| |QWERTY|COLEMAK| | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | |MACWIN|GAMING| | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * |UNLOCK| | | | | |-------| |-------| | 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,
+ QK_BOOT , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX , XXXXXXX,CG_TOGG, KC_GAME, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
+ KC_UNLOCK , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+};
+
+#ifdef OLED_ENABLE
+
+bool show_lock = true; // this is used to display the lock icon and disable keypresses when the keyboard is locked
+bool animate = true; // this variable is used to fix the flickering bug
+
+static void render_logo(void) {
+ static const char PROGMEM no_qmk[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xf0,
+ 0xf8, 0xf8, 0xe0, 0x00, 0x00, 0x0e, 0xfe, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
+ 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
+ 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x88, 0x88, 0x88, 0x48, 0x48, 0x48, 0x28, 0x28, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf0, 0xfc, 0xf8, 0x03, 0xf3, 0xe7, 0xdf, 0x9f, 0x3f, 0xfe, 0xfe, 0xfc, 0xf9,
+ 0xfb, 0xf3, 0xf7, 0xf7, 0xe7, 0xef, 0xcf, 0x90, 0xa1, 0x81, 0x81, 0x81, 0xa0, 0xbd, 0xff, 0xff,
+ 0xff, 0xff, 0x7f, 0x3f, 0x9c, 0xdc, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+ 0x60, 0x00, 0x00, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x4c, 0x4f,
+ 0x47, 0x43, 0x43, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xc2, 0xc2, 0x41, 0x00, 0x00, 0x00, 0x00,
+ 0xe3, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0xe2, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x03, 0x79, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x79, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f,
+ 0x03, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x40, 0x40,
+ 0x40, 0x40, 0x40, 0x40, 0x44, 0x4a, 0x4a, 0x51, 0x51, 0x60, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 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, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f,
+ 0x3f, 0x3f, 0x7f, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x7c, 0x7e, 0x7f, 0x7f, 0x4f, 0x43, 0x40, 0x60,
+ 0x60, 0x78, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
+ 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x21,
+ 0x11, 0x11, 0x09, 0x09, 0x05, 0x05, 0x03, 0x03, 0x05, 0x09, 0x11, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ oled_write_raw_P(no_qmk, sizeof(no_qmk));
+}
+
+static const char PROGMEM locked_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0xce, 0xc6,
+ 0xc6, 0xce, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
+ 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+/* 32 * 14 os logos */
+static const char PROGMEM linux_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x27, 0x27, 0x8f, 0x9f, 0x03,
+ 0x73, 0xff, 0x03, 0xf2, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x19, 0x19, 0x1b, 0x1b, 0x1b,
+ 0x1a, 0x18, 0x18, 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};
+
+
+/* KEYBOARD PET START */
+
+/* settings */
+# 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
+
+/* timers */
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+
+/* current frame */
+uint8_t current_frame = 0;
+
+/* status variables */
+int current_wpm = 0;
+led_t led_usb_state;
+
+bool isSneaking = 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}};
+
+ /* 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,
+ }};
+
+ /* 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,
+ }};
+
+ /* 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,
+ }};
+
+ /* 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,
+ }};
+
+ /* animation */
+ void animate_luna(void) {
+ /* jump */
+ if (isJumping || !showedJump) {
+ /* clear */
+ oled_set_cursor(LUNA_X, LUNA_Y + 2);
+ oled_write(" ", false);
+
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
+
+ showedJump = true;
+ } else {
+ /* clear */
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
+ oled_write(" ", false);
+
+ oled_set_cursor(LUNA_X, LUNA_Y);
+ }
+
+ /* switch frame */
+ current_frame = (current_frame + 1) % 2;
+
+ /* current status */
+ if (led_usb_state.caps_lock) {
+ oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE);
+
+ } else if (isSneaking) {
+ oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE);
+
+ } 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) {
+ oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE);
+
+ } else {
+ oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE);
+ }
+ }
+
+ /* animation timer, stops the animation logic when the oled is turned off */
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION && animate == true) {
+ anim_timer = timer_read32();
+ animate_luna();
+ }
+
+ /* this fixes the screen on and off bug by disabling the animation logic when the oled is off */
+ if (current_wpm > 0) {
+ oled_on();
+ anim_sleep = timer_read32();
+ animate = true;
+ } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ oled_off();
+ animate = false;
+ }
+}
+
+/* KEYBOARD PET END */
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+ return rotation;
+}
+
+static void print_logo_narrow(void) {
+ render_logo();
+}
+
+static void print_status_narrow(void) {
+ /* Print current mode */
+ oled_set_cursor(0, 0);
+ if (show_lock == true) {
+ oled_write_raw_P(locked_logo, sizeof(locked_logo));
+ } else if (keymap_config.swap_lctl_lgui) {
+ oled_write_raw_P(mac_logo, sizeof(mac_logo));
+ } else {
+ oled_write_raw_P(linux_logo, sizeof(linux_logo));
+ }
+
+ oled_set_cursor(0, 3);
+
+ switch (get_highest_layer(default_layer_state)) {
+ case _COLEMAK:
+ oled_write_P(PSTR(" CLMK "), false);
+ break;
+ case _GAME:
+ oled_write_P(PSTR(" GAME "), false);
+ break;
+ case _QWERTY:
+ oled_write_P(PSTR("QWERT"), false);
+ break;
+ default:
+ oled_write_P(PSTR("UNDEF"), false);
+ }
+
+ oled_set_cursor(0, 5);
+
+ /* Print current layer */
+ oled_write_P(PSTR("LAYER"), false);
+
+ oled_set_cursor(0, 6);
+
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_P(PSTR("Base "), 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 "), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undef"), false);
+ }
+
+ /* caps lock */
+ oled_set_cursor(0, 8);
+ oled_write_P(PSTR("CPSLK"), led_usb_state.caps_lock);
+
+ /* KEYBOARD PET RENDER START */
+
+ render_luna(0, 13);
+
+ /* KEYBOARD PET RENDER END */
+}
+
+bool oled_task_user(void) {
+ /* KEYBOARD PET VARIABLES START */
+
+ current_wpm = get_current_wpm();
+ led_usb_state = host_keyboard_led_state();
+
+ /* KEYBOARD PET VARIABLES END */
+
+ if (is_keyboard_master()) {
+ print_status_narrow();
+ } else {
+ print_logo_narrow();
+ }
+ return false;
+}
+
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_QWERTY:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case KC_COLEMAK:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ case KC_GAME:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_GAME);
+ }
+ 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 (show_lock == true) {
+ return false;
+ }
+ 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 (show_lock == true) {
+ return false;
+ }
+ 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 (show_lock == true) {
+ return false;
+ }
+ 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 (show_lock == true) {
+ return false;
+ }
+ 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 (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_RCTL));
+ register_code(KC_BSPC);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_BSPC);
+ }
+ break;
+ case KC_COPY:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_C);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_C);
+ }
+ return false;
+ case KC_PASTE:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_V);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_V);
+ }
+ return false;
+ case KC_CUT:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_X);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_X);
+ }
+ return false;
+ break;
+ case KC_UNDO:
+ if (show_lock == true) {
+ return false;
+ }
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_Z);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_Z);
+ }
+ return false;
+ case KC_UNLOCK:
+ if (record->event.pressed) {
+ if (show_lock == true) {
+ show_lock = false;
+ print_status_narrow();
+ } else {
+ show_lock = true;
+ print_status_narrow();
+ }
+ }
+ }
+ /* This stops any keypress to be sent to the computer when the keyboard is locked */
+ if (show_lock == false) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+#ifdef ENCODER_ENABLE
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ }
+ return true;
+}
+
+#endif
diff --git a/keyboards/sofle/keymaps/noqmk/readme.md b/keyboards/sofle/keymaps/noqmk/readme.md
new file mode 100644
index 0000000000..8fce20ad0c
--- /dev/null
+++ b/keyboards/sofle/keymaps/noqmk/readme.md
@@ -0,0 +1,28 @@
+![no qmk?](https://user-images.githubusercontent.com/60044824/181124856-0ebe0cc9-4b91-4fa2-89df-4e0841a61b9d.png)
+
+
+# Custom keymap for Sofle Keyboard, based on [Helltm](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle/keymaps/helltm)
+
+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. 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 PREV/NEXT media controls.
+- Keyboard lock, change to the adjust layer (up and down pressed at the same time) and press the left shift to lock/unlock, current lock state is displayed on oled
+- Apple logo for Mac mode, Fedora Silverblue logo for Linux/Win mode, Lock icon for locked
+- Fixed flickering on main OLED
+- Gaming layout, switches space to the left half of the keyboard and raises the most left column up by one key
+
+#Luna, the keyboard pet
+
+Features:
+- Luna reacts to your wpm counter
+ - under 10 wpm she sits
+ - between 10 and 40 wpm she walks
+ - over 40 wpm she runs
+- She will move sneakily if you hold down Ctrl
+- Will bark at people on the internet if you activate Caps Lock!
+- Luna jumps every time you hit Space
diff --git a/keyboards/sofle/keymaps/noqmk/rules.mk b/keyboards/sofle/keymaps/noqmk/rules.mk
new file mode 100644
index 0000000000..6685b8492c
--- /dev/null
+++ b/keyboards/sofle/keymaps/noqmk/rules.mk
@@ -0,0 +1,6 @@
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+ENCODER_ENABLE = yes
+CONSOLE_ENABLE = no
+EXTRAKEY_ENABLE = yes
+WPM_ENABLE = yes
diff --git a/keyboards/sofle/keymaps/rgb_default/keymap.c b/keyboards/sofle/keymaps/rgb_default/keymap.c
index 30f374f296..b6608b86a3 100644
--- a/keyboards/sofle/keymaps/rgb_default/keymap.c
+++ b/keyboards/sofle/keymaps/rgb_default/keymap.c
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RESET| | | | | | | | | | | | |
+ * | QK_BOOT| | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* |RGB_TOG|hue^ |sat ^ | bri ^| |COLEMAK|-------. ,-------|desk <| | |desk >| | |
* |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
@@ -245,7 +245,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------. ,---------------------------------------------------.
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- RESET, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
RGB_TOG, RGB_HUI,RGB_SAI, RGB_VAI, KC_COLEMAKDH,KC_COLEMAK, C(G(KC_LEFT)),KC_NO,KC_NO,C(G(KC_RGHT)),XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
@@ -286,7 +286,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | qwer | cole |col_dh| low | raise| adj | |numpad| | | | |RESET |
+ * | qwer | cole |col_dh| low | raise| adj | |numpad| | | | |QK_BOOT |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | |-------. ,-------| | | | | |EEP_RST|
* |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
@@ -301,7 +301,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------. ,---------------------------------------------------.
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), TO(6), KC_NO, KC_NO, KC_NO, KC_NO, RESET,
+ TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), TO(6), KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
//|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EEP_RST,
//|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h
index a34c574326..26d35982df 100644
--- a/keyboards/sofle/rev1/config.h
+++ b/keyboards/sofle/rev1/config.h
@@ -1,12 +1,5 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFC32
-#define PRODUCT_ID 0x0287
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JosefAdamcik
-#define PRODUCT Sofle
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/sofle/rev1/info.json b/keyboards/sofle/rev1/info.json
index 7673c485bf..00afc505e3 100644
--- a/keyboards/sofle/rev1/info.json
+++ b/keyboards/sofle/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sofle",
+ "manufacturer": "JosefAdamcik",
"url": "https://github.com/josefadamcik/SofleKeyboard",
"maintainer": "Josef Adamcik <josef.adamcik@gmail.com>",
+ "usb": {
+ "vid": "0xFC32",
+ "pid": "0x0287",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/soup10/config.h b/keyboards/soup10/config.h
index 81acb34604..10f30a7283 100644
--- a/keyboards/soup10/config.h
+++ b/keyboards/soup10/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5375
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER icesoup
-#define PRODUCT soup10
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
#define MATRIX_COL_PINS { D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/soup10/info.json b/keyboards/soup10/info.json
index e5b52a8b94..83fe427115 100644
--- a/keyboards/soup10/info.json
+++ b/keyboards/soup10/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Soup10",
+ "manufacturer": "icesoup",
"url": "https://github.com/Sadeeed/soup10",
"maintainer": "Sadeeed",
+ "usb": {
+ "vid": "0x5375",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h
index 0721302dbe..44d75e670a 100644
--- a/keyboards/sowbug/68keys/config.h
+++ b/keyboards/sowbug/68keys/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x8888
-#define DEVICE_VER 0x0001
-#define MANUFACTURER github.com/sowbug
-#define PRODUCT 68-key keyboard
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@
// key matrix pins
#define MATRIX_ROW_PINS { C14, C15, A0, A1, A2 }
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B10, B11, B12, B13, B14, B15, A8, A9, A10 }
-#define UNUSED_PINS
// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sowbug/68keys/info.json b/keyboards/sowbug/68keys/info.json
index bd9d00197d..03018825c5 100644
--- a/keyboards/sowbug/68keys/info.json
+++ b/keyboards/sowbug/68keys/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "68keys",
+ "manufacturer": "Sowbug",
"url": "github.com/sowbug",
"maintainer": "sowbug",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x8888",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h
index 44e82bbac7..e4752f9425 100644
--- a/keyboards/sowbug/ansi_tkl/config.h
+++ b/keyboards/sowbug/ansi_tkl/config.h
@@ -20,13 +20,6 @@
#include "config_common.h"
-// USB Device descriptor parameters
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x8889
-#define DEVICE_VER 0x0001
-#define MANUFACTURER github.com/sowbug
-#define PRODUCT ANSI TKL
-
// key matrix size
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -36,7 +29,6 @@
{ C14, C15, A0, A1, A2, A3 }
#define MATRIX_COL_PINS \
{ A4, A5, A6, A7, B0, B1, B10, B11, B12, B13, B14, B15, A8, A9, A10, A15, B3 }
-#define UNUSED_PINS
// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sowbug/ansi_tkl/info.json b/keyboards/sowbug/ansi_tkl/info.json
index f1b7f10034..a7ff38a7fe 100644
--- a/keyboards/sowbug/ansi_tkl/info.json
+++ b/keyboards/sowbug/ansi_tkl/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ansi_tkl",
+ "keyboard_name": "ANSI TKL",
+ "manufacturer": "Sowbug",
"url": "github.com/sowbug",
"maintainer": "sowbug",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x8889",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c b/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c
index 82414382eb..5a32dcc016 100644
--- a/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c
+++ b/keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
[1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, RESET , \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, QK_BOOT, \
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, \
_______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/soy20/config.h b/keyboards/soy20/config.h
index 932b129f84..9800b3f13e 100644
--- a/keyboards/soy20/config.h
+++ b/keyboards/soy20/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4452 // "DR" short for DrewKeys
-#define PRODUCT_ID 0x534f // "SO" short for Soy
-#define DEVICE_VER 0x0001
-#define MANUFACTURER drewkeys
-#define PRODUCT soy20
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, B6, B7, C7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/soy20/info.json b/keyboards/soy20/info.json
index 3ec8ad72e0..fd6f34592f 100644
--- a/keyboards/soy20/info.json
+++ b/keyboards/soy20/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Soy20",
+ "manufacturer": "drewkeys",
"url": "",
"maintainer": "twholt",
+ "usb": {
+ "vid": "0x4452",
+ "pid": "0x534F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/spaceholdings/nebula12/config.h b/keyboards/spaceholdings/nebula12/config.h
index da9fd10575..97623f0ff0 100755
--- a/keyboards/spaceholdings/nebula12/config.h
+++ b/keyboards/spaceholdings/nebula12/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* LSE clock */
#define STM32_LSECLK 32768
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x5337
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NEBULA12
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -46,7 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Setting up 400KHz I2C Clock for a 48MHz system clock */
diff --git a/keyboards/spaceholdings/nebula12/info.json b/keyboards/spaceholdings/nebula12/info.json
index 64ad3747a6..aca8ea5f69 100755
--- a/keyboards/spaceholdings/nebula12/info.json
+++ b/keyboards/spaceholdings/nebula12/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEBULA12",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5337",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/spaceholdings/nebula12b/config.h b/keyboards/spaceholdings/nebula12b/config.h
new file mode 100755
index 0000000000..ac3826b253
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/config.h
@@ -0,0 +1,125 @@
+/*
+Copyright 2022 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 3
+
+#define MATRIX_ROW_PINS { B7, B4, F7, F6 }
+#define MATRIX_COL_PINS { F4, F5, D7 }
+
+/* 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
+
+/* 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
+
+/*
+ * 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* RGB options */
+
+#define RGB_DI_PIN D5
+#define DRIVER_LED_TOTAL 16
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
diff --git a/keyboards/spaceholdings/nebula12b/info.json b/keyboards/spaceholdings/nebula12b/info.json
new file mode 100755
index 0000000000..9da7dfcb26
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "NEBULA12B",
+ "manufacturer": "Yiancar-Designs",
+ "url": "",
+ "maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5332",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/spaceholdings/nebula12b/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula12b/keymaps/default/keymap.c
new file mode 100755
index 0000000000..8006e4123f
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3,
+ MO(1), KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ RGB_TOG, RGB_MOD, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_PENT)
+};
diff --git a/keyboards/spaceholdings/nebula12b/keymaps/default/readme.md b/keyboards/spaceholdings/nebula12b/keymaps/default/readme.md
new file mode 100755
index 0000000000..c69432df24
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+# The default keymap for Nebula12B. VIA support disabled.
+
+![Layer 0](https://i.imgur.com/CoMteJW.png)
+
+![Layer 1](https://i.imgur.com/LbIPiJj.png)
+
+The full RGB control does not fit due to the small number of keys. Using VIA might be a good idea!
diff --git a/keyboards/spaceholdings/nebula12b/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula12b/keymaps/via/keymap.c
new file mode 100755
index 0000000000..943c27857b
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/keymaps/via/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3,
+ MO(1), KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ RGB_TOG, RGB_MOD, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_PENT),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ 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( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/spaceholdings/nebula12b/keymaps/via/readme.md b/keyboards/spaceholdings/nebula12b/keymaps/via/readme.md
new file mode 100755
index 0000000000..9b6fd121ae
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/keymaps/via/readme.md
@@ -0,0 +1,5 @@
+# The default keymap for Nebula12B. VIA support enabled.
+
+![Layer 0](https://i.imgur.com/CoMteJW.png)
+
+![Layer 1](https://i.imgur.com/LbIPiJj.png) \ No newline at end of file
diff --git a/keyboards/spaceholdings/nebula12b/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula12b/keymaps/via/rules.mk
new file mode 100755
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/spaceholdings/nebula12b/nebula12b.c b/keyboards/spaceholdings/nebula12b/nebula12b.c
new file mode 100755
index 0000000000..821999a105
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/nebula12b.c
@@ -0,0 +1,42 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "nebula12b.h"
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = { {
+ { 13, 15, 1 },
+ { 4, 3, 2 },
+ { 5, 6, 7 },
+ { 11, 10, 9 },
+}, {
+ {224, 0 }, {224, 9 }, {224, 27 }, {112, 27 }, { 0,27 },
+ { 0, 46 }, {112, 46 }, {224, 46 }, {224, 55 }, {224,64 },
+ {112, 64 }, { 0, 64 }, { 0, 55 }, { 0, 9 }, { 0, 0 }, {112, 9 }
+}, {
+ 2,
+ 4, 4, 4, 4, 4, 4, 4,
+ 2,
+ 4, 4, 4,
+ 2,
+ 4,
+ 2,
+ 4
+} };
+// clang-format on
+#endif
+
diff --git a/keyboards/spaceholdings/nebula12b/nebula12b.h b/keyboards/spaceholdings/nebula12b/nebula12b.h
new file mode 100755
index 0000000000..3733aa1eb6
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/nebula12b.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+
+// This a shortcut to help you visually see your layout.
+
+#define LAYOUT_all( \
+ K00, K01, K02, \
+ K10, K11, K12, \
+ K20, K21, K22, \
+ K30, K31, K32 \
+) { \
+ { K00, K01, K02, }, \
+ { K10, K11, K12, }, \
+ { K20, K21, K22, }, \
+ { K30, K31, K32, } \
+}
diff --git a/keyboards/spaceholdings/nebula12b/readme.md b/keyboards/spaceholdings/nebula12b/readme.md
new file mode 100755
index 0000000000..7a48fb04e4
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/readme.md
@@ -0,0 +1,32 @@
+# Nebula12B
+
+This is a micropad layout PCB. It supports VIA, full per-key RGB and underglow RGB. This is revision B.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A micropad with ATMEGA32U4
+* Hardware Availability: https://spaceholdings.net/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make spaceholdings/nebula12b:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make nebula12b:<keymap>:flash`)
diff --git a/keyboards/spaceholdings/nebula12b/rules.mk b/keyboards/spaceholdings/nebula12b/rules.mk
new file mode 100755
index 0000000000..92dd198801
--- /dev/null
+++ b/keyboards/spaceholdings/nebula12b/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable Per-key RGB
+RGB_MATRIX_DRIVER = WS2812 # Per-key RGB Driver
+
+LTO_ENABLE = yes
diff --git a/keyboards/spaceholdings/nebula68/config.h b/keyboards/spaceholdings/nebula68/config.h
index 1d6cb5e918..a8a9803d15 100755
--- a/keyboards/spaceholdings/nebula68/config.h
+++ b/keyboards/spaceholdings/nebula68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x5336
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NEBULA68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/spaceholdings/nebula68/info.json b/keyboards/spaceholdings/nebula68/info.json
index a0f0ba8aa3..626bb51a9b 100755
--- a/keyboards/spaceholdings/nebula68/info.json
+++ b/keyboards/spaceholdings/nebula68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEBULA68",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5336",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/spaceholdings/nebula68b/config.h b/keyboards/spaceholdings/nebula68b/config.h
index 1c0d6db233..4e22e69e10 100755
--- a/keyboards/spaceholdings/nebula68b/config.h
+++ b/keyboards/spaceholdings/nebula68b/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x5338
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NEBULA68B
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json
index 253e9682ed..47fc6fc718 100755
--- a/keyboards/spaceholdings/nebula68b/info.json
+++ b/keyboards/spaceholdings/nebula68b/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NEBULA68B",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5338",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi_split_bs": {
"layout": [
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
index 699c741555..a4a6c7facf 100755
--- a/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
+++ b/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
@@ -1,4 +1,4 @@
-# The default keymap for Nebula68. VIA support disabled.
+# The default keymap for Nebula68B. VIA support disabled.
![Layer 0](https://i.imgur.com/dXyRwb1.png)
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
index 75cbcac25e..583ddc02cf 100755
--- a/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
+++ b/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
@@ -1,4 +1,4 @@
-# The default keymap for Nebula68. VIA support enabled.
+# The default keymap for Nebula68B. VIA support enabled.
![Layer 0](https://i.imgur.com/dXyRwb1.png)
diff --git a/keyboards/spaceholdings/nebula68b/readme.md b/keyboards/spaceholdings/nebula68b/readme.md
index 624d9aced0..4c238e2ea0 100755
--- a/keyboards/spaceholdings/nebula68b/readme.md
+++ b/keyboards/spaceholdings/nebula68b/readme.md
@@ -29,4 +29,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
- Unplug
- Hold Escape
- Plug In
-- Flash using QMK Toolbox or dfu-util (`make nebula65b:<keymap>:flash`)
+- Flash using QMK Toolbox or dfu-util (`make nebula68b:<keymap>:flash`)
diff --git a/keyboards/spaceman/2_milk/config.h b/keyboards/spaceman/2_milk/config.h
index 5c264f44ac..2a4b2889d0 100644
--- a/keyboards/spaceman/2_milk/config.h
+++ b/keyboards/spaceman/2_milk/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342 // "SB"
-#define PRODUCT_ID 0x3225 // "2%"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Spaceman
-#define PRODUCT 2% Milk
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 1
@@ -32,7 +25,6 @@
{D4}, \
{C6} \
}
-#define UNUSED_PINS
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B6
diff --git a/keyboards/spaceman/2_milk/info.json b/keyboards/spaceman/2_milk/info.json
index 288bc0144c..8cdf474517 100644
--- a/keyboards/spaceman/2_milk/info.json
+++ b/keyboards/spaceman/2_milk/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "2% Milk",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x3225",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [ {"x": 0, "y": 0 }, {"x": 0, "y": 1 }]
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h
new file mode 100644
index 0000000000..bbd93cfc16
--- /dev/null
+++ b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define TAPPING_TERM 200
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c
new file mode 100644
index 0000000000..6f21c630bf
--- /dev/null
+++ b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/keymap.c
@@ -0,0 +1,56 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum tapdance_keycodes {
+ TD_KEY_1,
+ TD_KEY_2
+};
+
+void dance_key_one(qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ /* Copy for Mac. */
+ /* Windows & Linux use Ctrl+C: tap_code16(C(KC_C)) */
+ tap_code16(G(KC_C));
+ reset_tap_dance(state);
+ } else if (state->count == 2) {
+ /* Cut for Mac. */
+ /* Windows & Linux use Ctrl+X: tap_code16(C(KC_X)) */
+ tap_code16(G(KC_X));
+ reset_tap_dance(state);
+ } else if (state->count == 3) {
+ /* Plain old Tab. */
+ tap_code(KC_TAB);
+ reset_tap_dance(state);
+ }
+}
+
+void dance_key_two(qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ /* Paste for Mac. */
+ /* Windows & Linux use Ctrl+V: tap_code16(C(KC_V)) */
+ tap_code16(G(KC_V));
+ reset_tap_dance(state);
+ } else if (state->count == 2) {
+ /* Paste as value Gui+Shift+V for Mac. */
+ /* Windows & Linux use Ctrl+Shift V: tap_code16(C(S(KC_V))) */
+ tap_code16(G(S(KC_V)));
+ reset_tap_dance(state);
+ } else if (state->count == 3) {
+ /* Tab between programs for mac Gui+Tab. */
+ /* Windows & Linux use Ctrl+Tab: tap_code16(C(KC_TAB)) */
+ tap_code16(G(KC_TAB));
+ reset_tap_dance(state);
+ }
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_KEY_1] = ACTION_TAP_DANCE_FN(dance_key_one),
+ [TD_KEY_2] = ACTION_TAP_DANCE_FN(dance_key_two)
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(TD(TD_KEY_1),
+ TD(TD_KEY_2))
+};
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md
new file mode 100644
index 0000000000..722e7491bc
--- /dev/null
+++ b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/readme.md
@@ -0,0 +1,18 @@
+# Copypasta Macfancy Keymap for Milk 2%
+
+![copypasta_macfancy](https://i.imgur.com/7LMZZrL.png)
+
+Extra fancy copy/paste utilities for the Milk 2% keyboard on MacOS. Milk 2% designed by [Spaceman](https://github.com/Spaceboards/SpaceboardsHardware/tree/master/Keyboards/2%25%20Milk).
+
+Uses Tapping term for double and tripple tapping.
+Tapping speed can be adjusted with TAPPING_TERM in config.h
+
+### Key One
+- 1 Tap: Copy
+- 2 Taps: Cut
+- 3 Taps: Tab
+
+### Key Two
+- 1 Tap: Paste
+- 2 Taps: Paste as Value
+- 3 Taps: Tab between programs
diff --git a/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk
new file mode 100644
index 0000000000..628a960a71
--- /dev/null
+++ b/keyboards/spaceman/2_milk/keymaps/copypasta_macfancy/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2022 Ryan Neff (@JellyTitan)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+TAP_DANCE_ENABLE = yes # Tap Dance
diff --git a/keyboards/spaceman/pancake/rev1/config.h b/keyboards/spaceman/pancake/rev1/config.h
index e05a618e4a..46eb28d6ba 100644
--- a/keyboards/spaceman/pancake/rev1/config.h
+++ b/keyboards/spaceman/pancake/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342 // SB
-#define PRODUCT_ID 0x504B // PK
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Spaceman
-#define PRODUCT Pancake
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/spaceman/pancake/rev1/feather/config.h b/keyboards/spaceman/pancake/rev1/feather/config.h
index cb80721e46..c593147151 100644
--- a/keyboards/spaceman/pancake/rev1/feather/config.h
+++ b/keyboards/spaceman/pancake/rev1/feather/config.h
@@ -19,6 +19,5 @@
/* Pancake default pinout */
#define MATRIX_ROW_PINS { B5, D7, C6, D0 }
#define MATRIX_COL_PINS { C7, D6, B7, B6, F0, D2, D3, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
#define VIA_HAS_BROKEN_KEYCODES
diff --git a/keyboards/spaceman/pancake/rev1/info.json b/keyboards/spaceman/pancake/rev1/info.json
index 7462b5bf6b..b05601cfa4 100644
--- a/keyboards/spaceman/pancake/rev1/info.json
+++ b/keyboards/spaceman/pancake/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pancake",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x504B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [
diff --git a/keyboards/spaceman/pancake/rev1/promicro/config.h b/keyboards/spaceman/pancake/rev1/promicro/config.h
index ee02bff2b8..e96d9f152c 100644
--- a/keyboards/spaceman/pancake/rev1/promicro/config.h
+++ b/keyboards/spaceman/pancake/rev1/promicro/config.h
@@ -19,4 +19,3 @@
/* Pancake default pinout */
#define MATRIX_ROW_PINS { B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, E6, B4, B5, D7, C6, D4, D0, D1 }
-#define UNUSED_PINS \ No newline at end of file
diff --git a/keyboards/spaceman/pancake/rev2/config.h b/keyboards/spaceman/pancake/rev2/config.h
index a4d3b439c4..15d483a82e 100644
--- a/keyboards/spaceman/pancake/rev2/config.h
+++ b/keyboards/spaceman/pancake/rev2/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342 // SB
-#define PRODUCT_ID 0x5032 // P2
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Spaceman
-#define PRODUCT Pancake 2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -31,4 +24,3 @@
#define MATRIX_ROW_PINS { C7, C6, B6, B5 }
#define MATRIX_COL_PINS { B7, B3, B2, B1 ,B0, E6, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
diff --git a/keyboards/spaceman/pancake/rev2/info.json b/keyboards/spaceman/pancake/rev2/info.json
index a5a4aad132..300d0f6090 100644
--- a/keyboards/spaceman/pancake/rev2/info.json
+++ b/keyboards/spaceman/pancake/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Pancake 2",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x5032",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/spaceman/pancake/rev2/readme.md b/keyboards/spaceman/pancake/rev2/readme.md
index e8b65c4888..5b68180741 100644
--- a/keyboards/spaceman/pancake/rev2/readme.md
+++ b/keyboards/spaceman/pancake/rev2/readme.md
@@ -10,3 +10,58 @@ Make example for this keyboard (after setting up your build environment):
make spaceman/pancake/rev2: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).
+
+
+Alternative OLED Logos:
+
+![Japanese](https://i.imgur.com/g666Wvn.png)
+```C
+ 0x00, 0xC0, 0x3C, 0x00, 0x04, 0x1A,
+ 0xE4, 0x00, 0x82, 0x84, 0x40, 0x20,
+ 0x18, 0x00, 0x10, 0x0E, 0x84, 0x7C,
+ 0x04, 0x00, 0x10, 0x10, 0x10, 0x10,
+ 0x10, 0x00, 0x24, 0x24, 0xFE, 0x24,
+ 0x24, 0x00, 0x00, 0xC0, 0x20, 0x10,
+ 0x10, 0x08, 0x08, 0x08, 0x08, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x64, 0x74,
+ 0x74, 0x34, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x08, 0x08, 0x08, 0x08, 0x10,
+ 0x10, 0x20, 0xC0, 0x00, 0x00, 0x8C,
+ 0x53, 0x22, 0x22, 0x44, 0xC4, 0x5C,
+ 0x4C, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x88, 0x88, 0x88, 0x44, 0x44, 0x44,
+ 0xC4, 0x22, 0x22, 0x53, 0x8C, 0x00,
+ 0x00, 0x01, 0x0E, 0x04, 0x04, 0x08,
+ 0x09, 0x08, 0x08, 0x10, 0x10, 0x10,
+ 0x10, 0x10, 0x10, 0x11, 0x13, 0x10,
+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x18,
+ 0x08, 0x08, 0x08, 0x04, 0x04, 0x02,
+ 0x01, 0x00,
+```
+![Trans Rights](https://i.imgur.com/TijjY6j.png)
+
+```c
+ 0x00, 0x00, 0x00, 0x02, 0x02, 0xFE,
+ 0x02, 0x02, 0x00, 0xFE, 0x12, 0x12,
+ 0xEC, 0x00, 0xFC, 0x12, 0x12, 0xFC,
+ 0x00, 0xFE, 0x04, 0x18, 0x20, 0xFE,
+ 0x00, 0x8C, 0x92, 0x92, 0x62, 0x00,
+ 0x00, 0x00, 0x00, 0xFE, 0x12, 0x12,
+ 0xEC, 0x00, 0x82, 0xFE, 0x82, 0x00,
+ 0x7C, 0x82, 0x82, 0x92, 0x70, 0x00,
+ 0xFE, 0x10, 0x10, 0xFE, 0x00, 0x02,
+ 0x02, 0xFE, 0x02, 0x02, 0x00, 0x8C,
+ 0x92, 0x92, 0x62, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xC0, 0xF0, 0xF0, 0xF8,
+ 0x98, 0x98, 0xF8, 0xF8, 0xF8, 0xF8,
+ 0xFC, 0xFE, 0xFE, 0xFE, 0xF6, 0xF2,
+ 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0,
+ 0xE0, 0xF0, 0x70, 0x30, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x03,
+ 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x1F, 0x3F, 0x7F,
+ 0x7F, 0x6F, 0x07, 0x07, 0x03, 0x03,
+ 0x03, 0x03, 0x0F, 0x1F, 0x1E, 0x18,
+ 0x00, 0x00,
+```
diff --git a/keyboards/spaceman/yun65/config.h b/keyboards/spaceman/yun65/config.h
index def4bb9576..6f4c4e4050 100644
--- a/keyboards/spaceman/yun65/config.h
+++ b/keyboards/spaceman/yun65/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5342 // "SB"
-#define PRODUCT_ID 0x594E // "YN"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Spaceman
-#define PRODUCT Yun 65
-
/* Key Matrix perameter */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -31,4 +24,3 @@
#define MATRIX_ROW_PINS { E6, D3, D2, D1, D0 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D4, D6, D7, B4, B5, B6, C6, C7, D5, B3 }
-#define UNUSED_PINS
diff --git a/keyboards/spaceman/yun65/info.json b/keyboards/spaceman/yun65/info.json
index 113b6983a6..0caaa1521e 100644
--- a/keyboards/spaceman/yun65/info.json
+++ b/keyboards/spaceman/yun65/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "yun65",
+ "keyboard_name": "Yun 65",
+ "manufacturer": "Spaceman",
"url": "",
"maintainer": "Spaceman",
+ "usb": {
+ "vid": "0x5342",
+ "pid": "0x594E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/spacetime/config.h b/keyboards/spacetime/config.h
index 93eae10402..b331c8bcab 100644
--- a/keyboards/spacetime/config.h
+++ b/keyboards/spacetime/config.h
@@ -19,13 +19,6 @@ 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 0x0A0C
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Kyle Terry
-#define PRODUCT spacetime
-
/* key matrix size */
#define MATRIX_ROWS 4*2
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/spacetime/info.json b/keyboards/spacetime/info.json
index 8076154f8c..682342cede 100644
--- a/keyboards/spacetime/info.json
+++ b/keyboards/spacetime/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "spacetime",
+ "manufacturer": "Kyle Terry",
"url": "https://github.com/kyleterry/spacetime-keyboard",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0A0C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/spacey/config.h b/keyboards/spacey/config.h
index 52923d2f8e..9e13e086ee 100644
--- a/keyboards/spacey/config.h
+++ b/keyboards/spacey/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5641 // "VA"
-#define PRODUCT_ID 0x2045 // "Space E"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER vanilla
-#define PRODUCT spacey
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/spacey/info.json b/keyboards/spacey/info.json
index 94d68addf4..e70efd6c75 100644
--- a/keyboards/spacey/info.json
+++ b/keyboards/spacey/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "spacey",
+ "manufacturer": "vanilla",
"url": "",
"maintainer": "vanilla",
+ "usb": {
+ "vid": "0x5641",
+ "pid": "0x2045",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sparrow62/config.h b/keyboards/sparrow62/config.h
index 4b8460c2f8..dcf8f3ed8a 100644
--- a/keyboards/sparrow62/config.h
+++ b/keyboards/sparrow62/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xDA74
-#define PRODUCT_ID 0x7461
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Atsushi_Morimoto_74th
-#define PRODUCT sparrow62
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/sparrow62/info.json b/keyboards/sparrow62/info.json
index c6e1e6a008..a1a1152c97 100644
--- a/keyboards/sparrow62/info.json
+++ b/keyboards/sparrow62/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "sparrow62",
+ "manufacturer": "Atsushi_Morimoto_74th",
"url": "https://github.com/74th/sparrow62-buildguide",
"maintainer": "Atsushi Morimoto (@74th)",
+ "usb": {
+ "vid": "0xDA74",
+ "pid": "0x7461",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/specskeys/config.h b/keyboards/specskeys/config.h
index 8478a31e71..7d10b50460 100644
--- a/keyboards/specskeys/config.h
+++ b/keyboards/specskeys/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCAFE
-#define PRODUCT_ID 0x0080
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Specs32
-#define PRODUCT Specskeys
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/specskeys/info.json b/keyboards/specskeys/info.json
index 41af598318..8138be8c35 100644
--- a/keyboards/specskeys/info.json
+++ b/keyboards/specskeys/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "specskeys",
+ "keyboard_name": "Specskeys",
+ "manufacturer": "Specs32",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xCAFE",
+ "pid": "0x0080",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_tkl_iso_tsangan"
},
diff --git a/keyboards/spiderisland/split78/config.h b/keyboards/spiderisland/split78/config.h
index b67b3fafff..30c5ec23a8 100644
--- a/keyboards/spiderisland/split78/config.h
+++ b/keyboards/spiderisland/split78/config.h
@@ -19,13 +19,6 @@ 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 0xF4E4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SpiderIsland
-#define PRODUCT Split 78-key
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 14
diff --git a/keyboards/spiderisland/split78/info.json b/keyboards/spiderisland/split78/info.json
index 5506336ba2..b833b0ef44 100644
--- a/keyboards/spiderisland/split78/info.json
+++ b/keyboards/spiderisland/split78/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Spider Island 78-key split",
+ "keyboard_name": "Split 78-key",
+ "manufacturer": "SpiderIsland",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xF4E4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/splitish/config.h b/keyboards/splitish/config.h
index aead3f5998..5f97aa585d 100644
--- a/keyboards/splitish/config.h
+++ b/keyboards/splitish/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTIRER Reid Schneyer
-#define PRODUCT Splitish
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_COL_PINS { F4 , F5 , F6 , F7 , B1 , B3 , C6 , D4 , D0 , D1 , D2 , D3 }
#define MATRIX_ROW_PINS { B4 , B5 , B2 , B6 }
#define DIODE_DIRECTION COL2ROW
-#define UNUSED_PINS
#define DEBOUNCE 5
diff --git a/keyboards/splitish/info.json b/keyboards/splitish/info.json
index 96c7de53e0..6f8f8da1da 100644
--- a/keyboards/splitish/info.json
+++ b/keyboards/splitish/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "splitish",
+ "keyboard_name": "Splitish",
+ "manufacturer": "Reid Schneyer",
"url": "",
"maintainer": "RSchneyer",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/splitkb/kyria/info.json b/keyboards/splitkb/kyria/info.json
index d362e4ad72..2bc52803b0 100644
--- a/keyboards/splitkb/kyria/info.json
+++ b/keyboards/splitkb/kyria/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Kyria",
+ "manufacturer": "splitkb",
"url": "https://splitkb.com",
"maintainer": "splitkb.com",
+ "usb": {
+ "vid": "0x8D1D",
+ "pid": "0x9D9D"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/config.h b/keyboards/splitkb/kyria/keymaps/artflag/config.h
new file mode 100644
index 0000000000..5607926cd3
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/artflag/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 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 TAPPING_TERM 175
+#define TAPPING_TOGGLE 2
+
+// Lets you roll mod-tap keys
+#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/keymap.c b/keyboards/splitkb/kyria/keymaps/artflag/keymap.c
new file mode 100644
index 0000000000..9f732b767c
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/artflag/keymap.c
@@ -0,0 +1,37 @@
+// Copyright 2021 Your Name (@artflag)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Tap Dance declarations
+
+enum {
+ CT_CLN, // Reverses colon and semicolon and triggers semicolon on tap dance.
+};
+
+void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code16(KC_COLN);
+ } else {
+ register_code(KC_SCLN);
+ }
+}
+
+void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code16(KC_COLN);
+ } else {
+ unregister_code(KC_SCLN);
+ }
+}
+
+// All tap dance functions would go here.
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, TD(CT_CLN), KC_BSPC, KC_LGUI, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_TAB, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_BSLS, TT(2), KC_LBRC, KC_RBRC, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_GRV, KC_LCTL, KC_LALT, KC_SPC, KC_LSPO, TT(1), TT(1), KC_RSPC, KC_ENT, KC_MINS, KC_EQL),
+ [1] = LAYOUT(KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_NO, KC_NO, KC_UP, KC_PGUP, KC_PSLS, KC_TRNS, KC_TRNS, KC_0, KC_4, KC_5, KC_6, KC_PDOT, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PAST, KC_PPLS, KC_TRNS, KC_NO, KC_1, KC_2, KC_3, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_HOME, KC_END, KC_PGDN, KC_EXLM, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [2] = LAYOUT(KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_MPLY, KC_VOLU, KC_BRIU, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO)
+};
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/readme.md b/keyboards/splitkb/kyria/keymaps/artflag/readme.md
new file mode 100644
index 0000000000..02cb1ce19a
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/artflag/readme.md
@@ -0,0 +1,26 @@
+# Simple workman layout
+
+## Features
+
+- Workman layout
+- semicolon and colon are flipped. Colon on tap, semicolon on double tap.
+
+## Using the layout
+
+1. Use https://config.qmk.fm/#/splitkb/kyria/rev2/LAYOUT to edit `workman-artflag.json`.
+
+1. Convert to `keymap.c`:
+
+ ```bash
+ cd keyboards/splitkb/kyria/keymaps/ArtFlag
+ qmk json2c workman-artflag.json > keymap.c
+ cd ../../../../..
+ ```
+
+1. Git diff to bring back the code for tap dancing.
+1. Compile and flash:
+
+ ```bash
+ qmk compile && qmk flash
+ ```
+ \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/rules.mk b/keyboards/splitkb/kyria/keymaps/artflag/rules.mk
new file mode 100644
index 0000000000..e5ddcae8d9
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/artflag/rules.mk
@@ -0,0 +1 @@
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json b/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json
new file mode 100644
index 0000000000..f7429164c4
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/artflag/workman-artflag.json
@@ -0,0 +1,167 @@
+{
+ "version": 1,
+ "notes": "",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "splitkb/kyria/rev2",
+ "keymap": "workman-artflag",
+ "layout": "LAYOUT",
+ "layers": [
+ [
+ "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_LGUI",
+ "KC_A",
+ "KC_S",
+ "KC_H",
+ "KC_T",
+ "KC_G",
+ "KC_Y",
+ "KC_N",
+ "KC_E",
+ "KC_O",
+ "KC_I",
+ "KC_QUOT",
+ "KC_TAB",
+ "KC_Z",
+ "KC_X",
+ "KC_M",
+ "KC_C",
+ "KC_V",
+ "KC_BSLS",
+ "TT(2)",
+ "KC_LBRC",
+ "KC_RBRC",
+ "KC_K",
+ "KC_L",
+ "KC_COMM",
+ "KC_DOT",
+ "KC_SLSH",
+ "KC_GRV",
+ "KC_LCTL",
+ "KC_LALT",
+ "KC_SPC",
+ "KC_LSPO",
+ "TT(1)",
+ "TT(1)",
+ "KC_RSPC",
+ "KC_ENT",
+ "KC_MINS",
+ "KC_EQL"
+ ],
+ [
+ "KC_TRNS",
+ "KC_NO",
+ "KC_7",
+ "KC_8",
+ "KC_9",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_UP",
+ "KC_PGUP",
+ "KC_PSLS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_0",
+ "KC_4",
+ "KC_5",
+ "KC_6",
+ "KC_PDOT",
+ "KC_NO",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT",
+ "KC_PAST",
+ "KC_PPLS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_PCMM",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_DEL",
+ "KC_HOME",
+ "KC_END",
+ "KC_PGDN",
+ "KC_EXLM",
+ "KC_PMNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS"
+ ],
+ [
+ "KC_NO",
+ "KC_NO",
+ "KC_F9",
+ "KC_F10",
+ "KC_F11",
+ "KC_F12",
+ "KC_NO",
+ "KC_MPLY",
+ "KC_VOLU",
+ "KC_BRIU",
+ "KC_NO",
+ "KC_MUTE",
+ "KC_NO",
+ "KC_NO",
+ "KC_F5",
+ "KC_F6",
+ "KC_F7",
+ "KC_F8",
+ "KC_NO",
+ "KC_MSTP",
+ "KC_VOLD",
+ "KC_BRID",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_F1",
+ "KC_F2",
+ "KC_F3",
+ "KC_F4",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_NO",
+ "KC_NO"
+ ]
+ ],
+ "author": ""
+} \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
index baf46eeac6..9794a557f4 100644
--- a/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_HUI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD,
- _______, _______, _______, _______, _______, _______, _______, RESET, DEBUG, _______
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT, DEBUG, _______
),
// /*
// * Layer template
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h b/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h
new file mode 100644
index 0000000000..b7b883d3bd
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2021 Batuhan BaÅŸerdem
+ * <baserdem.batuhan@gmail.com> @bbaserdem
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Kyria specific
+#ifdef KEYBOARD_splitkb_kyria_rev1
+ // Split definition; use the following to flash;
+ // pro-micro: avrdude-split-left/right
+ // elite-c: dfu-split-left/right
+# define ENCODER_DIRECTION_FLIP
+# define EE_HANDS
+
+ // Make sure kyria has bigger oled display
+# ifdef OLED_ENABLE
+# define OLED_DISPLAY_128X64
+# endif
+#endif
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c
new file mode 100644
index 0000000000..d3720ea764
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c
@@ -0,0 +1,109 @@
+/* Copyright 2021 Batuhan BaÅŸerdem
+ * <baserdem.batuhan@gmail.com> @bbaserdem
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "bbaserdem.h"
+
+#define LAYOUT_split_3x6_5_wrapper(...) LAYOUT_split_3x6_5(__VA_ARGS__)
+
+/* F layout
+ * ┌───┬───┬───┬───┬───┬───â”        ┌───┬───┬───┬───┬───┬───â”
+ * │ W │ F │ G │ Ğ │ I │ O │        │ D │ R │ N │ H │ P │ Q │
+ * ├───┼───┼───┼───┼───┼───┤        ├───┼───┼───┼───┼───┼───┤
+ * │ X │ A │ S │ D │ F │ G │        │ T │ K │ M │ L │ Y │ Ş │
+ * ├───┼───┼───┼───┼───┼───┼───┬───â” ┌───┬───┼───┼───┼───┼───┼───┼───┤
+ * │* +│ J │ Ö │ V │ C │ Ç │   │   │ │   │   │ Z │ S │ B │. :│, ;│< >│
+ * └───┴───┴───┼───┼───┼───┤Esc│Shf│ │Shf│Del├───┼───┼───┼───┴───┴───┘
+ *             │En1│Tab│Ent│ │ │ │ │ │Spc│Bsp│En2│
+ *             └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_split_3x6_5_wrapper(
+ _BL1_1_,_BL1_5_, _BR1_5_,_BR1_1_,
+ _BL2_1_,_BL2_5_, _BR2_5_,_BR2_1_,
+ _BL3_1_,_BL3_5_,xxx2xxx,xxx2xxx,_BR3_5_,_BR3_1_,
+ BB_ENC0, _BL4_3_,KC_LSFT,KC_RSFT,_BR4_3_,BB_ENC1
+ ),
+ [_CHAR] = LAYOUT_split_3x6_5_wrapper(
+ XXXXXXX,_CL1_5_, _CR1_5_,XXXXXXX,
+ XXXXXXX,_CL2_5_, _CR2_5_,XXXXXXX,
+ XXXXXXX,_CL3_5_,xxx2xxx,xxx2xxx,_CR3_5_,XXXXXXX,
+ _______,_CL4_3_,_______,_______,_CR4_3_,_______
+ ),
+ [_GAME] = LAYOUT_split_3x6_5_wrapper(
+ _GA1_1_,_GA1_5_, ___5___,___1___,
+ _GA2_1_,_GA2_5_, ___5___,___1___,
+ _GA3_1_,_GA3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ _______,_GA4_3_,_______,_______,___3___,_______
+ ),
+ [_MEDI] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _ME1_5_,___1___,
+ ___1___,___5___, _ME2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_ME3_5_,___1___,
+ ___1___,___3___,_______,_______,_ME4_3_,___1___
+ ),
+ [_NAVI] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _NA1_5_,___1___,
+ ___1___,___5___, _NA2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_NA3_5_,___1___,
+ ___1___,___3___,_______,_______,_NA4_3_,___1___
+ ),
+ [_SYMB] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _SY1_5_,___1___,
+ ___1___,___5___, _SY2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_SY3_5_,___1___,
+ ___1___,___3___,_______,_______,_SY4_3_,___1___
+ ),
+ [_NUMB] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_NU1_5_, ___5___,___1___,
+ ___1___,_NU2_5_, ___5___,___1___,
+ ___1___,_NU3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_NU4_3_,_______,_______,___3___,___1___
+ ),
+ [_FUNC] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_FU1_5_, ___5___,___1___,
+ ___1___,_FU2_5_, ___5___,___1___,
+ ___1___,_FU3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_FU4_3_,_______,_______,___3___,___1___
+ ),
+ [_MOUS] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_MO1_5_, ___5___,___1___,
+ ___1___,_MO2_5_, ___5___,___1___,
+ ___1___,_MO3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_MO4_3_,_______,_______,___3___,___1___
+ ),
+ [_MUSI] = LAYOUT_split_3x6_5_wrapper(
+ _MU_12_,_MU_12_,
+ _MU_06_,xxx2xxx,xxx2xxx,_MU_06_,
+ MU_TOG,_MUL_3_,_MU_02_,_MUR_3_,___1___
+ )
+};
+
+#ifdef KEYBOARD_splitkb_kyria_rev1 // Kyria specific code
+#ifdef OLED_ENABLE // Kyria's oled screen
+// Rotate the display on kyria
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+// For kyria; print logo, and allow default status printing
+bool oled_task_keymap(void) {
+ render_qmk_logo(0, 0);
+ render_status_lite(4, 0);
+ return false;
+}
+#endif //OLED_ENABLE
+#endif //KEYBOARD_splitkb_kyria_rev1
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md b/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md
new file mode 100644
index 0000000000..6381612978
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md
@@ -0,0 +1,32 @@
+This folder contains my Kyria (`split_3x6_5`) board layout.
+Check out the [user readme](../../../../../users/bbaserdem/readme.md) for more info.
+
+# Kyria
+
+I use a rev 1.3 PCB as a daily driver.
+
+## Hardware
+
+* Using a modified High-profile case; with metal switch plate.
+* Currently using a Pro-Micro and an Elite-C as microcontrollers.
+* Using Gateron Silent Black Ink with Progressive springs (100g), lubed.
+* Have mill-max sockets for hotswap feature.
+* All microcontrollers and OLED's are socketed for easy removal.
+
+## Features
+
+* Use two thumb keys in the 2u layout.
+* Have rotary encoders in the outermost keys of the thumb cluster.
+* Have underglow leds soldered.
+
+## Issues
+
+* Stabilizers squiek, and need lubing.
+* The double tap buttons (home row; left leader the most) don't contact well.
+
+## Todo
+
+* Switch to Proton C conversion with a game plan.
+* Lube stabilizers.
+* Get tenting puck.
+* (Not depending on me) migrate this code to layouts.
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk b/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk
new file mode 100644
index 0000000000..21013120e6
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk
@@ -0,0 +1,30 @@
+# Copyright 2021 Batuhan BaÅŸerdem
+# <baserdem.batuhan@gmail.com> @bbaserdem
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Kyria hardware
+ifneq (,$(findstring splitkb/kyria/rev1,$(KEYBOARD)))
+ # Elective features
+ ENCODER_ENABLE = yes
+ OLED_ENABLE = yes
+ # Nonexistent features
+ AUDIO_ENABLE = no
+ BACKLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = no
+ # Space savers
+ NKRO_ENABLE = no
+ VELOCIKEY_ENABLE = no
+ WPM_ENABLE = no
+endif
diff --git a/keyboards/splitkb/kyria/keymaps/cwebster2/config.h b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
index 9a58f7751a..59994e01fa 100644
--- a/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
@@ -47,8 +47,6 @@
#define COMBO_COUNT 5
#endif
-#define QMK_KEYS_PER_SCAN 4
-
#define EE_HANDS
//#define DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/config.h b/keyboards/splitkb/kyria/keymaps/drashna/config.h
index 1de3615d98..ffd17ebd8f 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/config.h
+++ b/keyboards/splitkb/kyria/keymaps/drashna/config.h
@@ -46,4 +46,9 @@
#define BOOTMAGIC_LITE_ROW_RIGHT 4
#define BOOTMAGIC_LITE_COLUMN_RIGHT 7
+#define BOOTMAGIC_LITE_EEPROM_ROW 1
+#define BOOTMAGIC_LITE_EEPROM_COLUMN 7
+#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 5
+#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 7
+
#define SERIAL_USART_SPEED 921600
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
index af583a607f..f193c6e00c 100644
--- a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
@@ -341,7 +341,7 @@ bool oled_task_user(void) {
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
- switch(biton32(layer_state)){
+ switch(get_highest_layer(layer_state)){
case 1:
if (clockwise) {
tap_code16(C(KC_TAB));
diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
index 000c995025..ee07f52ff1 100644
--- a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
@@ -9,7 +9,6 @@ MOUSEKEY_ENABLE = no
TAP_DANCE_ENABLE = no
STENO_ENABLE = no
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-TERMINAL_ENABLE = no
GRAVE_ESC_ENABLE = no
MAGIC_ENABLE = no
SPACE_CADET_ENABLE = no
diff --git a/keyboards/splitkb/kyria/keymaps/jimmysjolund/config.h b/keyboards/splitkb/kyria/keymaps/jimmysjolund/config.h
new file mode 100644
index 0000000000..217e97f931
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/jimmysjolund/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2022 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
+
+// Lets you roll mod-tap keys
+#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/splitkb/kyria/keymaps/jimmysjolund/keymap.c b/keyboards/splitkb/kyria/keymaps/jimmysjolund/keymap.c
new file mode 100644
index 0000000000..9e5224b28d
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/jimmysjolund/keymap.c
@@ -0,0 +1,257 @@
+/* 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).
+
+// clang-format off
+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| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+
+/*
+ * jimmysjolund 2022-09-13
+ *
+ * Base Layer: QWERTY
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | A | S | D | F | G | | H | J | K | L | ; : | ' " |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | Nav | Z | X | C | V | B | [ { | Alt | | Nav | ] } | N | M | , < | . > | / ? | Adjust |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Ctrl+ | LGUI | Shift|Bksp/ | Sym | |Enter | Space| AltGr| ↠| → |
+ * | Alt | | | Ctrl | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+
+
+
+
+ [_QWERTY] = LAYOUT(
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+ KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN, KC_QUOT,
+ NAV , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC, KC_LALT, NAV , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, ADJUST,
+ LCTL(KC_LALT) , KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), SYM, KC_ENT, KC_SPC ,KC_ALGR, KC_LEFT, KC_RGHT
+ ),
+
+/*
+ * 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| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+
+/*
+ * jimmysjolund 2022-09-10
+ * Base Layer: Colemak DH
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Esc | Q | W | F | P | G | | J | L | U | Y | ; : | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | A | R | S | T | D | | H | N | E | I | O |Ctrl/' "|
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | Sym | Z | X | C | V | B | [ { | Alt | | Nav | ] } | K | M | , < | . > | / ? | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Adjust| LGUI |LShift| Bksp | Ctrl | | Enter| Space| AltGr| ↠| → |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+
+
+ [_COLEMAK_DH] = LAYOUT(
+ KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC,
+ KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H, KC_N , KC_E , KC_I , KC_O , CTL_QUOT,
+ SYM , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC, KC_LALT, NAV , KC_RBRC, KC_K, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
+ ADJUST, KC_LGUI, KC_LSFT, KC_BSPC ,KC_LCTL, KC_ENT , KC_SPC ,KC_ALGR, KC_LEFT, KC_RGHT
+ ),
+
+/*
+ * 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_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, 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/splitkb/kyria/keymaps/jimmysjolund/rules.mk b/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk
new file mode 100644
index 0000000000..35f8ec90c6
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk
@@ -0,0 +1,4 @@
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 # 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/splitkb/kyria/keymaps/john-ezra/keymap.c b/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c
index 6937007e5c..71af5f80bd 100644
--- a/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/john-ezra/keymap.c
@@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, NK_TOGG, CG_TOGG, _______, GAME, HNTS,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, NK_TOGG, CG_TOGG, _______, GAME, HNTS,
_______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, KC_BRIU, KC_BRID, _______, _______, _______,
_______, _______, RGB_SAD, RGB_HUD, RGB_VAD,RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c b/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c
index 240bc6edf5..56f998e24f 100644
--- a/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/keymap.c
@@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Adjust Layer: Default layer settings, RGB
*
* ,-------------------------------------------. ,-------------------------------------------.
- * | NumPad | | |QWERTY| | | | | | | | | RESET |
+ * | NumPad | | |QWERTY| | | | | | | | | QK_BOOT |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Mouse | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | DEBUG |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
@@ -229,7 +229,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' `----------------------------------'
*/
[_ADJUST] = LAYOUT(
- NUMPAD , _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, RESET ,
+ NUMPAD , _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
MOUSE , _______, _______, DVORAK , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, DEBUG ,
DNAV , _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, EEPROM_RESET,
_______, _______, _______,_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
index 495b3032c6..ce3b5561e8 100644
--- a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/.clang-format b/keyboards/splitkb/kyria/keymaps/muppetjones/.clang-format
new file mode 100644
index 0000000000..df3dbd17b4
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/.clang-format
@@ -0,0 +1,26 @@
+---
+BasedOnStyle: Google
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: 'true'
+AlignConsecutiveDeclarations: 'true'
+AlignOperands: 'true'
+AllowAllParametersOfDeclarationOnNextLine: 'false'
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: 'false'
+BinPackArguments: 'true'
+BinPackParameters: 'true'
+ColumnLimit: '160'
+IndentCaseLabels: 'true'
+IndentPPDirectives: AfterHash
+IndentWidth: '4'
+MaxEmptyLinesToKeep: '1'
+PointerAlignment: Right
+SortIncludes: 'false'
+SpaceBeforeAssignmentOperators: 'true'
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: 'false'
+TabWidth: '4'
+UseTab: Never
+
+...
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/README.md b/keyboards/splitkb/kyria/keymaps/muppetjones/README.md
new file mode 100644
index 0000000000..20fdd47025
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/README.md
@@ -0,0 +1,11 @@
+# Kyria
+
+## Compile
+
+```shell
+make splitkb/kyria/rev1:muppetjones:avrdude-split-left
+```
+
+```shell
+make splitkb/kyria/rev1:muppetjones:avrdude-split-right
+```
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/config.h b/keyboards/splitkb/kyria/keymaps/muppetjones/config.h
new file mode 100644
index 0000000000..92d495be4a
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/config.h
@@ -0,0 +1,60 @@
+/* Copyright 2020 Stephen Bush <muppetjones@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
+
+#ifdef OLED_ENABLE
+# define OLED_DISPLAY_128X64
+#endif
+
+// 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
+
+// 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.
+#define ENCODER_RESOLUTION 2
+#define ENCODER_DIRECTION_FLIP
+
+// The Leader key allows to flexibly assign macros to key sequences.
+#define LEADER_PER_KEY_TIMING
+#define LEADER_TIMEOUT 350
+
+// Change "hold" time (default is 200 ms)
+// -- used for tap dance and other tap mods
+// -- defined in user namespace
+// #define TAPPING_TERM 200
+
+// Prevent normal rollover on alphas from accidentally triggering mods.
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
+#define TAPPING_FORCE_HOLD
+
+// Reduce firmware size
+// https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/
+// also requires EXTRAFLAGS in config.h
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+// Allows to use either side as the master. Look at the documentation for info:
+// https://docs.qmk.fm/#/config_options?id=setting-handedness
+#define EE_HANDS
+
+// Allows media codes to properly register in macros and rotary encoder code
+#define TAP_CODE_DELAY 10
+#define COMBO_TERM 40
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c b/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c
new file mode 100644
index 0000000000..ec0b7a1a31
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c
@@ -0,0 +1,276 @@
+/* Copyright 2020 Stephen J. Bush
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "muppetjones.h"
+#include "rgblight.h"
+
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+/* Layers from muppetjones.h
+ _CLMK_DH = 0,
+ _MOUSE,
+ _LOWER,
+ _RAISE,
+ _NAV,
+ _ADJUST,
+ */
+
+/*
+ * Custom Keys
+ */
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_standard(uint8_t index, bool clockwise);
+#endif
+
+/*
+ * LAYERS
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+/*
+ * Base Layer: Colemak DH
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * |CAPSWORD| Q | W | F | P | B | | J | L | U | Y | ; : | | \ |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * |ESC/HYPR| A | R | S | T | G | | M | N | E | I | O | ' " |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | D | V |LShift|Leader| | Del | Tab | K | H | , < | . > | / ? | Sft/Ent|
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | MUTE | Del | Enter| Space| Enter| | Bspc | Space| Hyper| Tab | AltGr|
+ * | | | Alt | Lower| Raise| | | Nav | Esc | Raise| |
+ * `----------------------------------' `----------------------------------'
+ */
+[_CLMK_DH] = LAYOUT_wrapper(
+ CAPSWRD, __COLEMAK_MOD_DH_L1________________________, __COLEMAK_MOD_DH_R1_W_QUOT_________________, KC_BSLS,
+ HY_ESC, __COLEMAK_MOD_DH_L2_W_GACS_________________, __COLEMAK_MOD_DH_R2_W_SCAG_________________, KC_QUOT,
+ TD_LAYR, __COLEMAK_MOD_DH_L3________________________, KC_LSFT, KC_LEAD, KC_DEL, KC_TAB, __COLEMAK_MOD_DH_R3________________________, KC_SFTENT,
+ KC_MUTE, KC_DEL, HY_ESC, LOW_BSP, RAI_ENT, KC_BSPC, NAV_SPC, HY_ESC, RAI_TAB, KC_RALT
+),
+[_QWERTY] = LAYOUT_wrapper(
+ _______, __QWERTY_L1________________________________, __QWERTY_R1________________________________, _______,
+ _______, __QWERTY_L2________________________________, __QWERTY_R2________________________________, _______,
+ _______, __QWERTY_L3________________________________, _______, _______, _______, _______, __QWERTY_R3________________________________, _______,
+ __BLANK____________________________________, __BLANK____________________________________
+),
+[_MOUSE] = LAYOUT_wrapper(
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __BLANK____________________________________, __BLANK____________________________________, _______,
+ _______, __BLANK____________________________________, _______, _______, _______, _______, __BLANK____________________________________, _______,
+ KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2
+),
+/*
+ * Lower Layer: Numpad and some symbols
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | ~ | ` | ( | ) | xxxx | | / ? | 7 & | 8 * | 9 ( | - _ | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | LGUI | LALT |LCTL [|LSFT ]| _ - | | * | 4 $ | 5 % | 6 ^ | , < | + |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | xxxx | xxxx | { | } | LSFT | | | | | | 0 ) | 1 ! | 2 @ | 3 # | = + | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | Lower| | | | | Nav | 0 | . | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_LOWER] = LAYOUT_wrapper(
+ _______, __SYMBOLS_L1_______________________________, __NUMPAD_R1________________________________, _______,
+ _______, __SYMBOLS_L2_______________________________, __NUMPAD_R2________________________________, KC_COMM,
+ _______, __SYMBOLS_L3_______________________________, _______, _______, _______, _______, __NUMPAD_R3________________________________, KC_DOT,
+ __BLANK____________________________________, _______, KC_SPC, KC_0, KC_DOT, _______
+ ),
+/*
+ * Raise Layer: Symbols
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | ! | @ | { | } | | | | | & | € | | | \ |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` | | _ | - | / | * | % | ' " |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | | | + | = | , | . | / ? | - _ |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | Lower| | | | | Nav | Raise| | |
+ * `----------------------------------' `----------------------------------'
+ */
+ // [_RAISE] = LAYOUT(
+ // _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_AMPR, _______, _______, _______, KC_BSLS,
+ // _______, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_GRV, KC_UNDS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
+ // _______, KC_PERC, KC_CIRC, KC_LCBR, KC_RCBR, KC_TILD, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ // ),
+ [_RAISE] = LAYOUT_wrapper(
+ _______, XXXXXXX, XXXXXXX, KC_GRV, KC_GRV, KC_BSLS, __SYMBOLS_R1_______________________________, _______,
+ _______, XXXXXXX, XXXXXXX, KC_UNDS, KC_MINS, KC_TILD, __SYMBOLS_R2_______________________________, _______,
+ _______, XXXXXXX, XXXXXXX, KC_PLUS, KC_EQL, KC_GRV, _______, _______, _______, _______, __SYMBOLS_R3_______________________________, _______,
+ __BLANK____________________________________, __BLANK____________________________________
+ ),
+/*
+ * Navigation Layer (w/ symbols on left)
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | | | | | | PgUp | Home | Up | End | | ScrlLk |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | GUI | ALT | CTL | SFT | | | PgDn | Left | Down | Up | Right| CapsLk |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | | | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | Lower| | | | | Nav | Raise| | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_NAV] = LAYOUT_wrapper(
+ _______, __VIM_L1___________________________________, __NAV_R1___________________________________, KC_SLCK,
+ _______, __BLANK_W_GACS_____________________________, __NAV_R2___________________________________, KC_CAPS,
+ _______, __BLANK____________________________________, _______, _______, _______, _______, __NAV_R3___________________________________, _______,
+ __BLANK____________________________________, __BLANK____________________________________
+ ),
+ /*
+ * Adjust Layer: Function keys, RGB
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | QK_BOOT |QK_BOOT |DEBUG | | | | | | F1 | F2 | F3 | F4 | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | TOG | SAI | HUI | VAI | MOD | | | F5 | F6 | F7 | F8 | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | SAD | HUD | VAD | RMOD | | | | | | | F9 | F10 | F11 | F12 | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_ADJUST] = LAYOUT_wrapper(
+ QK_BOOT, __ADJUST_L1________________________________, __MEDIA_R1_________________________________, _______,
+ _______, __ADJUST_L2________________________________, __MEDIA_R2_________________________________, _______,
+ _______, __ADJUST_L3________________________________, _______, _______, _______, _______, __MEDIA_R3_________________________________, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ // /*
+ // * Layer template
+ // *
+ // * ,-------------------------------------------. ,-------------------------------------------.
+ // * | | | | | | | | | | | | | |
+ // * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ // * | | | | | | | | | | | | | |
+ // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ // * | | | | | | | | | | | | | | | | | |
+ // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ // * | | | | | | | | | | | |
+ // * | | | | | | | | | | | |
+ // * `----------------------------------' `----------------------------------'
+ // */
+ // [_LAYERINDEX] = LAYOUT(
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ // ),
+ // clang-format on
+};
+
+/*
+ *
+ */
+
+void keyboard_post_init_user(void) {
+ // Call the keymap level matrix init.
+
+#ifdef RGBLIGHT_ENABLE
+ set_rgb_home();
+#endif
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+#ifdef RGBLIGHT_ENABLE
+ set_rgb_by_layer(state);
+#endif
+ return state;
+}
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
+ // Regular user keycode case statement
+ switch (keycode) {
+ default:
+ return true;
+ }
+ return true;
+}
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+# ifdef POINTING_DEVICE_ENABLE
+ if (IS_LAYER_ON(_MOUSE))
+ return encoder_update_mouse(index, clockwise);
+ else
+# endif
+ return encoder_update_standard(index, clockwise);
+}
+
+bool encoder_update_standard(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
+# ifdef MOUSEKEY_ENABLE
+ if (clockwise) {
+ tap_code(KC_WH_D);
+ } else {
+ tap_code(KC_WH_U);
+ }
+# else
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+# endif
+ }
+ return true;
+}
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+void set_layer_hsv(layer_state_t state, HSV* layer_color) {
+ uint16_t h = layer_color->h, s = layer_color->s, v = layer_color->v;
+ switch (get_highest_layer(state)) {
+ case _RAISE:
+ h += 3 * RGBLIGHT_HUE_STEP;
+ break;
+ case _LOWER:
+ h += -3 * RGBLIGHT_HUE_STEP;
+ break;
+ case _NAV:
+ h += 2 * RGBLIGHT_HUE_STEP;
+ break;
+ case _MOUSE:
+ h += -8 * RGBLIGHT_HUE_STEP;
+ break;
+ default:
+ break;
+ }
+ layer_color->h = h % 255;
+ layer_color->s = s;
+ layer_color->v = v % 255;
+ return;
+}
+#endif
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/rules.mk b/keyboards/splitkb/kyria/keymaps/muppetjones/rules.mk
new file mode 100644
index 0000000000..b7e46ecfd2
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/rules.mk
@@ -0,0 +1,11 @@
+OLED_ENABLE = no # Enables the use of OLED displays
+ENCODER_ENABLE = yes # Enables the use of one or more encoders
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+LEADER_ENABLE = yes # Enable the Leader Key feature
+MOUSEKEY_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+POINTING_DEVICE_ENABLE = yes
+COMBO_ENABLE = yes
+
+# Reduce firmware size
+# https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/
diff --git a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
index 813328aa0c..d0f2a1b6cd 100644
--- a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
@@ -111,7 +111,7 @@ void oled_slash_separator(void){
void render_layout_state(void) {
oled_write_P(PSTR("Layout: "), false);
- switch (biton32(default_layer_state)) {
+ switch (get_highest_layer(default_layer_state)) {
case _COLEMAK:
oled_write_P(PSTR("Colemak"), false);
break;
diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
index 16d2bad8a4..2f1b56effe 100644
--- a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | |EEPRST| | | | | | | | | | F12 |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LSHIFT | TAB | RESET| | | | | | | | | Play | | | | | |
+ * | LSHIFT | TAB | QK_BOOT| | | | | | | | | Play | | | | | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | Space| | MYCM | Prev | Next | | |
* | | | Ctrl | LAlt | | | Raise| | | | |
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[RAISE] = LAYOUT(
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_NO, KC_NO, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
- KC_LSFT, KC_TAB, RESET, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, KC_MPLY, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LSFT, KC_TAB, QK_BOOT, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, KC_MPLY, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, _______, _______, _______, KC_SPC , KC_MPRV, KC_MNXT, _______, _______, _______
),
/*
diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
index 0a4f1887c3..3cd9df27fb 100644
--- a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
@@ -311,7 +311,7 @@ bool oled_task_user(void) {
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case QWERTY:
// History scrubbing. For Adobe products, hold shift while moving
// backward to go forward instead.
@@ -336,7 +336,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
break;
}
} else if (index == 1) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case QWERTY:
// Scrolling with PageUp and PgDn.
if (clockwise) {
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/config.h b/keyboards/splitkb/kyria/keymaps/travishi/config.h
new file mode 100644
index 0000000000..c579a76ecc
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/travishi/config.h
@@ -0,0 +1,42 @@
+/* Copyright 2022 TravisHi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 OLED_ENABLE
+ #define OLED_DISPLAY_128X64
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+ #define RGBLIGHT_LAYERS
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_SLEEP
+#endif
+
+// The Leader key allows to flexibly assign macros to key sequences.
+#define LEADER_PER_KEY_TIMING
+#define LEADER_TIMEOUT 350
+
+#define TAPPING_TERM 200
+
+// Allows to use either side as the master. Look at the documentation for info:
+// https://docs.qmk.fm/#/config_options?id=setting-handedness
+#define EE_HANDS
+
+// Allows media codes to properly register in macros and rotary encoder code
+#define TAP_CODE_DELAY 10
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/keymap.c b/keyboards/splitkb/kyria/keymaps/travishi/keymap.c
new file mode 100644
index 0000000000..e91d16b8f9
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/travishi/keymap.c
@@ -0,0 +1,423 @@
+/* Copyright 2022 TravisHi
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 {
+ DVORAK = 0,
+ QWERTY,
+ LAYERS,
+ NUMSYM,
+ FPSGAMES,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/*
+ * Base Layer: DVORAK
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ESC | ' " | , < | . | P | Y | | F | G | C | R | L |L_Qwerty|
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | A | O | E | U | I | | D | H | T | N | S | - |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | : ; | Q | J | K | X |LCtrl | | | Win |L_Lay | B | M | W | V | Z | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | Left |Right |L_NumS| Space| Bksp | |R_Alt | ENTER| Del | Up | Down |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [DVORAK] = LAYOUT(
+ KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, DF(QWERTY),
+ KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LCTL, XXXXXXX, KC_LWIN, DF(LAYERS), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
+ KC_LEFT, KC_RGHT, MO(NUMSYM), KC_SPC, KC_BSPC, KC_RALT, KC_ENT, KC_DEL, KC_UP, KC_DOWN
+ ),
+
+
+
+
+
+/*
+ * Base Layer: QWERTY
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ESC | Q | W | E | R | T | | Y | U | I | O | P |L_Dvorak|
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | A | S | D | F | G | | H | J | K | L | ; : | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B |LCtrl | | | Win |L_Lay | N | M | , < | . > | / ? | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | Left |Right |L_NumS| Space| Bksp | | RAlt | ENTER| Del | Up | Down |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [QWERTY] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, DF(DVORAK),
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, XXXXXXX,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, XXXXXXX, KC_LWIN, DF(LAYERS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LEFT, KC_RGHT, MO(NUMSYM), KC_SPC, KC_BSPC, KC_RALT, KC_ENT, KC_DEL, KC_UP, KC_DOWN
+ ),
+
+
+
+
+
+/*
+ * Base Layer: FPSGAMES
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ESC | 1 | Q | W | E | R | | Y | U | I | O | P |L_Dvorak|
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | Tab | 2 | A | S | D | F | | H | K | J | L | ; | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | 3 | Z | X | C | V | |L_NumS| | |L_Lay | N | M | , < | . > | / ? | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | LCtrl| Space| LAlt | | | | Mute |Vol U |Vol D |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [FPSGAMES] = LAYOUT(
+ KC_ESC, KC_1, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, DF(DVORAK),
+ KC_TAB, KC_2, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, XXXXXXX,
+ KC_LSFT, KC_3, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, MO(NUMSYM), XXXXXXX, DF(LAYERS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX,
+ XXXXXXX, XXXXXXX, KC_LCTL, KC_SPC, KC_LALT, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_VOLD
+ ),
+
+
+
+
+
+/*
+ * MO Layer: Numbers, symbols & Vol control
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | \ | : | ; | - | [ | { | ( | | ) | } | ] | _ | , | . | / | ? |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | Left |Right | |LShift| Home | | End | | Mute |Vol U |Vol D |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [NUMSYM] = LAYOUT(
+ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
+ KC_LEFT, KC_RGHT, XXXXXXX, KC_LSFT, KC_HOME, KC_END, XXXXXXX, KC_MUTE, KC_VOLU, KC_VOLD
+ ),
+
+
+
+
+
+/*
+ * Adjust Layer: Layer index
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | |FPSGames|Dvorak| | | | | | | |L_Dvorak|
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | | | |QWERTY| | | | | | | | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | | |NUMSYM| | | | | | | | | | | | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [LAYERS] = LAYOUT(
+ _______, _______, _______, DF(FPSGAMES), DF(DVORAK), _______, _______, _______, _______, _______, _______, DF(DVORAK),
+ _______, _______, _______, _______, DF(QWERTY), _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(NUMSYM), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
+
+// END LAYERS
+
+
+
+
+
+///////////////////////////
+// OLED Display settings
+#ifdef OLED_ENABLE
+
+
+
+
+// WPM-responsive animation stuff here
+# define IDLE_FRAMES 2
+# define IDLE_SPEED 20 // below this wpm value your animation will idle
+
+// #define PREP_FRAMES 1 // uncomment if >1
+
+# define TAP_FRAMES 2
+# define TAP_SPEED 40 // above this wpm value typing animation to trigger
+
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
+# define ANIM_SIZE 1024 // number of bytes in array, minimize for adequate firmware size, max is 1024
+
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
+uint8_t current_idle_frame = 0;
+// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
+uint8_t current_tap_frame = 0;
+
+// Code containing pixel art, contains:
+// 5 idle frames, 1 prep frame, and 2 tap frames
+
+// To make your own pixel art:
+// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
+// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
+// replace numbers in brackets with your own
+// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
+
+
+static void render_anim(void) {
+ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x40,
+0x40, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30,
+0x18, 0x0c, 0x06, 0x02, 0xc2, 0x42, 0x62, 0x22, 0x22, 0x24, 0x2f, 0x39, 0x31, 0x60, 0xe0, 0x10,
+0x10, 0x08, 0x88, 0xcc, 0x44, 0x66, 0x23, 0x21, 0x31, 0x10, 0x98, 0x89, 0x8b, 0x0e, 0x08, 0x10,
+0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x60, 0x18,
+0xe4, 0x1a, 0xe4, 0x1a, 0xcc, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x78, 0x08, 0x08, 0x0c, 0x84, 0x9f, 0xe0, 0xb0,
+0x98, 0x08, 0x0c, 0x04, 0x04, 0x04, 0xe6, 0xe2, 0xf2, 0xf2, 0xb2, 0xb3, 0xe1, 0xe1, 0xc1, 0x81,
+0xe3, 0xbf, 0x81, 0xc0, 0x40, 0x40, 0x60, 0xa0, 0xbe, 0x3f, 0x1b, 0x9b, 0x8f, 0xcf, 0x66, 0x32,
+0x9e, 0xb1, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x0f, 0x08, 0x08, 0x10,
+0xd0, 0x70, 0x08, 0x0e, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x01, 0x01, 0x11, 0x11, 0x89, 0xcb, 0x4b, 0x4b, 0x8b, 0x87, 0x91, 0x4b, 0x45,
+0xe0, 0xa0, 0xb0, 0xd0, 0x51, 0x79, 0xad, 0xb4, 0xd6, 0x5a, 0x6b, 0x2d, 0x34, 0x96, 0xfb, 0xa9,
+0xbd, 0x46, 0x66, 0x33, 0x19, 0x0c, 0x07, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x70, 0x1c, 0x07,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20,
+0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x38, 0xe0, 0x80, 0xc0, 0x40, 0x60, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x87, 0x8c, 0x88, 0x99, 0xd2, 0x5a, 0x6a, 0x29, 0x2d,
+0x34, 0x94, 0x96, 0x9a, 0xcb, 0x49, 0x69, 0x2c, 0xb4, 0x96, 0x9a, 0x8b, 0x4d, 0x45, 0x46, 0x42,
+0x21, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0e, 0x0b, 0x09, 0x04, 0x04, 0x04, 0x04,
+0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1e, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x06, 0x0e, 0x0a, 0x1a, 0x1b, 0x35, 0x65, 0x45,
+0x45, 0xc3, 0x82, 0x82, 0x81, 0x01, 0x01, 0x01, 0x00, 0x10, 0xf0, 0xf8, 0xf8, 0x78, 0x18, 0x00,
+0x00, 0x80, 0xe0, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x20, 0x50, 0x10, 0xa0, 0x20, 0x40,
+0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
+0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
+0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x06,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x30, 0x20, 0x20, 0x60,
+0x40, 0x80, 0x80, 0xc0, 0x41, 0x63, 0x26, 0x3c, 0x10, 0x48, 0x88, 0xab, 0x29, 0x70, 0xc0, 0x88,
+0x8e, 0xcf, 0x47, 0x43, 0x41, 0x40, 0x60, 0x20, 0x20, 0x20, 0x30, 0x10, 0x10, 0x18, 0x08, 0x08,
+0x0c, 0x05, 0x06, 0x02, 0x0c, 0x19, 0x3c, 0x29, 0x6a, 0x44, 0x44, 0xc5, 0x84, 0x04, 0x02, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x0b, 0x0b, 0x36, 0x28, 0x2f, 0x2c, 0x29, 0x1a, 0x1c, 0x18, 0x1d, 0x16, 0x0a, 0x07,
+0x01, 0x02, 0x02, 0x06, 0x06, 0x0e, 0x0e, 0x1e, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03,
+0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x10},
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x40,
+0x40, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30,
+0x18, 0x0c, 0x06, 0x02, 0xc2, 0x42, 0x62, 0x22, 0x22, 0x24, 0x2f, 0x39, 0x31, 0x60, 0xe0, 0x10,
+0x10, 0x08, 0x88, 0xcc, 0x44, 0x66, 0x23, 0x21, 0x31, 0x10, 0x98, 0x89, 0x8b, 0x0e, 0x08, 0x10,
+0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x98, 0x66, 0x0d, 0x72, 0x0d, 0x72, 0x0c, 0x30, 0x08,
+0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x78, 0x08, 0x08, 0x0c, 0x84, 0x9f, 0xe0, 0xb0,
+0x98, 0x08, 0x0c, 0x04, 0x04, 0x04, 0xe6, 0xe2, 0xf2, 0xf2, 0xb2, 0xb3, 0xe1, 0xe1, 0xc1, 0x81,
+0xe3, 0xbf, 0x81, 0xc0, 0x40, 0x40, 0x60, 0xa0, 0xbe, 0x3f, 0x1b, 0x9b, 0x8f, 0xcf, 0x66, 0x32,
+0x9e, 0xb1, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x04, 0xf8, 0x08, 0x08, 0x04, 0x04,
+0x07, 0x0c, 0xf8, 0x80, 0x00, 0xfc, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x01, 0x01, 0x11, 0x11, 0x89, 0xcb, 0x4b, 0x4b, 0x8b, 0x87, 0x91, 0x4b, 0x45,
+0xe0, 0xa0, 0xb0, 0xd0, 0x51, 0x79, 0xad, 0xb4, 0xd6, 0x5a, 0x6b, 0x2d, 0x34, 0x96, 0xfb, 0x29,
+0x3d, 0x16, 0x16, 0x13, 0x11, 0x10, 0x30, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20,
+0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x38, 0xe0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x07, 0x3c, 0xe7, 0x8c, 0x38, 0xe0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x87, 0x8c, 0x88, 0x99, 0xd2, 0x5a, 0x6a, 0x29, 0x2d,
+0x34, 0x94, 0x96, 0x9a, 0xcb, 0x49, 0x69, 0x2c, 0xb4, 0x96, 0x9a, 0x8b, 0x4d, 0x45, 0x46, 0x42,
+0x20, 0x20, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04,
+0x0a, 0x12, 0x22, 0x21, 0x41, 0x81, 0x01, 0x00, 0x00, 0x04, 0x1c, 0xfc, 0x3c, 0x0c, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3c,
+0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x82, 0x87, 0x85, 0x8d, 0x49, 0x49, 0x49,
+0x6c, 0x24, 0x24, 0x24, 0x24, 0x14, 0x14, 0x16, 0x12, 0x0a, 0x0a, 0x0a, 0x0b, 0x05, 0x05, 0x05,
+0x05, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x06, 0x04, 0x04, 0x0c, 0x08,
+0x18, 0x20, 0xe0, 0xf0, 0x90, 0x18, 0xc9, 0x0e, 0x44, 0x92, 0x22, 0x2a, 0x4a, 0x9c, 0xb0, 0xe0,
+0x60, 0x04, 0x07, 0x87, 0x83, 0x81, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
+0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
+0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0x80, 0x80,
+0x80, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x60, 0x20, 0x20, 0x20, 0x30, 0x10, 0x10, 0x18, 0x08, 0x08,
+0x0c, 0x05, 0x02, 0x02, 0x0d, 0x1a, 0x3b, 0x2b, 0x6a, 0x46, 0x47, 0xc6, 0x87, 0x05, 0x02, 0x01,
+0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x0a, 0x0a, 0x32, 0x22, 0x25, 0x29, 0x21, 0x15, 0x10, 0x15, 0x10, 0x12, 0x08, 0x05,
+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, 0x01, 0x01, 0x01, 0x03,
+0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x10, 0x10, 0x10}
+};
+
+
+
+ // assumes 1 frame prep stage
+ void animation_phase(void) {
+ current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
+ oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
+ }
+
+ if (get_current_wpm() != 000) {
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+ anim_sleep = timer_read32();
+ }
+ else {
+
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ anim_timer = timer_read32();
+ animation_phase();
+ }
+
+ }
+}
+
+
+
+
+
+
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+
+static void render_keymap(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+ switch (get_highest_layer(default_layer_state)) {
+ case DVORAK:
+ oled_write_P(PSTR("Dvorak\n\n"), false);
+ oled_write_P(PSTR("' , . p y f g c r l \n"), false);
+ oled_write_P(PSTR("a o e i u d h t n s \n"), false);
+ oled_write_P(PSTR("; q j k x b m w v z \n"), false);
+ break;
+ case QWERTY:
+ oled_write_P(PSTR("Qwerty\n\n"), false);
+ oled_write_P(PSTR("q w e r t y u i o p \n"), false);
+ oled_write_P(PSTR("a s d f g h j k l ; \n"), false);
+ oled_write_P(PSTR("z x c v b n m , . / \n"), false);
+ break;
+ case NUMSYM:
+ oled_write_P(PSTR("Num & Sym\n\n"), false);
+ oled_write_P(PSTR("`12345 | 67890= \n"), false);
+ oled_write_P(PSTR("~!@#$P | ^&*()+ \n"), false);
+ oled_write_P(PSTR("|\\:;-[{ }]_,./? \n"), false);
+ break;
+ case FPSGAMES:
+ oled_write_P(PSTR("FPS Games \n\n"), false);
+ oled_write_P(PSTR("1 q W e r | \n"), false);
+ oled_write_P(PSTR("2 A S D f | \n"), false);
+ oled_write_P(PSTR("3 z x c v | \n"), false);
+ break;
+ case LAYERS:
+ oled_write_P(PSTR("Index Layer\n\n"), false);
+ oled_write_P(PSTR("- - G D - | - - - - - \n"), false);
+ oled_write_P(PSTR("- - - Q - | - - - - - \n"), false);
+ oled_write_P(PSTR("- - - N - | - - - - - \n"), false);
+ break;
+ default:
+ oled_write_P(PSTR("ERR No Layer!\n"), false);
+ }
+}
+
+
+
+// Host Keyboard LED Status
+/*
+static void render_indicator_status(void) {
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
+}
+*/
+
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
+ render_keymap();
+ } else {
+ //render_indicator_status();
+ //oled_write_P(PSTR(" Kyria rev1.4\n\n"), false);
+ render_anim(); // renders pixelart
+ }
+ return false;
+}
+#endif \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/readme.md b/keyboards/splitkb/kyria/keymaps/travishi/readme.md
new file mode 100644
index 0000000000..c7b1f6dd1a
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/travishi/readme.md
@@ -0,0 +1,99 @@
+# Introduction
+This keyboard layout centers around Dvorak, harnesing the power of the Kyria thumb
+clusters and layers to reduce finger and wrist movement.
+
+## IMPORTANT NOTE
+This keymap will only work if you have all the kyria keys available! If you've used 2u keys on the thumb cluster, or have broken off a column, this layout will not work!
+
+---
+
+## Features
+- **Dvorak:** So you don't have to leave the home row so much.
+- **Qwerty:** So you don't have to remap common programs.
+- **Custom FPS gaming layer:** Because the WASD stagger is so extreme on the Kyria.
+- **A number layer:** To access numbers, symbols and volume controls.
+- **Index Layer:** To help navigate thru base layers without wasting accessible keys.
+- And a very *very* rare **fren** to tag along on your adventures.
+
+## Guiding ideology
+- Use lower thumb keys as much as possible.
+- Minimise home row departure.
+- Minimize or eliminate non home row pinkie finger use.
+- Create macros for very common key shortcuts (ctrl + c/v/s, ctrl+shift+home etc.).
+- Create macros for very common commands (git status, git pull, git push etc.).
+- Use hints to indicate current layer (rgb lighting/OLED display).
+- Allow graceful layer handling (emergency return to default layer/layer index layer).
+---
+
+
+# Current Layers
+- Base1: dvorak
+- Base2: qwerty
+- Base3: Gaming layer (WASD is too staggered on Kyria)
+- MO layer: Number, Symbol & volume control layer
+
+## Future Layers
+
+- F keys
+- FE macros
+- Git macros
+
+---
+
+
+# Issues
+### Major
+- [x] None
+
+### Minor
+- [ ] Backlight LEDs dont indicate layer
+- [ ] Not fully using thumb clusters
+- [ ] Function keys and indicators missing (NUM, CAPS, SCROLL)
+- [ ] No Macro layers
+
+---
+
+# Helpful Links
+
+- QMK Docs https://docs.qmk.fm/#/
+- [Keymap diagram editor for the Kyria](http://www.keyboard-layout-editor.com/##@_name=Kyria%3B&@_y:0.25&x:3&a:7%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.75&x:3%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.75&x:3%3B&=&_x:9%3B&=%3B&@_y:-0.75&x:2%3B&=&_x:1%3B&=&_x:7%3B&=&_x:1%3B&=%3B&@_y:-0.875&x:5%3B&=&_x:5%3B&=%3B&@_y:-0.625%3B&=&=&_x:13%3B&=&=%3B&@_y:-0.5&x:2.5%3B&=&_x:10%3B&=%3B&@_rx:4&ry:8.175&y:-4.675000000000001&x:-0.5%3B&=%3B&@_rx:13&y:-4.675000000000001&x:-0.5%3B&=%3B&@_r:15&rx:4&y:-4.675000000000001&x:-0.5%3B&=%3B&@_r:30&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:45&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-45&rx:13&y:-5.675000000000001&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-30&y:-2&x:-0.5%3B&=%3B&@_x:-0.5%3B&=%3B&@_r:-15&y:-1&x:-0.5%3B&=)
+- [Thomas' Guide for creating OLED images](https://docs.splitkb.com/hc/en-us/articles/360013811280)
+- [Image converter](https://javl.github.io/image2cpp/)
+
+---
+
+## Useful notes
+Various useful info for setting up your own keyboard layout.
+
+### Install QMK Tool steps
+[QMK Setup (Windows)](https://docs.qmk.fm/#/newbs_getting_started)
+- Install QMK MSYS,
+- Install Toolbox,
+- Using QMK MSYS, follow the setup guide, then `cd` to where you've cloned the `qmk_firmware` folder,
+- `qmk compile` to generate your .hex file (it should be located in the `qmk_firmware` folder),
+- Using QMK Toolbox, flash the .hex file to your keyboard halves (drag your hex file into the toolbox window, press the reset button on the keyboard, the toolbox should detect this, then press flash. You need to reset each half separately).
+- Congrats, all done!
+
+
+---
+### Layer template
+```
+// * ,-------------------------------------------. ,-------------------------------------------.
+// * | | | | | | | | | | | | | |
+// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+// * | | | | | | | | | | | | | |
+// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+// * | | | | | | | | | | | | | | | | | |
+// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+// * | | | | | | | | | | | |
+// * | | | | | | | | | | | |
+// * `----------------------------------' `----------------------------------'
+// */
+// [_LAYERINDEX] = LAYOUT(
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+// ),
+```
+
diff --git a/keyboards/splitkb/kyria/keymaps/travishi/rules.mk b/keyboards/splitkb/kyria/keymaps/travishi/rules.mk
new file mode 100644
index 0000000000..a1564cfe4b
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/travishi/rules.mk
@@ -0,0 +1,12 @@
+# Enabled features
+LEADER_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306 # Enables the use of OLED displays
+
+WPM_ENABLE = yes
+
+
+# Disabled features
+ENCODER_ENABLE = no # Enables the use of one or more encoders
+MOUSEKEY_ENABLE = no \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h
index 2fc34070f4..f6f9a98c3e 100644
--- a/keyboards/splitkb/kyria/rev1/config.h
+++ b/keyboards/splitkb/kyria/rev1/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8D1D
-#define PRODUCT_ID 0x9D9D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER splitkb
-#define PRODUCT Kyria rev1
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B4, E6, D7, D4 }
#define MATRIX_COL_PINS \
{ B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A \
{ C6 }
diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json
new file mode 100644
index 0000000000..8e34af43f5
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Kyria rev1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk
index 1a5f9a7cb3..496312fe98 100644
--- a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk
+++ b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk
@@ -9,4 +9,4 @@ WS2812_DRIVER = pwm
SERIAL_DRIVER = usart
AUDIO_ENABLE = no
LTO_ENABLE = no
-CONVERT_TO_PROTON_C = yes
+CONVERT_TO = proton_c
diff --git a/keyboards/splitkb/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk
index cc2cbba604..e7d6763fcd 100644
--- a/keyboards/splitkb/kyria/rev1/rules.mk
+++ b/keyboards/splitkb/kyria/rev1/rules.mk
@@ -1,5 +1,4 @@
OLED_ENABLE = yes
-OLED_DRIVER = SSD1306 # 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)
diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h
index 8ff3813964..6af99e0a7c 100644
--- a/keyboards/splitkb/kyria/rev2/config.h
+++ b/keyboards/splitkb/kyria/rev2/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8D1D
-#define PRODUCT_ID 0x9D9D
-#define DEVICE_VER 0x0002
-#define MANUFACTURER splitkb
-#define PRODUCT Kyria rev2
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 8
@@ -38,7 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D4, C6, D7, E6 }
#define MATRIX_COL_PINS_RIGHT \
{ B4, B5, B6, B2, B3, B1, F7, F6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A \
{ F4 }
diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json
new file mode 100644
index 0000000000..7ff56b321a
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Kyria rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk b/keyboards/splitkb/kyria/rev2/proton_c/rules.mk
index 1a5f9a7cb3..496312fe98 100644
--- a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk
+++ b/keyboards/splitkb/kyria/rev2/proton_c/rules.mk
@@ -9,4 +9,4 @@ WS2812_DRIVER = pwm
SERIAL_DRIVER = usart
AUDIO_ENABLE = no
LTO_ENABLE = no
-CONVERT_TO_PROTON_C = yes
+CONVERT_TO = proton_c
diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h
index 7e79e7f359..35782781c1 100644
--- a/keyboards/splitkb/zima/config.h
+++ b/keyboards/splitkb/zima/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8D1D
-#define PRODUCT_ID 0xF75B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER splitkb
-#define PRODUCT Zima
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -39,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ E6, F5, F6 }, \
{ F0, F1, F4 }, \
}
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B4 }
#define ENCODERS_PAD_B { D7 }
diff --git a/keyboards/splitkb/zima/info.json b/keyboards/splitkb/zima/info.json
index 8e3ca411a5..0afcbe5b6e 100644
--- a/keyboards/splitkb/zima/info.json
+++ b/keyboards/splitkb/zima/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zima",
+ "manufacturer": "splitkb",
"url": "splitkb.com",
"maintainer": "splitkb.com, drashna",
+ "usb": {
+ "vid": "0x8D1D",
+ "pid": "0xF75B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x3": {
"layout": [
diff --git a/keyboards/splitography/config.h b/keyboards/splitography/config.h
index 19afdec862..d66360f8f4 100644
--- a/keyboards/splitography/config.h
+++ b/keyboards/splitography/config.h
@@ -18,9 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define PRODUCT Splitography
-
/* Key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/splitography/keymaps/jeandeaual/keymap.c b/keyboards/splitography/keymaps/jeandeaual/keymap.c
index 6679d835f2..87c4159443 100644
--- a/keyboards/splitography/keymaps/jeandeaual/keymap.c
+++ b/keyboards/splitography/keymaps/jeandeaual/keymap.c
@@ -225,7 +225,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}
return false;
case KC_QUOT:
- if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) {
+ if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
break;
}
if (record->event.pressed) {
diff --git a/keyboards/splitography/keymaps/multi/keymap.c b/keyboards/splitography/keymaps/multi/keymap.c
index af1cc1a801..7d847e40b6 100644
--- a/keyboards/splitography/keymaps/multi/keymap.c
+++ b/keyboards/splitography/keymaps/multi/keymap.c
@@ -331,7 +331,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
case KC_QUOT:
- if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) {
+ if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) {
break;
}
if (record->event.pressed) {
diff --git a/keyboards/splitography/readme.md b/keyboards/splitography/readme.md
index eeb9b2f40d..39b09d8d8b 100644
--- a/keyboards/splitography/readme.md
+++ b/keyboards/splitography/readme.md
@@ -24,7 +24,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
* **Physical reset button**: Briefly press the button on the back of the PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
## [Guide](https://softhruf.love/pages/guides)
diff --git a/keyboards/splitty/config.h b/keyboards/splitty/config.h
index 68ea1b9411..1494753e15 100644
--- a/keyboards/splitty/config.h
+++ b/keyboards/splitty/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1D50
-#define PRODUCT_ID 0x6052
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nicolas Schodet
-#define PRODUCT Splitty
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
diff --git a/keyboards/splitty/info.json b/keyboards/splitty/info.json
index 1cccfa124b..71e31132e5 100644
--- a/keyboards/splitty/info.json
+++ b/keyboards/splitty/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Splitty",
+ "manufacturer": "Nicolas Schodet",
"url": "https://git.ni.fr.eu.org/splitty.git/about/",
"maintainer": "schodet",
+ "usb": {
+ "vid": "0x1D50",
+ "pid": "0x6052",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/sporewoh/banime40/config.h b/keyboards/sporewoh/banime40/config.h
index 58173b58be..0f292315f1 100644
--- a/keyboards/sporewoh/banime40/config.h
+++ b/keyboards/sporewoh/banime40/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEAF
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0000
-#define MANUFACTURER sporewoh
-#define PRODUCT banime40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, D7, C6, D4 }
#define MATRIX_COL_PINS { B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sporewoh/banime40/info.json b/keyboards/sporewoh/banime40/info.json
index 36a7ee9eb5..74198ad3bb 100644
--- a/keyboards/sporewoh/banime40/info.json
+++ b/keyboards/sporewoh/banime40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "banime40",
+ "manufacturer": "sporewoh",
"url": "https://github.com/ChrisChrisLoLo/banime40",
"maintainer": "sporewoh",
+ "usb": {
+ "vid": "0xBEAF",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [
diff --git a/keyboards/star75/config.h b/keyboards/star75/config.h
new file mode 100644
index 0000000000..7efe58f50f
--- /dev/null
+++ b/keyboards/star75/config.h
@@ -0,0 +1,57 @@
+/*
+Copyright 2022 Horns Lyn (@hornslyn)
+SPDX-License-Identifier: GPL-2.0-or-later */
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B7, D0, D1, D2, D3, D5 }
+#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, E6 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 3
+#endif
+
+/* encoder definitions */
+#ifdef ENCODER_ENABLE
+#define ENCODERS_PAD_A { B2 }
+#define ENCODERS_PAD_B { B1 }
+#endif
+
+/* 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 RGB_DI_PIN B3
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 1
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LED_MAP { 0, 1 }
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 180
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#endif
diff --git a/keyboards/star75/info.json b/keyboards/star75/info.json
new file mode 100644
index 0000000000..f7d0f17e50
--- /dev/null
+++ b/keyboards/star75/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Star75",
+ "manufacturer": "DXWS",
+ "url": "https://item.taobao.com/item.htm?id=656392112467",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4B35",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":7, "y":0}, {"label":"F7", "x":8, "y":0}, {"label":"F8", "x":9, "y":0}, {"label":"F9", "x":10.5, "y":0}, {"label":"F10", "x":11.5, "y":0}, {"label":"F11", "x":12.5, "y":0}, {"label":"F12", "x":13.5, "y":0}, {"label":"Ins", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Capslock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":"", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"PgDn", "x":15, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Up", "x":14, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Fn", "x":10, "y":5.25, "w":1.25}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.25}, {"label":"Left", "x":13, "y":5.25}, {"label":"Down", "x":14, "y":5.25}, {"label":"Right", "x":15, "y":5.25}]
+ }
+ }
+}
diff --git a/keyboards/star75/keymaps/default/keymap.c b/keyboards/star75/keymaps/default/keymap.c
new file mode 100644
index 0000000000..996615877d
--- /dev/null
+++ b/keyboards/star75/keymaps/default/keymap.c
@@ -0,0 +1,103 @@
+/*
+Copyright 2022 Horns Lyn (@hornslyn)
+SPDX-License-Identifier: GPL-2.0-or-later */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _HOME = 0,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_HOME] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ 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_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [_FN1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_RMOD, KC_TRNS),
+
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [_FN3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+/* capslock/layer indicators; using rgb led; start */
+// capslock;
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_RED}
+);
+// layer 1;
+const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_CYAN}
+);
+// layer 2;
+const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_PURPLE}
+);
+// layer 3;
+const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_GREEN}
+);
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer,
+ my_layer1_layer, // Overrides caps lock layer
+ my_layer2_layer, // Overrides other layers
+ my_layer3_layer // Overrides other layers
+);
+
+void keyboard_post_init_user(void) {
+ // Enable the LED layers
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_FN1, layer_state_cmp(state, _FN1));
+ rgblight_set_layer_state(_FN2, layer_state_cmp(state, _FN2));
+ rgblight_set_layer_state(_FN3, layer_state_cmp(state, _FN3));
+ return state;
+}
+/* capslock/layer indicators; using rgb led; end */
+
+/* encoder; start */
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_HOME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+
+};
+#endif
+/* encoder; end */
+
diff --git a/keyboards/star75/keymaps/default/readme.md b/keyboards/star75/keymaps/default/readme.md
new file mode 100644
index 0000000000..d1b7656403
--- /dev/null
+++ b/keyboards/star75/keymaps/default/readme.md
@@ -0,0 +1,16 @@
+# Default Star75 Layout
+
+This is the default layout of Star75 PCB.
+
+Note that the optional encoder is disabled by default.
+
+rules.mk OPTIONS
+
+`ENCODER_MAP_ENABLE = yes` - turns on the optional encoder
+
+## Layer diagrams
+Default layer
+![Star75 Default Layout](https://i.imgur.com/AYbSn4O.png)
+
+Fn layer
+![Star75 Fn Layout](https://i.imgur.com/51IbsCP.png)
diff --git a/keyboards/star75/keymaps/via/keymap.c b/keyboards/star75/keymaps/via/keymap.c
new file mode 100644
index 0000000000..43b53d80dd
--- /dev/null
+++ b/keyboards/star75/keymaps/via/keymap.c
@@ -0,0 +1,102 @@
+/*
+Copyright 2022 Horns Lyn (@hornslyn)
+SPDX-License-Identifier: GPL-2.0-or-later */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _HOME = 0,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_HOME] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [_FN1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_RMOD, KC_TRNS),
+
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [_FN3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+/* capslock/layer indicators; using rgb led; start */
+// capslock;
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_RED}
+);
+// layer 1;
+const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_CYAN}
+);
+// layer 2;
+const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_PURPLE}
+);
+// layer 3;
+const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, HSV_GREEN}
+);
+
+// Now define the array of layers. Later layers take precedence
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer,
+ my_layer1_layer, // Overrides caps lock layer
+ my_layer2_layer, // Overrides other layers
+ my_layer3_layer // Overrides other layers
+);
+
+void keyboard_post_init_user(void) {
+ // Enable the LED layers
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_FN1, layer_state_cmp(state, _FN1));
+ rgblight_set_layer_state(_FN2, layer_state_cmp(state, _FN2));
+ rgblight_set_layer_state(_FN3, layer_state_cmp(state, _FN3));
+ return state;
+}
+/* capslock/layer indicators; using rgb led; end */
+
+/* encoder; start */
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_HOME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
+/* encoder; end */
+
diff --git a/keyboards/star75/keymaps/via/rules.mk b/keyboards/star75/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f48a8b1056
--- /dev/null
+++ b/keyboards/star75/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+ENCODER_MAP_ENABLE = yes
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+
diff --git a/keyboards/star75/readme.md b/keyboards/star75/readme.md
new file mode 100644
index 0000000000..5145dc9c47
--- /dev/null
+++ b/keyboards/star75/readme.md
@@ -0,0 +1,28 @@
+# 大星外设 DXWS Star75
+
+75% Hotswap PCB with optional rotary encoder.
+
+![View of Star75 Keyboard](https://i.imgur.com/UrvnjiZ.jpeg)
+![Star75 Default Layout](https://i.imgur.com/LkTP0Cj.png)
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: Star75 1.2mm Flex-cut Hotswap PCB
+* Hardware Availability: [大星外设](https://item.taobao.com/item.htm?id=656392112467)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make star75:default
+
+Flashing example for this keyboard:
+
+ make star75:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
+
diff --git a/keyboards/star75/rules.mk b/keyboards/star75/rules.mk
new file mode 100644
index 0000000000..0b3ffc06f2
--- /dev/null
+++ b/keyboards/star75/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+ENCODER_ENABLE = yes
+LTO_ENABLE = yes
+
+
diff --git a/keyboards/star75/star75.c b/keyboards/star75/star75.c
new file mode 100644
index 0000000000..abadba8625
--- /dev/null
+++ b/keyboards/star75/star75.c
@@ -0,0 +1,4 @@
+/*
+Copyright 2022 Horns Lyn (@hornslyn)
+SPDX-License-Identifier: GPL-2.0-or-later */
+#include "star75.h"
diff --git a/keyboards/star75/star75.h b/keyboards/star75/star75.h
new file mode 100644
index 0000000000..7e47ea0e40
--- /dev/null
+++ b/keyboards/star75/star75.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2022 Horns Lyn (@hornslyn)
+SPDX-License-Identifier: GPL-2.0-or-later */
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, 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, K2C, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4D, \
+ K50, K51, K52, K55, K59, K5A, K5C, K5D, K5E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, 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, K2C, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, K4C, K4D, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, KC_NO, K59, K5A, KC_NO, K5C, K5D, K5E } \
+}
+
+
+
diff --git a/keyboards/stello65/beta/config.h b/keyboards/stello65/beta/config.h
index 5316f351d7..555975b02d 100644
--- a/keyboards/stello65/beta/config.h
+++ b/keyboards/stello65/beta/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5559
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER @wekey
-#define PRODUCT Stello65
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, D0, D1, C6, F7, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { C7, B6, B5, B4, D7, D6, D4, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/stello65/beta/info.json b/keyboards/stello65/beta/info.json
index 7f2e785858..3beb747bec 100644
--- a/keyboards/stello65/beta/info.json
+++ b/keyboards/stello65/beta/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stello65",
+ "manufacturer": "@wekey",
"url": "",
"maintainer": "@wekey",
+ "usb": {
+ "vid": "0x5559",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"esc", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, {"label":"2", "x":2, "y":0}, {"label":"3", "x":3, "y":0}, {"label":"4", "x":4, "y":0}, {"label":"5", "x":5, "y":0}, {"label":"6", "x":6, "y":0}, {"label":"7", "x":7, "y":0}, {"label":"8", "x":8, "y":0}, {"label":"9", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"-", "x":11, "y":0}, {"label":"=", "x":12, "y":0}, {"label":"bs", "x":13, "y":0}, {"label":"del", "x":14, "y":0}, {"label":"home", "x":15, "y":0}, {"label":"vold", "x":16.25, "y":0}, {"label":"volu", "x":17.25, "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":"end", "x":15, "y":1}, {"label":"caps", "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":1.25}, {"label":"\\", "x":1.25, "y":3}, {"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":"gui", "x":1.25, "y":4, "w":1.25}, {"label":"alt", "x":2.5, "y":4, "w":1.25}, {"label":"spacce", "x":3.75, "y":4, "w":6.25}, {"label":"alt", "x":10, "y":4, "w":1.25}, {"label":"ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"left", "x":13, "y":4}, {"label":"down", "x":14, "y":4}, {"label":"right", "x":15, "y":4}]
diff --git a/keyboards/stello65/beta/readme.md b/keyboards/stello65/beta/readme.md
index cb2f156ec2..67b183008a 100644
--- a/keyboards/stello65/beta/readme.md
+++ b/keyboards/stello65/beta/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/stello65/hs_rev1/config.h b/keyboards/stello65/hs_rev1/config.h
index 45b0c5ffb3..3da4275402 100644
--- a/keyboards/stello65/hs_rev1/config.h
+++ b/keyboards/stello65/hs_rev1/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5559
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER @wekey
-#define PRODUCT Stello65
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, D1, D2, B6, C6, C7, F7, F6, F5 }
#define MATRIX_COL_PINS { E6, B5, B4, D7, D6, D4, D5, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/stello65/hs_rev1/info.json b/keyboards/stello65/hs_rev1/info.json
index a743abc34d..f68e0333a2 100644
--- a/keyboards/stello65/hs_rev1/info.json
+++ b/keyboards/stello65/hs_rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stello65",
+ "manufacturer": "@wekey",
"url": "",
"maintainer": "@wekey",
+ "usb": {
+ "vid": "0x5559",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"1,1", "x":3, "y":0}, {"label":"0,2", "x":4, "y":0}, {"label":"1,2", "x":5, "y":0}, {"label":"0,3", "x":6, "y":0}, {"label":"1,3", "x":7, "y":0}, {"label":"0,4", "x":8, "y":0}, {"label":"1,4", "x":9, "y":0}, {"label":"0,5", "x":10, "y":0}, {"label":"1,5", "x":11, "y":0}, {"label":"0,6", "x":12, "y":0}, {"label":"1,6", "x":13, "y":0, "w":2}, {"label":"2,0", "x":0, "y":1, "w":1.5}, {"label":"3,0", "x":1.5, "y":1}, {"label":"2,1", "x":2.5, "y":1}, {"label":"3,1", "x":3.5, "y":1}, {"label":"2,2", "x":4.5, "y":1}, {"label":"3,2", "x":5.5, "y":1}, {"label":"2,3", "x":6.5, "y":1}, {"label":"3,3", "x":7.5, "y":1}, {"label":"2,4", "x":8.5, "y":1}, {"label":"3,4", "x":9.5, "y":1}, {"label":"2,5", "x":10.5, "y":1}, {"label":"3,5", "x":11.5, "y":1}, {"label":"2,6", "x":12.5, "y":1}, {"label":"3,6", "x":13.5, "y":1, "w":1.5}, {"label":"2,7", "x":15, "y":1}, {"label":"4,0", "x":0, "y":2, "w":1.75}, {"label":"4,1", "x":1.75, "y":2}, {"label":"5,0", "x":2.75, "y":2}, {"label":"5,1", "x":3.75, "y":2}, {"label":"4,2", "x":4.75, "y":2}, {"label":"5,2", "x":5.75, "y":2}, {"label":"4,3", "x":6.75, "y":2}, {"label":"5,3", "x":7.75, "y":2}, {"label":"4,4", "x":8.75, "y":2}, {"label":"5,4", "x":9.75, "y":2}, {"label":"4,5", "x":10.75, "y":2}, {"label":"5,5", "x":11.75, "y":2}, {"label":"5,6", "x":12.75, "y":2, "w":2.25}, {"label":"4,7", "x":15, "y":2}, {"label":"6,0", "x":0, "y":3, "w":2.25}, {"label":"6,1", "x":2.25, "y":3}, {"label":"7,0", "x":3.25, "y":3}, {"label":"7,1", "x":4.25, "y":3}, {"label":"6,2", "x":5.25, "y":3}, {"label":"7,2", "x":6.25, "y":3}, {"label":"6,3", "x":7.25, "y":3}, {"label":"7,3", "x":8.25, "y":3}, {"label":"6,4", "x":9.25, "y":3}, {"label":"7,4", "x":10.25, "y":3}, {"label":"6,5", "x":11.25, "y":3}, {"label":"7,5", "x":12.25, "y":3}, {"label":"7,6", "x":13.25, "y":3, "w":1.75}, {"label":"6,7", "x":15, "y":3}, {"label":"8,0", "x":0, "y":4, "w":1.25}, {"label":"9,0", "x":1.25, "y":4, "w":1.25}, {"label":"8,1", "x":2.5, "y":4, "w":1.25}, {"label":"9,1", "x":3.75, "y":4, "w":6.25}, {"label":"8,5", "x":10, "y":4, "w":1.25}, {"label":"9,5", "x":11.25, "y":4, "w":1.25}, {"label":"8,6", "x":13, "y":4}, {"label":"9,6", "x":14, "y":4}, {"label":"8,7", "x":15, "y":4}]
diff --git a/keyboards/stello65/hs_rev1/keymaps/default/keymap.c b/keyboards/stello65/hs_rev1/keymaps/default/keymap.c
index 4388c1d9bc..4ed3a8a98a 100644
--- a/keyboards/stello65/hs_rev1/keymaps/default/keymap.c
+++ b/keyboards/stello65/hs_rev1/keymaps/default/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- RGB_TOG, 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,
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/stello65/hs_rev1/keymaps/via/keymap.c b/keyboards/stello65/hs_rev1/keymaps/via/keymap.c
index 66282a632e..eb225da792 100644
--- a/keyboards/stello65/hs_rev1/keymaps/via/keymap.c
+++ b/keyboards/stello65/hs_rev1/keymaps/via/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- RGB_TOG, 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,
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/stello65/hs_rev1/readme.md b/keyboards/stello65/hs_rev1/readme.md
index 75f83b052c..b7f9e7c726 100644
--- a/keyboards/stello65/hs_rev1/readme.md
+++ b/keyboards/stello65/hs_rev1/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/stello65/sl_rev1/config.h b/keyboards/stello65/sl_rev1/config.h
index bbf7c0a80f..f7096308a6 100644
--- a/keyboards/stello65/sl_rev1/config.h
+++ b/keyboards/stello65/sl_rev1/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5559
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER @wekey
-#define PRODUCT Stello65
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, D0, D1, C6, F7, F6, F5, F4, F1 }
#define MATRIX_COL_PINS { C7, B4, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/stello65/sl_rev1/info.json b/keyboards/stello65/sl_rev1/info.json
index 1a1f044b3b..95eb2ccb3c 100644
--- a/keyboards/stello65/sl_rev1/info.json
+++ b/keyboards/stello65/sl_rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Stello65",
+ "manufacturer": "@wekey",
"url": "",
"maintainer": "@wekey",
+ "usb": {
+ "vid": "0x5559",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/stello65/sl_rev1/keymaps/default/keymap.c b/keyboards/stello65/sl_rev1/keymaps/default/keymap.c
index c54b390d1b..7c2c054fc4 100644
--- a/keyboards/stello65/sl_rev1/keymaps/default/keymap.c
+++ b/keyboards/stello65/sl_rev1/keymaps/default/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- RGB_TOG, 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,
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/stello65/sl_rev1/keymaps/via/keymap.c b/keyboards/stello65/sl_rev1/keymaps/via/keymap.c
index 9313e43a46..0c59498a5c 100644
--- a/keyboards/stello65/sl_rev1/keymaps/via/keymap.c
+++ b/keyboards/stello65/sl_rev1/keymaps/via/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- RGB_TOG, 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,
+ RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/stello65/sl_rev1/readme.md b/keyboards/stello65/sl_rev1/readme.md
index 027ab25a3a..ed36a4e740 100644
--- a/keyboards/stello65/sl_rev1/readme.md
+++ b/keyboards/stello65/sl_rev1/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/stratos/config.h b/keyboards/stratos/config.h
index 09aac207af..13e54db7bc 100644
--- a/keyboards/stratos/config.h
+++ b/keyboards/stratos/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xD5D0
-#define PRODUCT_ID 0x992D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER eggyolk
-#define PRODUCT stratos
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#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 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/stratos/info.json b/keyboards/stratos/info.json
index 0ddffc7592..e281d4eed4 100644
--- a/keyboards/stratos/info.json
+++ b/keyboards/stratos/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "stratos",
+ "manufacturer": "eggyolk",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0xD5D0",
+ "pid": "0x992D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/studiokestra/bourgeau/config.h b/keyboards/studiokestra/bourgeau/config.h
index afb8bb858f..07ac871795 100644
--- a/keyboards/studiokestra/bourgeau/config.h
+++ b/keyboards/studiokestra/bourgeau/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7C10
-#define PRODUCT_ID 0x7501
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Studio Kestra
-#define PRODUCT Bourgeau
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/studiokestra/bourgeau/info.json b/keyboards/studiokestra/bourgeau/info.json
index a2170cabf6..6b9169ba0a 100644
--- a/keyboards/studiokestra/bourgeau/info.json
+++ b/keyboards/studiokestra/bourgeau/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Bourgeau",
+ "manufacturer": "Studio Kestra",
"url": "https://studiokestra.ca/bourgeau/",
"maintainer": "studiokestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x7501",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_75_ansi_rwkl"
},
diff --git a/keyboards/studiokestra/bourgeau/readme.md b/keyboards/studiokestra/bourgeau/readme.md
index 16f87618e0..b0a0bb2a89 100644
--- a/keyboards/studiokestra/bourgeau/readme.md
+++ b/keyboards/studiokestra/bourgeau/readme.md
@@ -11,7 +11,7 @@ Compact 75% universal hotswap PCB with USB-C that supports a fixed 6.25U bottom
There are 3 ways to put the board in bootloader mode:
- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
-- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
+- While the PCB is plugged into the PC, press the physical `QK_BOOT` button on the back of the board, OR
- With the default layout, toggle Layer 1 and press the `ESC` key.
## Compiling Firmware
diff --git a/keyboards/studiokestra/cascade/config.h b/keyboards/studiokestra/cascade/config.h
index 1ef4c21e50..beb88e69ab 100644
--- a/keyboards/studiokestra/cascade/config.h
+++ b/keyboards/studiokestra/cascade/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7C10
-#define PRODUCT_ID 0x6001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Studio Kestra
-#define PRODUCT Cascade
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/studiokestra/cascade/info.json b/keyboards/studiokestra/cascade/info.json
index 5bbc25f1e5..eb5e9b5ffb 100644
--- a/keyboards/studiokestra/cascade/info.json
+++ b/keyboards/studiokestra/cascade/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Cascade",
+ "manufacturer": "Studio Kestra",
"url": "https://studiokestra.ca/cascade/",
"maintainer": "Studio Kestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x6001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/studiokestra/cascade/readme.md b/keyboards/studiokestra/cascade/readme.md
index db55844ed1..e217b3edea 100644
--- a/keyboards/studiokestra/cascade/readme.md
+++ b/keyboards/studiokestra/cascade/readme.md
@@ -11,7 +11,7 @@
There are 3 ways to put the board in bootloader mode:
- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
-- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
+- While the PCB is plugged into the PC, press the physical `QK_BOOT` button on the back of the board, OR
- With the default layout, toggle Layer 1 and press the `ESC` key.
## Compiling Firmware
diff --git a/keyboards/studiokestra/galatea/config.h b/keyboards/studiokestra/galatea/config.h
index accc0d2b43..2e598b1d95 100644
--- a/keyboards/studiokestra/galatea/config.h
+++ b/keyboards/studiokestra/galatea/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7C10
-#define MANUFACTURER Studio Kestra
-#define PRODUCT Galatea
-
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
diff --git a/keyboards/studiokestra/galatea/readme.md b/keyboards/studiokestra/galatea/readme.md
index 1268c596bf..08a6eae011 100644
--- a/keyboards/studiokestra/galatea/readme.md
+++ b/keyboards/studiokestra/galatea/readme.md
@@ -13,7 +13,7 @@ TKL H87/88c compatible PCB with support for the most common layouts.
There are 3 ways to put the board in bootloader mode:
- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
-- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
+- While the PCB is plugged into the PC, press the physical `QK_BOOT` button on the back of the board, OR
- With the default layout, toggle Layer 1 and press the `R` key.
## Compiling Firmware
diff --git a/keyboards/studiokestra/galatea/rev1/config.h b/keyboards/studiokestra/galatea/rev1/config.h
deleted file mode 100644
index 9f8fb44f9a..0000000000
--- a/keyboards/studiokestra/galatea/rev1/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Studio Kestra
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0x8801
-#define DEVICE_VER 0x0001
diff --git a/keyboards/studiokestra/galatea/rev1/info.json b/keyboards/studiokestra/galatea/rev1/info.json
index e3f31198fe..2b832d7fc7 100644
--- a/keyboards/studiokestra/galatea/rev1/info.json
+++ b/keyboards/studiokestra/galatea/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Galatea",
+ "manufacturer": "Studio Kestra",
"url": "https://studiokestra.ca/galatea",
"maintainer": "studiokestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x8801",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/studiokestra/galatea/rev2/config.h b/keyboards/studiokestra/galatea/rev2/config.h
deleted file mode 100644
index 4e0170a0f9..0000000000
--- a/keyboards/studiokestra/galatea/rev2/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Studio Kestra
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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 PRODUCT_ID 0x8802
-#define DEVICE_VER 0x0002
diff --git a/keyboards/studiokestra/galatea/rev2/info.json b/keyboards/studiokestra/galatea/rev2/info.json
index e3f31198fe..9954a96274 100644
--- a/keyboards/studiokestra/galatea/rev2/info.json
+++ b/keyboards/studiokestra/galatea/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Galatea",
+ "manufacturer": "Studio Kestra",
"url": "https://studiokestra.ca/galatea",
"maintainer": "studiokestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x8802",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/studiokestra/nascent/config.h b/keyboards/studiokestra/nascent/config.h
new file mode 100644
index 0000000000..a88a42348c
--- /dev/null
+++ b/keyboards/studiokestra/nascent/config.h
@@ -0,0 +1,42 @@
+/*
+Copyright 2022 Studio Kestra
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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 MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+#define MATRIX_COL_PINS { D2, D3, D7, D6, D4, D5, B0, E6 }
+#define MATRIX_ROW_PINS { F5, F4, F7, F6, C6, C7, B4, B5, D0, D1 }
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN B6
+#define LED_PIN_ON_STATE 0
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/studiokestra/nascent/info.json b/keyboards/studiokestra/nascent/info.json
new file mode 100644
index 0000000000..0d3f12eba5
--- /dev/null
+++ b/keyboards/studiokestra/nascent/info.json
@@ -0,0 +1,86 @@
+{
+ "keyboard_name": "Nascent",
+ "manufacturer": "Studio Kestra",
+ "url": "https://studiokestra.ca/",
+ "maintainer": "Studio Kestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x0165",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"~", "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":"Bksp", "x":13, "y":0},
+ {"label":"Bksp", "x":14, "y":0},
+ {"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":"Caps Lock", "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":"\u2191", "x":14, "y":3},
+ {"label":"PgDn", "x":15, "y":3},
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":3},
+ {"x":7, "y":4},
+ {"x":8, "y":4, "w":3},
+ {"label":"Ctrl", "x":11, "y":4, "w":1.5},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/studiokestra/nascent/keymaps/default/keymap.c b/keyboards/studiokestra/nascent/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c3c71e7494
--- /dev/null
+++ b/keyboards/studiokestra/nascent/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+ /* Copyright 2022 Studio Kestra
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// 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] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [_FN] = 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+}; \ No newline at end of file
diff --git a/keyboards/studiokestra/nascent/keymaps/default/readme.md b/keyboards/studiokestra/nascent/keymaps/default/readme.md
new file mode 100644
index 0000000000..afd4f9a69d
--- /dev/null
+++ b/keyboards/studiokestra/nascent/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Nascent
diff --git a/keyboards/studiokestra/nascent/keymaps/via/keymap.c b/keyboards/studiokestra/nascent/keymaps/via/keymap.c
new file mode 100644
index 0000000000..3339561d9a
--- /dev/null
+++ b/keyboards/studiokestra/nascent/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+ /* Copyright 2022 Studio Kestra
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+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_BSPC, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [_FN1] = 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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [_FN2] = 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, KC_TRNS, KC_TRNS, KC_TRNS),
+ [_FN3] = 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, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/studiokestra/nascent/keymaps/via/readme.md b/keyboards/studiokestra/nascent/keymaps/via/readme.md
new file mode 100644
index 0000000000..206240488f
--- /dev/null
+++ b/keyboards/studiokestra/nascent/keymaps/via/readme.md
@@ -0,0 +1 @@
+# Studio Kestra's Nascent keymap for VIA
diff --git a/keyboards/studiokestra/nascent/keymaps/via/rules.mk b/keyboards/studiokestra/nascent/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/studiokestra/nascent/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/studiokestra/nascent/nascent.c b/keyboards/studiokestra/nascent/nascent.c
new file mode 100644
index 0000000000..d7458be127
--- /dev/null
+++ b/keyboards/studiokestra/nascent/nascent.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Studio Kestra
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "nascent.h"
diff --git a/keyboards/studiokestra/nascent/nascent.h b/keyboards/studiokestra/nascent/nascent.h
new file mode 100644
index 0000000000..5013ff9c0f
--- /dev/null
+++ b/keyboards/studiokestra/nascent/nascent.h
@@ -0,0 +1,46 @@
+/* Copyright 2022 Studio Kestra
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_all(\
+ k000, k100, k001, k101, k002, k102, k003, k103, k004, k104, k005, k105, k006, k106, k007, k107, \
+ k200, k300, k201, k301, k202, k302, k203, k303, k204, k304, k205, k305, k206, k207, k307, \
+ k400, k500, k401, k501, k402, k502, k403, k503, k404, k504, k405, k505, k407, k507, \
+ k600, k601, k701, k602, k702, k603, k703, k604, k704, k605, k705, k606, k607, k707, \
+ k800, k900, k801, k802, k803, k804, k805, k806, k807, k907 \
+) { \
+ { k000, k001, k002, k003, k004, k005, k006, k007 }, \
+ { k100, k101, k102, k103, k104, k105, k106, k107 }, \
+ { k200, k201, k202, k203, k204, k205, k206, k207 }, \
+ { k300, k301, k302, k303, k304, k305, KC_NO, k307 }, \
+ { k400, k401, k402, k403, k404, k405, KC_NO, k407 }, \
+ { k500, k501, k502, k503, k504, k505, KC_NO, k507 }, \
+ { k600, k601, k602, k603, k604, k605, k606, k607 }, \
+ { KC_NO, k701, k702, k703, k704, k705, KC_NO, k707 }, \
+ { k800, k801, k802, k803, k804, k805, k806, k807 }, \
+ { k900, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k907 } \
+}
diff --git a/keyboards/studiokestra/nascent/readme.md b/keyboards/studiokestra/nascent/readme.md
new file mode 100644
index 0000000000..09e0aaa7f0
--- /dev/null
+++ b/keyboards/studiokestra/nascent/readme.md
@@ -0,0 +1,25 @@
+# Nascent
+
+65% PCB with leaf-spring mounting tabs designed for the Nascent keyboard.
+
+* Keyboard Maintainer: [Studio Kestra](https://github.com/studiokestra/)
+* Hardware Supported: [store.studiokestra.ca](https://store.studiokestra.ca/)
+* Hardware Availability: Group-Buy (Q1 2022)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make studiokestra/nascent:default
+
+Flashing example for this keyboard:
+
+ make studiokestra/nascent: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).
+
+## Bootload Sequence
+
+There are 3 ways to put the board in bootloader mode:
+
+- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
+- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
+- With the default layout, toggle Layer 1 and press the `R` key. \ No newline at end of file
diff --git a/keyboards/studiokestra/nascent/rules.mk b/keyboards/studiokestra/nascent/rules.mk
new file mode 100644
index 0000000000..30e86c0190
--- /dev/null
+++ b/keyboards/studiokestra/nascent/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/studiokestra/nue/config.h b/keyboards/studiokestra/nue/config.h
index dc4aee20aa..1e9f715a6e 100644
--- a/keyboards/studiokestra/nue/config.h
+++ b/keyboards/studiokestra/nue/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7C10
-#define PRODUCT_ID 0x0701
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Studio Kestra
-#define PRODUCT Nue
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/studiokestra/nue/info.json b/keyboards/studiokestra/nue/info.json
index 9abe8f3e5c..874f827546 100644
--- a/keyboards/studiokestra/nue/info.json
+++ b/keyboards/studiokestra/nue/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nue",
+ "manufacturer": "Studio Kestra",
"url": "https://studiokestra.ca/nue",
"maintainer": "Studio Kestra",
+ "usb": {
+ "vid": "0x7C10",
+ "pid": "0x0701",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/studiokestra/nue/readme.md b/keyboards/studiokestra/nue/readme.md
index 42e72902e4..f29f27be22 100644
--- a/keyboards/studiokestra/nue/readme.md
+++ b/keyboards/studiokestra/nue/readme.md
@@ -11,7 +11,7 @@
There are 3 ways to put the board in bootloader mode:
- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
-- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
+- While the PCB is plugged into the PC, press the physical `QK_BOOT` button on the back of the board, OR
- With the default layout, toggle Layer 1 and press the `R` key.
## Compiling Firmware
diff --git a/keyboards/suavity/ehan/chconf.h b/keyboards/suavity/ehan/chconf.h
new file mode 100644
index 0000000000..35fb883183
--- /dev/null
+++ b/keyboards/suavity/ehan/chconf.h
@@ -0,0 +1,31 @@
+/* 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/acheron/austin/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
+
diff --git a/keyboards/suavity/ehan/config.h b/keyboards/suavity/ehan/config.h
new file mode 100644
index 0000000000..af31fd6385
--- /dev/null
+++ b/keyboards/suavity/ehan/config.h
@@ -0,0 +1,42 @@
+/*
+Copyright 2021 Suavity Designs <henry@suavity.cc>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, C14, B7, B6, B5, B4, B3, A15, C13, B9, B8 }
+// Matrix Column Pins: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16
+#define MATRIX_ROW_PINS { A7, B0, A3, A4, A5, A6 }
+// Matrix Row Pins: R0 R1 R2 R3 R4 R5
+#define DIODE_DIRECTION COL2ROW
+// Current flow out of the diodes are from rows to columns
+
+#define LED_CAPS_LOCK_PIN B11 // LED for Step Caps
+#define LED_SCROLL_LOCK_PIN F1 // LED Indicator for Scroll Lock
+#define LED_PIN_ON_STATE 1
+
+/* 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
+
diff --git a/keyboards/suavity/ehan/ehan.c b/keyboards/suavity/ehan/ehan.c
new file mode 100644
index 0000000000..cc5a9fdc4a
--- /dev/null
+++ b/keyboards/suavity/ehan/ehan.c
@@ -0,0 +1,3 @@
+// Copyright 2021 Henry Lum (@suavity)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "ehan.h"
diff --git a/keyboards/suavity/ehan/ehan.h b/keyboards/suavity/ehan/ehan.h
new file mode 100644
index 0000000000..fbc6d33a96
--- /dev/null
+++ b/keyboards/suavity/ehan/ehan.h
@@ -0,0 +1,75 @@
+// Copyright 2021 Henry Lum (@suavity)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+#define ___ KC_NO
+
+/*
+ * ┌───â”┌───┬───┬───┬───â”┌───┠┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │ │06 │07 │08 │09 ││0A │0B │0C │0D ││0E │0F │0G │
+ * └───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┠┌───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───┠┌───────â”
+ * │10 │11 │12 │13 │14 │15 │16 │ │17 │18 │19 │1A │1B │1C │1D │3E ││1E │1F │1G │ │3E │ 2u Backspace
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤
+ * │20 │21 │22 │23 │24 │25 │ │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ │ │
+ * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┠└┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴â”3D │ ISO Enter
+ * LShift │30 │31 │32 │33 │34 │35 │ │36 │37 │38 │39 │3A │3B │3C │ │3C │ │
+ * ┌────────┠├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┠┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┠┌─┴───┴────┤
+ * │40 │ │40 │41 │42 │43 │44 │45 │46 │ │47 │48 │49 │4A │4B │4C │4D │4E │ │4F │ │4D │ 2.75u RShift
+ * └────────┘ ├────┴┬──┴─┬─┴───┼───┼───┴───┤ ├───┴───┴───┼───┴─┬─┴─┬─┴──┬───┴─┬─┘┌───┼───┼───┠└──────────┘
+ * │50 │ │53 │54 │55 │ │58 │5A │5C │ │5D │ │5E │5F │5G │
+ * └─────┘ └─────┴───┴───────┘ └───────────┴─────┴───┘ └─────┘ └───┴───┴───┘
+ * ┌───────────┠┌──────────┬─────┬────â”
+ * 3u LSpace │55 │ │58 │5A │5C │ 2.75u/1.5u/1.25u
+ * └───────────┘ └──────────┴─────┴────┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \
+ K50, K53, K54, K55, K58, K5A, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___, }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, ___, }, \
+ { K50, ___, ___, K53, K54, K55, ___, ___, K58, ___, K5A, ___, K5C, K5D, K5E, K5F, K5G, } \
+}
+
+#define LAYOUT_ansi_split_bs_rshift_lspace( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \
+ K50, K53, K54, K55, K58, K5A, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___, K3E, ___, ___ }, \
+ { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, ___ }, \
+ { K50, ___, ___, K53, K54, K55, ___, ___, K58, ___, K5A, ___, K5C, K5D, K5E, K5F, K5G } \
+}
+
+#define LAYOUT_iso_split_bs_rshift_lspace( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \
+ K50, K53, K54, K55, K58, K5A, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, ___, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, ___ }, \
+ { K50, ___, ___, K53, K54, K55, ___, ___, K58, ___, K5A, ___, K5C, K5D, K5E, K5F, K5G } \
+}
diff --git a/keyboards/suavity/ehan/halconf.h b/keyboards/suavity/ehan/halconf.h
new file mode 100644
index 0000000000..79afc88c96
--- /dev/null
+++ b/keyboards/suavity/ehan/halconf.h
@@ -0,0 +1,26 @@
+/* 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
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/suavity/ehan/info.json b/keyboards/suavity/ehan/info.json
new file mode 100755
index 0000000000..aec9c84cf5
--- /dev/null
+++ b/keyboards/suavity/ehan/info.json
@@ -0,0 +1,316 @@
+{
+ "keyboard_name": "ehan",
+ "manufacturer": "Suavity Designs",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x5344",
+ "pid": "0x4548",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":8.5, "y":0},
+ {"label":"F7", "x":9.5, "y":0},
+ {"label":"F8", "x":10.5, "y":0},
+ {"label":"F9", "x":11.5, "y":0},
+ {"label":"F10", "x":13, "y":0},
+ {"label":"F11", "x":14, "y":0},
+ {"label":"F12", "x":15, "y":0},
+ {"label":"F13", "x":16, "y":0},
+ {"label":"PrtSc", "x":17.25, "y":0},
+ {"label":"Scroll Lock", "x":18.25, "y":0},
+ {"label":"Pause", "x":19.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":9, "y":1.5},
+ {"label":"8*", "x":10, "y":1.5},
+ {"label":"9(", "x":11, "y":1.5},
+ {"label":"0)", "x":12, "y":1.5},
+ {"label":"-_", "x":13, "y":1.5},
+ {"label":"=+", "x":14, "y":1.5},
+ {"label":"\\|", "x":15, "y":1.5},
+ {"label":"Backspace", "x":16, "y":1.5},
+ {"label":"Insert", "x":17.25, "y":1.5},
+ {"label":"Home", "x":18.25, "y":1.5},
+ {"label":"Page Up", "x":19.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":8.5, "y":2.5},
+ {"label":"U", "x":9.5, "y":2.5},
+ {"label":"I", "x":10.5, "y":2.5},
+ {"label":"O", "x":11.5, "y":2.5},
+ {"label":"P", "x":12.5, "y":2.5},
+ {"label":"[{", "x":13.5, "y":2.5},
+ {"label":"]}", "x":14.5, "y":2.5},
+ {"label":"\\|", "x":15.5, "y":2.5, "w":1.5},
+ {"label":"Delete", "x":17.25, "y":2.5},
+ {"label":"End", "x":18.25, "y":2.5},
+ {"label":"Page Down", "x":19.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":8.75, "y":3.5},
+ {"label":"J", "x":9.75, "y":3.5},
+ {"label":"K", "x":10.75, "y":3.5},
+ {"label":"L", "x":11.75, "y":3.5},
+ {"label":";:", "x":12.75, "y":3.5},
+ {"label":"'\"", "x":13.75, "y":3.5},
+ {"label":"#~", "x":14.75, "y":3.5},
+ {"label":"Enter", "x":15.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":"B", "x":8.25, "y":4.5},
+ {"label":"N", "x":9.25, "y":4.5},
+ {"label":"M", "x":10.25, "y":4.5},
+ {"label":",<", "x":11.25, "y":4.5},
+ {"label":".>", "x":12.25, "y":4.5},
+ {"label":"/?", "x":13.25, "y":4.5},
+ {"label":"Shift", "x":14.25, "y":4.5, "w":1.75},
+ {"label":"Fn", "x":16, "y":4.5},
+ {"label":"\u2191", "x":18.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.5},
+ {"label":"Alt", "x":2.75, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":4.25, "y":5.5},
+ {"label":"Space", "x":5.25, "y":5.5, "w":2},
+ {"label":"Space", "x":8.25, "y":5.5, "w":3},
+ {"label":"ALT", "x":11.25, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":12.75, "y":5.5, "w":1},
+ {"label":"Ctrl", "x":15, "y":5.5, "w":1.5},
+ {"label":"\u2190", "x":17.25, "y":5.5},
+ {"label":"\u2193", "x":18.25, "y":5.5},
+ {"label":"\u2193", "x":19.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_ansi_split_bs_rshift_lspace": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":8.5, "y":0},
+ {"label":"F7", "x":9.5, "y":0},
+ {"label":"F8", "x":10.5, "y":0},
+ {"label":"F9", "x":11.5, "y":0},
+ {"label":"F10", "x":13, "y":0},
+ {"label":"F11", "x":14, "y":0},
+ {"label":"F12", "x":15, "y":0},
+ {"label":"F13", "x":16, "y":0},
+ {"label":"PrtSc", "x":17.25, "y":0},
+ {"label":"Scroll Lock", "x":18.25, "y":0},
+ {"label":"Pause", "x":19.25, "y":0},
+
+ {"label":"`~", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2@", "x":2, "y":1.5},
+ {"label":"3#", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":9, "y":1.5},
+ {"label":"8*", "x":10, "y":1.5},
+ {"label":"9(", "x":11, "y":1.5},
+ {"label":"0)", "x":12, "y":1.5},
+ {"label":"-_", "x":13, "y":1.5},
+ {"label":"=+", "x":14, "y":1.5},
+ {"label":"\\|", "x":15, "y":1.5},
+ {"label":"Backspace", "x":16, "y":1.5},
+ {"label":"Insert", "x":17.25, "y":1.5},
+ {"label":"Home", "x":18.25, "y":1.5},
+ {"label":"Page Up", "x":19.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":8.5, "y":2.5},
+ {"label":"U", "x":9.5, "y":2.5},
+ {"label":"I", "x":10.5, "y":2.5},
+ {"label":"O", "x":11.5, "y":2.5},
+ {"label":"P", "x":12.5, "y":2.5},
+ {"label":"[{", "x":13.5, "y":2.5},
+ {"label":"]}", "x":14.5, "y":2.5},
+ {"label":"\\|", "x":15.5, "y":2.5, "w":1.5},
+ {"label":"Delete", "x":17.25, "y":2.5},
+ {"label":"End", "x":18.25, "y":2.5},
+ {"label":"Page Down", "x":19.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":8.75, "y":3.5},
+ {"label":"J", "x":9.75, "y":3.5},
+ {"label":"K", "x":10.75, "y":3.5},
+ {"label":"L", "x":11.75, "y":3.5},
+ {"label":";:", "x":12.75, "y":3.5},
+ {"label":"'\"", "x":13.75, "y":3.5},
+ {"label":"Enter", "x":14.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":"B", "x":8.25, "y":4.5},
+ {"label":"N", "x":9.25, "y":4.5},
+ {"label":"M", "x":10.25, "y":4.5},
+ {"label":",<", "x":11.25, "y":4.5},
+ {"label":".>", "x":12.25, "y":4.5},
+ {"label":"/?", "x":13.25, "y":4.5},
+ {"label":"Shift", "x":14.25, "y":4.5, "w":1.75},
+ {"label":"Fn", "x":16, "y":4.5},
+ {"label":"\u2191", "x":18.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.5},
+ {"label":"Alt", "x":2.75, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":4.25, "y":5.5},
+ {"label":"Space", "x":5.25, "y":5.5, "w":2},
+ {"label":"Space", "x":8.25, "y":5.5, "w":3},
+ {"label":"ALT", "x":11.25, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":12.75, "y":5.5, "w":1},
+ {"label":"Ctrl", "x":15, "y":5.5, "w":1.5},
+ {"label":"\u2190", "x":17.25, "y":5.5},
+ {"label":"\u2193", "x":18.25, "y":5.5},
+ {"label":"\u2193", "x":19.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_iso_split_bs_rshift_lspace": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":1.25, "y":0},
+ {"label":"F2", "x":2.25, "y":0},
+ {"label":"F3", "x":3.25, "y":0},
+ {"label":"F4", "x":4.25, "y":0},
+ {"label":"F5", "x":5.5, "y":0},
+ {"label":"F6", "x":8.5, "y":0},
+ {"label":"F7", "x":9.5, "y":0},
+ {"label":"F8", "x":10.5, "y":0},
+ {"label":"F9", "x":11.5, "y":0},
+ {"label":"F10", "x":13, "y":0},
+ {"label":"F11", "x":14, "y":0},
+ {"label":"F12", "x":15, "y":0},
+ {"label":"F13", "x":16, "y":0},
+ {"label":"PrtSc", "x":17.25, "y":0},
+ {"label":"Scroll Lock", "x":18.25, "y":0},
+ {"label":"Pause", "x":19.25, "y":0},
+
+ {"label":"`\u00ac", "x":0, "y":1.5},
+ {"label":"1!", "x":1, "y":1.5},
+ {"label":"2\"", "x":2, "y":1.5},
+ {"label":"3\u00a3", "x":3, "y":1.5},
+ {"label":"4$", "x":4, "y":1.5},
+ {"label":"5%", "x":5, "y":1.5},
+ {"label":"6^", "x":6, "y":1.5},
+ {"label":"7&", "x":9, "y":1.5},
+ {"label":"8*", "x":10, "y":1.5},
+ {"label":"9(", "x":11, "y":1.5},
+ {"label":"0)", "x":12, "y":1.5},
+ {"label":"-_", "x":13, "y":1.5},
+ {"label":"=+", "x":14, "y":1.5},
+ {"label":"\\|", "x":15, "y":1.5},
+ {"label":"Backspace", "x":16, "y":1.5},
+ {"label":"Insert", "x":17.25, "y":1.5},
+ {"label":"Home", "x":18.25, "y":1.5},
+ {"label":"Page Up", "x":19.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":8.5, "y":2.5},
+ {"label":"U", "x":9.5, "y":2.5},
+ {"label":"I", "x":10.5, "y":2.5},
+ {"label":"O", "x":11.5, "y":2.5},
+ {"label":"P", "x":12.5, "y":2.5},
+ {"label":"[{", "x":13.5, "y":2.5},
+ {"label":"]}", "x":14.5, "y":2.5},
+ {"label":"Delete", "x":17.25, "y":2.5},
+ {"label":"End", "x":18.25, "y":2.5},
+ {"label":"Page Down", "x":19.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":8.75, "y":3.5},
+ {"label":"J", "x":9.75, "y":3.5},
+ {"label":"K", "x":10.75, "y":3.5},
+ {"label":"L", "x":11.75, "y":3.5},
+ {"label":";:", "x":12.75, "y":3.5},
+ {"label":"'@", "x":13.75, "y":3.5},
+ {"label":"#~", "x":14.75, "y":3.5},
+ {"label":"Enter", "x":15.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":"B", "x":8.25, "y":4.5},
+ {"label":"N", "x":9.25, "y":4.5},
+ {"label":"M", "x":10.25, "y":4.5},
+ {"label":",<", "x":11.25, "y":4.5},
+ {"label":".>", "x":12.25, "y":4.5},
+ {"label":"/?", "x":13.25, "y":4.5},
+ {"label":"Shift", "x":14.25, "y":4.5, "w":1.75},
+ {"label":"Fn", "x":16, "y":4.5},
+ {"label":"\u2191", "x":18.25, "y":4.5},
+
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.5},
+ {"label":"Alt", "x":2.75, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":4.25, "y":5.5},
+ {"label":"Space", "x":5.25, "y":5.5, "w":2},
+ {"label":"Space", "x":8.25, "y":5.5, "w":3},
+ {"label":"ALT", "x":11.25, "y":5.5, "w":1.5},
+ {"label":"GUI", "x":12.75, "y":5.5, "w":1},
+ {"label":"Ctrl", "x":15, "y":5.5, "w":1.5},
+ {"label":"\u2190", "x":17.25, "y":5.5},
+ {"label":"\u2193", "x":18.25, "y":5.5},
+ {"label":"\u2192", "x":19.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/suavity/ehan/keymaps/default/keymap.c b/keyboards/suavity/ehan/keymaps/default/keymap.c
new file mode 100755
index 0000000000..ae18a22f9e
--- /dev/null
+++ b/keyboards/suavity/ehan/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2021 Suavity Designs <henry@suavity.cc>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_ansi_split_bs_rshift_lspace(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, KC_SPC, KC_RALT, KC_RWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_split_bs_rshift_lspace(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/suavity/ehan/keymaps/default_iso/keymap.c b/keyboards/suavity/ehan/keymaps/default_iso/keymap.c
new file mode 100644
index 0000000000..bcab38f589
--- /dev/null
+++ b/keyboards/suavity/ehan/keymaps/default_iso/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2021 Suavity Designs <henry@suavity.cc>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_iso_split_bs_rshift_lspace(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, KC_SPC, KC_RALT, KC_RWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_iso_split_bs_rshift_lspace(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/suavity/ehan/keymaps/via/keymap.c b/keyboards/suavity/ehan/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c0c887b95c
--- /dev/null
+++ b/keyboards/suavity/ehan/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/*
+Copyright 2021 Suavity Designs <henry@suavity.cc>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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_ansi_split_bs_rshift_lspace(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, KC_SPC, KC_RALT, KC_RWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_split_bs_rshift_lspace(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT_ansi_split_bs_rshift_lspace(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_ansi_split_bs_rshift_lspace(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/suavity/ehan/keymaps/via/rules.mk b/keyboards/suavity/ehan/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/suavity/ehan/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/suavity/ehan/mcuconf.h b/keyboards/suavity/ehan/mcuconf.h
new file mode 100644
index 0000000000..5cea69887f
--- /dev/null
+++ b/keyboards/suavity/ehan/mcuconf.h
@@ -0,0 +1,34 @@
+/* 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/acheron/austin/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+// #undef STM32_PWM_USE_TIM3
+// #define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
+
diff --git a/keyboards/suavity/ehan/readme.md b/keyboards/suavity/ehan/readme.md
new file mode 100644
index 0000000000..76d997f6ed
--- /dev/null
+++ b/keyboards/suavity/ehan/readme.md
@@ -0,0 +1,23 @@
+# ehan: A 10.5° Split TKL Keyboard designed by Suavity Designs | QMK Firmware
+
+![Imgur](https://i.imgur.com/bAiBbjgh.png)
+
+## Introduction
+
+ehan is a 10.5° Split TKL that supports 3U Spacebars,
+
+* Keyboard Maintainer: [Suavity Designs](https://github.com/suavity)
+* Hardware Supported: ARM STM32F072CBT6
+* Hardware Availability: [suavity.cc/ehan](https://suavity.cc/keyboards/ehan/)
+
+The latest iteration of the PCB is v3.00 as of 07/'21. This is noted on the back of the PCB.
+* Default Keymap: [See here](http://www.keyboard-layout-editor.com/#/gists/6504b0b388736213f43b64df1d576139)
+* PCB Supported Layouts: [See here](http://www.keyboard-layout-editor.com/#/gists/9aab5e15a89469138da760f968df26ae)
+
+## How to compile
+
+After setting up your build environment, you can compile the ehan default keymap by using:
+
+ make suavity/ehan: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/suavity/ehan/rules.mk b/keyboards/suavity/ehan/rules.mk
new file mode 100644
index 0000000000..9383acaf00
--- /dev/null
+++ b/keyboards/suavity/ehan/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/subatomic/config.h b/keyboards/subatomic/config.h
index d53805b62f..f1bf9769be 100644
--- a/keyboards/subatomic/config.h
+++ b/keyboards/subatomic/config.h
@@ -19,13 +19,6 @@ 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 0x6063
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ortholinear Keyboards
-#define PRODUCT The Subatomic Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, C6, C5 }
-#define UNUSED_PINS
// #define AUDIO_VOICES
// #define AUDIO_PIN C6
diff --git a/keyboards/subatomic/info.json b/keyboards/subatomic/info.json
index b4a18c3487..3b53a6ceda 100644
--- a/keyboards/subatomic/info.json
+++ b/keyboards/subatomic/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Subatomic",
+ "manufacturer": "OLKB",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6063",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x14": {
"layout": [
diff --git a/keyboards/subrezon/la_nc/config.h b/keyboards/subrezon/la_nc/config.h
index 6d5aad031a..3cd6391e16 100644
--- a/keyboards/subrezon/la_nc/config.h
+++ b/keyboards/subrezon/la_nc/config.h
@@ -5,11 +5,6 @@
#include "config_common.h"
-// USB device parameters
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1A7C
-#define DEVICE_VER 0x0100
-
// key matrix
#define MATRIX_ROWS 6
#define MATRIX_ROW_PINS {D3, F4, D2, B2, B5, B6}
@@ -17,7 +12,6 @@
#define MATRIX_COLS 10
#define MATRIX_COL_PINS {B3, B1, F7, F6, F5, D4, C6, D7, E6, B4}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/subrezon/la_nc/info.json b/keyboards/subrezon/la_nc/info.json
index d668d94b4b..f6ba95e261 100644
--- a/keyboards/subrezon/la_nc/info.json
+++ b/keyboards/subrezon/la_nc/info.json
@@ -1,6 +1,11 @@
{
"keyboard_name": "la_nc",
"url": "https://github.com/subrezon/la_nc",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1A7C",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/subrezon/la_nc/readme.md b/keyboards/subrezon/la_nc/readme.md
index 26a7b4d79a..7031b941fb 100644
--- a/keyboards/subrezon/la_nc/readme.md
+++ b/keyboards/subrezon/la_nc/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/superuser/ext/config.h b/keyboards/superuser/ext/config.h
index 77583a5825..84c71b0195 100644
--- a/keyboards/superuser/ext/config.h
+++ b/keyboards/superuser/ext/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5355
-#define PRODUCT_ID 0x4558
-#define DEVICE_VER 0x0001
-#define MANUFACTURER superuser
-#define PRODUCT ext
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { B2, B1, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6, B0, B3}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/superuser/ext/info.json b/keyboards/superuser/ext/info.json
index c19fc3a913..d19f1e524d 100644
--- a/keyboards/superuser/ext/info.json
+++ b/keyboards/superuser/ext/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ext",
+ "manufacturer": "superuser",
"url": "",
"maintainer": "kaylanm",
+ "usb": {
+ "vid": "0x5355",
+ "pid": "0x4558",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_tkl": "LAYOUT_all"
},
diff --git a/keyboards/superuser/frl/config.h b/keyboards/superuser/frl/config.h
index 47ff3decf7..021cb0f57d 100644
--- a/keyboards/superuser/frl/config.h
+++ b/keyboards/superuser/frl/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5355
-#define PRODUCT_ID 0x4652
-#define DEVICE_VER 0x0001
-#define MANUFACTURER superuser
-#define PRODUCT frl
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6, B0, B3}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/superuser/frl/info.json b/keyboards/superuser/frl/info.json
index d565bcde38..5a01d0a39d 100644
--- a/keyboards/superuser/frl/info.json
+++ b/keyboards/superuser/frl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "frl",
+ "manufacturer": "superuser",
"url": "",
"maintainer": "superuser",
+ "usb": {
+ "vid": "0x5355",
+ "pid": "0x4652",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl": {
"layout": [{"label":"~", "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":"Bksp", "x":13, "y":0}, {"label":"Bksp", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "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":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"Caps Lock", "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":1.25}, {"label":"|", "x":1.25, "y":3}, {"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":"Fn", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/superuser/tkl/config.h b/keyboards/superuser/tkl/config.h
index e60435e6c0..768cd26fa6 100644
--- a/keyboards/superuser/tkl/config.h
+++ b/keyboards/superuser/tkl/config.h
@@ -19,14 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5355
-#define PRODUCT_ID 0x544B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER superuser
-#define PRODUCT tkl
-
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -43,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2, D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6, B0, B3}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/superuser/tkl/info.json b/keyboards/superuser/tkl/info.json
index 4ffe528176..ff8a6b7895 100644
--- a/keyboards/superuser/tkl/info.json
+++ b/keyboards/superuser/tkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tkl",
+ "manufacturer": "superuser",
"url": "",
"maintainer": "kaylanm",
+ "usb": {
+ "vid": "0x5355",
+ "pid": "0x544B",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_tkl": "LAYOUT_all"
},
diff --git a/keyboards/swiftrax/retropad/config.h b/keyboards/swiftrax/retropad/config.h
index e604eda419..2031595fec 100644
--- a/keyboards/swiftrax/retropad/config.h
+++ b/keyboards/swiftrax/retropad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEB0C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Swiftrax
-#define PRODUCT Retropad
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 2
diff --git a/keyboards/swiftrax/retropad/info.json b/keyboards/swiftrax/retropad/info.json
index 6148e95edb..4e3137edb0 100644
--- a/keyboards/swiftrax/retropad/info.json
+++ b/keyboards/swiftrax/retropad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Retropad",
+ "manufacturer": "Swiftrax",
"url": "https://github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEB0C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,1", "x":0.5, "y":0}, {"label":"1,0", "x":0, "y":1.5}, {"label":"1,1", "x":1, "y":1.5}, {"label":"2,0", "x":0, "y":2.5}, {"label":"2,1", "x":1, "y":2.5}]
diff --git a/keyboards/switchplate/southpaw_65/config.h b/keyboards/switchplate/southpaw_65/config.h
index 20fe48eb9b..5e3724c330 100644
--- a/keyboards/switchplate/southpaw_65/config.h
+++ b/keyboards/switchplate/southpaw_65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4084
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Switchplate Peripherals
-#define PRODUCT Southpaw Extended 65%
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -41,7 +34,6 @@
*/
//#define MATRIX_ROW_PINS { D0, D5 }
//#define MATRIX_COL_PINS { F1, F0, B0 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/switchplate/southpaw_65/info.json b/keyboards/switchplate/southpaw_65/info.json
index ab8916ed3c..0a47fd95b2 100644
--- a/keyboards/switchplate/southpaw_65/info.json
+++ b/keyboards/switchplate/southpaw_65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Southpaw Extended 65%",
+ "manufacturer": "Switchplate Peripherals",
"url": "https://geekhack.org/index.php?topic=92344.0",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4084",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"Esc", "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":"(", "x":13, "y":0}, {"label":")", "x":14, "y":0}, {"label":"_", "x":15, "y":0}, {"label":"+", "x":16, "y":0}, {"label":"Backspace", "x":17, "y":0}, {"label":"Backspace", "x":18, "y":0}, {"label":"Home", "x":19, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"Tab", "x":4, "y":1, "w":1.5}, {"label":"Q", "x":5.5, "y":1}, {"label":"W", "x":6.5, "y":1}, {"label":"E", "x":7.5, "y":1}, {"label":"R", "x":8.5, "y":1}, {"label":"T", "x":9.5, "y":1}, {"label":"Y", "x":10.5, "y":1}, {"label":"U", "x":11.5, "y":1}, {"label":"I", "x":12.5, "y":1}, {"label":"O", "x":13.5, "y":1}, {"label":"P", "x":14.5, "y":1}, {"label":"{", "x":15.5, "y":1}, {"label":"}", "x":16.5, "y":1}, {"label":"|", "x":17.5, "y":1, "w":1.5}, {"label":"End", "x":19, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":2}, {"label":"Caps Lock", "x":4, "y":2, "w":1.75}, {"label":"A", "x":5.75, "y":2}, {"label":"S", "x":6.75, "y":2}, {"label":"D", "x":7.75, "y":2}, {"label":"F", "x":8.75, "y":2}, {"label":"G", "x":9.75, "y":2}, {"label":"H", "x":10.75, "y":2}, {"label":"J", "x":11.75, "y":2}, {"label":"K", "x":12.75, "y":2}, {"label":"L", "x":13.75, "y":2}, {"label":":", "x":14.75, "y":2}, {"label":"\"", "x":15.75, "y":2}, {"label":"~", "x":16.75, "y":2}, {"label":"Enter", "x":17.75, "y":2, "w":1.25}, {"label":"Page Up", "x":19, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Num Enter", "x":3, "y":3}, {"label":"LShift", "x":4, "y":3, "w":1.25}, {"label":"|", "x":5.25, "y":3}, {"label":"Z", "x":6.25, "y":3}, {"label":"X", "x":7.25, "y":3}, {"label":"C", "x":8.25, "y":3}, {"label":"V", "x":9.25, "y":3}, {"label":"B", "x":10.25, "y":3}, {"label":"N", "x":11.25, "y":3}, {"label":"M", "x":12.25, "y":3}, {"label":"<", "x":13.25, "y":3}, {"label":">", "x":14.25, "y":3}, {"label":"?", "x":15.25, "y":3}, {"label":"RShift", "x":16.25, "y":3, "w":1.75}, {"label":"Up", "x":18, "y":3}, {"label":"Page Down", "x":19, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"0", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Num Enter", "x":3, "y":4}, {"label":"LCtrl", "x":4, "y":4, "w":1.25}, {"label":"Win", "x":5.25, "y":4, "w":1.25}, {"label":"LAlt", "x":6.5, "y":4, "w":1.25}, {"label":"Space", "x":7.75, "y":4, "w":6.25}, {"label":"RAlt", "x":14, "y":4}, {"label":"RCtrl", "x":15, "y":4}, {"label":"Fn0", "x":16, "y":4}, {"label":"Left", "x":17, "y":4}, {"label":"Down", "x":18, "y":4}, {"label":"Right", "x":19, "y":4}]
diff --git a/keyboards/switchplate/southpaw_fullsize/config.h b/keyboards/switchplate/southpaw_fullsize/config.h
index fb407383ad..7b159eb5d6 100644
--- a/keyboards/switchplate/southpaw_fullsize/config.h
+++ b/keyboards/switchplate/southpaw_fullsize/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA103
-#define PRODUCT_ID 0x0017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Switchplate Peripherals
-#define PRODUCT Southpaw Fullsize
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 22
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E1, C0, C1, C2, C3, C4 }
#define MATRIX_COL_PINS { A7, C7, C6, C5, F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, E0, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/switchplate/southpaw_fullsize/info.json b/keyboards/switchplate/southpaw_fullsize/info.json
index 3c02cfdc1a..c90954ead7 100644
--- a/keyboards/switchplate/southpaw_fullsize/info.json
+++ b/keyboards/switchplate/southpaw_fullsize/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "southpaw_fullsize",
+ "keyboard_name": "Southpaw Fullsize",
+ "manufacturer": "Switchplate Peripherals",
"url": "",
"maintainer": "ai03",
+ "usb": {
+ "vid": "0xA103",
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/switchplate/switchplate910/config.h b/keyboards/switchplate/switchplate910/config.h
index e1e50411c4..4e63d15919 100644
--- a/keyboards/switchplate/switchplate910/config.h
+++ b/keyboards/switchplate/switchplate910/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x54F3
-#define PRODUCT_ID 0x2065
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Switchplate Peripherals
-#define PRODUCT 910
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F5, F6, F7, D1 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, B3, B2, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/switchplate/switchplate910/info.json b/keyboards/switchplate/switchplate910/info.json
index 748bd71c79..7d31742fae 100644
--- a/keyboards/switchplate/switchplate910/info.json
+++ b/keyboards/switchplate/switchplate910/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "southpaw910",
+ "keyboard_name": "910",
+ "manufacturer": "Switchplate Peripherals",
"url": "",
"maintainer": "MxBluE",
+ "usb": {
+ "vid": "0x54F3",
+ "pid": "0x2065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/sx60/config.h b/keyboards/sx60/config.h
index a2da819400..9ec51b0b58 100755
--- a/keyboards/sx60/config.h
+++ b/keyboards/sx60/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5154 // "QT"
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Quantrik
-#define PRODUCT SX60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -36,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// MCP23018 pinout:
// Rows: B4, B3, B2, B1, B0
// Cols: A0, A1, A2, A3, A4, A5, A6, A7
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/sx60/info.json b/keyboards/sx60/info.json
index 2e710b3c5a..dddc5873a8 100644
--- a/keyboards/sx60/info.json
+++ b/keyboards/sx60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SX60",
+ "manufacturer": "Quantrik",
"url": "",
"maintainer": "https://github.com/amnobis",
+ "usb": {
+ "vid": "0x5154",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":1.25, "y":0}, {"label":"1!", "x":2.25, "y":0}, {"label":"2@", "x":3.25, "y":0}, {"label":"3#", "x":4.25, "y":0}, {"label":"4$", "x":5.25, "y":0}, {"label":"5%", "x":6.25, "y":0}, {"label":"6^", "x":7.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":"\\|", "x":15.25, "y":0, "w":1}, {"label":"`~", "x":16.25, "y":0, "w":1}, {"label":"M1", "x":0, "y":1, "w":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"Backspace", "x":15.75, "y":1, "w":1.5}, {"label":"M2", "x":0, "y":2, "w":1}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "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":"ANSIEnter", "x":15, "y":2, "w":1}, {"label":"ISOEnter", "x":16, "y":2, "w":1.25}, {"label":"M3", "x":0, "y":3, "w":1}, {"label":"Shift", "x":1.25, "y":3, "w":1.25}, {"label":"\\|", "x":2.5, "y":3, "w":1}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.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.75}, {"label":"Fn", "x":16.25, "y":3, "w":1}, {"label":"M4", "x":0, "y":4, "w":1}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2}, {"x":7, "y":4, "w":1}, {"x":9, "y":4, "w":2.75}, {"label":"Alt", "x":11.75, "y":4, "w":1.25}, {"label":"Win", "x":13, "y":4, "w":1.25}, {"label":"Menu", "x":14.25, "y":4, "w":1}, {"label":"Ctrl", "x":15.25, "y":4, "w":1}, {"label":"Fn2", "x":16.25, "y":4, "w":1}]
diff --git a/keyboards/sx60/keymaps/amnobis/keymap.c b/keyboards/sx60/keymaps/amnobis/keymap.c
index 1fcfa3d429..014fed6cab 100644
--- a/keyboards/sx60/keymaps/amnobis/keymap.c
+++ b/keyboards/sx60/keymaps/amnobis/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SPC, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
LAYOUT_ansi_split_bs_rshift(
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_LPRN, KC_RPRN, KC_GRV, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/synapse/config.h b/keyboards/synapse/config.h
index 809194afe8..b4311c1402 100644
--- a/keyboards/synapse/config.h
+++ b/keyboards/synapse/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7170
-#define PRODUCT_ID 0x5359
-#define DEVICE_VER 0x0001
-#define MANUFACTURER drmmr
-#define PRODUCT synapse
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -34,7 +27,6 @@
#define MATRIX_COL_PINS \
{ F0, D4, F5, B1, B2, B3, B7, D0, D1, D2, D3, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/synapse/info.json b/keyboards/synapse/info.json
index c7b8611256..b9acdae09d 100644
--- a/keyboards/synapse/info.json
+++ b/keyboards/synapse/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "synapse",
+ "manufacturer": "drmmr",
"url": "",
"maintainer": "qpockets",
+ "usb": {
+ "vid": "0x7170",
+ "pid": "0x5359",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/synapse/keymaps/7u_space/keymap.c b/keyboards/synapse/keymaps/7u_space/keymap.c
index 00ec4b30c1..1791db3abe 100644
--- a/keyboards/synapse/keymaps/7u_space/keymap.c
+++ b/keyboards/synapse/keymaps/7u_space/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_NAV] = LAYOUT_7u_space(
- RESET, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_BSPC, KC_TRNS,
KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_F4, KC_F5, KC_F6, KC_F7, KC_TAB,
KC_LCAP, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/synapse/readme.md b/keyboards/synapse/readme.md
index 1e4642881f..f98fee8e42 100644
--- a/keyboards/synapse/readme.md
+++ b/keyboards/synapse/readme.md
@@ -23,5 +23,5 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
*
diff --git a/keyboards/synthlabs/solo/config.h b/keyboards/synthlabs/solo/config.h
index 02fbd7abe0..112d12d1ee 100644
--- a/keyboards/synthlabs/solo/config.h
+++ b/keyboards/synthlabs/solo/config.h
@@ -5,10 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define MANUFACTURER Synth Labs
-#define PRODUCT Solo
-
#define ENCODERS 1
#define ENCODER_RESOLUTION 4
#define ENCODERS_PAD_A { B2 }
@@ -20,8 +16,6 @@
#define MATRIX_ROWS 3
#define MATRIX_COLS 7
-#define QMK_KEYS_PER_SCAN 17
-
/*
* Force NKRO
*
diff --git a/keyboards/synthlabs/solo/info.json b/keyboards/synthlabs/solo/info.json
index 18a144a8b3..3fd7b1b8f3 100644
--- a/keyboards/synthlabs/solo/info.json
+++ b/keyboards/synthlabs/solo/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "Synth Labs Solo",
+ "keyboard_name": "Solo",
+ "manufacturer": "Synth Labs",
"url": "http://solo.synthlabs.io",
"maintainer": "hongaaronc",
"bootloader": "atmel-dfu",
@@ -15,7 +16,7 @@
"usb": {
"vid": "0x534E",
"pid": "0x3031",
- "device_ver": "0x0001"
+ "device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/synthlabs/solo/readme.md b/keyboards/synthlabs/solo/readme.md
index 204bc3857f..4e911cecc0 100644
--- a/keyboards/synthlabs/solo/readme.md
+++ b/keyboards/synthlabs/solo/readme.md
@@ -24,5 +24,5 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (1,1) in the matrix (the rotary encoder button) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
*
diff --git a/keyboards/system76/launch_1/config.h b/keyboards/system76/launch_1/config.h
index 19752d58de..50a6e6f9d7 100644
--- a/keyboards/system76/launch_1/config.h
+++ b/keyboards/system76/launch_1/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-// USB device descriptor parameter
-#define VENDOR_ID 0x3384
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER System76
-#define PRODUCT Launch Configurable Keyboard (launch_1)
-
// Key matrix size
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -37,7 +30,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D7, C7, C6, B6, B5, B4, D6, D4, E6, D5, D3, D2, B7, B0 }
-#define UNUSED_PINS
/*
* Diode Direction
diff --git a/keyboards/system76/launch_1/info.json b/keyboards/system76/launch_1/info.json
index 10d39cc758..e369a4d304 100644
--- a/keyboards/system76/launch_1/info.json
+++ b/keyboards/system76/launch_1/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "System76 Launch Configurable Keyboard (launch_1)",
+ "keyboard_name": "Launch Configurable Keyboard (launch_1)",
+ "manufacturer": "System76",
"url": "https://system76.com/accessories/launch",
+ "usb": {
+ "vid": "0x3384",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
index 74288edf03..fd780f6fee 100644
--- a/keyboards/system76/launch_1/launch_1.c
+++ b/keyboards/system76/launch_1/launch_1.c
@@ -182,7 +182,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
switch (keycode) {
- case RESET:
+ case QK_BOOT:
if (record->event.pressed) {
system76_ec_unlock();
}
diff --git a/keyboards/system76/launch_1/readme.md b/keyboards/system76/launch_1/readme.md
index 1dcdeccc39..f012f86160 100644
--- a/keyboards/system76/launch_1/readme.md
+++ b/keyboards/system76/launch_1/readme.md
@@ -58,5 +58,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard.
-- **Keycode in layout**: Press the key mapped to `RESET` in the second layer (Escape).
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` in the second layer (Escape).
- **Electrical reset**: Briefly short AVR ISP's GND (6) and RST (5) pads on the back of the PCB.
diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c
index 7fff780e58..f6c8af82fe 100644
--- a/keyboards/system76/system76_ec.c
+++ b/keyboards/system76/system76_ec.c
@@ -87,6 +87,7 @@ bool system76_ec_is_unlocked(void) { return bootloader_unlocked; }
enum Mode {
MODE_SOLID_COLOR = 0,
MODE_PER_KEY,
+ #ifndef DISABLE_RGB_MATRIX_ANIMATIONS
MODE_CYCLE_ALL,
MODE_CYCLE_LEFT_RIGHT,
MODE_CYCLE_UP_DOWN,
@@ -98,6 +99,7 @@ enum Mode {
MODE_RAINDROPS,
MODE_SPLASH,
MODE_MULTISPLASH,
+ #endif // DISABLE_RGB_MATRIX_ANIMATIONS
MODE_ACTIVE_KEYS,
MODE_DISABLED,
MODE_LAST,
@@ -107,6 +109,7 @@ enum Mode {
static enum rgb_matrix_effects mode_map[] = {
RGB_MATRIX_SOLID_COLOR,
RGB_MATRIX_CUSTOM_raw_rgb,
+ #ifndef DISABLE_RGB_MATRIX_ANIMATIONS
RGB_MATRIX_CYCLE_ALL,
RGB_MATRIX_CYCLE_LEFT_RIGHT,
RGB_MATRIX_CYCLE_UP_DOWN,
@@ -118,6 +121,7 @@ static enum rgb_matrix_effects mode_map[] = {
RGB_MATRIX_RAINDROPS,
RGB_MATRIX_SPLASH,
RGB_MATRIX_MULTISPLASH,
+ #endif // DISABLE_RGB_MATRIX_ANIMATIONS
RGB_MATRIX_CUSTOM_active_keys,
RGB_MATRIX_NONE,
};
diff --git a/keyboards/tada68/config.h b/keyboards/tada68/config.h
index 2e035e08af..2aac9d3174 100755
--- a/keyboards/tada68/config.h
+++ b/keyboards/tada68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5441
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0003
-#define MANUFACTURER TADA
-#define PRODUCT TADA68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {D0,D1,F6,F7,D5}
#define MATRIX_COL_PINS {F0,F1,E6,C7,C6,B7,D4,B1,B0,B5,B4,D7,D6,B3,F4}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tada68/info.json b/keyboards/tada68/info.json
index e84b560d76..8e7ecc0695 100644
--- a/keyboards/tada68/info.json
+++ b/keyboards/tada68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Tada68",
+ "keyboard_name": "TADA68",
+ "manufacturer": "TADA",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5441",
+ "pid": "0x0001",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/tada68/keymaps/iso-nor/keymap.c b/keyboards/tada68/keymaps/iso-nor/keymap.c
index ae0fccccc8..c4d8978716 100644
--- a/keyboards/tada68/keymaps/iso-nor/keymap.c
+++ b/keyboards/tada68/keymaps/iso-nor/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL1: Function Layer
* ,----------------------------------------------------------------.
- * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| RESET|PSCR|
+ * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| QK_BOOT|PSCR|
* |----------------------------------------------------------------|
* | | | Up| | | | | | | | |BL-|BL+|BL | INS|
* |----------------------------------------------------------------|
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------'
*/
[_FL] = LAYOUT_iso(
- _______, 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, KC_PSCR, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR, \
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, _______, KC_INS, \
_______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_END, \
diff --git a/keyboards/tada68/keymaps/isoish/keymap.c b/keyboards/tada68/keymaps/isoish/keymap.c
index adbf32251b..69b382e1c2 100644
--- a/keyboards/tada68/keymaps/isoish/keymap.c
+++ b/keyboards/tada68/keymaps/isoish/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _FL1: Function Layer 1
* ,----------------------------------------------------------------.
- * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| RESET|PSCR|
+ * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| QK_BOOT|PSCR|
* |----------------------------------------------------------------|
* | | | | | | | | | | | |BL-|BL+|BL | INS|
* |----------------------------------------------------------------|
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------'
*/
[_FL] = LAYOUT_ansi_split_enter(
- _______, 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, KC_PSCR, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG, KC_INS, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_END, \
diff --git a/keyboards/tada68/keymaps/rys/keymap.c b/keyboards/tada68/keymaps/rys/keymap.c
index 012f2cc05c..118c30c4e7 100644
--- a/keyboards/tada68/keymaps/rys/keymap.c
+++ b/keyboards/tada68/keymaps/rys/keymap.c
@@ -64,6 +64,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_BTN1, KC_UP, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, \
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, QSTOKEN, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, KC_MS_U, KC_END, \
- _______, _______, _______, RESET, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
),
};
diff --git a/keyboards/tada68/keymaps/tokyovigilante/keymap.c b/keyboards/tada68/keymaps/tokyovigilante/keymap.c
index 13159c0d4c..3bf18d357b 100644
--- a/keyboards/tada68/keymaps/tokyovigilante/keymap.c
+++ b/keyboards/tada68/keymaps/tokyovigilante/keymap.c
@@ -3,5 +3,5 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = 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_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_ansi(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R),
- [2] = LAYOUT_ansi(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
+ [2] = LAYOUT_ansi(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
};
diff --git a/keyboards/tada68/keymaps/tokyovigilante/layers.json b/keyboards/tada68/keymaps/tokyovigilante/layers.json
index d6604042e3..e3d20aed88 100644
--- a/keyboards/tada68/keymaps/tokyovigilante/layers.json
+++ b/keyboards/tada68/keymaps/tokyovigilante/layers.json
@@ -1 +1 @@
-[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_GRV", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_TRNS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_DEL", "KC_INS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_HOME", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "BL_DEC", "BL_TOGG", "BL_INC", "KC_TRNS", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_TRNS", "MO(2)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "RESET", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]] \ No newline at end of file
+[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_GRV", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_TRNS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_DEL", "KC_INS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_HOME", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "BL_DEC", "BL_TOGG", "BL_INC", "KC_TRNS", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_TRNS", "MO(2)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]] \ No newline at end of file
diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h
index d6840ca682..aa675c32ad 100644
--- a/keyboards/takashicompany/center_enter/config.h
+++ b/keyboards/takashicompany/center_enter/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0012
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT Center x Enter
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D7, B2, B6, D0, D4, C6}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/center_enter/info.json b/keyboards/takashicompany/center_enter/info.json
index cd7861f453..c9ecdb67ec 100644
--- a/keyboards/takashicompany/center_enter/info.json
+++ b/keyboards/takashicompany/center_enter/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Center x Enter",
+ "manufacturer": "takashicompany",
"url": "",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/center_enter/readme.md b/keyboards/takashicompany/center_enter/readme.md
index d8db5cc7eb..1a7f16ac68 100644
--- a/keyboards/takashicompany/center_enter/readme.md
+++ b/keyboards/takashicompany/center_enter/readme.md
@@ -26,4 +26,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/compacx/config.h b/keyboards/takashicompany/compacx/config.h
index 1db4a7357a..10c70e472b 100644
--- a/keyboards/takashicompany/compacx/config.h
+++ b/keyboards/takashicompany/compacx/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0014
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT Compacx
-
/* key matrix size */
#define MATRIX_ROWS 5 * 2
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/compacx/info.json b/keyboards/takashicompany/compacx/info.json
index 431579feb1..7690d3c333 100644
--- a/keyboards/takashicompany/compacx/info.json
+++ b/keyboards/takashicompany/compacx/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Compacx",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/compacx",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0014",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/compacx/readme.md b/keyboards/takashicompany/compacx/readme.md
index ac5cfee169..6aca4b45f8 100644
--- a/keyboards/takashicompany/compacx/readme.md
+++ b/keyboards/takashicompany/compacx/readme.md
@@ -26,4 +26,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/dogtag/config.h b/keyboards/takashicompany/dogtag/config.h
index bc4c44d24c..adcf8d7321 100644
--- a/keyboards/takashicompany/dogtag/config.h
+++ b/keyboards/takashicompany/dogtag/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0018
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT DogTag
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS_RIGHT { B2, B6, B3 }
#define MATRIX_COL_PINS_RIGHT { B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/dogtag/info.json b/keyboards/takashicompany/dogtag/info.json
index 72bd5eb136..b9f82c26cb 100644
--- a/keyboards/takashicompany/dogtag/info.json
+++ b/keyboards/takashicompany/dogtag/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "DogTag",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/dogtag",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0018",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/dogtag/readme.md b/keyboards/takashicompany/dogtag/readme.md
index a68ea6f53b..3947e4b807 100644
--- a/keyboards/takashicompany/dogtag/readme.md
+++ b/keyboards/takashicompany/dogtag/readme.md
@@ -34,4 +34,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/endzone34/config.h b/keyboards/takashicompany/endzone34/config.h
index c2c9e04200..f74b828516 100644
--- a/keyboards/takashicompany/endzone34/config.h
+++ b/keyboards/takashicompany/endzone34/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT EndZone34
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B3, B2, B6, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/endzone34/info.json b/keyboards/takashicompany/endzone34/info.json
index a70799b39b..2284f7a3b4 100644
--- a/keyboards/takashicompany/endzone34/info.json
+++ b/keyboards/takashicompany/endzone34/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "EndZone34",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/endzone34",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/goat51/info.json b/keyboards/takashicompany/goat51/info.json
new file mode 100644
index 0000000000..b87b08161e
--- /dev/null
+++ b/keyboards/takashicompany/goat51/info.json
@@ -0,0 +1,498 @@
+{
+ "manufacturer": "takashicompany",
+ "keyboard_name": "GOAT51",
+ "maintainer": "takashicompany",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "encoder": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": [
+ "D4",
+ "C6",
+ "D7",
+ "E6",
+ "B4",
+ "B5",
+ "D2"
+ ],
+ "rows": [
+ "F4",
+ "F5",
+ "F6",
+ "F7",
+ "B1",
+ "B3",
+ "B2",
+ "B6"
+ ]
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "D1", "pin_b": "D0" }
+ ]
+ },
+ "url": "https://github.com/takashicompany/goat51",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0029",
+ "vid": "0x7463"
+ },
+ "rgblight": {
+ "led_count": 11,
+ "pin": "D3",
+ "hue_steps": 10,
+ "saturation_steps": 17,
+ "brightness_steps": 17,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0.5
+ },
+ {
+ "matrix": [
+ 0,
+ 1
+ ],
+ "x": 1,
+ "y": 0.5
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 2,
+ "y": 0.25
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 1
+ ],
+ "x": 10,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 13,
+ "y": 0.25
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 14,
+ "y": 0.5
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 15,
+ "y": 0.5
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 1,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 2,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 3,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 4,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 5,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 7.5,
+ "y": 0.5
+ },
+ {
+ "matrix": [
+ 5,
+ 1
+ ],
+ "x": 10,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 5,
+ 2
+ ],
+ "x": 11,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 5,
+ 3
+ ],
+ "x": 12,
+ "y": 1
+ },
+ {
+ "matrix": [
+ 5,
+ 4
+ ],
+ "x": 13,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 5
+ ],
+ "x": 14,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 5,
+ 6
+ ],
+ "x": 15,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 0,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 1,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 2,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 3,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 5,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 6,
+ 1
+ ],
+ "x": 10,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 6,
+ 2
+ ],
+ "x": 11,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 6,
+ 3
+ ],
+ "x": 12,
+ "y": 2
+ },
+ {
+ "matrix": [
+ 6,
+ 4
+ ],
+ "x": 13,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 6,
+ 5
+ ],
+ "x": 14,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 6,
+ 6
+ ],
+ "x": 15,
+ "y": 2.5
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 0,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 1,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 2,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 3,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 3,
+ 4
+ ],
+ "x": 4,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 5,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 6,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 7,
+ 0
+ ],
+ "x": 9,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 7,
+ 1
+ ],
+ "x": 10,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 7,
+ 2
+ ],
+ "x": 11,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 7,
+ 3
+ ],
+ "x": 12,
+ "y": 3
+ },
+ {
+ "matrix": [
+ 7,
+ 4
+ ],
+ "x": 13,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 7,
+ 5
+ ],
+ "x": 14,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 7,
+ 6
+ ],
+ "x": 15,
+ "y": 3.5
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 7,
+ "y": 1.5
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 8,
+ "y": 1.5
+ }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/takashicompany/goat51/keymaps/default/keymap.c b/keyboards/takashicompany/goat51/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4e2c0e2d57
--- /dev/null
+++ b/keyboards/takashicompany/goat51/keymaps/default/keymap.c
@@ -0,0 +1,123 @@
+// Copyright 2022 takashicompany (@takashicompany)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ GOAT51 = SAFE_RANGE,
+ WEB,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // 0: JIS-Alphabet
+ LAYOUT(
+ KC_ESC, LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, GOAT51, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT,
+ KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL,
+ TG(6), KC_PGUP, KC_PGDN, KC_LCTL, KC_LGUI, ALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_PGDN, KC_PGUP
+ ),
+
+ // 1: JIS-Num
+ LAYOUT(
+ KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, GOAT51, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: JIS-Shift-Num
+ LAYOUT(
+ KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), GOAT51, KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 3: US-Alphabet
+ LAYOUT(
+ KC_TRNS, LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
+ KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, GOAT51, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS,
+ TG(6), KC_PGUP, KC_PGDN, KC_LCTL, KC_LGUI, ALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_PGDN, KC_PGUP
+ ),
+
+ // 4: US-Num
+ LAYOUT(
+ KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, GOAT51, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN, KC_TRNS,
+ KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: US-Shift-Num
+ LAYOUT(
+ KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS,
+ KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, GOAT51, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 6: Cursor
+ LAYOUT(
+ KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PCMM, GOAT51, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_P1), KC_P2, KC_P3, KC_PMNS, KC_KP_EQUAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ TG(6), KC_P0, KC_PDOT, KC_PENT, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 7: Function
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, GOAT51, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(8), MO(9), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 8: LED
+ LAYOUT(
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, DF(0), DF(3), KC_TRNS,
+ KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, GOAT51, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case GOAT51:
+ if (record->event.pressed) {
+ SEND_STRING("GOAT51");
+ rgblight_toggle();
+ }
+ return false;
+
+ case WEB:
+ if (record->event.pressed) {
+ SEND_STRING("github.com/takashicompany/goat51");
+ }
+ return false;
+ }
+
+ return true;
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+
+ if (clockwise) {
+ tap_code(KC_MS_WH_DOWN);
+ } else {
+ tap_code(KC_MS_WH_UP);
+ }
+
+ return true;
+} \ No newline at end of file
diff --git a/keyboards/takashicompany/goat51/keymaps/via/config.h b/keyboards/takashicompany/goat51/keymaps/via/config.h
new file mode 100644
index 0000000000..dc91fa69c2
--- /dev/null
+++ b/keyboards/takashicompany/goat51/keymaps/via/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 takashicompany (@takashicompany)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 7 \ No newline at end of file
diff --git a/keyboards/takashicompany/goat51/keymaps/via/keymap.c b/keyboards/takashicompany/goat51/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6adb87dc32
--- /dev/null
+++ b/keyboards/takashicompany/goat51/keymaps/via/keymap.c
@@ -0,0 +1,106 @@
+// Copyright 2022 takashicompany (@takashicompany)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ GOAT51 = SAFE_RANGE,
+ WEB,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // 0: JIS-Alphabet
+ LAYOUT(
+ KC_ESC, LT(4, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, LT(3, KC_D), KC_F, KC_G, GOAT51, KC_H, KC_J, LT(3, KC_K), KC_L, KC_ENT, KC_ENT,
+ KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL,
+ TG(3), KC_PGUP, KC_PGDN, KC_LCTL, KC_LGUI, ALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_PGDN, KC_PGUP
+ ),
+
+ // 1: JIS-Num
+ LAYOUT(
+ KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, GOAT51, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: JIS-Shift-Num
+ LAYOUT(
+ KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), GOAT51, KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 3: Cursor
+ LAYOUT(
+ KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PCMM, GOAT51, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_P1), KC_P2, KC_P3, KC_PMNS, KC_KP_EQUAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ TG(3), KC_P0, KC_PDOT, KC_PENT, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ // 4: Function
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, GOAT51, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(5), MO(6), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: LED
+ LAYOUT(
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, GOAT51, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS
+ ),
+
+ 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, KC_TRNS
+ ),
+
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case GOAT51:
+ if (record->event.pressed) {
+ SEND_STRING("GOAT51");
+ rgblight_toggle();
+ }
+ return false;
+
+ case WEB:
+ if (record->event.pressed) {
+ SEND_STRING("github.com/takashicompany/goat51");
+ }
+ return false;
+ }
+
+ return true;
+}
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif \ No newline at end of file
diff --git a/keyboards/takashicompany/goat51/keymaps/via/rules.mk b/keyboards/takashicompany/goat51/keymaps/via/rules.mk
new file mode 100644
index 0000000000..4253f570f0
--- /dev/null
+++ b/keyboards/takashicompany/goat51/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/takashicompany/goat51/readme.md b/keyboards/takashicompany/goat51/readme.md
new file mode 100644
index 0000000000..b2edaa157e
--- /dev/null
+++ b/keyboards/takashicompany/goat51/readme.md
@@ -0,0 +1,40 @@
+# ðŸ GOAT51
+
+![takashicompany/GOAT51](https://i.imgur.com/7xD9a4zh.jpg)
+
+GOAT51ã¯51キーã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã§ã™ã€‚
+特徴的ãªæ”¾å°„状ã®ã‚­ãƒ¼ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã¯æŒ‡ã‚’自然ã«ç½®ãã“ã¨ãŒã§ãã€åŠ¹çŽ‡çš„ãªå…¥åŠ›ãŒå¯èƒ½ã§ã™ã€‚
+MX互æ›ã®ã‚­ãƒ¼ã‚¹ã‚¤ãƒƒãƒã¨Choc v1キースイッãƒã®å–り付ã‘ã«å¯¾å¿œã—ã¦ãŠã‚Šã¾ã™ã€‚
+ã¾ãŸPCBã«ã‚­ãƒ¼ã‚¹ã‚¤ãƒƒãƒã‚½ã‚±ãƒƒãƒˆã‚’å–り付ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã€å®¹æ˜“ã«ã‚­ãƒ¼ã‚¹ã‚¤ãƒƒãƒã®äº¤æ›ãŒã§ãã¾ã™ã€‚
+キーボードã®ä¸­å¤®ã«ã¯ãŠæ°—ã«å…¥ã‚Šã®ã‚­ãƒ¼ã‚­ãƒ£ãƒƒãƒ—ã‚’å–り付ã‘る専用スペースãŒã‚ã‚Šã€ã‚¢ãƒ«ãƒã‚¶ãƒ³ã‚­ãƒ¼ã‚­ãƒ£ãƒƒãƒ—ã‚„ãŠæ°—ã«å…¥ã‚Šã®ã‚­ãƒ¼ã‚­ãƒ£ãƒƒãƒ—を飾るã“ã¨ãŒã§ãã¾ã™ã€‚
+実ã¯ãã“ã«ã¯ãƒ­ãƒ¼ã‚¿ãƒªãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ€ã‚’ç½®ãã“ã¨ã‚‚ã§ãã¡ã‚ƒã„ã¾ã™ã€‚
+
+---
+GOAT51 is a 51-key keyboard.
+The distinctive radial key layout allows the fingers to be placed naturally for efficient typing.
+It supports the installation of MX compatible key switches and Choc v1 key switches.
+A key switch socket can also be installed on the PCB for easy keyswitch replacement.
+There is a dedicated space in the center of the keyboard for mounting your favorite keycaps, allowing you to display Artisan keycaps or your favorite keycaps.
+In fact, you can even place a rotary encoder there.
+
+* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
+* Hardware Supported: GOAT51 PCB, Pro Micro
+* Hardware Availability: https://github.com/takashicompany/goat51
+
+Make example for this keyboard (after setting up your build environment):
+
+ make takashicompany/goat51:default
+
+Flashing example for this keyboard:
+
+ make takashicompany/goat51:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/goat51/rules.mk b/keyboards/takashicompany/goat51/rules.mk
new file mode 100644
index 0000000000..7ff128fa69
--- /dev/null
+++ b/keyboards/takashicompany/goat51/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/takashicompany/heavy_left/config.h b/keyboards/takashicompany/heavy_left/config.h
index 4c3138fc8e..fa31dccb90 100644
--- a/keyboards/takashicompany/heavy_left/config.h
+++ b/keyboards/takashicompany/heavy_left/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0015
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT Heavy Left
-
/* key matrix size */
#define MATRIX_ROWS 5 * 2
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D1, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/heavy_left/info.json b/keyboards/takashicompany/heavy_left/info.json
index 878618e63d..6f04de1738 100644
--- a/keyboards/takashicompany/heavy_left/info.json
+++ b/keyboards/takashicompany/heavy_left/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "heavy_left",
+ "keyboard_name": "Heavy Left",
+ "manufacturer": "takashicompany",
"url": "",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0015",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/heavy_left/readme.md b/keyboards/takashicompany/heavy_left/readme.md
index 4cd0e1b0cc..a048103f84 100644
--- a/keyboards/takashicompany/heavy_left/readme.md
+++ b/keyboards/takashicompany/heavy_left/readme.md
@@ -30,4 +30,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/minizone/config.h b/keyboards/takashicompany/minizone/config.h
index 73a85e2d9f..0c8def659f 100644
--- a/keyboards/takashicompany/minizone/config.h
+++ b/keyboards/takashicompany/minizone/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0021
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT miniZone
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 7
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/minizone/info.json b/keyboards/takashicompany/minizone/info.json
index 75e0c6258e..51fb57276c 100644
--- a/keyboards/takashicompany/minizone/info.json
+++ b/keyboards/takashicompany/minizone/info.json
@@ -1,239 +1,58 @@
{
"keyboard_name": "miniZone",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/minizone",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0021",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
- {
- "x": 1.68,
- "y": 0,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 7.56,
- "y": 0,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0.84,
- "y": 0.21,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 2.52,
- "y": 0.21,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 6.72,
- "y": 0.21,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 8.4,
- "y": 0.21,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0,
- "y": 0.42,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 3.36,
- "y": 0.42,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 5.88,
- "y": 0.42,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 9.24,
- "y": 0.42,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 1.68,
- "y": 0.84,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 7.56,
- "y": 0.84,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0.84,
- "y": 1.05,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 2.52,
- "y": 1.05,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 6.72,
- "y": 1.05,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 8.4,
- "y": 1.05,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0,
- "y": 1.26,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 3.36,
- "y": 1.26,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 5.88,
- "y": 1.26,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 9.24,
- "y": 1.26,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 1.68,
- "y": 1.68,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 7.56,
- "y": 1.68,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0.84,
- "y": 1.89,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 2.52,
- "y": 1.89,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 6.72,
- "y": 1.89,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 8.4,
- "y": 1.89,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 0,
- "y": 2.1,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 3.36,
- "y": 2.1,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 5.88,
- "y": 2.1,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 9.24,
- "y": 2.1,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 1.68,
- "y": 2.52,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 7.56,
- "y": 2.52,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 2.52,
- "y": 2.73,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 6.72,
- "y": 2.73,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 3.36,
- "y": 2.94,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 4.2,
- "y": 2.94,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 5.04,
- "y": 2.94,
- "w": 0.84,
- "h": 0.84
- },
- {
- "x": 5.88,
- "y": 2.94,
- "w": 0.84,
- "h": 0.84
- }
+ { "x": 0, "y": 0.42, "w": 0.84, "h": 0.84 },
+ { "x": 0.84, "y": 0.21, "w": 0.84, "h": 0.84 },
+ { "x": 1.68, "y": 0, "w": 0.84, "h": 0.84 },
+ { "x": 2.52, "y": 0.21, "w": 0.84, "h": 0.84 },
+ { "x": 3.36, "y": 0.42, "w": 0.84, "h": 0.84 },
+ { "x": 5.88, "y": 0.42, "w": 0.84, "h": 0.84 },
+ { "x": 6.72, "y": 0.21, "w": 0.84, "h": 0.84 },
+ { "x": 7.56, "y": 0, "w": 0.84, "h": 0.84 },
+ { "x": 8.4, "y": 0.21, "w": 0.84, "h": 0.84 },
+ { "x": 9.24, "y": 0.42, "w": 0.84, "h": 0.84 },
+
+ { "x": 0, "y": 1.26, "w": 0.84, "h": 0.84 },
+ { "x": 0.84, "y": 1.05, "w": 0.84, "h": 0.84 },
+ { "x": 1.68, "y": 0.84, "w": 0.84, "h": 0.84 },
+ { "x": 2.52, "y": 1.05, "w": 0.84, "h": 0.84 },
+ { "x": 3.36, "y": 1.26, "w": 0.84, "h": 0.84 },
+ { "x": 5.88, "y": 1.26, "w": 0.84, "h": 0.84 },
+ { "x": 6.72, "y": 1.05, "w": 0.84, "h": 0.84 },
+ { "x": 7.56, "y": 0.84, "w": 0.84, "h": 0.84 },
+ { "x": 8.4, "y": 1.05, "w": 0.84, "h": 0.84 },
+ { "x": 9.24, "y": 1.26, "w": 0.84, "h": 0.84 },
+
+ { "x": 0, "y": 2.1, "w": 0.84, "h": 0.84 },
+ { "x": 0.84, "y": 1.89, "w": 0.84, "h": 0.84 },
+ { "x": 1.68, "y": 1.68, "w": 0.84, "h": 0.84 },
+ { "x": 2.52, "y": 1.89, "w": 0.84, "h": 0.84 },
+ { "x": 3.36, "y": 2.1, "w": 0.84, "h": 0.84 },
+ { "x": 5.88, "y": 2.1, "w": 0.84, "h": 0.84 },
+ { "x": 6.72, "y": 1.89, "w": 0.84, "h": 0.84 },
+ { "x": 7.56, "y": 1.68, "w": 0.84, "h": 0.84 },
+ { "x": 8.4, "y": 1.89, "w": 0.84, "h": 0.84 },
+ { "x": 9.24, "y": 2.1, "w": 0.84, "h": 0.84 },
+
+ { "x": 1.68, "y": 2.52, "w": 0.84, "h": 0.84 },
+ { "x": 2.52, "y": 2.73, "w": 0.84, "h": 0.84 },
+ { "x": 3.36, "y": 2.94, "w": 0.84, "h": 0.84 },
+ { "x": 4.2, "y": 2.94, "w": 0.84, "h": 0.84 },
+ { "x": 5.04, "y": 2.94, "w": 0.84, "h": 0.84 },
+ { "x": 5.88, "y": 2.94, "w": 0.84, "h": 0.84 },
+ { "x": 6.72, "y": 2.73, "w": 0.84, "h": 0.84 },
+ { "x": 7.56, "y": 2.52, "w": 0.84, "h": 0.84 }
]
}
}
-} \ No newline at end of file
+}
diff --git a/keyboards/takashicompany/minizone/keymaps/default/keymap.c b/keyboards/takashicompany/minizone/keymaps/default/keymap.c
index 0d651325b2..51c9cc1678 100644
--- a/keyboards/takashicompany/minizone/keymaps/default/keymap.c
+++ b/keyboards/takashicompany/minizone/keymaps/default/keymap.c
@@ -6,55 +6,63 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- LT(6, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(5, KC_D), KC_F, KC_G, KC_H, KC_J, LT(5, KC_K), KC_L, KC_ENT,
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
- KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1), KC_PGUP, KC_NO
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_PGUP, KC_PGDN
),
-
+
LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN,
+ LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN),
+ KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(LT(6, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(5, KC_D), KC_F, KC_G, KC_H, KC_J, LT(5, KC_K), KC_L, KC_ENT,
+
+ LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
- KC_TRNS, KC_TRNS, LALT_T(KC_LANG2), LSFT_T(KC_TAB), KC_SPC, LT(3, KC_LANG1), KC_TRNS, KC_TRNS
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_PGUP, KC_PGDN
),
-
+
LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN,
- MO(4), KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
+ LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_0,
- KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
+ KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_WH_U, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_WH_D, KC_LANG1, KC_NO, KC_NO, KC_DEL,
+ KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_NO, KC_LANG1, KC_NO, KC_NO, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
+ ),
+
LAYOUT(
KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(7), MO(8),
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(2),
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/config.h b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/config.h
new file mode 100644
index 0000000000..bcc6982848
--- /dev/null
+++ b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/config.h
@@ -0,0 +1,7 @@
+// Copyright 2022 takashicompany (@takashicompany)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 10
+#define PIMORONI_TRACKBALL_SCALE 1
+#define POINTING_DEVICE_TASK_THROTTLE_MS 1 \ No newline at end of file
diff --git a/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/keymap.c b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/keymap.c
new file mode 100644
index 0000000000..f1652d344a
--- /dev/null
+++ b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/keymap.c
@@ -0,0 +1,465 @@
+// Copyright 2022 takashicompany (@takashicompany)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+typedef union {
+ uint32_t raw;
+ struct {
+ int8_t trackball_movement_ratio;
+ int8_t mode;
+ };
+} user_config_t;
+
+user_config_t user_config;
+
+enum custom_keycodes {
+ KC_MY_BTN1 = SAFE_RANGE,
+ KC_MY_BTN2,
+ KC_MY_BTN3,
+ KC_MY_SCR,
+ KC_TB_RAT_INC,
+ KC_TB_RAT_DEC,
+ KC_TB_MODE,
+};
+
+
+enum click_state {
+ NONE = 0,
+ WAITING, // マウスレイヤーãŒæœ‰åŠ¹ã«ãªã‚‹ã®ã‚’å¾…ã¤ã€‚ Wait for mouse layer to activate.
+ CLICKABLE, // マウスレイヤー有効ã«ãªã‚Šã‚¯ãƒªãƒƒã‚¯å…¥åŠ›ãŒå–れる。 Mouse layer is enabled to take click input.
+ CLICKING, // クリック中。 Clicking.
+ SCROLLING // スクロール中。 Scrolling.
+};
+
+enum click_state state; // ç¾åœ¨ã®ã‚¯ãƒªãƒƒã‚¯å…¥åŠ›å—付ã®çŠ¶æ…‹ Current click input reception status
+uint16_t click_timer; // タイマー。状態ã«å¿œã˜ã¦æ™‚é–“ã§åˆ¤å®šã™ã‚‹ã€‚ Timer. Time to determine the state of the system.
+
+uint16_t to_clickable_time = 10; // ã“ã®ç§’æ•°(åƒåˆ†ã®ä¸€ç§’)ã€WAITING状態ãªã‚‰ã‚¯ãƒªãƒƒã‚¯ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒæœ‰åŠ¹ã«ãªã‚‹ã€‚ For this number of seconds (milliseconds), if in WAITING state, the click layer is activated.
+uint16_t to_reset_time = 1000; // ã“ã®ç§’æ•°(åƒåˆ†ã®ä¸€ç§’)ã€CLICKABLE状態ãªã‚‰ã‚¯ãƒªãƒƒã‚¯ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒç„¡åŠ¹ã«ãªã‚‹ã€‚ For this number of seconds (milliseconds), the click layer is disabled if in CLICKABLE state.
+
+uint16_t click_layer = 9; // マウス入力ãŒå¯èƒ½ã«ãªã£ãŸéš›ã«æœ‰åŠ¹ã«ãªã‚‹ãƒ¬ã‚¤ãƒ¤ãƒ¼ã€‚Layers enabled when mouse input is enabled
+
+int16_t scroll_v_mouse_interval_counter; // 垂直スクロールã®å…¥åŠ›ã‚’カウントã™ã‚‹ã€‚ Counting Vertical Scroll Inputs
+int16_t scroll_h_mouse_interval_counter; // 水平スクロールã®å…¥åŠ›ã‚’カウントã™ã‚‹ã€‚ Counts horizontal scrolling inputs.
+
+int16_t scroll_v_threshold = 30; // ã“ã®é–¾å€¤ã‚’超ãˆã‚‹åº¦ã«åž‚直スクロールãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚ Vertical scrolling is performed each time this threshold is exceeded.
+int16_t scroll_h_threshold = 30; // ã“ã®é–¾å€¤ã‚’超ãˆã‚‹åº¦ã«æ°´å¹³ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚ Each time this threshold is exceeded, horizontal scrolling is performed.
+
+int16_t after_click_lock_movement = 0; // クリック入力後ã®ç§»å‹•é‡ã‚’測定ã™ã‚‹å¤‰æ•°ã€‚ Variable that measures the amount of movement after a click input.
+
+int16_t mouse_record_threshold = 30; // ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã®å‹•ãを一時的ã«è¨˜éŒ²ã™ã‚‹ãƒ•ãƒ¬ãƒ¼ãƒ æ•°ã€‚ Number of frames in which the pointer movement is temporarily recorded.
+
+int16_t mouse_record_x;
+int16_t mouse_record_y;
+int16_t mouse_record_count;
+
+int16_t mouse_move_remain_count;
+
+bool is_record_mouse;
+
+bool is_mouse_move_x_min;
+int16_t mouse_move_x_sign;
+int16_t mouse_move_y_sign;
+
+double mouse_interval_delta;
+double mouse_interval_counter;
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_PGUP, KC_PGDN
+ ),
+
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN,
+ LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN),
+ KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
+ LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_PGUP, KC_PGDN
+ ),
+
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN,
+ LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
+ KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
+ KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_NO, KC_LANG1, KC_NO, KC_NO, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TB_RAT_INC, KC_TB_RAT_DEC, KC_TB_MODE, DF(0), DF(3),
+ RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, EEP_RST, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MY_BTN1, KC_MY_SCR, KC_MY_BTN2, KC_MY_BTN3, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MY_SCR, KC_MY_BTN1, KC_TRNS, KC_MY_SCR, KC_MY_BTN2, KC_MY_BTN3, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+void eeconfig_init_user(void) {
+ user_config.raw = 0;
+ user_config.trackball_movement_ratio = 10;
+ user_config.mode = 0;
+ eeconfig_update_user(user_config.raw);
+}
+
+void keyboard_post_init_user(void) {
+ user_config.raw = eeconfig_read_user();
+}
+
+// クリック用ã®ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’有効ã«ã™ã‚‹ã€‚ Enable layers for clicks
+void enable_click_layer(void) {
+ layer_on(click_layer);
+ click_timer = timer_read();
+ state = CLICKABLE;
+}
+
+// クリック用ã®ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’無効ã«ã™ã‚‹ã€‚ Disable layers for clicks.
+void disable_click_layer(void) {
+ state = NONE;
+ layer_off(click_layer);
+ scroll_v_mouse_interval_counter = 0;
+ scroll_h_mouse_interval_counter = 0;
+}
+
+// 自å‰ã®çµ¶å¯¾æ•°ã‚’è¿”ã™é–¢æ•°ã€‚ Functions that return absolute numbers.
+int16_t my_abs(int16_t num) {
+ if (num < 0) {
+ num = -num;
+ }
+
+ return num;
+}
+
+// 自å‰ã®ç¬¦å·ã‚’è¿”ã™é–¢æ•°ã€‚ Function to return the sign.
+int16_t my_sign(int16_t num) {
+ if (num < 0) {
+ return -1;
+ }
+
+ return 1;
+}
+
+// ç¾åœ¨ã‚¯ãƒªãƒƒã‚¯ãŒå¯èƒ½ãªçŠ¶æ…‹ã‹ã€‚ Is it currently clickable?
+bool is_clickable_mode(void) {
+ return state == CLICKABLE || state == CLICKING || state == SCROLLING;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ switch (keycode) {
+ case KC_MY_BTN1:
+ case KC_MY_BTN2:
+ case KC_MY_BTN3:
+ {
+ report_mouse_t currentReport = pointing_device_get_report();
+
+ // ã©ã“ã®ãƒ“ットを対象ã«ã™ã‚‹ã‹ã€‚ Which bits are to be targeted?
+ uint8_t btn = 1 << (keycode - KC_MY_BTN1);
+
+ if (record->event.pressed) {
+ // ビットORã¯æ¼”ç®—å­ã®å·¦è¾ºã¨å³è¾ºã®åŒã˜ä½ç½®ã«ã‚るビットを比較ã—ã¦ã€ä¸¡æ–¹ã®ãƒ“ットã®ã©ã¡ã‚‰ã‹ãŒã€Œ1ã€ã®å ´åˆã«ã€Œ1ã€ã«ã—ã¾ã™ã€‚
+ // Bit OR compares bits in the same position on the left and right sides of the operator and sets them to "1" if either of both bits is "1".
+ currentReport.buttons |= btn;
+ state = CLICKING;
+ after_click_lock_movement = 30;
+ } else {
+ // ビットANDã¯æ¼”ç®—å­ã®å·¦è¾ºã¨å³è¾ºã®åŒã˜ä½ç½®ã«ã‚るビットを比較ã—ã¦ã€ä¸¡æ–¹ã®ãƒ“ットãŒå…±ã«ã€Œ1ã€ã®å ´åˆã ã‘「1ã€ã«ã—ã¾ã™ã€‚
+ // Bit AND compares the bits in the same position on the left and right sides of the operator and sets them to "1" only if both bits are "1" together.
+ currentReport.buttons &= ~btn;
+ enable_click_layer();
+ }
+
+ pointing_device_set_report(currentReport);
+ pointing_device_send();
+ return false;
+ }
+
+ case KC_MY_SCR:
+ if (record->event.pressed) {
+ state = SCROLLING;
+ } else {
+ enable_click_layer(); // スクロールキーを離ã—ãŸæ™‚ã«å†åº¦ã‚¯ãƒªãƒƒã‚¯ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’有効ã«ã™ã‚‹ã€‚ Enable click layer again when the scroll key is released.
+ }
+ return false;
+
+ case KC_TB_RAT_INC:
+ if (record->event.pressed) {
+ user_config.trackball_movement_ratio += 1;
+ eeconfig_update_user(user_config.raw);
+ }
+
+ return false;
+
+ case KC_TB_RAT_DEC:
+ if (record->event.pressed) {
+ if (user_config.trackball_movement_ratio > 1) user_config.trackball_movement_ratio -= 1;
+ eeconfig_update_user(user_config.raw);
+ }
+
+ return false;
+
+ case KC_TB_MODE:
+ if (record->event.pressed) {
+
+ if (user_config.mode == 0)
+ {
+ user_config.mode = 1;
+ }
+ else
+ {
+ user_config.mode = 0;
+ }
+
+ eeconfig_update_user(user_config.raw);
+ }
+ return false;
+
+ default:
+ if (record->event.pressed) {
+ disable_click_layer();
+ }
+
+ }
+
+ return true;
+}
+
+
+report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
+
+ if (user_config.mode == 0)
+ {
+ if (!is_record_mouse) {
+ if (mouse_report.x != 0 || mouse_report.y != 0) {
+ is_record_mouse = true;
+ mouse_record_x = 0;
+ mouse_record_y = 0;
+ mouse_record_count = 0;
+ }
+ }
+
+ if (is_record_mouse) {
+ mouse_record_x += mouse_report.x; // * user_config.trackball_movement_ratio;
+ mouse_record_y += mouse_report.y; // * user_config.trackball_movement_ratio;
+ mouse_record_count++;
+
+ if (mouse_record_count >= mouse_record_threshold) {
+ mouse_interval_counter = 0;
+ int16_t absX = my_abs(mouse_record_x);
+ int16_t absY = my_abs(mouse_record_y);
+ is_mouse_move_x_min = absX < absY;
+
+ mouse_move_remain_count = is_mouse_move_x_min ? absY : absX;
+ mouse_move_remain_count *= user_config.trackball_movement_ratio;
+
+ mouse_move_x_sign = my_sign(mouse_record_x);
+ mouse_move_y_sign = my_sign(mouse_record_y);
+
+ if (is_mouse_move_x_min) {
+ if (mouse_record_x == 0) {
+ mouse_interval_delta = 0;
+ } else {
+ mouse_interval_delta = (double)absX / (double)absY;
+ }
+ } else {
+ if (mouse_record_y == 0) {
+ mouse_interval_delta = 0;
+ } else {
+ mouse_interval_delta = (double)absY / (double)absX;
+ }
+ }
+
+ is_record_mouse = false;
+ mouse_record_count = 0;
+ }
+ }
+
+ if (mouse_move_remain_count > 0) {
+ mouse_interval_counter += mouse_interval_delta;
+
+ bool can_move_min = mouse_interval_counter >= 0.99;
+
+ if (can_move_min) {
+ mouse_interval_counter -= 0.99;
+ }
+
+ if (is_mouse_move_x_min) {
+
+ mouse_report.y = mouse_move_y_sign;
+
+ if (can_move_min) {
+ mouse_report.x = mouse_move_x_sign;
+ }
+ } else {
+
+ mouse_report.x = mouse_move_x_sign;
+
+ if (can_move_min) {
+ mouse_report.y = mouse_move_y_sign;
+ }
+ }
+
+ mouse_report.x *= 1 + mouse_move_remain_count / 10;
+ mouse_report.y *= 1 + mouse_move_remain_count / 10;
+
+ mouse_move_remain_count--;
+ } else {
+ mouse_report.x = 0;
+ mouse_report.y = 0;
+ }
+ }
+ else
+ {
+ mouse_report.x *= user_config.trackball_movement_ratio;
+ mouse_report.y *= user_config.trackball_movement_ratio;
+ }
+
+ int16_t current_x = mouse_report.x;
+ int16_t current_y = mouse_report.y;
+ int16_t current_h = 0;
+ int16_t current_v = 0;
+
+ if (current_x != 0 || current_y != 0) {
+
+ switch (state) {
+ case CLICKABLE:
+ click_timer = timer_read();
+ break;
+
+ case CLICKING:
+ after_click_lock_movement -= my_abs(current_x) + my_abs(current_y);
+
+ if (after_click_lock_movement > 0) {
+ current_x = 0;
+ current_y = 0;
+ }
+
+ break;
+
+ case SCROLLING:
+ {
+ int8_t rep_v = 0;
+ int8_t rep_h = 0;
+
+ // 垂直スクロールã®æ–¹ã®æ„Ÿåº¦ã‚’高ã‚る。 Increase sensitivity toward vertical scrolling.
+ if (my_abs(current_y) * 2 > my_abs(current_x)) {
+
+ scroll_v_mouse_interval_counter += current_y;
+ while (my_abs(scroll_v_mouse_interval_counter) > scroll_v_threshold) {
+ if (scroll_v_mouse_interval_counter < 0) {
+ scroll_v_mouse_interval_counter += scroll_v_threshold;
+ rep_v += scroll_v_threshold;
+ } else {
+ scroll_v_mouse_interval_counter -= scroll_v_threshold;
+ rep_v -= scroll_v_threshold;
+ }
+
+ }
+ } else {
+
+ scroll_h_mouse_interval_counter += current_x;
+
+ while (my_abs(scroll_h_mouse_interval_counter) > scroll_h_threshold) {
+ if (scroll_h_mouse_interval_counter < 0) {
+ scroll_h_mouse_interval_counter += scroll_h_threshold;
+ rep_h += scroll_h_threshold;
+ } else {
+ scroll_h_mouse_interval_counter -= scroll_h_threshold;
+ rep_h -= scroll_h_threshold;
+ }
+ }
+ }
+
+ current_h = rep_h / scroll_h_threshold;
+ current_v = -rep_v / scroll_v_threshold;
+ current_x = 0;
+ current_y = 0;
+ }
+ break;
+
+ case WAITING:
+ if (timer_elapsed(click_timer) > to_clickable_time) {
+ enable_click_layer();
+ }
+ break;
+
+ default:
+ click_timer = timer_read();
+ state = WAITING;
+ }
+ }
+ else
+ {
+ switch (state) {
+ case CLICKING:
+ case SCROLLING:
+
+ break;
+
+ case CLICKABLE:
+ if (timer_elapsed(click_timer) > to_reset_time) {
+ disable_click_layer();
+ }
+ break;
+
+ case WAITING:
+ if (timer_elapsed(click_timer) > 50) {
+ state = NONE;
+ }
+ break;
+
+ default:
+ state = NONE;
+ }
+ }
+
+ mouse_report.x = current_x;
+ mouse_report.y = current_y;
+ mouse_report.h = current_h;
+ mouse_report.v = current_v;
+
+ return mouse_report;
+}
diff --git a/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/rules.mk b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/rules.mk
new file mode 100644
index 0000000000..df0cf51896
--- /dev/null
+++ b/keyboards/takashicompany/minizone/keymaps/pimoroni_trackball/rules.mk
@@ -0,0 +1,4 @@
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = pimoroni_trackball
+OLED_ENABLE = no
+VIA_ENABLE = yes
diff --git a/keyboards/takashicompany/minizone/keymaps/via/keymap.c b/keyboards/takashicompany/minizone/keymaps/via/keymap.c
index 8fa3480915..d78a5bbf17 100644
--- a/keyboards/takashicompany/minizone/keymaps/via/keymap.c
+++ b/keyboards/takashicompany/minizone/keymaps/via/keymap.c
@@ -6,86 +6,71 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- LT(6, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(5, KC_D), KC_F, KC_G, KC_H, KC_J, LT(5, KC_K), KC_L, KC_ENT,
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
- KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1), KC_PGUP, KC_NO
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_PGUP, KC_PGDN
),
-
+
LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN,
+ LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN),
+ KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN),
KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
- LAYOUT(LT(6, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, LT(5, KC_D), KC_F, KC_G, KC_H, KC_J, LT(5, KC_K), KC_L, KC_ENT,
+
+ LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
- KC_TRNS, KC_TRNS, LALT_T(KC_LANG2), LSFT_T(KC_TAB), KC_SPC, LT(3, KC_LANG1), KC_TRNS, KC_TRNS
+ KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_PGUP, KC_PGDN
),
-
+
LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN,
- MO(4), KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
+ LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_0,
+ KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_WH_U, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_WH_D, KC_LANG1, KC_NO, KC_NO, KC_DEL,
+ KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_NO, KC_LANG1, KC_NO, KC_NO, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
+ ),
+
LAYOUT(
KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(7), MO(8),
+ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(2),
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- 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
- ),
-
- 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
- ),
-
- 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
- ),
-
+ ),
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
)
-
}; \ No newline at end of file
diff --git a/keyboards/takashicompany/minizone/readme.md b/keyboards/takashicompany/minizone/readme.md
index 79f2fef7ad..04b6896d28 100644
--- a/keyboards/takashicompany/minizone/readme.md
+++ b/keyboards/takashicompany/minizone/readme.md
@@ -50,4 +50,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/qoolee/config.h b/keyboards/takashicompany/qoolee/config.h
index 36bb330c95..f71e3de280 100644
--- a/keyboards/takashicompany/qoolee/config.h
+++ b/keyboards/takashicompany/qoolee/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0013
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT QooLee
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D0, D4, C6, D7}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/qoolee/info.json b/keyboards/takashicompany/qoolee/info.json
index 56ef36b6e9..89335351ce 100644
--- a/keyboards/takashicompany/qoolee/info.json
+++ b/keyboards/takashicompany/qoolee/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "QooLee",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/qoolee",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0013",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/qoolee/readme.md b/keyboards/takashicompany/qoolee/readme.md
index 35ee431c1c..55fbff82a2 100644
--- a/keyboards/takashicompany/qoolee/readme.md
+++ b/keyboards/takashicompany/qoolee/readme.md
@@ -27,4 +27,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/radialex/config.h b/keyboards/takashicompany/radialex/config.h
index 7aa3c85360..468a850f4b 100644
--- a/keyboards/takashicompany/radialex/config.h
+++ b/keyboards/takashicompany/radialex/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7463 // tc = takashicompany
-#define PRODUCT_ID 0x0019
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashicompany
-#define PRODUCT Radialex
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 7
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashicompany/radialex/info.json b/keyboards/takashicompany/radialex/info.json
index d78e301ee9..8aff0b5ab8 100644
--- a/keyboards/takashicompany/radialex/info.json
+++ b/keyboards/takashicompany/radialex/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Radialex",
+ "manufacturer": "takashicompany",
"url": "https://github.com/takashicompany/radialex",
"maintainer": "takashicompany",
+ "usb": {
+ "vid": "0x7463",
+ "pid": "0x0019",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashicompany/radialex/keymaps/default/keymap.c b/keyboards/takashicompany/radialex/keymaps/default/keymap.c
index ad8274e432..7bb266e00b 100644
--- a/keyboards/takashicompany/radialex/keymaps/default/keymap.c
+++ b/keyboards/takashicompany/radialex/keymaps/default/keymap.c
@@ -21,34 +21,69 @@ enum custom_keycodes {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+
LAYOUT(
- LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_ESC, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_DEL,
- KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, ALT_T(KC_LANG2), SFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_ESC, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT,
+ KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL,
+ KC_PSCR, KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
),
+
LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
- KC_TRNS, SFT_T(LSFT(KC_LBRC)), LSFT(KC_LBRC), LSFT(KC_SLSH), LSFT(KC_MINS), LSFT(KC_RO), LSFT(KC_SCLN), LSFT(KC_QUOT), LSFT(KC_RBRC), LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
- KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL, KC_TRNS,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN),
+ KC_TRNS, KC_TRNS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_TRNS, KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
+ LAYOUT(
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS,
+ KC_PSCR, KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_TRNS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN, KC_TRNS,
+ KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
+ LAYOUT(
+ KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
+ KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_TRNS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
+ KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_NO, KC_LANG1, KC_NO, KC_NO, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_TRNS, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
+ KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/takashicompany/radialex/keymaps/via/config.h b/keyboards/takashicompany/radialex/keymaps/via/config.h
index 74f9e9e64f..c93405c3b3 100644
--- a/keyboards/takashicompany/radialex/keymaps/via/config.h
+++ b/keyboards/takashicompany/radialex/keymaps/via/config.h
@@ -17,4 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DYNAMIC_KEYMAP_LAYER_COUNT 8
+#define DYNAMIC_KEYMAP_LAYER_COUNT 9
diff --git a/keyboards/takashicompany/radialex/keymaps/via/keymap.c b/keyboards/takashicompany/radialex/keymaps/via/keymap.c
index ce9c9d78ea..b84ccc86b2 100644
--- a/keyboards/takashicompany/radialex/keymaps/via/keymap.c
+++ b/keyboards/takashicompany/radialex/keymaps/via/keymap.c
@@ -20,57 +20,65 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_ESC, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_DEL,
- KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, ALT_T(KC_LANG2), SFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_ESC, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT,
+ KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL,
+ KC_PSCR, KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
),
+
LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
- KC_TRNS, SFT_T(LSFT(KC_LBRC)), LSFT(KC_LBRC), LSFT(KC_SLSH), LSFT(KC_MINS), LSFT(KC_RO), LSFT(KC_SCLN), LSFT(KC_QUOT), LSFT(KC_RBRC), LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
- KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
- KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL, KC_TRNS,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_JYEN),
+ KC_TRNS, KC_TRNS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_RO), KC_TRNS, KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_JYEN), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RADIALEX, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS,
+ KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS,
+ KC_PSCR, KC_LCTL, KC_LGUI, LALT_T(KC_LANG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LANG1), KC_RALT, KC_RGUI, KC_RCTL
),
-
+
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_TRNS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_JYEN, KC_TRNS,
+ KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
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_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
+ KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_TRNS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
+ LAYOUT(
+ KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
+ KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_NO, KC_LANG1, KC_NO, KC_NO, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
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_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_TRNS, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
-
+
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,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
+ KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
diff --git a/keyboards/takashicompany/radialex/readme.md b/keyboards/takashicompany/radialex/readme.md
index 1468e7b0b1..2f723ba686 100644
--- a/keyboards/takashicompany/radialex/readme.md
+++ b/keyboards/takashicompany/radialex/readme.md
@@ -28,4 +28,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashicompany/spreadwriter/readme.md b/keyboards/takashicompany/spreadwriter/readme.md
index 972dcba4de..3cf6eccb50 100644
--- a/keyboards/takashicompany/spreadwriter/readme.md
+++ b/keyboards/takashicompany/spreadwriter/readme.md
@@ -32,4 +32,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/takashiski/hecomi/alpha/config.h b/keyboards/takashiski/hecomi/alpha/config.h
index 165b815667..05f1d35c83 100644
--- a/keyboards/takashiski/hecomi/alpha/config.h
+++ b/keyboards/takashiski/hecomi/alpha/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashiski
-#define PRODUCT hecomi_alpha
-
/* key matrix size */
//#define MATRIX_ROWS 5
#define MATRIX_ROWS 10
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C6,D7,E6,B4,B5 }
#define MATRIX_COL_PINS { F4,F5,F6,F7,B1,B3,B2,B6 }
-#define UNUSED_PINS
#define SOFT_SERIAL_PIN D1 // or D1, D2, D3, E6
//#define USE_I2C
diff --git a/keyboards/takashiski/hecomi/alpha/info.json b/keyboards/takashiski/hecomi/alpha/info.json
index a7493203f0..844736abd4 100644
--- a/keyboards/takashiski/hecomi/alpha/info.json
+++ b/keyboards/takashiski/hecomi/alpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "hecomi/alpha",
+ "keyboard_name": "hecomi_alpha",
+ "manufacturer": "takashiski",
"url": "https://skyhigh-works.hatenablog.com/entry/2019/02/25/221959",
"maintainer": "takashiski",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/takashiski/namecard2x4/info.json b/keyboards/takashiski/namecard2x4/info.json
index 04a431f9f3..3c4b8dd2a8 100644
--- a/keyboards/takashiski/namecard2x4/info.json
+++ b/keyboards/takashiski/namecard2x4/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "namecard2x4",
+ "manufacturer": "takashiski",
"url": "https://skyhigh-works.hatenablog.com/",
"maintainer": "takashiski",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
diff --git a/keyboards/takashiski/namecard2x4/rev1/config.h b/keyboards/takashiski/namecard2x4/rev1/config.h
index a91df15b08..22d86c3bfa 100644
--- a/keyboards/takashiski/namecard2x4/rev1/config.h
+++ b/keyboards/takashiski/namecard2x4/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashiski
-#define PRODUCT namecard2x4
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4,B5 }
#define MATRIX_COL_PINS { E6,D7,C6,D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashiski/namecard2x4/rev2/config.h b/keyboards/takashiski/namecard2x4/rev2/config.h
index 402737dc71..8ba5a6a6bb 100644
--- a/keyboards/takashiski/namecard2x4/rev2/config.h
+++ b/keyboards/takashiski/namecard2x4/rev2/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashiski
-#define PRODUCT namecard2x4
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B2,B6 }
#define MATRIX_COL_PINS { D7,E6,B4,B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashiski/otaku_split/rev0/config.h b/keyboards/takashiski/otaku_split/rev0/config.h
index 5fab9ea77e..3eb84cc6b3 100644
--- a/keyboards/takashiski/otaku_split/rev0/config.h
+++ b/keyboards/takashiski/otaku_split/rev0/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashiski
-#define PRODUCT otaku_split
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5,B4,E6,D7,C6 }
#define MATRIX_COL_PINS { B6,B2,B3,B1,F7,F6,F5,F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashiski/otaku_split/rev0/info.json b/keyboards/takashiski/otaku_split/rev0/info.json
index c7dc09e523..37844923fa 100644
--- a/keyboards/takashiski/otaku_split/rev0/info.json
+++ b/keyboards/takashiski/otaku_split/rev0/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Otaku split rev.0",
+ "keyboard_name": "otaku split rev.0",
+ "manufacturer": "takashiski",
"url": "",
- "maintainer": "takashiski",
+ "maintainer": "takashiski",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"\u534a\u89d2", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":9.75, "y":0}, {"label":"*", "x":10.75, "y":0}, {"label":"(", "x":11.75, "y":0}, {"label":")", "x":12.75, "y":0}, {"label":"=", "x":13.75, "y":0}, {"label":"~", "x":14.75, "y":0}, {"label":"|", "x":15.75, "y":0}, {"label":"Backspace", "x":16.75, "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":"7", "x":6.5, "y":1}, {"label":"Y", "x":9.25, "y":1}, {"label":"U", "x":10.25, "y":1}, {"label":"I", "x":11.25, "y":1}, {"label":"O", "x":12.25, "y":1}, {"label":"P", "x":13.25, "y":1}, {"label":"`", "x":14.25, "y":1}, {"label":"{", "x":15.25, "y":1}, {"label":"Enter", "x":16.5, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "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":9.5, "y":2}, {"label":"J", "x":10.5, "y":2}, {"label":"K", "x":11.5, "y":2}, {"label":"L", "x":12.5, "y":2}, {"label":"+", "x":13.5, "y":2}, {"label":"*", "x":14.5, "y":2}, {"label":"}", "x":15.5, "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":"1", "x":9, "y":3}, {"label":"N", "x":10, "y":3}, {"label":"M", "x":11, "y":3}, {"label":"<", "x":12, "y":3}, {"label":">", "x":13, "y":3}, {"label":"?", "x":14, "y":3}, {"label":"_", "x":15, "y":3}, {"label":"Shift", "x":16, "y":3, "w":1.75}, {"x":0, "y":4, "w":2}, {"label":"Ctrl", "x":2, "y":4, "w":1.25}, {"label":"Alt", "x":3.25, "y":4, "w":1.25}, {"label":"\u7121\u5909\u63db", "x":4.5, "y":4}, {"label":"\u2190", "x":5.5, "y":4}, {"label":"\u2193", "x":6.5, "y":4}, {"label":"\u2191", "x":8.75, "y":4}, {"label":"\u2192", "x":9.75, "y":4}, {"label":".", "x":10.75, "y":4}, {"label":"Menu", "x":11.75, "y":4}, {"label":"\u5909\u63db", "x":12.75, "y":4, "w":1.25}, {"label":"\u30ab\u30bf\u30ab\u30ca", "x":14, "y":4, "w":1.25}, {"label":"Alt", "x":15.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":16.5, "y":4, "w":1.25}]
diff --git a/keyboards/takashiski/otaku_split/rev1/config.h b/keyboards/takashiski/otaku_split/rev1/config.h
index 05979a6e04..099f20f5d0 100644
--- a/keyboards/takashiski/otaku_split/rev1/config.h
+++ b/keyboards/takashiski/otaku_split/rev1/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER takashiski
-#define PRODUCT otaku_split
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { F4,F5,F6,F7,B1,B3,B2,B6 }
#define MATRIX_ROW_PINS_RIGHT { B5,B4,E6,D7,C6 }
#define MATRIX_COL_PINS_RIGHT { B6,B2,B3,B1,F7,F6,F5,F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/takashiski/otaku_split/rev1/info.json b/keyboards/takashiski/otaku_split/rev1/info.json
index 9c2121e0e1..9fa11237b6 100644
--- a/keyboards/takashiski/otaku_split/rev1/info.json
+++ b/keyboards/takashiski/otaku_split/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "otaku split rev.1",
+ "manufacturer": "takashiski",
"url": "http",
"maintainer": "takashiski",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"\u534a\u89d2", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"Insert", "x":8.75, "y":0}, {"label":"&", "x":9.75, "y":0}, {"label":"*", "x":10.75, "y":0}, {"label":"(", "x":11.75, "y":0}, {"label":")", "x":12.75, "y":0}, {"label":"=", "x":13.75, "y":0}, {"label":"~", "x":14.75, "y":0}, {"label":"|", "x":15.75, "y":0}, {"label":"Backspace", "x":16.75, "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":"7", "x":6.5, "y":1}, {"label":"Y", "x":9.25, "y":1}, {"label":"U", "x":10.25, "y":1}, {"label":"I", "x":11.25, "y":1}, {"label":"O", "x":12.25, "y":1}, {"label":"P", "x":13.25, "y":1}, {"label":"`", "x":14.25, "y":1}, {"label":"{", "x":15.25, "y":1}, {"label":"Enter", "x":16.5, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "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":9.5, "y":2}, {"label":"J", "x":10.5, "y":2}, {"label":"K", "x":11.5, "y":2}, {"label":"L", "x":12.5, "y":2}, {"label":"+", "x":13.5, "y":2}, {"label":"*", "x":14.5, "y":2}, {"label":"}", "x":15.5, "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":"1", "x":9, "y":3}, {"label":"N", "x":10, "y":3}, {"label":"M", "x":11, "y":3}, {"label":"<", "x":12, "y":3}, {"label":">", "x":13, "y":3}, {"label":"?", "x":14, "y":3}, {"label":"_", "x":15, "y":3}, {"label":"Shift", "x":16, "y":3, "w":1.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"label":"\u7121\u5909\u63db", "x":3.5, "y":4}, {"label":"2", "x":4.5, "y":4}, {"label":"\u2190", "x":5.5, "y":4}, {"label":"\u2193", "x":6.5, "y":4}, {"label":"\u2191", "x":8.75, "y":4}, {"label":"\u2192", "x":9.75, "y":4}, {"label":".", "x":10.75, "y":4}, {"label":"\u5909\u63db", "x":11.75, "y":4, "w":1.25}, {"label":"\u30ab\u30bf\u30ab\u30ca", "x":13, "y":4, "w":1.25}, {"label":"Alt", "x":14.25, "y":4, "w":1.25}, {"label":"Menu", "x":15.5, "y":4}, {"label":"Ctrl", "x":16.5, "y":4, "w":1.25}]
diff --git a/keyboards/taleguers/taleguers75/config.h b/keyboards/taleguers/taleguers75/config.h
index 32fc1e9913..c3d229bfc7 100644
--- a/keyboards/taleguers/taleguers75/config.h
+++ b/keyboards/taleguers/taleguers75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8476
-#define PRODUCT_ID 0x0075
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Taleguers
-#define PRODUCT Taleguers75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B3, B2, B1, E6, B7, C7, C6, D4, D6, D7, B4, D0, D1, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/taleguers/taleguers75/info.json b/keyboards/taleguers/taleguers75/info.json
index 6f429c226a..fc335eac92 100644
--- a/keyboards/taleguers/taleguers75/info.json
+++ b/keyboards/taleguers/taleguers75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Taleguers75",
+ "manufacturer": "Taleguers",
"url": "",
"maintainer": "borlopjim",
+ "usb": {
+ "vid": "0x8476",
+ "pid": "0x0075",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{
diff --git a/keyboards/tanuki/config.h b/keyboards/tanuki/config.h
index 3c323ba10e..52ecb78365 100644
--- a/keyboards/tanuki/config.h
+++ b/keyboards/tanuki/config.h
@@ -19,20 +19,12 @@ 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 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Seth
-#define PRODUCT Tanuki PCB version
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 11
#define MATRIX_COL_PINS { B3 , B2 , B6 , B5 , B4 , E6 , D7 , C6 , F4 , F5 , F6 }
#define MATRIX_ROW_PINS { F7 , B1 , D4 , D0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tanuki/info.json b/keyboards/tanuki/info.json
index c3a34c38fd..d4e9140849 100644
--- a/keyboards/tanuki/info.json
+++ b/keyboards/tanuki/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tanuki",
+ "manufacturer": "Seth",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6464",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0, "w":1.25}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Game", "x":11.25, "y":1}, {"label":"Shift", "x":0.25, "y":2, "w":1.5}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"\"", "x":8.75, "y":2}, {"label":"?", "x":9.75, "y":2}, {"label":"Enter", "x":10.75, "y":2, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3}, {"label":"<", "x":3.5, "y":3}, {"x":4.5, "y":3, "w":2}, {"x":6.5, "y":3, "w":2}, {"label":">", "x":8.5, "y":3}, {"label":"GUI", "x":9.5, "y":3, "w":1.25}]
diff --git a/keyboards/tanuki/keymaps/tucznak/keymap.c b/keyboards/tanuki/keymaps/tucznak/keymap.c
index 301f0f8419..35272e641c 100644
--- a/keyboards/tanuki/keymaps/tucznak/keymap.c
+++ b/keyboards/tanuki/keymaps/tucznak/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, _______,
KC_SLEP, VLK_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
_______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/tau4/config.h b/keyboards/tau4/config.h
index d7e6ffe1bb..a829fda5be 100755
--- a/keyboards/tau4/config.h
+++ b/keyboards/tau4/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER taukeyboards
-#define PRODUCT tau4
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, F1, F0, B0, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tau4/info.json b/keyboards/tau4/info.json
new file mode 100644
index 0000000000..9ec48383c7
--- /dev/null
+++ b/keyboards/tau4/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "tau4",
+ "manufacturer": "taukeyboards",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/team0110/p1800fl/config.h b/keyboards/team0110/p1800fl/config.h
index f4aa79e88b..d021cdb21b 100644
--- a/keyboards/team0110/p1800fl/config.h
+++ b/keyboards/team0110/p1800fl/config.h
@@ -19,13 +19,6 @@ 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 0x3EAE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER team0110
-#define PRODUCT p1800fl
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, E6, B0, B1, B2, B3, D0, D1, D2}
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/team0110/p1800fl/info.json b/keyboards/team0110/p1800fl/info.json
index c49ec2ef5c..5780cbc8cf 100644
--- a/keyboards/team0110/p1800fl/info.json
+++ b/keyboards/team0110/p1800fl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "p1800fl",
+ "manufacturer": "team0110",
"url": "http://team0110.store/",
"maintainer": "team0110",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3EAE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/technika/config.h b/keyboards/technika/config.h
index 80d3137225..20357786eb 100644
--- a/keyboards/technika/config.h
+++ b/keyboards/technika/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8484 // TT for TealTechnik
-#define PRODUCT_ID 0x6049 // 60i
-#define DEVICE_VER 0x0001 // Revision pre-Alpha
-#define MANUFACTURER TealTechnik
-#define PRODUCT Technika
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
diff --git a/keyboards/technika/info.json b/keyboards/technika/info.json
index c78d31193f..4c509522ca 100644
--- a/keyboards/technika/info.json
+++ b/keyboards/technika/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Technika",
+ "manufacturer": "TealTechnik",
"url": "",
"maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8484",
+ "pid": "0x6049",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/teleport/numpad/config.h b/keyboards/teleport/numpad/config.h
index f3573483b7..6294ac7e5f 100644
--- a/keyboards/teleport/numpad/config.h
+++ b/keyboards/teleport/numpad/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7470 //"tp"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tlprt
-#define PRODUCT NumPad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -30,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D7, D4, D6, B4, B5 }
#define MATRIX_COL_PINS { F6, F5, F7, F4 }
-#define UNUSED_PINS { B0, B1, B2, B3, B6, B7, D0, D1, D2, D3, D5, F0, F1, E6, C6, C7 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/teleport/numpad/info.json b/keyboards/teleport/numpad/info.json
index a05b7440ba..8e26aa7789 100644
--- a/keyboards/teleport/numpad/info.json
+++ b/keyboards/teleport/numpad/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "tlprt_NumPad",
+ "keyboard_name": "NumPad",
+ "manufacturer": "tlprt",
"maintainer": "ebastler",
+ "usb": {
+ "vid": "0x7470",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/teleport/numpad/readme.md b/keyboards/teleport/numpad/readme.md
index aebde6f160..20975b6947 100644
--- a/keyboards/teleport/numpad/readme.md
+++ b/keyboards/teleport/numpad/readme.md
@@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (In this case NumLock) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` (With the default keymap, hold NumLock, then press Enter) \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (With the default keymap, hold NumLock, then press Enter) \ No newline at end of file
diff --git a/keyboards/telophase/config.h b/keyboards/telophase/config.h
index 6d23b98ae3..1e0c5a580d 100644
--- a/keyboards/telophase/config.h
+++ b/keyboards/telophase/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER unknown
-#define PRODUCT Telophase
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/telophase/info.json b/keyboards/telophase/info.json
index b31460fa22..b267e07e45 100644
--- a/keyboards/telophase/info.json
+++ b/keyboards/telophase/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Telophase",
+ "manufacturer": "Unknown",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/tempo_turtle/bradpad/config.h b/keyboards/tempo_turtle/bradpad/config.h
deleted file mode 100644
index c6a405b05f..0000000000
--- a/keyboards/tempo_turtle/bradpad/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2021 v3ritas <v3ritas@tempoturtle.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 "config_common.h"
-
-/*usb descriptor setup and keyboard setup (rows and cols) are located in info.json*/
diff --git a/keyboards/tempo_turtle/bradpad/info.json b/keyboards/tempo_turtle/bradpad/info.json
index e1caeeeb88..374279d9ac 100644
--- a/keyboards/tempo_turtle/bradpad/info.json
+++ b/keyboards/tempo_turtle/bradpad/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "bradpad",
+ "manufacturer": "tempo_turtle",
"url": "https://tempoturtle.com",
"maintainer": "wxyangf",
"diode_direction": "ROW2COL",
diff --git a/keyboards/tender/macrowo_pad/config.h b/keyboards/tender/macrowo_pad/config.h
index 51f8fbb149..bdfe120bf0 100644
--- a/keyboards/tender/macrowo_pad/config.h
+++ b/keyboards/tender/macrowo_pad/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xE936
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Tender
-#define PRODUCT Macrowo Pad
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 10
@@ -30,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, D7 }
#define MATRIX_COL_PINS { E6, B4, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tender/macrowo_pad/info.json b/keyboards/tender/macrowo_pad/info.json
index 727de47839..c9357100b3 100644
--- a/keyboards/tender/macrowo_pad/info.json
+++ b/keyboards/tender/macrowo_pad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Macrowo_Pad",
+ "keyboard_name": "Macrowo Pad",
+ "manufacturer": "Tender",
"url": "https//www.github.com/swiftrax",
"maintainer": "swiftrax",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xE936",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,1", "x":1, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,6", "x":7.25, "y":0}, {"label":"0,8", "x":9.5, "y":0}, {"label":"0,0", "x":0, "y":0.5}, {"label":"0,2", "x":2, "y":0.5}, {"label":"0,7", "x":8.5, "y":0.5}, {"label":"0,9", "x":10.5, "y":0.5}, {"label":"0,4", "x":3.75, "y":1}, {"label":"0,5", "x":6.75, "y":1}, {"label":"1,4", "x":5.25, "y":1.25}, {"label":"1,0", "x":0, "y":1.5}, {"label":"1,2", "x":2, "y":1.5}, {"label":"1,7", "x":8.5, "y":1.5}, {"label":"1,9", "x":10.5, "y":1.5}, {"label":"1,1", "x":1, "y":2}, {"label":"1,3", "x":4.25, "y":2}, {"label":"1,5", "x":6.25, "y":2}, {"label":"1,8", "x":9.5, "y":2}]
diff --git a/keyboards/tenki/config.h b/keyboards/tenki/config.h
index 91b226e09b..3be9c91d2e 100644
--- a/keyboards/tenki/config.h
+++ b/keyboards/tenki/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5058 // "PX"
-#define PRODUCT_ID 0x5445 // "TE"
-#define DEVICE_VER 0x1001
-#define MANUFACTURER Pixlup
-#define PRODUCT TENKI
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, B4, F6, B6, B2 }
#define MATRIX_COL_PINS { F4, F5, D4, D0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tenki/info.json b/keyboards/tenki/info.json
index 7d87abba5a..2ffafbf1dd 100644
--- a/keyboards/tenki/info.json
+++ b/keyboards/tenki/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TENKI",
+ "manufacturer": "Pixlup",
"url": "https://tokopedia.com/pixlup",
"maintainer": "eriqadams",
+ "usb": {
+ "vid": "0x5058",
+ "pid": "0x5445",
+ "device_version": "10.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"Bspc", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"=", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"PrtScr", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}]
diff --git a/keyboards/terrazzo/config.h b/keyboards/terrazzo/config.h
index 43720fa78f..ec4ded7eb9 100644
--- a/keyboards/terrazzo/config.h
+++ b/keyboards/terrazzo/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4d4d // MM
-#define PRODUCT_ID 0x545a // TZ
-#define DEVICE_VER 0x0002
-#define MANUFACTURER MsMustard
-#define PRODUCT Terrazzo
-
/* key matrix size */
// SWAP FOR PRO MICRO
@@ -39,7 +31,6 @@
#define MATRIX_ROW_PINS { D2, D7, E6, B4, B5, B6, B2, B3, F0 }
#define MATRIX_COL_PINS { D3, F4, F5, F6, F7, B1 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
/* ROTARY ENCODERS */
diff --git a/keyboards/terrazzo/info.json b/keyboards/terrazzo/info.json
index 7efb3d7111..1fa582f82d 100644
--- a/keyboards/terrazzo/info.json
+++ b/keyboards/terrazzo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Terrazzo",
+ "manufacturer": "MsMustard",
"url": "",
"maintainer": "MsMustard",
+ "usb": {
+ "vid": "0x4D4D",
+ "pid": "0x545A",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/terrazzo/keymaps/ortho/keymap.c b/keyboards/terrazzo/keymaps/ortho/keymap.c
index 986cb884d7..bea5f344eb 100644
--- a/keyboards/terrazzo/keymaps/ortho/keymap.c
+++ b/keyboards/terrazzo/keymaps/ortho/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, _______, _______,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, CG_TOGG,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/terrazzo/keymaps/ortho_all/keymap.c b/keyboards/terrazzo/keymaps/ortho_all/keymap.c
index b0ecd9c911..75c4bb1f6c 100644
--- a/keyboards/terrazzo/keymaps/ortho_all/keymap.c
+++ b/keyboards/terrazzo/keymaps/ortho_all/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, _______, _______,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, CG_TOGG,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/terrazzo/keymaps/ortho_mit/keymap.c b/keyboards/terrazzo/keymaps/ortho_mit/keymap.c
index 87e6d3f786..b0b4bb925c 100644
--- a/keyboards/terrazzo/keymaps/ortho_mit/keymap.c
+++ b/keyboards/terrazzo/keymaps/ortho_mit/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, _______, _______,
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, CG_TOGG,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/tetris/config.h b/keyboards/tetris/config.h
index cfea2a72dc..a9e539fb00 100755
--- a/keyboards/tetris/config.h
+++ b/keyboards/tetris/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Fengz
-#define PRODUCT Tetris
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B2, B1, B0, E6 }
#define MATRIX_COL_PINS { D7, B4, B6, C6, C7, F6, F7, D4, D2, D3, D5, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tetris/info.json b/keyboards/tetris/info.json
index 6b59e2b5c0..eaae708614 100644
--- a/keyboards/tetris/info.json
+++ b/keyboards/tetris/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tetris",
+ "manufacturer": "Fengz",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_planck_mit": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}]
diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c
index 1b53ea80b9..9e2a96ffc3 100755
--- a/keyboards/tetris/keymaps/default/keymap.c
+++ b/keyboards/tetris/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ void matrix_init_user(void) {
}
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (RGB_encoder_dir != 0) {
if (timer_elapsed(RGB_encoder_timer) > 1400) {
@@ -152,7 +152,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) {
bool encoder_update_user(uint8_t index, bool clockwise) {
RGB_encoder_timer = timer_read();
RGB_encoder_timer2 = timer_read();
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
if (clockwise) {
RGB_encoder_dir = 1;
} else {
diff --git a/keyboards/tg4x/config.h b/keyboards/tg4x/config.h
index 0fb0099833..4fc734fb0f 100644
--- a/keyboards/tg4x/config.h
+++ b/keyboards/tg4x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4D4D // "MM"
-#define PRODUCT_ID 0x0458 // 4 "X"
-#define DEVICE_VER 0x0021
-#define MANUFACTURER MythosMann
-#define PRODUCT TG4x
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6, D4, D0, D1 }
#define MATRIX_COL_PINS { D3, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tg4x/info.json b/keyboards/tg4x/info.json
index adf05c1aa4..dca51d9927 100644
--- a/keyboards/tg4x/info.json
+++ b/keyboards/tg4x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TG4x",
+ "manufacturer": "MythosMann",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4D4D",
+ "pid": "0x0458",
+ "device_version": "0.2.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"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, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3, "w":1.25}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/tgr/910/config.h b/keyboards/tgr/910/config.h
index f9a233c1b2..9a12407b35 100644
--- a/keyboards/tgr/910/config.h
+++ b/keyboards/tgr/910/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5447 //TG
-#define PRODUCT_ID 0x9100 //910
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Quadcube
-#define PRODUCT TGR-910
-
#define RGBLED_NUM 19
#define MATRIX_ROWS 7
@@ -33,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6 }
#define MATRIX_COL_PINS { D7, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3, A1, A0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/tgr/910/info.json b/keyboards/tgr/910/info.json
index 32d09d2193..694d4be5d9 100644
--- a/keyboards/tgr/910/info.json
+++ b/keyboards/tgr/910/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TGR-910",
+ "manufacturer": "Quadcube",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5447",
+ "pid": "0x9100",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/tgr/910ce/config.h b/keyboards/tgr/910ce/config.h
index 58b7426a1f..a7b88609c3 100644
--- a/keyboards/tgr/910ce/config.h
+++ b/keyboards/tgr/910ce/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5447 // TG
-#define PRODUCT_ID 0x910C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TGR
-#define PRODUCT 910CE
-
#define RGBLED_NUM 18
#define MATRIX_ROWS 6
@@ -33,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B1, B2, B3, B4, B5, B6 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS {}
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/tgr/910ce/info.json b/keyboards/tgr/910ce/info.json
index 55ce67b283..cf86a59c12 100644
--- a/keyboards/tgr/910ce/info.json
+++ b/keyboards/tgr/910ce/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TGR 910 CE",
+ "keyboard_name": "910CE",
+ "manufacturer": "TGR",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5447",
+ "pid": "0x910C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/tgr/alice/config.h b/keyboards/tgr/alice/config.h
index 26ed2e7973..c5824fb12b 100644
--- a/keyboards/tgr/alice/config.h
+++ b/keyboards/tgr/alice/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422E
-#define DEVICE_VER 0x0200
-#define MANUFACTURER TGR
-#define PRODUCT Alice
-
/* matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/tgr/alice/info.json b/keyboards/tgr/alice/info.json
index 7e92a9ceda..d49e8a0e25 100644
--- a/keyboards/tgr/alice/info.json
+++ b/keyboards/tgr/alice/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TGR Alice",
+ "keyboard_name": "Alice",
+ "manufacturer": "TGR",
"url": "",
"maintainer": "Felipe Coury",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422E",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c b/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c
index 3d8099c413..5ba309f8de 100644
--- a/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c
+++ b/keyboards/tgr/alice/keymaps/mrkeebs/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL \
),
[1] = LAYOUT(
- RESET, 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_INS, \
+ QK_BOOT, 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_INS, \
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_UP , _______, _______, \
_______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, \
diff --git a/keyboards/tgr/jane/v2/config.h b/keyboards/tgr/jane/v2/config.h
index 0132a716d3..415455c929 100644
--- a/keyboards/tgr/jane/v2/config.h
+++ b/keyboards/tgr/jane/v2/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5447 // TG
-#define PRODUCT_ID 0x4A4E // JN
-#define DEVICE_VER 0x0200
-#define MANUFACTURER TGR
-#define PRODUCT Jane
-
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/tgr/jane/v2/info.json b/keyboards/tgr/jane/v2/info.json
index 0f0955c3f9..aaf15c8234 100644
--- a/keyboards/tgr/jane/v2/info.json
+++ b/keyboards/tgr/jane/v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TGR Jane v2",
+ "keyboard_name": "Jane v2",
+ "manufacturer": "TGR",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5447",
+ "pid": "0x4A4E",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5}, {"x":2.25, "y":5.5}, {"x":3.25, "y":5.5, "w":1.25}, {"x":4.5, "y":5.5, "w":1.25}, {"x":5.75, "y":5.5, "w":1.25}, {"x":7, "y":5.5, "w":1.25}, {"x":8.25, "y":5.5, "w":1.25}, {"x":9.5, "y":5.5, "w":1.25}, {"x":10.75, "y":5.5}, {"x":11.75, "y":5.5}, {"x":12.75, "y":5.5}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/tgr/jane/v2ce/config.h b/keyboards/tgr/jane/v2ce/config.h
index e6f6e99e7d..37c3e962a6 100644
--- a/keyboards/tgr/jane/v2ce/config.h
+++ b/keyboards/tgr/jane/v2ce/config.h
@@ -18,19 +18,12 @@
#include "config_common.h"
-#define VENDOR_ID 0x5447 // TG
-#define PRODUCT_ID 0x4A43 // JC
-#define DEVICE_VER 0x0200
-#define MANUFACTURER TGR
-#define PRODUCT Jane
-
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/tgr/jane/v2ce/info.json b/keyboards/tgr/jane/v2ce/info.json
index 97e12227f2..0219caab49 100644
--- a/keyboards/tgr/jane/v2ce/info.json
+++ b/keyboards/tgr/jane/v2ce/info.json
@@ -1,9 +1,13 @@
{
- "keyboard_name": "TGR Jane v2 CE",
+ "keyboard_name": "Jane v2 CE",
+ "manufacturer": "TGR",
"url": "",
"maintainer": "qmk",
- "width": 18.25,
- "height": 6.5,
+ "usb": {
+ "vid": "0x5447",
+ "pid": "0x4A43",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all_f13": {
"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.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5}, {"x":2.25, "y":5.5}, {"x":3.25, "y":5.5, "w":1.25}, {"x":4.5, "y":5.5, "w":1.25}, {"x":5.75, "y":5.5, "w":1.25}, {"x":7, "y":5.5, "w":1.25}, {"x":8.25, "y":5.5, "w":1.25}, {"x":9.5, "y":5.5, "w":1.25}, {"x":10.75, "y":5.5}, {"x":11.75, "y":5.5}, {"x":12.75, "y":5.5}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/tgr/tris/config.h b/keyboards/tgr/tris/config.h
index 131add14cd..eed74f07e0 100644
--- a/keyboards/tgr/tris/config.h
+++ b/keyboards/tgr/tris/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5447 //TG
-#define PRODUCT_ID 0x5452 //TR
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TGR
-#define PRODUCT Tris
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/tgr/tris/info.json b/keyboards/tgr/tris/info.json
index c4288ac14b..e557935785 100644
--- a/keyboards/tgr/tris/info.json
+++ b/keyboards/tgr/tris/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TGR Tris",
+ "keyboard_name": "Tris",
+ "manufacturer": "TGR",
"url": "",
"maintainer": "halfenergized",
+ "usb": {
+ "vid": "0x5447",
+ "pid": "0x5452",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":3, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25}, {"x":0, "y":5.25}, {"x":1, "y":5.25}, {"x":2, "y":5.25}, {"x":3, "y":5.25}]
diff --git a/keyboards/the_royal/liminal/config.h b/keyboards/the_royal/liminal/config.h
index 9e3dadce3d..2066eefefb 100644
--- a/keyboards/the_royal/liminal/config.h
+++ b/keyboards/the_royal/liminal/config.h
@@ -2,20 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B4B
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheRoyalSweatshirt
-#define PRODUCT Liminal
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { C6, B6, B7, C7 }
#define MATRIX_COL_PINS { D6, C4, D3, D2, D1, D0, C2, B0, B1, B2, B3, B4, D5, C5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/the_royal/liminal/info.json b/keyboards/the_royal/liminal/info.json
index b42337a740..d6f25ee6fe 100644
--- a/keyboards/the_royal/liminal/info.json
+++ b/keyboards/the_royal/liminal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "liminal",
+ "keyboard_name": "Liminal",
+ "manufacturer": "TheRoyalSweatshirt",
"url": "",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0x4B4B",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_base_kit_all": {
"layout": [
diff --git a/keyboards/the_royal/liminal/keymaps/brandonschlack/keymap.c b/keyboards/the_royal/liminal/keymaps/brandonschlack/keymap.c
index 4180e9464f..6394460c41 100644
--- a/keyboards/the_royal/liminal/keymaps/brandonschlack/keymap.c
+++ b/keyboards/the_royal/liminal/keymaps/brandonschlack/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───┴────┴───┴────┴───────────────────────────┴────┴───┴────┘
*/
[_ADJUST] = LAYOUT_base_kit_all( \
- _______, QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, \
_______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______ \
diff --git a/keyboards/the_royal/schwann/config.h b/keyboards/the_royal/schwann/config.h
index 955771c793..20fbae923f 100644
--- a/keyboards/the_royal/schwann/config.h
+++ b/keyboards/the_royal/schwann/config.h
@@ -2,20 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3521
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheRoyalSweatshirt
-#define PRODUCT The Schwann PCB
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { F0, F1, F6, C7 }
#define MATRIX_COL_PINS { F4, F5, D5, D3, D2, C6, B6, B5, B4, D7, D6, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/the_royal/schwann/info.json b/keyboards/the_royal/schwann/info.json
index 96814fb1ee..a072970a38 100644
--- a/keyboards/the_royal/schwann/info.json
+++ b/keyboards/the_royal/schwann/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Schwann's PCB",
+ "keyboard_name": "The Schwann PCB",
+ "manufacturer": "TheRoyalSweatshirt",
"url": "https://github.com/TheRoyalSweatshirt/The_Royal_Projects/tree/schwann/PCBs/Schwann_PCB",
"maintainer": "TheRoyalSweatshirt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3521",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_mit": {
"layout": [
diff --git a/keyboards/the_uni/info.json b/keyboards/the_uni/info.json
index a8b5a1b5cc..b7cb80957e 100644
--- a/keyboards/the_uni/info.json
+++ b/keyboards/the_uni/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "The Uni",
+ "manufacturer": "stenokeyboards",
"url": "https://www.stenokeyboards.com",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x9000",
+ "pid": "0x0001"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/the_uni/pro_micro/config.h b/keyboards/the_uni/pro_micro/config.h
index ff965d7744..dc0493face 100644
--- a/keyboards/the_uni/pro_micro/config.h
+++ b/keyboards/the_uni/pro_micro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9000
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER stenokeyboards
-#define PRODUCT The Uni
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, B2, B6 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B5, B4, E6, D7, C6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/the_uni/pro_micro/info.json b/keyboards/the_uni/pro_micro/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/the_uni/pro_micro/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/the_uni/usb_c/config.h b/keyboards/the_uni/usb_c/config.h
index 3110c0d821..02b6ad5a1f 100644
--- a/keyboards/the_uni/usb_c/config.h
+++ b/keyboards/the_uni/usb_c/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x9000
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0002
-#define MANUFACTURER stenokeyboards
-#define PRODUCT The Uni
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 11
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, D6, C7 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, D5, D3, D2, D1, D0, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/the_uni/usb_c/info.json b/keyboards/the_uni/usb_c/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/the_uni/usb_c/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/config.h b/keyboards/themadnoodle/ncc1701kb/v2/config.h
index 7cbba827a2..572d332a54 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/config.h
+++ b/keyboards/themadnoodle/ncc1701kb/v2/config.h
@@ -19,13 +19,6 @@ 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 0x1701
-#define DEVICE_VER 0x0002
-#define MANUFACTURER The Mad Noodle
-#define PRODUCT NCC1701KB v2
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NCC-1701-KB PCB default pin-out */
#define MATRIX_ROW_PINS { D4, D6, D7 }
#define MATRIX_COL_PINS { B4, B5, B6 }
-#define UNUSED_PINS
/* RGB BackLight */
#define RGB_DI_PIN B7
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/info.json b/keyboards/themadnoodle/ncc1701kb/v2/info.json
index ee62dbafc9..7c919dc3bc 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/info.json
+++ b/keyboards/themadnoodle/ncc1701kb/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NCC-1701-KB v2",
+ "manufacturer": "The Mad Noodle",
"url": "instagram.com/the_mad_noodle",
"maintainer": "The-Mad-Noodle",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1701",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/themadnoodle/noodlepad/config.h b/keyboards/themadnoodle/noodlepad/config.h
index 3f47e3b609..572d332a54 100644
--- a/keyboards/themadnoodle/noodlepad/config.h
+++ b/keyboards/themadnoodle/noodlepad/config.h
@@ -19,13 +19,6 @@ 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 0x1701
-#define DEVICE_VER 0x0001
-#define MANUFACTURER The Mad Noodle
-#define PRODUCT Noodle Pad v1
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NCC-1701-KB PCB default pin-out */
#define MATRIX_ROW_PINS { D4, D6, D7 }
#define MATRIX_COL_PINS { B4, B5, B6 }
-#define UNUSED_PINS
/* RGB BackLight */
#define RGB_DI_PIN B7
diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json
index 5ffcc68677..c79d8ac305 100644
--- a/keyboards/themadnoodle/noodlepad/info.json
+++ b/keyboards/themadnoodle/noodlepad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NoodlePad",
+ "keyboard_name": "Noodle Pad v1",
+ "manufacturer": "The Mad Noodle",
"url": "instagram.com/the_mad_noodle",
"maintainer": "The-Mad-Noodle",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1701",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/thevankeyboards/bananasplit/config.h b/keyboards/thevankeyboards/bananasplit/config.h
index 9cb1fccebf..2fd0f470ad 100644
--- a/keyboards/thevankeyboards/bananasplit/config.h
+++ b/keyboards/thevankeyboards/bananasplit/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEAE
-#define PRODUCT_ID 0x8870
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheVan Keyboards
-#define PRODUCT BananaSplit 60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B0, B2, B4, B5, B6 }
#define MATRIX_COL_PINS { F5, B1, F0, F1, F4, B3, D7, D6, D4, D5, D3, D2, D1, D0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/thevankeyboards/bananasplit/info.json b/keyboards/thevankeyboards/bananasplit/info.json
index 44ebb41b27..d4b4f00b5d 100644
--- a/keyboards/thevankeyboards/bananasplit/info.json
+++ b/keyboards/thevankeyboards/bananasplit/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "bananasplit",
+ "keyboard_name": "BananaSplit 60",
+ "manufacturer": "TheVan Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8870",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_base": {
"layout": [{"label":"~", "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":"Caps Lock", "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":1.75}, {"x":14, "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":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
index 2744c91000..458475bf14 100644
--- a/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
@@ -64,6 +64,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, \
______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, ______, ______, ______, ______, ______, ______, KC_SLEP, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, \
- ______, ______, ______, ______, RESET, ______, ______, ______, ______, ______, KC_PGDN \
+ ______, ______, ______, ______, QK_BOOT, ______, ______, ______, ______, ______, KC_PGDN \
),
};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c
index 48f079515d..45c433fe2b 100644
--- a/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/cijanzen/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[HHKB_NAV_LAYER] = LAYOUT_hhkb_arrow(
- 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_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c
index 8a35f896f0..dc64295bd8 100644
--- a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, _______, _______, _______, KC_PSCR, \
_______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, \
_______, BL_STEP, BL_BRTG, _______, _______,_______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, RESET \
+ _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, QK_BOOT \
),
};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
index 39cfc0d8fe..92dd8ed903 100644
--- a/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MOD_LAYER] = LAYOUT_hhkb_arrow( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/thevankeyboards/caravan/config.h b/keyboards/thevankeyboards/caravan/config.h
index 3a8676b537..51a98aa181 100644
--- a/keyboards/thevankeyboards/caravan/config.h
+++ b/keyboards/thevankeyboards/caravan/config.h
@@ -18,20 +18,12 @@ 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 0xFEAE
-#define PRODUCT_ID 0x8844
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheVan Keyboards
-#define PRODUCT Caravan
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
#define MATRIX_COL_PINS { F1, F4, F5, B4, B5, B6, B7, D2, D3, D5, D4, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/thevankeyboards/caravan/info.json b/keyboards/thevankeyboards/caravan/info.json
index 3b3ac4865d..8dbc08fcce 100644
--- a/keyboards/thevankeyboards/caravan/info.json
+++ b/keyboards/thevankeyboards/caravan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TheVanKeyboards Caravan",
+ "keyboard_name": "Caravan",
+ "manufacturer": "TheVan Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8844",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/thevankeyboards/jetvan/config.h b/keyboards/thevankeyboards/jetvan/config.h
index 74094a183a..c0f6ac5811 100644
--- a/keyboards/thevankeyboards/jetvan/config.h
+++ b/keyboards/thevankeyboards/jetvan/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEAE
-#define PRODUCT_ID 0x8858
-#define DEVICE_VER 0x0001
-#define MANUFACTURER evangs
-#define PRODUCT JetVan
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { D7, B5, F7, D4 }
#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/thevankeyboards/jetvan/info.json b/keyboards/thevankeyboards/jetvan/info.json
new file mode 100644
index 0000000000..f017d743dd
--- /dev/null
+++ b/keyboards/thevankeyboards/jetvan/info.json
@@ -0,0 +1,11 @@
+{
+ "keyboard_name": "JetVan",
+ "manufacturer": "evangs",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8858",
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/thevankeyboards/minivan/config.h b/keyboards/thevankeyboards/minivan/config.h
index 72f4a6a61f..69e2bd07af 100644
--- a/keyboards/thevankeyboards/minivan/config.h
+++ b/keyboards/thevankeyboards/minivan/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEAE
-#define PRODUCT_ID 0x8844
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Evan Sailer
-#define PRODUCT Minivan
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D7, B5, F7, D4 }
#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/thevankeyboards/minivan/info.json b/keyboards/thevankeyboards/minivan/info.json
index 3ed0e4472d..82537ef045 100644
--- a/keyboards/thevankeyboards/minivan/info.json
+++ b/keyboards/thevankeyboards/minivan/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "tv44",
+ "keyboard_name": "Minivan",
+ "manufacturer": "Evan Sailer",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8844",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Win", "x":9.5, "y":3, "w":1.5}, {"label":"Menu", "x":11, "y":3, "w":1.75}]
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
index 47d96a29d8..488ffa5418 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
@@ -4,5 +4,6 @@
#include "../../config.h"
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
index 437b1881a4..0ed709747a 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
@@ -22,6 +22,9 @@
#define TD_LCTL TD(BE_TD_CTL)
#define TD_LALT TD(BE_TD_ALT)
+#define ACTION_TAP_DANCE_MOD_TAP(mod) \
+ { .fn = {mod_tap_fn, NULL, mod_reset_fn}, .user_data = (void *)&((uint8_t){mod}), }
+
enum belak_td {
BE_TD_GUI = 0,
BE_TD_CTL,
@@ -32,15 +35,9 @@ void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data);
void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data);
qk_tap_dance_action_t tap_dance_actions[] = {
- [BE_TD_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
- [BE_TD_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
- [BE_TD_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
-};
-
-uint16_t tap_dance_keys[] = {
- [BE_TD_GUI] = KC_LGUI,
- [BE_TD_CTL] = KC_LCTL,
- [BE_TD_ALT] = KC_LALT,
+ [BE_TD_GUI] = ACTION_TAP_DANCE_MOD_TAP(KC_LGUI),
+ [BE_TD_CTL] = ACTION_TAP_DANCE_MOD_TAP(KC_LCTL),
+ [BE_TD_ALT] = ACTION_TAP_DANCE_MOD_TAP(KC_LALT),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -74,7 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) {
switch (state->count) {
case 1:
- register_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE]));
+ uint8_t *mod = (uint8_t *)user_data;
+ register_mods(MOD_BIT(*mod));
send_keyboard_report();
break;
case 2:
@@ -90,8 +88,9 @@ void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) {
}
void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data) {
+ uint8_t *mod = (uint8_t *)user_data;
layer_off(_L1);
layer_off(_L2);
- unregister_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE]));
+ unregister_mods(MOD_BIT(*mod));
send_keyboard_report();
}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
index f8b42cb79b..bc820230e3 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
@@ -178,14 +178,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
* | LSFT | | | | | | | | | | | |
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
- * |---TRNS---| CAPS | LALT | | SWTCH | RALT | | RESET |--TRNS-|
+ * |---TRNS---| CAPS | LALT | | SWTCH | RALT | | QK_BOOT |--TRNS-|
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
*/
[_FN] = LAYOUT_arrow(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PWR, KC_SLEP, KC_WAKE, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_CAPS, _______, XXXXXXX, SWTCH, KC_RALT, XXXXXXX, RESET, _______
+ _______, KC_CAPS, _______, XXXXXXX, SWTCH, KC_RALT, XXXXXXX, QK_BOOT, _______
)
diff --git a/keyboards/thevankeyboards/minivan/keymaps/danbee/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/danbee/keymap.c
index b675b09b4f..22a39d6398 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/danbee/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/danbee/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
│ │ │ │ │ Pause │ │ │ │
└────┴─────┴────┴────────┴───────┴────┴─────┴──────┘*/
[_L2] = LAYOUT( /* LAYER 2 */
- KC_NUBS, KC_BRID, KC_BRIU, _______, RESET, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_EJCT,
+ KC_NUBS, KC_BRID, KC_BRIU, _______, QK_BOOT, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_EJCT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______,
_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, _______, _______, _______, KC_MPLY, _______, _______, _______
diff --git a/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
index 188dd3386b..a036d563a1 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/dcompact/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
- RESET, KC_SLEP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,
+ QK_BOOT, KC_SLEP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,
XXXXXXX, KC_WAKE, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX,
XXXXXXX, KC_PWR, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX,
_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h b/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h
index 6be8d217bd..c6404f8ce5 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h
@@ -1,6 +1,7 @@
#pragma once
#define TAPPING_TERM 505
+#define PERMISSIVE_HOLD
#define RETRO_TAPPING
// smooth mousekeys (copied from the ergo ez config)
diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
index 7054d97ff1..6ef5ecc2c6 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/halvves/keymap.c
@@ -151,7 +151,7 @@ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
/* Adjust
* ,--------------------------------------------------------------------------.
-* | | | | | |QWRTY|COLMK|DVRAK| | | | RESET |
+* | | | | | |QWRTY|COLMK|DVRAK| | | | QK_BOOT |
* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
* | | | | | | | | | | | | |
* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
@@ -161,7 +161,7 @@ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
* `--------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_arrow(
-XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c
index 779292fb3c..780694f335 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c
@@ -49,6 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
_______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______,
KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
- RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______
+ QK_BOOT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______
)
}; \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c
index a7ace39e39..acf01cd9a4 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c
@@ -275,7 +275,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
_______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , RESET )
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ , QK_BOOT )
/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
index 0c1ea9dd09..7674038a46 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
@@ -33,8 +33,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, KC_TRNS, LT(5, KC_SLSH),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [5] = LAYOUT_arrow_command( /* RESET Layer*/
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ [5] = LAYOUT_arrow_command( /* QK_BOOT Layer*/
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c
index 032aaf5c73..4c9019c669 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/king/keymap.c
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 4: Reset Layer
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────â”
- * │RESET│ │ │ │ │ │ │ │ │ │ │ │
+ * │QK_BOOT│ │ │ │ │ │ │ │ │ │ │ │
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
* │ │ │ │ │ │ │ │ │ │ │ │ │
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
*/
[_RL] = LAYOUT(
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
diff --git a/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c
index 1824f3cf39..98d0f63858 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/lexworth/keymap.c
@@ -25,5 +25,5 @@ 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_LCBR, KC_RCBR, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PIPE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS,
- BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET)
+ BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT)
};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c
index 1332367f85..4403dd662a 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,-----------------------------------------------------------------------------------------------------------.
// Reset LEDReset MacMode WinMode Home PageDown PageUp End
- _______, RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX,
+ _______, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------|
// LED On/Off Hue/Saturation/Value Increment Mouse Left Down Up Right
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, _______,
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c
index a9d3a802dc..2414faf62d 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______},
{KC_DEL, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, _______, _______, MACSLEEP, DYN_REC_START1, DYN_REC_START2 },
{KC_CAPS, _______, _______, _______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,_______,DYN_REC_STOP},
- {_______,_______,_______,LAYERRESET,XXXXXXX,XXXXXXX,XXXXXXX,LAYERRESET, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {_______,_______,_______,LAYERRESET,XXXXXXX,XXXXXXX,XXXXXXX,LAYERQK_BOOT, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
[_PLOVER] = {
{KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{LAYERRESET, XXXXXXX, KC_C, KC_V, XXXXXXX , XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
},
[_ADJUST] = {
- {_______ , RESET, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_PSCR, KC_DEL },
+ {_______ , QK_BOOT, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_PSCR, KC_DEL },
{_______ , _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, MACSLEEP, PLOVER, _______},
{_______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{BACKLIT, _______, _______, LAYERRESET, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c
index 371bcd4719..f21d779163 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c
@@ -155,7 +155,7 @@ ALT_T(BACKLIT), _______ , _______ , KC_MPLY , KC_MNXT , _____
*/
[_ADJUST] = LAYOUT_arrow(
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
- _______, RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET ,
+ _______, QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ,
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
_______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______ ,
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
index b4d5234561..efba49e1ea 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
@@ -136,7 +136,7 @@ _______,_______,_______, _______,_______, MOUSE ,XXXXXXX ,XXXXXXX,BACKLI
),
/* MOUSE
* ,--------------------------------------------------------------------------.
- * | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| | RESET |
+ * | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| | QK_BOOT |
* |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
* | | |Mo_Le|Mo_Do|Mo_Ri| | |M_Bt1|M_WhD|M_Bt2| | |
* |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
@@ -146,7 +146,7 @@ _______,_______,_______, _______,_______, MOUSE ,XXXXXXX ,XXXXXXX,BACKLI
* `--------------------------------------------------------------------------'
*/
[_MOUSE] = LAYOUT_arrow(
-XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,RESET,
+XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,QK_BOOT,
XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX,XXXXXXX,KC_BTN1,KC_WH_D,KC_BTN2,XXXXXXX,XXXXXXX,
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_ACL0,KC_ACL1,KC_ACL2,XXXXXXX,WINDOW,
XXXXXXX,XXXXXXX,XXXXXXX, EXT_MOUSE,EXT_MOUSE, XXXXXXX,XXXXXXX,XXXXXXX,MAC
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
index f5649573d8..cbd6aa8b3d 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
- _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_HOME, KC_END, _______, _______, _______, _______, KC_PGUP, KC_PGDN
)
diff --git a/keyboards/thevankeyboards/roadkit/config.h b/keyboards/thevankeyboards/roadkit/config.h
index 0bbd93ad7d..6fd9df7b52 100644
--- a/keyboards/thevankeyboards/roadkit/config.h
+++ b/keyboards/thevankeyboards/roadkit/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEAE
-#define PRODUCT_ID 0x8846
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TheVan Keyboards
-#define PRODUCT Roadkit Micro
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F5, D7, B4 }
#define MATRIX_COL_PINS { F1, F4, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/thevankeyboards/roadkit/info.json b/keyboards/thevankeyboards/roadkit/info.json
index eefa2b3468..0b00063bec 100644
--- a/keyboards/thevankeyboards/roadkit/info.json
+++ b/keyboards/thevankeyboards/roadkit/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Roadkit",
+ "keyboard_name": "Roadkit Micro",
+ "manufacturer": "TheVan Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8846",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_4x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0, "h":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}]
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
index b00cf80f5c..a6fa5ed722 100644
--- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
@@ -147,7 +147,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
}
uint8_t layer;
- layer = biton32(layer_state);
+ layer = get_highest_layer(layer_state);
switch (keycode) {
case FPH_1 ... FPH_9:
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c
index 674f3f37ab..867ca07c7c 100644
--- a/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c
+++ b/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----`-----`-----`-----'
*/
[_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
- RESET, XXXXXXX, XXXXXXX, KC_DEL, \
+ QK_BOOT, XXXXXXX, XXXXXXX, KC_DEL, \
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
STR192, STR255, XXXXXXX, XXXXXXX, \
_______, BL_STEP, _______, XXXXXXX
diff --git a/keyboards/tkc/california/config.h b/keyboards/tkc/california/config.h
index 2945514787..3f8d4b58e7 100644
--- a/keyboards/tkc/california/config.h
+++ b/keyboards/tkc/california/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0009
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKC
-#define PRODUCT California
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C7, C6, B6, D4, D3, D0, E6, B0, B1, B2, D2, B3 }
#define MATRIX_COL_PINS { B5, B4, D7, D6, F7, F6, F5, D5, D1, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/tkc/california/info.json b/keyboards/tkc/california/info.json
index ef55e0e2e0..b673e5d30d 100644
--- a/keyboards/tkc/california/info.json
+++ b/keyboards/tkc/california/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC California",
+ "keyboard_name": "California",
+ "manufacturer": "TKC",
"url": "",
"maintainer": "TerryMathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0009",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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.5, "y":0}, {"label":"Home", "x":17, "y":0}, {"label":"End", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "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":"Bksp", "x":13, "y":1.5}, {"x":14, "y":1.5}, {"label":"PgUp", "x":15.5, "y":1.5}, {"label":"Num Lock", "x":17, "y":1.5}, {"label":"/", "x":18, "y":1.5}, {"label":"*", "x":19, "y":1.5}, {"label":"-", "x":20, "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":"PgDn", "x":15.5, "y":2.5}, {"label":"7", "x":17, "y":2.5}, {"label":"8", "x":18, "y":2.5}, {"label":"9", "x":19, "y":2.5}, {"label":"+", "x":20, "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":"4", "x":17, "y":3.5}, {"label":"5", "x":18, "y":3.5}, {"label":"6", "x":19, "y":3.5}, {"x":20, "y":3.5}, {"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":1.75}, {"x":14, "y":4.5}, {"label":"\u2191", "x":15.5, "y":4.75}, {"label":"1", "x":17, "y":4.5}, {"label":"2", "x":18, "y":4.5}, {"label":"3", "x":19, "y":4.5}, {"label":"Enter", "x":20, "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":"Menu", "x":11.25, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25}, {"label":"\u2190", "x":14.5, "y":5.75}, {"label":"\u2193", "x":15.5, "y":5.75}, {"label":"\u2192", "x":16.5, "y":5.75}, {"label":"0", "x":18, "y":5.5}, {"label":".", "x":19, "y":5.5}, {"x":20, "y":5.5}]
diff --git a/keyboards/tkc/candybar/lefty/config.h b/keyboards/tkc/candybar/lefty/config.h
index 104ead511a..8762bdf515 100644
--- a/keyboards/tkc/candybar/lefty/config.h
+++ b/keyboards/tkc/candybar/lefty/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0006
-#define MANUFACTURER The Key Company
-#define PRODUCT Candybar
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 17
diff --git a/keyboards/tkc/candybar/lefty/info.json b/keyboards/tkc/candybar/lefty/info.json
index 553ce6d021..c902c78cee 100644
--- a/keyboards/tkc/candybar/lefty/info.json
+++ b/keyboards/tkc/candybar/lefty/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC Candybar",
+ "keyboard_name": "Candybar",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "terrymathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0003",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkc/candybar/lefty_r3/config.h b/keyboards/tkc/candybar/lefty_r3/config.h
index 9ce16dd731..ccf635a7ce 100644
--- a/keyboards/tkc/candybar/lefty_r3/config.h
+++ b/keyboards/tkc/candybar/lefty_r3/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0006
-#define MANUFACTURER The Key Company
-#define PRODUCT Candybar
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 17
diff --git a/keyboards/tkc/candybar/lefty_r3/info.json b/keyboards/tkc/candybar/lefty_r3/info.json
index 1ef3dcd54a..c902c78cee 100644
--- a/keyboards/tkc/candybar/lefty_r3/info.json
+++ b/keyboards/tkc/candybar/lefty_r3/info.json
@@ -1,9 +1,13 @@
{
- "keyboard_name": "TKC Candybar",
+ "keyboard_name": "Candybar",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "terrymathews",
- "width": 17,
- "height": 4,
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0003",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkc/candybar/righty/config.h b/keyboards/tkc/candybar/righty/config.h
index dcbe840c8e..8762bdf515 100644
--- a/keyboards/tkc/candybar/righty/config.h
+++ b/keyboards/tkc/candybar/righty/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0006
-#define MANUFACTURER The Key Company
-#define PRODUCT Candybar
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 17
diff --git a/keyboards/tkc/candybar/righty/info.json b/keyboards/tkc/candybar/righty/info.json
index 8e54afb431..4dde92d27f 100644
--- a/keyboards/tkc/candybar/righty/info.json
+++ b/keyboards/tkc/candybar/righty/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC Candybar",
+ "keyboard_name": "Candybar",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "terrymathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0002",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkc/candybar/righty_r3/config.h b/keyboards/tkc/candybar/righty_r3/config.h
index 0c8604a9ac..fd922f0881 100644
--- a/keyboards/tkc/candybar/righty_r3/config.h
+++ b/keyboards/tkc/candybar/righty_r3/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0006
-#define MANUFACTURER The Key Company
-#define PRODUCT Candybar
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 17
diff --git a/keyboards/tkc/candybar/righty_r3/info.json b/keyboards/tkc/candybar/righty_r3/info.json
index 81dc4f8ec5..4dde92d27f 100644
--- a/keyboards/tkc/candybar/righty_r3/info.json
+++ b/keyboards/tkc/candybar/righty_r3/info.json
@@ -1,9 +1,13 @@
{
- "keyboard_name": "TKC Candybar",
+ "keyboard_name": "Candybar",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "terrymathews",
- "width": 17,
- "height": 4,
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0002",
+ "device_version": "0.0.6"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkc/godspeed75/config.h b/keyboards/tkc/godspeed75/config.h
index edda02ea79..f2c124b7fe 100644
--- a/keyboards/tkc/godspeed75/config.h
+++ b/keyboards/tkc/godspeed75/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0006 //GodSpeed75
-#define DEVICE_VER 0x0001
-#define MANUFACTURER The Key Company
-#define PRODUCT GodSpeed75
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 8
diff --git a/keyboards/tkc/godspeed75/info.json b/keyboards/tkc/godspeed75/info.json
index 8a4415e903..6cffc225ac 100644
--- a/keyboards/tkc/godspeed75/info.json
+++ b/keyboards/tkc/godspeed75/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC GodSpeed75",
+ "keyboard_name": "GodSpeed75",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "terrymathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Scroll Lock", "x":14, "y":0}, {"label":"Pause", "x":15, "y":0}, {"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}, {"x":13, "y":1}, {"label":"BkSp", "x":14, "y":1}, {"label":"PgUp", "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":"PgDn", "x":15, "y":2}, {"label":"Caps Lock", "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":"Insert", "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":"\u2191", "x":14, "y":4}, {"label":"Delete", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.5}, {"label":"Alt", "x":2.25, "y":5, "w":1.25}, {"x":3.5, "y":5, "w":6.25}, {"label":"MO(1)", "x":9.75, "y":5, "w":1.25}, {"label":"Ctrl", "x":11, "y":5, "w":1.25}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}]
diff --git a/keyboards/tkc/m0lly/config.h b/keyboards/tkc/m0lly/config.h
index 377499ba72..b8a60d8693 100644
--- a/keyboards/tkc/m0lly/config.h
+++ b/keyboards/tkc/m0lly/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B // "TK"
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER The Key Company
-#define PRODUCT M0lly
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F2, F1, F0, E1, E0 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, C0, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tkc/m0lly/info.json b/keyboards/tkc/m0lly/info.json
index fab1f500d0..4383bc04dd 100644
--- a/keyboards/tkc/m0lly/info.json
+++ b/keyboards/tkc/m0lly/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC M0LLY",
+ "keyboard_name": "M0lly",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/tkc/osav2/config.h b/keyboards/tkc/osav2/config.h
index 370e7b7b5b..199954527b 100644
--- a/keyboards/tkc/osav2/config.h
+++ b/keyboards/tkc/osav2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0005 //Alice
-#define DEVICE_VER 0x0001
-#define MANUFACTURER The Key Company
-#define PRODUCT OSA v2
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { B4, D7, D5, D3, D2, D0, D1, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tkc/osav2/info.json b/keyboards/tkc/osav2/info.json
index 21c45805ce..b5fea85c99 100644
--- a/keyboards/tkc/osav2/info.json
+++ b/keyboards/tkc/osav2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC OSA v2",
+ "keyboard_name": "OSA v2",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.25, "y":0}, {"label":"!", "x":2.25, "y":0}, {"label":"@", "x":3.25, "y":0}, {"label":"#", "x":4.25, "y":0}, {"label":"$", "x":5.25, "y":0}, {"label":"%", "x":6.25, "y":0}, {"label":"^", "x":7.25, "y":0}, {"label":"&", "x":10.25, "y":0}, {"label":"*", "x":11.25, "y":0}, {"label":"(", "x":12.25, "y":0}, {"label":")", "x":13.25, "y":0}, {"label":"_", "x":14.25, "y":0}, {"label":"+", "x":15.25, "y":0}, {"label":"Backspace", "x":16.25, "y":0, "w":2}, {"label":"Page Up", "x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":9.75, "y":1}, {"label":"U", "x":10.75, "y":1}, {"label":"I", "x":11.75, "y":1}, {"label":"O", "x":12.75, "y":1}, {"label":"P", "x":13.75, "y":1}, {"label":"{", "x":14.75, "y":1}, {"label":"}", "x":15.75, "y":1}, {"label":"|", "x":16.75, "y":1, "w":1.5}, {"label":"Page Down", "x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.75}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":10, "y":2}, {"label":"J", "x":11, "y":2}, {"label":"K", "x":12, "y":2}, {"label":"L", "x":13, "y":2}, {"label":":", "x":14, "y":2}, {"label":"\"", "x":15, "y":2}, {"label":"Enter", "x":16, "y":2, "w":2.25}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":9.5, "y":3}, {"label":"N", "x":10.5, "y":3}, {"label":"M", "x":11.5, "y":3}, {"label":"<", "x":12.5, "y":3}, {"label":">", "x":13.5, "y":3}, {"label":"?", "x":14.5, "y":3}, {"label":"Shift", "x":15.5, "y":3, "w":2.75}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.5}, {"label":"Win", "x":4.25, "y":4, "w":1.5}, {"x":5.75, "y":4, "w":2.25}, {"label":"Fn", "x":8, "y":4}, {"x":9.5, "y":4, "w":2.75}, {"label":"Alt", "x":12.25, "y":4, "w":1.5}, {"label":"Ctrl", "x":16.75, "y":4, "w":1.5}]
diff --git a/keyboards/tkc/osav2/keymaps/brandonschlack/keymap.c b/keyboards/tkc/osav2/keymaps/brandonschlack/keymap.c
index 5e3debd8d3..cdb06d7bc5 100755
--- a/keyboards/tkc/osav2/keymaps/brandonschlack/keymap.c
+++ b/keyboards/tkc/osav2/keymaps/brandonschlack/keymap.c
@@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TG_BASE, QM_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_REDR, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
TG_MAIL, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RGB_LYR, RGB_THM, _______, EEP_RST, RESET, RESET, _______, _______, _______, _______, _______, _______, _______, \
+ _______, RGB_LYR, RGB_THM, _______, EEP_RST, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______ \
)
diff --git a/keyboards/tkc/osav2/keymaps/stanrc85/keymap.c b/keyboards/tkc/osav2/keymaps/stanrc85/keymap.c
index 0dfd0d54af..ce45cd436f 100644
--- a/keyboards/tkc/osav2/keymaps/stanrc85/keymap.c
+++ b/keyboards/tkc/osav2/keymaps/stanrc85/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN2_60] = LAYOUT_all(
BL_TOGG, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, TG(_DEFAULT)
diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h
index be042050f5..0a52f2e3af 100644
--- a/keyboards/tkc/portico/config.h
+++ b/keyboards/tkc/portico/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKC
-#define PRODUCT Portico
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/tkc/portico/info.json b/keyboards/tkc/portico/info.json
index b2ff8054c7..d87ebe56b7 100644
--- a/keyboards/tkc/portico/info.json
+++ b/keyboards/tkc/portico/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC Portico",
+ "keyboard_name": "Portico",
+ "manufacturer": "TKC",
"url": "",
"maintainer": "TerryMathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_65_ansi_blocker"
},
diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h
index dea6180958..5cfdf43c3d 100644
--- a/keyboards/tkc/portico68v2/config.h
+++ b/keyboards/tkc/portico68v2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0012 //Portico68v2
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKC
-#define PRODUCT Portico68v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/tkc/portico68v2/info.json b/keyboards/tkc/portico68v2/info.json
index d3ea7cb264..c75fb31679 100644
--- a/keyboards/tkc/portico68v2/info.json
+++ b/keyboards/tkc/portico68v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC Portico68 v2",
+ "keyboard_name": "Portico68 v2",
+ "manufacturer": "TKC",
"url": "",
"maintainer": "TerryMathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0012",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker": {
"layout": [
diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h
index bbafc0d309..63a9ee4958 100644
--- a/keyboards/tkc/portico75/config.h
+++ b/keyboards/tkc/portico75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B // TK
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKC
-#define PRODUCT Portico75
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json
index 5aaf21ffcc..ba2db69969 100644
--- a/keyboards/tkc/portico75/info.json
+++ b/keyboards/tkc/portico75/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC Portico75",
+ "keyboard_name": "Portico75",
+ "manufacturer": "TKC",
"url": "",
"maintainer": "TerryMathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Mute", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Fn", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":13.25, "y":5.5}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":14.25, "y":5.5}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":15.25, "y":5.5}]
diff --git a/keyboards/tkc/tkc1800/config.h b/keyboards/tkc/tkc1800/config.h
index 5bf93542c2..d88d390b8f 100644
--- a/keyboards/tkc/tkc1800/config.h
+++ b/keyboards/tkc/tkc1800/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B // "TK"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0003
-#define MANUFACTURER The Key Company
-#define PRODUCT TKC1800
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 19
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Column pin configuration
*/
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, C0, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tkc/tkc1800/info.json b/keyboards/tkc/tkc1800/info.json
index deac3447f1..4d1de2e2f1 100644
--- a/keyboards/tkc/tkc1800/info.json
+++ b/keyboards/tkc/tkc1800/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TKC1800",
+ "manufacturer": "The Key Company",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0001",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkc/tkc1800/keymaps/smt/keymap.c b/keyboards/tkc/tkc1800/keymaps/smt/keymap.c
index 9eceaa5bda..6d90018fe8 100644
--- a/keyboards/tkc/tkc1800/keymaps/smt/keymap.c
+++ b/keyboards/tkc/tkc1800/keymaps/smt/keymap.c
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FUNCTION] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, \
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
diff --git a/keyboards/tkc/tkc1800/keymaps/yanfali/keymap.c b/keyboards/tkc/tkc1800/keymaps/yanfali/keymap.c
index 2ebfe33c3d..ec657be274 100644
--- a/keyboards/tkc/tkc1800/keymaps/yanfali/keymap.c
+++ b/keyboards/tkc/tkc1800/keymaps/yanfali/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[FUNCTION] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, XXXXXXX, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, \
diff --git a/keyboards/tkc/tkl_ab87/config.h b/keyboards/tkc/tkl_ab87/config.h
index 5ab7b94692..5d34276336 100644
--- a/keyboards/tkc/tkl_ab87/config.h
+++ b/keyboards/tkc/tkl_ab87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x544B //TK
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKC
-#define PRODUCT TKL A/B87
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, F5, F7, B0, B2, B3 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F6, F4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tkc/tkl_ab87/info.json b/keyboards/tkc/tkl_ab87/info.json
index 02142bd755..d7b6b8f070 100644
--- a/keyboards/tkc/tkl_ab87/info.json
+++ b/keyboards/tkc/tkl_ab87/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "TKC TKL A/B87",
+ "keyboard_name": "TKL A/B87",
+ "manufacturer": "TKC",
"url": "",
"maintainer": "TerryMathews",
+ "usb": {
+ "vid": "0x544B",
+ "pid": "0x0007",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h
index b2b6008240..76a3de1bab 100644
--- a/keyboards/tkw/grandiceps/config.h
+++ b/keyboards/tkw/grandiceps/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x7812
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tkw
-#define PRODUCT Grandiceps Split
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 6
diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json
index 7a4324ffdc..dc4cf5a0ee 100644
--- a/keyboards/tkw/grandiceps/info.json
+++ b/keyboards/tkw/grandiceps/info.json
@@ -1,8 +1,11 @@
{
- "keyboard_name": "grandiceps",
+ "manufacturer": "tkw",
"url": "https://github.com/vattern/grandiceps",
"maintainer": "vattern",
- "manufacturer": "tkw",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7812"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tkw/grandiceps/readme.md b/keyboards/tkw/grandiceps/readme.md
index 57a6dac28d..899d0b462d 100644
--- a/keyboards/tkw/grandiceps/readme.md
+++ b/keyboards/tkw/grandiceps/readme.md
@@ -30,4 +30,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset buttons**: Hold down the BOOT0 button and then briefly press the NRST button on the BlackPill PCB.
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/tkw/grandiceps/rev1/info.json b/keyboards/tkw/grandiceps/rev1/info.json
new file mode 100644
index 0000000000..34d2a94743
--- /dev/null
+++ b/keyboards/tkw/grandiceps/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Grandiceps Split",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/tkw/grandiceps/rev1/rules.mk b/keyboards/tkw/grandiceps/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/tkw/grandiceps/rev1/rules.mk
diff --git a/keyboards/tkw/grandiceps/rev2/config.h b/keyboards/tkw/grandiceps/rev2/config.h
index 98b762087e..5810fe75bc 100644
--- a/keyboards/tkw/grandiceps/rev2/config.h
+++ b/keyboards/tkw/grandiceps/rev2/config.h
@@ -15,10 +15,5 @@
*/
#pragma once
-#undef DEVICE_VER
-#define DEVICE_VER 0x0002
-#undef PRODUCT
-#define PRODUCT Grandiceps Split rev2
-
#define SPLIT_HAND_PIN B3
#define EEPROM_I2C_24LC64
diff --git a/keyboards/tkw/grandiceps/rev2/info.json b/keyboards/tkw/grandiceps/rev2/info.json
new file mode 100644
index 0000000000..786f381c4f
--- /dev/null
+++ b/keyboards/tkw/grandiceps/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Grandiceps Split rev2",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk
index f408feb059..2220b16252 100644
--- a/keyboards/tkw/grandiceps/rules.mk
+++ b/keyboards/tkw/grandiceps/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
@@ -25,3 +26,5 @@ OLED_ENABLE = yes
OLED_DRIVER = SSD1306
WS2812_DRIVER = pwm
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
+
+DEFAULT_FOLDER = tkw/grandiceps/rev1
diff --git a/keyboards/tkw/stoutgat/v1/config.h b/keyboards/tkw/stoutgat/v1/config.h
index 96471e443d..787c927039 100644
--- a/keyboards/tkw/stoutgat/v1/config.h
+++ b/keyboards/tkw/stoutgat/v1/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x7811
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TKW
-#define PRODUCT stoutgat
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -34,6 +28,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_A { B4, B0 }
#define ENCODERS_PAD_B { B3, B1 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tkw/stoutgat/v1/info.json b/keyboards/tkw/stoutgat/v1/info.json
index d649a48b5b..22be9b3ae2 100644
--- a/keyboards/tkw/stoutgat/v1/info.json
+++ b/keyboards/tkw/stoutgat/v1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "stoutgat",
+ "manufacturer": "TKW",
"url": "https://github.com/vattern/stoutgat",
"maintainer": "vattern",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7811",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_encoder": {
"layout": [
diff --git a/keyboards/tkw/stoutgat/v2/config.h b/keyboards/tkw/stoutgat/v2/config.h
index 73b3eef90b..989cc1a76e 100644
--- a/keyboards/tkw/stoutgat/v2/config.h
+++ b/keyboards/tkw/stoutgat/v2/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x7811
-#define DEVICE_VER 0x0002
-#define MANUFACTURER TKW
-#define PRODUCT Stoutgat v2 65%
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/tkw/stoutgat/v2/f411/rules.mk b/keyboards/tkw/stoutgat/v2/f411/rules.mk
index b32a8b7f5b..c25a64f4b3 100644
--- a/keyboards/tkw/stoutgat/v2/f411/rules.mk
+++ b/keyboards/tkw/stoutgat/v2/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/tkw/stoutgat/v2/info.json b/keyboards/tkw/stoutgat/v2/info.json
index 6946e3e0bc..bafe4d6fc1 100644
--- a/keyboards/tkw/stoutgat/v2/info.json
+++ b/keyboards/tkw/stoutgat/v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "stoutgat/v2",
+ "keyboard_name": "Stoutgat v2 65%",
+ "manufacturer": "TKW",
"url": "https://github.com/vattern/stoutgatv2",
"maintainer": "vattern",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x7811",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_encoder": {
"layout": [
diff --git a/keyboards/tmo50/config.h b/keyboards/tmo50/config.h
index f3640197ae..115a652ac8 100644
--- a/keyboards/tmo50/config.h
+++ b/keyboards/tmo50/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFBFB
-#define PRODUCT_ID 0x0050
-#define DEVICE_VER 0x0001
-#define MANUFACTURER funderburker
-#define PRODUCT TMO50
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D5, D3, D2, D0 }
#define MATRIX_COL_PINS { D1, D4, F0, F1, F4, F5, F6, F7, D6, D7, B4, B5, B6, C6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tmo50/info.json b/keyboards/tmo50/info.json
index c51636fb5e..04e2d5bdc1 100644
--- a/keyboards/tmo50/info.json
+++ b/keyboards/tmo50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TMO50",
+ "manufacturer": "funderburker",
"url": "",
"maintainer": "funderburker",
+ "usb": {
+ "vid": "0xFBFB",
+ "pid": "0x0050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"", "x":0, "y":0}, {"label":"", "x":1.25, "y":0}, {"label":"", "x":2.25, "y":0}, {"label":"", "x":3.25, "y":0}, {"label":"", "x":4.25, "y":0}, {"label":"", "x":5.25, "y":0}, {"label":"", "x":6.25, "y":0}, {"label":"", "x":7.25, "y":0}, {"label":"", "x":8.25, "y":0}, {"label":"", "x":9.25, "y":0}, {"label":"", "x":10.25, "y":0}, {"label":"", "x":11.25, "y":0}, {"label":"", "x":12.25, "y":0}, {"label":"", "x":13.25, "y":0}, {"label":"", "x":14.25, "y":0}, {"x":0, "y":1}, {"label":"Ctrl", "x":1.25, "y":1, "w":1.25}, {"label":"", "x":2.5, "y":1}, {"label":"", "x":3.5, "y":1}, {"label":"", "x":4.5, "y":1}, {"label":"", "x":5.5, "y":1}, {"label":"", "x":6.5, "y":1}, {"label":"", "x":7.5, "y":1}, {"label":"", "x":8.5, "y":1}, {"label":"", "x":9.5, "y":1}, {"label":"", "x":10.5, "y":1}, {"label":"", "x":11.5, "y":1}, {"label":"", "x":12.5, "y":1}, {"label":"Enter", "x":13.5, "y":1, "w":1.75}, {"x":0, "y":2}, {"label":"Shift", "x":1.25, "y":2, "w":1.75}, {"label":"", "x":3, "y":2}, {"label":"", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"", "x":6, "y":2}, {"label":"b", "x":7, "y":2}, {"label":"", "x":8, "y":2}, {"label":"m", "x":9, "y":2}, {"label":"", "x":10, "y":2}, {"label":"", "x":11, "y":2}, {"label":"", "x":12, "y":2}, {"label":"Shift", "x":13, "y":2, "w":1.25}, {"label":"", "x":14.25, "y":2}, {"x":0, "y":3}, {"label":"Alt", "x":2.75, "y":3}, {"label":"Win", "x":3.75, "y":3, "w":1.5}, {"label":"", "x":5.25, "y":3, "w":2.25}, {"label":"", "x":7.5, "y":3, "w":2.75}, {"label":"AltGr", "x":10.25, "y":3, "w":1.5}, {"label":"L3", "x":11.75, "y":3}]
diff --git a/keyboards/tmo50/keymaps/olivia/keymap.c b/keyboards/tmo50/keymaps/olivia/keymap.c
index c1e86f9b90..897ab54a2b 100644
--- a/keyboards/tmo50/keymaps/olivia/keymap.c
+++ b/keyboards/tmo50/keymaps/olivia/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Fn3 layer
[3] = 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_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/tmo50/keymaps/ottodokto/keymap.c b/keyboards/tmo50/keymaps/ottodokto/keymap.c
index 688395c9d9..a14c9541de 100644
--- a/keyboards/tmo50/keymaps/ottodokto/keymap.c
+++ b/keyboards/tmo50/keymaps/ottodokto/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// RGB Control Layer
[3] = LAYOUT_all(
- RGB_SPI, RGB_TOG, RGB_HUD, RGB_VAI, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_SPI, RGB_TOG, RGB_HUD, RGB_VAI, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
RGB_SPD, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, VLK_TOG, _______, _______, _______, EEP_RST,
_______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/tmo50/keymaps/pyrol/keymap.c b/keyboards/tmo50/keymaps/pyrol/keymap.c
index f67d26092f..53534f56e3 100644
--- a/keyboards/tmo50/keymaps/pyrol/keymap.c
+++ b/keyboards/tmo50/keymaps/pyrol/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Fn4 layer
[4] = LAYOUT_all(
- RESET, 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,
+ QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/tmo50/keymaps/xerpocalypse/keymap.c b/keyboards/tmo50/keymaps/xerpocalypse/keymap.c
index ca93f9aa88..50abdcd00b 100644
--- a/keyboards/tmo50/keymaps/xerpocalypse/keymap.c
+++ b/keyboards/tmo50/keymaps/xerpocalypse/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Fn3 layer
[3] = 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_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/toad/config.h b/keyboards/toad/config.h
index 793e740fa3..98669c3d99 100644
--- a/keyboards/toad/config.h
+++ b/keyboards/toad/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6776
-#define DEVICE_VER 0x0001
-#define MANUFACTURER farmakon
-#define PRODUCT "TOAD"
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B3, B2, B1, E6, B7, C7, C6, D4, D6, D7, B4, D0, D1, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/toad/info.json b/keyboards/toad/info.json
index 5ef32af5c7..34b7b9d6eb 100644
--- a/keyboards/toad/info.json
+++ b/keyboards/toad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Toad",
+ "manufacturer": "farmakon",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6776",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/tokyokeyboard/alix40/config.h b/keyboards/tokyokeyboard/alix40/config.h
index f4b4e6e5ab..9557f130c9 100644
--- a/keyboards/tokyokeyboard/alix40/config.h
+++ b/keyboards/tokyokeyboard/alix40/config.h
@@ -16,13 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5143 // QC
-#define PRODUCT_ID 0x4134 // A4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER quadcube
-#define PRODUCT alix40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D7, C6, C7, B5 }
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, D0, D1, D2, D3, D5, D6 }
-#define UNUSED_PINS
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/tokyokeyboard/alix40/info.json b/keyboards/tokyokeyboard/alix40/info.json
index 66a578bef3..220e238128 100644
--- a/keyboards/tokyokeyboard/alix40/info.json
+++ b/keyboards/tokyokeyboard/alix40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "alix40",
+ "manufacturer": "quadcube",
"url": "https://tokyokeyboard.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5143",
+ "pid": "0x4134",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_40_alix": {
"layout": [{
diff --git a/keyboards/tokyokeyboard/tokyo60/config.h b/keyboards/tokyokeyboard/tokyo60/config.h
index 03dee74e9b..ab36ab7354 100644
--- a/keyboards/tokyokeyboard/tokyo60/config.h
+++ b/keyboards/tokyokeyboard/tokyo60/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5436 // "T6"
-#define PRODUCT_ID 0x6060 // Tokyo60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Tokyo Keyboard
-#define PRODUCT Tokyo60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -31,7 +24,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B2, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/tokyokeyboard/tokyo60/info.json b/keyboards/tokyokeyboard/tokyo60/info.json
index 3f6b120c17..b6422e68c7 100644
--- a/keyboards/tokyokeyboard/tokyo60/info.json
+++ b/keyboards/tokyokeyboard/tokyo60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tokyo60",
+ "manufacturer": "Tokyo Keyboard",
"url": "https://tokyokeyboard.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5436",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [{
diff --git a/keyboards/tominabox1/adalyn/config.h b/keyboards/tominabox1/adalyn/config.h
index c34337f245..136a8ae6df 100644
--- a/keyboards/tominabox1/adalyn/config.h
+++ b/keyboards/tominabox1/adalyn/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x6164
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tominabox1
-#define PRODUCT Adalyn
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { C7, D6, B7, B3 }
#define MATRIX_COL_PINS { D7, B4, B5, B6, C6, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tominabox1/adalyn/info.json b/keyboards/tominabox1/adalyn/info.json
index b8cc6640af..4fe658d5a3 100644
--- a/keyboards/tominabox1/adalyn/info.json
+++ b/keyboards/tominabox1/adalyn/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "adalyn",
+ "keyboard_name": "Adalyn",
+ "manufacturer": "tominabox1",
"url": "https://github.com/MarvFPV/Adalyn",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x6164",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0, "w":1.25}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2, "w":1.5}, {"x":0, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3}, {"x":10.75, "y":3}]
diff --git a/keyboards/tominabox1/adalyn/readme.md b/keyboards/tominabox1/adalyn/readme.md
index d6292b5cad..ee4d59bcfa 100644
--- a/keyboards/tominabox1/adalyn/readme.md
+++ b/keyboards/tominabox1/adalyn/readme.md
@@ -16,4 +16,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/tominabox1/bigboy/bigboy.c b/keyboards/tominabox1/bigboy/bigboy.c
new file mode 100755
index 0000000000..3cb1ec442d
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/bigboy.c
@@ -0,0 +1,31 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "bigboy.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ }
+ return true;
+}
+#endif /* ENCODER_ENABLE */
diff --git a/keyboards/tominabox1/bigboy/bigboy.h b/keyboards/tominabox1/bigboy/bigboy.h
new file mode 100755
index 0000000000..ef3b4a44f9
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/bigboy.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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, \
+ K10, K11, K12 \
+) { \
+ { K00, K01, K02, }, \
+ { K10, K11, K12 }, \
+}
+
+#define LAYOUT_2us( \
+ K00, K01, K02 \
+) { \
+ { K00, K01, K02 }, \
+}
diff --git a/keyboards/tominabox1/bigboy/config.h b/keyboards/tominabox1/bigboy/config.h
new file mode 100755
index 0000000000..9e95f1f5c7
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/config.h
@@ -0,0 +1,52 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define DIRECT_PINS { \
+ { D0, B1, B0 }, \
+ { B7, B2, B3 } \
+}
+
+
+#define ENCODERS_PAD_A { C6 }
+#define ENCODERS_PAD_B { B6 }
+#define ENCODER_RESOLUTION 2
+
+#define RGB_DI_PIN B5
+
+#ifdef RGB_DI_PIN
+
+ #define RGBLED_NUM 5
+
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_SNAKE
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_CHRISTMAS
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_TWINKLE
+
+#endif /* RGB_DI_PIN */
diff --git a/keyboards/tominabox1/bigboy/info.json b/keyboards/tominabox1/bigboy/info.json
new file mode 100644
index 0000000000..4c18c89555
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/info.json
@@ -0,0 +1,19 @@
+{
+ "keyboard_name": "BigBoy",
+ "manufacturer": "tominabox1",
+ "url": "",
+ "maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x6262",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}]
+ },
+ "LAYOUT_2us": {
+ "layout": [{"label":"0,0", "x":0, "y":0, "h":2}, {"label":"0,1", "x":1, "y":0, "h":2}, {"label":"0,2", "x":2, "y":0, "h":2}]
+ }
+ }
+}
diff --git a/keyboards/tominabox1/bigboy/keymaps/default/keymap.c b/keyboards/tominabox1/bigboy/keymaps/default/keymap.c
new file mode 100755
index 0000000000..dfb4030e68
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define LT1_SPC LT(1, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_1, KC_2, KC_3,
+ KC_4, KC_5, MO(1)
+ ),
+ [1] = LAYOUT(
+ QK_BOOT, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+ [2] = LAYOUT(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/tominabox1/bigboy/keymaps/default_2u/keymap.c b/keyboards/tominabox1/bigboy/keymaps/default_2u/keymap.c
new file mode 100755
index 0000000000..7ad83d3d6f
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/keymaps/default_2u/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#define LT1_SPC LT(1, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_2us(
+ KC_1, KC_2, MO(1)
+ ),
+ [1] = LAYOUT_2us(
+ QK_BOOT, KC_NO, KC_NO
+ ),
+ [2] = LAYOUT_2us(
+ KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/tominabox1/bigboy/readme.md b/keyboards/tominabox1/bigboy/readme.md
new file mode 100755
index 0000000000..c76065637c
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/readme.md
@@ -0,0 +1,20 @@
+# BigBoy
+
+A macropad designed by dingusxmcgee_ and tominabox1.
+
+![bigboy](https://i.imgur.com/oqxx6sEh.jpg)
+
+* Keyboard Maintainer: [tominabox1](https://github.com/tominabox1)
+* Hardware Supported: BigBoy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make bigboy:default
+
+Flashing example for this keyboard:
+
+ make bigboy:default:flash
+
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB, hold the top left key when plugging in, or the a programmed button on the 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/tominabox1/bigboy/rules.mk b/keyboards/tominabox1/bigboy/rules.mk
new file mode 100755
index 0000000000..a31774530d
--- /dev/null
+++ b/keyboards/tominabox1/bigboy/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
diff --git a/keyboards/tominabox1/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h
index b2e4c673a4..e5715bdbce 100644
--- a/keyboards/tominabox1/le_chiffre/config.h
+++ b/keyboards/tominabox1/le_chiffre/config.h
@@ -17,30 +17,10 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0xD645
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tominabox1
-#define PRODUCT Le Chiffre
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
-/*
- * 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 { B3, D4, F1, C6 }
-#define MATRIX_COL_PINS { F4, F5, B0, B2, B1, B4, D7, C7, D2, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -53,14 +33,10 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* Define encoder pads */
-#define ENCODERS_PAD_A { D5 }
-#define ENCODERS_PAD_B { D3 }
-
/*
* WS2812 Underglow Matrix options
*/
-#define RGB_DI_PIN F0
+
#define RGBLED_NUM 11
#define DRIVER_LED_TOTAL RGBLED_NUM
@@ -76,53 +52,4 @@
#define RGB_MATRIX_SAT_STEP 8
#define RGB_MATRIX_VAL_STEP 8
#define RGB_MATRIX_SPD_STEP 10
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/tominabox1/le_chiffre/he/config.h b/keyboards/tominabox1/le_chiffre/he/config.h
new file mode 100644
index 0000000000..b0b471ac08
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* COL2ROW, ROW2COL*/
+#undef DIODE_DIRECTION
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B3, D4, F1, C6 }
+#define MATRIX_COL_PINS { F4, F5, B0, B2, B1, B4, D7, C7, D2, F7 }
+
+/* Define encoder pads */
+#define ENCODERS_PAD_A { D5 }
+#define ENCODERS_PAD_B { D3 }
+
+/*
+ * WS2812 Underglow Matrix options
+ */
+#define RGB_DI_PIN F0
diff --git a/keyboards/tominabox1/le_chiffre/he/he.c b/keyboards/tominabox1/le_chiffre/he/he.c
new file mode 100644
index 0000000000..0e07cc7111
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/he.c
@@ -0,0 +1,33 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "he.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 3, 4, NO_LED, 5, 6 },
+ { NO_LED, NO_LED, 10, NO_LED, NO_LED },
+ { NO_LED, NO_LED, 9, NO_LED, NO_LED },
+ { 2, 1, 0, 8, 7 }
+}, {
+
+ // LED Index to Physical Position
+ { 128, 64 }, { 77, 64 }, { 0, 48 }, { 0, 0 }, { 115, 0 }, { 166, 0 }, { 255, 0 }, { 255, 48 }, { 178, 64 }, { 128, 40 }, { 128, 30 }
+}, {
+
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/tominabox1/le_chiffre/he/he.h b/keyboards/tominabox1/le_chiffre/he/he.h
new file mode 100644
index 0000000000..fc14242dd9
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/he.h
@@ -0,0 +1,33 @@
+/* Copyright 2022 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K38, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K32, K34, K35, K37 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { XXX, XXX, K32, XXX, K34, K35, XXX, K37, K38, XXX } \
+}
diff --git a/keyboards/tominabox1/le_chiffre/he/info.json b/keyboards/tominabox1/le_chiffre/he/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/tominabox1/le_chiffre/he/readme.md b/keyboards/tominabox1/le_chiffre/he/readme.md
new file mode 100644
index 0000000000..eb0904a2ff
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/readme.md
@@ -0,0 +1 @@
+The HE firmware is for the Hotswap Edition (HE) PCB by @nasp, available at checkerboards.xyz.
diff --git a/keyboards/tominabox1/le_chiffre/he/rules.mk b/keyboards/tominabox1/le_chiffre/he/rules.mk
new file mode 100644
index 0000000000..7054ebf63b
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/he/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+LTO_ENABLE = yes
diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json
index afcbc752a5..6a7e10fad7 100644
--- a/keyboards/tominabox1/le_chiffre/info.json
+++ b/keyboards/tominabox1/le_chiffre/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "le_chiffre",
+ "keyboard_name": "Le Chiffre",
+ "manufacturer": "tominabox1",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0xD645"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Rotary", "x":5, "y":0, "w":1}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0},
diff --git a/keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c
index 10a2fb0d4a..c626cba1cc 100644
--- a/keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c
+++ b/keyboards/tominabox1/le_chiffre/keymaps/via/keymap.c
@@ -144,13 +144,14 @@ void render_mod_status(uint8_t modifiers) {
oled_write_ln_P(PSTR("GUI"), (modifiers & MOD_MASK_GUI));
}
-bool oled_task_user(void) {
+void oled_task_keymap(void) {
render_lechiffre_logo();
oled_set_cursor(0,3);
// render_layer_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
render_mod_status(get_mods()|get_oneshot_mods());
render_keylock_status(host_keyboard_led_state());
render_keylogger_status();
+
return false;
}
diff --git a/keyboards/tominabox1/le_chiffre/le_chiffre.c b/keyboards/tominabox1/le_chiffre/le_chiffre.c
deleted file mode 100644
index 8eca292cce..0000000000
--- a/keyboards/tominabox1/le_chiffre/le_chiffre.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2020 tominabox1
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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 "le_chiffre.h"
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 3, 4, NO_LED, 5, 6 },
- { NO_LED, NO_LED, 10, NO_LED, NO_LED },
- { NO_LED, NO_LED, 9, NO_LED, NO_LED },
- { 2, 1, 0, 8, 7 }
-}, {
-
- // LED Index to Physical Position
- { 128, 64 }, { 77, 64 }, { 0, 48 }, { 0, 0 }, { 115, 0 }, { 166, 0 }, { 255, 0 }, { 255, 48 }, { 178, 64 }, { 128, 40 }, { 128, 30 }
-}, {
-
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
-} };
-#endif
diff --git a/keyboards/tominabox1/le_chiffre/readme.md b/keyboards/tominabox1/le_chiffre/readme.md
index ea18546c61..9ac3d6c81c 100644
--- a/keyboards/tominabox1/le_chiffre/readme.md
+++ b/keyboards/tominabox1/le_chiffre/readme.md
@@ -2,14 +2,20 @@
![Le Chiffre](https://i.imgur.com/X1WsUmdl.png)
-Le Chiffre (ironically, "the number" in French is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder.
+Le Chiffre (ironically, "the number" in French) is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder.
+There are 3 PCB revisions: Rev 1 (Original), Rev 2 (P3D version sold with the Le Chiffre Plus), and HE (Hotswap Edition from Checkerboards.xyz).
+
+By default the OLED is **disabled**. This is to prevent issues with operation when one is not installed. Be sure to enable the OLED in the rules.mk file if you have one installed!
+
* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
-* Hardware Supported: Le Chiffre (source not available at this time)
+* Hardware Supported: [Le Chiffre](https://github.com/tominabox1/Le-Chiffre-Keyboard)
* Hardware Availability: Bring your own case.
Make example for this keyboard (after setting up your build environment):
- make tominabox1/le_chiffre:default
+ make tominabox1/le_chiffre/rev1:default
+ make tominabox1/le_chiffre/rev2:default
+ make tominabox1/le_chiffre/he: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/tominabox1/le_chiffre/rev1/config.h b/keyboards/tominabox1/le_chiffre/rev1/config.h
new file mode 100644
index 0000000000..78609df05e
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev1/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/*
+ * 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 { B3, D4, F1, C6 }
+#define MATRIX_COL_PINS { F4, F5, B0, B2, B1, B4, D7, C7, D2, F7 }
+
+/* Define encoder pads */
+#define ENCODERS_PAD_A { D5 }
+#define ENCODERS_PAD_B { D3 }
+
+/*
+ * WS2812 Underglow Matrix options
+ */
+#define RGB_DI_PIN F0
diff --git a/keyboards/tominabox1/le_chiffre/rev1/info.json b/keyboards/tominabox1/le_chiffre/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/tominabox1/le_chiffre/rev1/rev1.c b/keyboards/tominabox1/le_chiffre/rev1/rev1.c
new file mode 100644
index 0000000000..e3b2b014f4
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev1/rev1.c
@@ -0,0 +1,33 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 3, 4, NO_LED, 5, 6 },
+ { NO_LED, NO_LED, 10, NO_LED, NO_LED },
+ { NO_LED, NO_LED, 9, NO_LED, NO_LED },
+ { 2, 1, 0, 8, 7 }
+}, {
+
+ // LED Index to Physical Position
+ { 128, 64 }, { 77, 64 }, { 0, 48 }, { 0, 0 }, { 115, 0 }, { 166, 0 }, { 255, 0 }, { 255, 48 }, { 178, 64 }, { 128, 40 }, { 128, 30 }
+}, {
+
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/tominabox1/le_chiffre/le_chiffre.h b/keyboards/tominabox1/le_chiffre/rev1/rev1.h
index 0277e1b42d..0277e1b42d 100644
--- a/keyboards/tominabox1/le_chiffre/le_chiffre.h
+++ b/keyboards/tominabox1/le_chiffre/rev1/rev1.h
diff --git a/keyboards/tominabox1/le_chiffre/rev1/rules.mk b/keyboards/tominabox1/le_chiffre/rev1/rules.mk
new file mode 100644
index 0000000000..2cd4ebf52f
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev1/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+LTO_ENABLE = yes
+
diff --git a/keyboards/tominabox1/le_chiffre/rev2/config.h b/keyboards/tominabox1/le_chiffre/rev2/config.h
new file mode 100644
index 0000000000..bdff4120d6
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/*
+ * 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 { B3, F6, F7, C7 }
+#define MATRIX_COL_PINS { B2, F0, F1, F4, F5, B5, B4, D7, D6, D4 }
+
+/* Define encoder pads */
+#define ENCODERS_PAD_A { B6 }
+#define ENCODERS_PAD_B { C6 }
+
+/*
+ * WS2812 Underglow Matrix options
+ */
+#define RGB_DI_PIN B1
diff --git a/keyboards/tominabox1/le_chiffre/rev2/info.json b/keyboards/tominabox1/le_chiffre/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/tominabox1/le_chiffre/rev2/readme.md b/keyboards/tominabox1/le_chiffre/rev2/readme.md
new file mode 100644
index 0000000000..b8c65bc0e0
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/readme.md
@@ -0,0 +1,2 @@
+Updated v2 PCB with better plate screw clearances, ESD protection, as well as sweet sweet curvy traces.
+Rev. 2.0 requires new firmware due to the pinout changing to facilitate prettier trace runs. \ No newline at end of file
diff --git a/keyboards/tominabox1/le_chiffre/rev2/rev2.c b/keyboards/tominabox1/le_chiffre/rev2/rev2.c
new file mode 100644
index 0000000000..e15aa35243
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/rev2.c
@@ -0,0 +1,33 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ { 3, 4, NO_LED, 5, 6 },
+ { NO_LED, NO_LED, 10, NO_LED, NO_LED },
+ { NO_LED, NO_LED, 9, NO_LED, NO_LED },
+ { 2, 1, 0, 8, 7 }
+}, {
+
+ // LED Index to Physical Position
+ { 128, 64 }, { 77, 64 }, { 0, 48 }, { 0, 0 }, { 115, 0 }, { 166, 0 }, { 255, 0 }, { 255, 48 }, { 178, 64 }, { 128, 40 }, { 128, 30 }
+}, {
+
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+#endif
diff --git a/keyboards/tominabox1/le_chiffre/rev2/rev2.h b/keyboards/tominabox1/le_chiffre/rev2/rev2.h
new file mode 100644
index 0000000000..0277e1b42d
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/rev2.h
@@ -0,0 +1,33 @@
+/* Copyright 2020 tominabox1
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K38, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K32, K34, K35, K37 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { XXX, XXX, K32, XXX, K34, K35, XXX, K37, K38, XXX } \
+}
diff --git a/keyboards/tominabox1/le_chiffre/rev2/rules.mk b/keyboards/tominabox1/le_chiffre/rev2/rules.mk
new file mode 100644
index 0000000000..2cd4ebf52f
--- /dev/null
+++ b/keyboards/tominabox1/le_chiffre/rev2/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+LTO_ENABLE = yes
+
diff --git a/keyboards/tominabox1/le_chiffre/rules.mk b/keyboards/tominabox1/le_chiffre/rules.mk
index bc5775a151..57b3d94eab 100644
--- a/keyboards/tominabox1/le_chiffre/rules.mk
+++ b/keyboards/tominabox1/le_chiffre/rules.mk
@@ -1,19 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-NKRO_ENABLE = yes # Enable N-Key Rollover
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-ENCODER_ENABLE = yes
-OLED_ENABLE = no
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
-LTO_ENABLE = yes
+DEFAULT_FOLDER = tominabox1/le_chiffre/rev1
diff --git a/keyboards/tominabox1/littlefoot_lx/readme.md b/keyboards/tominabox1/littlefoot_lx/readme.md
index 5ef9186347..161c158637 100644
--- a/keyboards/tominabox1/littlefoot_lx/readme.md
+++ b/keyboards/tominabox1/littlefoot_lx/readme.md
@@ -27,4 +27,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/config.h b/keyboards/tominabox1/littlefoot_lx/rev1/config.h
index 0f9ad3c918..cdfa3ccef2 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev1/config.h
+++ b/keyboards/tominabox1/littlefoot_lx/rev1/config.h
@@ -20,14 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x6C78
-#define DEVICE_VER 0x0001
-#define PRODUCT Littlefoot LX
-#define MANUFACTURER tominabox1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
@@ -35,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 }
#define MATRIX_COL_PINS { D7, D6, D4, E2, F5, F6, F7, B6, B5, B4 } // uncomment for original groupbuy
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/info.json b/keyboards/tominabox1/littlefoot_lx/rev1/info.json
index ee2d32e667..107b62910c 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev1/info.json
+++ b/keyboards/tominabox1/littlefoot_lx/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Littlefoot LX",
+ "manufacturer": "tominabox1",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x6C78",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}]
diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/config.h b/keyboards/tominabox1/littlefoot_lx/rev2/config.h
index db97c0f133..15e8583f37 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev2/config.h
+++ b/keyboards/tominabox1/littlefoot_lx/rev2/config.h
@@ -20,14 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x6C78
-#define DEVICE_VER 0x0001
-#define PRODUCT Littlefoot LX
-#define MANUFACTURER tominabox1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
@@ -35,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 }
#define MATRIX_COL_PINS { D7, D6, D4, C7, F5, F6, F7, B6, B5, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/info.json b/keyboards/tominabox1/littlefoot_lx/rev2/info.json
index ee2d32e667..107b62910c 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev2/info.json
+++ b/keyboards/tominabox1/littlefoot_lx/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Littlefoot LX",
+ "manufacturer": "tominabox1",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x6C78",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}]
diff --git a/keyboards/tominabox1/qaz/config.h b/keyboards/tominabox1/qaz/config.h
index 1dbaaa0fc4..9dc105c867 100644
--- a/keyboards/tominabox1/qaz/config.h
+++ b/keyboards/tominabox1/qaz/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER whydobearsexplod
-#define PRODUCT qaz keyboard
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 7
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { F4, D4, C6, E6, D1, D0 }
#define MATRIX_COL_PINS { B4, D3, D2, F5, B5, F6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tominabox1/qaz/info.json b/keyboards/tominabox1/qaz/info.json
index bae0c72bf1..9e524eb5c3 100644
--- a/keyboards/tominabox1/qaz/info.json
+++ b/keyboards/tominabox1/qaz/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "qaz",
+ "manufacturer": "whydobearsexplod",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_space": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0, "w":1.25}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":"Ent", "x":9.25, "y":1}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":5.75, "y":2}, {"label":"M", "x":6.75, "y":2}, {"label":".", "x":7.75, "y":2}, {"label":"Shift","x":8.75, "y":2, "w":1.5},{"label":"Super", "x":0, "y":3}, {"label":"Meta", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"", "x":3, "y":3, "w":2.25}, {"label":"", "x":5.25, "y":3, "w":2}, {"label":"AltGr", "x":7.25, "y":3},{"label":"Meta", "x":8.25, "y":3},{"label":"Super", "x":9.25, "y":3}]
diff --git a/keyboards/tominabox1/underscore33/rev1/config.h b/keyboards/tominabox1/underscore33/rev1/config.h
index 8bdb802bde..787924cae1 100644
--- a/keyboards/tominabox1/underscore33/rev1/config.h
+++ b/keyboards/tominabox1/underscore33/rev1/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x3301 // _33 rev1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tominabox1
-#define PRODUCT underscore33
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F5, F6, C6, D0 }
#define MATRIX_COL_PINS { B4, B5, D5, F7, B1, F4, B3, D7, B0, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/tominabox1/underscore33/rev1/info.json b/keyboards/tominabox1/underscore33/rev1/info.json
index dff483d85f..7dac151000 100644
--- a/keyboards/tominabox1/underscore33/rev1/info.json
+++ b/keyboards/tominabox1/underscore33/rev1/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "underscore33",
+ "manufacturer": "tominabox1",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x3301",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_33_big_space": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0},{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1.25}, {"label":"", "x":1.9, "y":3, "w":6.25}, {"label":"", "x":8.15, "y":3, "w":1.25}]
diff --git a/keyboards/tominabox1/underscore33/rev2/config.h b/keyboards/tominabox1/underscore33/rev2/config.h
index 0e965de231..c6031c86d4 100644
--- a/keyboards/tominabox1/underscore33/rev2/config.h
+++ b/keyboards/tominabox1/underscore33/rev2/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7431
-#define PRODUCT_ID 0x3302 // _33 rev2
-#define DEVICE_VER 0x0002
-#define MANUFACTURER tominabox1
-#define PRODUCT underscore33
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -41,7 +34,6 @@
#define MATRIX_ROW_PINS { C4, B0, B1, B2 }
#define MATRIX_COL_PINS { C5, C6, C7, B7, B6, B5, B4, B3, C2, D0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/tominabox1/underscore33/rev2/info.json b/keyboards/tominabox1/underscore33/rev2/info.json
index b2c89ba344..36f8b5d8ee 100644
--- a/keyboards/tominabox1/underscore33/rev2/info.json
+++ b/keyboards/tominabox1/underscore33/rev2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "underscore33",
+ "manufacturer": "tominabox1",
"url": "",
"maintainer": "tominabox1",
+ "usb": {
+ "vid": "0x7431",
+ "pid": "0x3302",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_33_big_space": {
"layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0},{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1.25}, {"label":"", "x":1.9, "y":3, "w":6.25}, {"label":"", "x":8.15, "y":3, "w":1.25}]
diff --git a/keyboards/torn/config.h b/keyboards/torn/config.h
index 6cd6c2808e..b36ad9b1d9 100644
--- a/keyboards/torn/config.h
+++ b/keyboards/torn/config.h
@@ -19,14 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-/* VID & PID from vusb project, see tmk_core/protocol/vusb/USB-IDs-for-free.txt"*/
-#define VENDOR_ID 0x7274
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0000
-#define MANUFACTURER richard.titmuss
-#define PRODUCT Torn
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -45,7 +37,6 @@
{ D4, D1, D0, D5 }
#define MATRIX_COL_PINS \
{ B3, B4, B5, B0, D7, D6 }
-#define UNUSED_PINS
#define SECONDARY_ROW_PINS \
{ (1 << 5), (1 << 6), (1 << 7), (1 << 4) }
diff --git a/keyboards/torn/info.json b/keyboards/torn/info.json
index 8c35427570..26e6ade034 100644
--- a/keyboards/torn/info.json
+++ b/keyboards/torn/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Torn / Split Through Hole",
+ "keyboard_name": "Torn",
+ "manufacturer": "richard.titmuss",
"url": "https://github.com/rtitmuss/torn",
"maintainer": "rtitmuss",
+ "usb": {
+ "vid": "0x7274",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_4": {
"layout": [
diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/config.h b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h
index 89a67474ca..a71d199fb8 100644
--- a/keyboards/torn/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/touchpad/config.h b/keyboards/touchpad/config.h
index 8b42d0fe4f..2499fca4e1 100644
--- a/keyboards/touchpad/config.h
+++ b/keyboards/touchpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16D0
-#define PRODUCT_ID 0x0DB8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER JacoBurge
-#define PRODUCT TouchPad
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
diff --git a/keyboards/touchpad/info.json b/keyboards/touchpad/info.json
index d8d0fab168..c20d14ce7e 100644
--- a/keyboards/touchpad/info.json
+++ b/keyboards/touchpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "touchpad",
+ "keyboard_name": "TouchPad",
+ "manufacturer": "JacoBurge",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x16D0",
+ "pid": "0x0DB8",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x6": {
"layout": [
diff --git a/keyboards/tr60w/config.h b/keyboards/tr60w/config.h
index 5f029758a5..d252e799a3 100644
--- a/keyboards/tr60w/config.h
+++ b/keyboards/tr60w/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4140
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Triangle_Lab
-#define PRODUCT TR60W
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, B1, B2, E6, B3 }
#define MATRIX_COL_PINS { F5, F4, F1, F0, B0, D5, D3, D6, D7, B4, B5, B6, C6, D2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tr60w/info.json b/keyboards/tr60w/info.json
index 629fb97b94..8a8fbdff78 100644
--- a/keyboards/tr60w/info.json
+++ b/keyboards/tr60w/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TR60W",
+ "manufacturer": "Triangle Lab",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x4140",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [
diff --git a/keyboards/tr60w/keymaps/joule-flow/keymap.c b/keyboards/tr60w/keymaps/joule-flow/keymap.c
index bfe0db0d5e..3adc9a84f9 100644
--- a/keyboards/tr60w/keymaps/joule-flow/keymap.c
+++ b/keyboards/tr60w/keymaps/joule-flow/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
LAYOUT_60_tsangan_hhkb(
- 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_NUHS, KC_NUBS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS,
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, KC_WH_U, KC_BTN1 , KC_MS_U , KC_BTN2, KC_WH_L, _______, KC_DEL,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, KC_WH_D, KC_MS_L , KC_MS_D , KC_MS_R, KC_WH_R, _______,
_______, RCTL(KC_Y), RCTL(KC_X), RCTL(KC_C), RCTL(KC_V), _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/trashman/ketch/config.h b/keyboards/trashman/ketch/config.h
index 93e6479a15..20e79e5c1c 100644
--- a/keyboards/trashman/ketch/config.h
+++ b/keyboards/trashman/ketch/config.h
@@ -23,12 +23,6 @@ SOFTWARE.
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0xFEAE
-#define PRODUCT_ID 0x8947
-#define DEVICE_VER 0x0001
-#define MANUFACTURER trash man
-#define PRODUCT Ketch
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { F5, F1, F0, F7, B6, F6 }
diff --git a/keyboards/trashman/ketch/info.json b/keyboards/trashman/ketch/info.json
index 2fa70b05be..fbeffd539c 100644
--- a/keyboards/trashman/ketch/info.json
+++ b/keyboards/trashman/ketch/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ketch",
+ "keyboard_name": "Ketch",
+ "manufacturer": "trash man",
"url": "https://trashman.wiki/pcbs/ketch",
"maintainer": "jetpacktuxedo",
+ "usb": {
+ "vid": "0xFEAE",
+ "pid": "0x8947",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/trashman/ketch/keymaps/jetpacktuxedo/keymap.c b/keyboards/trashman/ketch/keymaps/jetpacktuxedo/keymap.c
index 50b1f7a62e..0cbe1bb7f9 100644
--- a/keyboards/trashman/ketch/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/trashman/ketch/keymaps/jetpacktuxedo/keymap.c
@@ -54,8 +54,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, KC_TRNS, LT(5, KC_SLSH),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
- [5] = LAYOUT_jetvan( /* RESET Layer*/
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ [5] = LAYOUT_jetvan( /* QK_BOOT Layer*/
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/treasure/type9/config.h b/keyboards/treasure/type9/config.h
index 86734a7fd8..31a5602c71 100644
--- a/keyboards/treasure/type9/config.h
+++ b/keyboards/treasure/type9/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Treasure
-#define PRODUCT Type 9
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, D7, C6 }
#define MATRIX_COL_PINS { D1, D0, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/treasure/type9/info.json b/keyboards/treasure/type9/info.json
index 2f8b7c82b2..4f97080c00 100644
--- a/keyboards/treasure/type9/info.json
+++ b/keyboards/treasure/type9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Type-9",
+ "manufacturer": "Treasure",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}]
diff --git a/keyboards/treasure/type9s2/config.h b/keyboards/treasure/type9s2/config.h
index a9d73f961f..a231e4523b 100644
--- a/keyboards/treasure/type9s2/config.h
+++ b/keyboards/treasure/type9s2/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5452
-#define PRODUCT_ID 0x5492
-#define DEVICE_VER 0x0001
-#define MANUFACTURER TREASURE
-#define PRODUCT TYPE-9 Series II
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -32,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments*/
#define MATRIX_ROW_PINS { B4, B5, D2 }
#define MATRIX_COL_PINS { B2, B3, C5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/treasure/type9s2/info.json b/keyboards/treasure/type9s2/info.json
index 68b47f46ef..388b202af0 100644
--- a/keyboards/treasure/type9s2/info.json
+++ b/keyboards/treasure/type9s2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Treasure TYPE-9 Series II",
+ "keyboard_name": "Type-9 Series II",
+ "manufacturer": "Treasure",
"url": "http://treasuretypes.com",
"maintainer": "Treasure",
+ "usb": {
+ "vid": "0x5452",
+ "pid": "0x5492",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/config.h b/keyboards/tronguylabs/m122_3270/blackpill/config.h
index 53c3ad73e4..03d97de30e 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/config.h
+++ b/keyboards/tronguylabs/m122_3270/blackpill/config.h
@@ -22,6 +22,3 @@
// rows are inputs). Note that every usable I/O pin is used.
#define MATRIX_COL_PINS { B0, B1, B10, B12, B13, B14, B15, A8, A7, A10, A6, A5, A15, B3, B4, B5, B6, B7, B8, B9 }
#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 }
-
-// The BlackPill version is version 2
-#define DEVICE_VER 0x0002
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/info.json b/keyboards/tronguylabs/m122_3270/blackpill/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/tronguylabs/m122_3270/blackpill/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
index c802f00412..821cf29632 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
+++ b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/tronguylabs/m122_3270/bluepill/config.h b/keyboards/tronguylabs/m122_3270/bluepill/config.h
index f59eaaacb6..c8cf8523f6 100644
--- a/keyboards/tronguylabs/m122_3270/bluepill/config.h
+++ b/keyboards/tronguylabs/m122_3270/bluepill/config.h
@@ -24,6 +24,3 @@
// rows are inputs). Note that every usable I/O pin is used.
#define MATRIX_COL_PINS { B1, B10, B11, B12, B13, B14, B15, A8, B0, A10, A7, A6, A15, B3, B4, B5, B6, B7, B8, B9 }
#define MATRIX_ROW_PINS { C13, C14, C15, A1, A2, A3, A4, A5 }
-
-// The BluePill version is version 3
-#define DEVICE_VER 0x0003
diff --git a/keyboards/tronguylabs/m122_3270/bluepill/info.json b/keyboards/tronguylabs/m122_3270/bluepill/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/tronguylabs/m122_3270/bluepill/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/tronguylabs/m122_3270/config.h b/keyboards/tronguylabs/m122_3270/config.h
index 98359e6cc4..801fc9ee50 100644
--- a/keyboards/tronguylabs/m122_3270/config.h
+++ b/keyboards/tronguylabs/m122_3270/config.h
@@ -18,11 +18,6 @@
#include "config_common.h"
-#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
diff --git a/keyboards/tronguylabs/m122_3270/info.json b/keyboards/tronguylabs/m122_3270/info.json
index cddc24ea9c..f6fba523d6 100644
--- a/keyboards/tronguylabs/m122_3270/info.json
+++ b/keyboards/tronguylabs/m122_3270/info.json
@@ -1,6 +1,11 @@
{
- "keyboard_name": "IBM Model M PC/3270 122 key",
+ "keyboard_name": "Model M PC/3270 122 key",
+ "manufacturer": "IBM",
"maintainer": "jmaynard",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x3270"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tronguylabs/m122_3270/teensy/config.h b/keyboards/tronguylabs/m122_3270/teensy/config.h
index 33590b4064..b105ecad52 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/config.h
+++ b/keyboards/tronguylabs/m122_3270/teensy/config.h
@@ -20,6 +20,3 @@
// 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
diff --git a/keyboards/tronguylabs/m122_3270/teensy/info.json b/keyboards/tronguylabs/m122_3270/teensy/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/tronguylabs/m122_3270/teensy/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/tszaboo/ortho4exent/config.h b/keyboards/tszaboo/ortho4exent/config.h
index b331cfbde9..ba3d30a6bb 100644
--- a/keyboards/tszaboo/ortho4exent/config.h
+++ b/keyboards/tszaboo/ortho4exent/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5453 // "TS"
-#define PRODUCT_ID 0x7934 // "O4"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tszaboo
-#define PRODUCT ortho4exent
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { B0, B1, D4, D7, B4 }
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, D6, D5, D3, D2, D1, B7, B3, B2 }
-#define UNUSED_PINS
#define LED_CAPS_LOCK_PIN E6
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/tszaboo/ortho4exent/info.json b/keyboards/tszaboo/ortho4exent/info.json
index 4fe1e18f51..ad2e67dc70 100644
--- a/keyboards/tszaboo/ortho4exent/info.json
+++ b/keyboards/tszaboo/ortho4exent/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ortho4exent",
+ "manufacturer": "tszaboo",
"url": "https://github.com/tszaboo/Ortho4Exent",
"maintainer": "tszaboo",
+ "usb": {
+ "vid": "0x5453",
+ "pid": "0x7934",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tunks/ergo33/config.h b/keyboards/tunks/ergo33/config.h
index 11a427a30e..04d50fe24a 100644
--- a/keyboards/tunks/ergo33/config.h
+++ b/keyboards/tunks/ergo33/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xA0A1
-#define DEVICE_VER 0x0001
-#define MANUFACTURER kulmajaba
-#define PRODUCT Ergo33
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 7
diff --git a/keyboards/tunks/ergo33/info.json b/keyboards/tunks/ergo33/info.json
index ccfc26e1f0..64405edae4 100644
--- a/keyboards/tunks/ergo33/info.json
+++ b/keyboards/tunks/ergo33/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Ergo33",
+ "manufacturer": "kulmajaba",
"url": "https://github.com/kulmajaba/tunks-keyboard",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xA0A1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/tw40/config.h b/keyboards/tw40/config.h
index 67547b247e..c813f740d3 100644
--- a/keyboards/tw40/config.h
+++ b/keyboards/tw40/config.h
@@ -19,19 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x503D /* "P3D" */
-#define PRODUCT_ID 0x5457 /* "TW" */
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KnoblesseOblige
-#define PRODUCT TW40
-
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B0, D5, D3, D2 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/tw40/info.json b/keyboards/tw40/info.json
index 13f45e642e..68baf1819b 100644
--- a/keyboards/tw40/info.json
+++ b/keyboards/tw40/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Training Wheel 40",
+ "keyboard_name": "TW40",
+ "manufacturer": "KnoblesseOblige",
"url": "https://p3dstore.com/products/tw40-gb",
"maintainer": "KnoblesseOblige",
+ "usb": {
+ "vid": "0x503D",
+ "pid": "0x5457",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/tzarc/djinn/djinn.c b/keyboards/tzarc/djinn/djinn.c
index 23f59991a9..e6529e555d 100644
--- a/keyboards/tzarc/djinn/djinn.c
+++ b/keyboards/tzarc/djinn/djinn.c
@@ -70,7 +70,7 @@ void keyboard_post_init_kb(void) {
wait_ms(150);
// Initialise the LCD
- lcd = qp_ili9341_make_spi_device(320, 240, LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN, 4, 3);
+ lcd = qp_ili9341_make_spi_device(240, 320, LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN, 4, 0);
qp_init(lcd, QP_ROTATION_0);
// Turn on the LCD and clear the display
@@ -230,4 +230,4 @@ void housekeeping_task_kb(void) {
if (last_input_activity_elapsed() > 250) {
matrix_wait_for_interrupt();
}
-} \ No newline at end of file
+}
diff --git a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c
index 616a3c2430..a4e87bd341 100644
--- a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c
+++ b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c
@@ -158,7 +158,7 @@ void draw_ui_user(void) {
if (hue_redraw || rgb_effect_redraw) {
static int max_rgb_xpos = 0;
xpos = 16;
- snprintf_(buf, sizeof(buf), "rgb: %s", rgb_matrix_name(curr_effect));
+ snprintf(buf, sizeof(buf), "rgb: %s", rgb_matrix_name(curr_effect));
for (int i = 5; i < sizeof(buf); ++i) {
if (buf[i] == 0)
@@ -187,7 +187,7 @@ void draw_ui_user(void) {
static int max_layer_xpos = 0;
xpos = 16;
- snprintf_(buf, sizeof(buf), "layer: %s", layer_name);
+ snprintf(buf, sizeof(buf), "layer: %s", layer_name);
xpos += qp_drawtext_recolor(lcd, xpos, ypos, thintel, buf, curr_hue, 255, 255, curr_hue, 255, 0);
if (max_layer_xpos < xpos) {
max_layer_xpos = xpos;
@@ -200,7 +200,7 @@ void draw_ui_user(void) {
if (hue_redraw || power_state_redraw) {
static int max_power_xpos = 0;
xpos = 16;
- snprintf_(buf, sizeof(buf), "power: %s", usbpd_str(kb_state.current_setting));
+ snprintf(buf, sizeof(buf), "power: %s", usbpd_str(kb_state.current_setting));
xpos += qp_drawtext_recolor(lcd, xpos, ypos, thintel, buf, curr_hue, 255, 255, curr_hue, 255, 0);
if (max_power_xpos < xpos) {
max_power_xpos = xpos;
@@ -213,7 +213,7 @@ void draw_ui_user(void) {
if (hue_redraw || scan_redraw) {
static int max_scans_xpos = 0;
xpos = 16;
- snprintf_(buf, sizeof(buf), "scans: %d", (int)theme_state.scan_rate);
+ snprintf(buf, sizeof(buf), "scans: %d", (int)theme_state.scan_rate);
xpos += qp_drawtext_recolor(lcd, xpos, ypos, thintel, buf, curr_hue, 255, 255, curr_hue, 255, 0);
if (max_scans_xpos < xpos) {
max_scans_xpos = xpos;
@@ -226,7 +226,7 @@ void draw_ui_user(void) {
if (hue_redraw || wpm_redraw) {
static int max_wpm_xpos = 0;
xpos = 16;
- snprintf_(buf, sizeof(buf), "wpm: %d", (int)get_current_wpm());
+ snprintf(buf, sizeof(buf), "wpm: %d", (int)get_current_wpm());
xpos += qp_drawtext_recolor(lcd, xpos, ypos, thintel, buf, curr_hue, 255, 255, curr_hue, 255, 0);
if (max_wpm_xpos < xpos) {
max_wpm_xpos = xpos;
diff --git a/keyboards/uk78/config.h b/keyboards/uk78/config.h
index 4ac138a9b5..7ff07ad42f 100644
--- a/keyboards/uk78/config.h
+++ b/keyboards/uk78/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x554B // "UK"
-#define PRODUCT_ID 0x004E // 78
-#define DEVICE_VER 0x0002
-#define MANUFACTURER UK Keyboards
-#define PRODUCT UK78
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 19
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { F3, F2, F1, F0, A0 }
#define MATRIX_COL_PINS { A2, A1, F5, F4, E6, E7, E5, E4, B7, D0, D1, D2, D3, D4, D5, D6, D7, B5, E0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/uk78/info.json b/keyboards/uk78/info.json
index 0d7c103d6a..0481c33081 100644
--- a/keyboards/uk78/info.json
+++ b/keyboards/uk78/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UK78",
+ "manufacturer": "UK Keyboards",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x554B",
+ "pid": "0x004E",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K016", "x":16, "y":0}, {"label":"K017", "x":17, "y":0}, {"label":"K018", "x":18, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K101", "x":1.5, "y":1}, {"label":"K102", "x":2.5, "y":1}, {"label":"K103", "x":3.5, "y":1}, {"label":"K104", "x":4.5, "y":1}, {"label":"K105", "x":5.5, "y":1}, {"label":"K106", "x":6.5, "y":1}, {"label":"K107", "x":7.5, "y":1}, {"label":"K108", "x":8.5, "y":1}, {"label":"K109", "x":9.5, "y":1}, {"label":"K110", "x":10.5, "y":1}, {"label":"K111", "x":11.5, "y":1}, {"label":"K112", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K115", "x":15, "y":1}, {"label":"K116", "x":16, "y":1}, {"label":"K117", "x":17, "y":1}, {"label":"K118", "x":18, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K201", "x":1.75, "y":2}, {"label":"K202", "x":2.75, "y":2}, {"label":"K203", "x":3.75, "y":2}, {"label":"K204", "x":4.75, "y":2}, {"label":"K205", "x":5.75, "y":2}, {"label":"K206", "x":6.75, "y":2}, {"label":"K207", "x":7.75, "y":2}, {"label":"K208", "x":8.75, "y":2}, {"label":"K209", "x":9.75, "y":2}, {"label":"K210", "x":10.75, "y":2}, {"label":"K211", "x":11.75, "y":2}, {"label":"K212", "x":12.75, "y":2}, {"label":"K214", "x":13.75, "y":2, "w":1.25}, {"label":"K215", "x":15, "y":2}, {"label":"K216", "x":16, "y":2}, {"label":"K217", "x":17, "y":2}, {"label":"K218", "x":18, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K312", "x":12.25, "y":3}, {"label":"K313", "x":13.25, "y":3, "w":0.75}, {"label":"K314", "x":14, "y":3}, {"label":"K315", "x":15, "y":3}, {"label":"K316", "x":16, "y":3}, {"label":"K317", "x":17, "y":3}, {"label":"K318", "x":18, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K402", "x":2.5, "y":4, "w":1.25}, {"label":"K406", "x":3.75, "y":4, "w":6.25}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}, {"label":"K416", "x":16, "y":4}, {"label":"K417", "x":17, "y":4}, {"label":"K418", "x":18, "y":4}]
diff --git a/keyboards/uk78/keymaps/rask/keymap.c b/keyboards/uk78/keymaps/rask/keymap.c
index 6caee229ba..f29177fa0c 100644
--- a/keyboards/uk78/keymaps/rask/keymap.c
+++ b/keyboards/uk78/keymaps/rask/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL2] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______,
KC_CAPS, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, BL_INC, KC_MSTP, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_APP, KC_APP, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h
index cf639a4f28..d641bab9cd 100644
--- a/keyboards/ungodly/launch_pad/config.h
+++ b/keyboards/ungodly/launch_pad/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5544 // "UD" = Ungodly Design
-#define PRODUCT_ID 0x4C50 // "LP" = Launch Pad
-#define DEVICE_VER 0x9999
-#define MANUFACTURER Ungodly Design
-#define PRODUCT Launch Pad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json
index 767fef5e44..bc562186f4 100644
--- a/keyboards/ungodly/launch_pad/info.json
+++ b/keyboards/ungodly/launch_pad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Launch Pad",
+ "manufacturer": "Ungodly Design",
"url": "https://ungodly.design/products/launch-pad",
"maintainer": "Ungodly Design",
+ "usb": {
+ "vid": "0x5544",
+ "pid": "0x4C50",
+ "device_version": "99.9.9"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c b/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
index 63f142d913..23d3c5edc7 100644
--- a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
+++ b/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUD, RGB_HUI, XXXXXXX, RGB_M_P,
RGB_SAD, RGB_SAI, XXXXXXX, RGB_MOD,
RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX,
- RESET, RESET, XXXXXXX, XXXXXXX
+ QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX
),
};
diff --git a/keyboards/ungodly/nines/config.h b/keyboards/ungodly/nines/config.h
index a2f874bda9..127d462e26 100644
--- a/keyboards/ungodly/nines/config.h
+++ b/keyboards/ungodly/nines/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5544 // "UD" = Ungodly Design
-#define PRODUCT_ID 0x544E // "TN" = The Nines
-#define DEVICE_VER 0x9999
-#define MANUFACTURER Ungodly Design
-#define PRODUCT The Nines
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -34,7 +27,6 @@
{ F7, B1, B3 }, \
{ B2, B6, B5 } \
}
-#define UNUSED_PINS
/* Rotary Encoder Assignments */
#define ENCODERS_PAD_A { C6, E6 }
diff --git a/keyboards/ungodly/nines/info.json b/keyboards/ungodly/nines/info.json
index fc93e94a1d..1a15a069e6 100644
--- a/keyboards/ungodly/nines/info.json
+++ b/keyboards/ungodly/nines/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "The Nines",
+ "manufacturer": "Ungodly Design",
"url": "https://www.qlavier.com/",
"maintainer": "Ungodly Design",
+ "usb": {
+ "vid": "0x5544",
+ "pid": "0x544E",
+ "device_version": "99.9.9"
+ },
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/info.json b/keyboards/unicomp/classic_ultracl_post_2013/info.json
index 08f4d5ebf7..bfb70eb880 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_post_2013/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "unicomp/classic_ultracl_post_2013",
+ "keyboard_name": "Unicomp Classic / Ultra Classic (post-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
"maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
index feb2e32d57..ad7668bdea 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unicomp/Purdea Andrei
-#define PRODUCT Unicomp Spacesaver M
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
@@ -49,7 +43,6 @@
#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
index bedbca4f36..618a7c1c46 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "unicomp/classic_ultracl_pre_2013",
+ "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)",
+ "manufacturer": "Unicomp/Purdea Andrei",
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
"maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
index feb2e32d57..ad7668bdea 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unicomp/Purdea Andrei
-#define PRODUCT Unicomp Spacesaver M
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
@@ -49,7 +43,6 @@
#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/info.json b/keyboards/unicomp/spacesaver_m_post_2013/info.json
index 766a93e6c6..bfc60adfaf 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_post_2013/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "unicomp/spacesaver_m_post_2013",
+ "keyboard_name": "Unicomp Spacesaver M",
+ "manufacturer": "Unicomp/Purdea Andrei",
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
"maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
index 597d287b07..ddd8ef6e9c 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unicomp/Purdea Andrei
-#define PRODUCT Unicomp Spacesaver M
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
@@ -49,7 +43,6 @@
#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/info.json b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
index e912d82ead..3ce16d2c09 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "unicomp/spacesaver_m_pre_2013",
+ "keyboard_name": "Unicomp Spacesaver M",
+ "manufacturer": "Unicomp/Purdea Andrei",
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
"maintainer": "purdeaandrei",
+ "usb": {
+ "vid": "0x16C0",
+ "pid": "0x27DB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
index 597d287b07..ddd8ef6e9c 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x16C0
-#define PRODUCT_ID 0x27DB
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unicomp/Purdea Andrei
-#define PRODUCT Unicomp Spacesaver M
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
/* key matrix size */
@@ -49,7 +43,6 @@
#define MATRIX_COL_PINS { C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13 }
#define MATRIX_ROW_PINS { B14, B15, C6, C7, C8, C9, A8, A9 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unikeyboard/diverge3/config.h b/keyboards/unikeyboard/diverge3/config.h
index 502e97bd91..141fce0280 100644
--- a/keyboards/unikeyboard/diverge3/config.h
+++ b/keyboards/unikeyboard/diverge3/config.h
@@ -19,13 +19,6 @@ 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 0x1257
-#define DEVICE_VER 0x0001
-#define MANUFACTURER UniKeyboard
-#define PRODUCT diverge3
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unikeyboard/diverge3/info.json b/keyboards/unikeyboard/diverge3/info.json
index fc678b40bc..74dc2641a1 100644
--- a/keyboards/unikeyboard/diverge3/info.json
+++ b/keyboards/unikeyboard/diverge3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Diverge3",
+ "manufacturer": "UniKeyboard",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1257",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0.75}, {"x":2, "y":0.25}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0.25}, {"x":6, "y":0.5}, {"x":10, "y":0.5}, {"x":11, "y":0.25}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0.25}, {"x":15, "y":0.75}, {"x":16, "y":0}, {"x":0, "y":1}, {"x":1, "y":1.75}, {"x":2, "y":1.25}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1.25}, {"x":6, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.25}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1.25}, {"x":15, "y":1.75}, {"x":16, "y":1}, {"x":0, "y":2}, {"x":1, "y":2.75}, {"x":2, "y":2.25}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2.25}, {"x":6, "y":2.5}, {"x":10, "y":2.5}, {"x":11, "y":2.25}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2.25}, {"x":15, "y":2.75}, {"x":16, "y":2}, {"x":0, "y":3}, {"x":1, "y":3.75}, {"x":2, "y":3.25}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3.25}, {"x":6, "y":3.5}, {"x":10, "y":3.5}, {"x":11, "y":3.25}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3.25}, {"x":15, "y":3.75}, {"x":16, "y":3}, {"x":0, "y":4}, {"x":1, "y":4.75}, {"x":2, "y":4.25}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4.75, "h":1.25}, {"x":6, "y":5, "h":1.25}, {"x":7, "y":5.25}, {"x":9, "y":5.25}, {"x":10, "y":5, "h":1.25}, {"x":11, "y":4.75, "h":1.25}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4.25}, {"x":15, "y":4.75}, {"x":16, "y":4}]
diff --git a/keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c
index 2564640293..f9556b168a 100644
--- a/keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c
+++ b/keyboards/unikeyboard/diverge3/keymaps/iso_uk/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LOWER] = LAYOUT(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
BL_TOGG, KC_ASTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_INC, KC_ASUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_DEC, KC_ASDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c b/keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c
index 415df2eead..d3cecbff8b 100644
--- a/keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c
+++ b/keyboards/unikeyboard/diverge3/keymaps/workman/keymap.c
@@ -191,7 +191,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_LPRN, KC_RPRN, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_EQL,
KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_LCBR, KC_RCBR, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_BSLS,
KC_LCTL, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
- KC_LSFT, RESET, PAGE_PREV, PAGE_NEXT, KC_END, KC_LGUI, KC_LALT, TG(_GAME), LO_BSPC, ENT_RAISE, SPACE_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL),
+ KC_LSFT, QK_BOOT, PAGE_PREV, PAGE_NEXT, KC_END, KC_LGUI, KC_LALT, TG(_GAME), LO_BSPC, ENT_RAISE, SPACE_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL),
[_GAME] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC,
@@ -201,7 +201,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_F1, KC_F2, KC_3, KC_F5, KC_SPC, KC_LALT, TG(_GAME), LO_BSPC, ENT_RAISE, SPACE_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL),
[_RAISE] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, RESET,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, QK_BOOT,
_______, _______, _______, _______, _______, _______, BL_INC, KC_VOLU, _______, _______, _______, _______, _______, KC_F12,
_______, _______, _______, _______, _______, _______, BL_DEC, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, BL_BRTG, KC_MUTE, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______,
diff --git a/keyboards/unikeyboard/divergetm2/config.h b/keyboards/unikeyboard/divergetm2/config.h
index ee8372aa7e..e10c1abc6e 100644
--- a/keyboards/unikeyboard/divergetm2/config.h
+++ b/keyboards/unikeyboard/divergetm2/config.h
@@ -19,13 +19,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1256
-#define DEVICE_VER 0x0001
-#define MANUFACTURER UniKeyboard
-#define PRODUCT diverge tm2
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@
*/
#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unikeyboard/divergetm2/info.json b/keyboards/unikeyboard/divergetm2/info.json
index fc64e57906..4d707c944c 100644
--- a/keyboards/unikeyboard/divergetm2/info.json
+++ b/keyboards/unikeyboard/divergetm2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "UniKeyboard Diverge TM 2",
+ "keyboard_name": "Diverge TM 2",
+ "manufacturer": "UniKeyboard",
"url": "",
"maintainer": "islandman93, xton",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1256",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c b/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c
index e4ba788b70..d4f38e4a19 100644
--- a/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c
+++ b/keyboards/unikeyboard/divergetm2/keymaps/default/keymap.c
@@ -22,12 +22,14 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c
index 5f478c1df1..a7371d47c1 100644
--- a/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/keymap.c
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC, \
KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN, \
- RESET, TO(_QWERTY), _______, _______, _______, MO(_RAISE), _______, _______, TO(_QWERTY), X_____X \
+ QK_BOOT, TO(_QWERTY), _______, _______, _______, MO(_RAISE), _______, _______, TO(_QWERTY), X_____X \
),
/* Raise
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, 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, \
_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, FIREY_RETURN, \
- X_____X, TO(_QWERTY), _______, _______, MO(_LOWER), _______, _______, _______, TO(_QWERTY), RESET \
+ X_____X, TO(_QWERTY), _______, _______, MO(_LOWER), _______, _______, _______, TO(_QWERTY), QK_BOOT \
),
diff --git a/keyboards/unikeyboard/felix/config.h b/keyboards/unikeyboard/felix/config.h
index 64319f029f..1e59a0dcc3 100644
--- a/keyboards/unikeyboard/felix/config.h
+++ b/keyboards/unikeyboard/felix/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Unikeyboard
-#define PRODUCT Felix
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { B2, B3, B1, F7, F6 }
#define MATRIX_COL_PINS { B5, B4, E6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/unikeyboard/felix/info.json b/keyboards/unikeyboard/felix/info.json
index f81d56f340..74b923206d 100644
--- a/keyboards/unikeyboard/felix/info.json
+++ b/keyboards/unikeyboard/felix/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Felix",
+ "manufacturer": "UniKeyboard",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
diff --git a/keyboards/unikorn/config.h b/keyboards/unikorn/config.h
index 1029a777bb..8108713e11 100644
--- a/keyboards/unikorn/config.h
+++ b/keyboards/unikorn/config.h
@@ -19,19 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x5354 // Singa x TGR (ST)
-#define PRODUCT_ID 0x556B // UK
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Singa x TGR
-#define PRODUCT Unikorn60
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B1, B2, B3, B4, B5 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
diff --git a/keyboards/unikorn/info.json b/keyboards/unikorn/info.json
index a93ca49205..671bb1870e 100644
--- a/keyboards/unikorn/info.json
+++ b/keyboards/unikorn/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Unikorn 60",
+ "keyboard_name": "Unikorn60",
+ "manufacturer": "Singa x TGR",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5354",
+ "pid": "0x556B",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/unison/v04/config.h b/keyboards/unison/v04/config.h
index 93c1ae2e4b..bd9bba276d 100644
--- a/keyboards/unison/v04/config.h
+++ b/keyboards/unison/v04/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB9DD
-#define PRODUCT_ID 0x176A
-#define DEVICE_VER 0x0040
-#define MANUFACTURER jpskenn
-#define PRODUCT Unison
-
/* key matrix size */
/* NOTE: With Round-Robin matrix, set same size for both. */
#define MATRIX_ROWS 10
@@ -35,7 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* NOTE: With Round-Robin matrix, set same pins for both. */
#define MATRIX_ROW_PINS { B3, E6, F1, F5, F7, B2, F0, F4, F6, C7 }
#define MATRIX_COL_PINS { B3, E6, F1, F5, F7, B2, F0, F4, F6, C7 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/unison/v04/info.json b/keyboards/unison/v04/info.json
index 31b3f1e93b..00de673b9e 100644
--- a/keyboards/unison/v04/info.json
+++ b/keyboards/unison/v04/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Unison",
+ "manufacturer": "jpskenn",
"url": "https://github.com/jpskenn/Unison",
"maintainer": "jpskenn",
+ "usb": {
+ "vid": "0xB9DD",
+ "pid": "0x176A",
+ "device_version": "0.4.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/uranuma/config.h b/keyboards/uranuma/config.h
index 2c304012d3..f7a1ad9f03 100644
--- a/keyboards/uranuma/config.h
+++ b/keyboards/uranuma/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x112D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yohewi
-#define PRODUCT UraNuma
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
@@ -25,7 +18,6 @@
*/
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D2, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/uranuma/info.json b/keyboards/uranuma/info.json
index ffdef726a0..74968e3e12 100644
--- a/keyboards/uranuma/info.json
+++ b/keyboards/uranuma/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Uranuma",
+ "keyboard_name": "UraNuma",
+ "manufacturer": "yohewi",
"url": "",
"maintainer": "yohewi",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x112D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/utd80/config.h b/keyboards/utd80/config.h
index c5a9697f54..7e97b8542c 100644
--- a/keyboards/utd80/config.h
+++ b/keyboards/utd80/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x001C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER UTD
-#define PRODUCT UTD80
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -32,7 +25,6 @@
#define MATRIX_ROW_PINS { B4, D5, D0, B2, B3, B0 }
#define MATRIX_COL_PINS { B1, F0, F1, F4, F5, F6, F7, C7, C6, D3, E6, D7, D6, D4, D2, D1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
#define BACKLIGHT_BREATHING
diff --git a/keyboards/utd80/info.json b/keyboards/utd80/info.json
index 360ccf4f87..bdc877ae3d 100644
--- a/keyboards/utd80/info.json
+++ b/keyboards/utd80/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "UTD80",
+ "manufacturer": "UTD",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x001C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi_wkl": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}]
diff --git a/keyboards/uzu42/keymaps/default/glcdfont_uzu42.c b/keyboards/uzu42/glcdfont.c
index 5c3fa80d70..5c3fa80d70 100644
--- a/keyboards/uzu42/keymaps/default/glcdfont_uzu42.c
+++ b/keyboards/uzu42/glcdfont.c
diff --git a/keyboards/uzu42/info.json b/keyboards/uzu42/info.json
deleted file mode 100644
index a4903077ca..0000000000
--- a/keyboards/uzu42/info.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "keyboard_name": "uzu42",
- "url": "https://github.com/nrtkbb/Keyboards/tree/master/uzu42",
- "maintainer": "nrtkbb",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Q", "x":0.375, "y":0},
- {"label":"W", "x":1.375, "y":0},
- {"label":"E", "x":2.375, "y":0},
- {"label":"R", "x":3.375, "y":0.125},
- {"label":"T", "x":4.375, "y":0.25},
- {"label":"Y", "x":7.625, "y":0.25},
- {"label":"U", "x":8.625, "y":0.125},
- {"label":"I", "x":9.625, "y":0},
- {"label":"O", "x":10.625, "y":0},
- {"label":"P", "x":11.625, "y":0},
- {"label":"A", "x":0.25, "y":1},
- {"label":"S", "x":1.25, "y":1},
- {"label":"D", "x":2.25, "y":1},
- {"label":"F", "x":3.25, "y":1.125},
- {"label":"G", "x":4.25, "y":1.25},
- {"label":"H", "x":7.75, "y":1.25},
- {"label":"J", "x":8.75, "y":1.125},
- {"label":"K", "x":9.75, "y":1},
- {"label":"L", "x":10.75, "y":1},
- {"label":"Ent", "x":11.75, "y":1},
- {"label":"Z", "x":0.125, "y":2},
- {"label":"X", "x":1.125, "y":2},
- {"label":"C", "x":2.125, "y":2},
- {"label":"V", "x":3.125, "y":2.125},
- {"label":"B", "x":4.125, "y":2.25},
- {"label":"N", "x":7.875, "y":2.25},
- {"label":"M", "x":8.875, "y":2.125},
- {"label":",", "x":9.875, "y":2},
- {"label":".", "x":10.875, "y":2},
- {"label":"/", "x":11.875, "y":2},
- {"label":"Shift", "x":0, "y":3},
- {"label":"Space", "x":1, "y":3},
- {"label":"Alt", "x":2, "y":3.05},
- {"label":"GUI", "x":3, "y":3.18},
- {"label":"Lower", "x":4, "y":3.3},
- {"label":"Esc", "x":5, "y":3.43},
- {"label":"Space", "x":7, "y":3.43},
- {"label":"Raise", "x":8, "y":3.3},
- {"label":"BkSpc", "x":9, "y":3.18},
- {"label":"Ctrl", "x":10, "y":3.05},
- {"label":"GUI", "x":11, "y":3},
- {"label":"No", "x":12, "y":3}
- ]
- }
- }
-}
diff --git a/keyboards/uzu42/keymaps/default/config.h b/keyboards/uzu42/keymaps/default/config.h
deleted file mode 100644
index bc7897f501..0000000000
--- a/keyboards/uzu42/keymaps/default/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-#define SSD1306OLED
-
-#define USE_SERIAL_PD2
-
-#define TAPPING_FORCE_HOLD
-#define TAPPING_TERM 200
-
-#undef RGBLED_NUM
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 54
-#define RGBLIGHT_LIMIT_VAL 120
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-// Use the lily version to get the uzu42 logo instead of the qmk logo
-#define OLED_FONT_H "keymaps/default/glcdfont_uzu42.c"
diff --git a/keyboards/uzu42/keymaps/default/keymap.c b/keyboards/uzu42/keymaps/default/keymap.c
index 01e31ceb39..4334400c86 100644
--- a/keyboards/uzu42/keymaps/default/keymap.c
+++ b/keyboards/uzu42/keymaps/default/keymap.c
@@ -1,42 +1,28 @@
-#include QMK_KEYBOARD_H
-#include "uzu42.h"
-#ifdef PROTOCOL_LUFA
- #include "lufa.h"
- #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-
-#ifdef RGBLIGHT_ENABLE
-#include <stdio.h>
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
+#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
};
enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
- RGBRST
+ RGBRST = SAFE_RANGE,
};
-#define KC_CTES CTL_T(KC_ESC)
-#define KC_SFSP SFT_T(KC_SPC)
-#define KC_ALBS ALT_T(KC_BSPC)
+#define KC_CTES CTL_T(KC_ESC)
+#define KC_SFSP SFT_T(KC_SPC)
+#define KC_ALBS ALT_T(KC_BSPC)
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
@@ -88,205 +74,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-int RGB_current_mode;
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-#define L_BASE 0
-#define L_LOWER (1 << 1)
-#define L_RAISE (1 << 2)
-#define L_ADJUST (1 << 3)
-#define L_ADJUST_TRI (L_ADJUST | L_RAISE | L_LOWER)
-
-char layer_state_str[24];
-
-const char *read_layer_state(void) {
- switch (layer_state)
- {
- case L_BASE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
- break;
- case L_RAISE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
- break;
- case L_LOWER:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
- break;
- default:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
- }
-
- return layer_state_str;
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
-const char *read_logo(void) {
- static char 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};
- return logo;
-}
-
-char keylog_str[24] = {};
-char keylogs_str[21] = {};
-int keylogs_str_idx = 0;
-
-const char code_to_name[60] = {
- ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
- 'R', 'E', 'B', 'T', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', ';', '\'', ' ', ',', '.', '/', ' ', ' ', ' '};
-
-void set_keylog(uint16_t keycode, keyrecord_t *record) {
- char name = ' ';
- if (keycode < 60) {
- name = code_to_name[keycode];
- }
-
- // update keylog
- snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
- record->event.key.row, record->event.key.col,
- keycode, name);
-
- // update keylogs
- if (keylogs_str_idx == sizeof(keylogs_str) - 1) {
- keylogs_str_idx = 0;
- for (int i = 0; i < sizeof(keylogs_str) - 1; i++) {
- keylogs_str[i] = ' ';
- }
- }
-
- keylogs_str[keylogs_str_idx] = name;
- keylogs_str_idx++;
-}
-
-const char *read_keylog(void) {
- return keylog_str;
-}
-
-const char *read_keylogs(void) {
- return keylogs_str;
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (!is_keyboard_master())
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // If you want to change the display of OLED, you need to change here
- oled_write_ln(read_layer_state(), false);
- oled_write_ln(read_keylog(), false);
- oled_write_ln(read_keylogs(), false);
- //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
- //oled_write_ln(read_host_led_state(), false);
- //oled_write_ln(read_timelog(), false);
- } else {
- oled_write(read_logo(), false);
- }
- return false;
-}
-#endif // OLED_ENABLE
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
-#ifdef OLED_ENABLE
- set_keylog(keycode, record);
-#endif
- // set_timelog();
- }
-
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- case RGB_MOD:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- }
- return true;
-}
-
+ switch (keycode) {
+ case RGBRST:
#ifdef RGBLIGHT_ENABLE
-
-char rbf_info_str[24];
-const char *read_rgb_info(void) {
-
- snprintf(rbf_info_str, sizeof(rbf_info_str), "%s %2d h%3d s%3d v%3d",
- rgblight_config.enable ? "on" : "- ", rgblight_config.mode,
- rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
- return rbf_info_str;
-}
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ }
#endif
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/uzu42/post_config.h b/keyboards/uzu42/post_config.h
new file mode 100644
index 0000000000..69a18bf962
--- /dev/null
+++ b/keyboards/uzu42/post_config.h
@@ -0,0 +1,8 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifndef OLED_FONT_H
+# define OLED_FONT_H "keyboards/uzu42/glcdfont.c"
+#endif
diff --git a/keyboards/uzu42/rev1/config.h b/keyboards/uzu42/rev1/config.h
index 815442ed21..d8f474257e 100644
--- a/keyboards/uzu42/rev1/config.h
+++ b/keyboards/uzu42/rev1/config.h
@@ -18,13 +18,6 @@ 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 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER nrtkbb
-#define PRODUCT uzu42
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
@@ -54,10 +47,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
-#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 54 // Number of LEDs
-# define RGBLED_SPLIT { 27, 27 }
-#endif
+#define RGBLED_NUM 54 // Number of LEDs
+#define RGBLED_SPLIT { 27, 27 }
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+#define RGBLIGHT_LIMIT_VAL 120
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+#define RGBLIGHT_VAL_STEP 17
/*
* Feature disable options
diff --git a/keyboards/uzu42/rev1/info.json b/keyboards/uzu42/rev1/info.json
new file mode 100644
index 0000000000..f96564f36b
--- /dev/null
+++ b/keyboards/uzu42/rev1/info.json
@@ -0,0 +1,59 @@
+{
+ "keyboard_name": "uzu42",
+ "manufacturer": "nrtkbb",
+ "url": "https://github.com/nrtkbb/Keyboards/tree/master/uzu42",
+ "maintainer": "nrtkbb",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3060",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Q", "x":0.375, "y":0},
+ {"label":"W", "x":1.375, "y":0},
+ {"label":"E", "x":2.375, "y":0},
+ {"label":"R", "x":3.375, "y":0.125},
+ {"label":"T", "x":4.375, "y":0.25},
+ {"label":"Y", "x":7.625, "y":0.25},
+ {"label":"U", "x":8.625, "y":0.125},
+ {"label":"I", "x":9.625, "y":0},
+ {"label":"O", "x":10.625, "y":0},
+ {"label":"P", "x":11.625, "y":0},
+ {"label":"A", "x":0.25, "y":1},
+ {"label":"S", "x":1.25, "y":1},
+ {"label":"D", "x":2.25, "y":1},
+ {"label":"F", "x":3.25, "y":1.125},
+ {"label":"G", "x":4.25, "y":1.25},
+ {"label":"H", "x":7.75, "y":1.25},
+ {"label":"J", "x":8.75, "y":1.125},
+ {"label":"K", "x":9.75, "y":1},
+ {"label":"L", "x":10.75, "y":1},
+ {"label":"Ent", "x":11.75, "y":1},
+ {"label":"Z", "x":0.125, "y":2},
+ {"label":"X", "x":1.125, "y":2},
+ {"label":"C", "x":2.125, "y":2},
+ {"label":"V", "x":3.125, "y":2.125},
+ {"label":"B", "x":4.125, "y":2.25},
+ {"label":"N", "x":7.875, "y":2.25},
+ {"label":"M", "x":8.875, "y":2.125},
+ {"label":",", "x":9.875, "y":2},
+ {"label":".", "x":10.875, "y":2},
+ {"label":"/", "x":11.875, "y":2},
+ {"label":"Shift", "x":0, "y":3},
+ {"label":"Space", "x":1, "y":3},
+ {"label":"Alt", "x":2, "y":3.05},
+ {"label":"GUI", "x":3, "y":3.18},
+ {"label":"Lower", "x":4, "y":3.3},
+ {"label":"Esc", "x":5, "y":3.43},
+ {"label":"Space", "x":7, "y":3.43},
+ {"label":"Raise", "x":8, "y":3.3},
+ {"label":"BkSpc", "x":9, "y":3.18},
+ {"label":"Ctrl", "x":10, "y":3.05},
+ {"label":"GUI", "x":11, "y":3},
+ {"label":"No", "x":12, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/uzu42/rev1/rev1.c b/keyboards/uzu42/rev1/rev1.c
index 0bfac6bd93..e22860d04b 100644
--- a/keyboards/uzu42/rev1/rev1.c
+++ b/keyboards/uzu42/rev1/rev1.c
@@ -1,2 +1,4 @@
-#include "uzu42.h"
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "uzu42.h"
diff --git a/keyboards/uzu42/rev1/rev1.h b/keyboards/uzu42/rev1/rev1.h
index 7b9c7d5991..e4aba8b79b 100644
--- a/keyboards/uzu42/rev1/rev1.h
+++ b/keyboards/uzu42/rev1/rev1.h
@@ -1,22 +1,12 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#pragma once
-#include "../uzu42.h"
+#include "uzu42.h"
#include "quantum.h"
-#ifdef RGBLIGHT_ENABLE
-//rgb led driver
-#include "ws2812.h"
-#endif
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
#define LAYOUT( \
L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
@@ -33,4 +23,3 @@
{ R24, R23, R22, R21, R20 }, \
{ R35, R34, R33, R32, R31, R30 } \
}
-
diff --git a/keyboards/uzu42/rev1/serial_config.h b/keyboards/uzu42/rev1/serial_config.h
deleted file mode 100644
index 4fab8e8ddf..0000000000
--- a/keyboards/uzu42/rev1/serial_config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef SOFT_SERIAL_PIN
-#define SOFT_SERIAL_PIN D2
-#define SERIAL_USE_MULTI_TRANSACTION
-#endif
diff --git a/keyboards/uzu42/rev1/serial_config_simpleapi.h b/keyboards/uzu42/rev1/serial_config_simpleapi.h
deleted file mode 100644
index 0e1dd9e4ac..0000000000
--- a/keyboards/uzu42/rev1/serial_config_simpleapi.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#undef SERIAL_USE_MULTI_TRANSACTION
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
diff --git a/keyboards/uzu42/uzu42.c b/keyboards/uzu42/uzu42.c
index df71734f7b..6a47ceac38 100644
--- a/keyboards/uzu42/uzu42.c
+++ b/keyboards/uzu42/uzu42.c
@@ -1 +1,105 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include "uzu42.h"
+
+#ifdef OLED_ENABLE
+#include <stdio.h>
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ }
+ return rotation;
+}
+
+
+void oled_render_layer_state(void) {
+ oled_write_P(PSTR("Layer: "), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_ln_P(PSTR("Default"), false);
+ break;
+ case 1:
+ oled_write_ln_P(PSTR("Lower"), false);
+ break;
+ case 2:
+ oled_write_ln_P(PSTR("Raise"), false);
+ break;
+ case 3:
+ oled_write_ln_P(PSTR("Adjust"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+
+ }
+}
+
+char keylog_str[24] = {};
+
+const char code_to_name[60] = {
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
+ 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
+ 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
+ '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
+
+void set_keylog(uint16_t keycode, keyrecord_t *record) {
+ char name = ' ';
+ if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
+ keycode = keycode & 0xFF;
+ }
+ if (keycode < 60) {
+ name = code_to_name[keycode];
+ }
+
+ // update keylog
+ snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", record->event.key.row, record->event.key.col, keycode, name);
+}
+
+void oled_render_keylog(void) {
+ oled_write(keylog_str, false);
+}
+
+void render_bootmagic_status(bool status) {
+ /* Show Ctrl-Gui Swap options */
+ static const char PROGMEM logo[][2][3] = {
+ {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
+ {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
+ };
+ if (status) {
+ oled_write_ln_P(logo[0][0], false);
+ oled_write_ln_P(logo[0][1], false);
+ } else {
+ oled_write_ln_P(logo[1][0], false);
+ oled_write_ln_P(logo[1][1], false);
+ }
+}
+
+void oled_render_logo(void) {
+ static const char PROGMEM crkbd_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(crkbd_logo, false);
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return true;
+ }
+ if (is_keyboard_master()) {
+ oled_render_layer_state();
+ oled_render_keylog();
+ } else {
+ oled_render_logo();
+ }
+ return false;
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ set_keylog(keycode, record);
+ }
+ return process_record_user(keycode, record);
+}
+
+#endif // OLED_ENABLE
diff --git a/keyboards/uzu42/uzu42.h b/keyboards/uzu42/uzu42.h
index dd944e3750..c23baac333 100644
--- a/keyboards/uzu42/uzu42.h
+++ b/keyboards/uzu42/uzu42.h
@@ -1,3 +1,6 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#pragma once
#ifdef KEYBOARD_uzu42_rev1
diff --git a/keyboards/v4n4g0rth0n/config.h b/keyboards/v4n4g0rth0n/config.h
index 14721308f9..4e26ffa8da 100644
--- a/keyboards/v4n4g0rth0n/config.h
+++ b/keyboards/v4n4g0rth0n/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB33F
-#define PRODUCT_ID 0x58E4
-#define MANUFACTURER s8erdude
-#define PRODUCT v4n4g0rth0n
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12
diff --git a/keyboards/v4n4g0rth0n/info.json b/keyboards/v4n4g0rth0n/info.json
index ee44b90798..3360a7f95f 100644
--- a/keyboards/v4n4g0rth0n/info.json
+++ b/keyboards/v4n4g0rth0n/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "v4n4g0rth0n",
+ "manufacturer": "s8erdude",
"url": "https://github.com/jpuerto96/v4n4g0rth0n",
"maintainer": "jpuerto96 (s8erdude)",
+ "usb": {
+ "vid": "0xB33F",
+ "pid": "0x58E4"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/v4n4g0rth0n/v1/config.h b/keyboards/v4n4g0rth0n/v1/config.h
index dd72cf6500..effd2268db 100644
--- a/keyboards/v4n4g0rth0n/v1/config.h
+++ b/keyboards/v4n4g0rth0n/v1/config.h
@@ -17,7 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0001
-
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B7}
#define MATRIX_COL_PINS { D3, D2, D1, D0, D5, F7, F6, E6, F5, F4, F1, F0}
diff --git a/keyboards/v4n4g0rth0n/v1/info.json b/keyboards/v4n4g0rth0n/v1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/v4n4g0rth0n/v2/config.h b/keyboards/v4n4g0rth0n/v2/config.h
index 6e78e73573..2299b791ef 100644
--- a/keyboards/v4n4g0rth0n/v2/config.h
+++ b/keyboards/v4n4g0rth0n/v2/config.h
@@ -17,7 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define DEVICE_VER 0x0002
-
#define MATRIX_ROW_PINS { C7, C6, B6, B5, B7}
#define MATRIX_COL_PINS { D3, D2, D1, D0, D5, F7, F6, E6, F5, F4, F1, B0}
diff --git a/keyboards/v4n4g0rth0n/v2/info.json b/keyboards/v4n4g0rth0n/v2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/v60_type_r/config.h b/keyboards/v60_type_r/config.h
index 1d0b38988a..7513eed22d 100644
--- a/keyboards/v60_type_r/config.h
+++ b/keyboards/v60_type_r/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7432
-#define PRODUCT_ID 0x0658
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KB Paradise
-#define PRODUCT V60 Type R
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json
index ee5a2f81cd..361eb64ca3 100644
--- a/keyboards/v60_type_r/info.json
+++ b/keyboards/v60_type_r/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "V60 Type R",
+ "manufacturer": "KB Paradise",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7432",
+ "pid": "0x0658",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"~", "x":13, "y":0}, {"label":"Del", "x":14, "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":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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":"Fn", "x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c b/keyboards/v60_type_r/keymaps/followingghosts/keymap.c
index cca95c509d..dffa9a1fd2 100644
--- a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c
+++ b/keyboards/v60_type_r/keymaps/followingghosts/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------|
* | |Lft|Dwn|Rig|HUD|SAD|VAD| |Hme|PgU|Lef|Rig| |
* |-----------------------------------------------------------|
- * | |BLD|BLT|BLI| |VolD|VolU|Mut|End|PgD|Dwn| RESET |
+ * | |BLD|BLT|BLI| |VolD|VolU|Mut|End|PgD|Dwn| QK_BOOT |
* |-----------------------------------------------------------|
* | | | | | |AGSW| | |
* `-----------------------------------------------------------'
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
KC_TRNS, KC_TRNS, KC_UP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_INS, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, \
- KC_TRNS, BL_INC, BL_STEP, BL_DEC, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_DOWN, RESET, \
+ KC_TRNS, BL_INC, BL_STEP, BL_DEC, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_DOWN, QK_BOOT, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, AG_SWAP, KC_TRNS, KC_TRNS),
/*
@@ -89,7 +89,7 @@ WASD are Up Left Right Down respectively
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, 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, QK_BOOT, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
index 82a7e52808..8927a8ee0a 100644
--- a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c
@@ -104,7 +104,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
}
void set_state_leds(void) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _MOVE:
rgbflag(C_BLU);
break;
@@ -192,4 +192,3 @@ void suspend_wakeup_init_user(void)
backlight_set(backlight_config.level);
rgblight_set();
}
-
diff --git a/keyboards/vagrant_10/config.h b/keyboards/vagrant_10/config.h
index 2771df7895..1f3b433878 100755
--- a/keyboards/vagrant_10/config.h
+++ b/keyboards/vagrant_10/config.h
@@ -26,13 +26,6 @@ SOFTWARE.
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x534C
-#define PRODUCT_ID 0x5E99
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Shanduur
-#define PRODUCT Vagrant 10
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
@@ -40,7 +33,6 @@ SOFTWARE.
/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B3, B2 }
#define MATRIX_COL_PINS { F4, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/vagrant_10/info.json b/keyboards/vagrant_10/info.json
index 9d1a788b27..15a406fe26 100644
--- a/keyboards/vagrant_10/info.json
+++ b/keyboards/vagrant_10/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Vagrant-10",
+ "keyboard_name": "Vagrant 10",
+ "manufacturer": "Shanduur",
"url": "https://github.com/Sho-Keebs/Vagrant-10",
"maintainer": "Shanduur",
+ "usb": {
+ "vid": "0x534C",
+ "pid": "0x5E99",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":1, "y":0, "w":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
diff --git a/keyboards/vertex/angler2/angler2.c b/keyboards/vertex/angler2/angler2.c
new file mode 100644
index 0000000000..a6a4d21372
--- /dev/null
+++ b/keyboards/vertex/angler2/angler2.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 Vertex <xiaoxuxk@yeah.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "angler2.h"
diff --git a/keyboards/vertex/angler2/angler2.h b/keyboards/vertex/angler2/angler2.h
new file mode 100644
index 0000000000..68f9d9f5ab
--- /dev/null
+++ b/keyboards/vertex/angler2/angler2.h
@@ -0,0 +1,36 @@
+/* Copyright 2022 Vertex <xiaoxuxk@yeah.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 XXX KC_NO
+#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, K1D, 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, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \
+) { \
+ { 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, 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, K4C, K4D, K4E, K4F}, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F}, \
+}
diff --git a/keyboards/vertex/angler2/config.h b/keyboards/vertex/angler2/config.h
new file mode 100644
index 0000000000..7e71d1922e
--- /dev/null
+++ b/keyboards/vertex/angler2/config.h
@@ -0,0 +1,58 @@
+/* Copyright 2022 Vertex <xiaoxuxk@yeah.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#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 { F4, B2, F0, D5, D1, D2 }
+#define MATRIX_COL_PINS { F5, F6, F7, E2, C7, C6, B6, F1, B5, B4, D7, D6, D4, D3, D0, B1 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN B0
+#define LED_SCROLL_LOCK_PIN B7
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN E6
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 6
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/vertex/angler2/info.json b/keyboards/vertex/angler2/info.json
new file mode 100644
index 0000000000..70feae3b64
--- /dev/null
+++ b/keyboards/vertex/angler2/info.json
@@ -0,0 +1,107 @@
+{
+ "keyboard_name": "Angler2",
+ "manufacturer": "Vertex_eason",
+ "url": "https://github.com/Vertex-kb",
+ "maintainer": "vertex",
+ "usb": {
+ "vid": "0x480E",
+ "pid": "0x408F",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "K00 (F4,F5)", "x": 0, "y": 0 },
+ { "label": "K01 (F4,F6)", "x": 1.25, "y": 0 },
+ { "label": "K02 (F4,F7)", "x": 2.25, "y": 0 },
+ { "label": "K03 (F4,E2)", "x": 3.25, "y": 0 },
+ { "label": "K04 (F4,C7)", "x": 4.25, "y": 0 },
+ { "label": "K05 (F4,C6)", "x": 5.5, "y": 0 },
+ { "label": "K06 (F4,B6)", "x": 6.5, "y": 0 },
+ { "label": "K07 (F4,F1)", "x": 7.5, "y": 0 },
+ { "label": "K08 (F4,B5)", "x": 8.5, "y": 0 },
+ { "label": "K09 (F4,B4)", "x": 9.75, "y": 0 },
+ { "label": "K0A (F4,D7)", "x": 10.75, "y": 0 },
+ { "label": "K0B (F4,D6)", "x": 11.75, "y": 0 },
+ { "label": "K0C (F4,D4)", "x": 12.75, "y": 0 },
+ { "label": "K0D (F4,B1)", "x": 14, "y": 0 },
+ { "label": "K0E (F4,D0)", "x": 15.25, "y": 0 },
+ { "label": "K0F (F4,B1)", "x": 16.25, "y": 0 },
+ { "label": "K3E (D5,D0)", "x": 17.25, "y": 0 },
+ { "label": "K10 (B2,F5)", "x": 0, "y": 1.5 },
+ { "label": "K11 (B2,F6)", "x": 1, "y": 1.5 },
+ { "label": "K12 (B2,F7)", "x": 2, "y": 1.5 },
+ { "label": "K13 (B2,E2)", "x": 3, "y": 1.5 },
+ { "label": "K14 (B2,C7)", "x": 4, "y": 1.5 },
+ { "label": "K15 (B2,C6)", "x": 5, "y": 1.5 },
+ { "label": "K16 (B2,B6)", "x": 6, "y": 1.5 },
+ { "label": "K17 (B2,F1)", "x": 7, "y": 1.5 },
+ { "label": "K18 (B2,B5)", "x": 8, "y": 1.5 },
+ { "label": "K19 (B2,B4)", "x": 9, "y": 1.5 },
+ { "label": "K1A (B2,D7)", "x": 10, "y": 1.5 },
+ { "label": "K1B (B2,D6)", "x": 11, "y": 1.5 },
+ { "label": "K1C (B2,D4)", "x": 12, "y": 1.5 },
+ { "label": "K1D (B2,D3)", "x": 13, "y": 1.5,"w":2},
+ { "label": "K1E (B2,D0)", "x": 15.25, "y": 1.5 },
+ { "label": "K1F (B2,B1)", "x": 16.25, "y": 1.5 },
+ { "label": "K3F (D5,B1)", "x": 17.25, "y": 1.5 },
+ { "label": "K20 (F0,F5)", "x": 0,"y":2.5,"w":1.5},
+ { "label": "K21 (F0,F6)", "x": 1.5, "y": 2.5 },
+ { "label": "K22 (F0,F7)", "x": 2.5, "y": 2.5 },
+ { "label": "K23 (F0,E2)", "x": 3.5, "y": 2.5 },
+ { "label": "K24 (F0,C7)", "x": 4.5, "y": 2.5 },
+ { "label": "K25 (F0,C6)", "x": 5.5, "y": 2.5 },
+ { "label": "K26 (F0,B6)", "x": 6.5, "y": 2.5 },
+ { "label": "K27 (F0,F1)", "x": 7.5, "y": 2.5 },
+ { "label": "K28 (F0,B5)", "x": 8.5, "y": 2.5 },
+ { "label": "K29 (F0,B4)", "x": 9.5, "y": 2.5 },
+ { "label": "K2A (F0,D7)", "x": 10.5, "y": 2.5 },
+ { "label": "K2B (F0,D6)", "x": 11.5, "y": 2.5 },
+ { "label": "K2C (F0,D4)", "x": 12.5, "y": 2.5 },
+ { "label": "K2D (F0,D3)", "x": 13.5, "y": 2.5,"w":1.5},
+ { "label": "K2E (F0,D0)", "x": 15.25, "y": 2.5 },
+ { "label": "K2F (F0,B1)", "x": 16.25, "y": 2.5 },
+ { "label": "K4D (D1,D3)", "x": 17.25, "y": 2.5 },
+ { "label": "K30 (D5,F5)", "x": 0, "y": 3.5,"w":1.75},
+ { "label": "K31 (D5,F6)", "x": 1.75, "y": 3.5 },
+ { "label": "K32 (D5,F7)", "x": 2.75, "y": 3.5 },
+ { "label": "K33 (D5,E2)", "x": 3.75, "y": 3.5 },
+ { "label": "K34 (D5,C7)", "x": 4.75, "y": 3.5 },
+ { "label": "K35 (D5,C6)", "x": 5.75, "y": 3.5 },
+ { "label": "K36 (D5,B6)", "x": 6.75, "y": 3.5 },
+ { "label": "K37 (D5,F1)", "x": 7.75, "y": 3.5 },
+ { "label": "K38 (D5,B5)", "x": 8.75, "y": 3.5 },
+ { "label": "K39 (D5,B4)", "x": 9.75, "y": 3.5 },
+ { "label": "K3A (D5,D7)", "x": 10.75, "y": 3.5 },
+ { "label": "K3B (D5,D6)", "x": 11.75, "y": 3.5 },
+ { "label": "K3C (D5,D4)", "x": 12.75, "y": 3.5 },
+ { "label": "K3D (D5,D3)", "x": 13.75, "y": 3.5,"w":1.25 },
+ { "label": "K40 (D1,F5)", "x": 0, "y": 4.5,"w":1.25},
+ { "label": "K41 (D1,F6)", "x": 1.25, "y": 4.5 },
+ { "label": "K42 (D1,F7)", "x": 2.25, "y": 4.5 },
+ { "label": "K43 (D1,E2)", "x": 3.25, "y": 4.5 },
+ { "label": "K44 (D1,C7)", "x": 4.25, "y": 4.5 },
+ { "label": "K45 (D1,C6)", "x": 5.25, "y": 4.5 },
+ { "label": "K46 (D1,B6)", "x": 6.25, "y": 4.5 },
+ { "label": "K47 (D1,F1)", "x": 7.25, "y": 4.5 },
+ { "label": "K48 (D1,B5)", "x": 8.25, "y": 4.5 },
+ { "label": "K49 (D1,B4)", "x": 9.25, "y": 4.5 },
+ { "label": "K4A (D1,D7)", "x": 10.25, "y": 4.5 },
+ { "label": "K4B (D1,D6)", "x": 11.25, "y": 4.5 },
+ { "label": "K4C (D1,D4)", "x": 12.25, "y": 4.5,"w":2.75 },
+ { "label": "K4F (D1,B1)", "x": 16.25, "y": 4.5 },
+ { "label": "K50 (D2,F5)", "x": 0, "y": 5.5,"w":1.25 },
+ { "label": "K51 (D2,F6)", "x": 1.25, "y": 5.5,"w":1.25 },
+ { "label": "K52 (D2,F7)", "x": 2.5, "y": 5.5,"w":1.25 },
+ { "label": "K56 (D2,B6)", "x": 3.75, "y": 5.5,"w":6.25 },
+ { "label": "K5A (D2,D7)", "x": 10, "y": 5.5,"w":1.25 },
+ { "label": "K5B (D2,D6)", "x": 11.25, "y": 5.5,"w":1.25 },
+ { "label": "K5C (D2,D4)", "x": 12.5, "y": 5.5,"w":1.25 },
+ { "label": "K5D (D2,D3)", "x": 13.75, "y": 5.5,"w":1.25 },
+ { "label": "K5E (D2,D0)", "x": 15.25, "y": 5.5 },
+ { "label": "K5F (D2,B1)", "x": 16.25, "y": 5.5 },
+ { "label": "K4E (D1,D0)", "x": 17.25, "y": 5.5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/vertex/angler2/keymaps/default/keymap.c b/keyboards/vertex/angler2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ae6d76e326
--- /dev/null
+++ b/keyboards/vertex/angler2/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+/* Copyright 2022 Vertex <xiaoxuxk@yeah.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7 , KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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_NO, 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_BSLS, KC_ENT,
+ KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN,KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+
+ QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,RGB_TOG,RGB_VAI,RGB_VAD,RGB_HUI,RGB_HUD,RGB_MOD,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______
+ ),
+
+};
diff --git a/keyboards/vertex/angler2/keymaps/via/keymap.c b/keyboards/vertex/angler2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..03c46eee3a
--- /dev/null
+++ b/keyboards/vertex/angler2/keymaps/via/keymap.c
@@ -0,0 +1,59 @@
+/* Copyright 2022 Vertex <xiaoxuxk@yeah.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7 , KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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_NO, 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_BSLS, KC_ENT,
+ KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN,KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+
+ QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,RGB_TOG,RGB_VAI,RGB_VAD,RGB_HUI,RGB_HUD,RGB_MOD,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______
+ ),
+ [2] = LAYOUT_all(
+
+ QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______
+ ),
+ [3] = LAYOUT_all(
+
+ QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
+ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______
+ ),
+
+
+};
diff --git a/keyboards/vertex/angler2/keymaps/via/rules.mk b/keyboards/vertex/angler2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/vertex/angler2/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/vertex/angler2/readme.md b/keyboards/vertex/angler2/readme.md
new file mode 100644
index 0000000000..e3de551e37
--- /dev/null
+++ b/keyboards/vertex/angler2/readme.md
@@ -0,0 +1,17 @@
+# angler2
+A customizable soldering 80% keyboard.
+
+* Keyboard Maintainer: [Vertex](https://github.com/Vertex-kb)
+* Hardware Supported: AngleR2
+* Hardware Availability: [Vertex](https://github.com/Vertex-kb)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make Vertex/AngleR2:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader Enter the bootloader in 3 ways:
+* **Bootmagic reset**: Hold down esc in the keyboard then replug
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/vertex/angler2/rules.mk b/keyboards/vertex/angler2/rules.mk
new file mode 100644
index 0000000000..744a272535
--- /dev/null
+++ b/keyboards/vertex/angler2/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/vertex/arc60/arc60.c b/keyboards/vertex/arc60/arc60.c
new file mode 100644
index 0000000000..d8fc41b794
--- /dev/null
+++ b/keyboards/vertex/arc60/arc60.c
@@ -0,0 +1,18 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "arc60.h"
diff --git a/keyboards/vertex/arc60/arc60.h b/keyboards/vertex/arc60/arc60.h
new file mode 100644
index 0000000000..f259cb324f
--- /dev/null
+++ b/keyboards/vertex/arc60/arc60.h
@@ -0,0 +1,42 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_all( \
+ 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, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D,K3E, \
+ K40, K41, K42, K46, K4A, K4B, K4C, 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, ___,K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,___ }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D,K3E }, \
+ { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___,K4E } \
+}
diff --git a/keyboards/vertex/arc60/chconf.h b/keyboards/vertex/arc60/chconf.h
new file mode 100644
index 0000000000..343afe57a6
--- /dev/null
+++ b/keyboards/vertex/arc60/chconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/bt66tech/bt66tech60/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h>
diff --git a/keyboards/vertex/arc60/config.h b/keyboards/vertex/arc60/config.h
new file mode 100644
index 0000000000..20ae0e71cc
--- /dev/null
+++ b/keyboards/vertex/arc60/config.h
@@ -0,0 +1,83 @@
+/* Copyright 2022 vertex
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_COL_PINS { B9, B8, B7, B6, B5, B4, B3, B11, A15, A10, A9, B14, B13, B12, A5 }
+#define MATRIX_ROW_PINS { B10, B1, B0, A7, A6 }
+#define DIODE_DIRECTION COL2ROW
+
+#define LED_CAPS_LOCK_PIN C13
+#define LED_PIN_ON_STATE 0
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 9
+#define WS2812_SPI SPID2
+#define WS2812_SPI_MOSI_PAL_MODE 5
+
+
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+/*
+ * 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
+
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/vertex/arc60/halconf.h b/keyboards/vertex/arc60/halconf.h
new file mode 100644
index 0000000000..7fb6be528f
--- /dev/null
+++ b/keyboards/vertex/arc60/halconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/bt66tech/bt66tech60/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/vertex/arc60/info.json b/keyboards/vertex/arc60/info.json
new file mode 100644
index 0000000000..5f38121bef
--- /dev/null
+++ b/keyboards/vertex/arc60/info.json
@@ -0,0 +1,82 @@
+{
+ "keyboard_name": "ARC60",
+ "url": "",
+ "maintainer": "Eason",
+ "manufacturer":"vertex",
+ "usb": {
+ "vid": "0x8354",
+ "pid": "0x8370",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x": 0, "y": 0 },
+ {"x": 1, "y": 0 },
+ {"x": 2, "y": 0 },
+ {"x": 3, "y": 0 },
+ {"x": 4, "y": 0 },
+ {"x": 5, "y": 0 },
+ {"x": 6, "y": 0 },
+ {"x": 7, "y": 0 },
+ {"x": 8, "y": 0 },
+ {"x": 9, "y": 0 },
+ {"x": 10, "y": 0 },
+ {"x": 11, "y": 0 },
+ {"x": 12, "y": 0 },
+ {"x": 13, "y": 0 },
+ {"x": 14, "y": 0 },
+ {"x": 0, "y": 1, "w": 1.5 },
+ {"x": 1.5, "y": 1 },
+ {"x": 2.5, "y": 1 },
+ {"x": 3.5, "y": 1 },
+ {"x": 4.5, "y": 1 },
+ {"x": 5.5, "y": 1 },
+ {"x": 6.5, "y": 1 },
+ {"x": 7.5, "y": 1 },
+ {"x": 8.5, "y": 1 },
+ {"x": 9.5, "y": 1 },
+ {"x": 10.5, "y": 1 },
+ {"x": 11.5, "y": 1 },
+ {"x": 12.5, "y": 1 },
+ {"x": 13.5, "y": 1, "w": 1.5 },
+ {"x": 0, "y": 2, "w": 1.75 },
+ {"x": 1.75, "y": 2 },
+ {"x": 2.75, "y": 2 },
+ {"x": 3.75, "y": 2 },
+ {"x": 4.75, "y": 2 },
+ {"x": 5.75, "y": 2 },
+ {"x": 6.75, "y": 2 },
+ {"x": 7.75, "y": 2 },
+ {"x": 8.75, "y": 2 },
+ {"x": 9.75, "y": 2 },
+ {"x": 10.75, "y": 2 },
+ {"x": 11.75, "y": 2 },
+ {"x": 12.75, "y": 2 },
+ {"x": 13.75, "y": 2, "w": 1.25 },
+ {"x": 0, "y": 3, "w": 1.25 },
+ {"x": 1.25, "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, "w": 1.75 },
+ {"x": 14, "y": 3 },
+ {"x": 0, "y": 4, "w": 1.25 },
+ {"x": 1.25, "y": 4, "w": 1.25 },
+ {"x": 2.5, "y": 4, "w": 1.25 },
+ {"x": 3.75, "y": 4, "w": 6.25 },
+ {"x": 10, "y": 4, "w": 1.25 },
+ {"x": 11.25, "y": 4, "w": 1.25 },
+ {"x": 12.5, "y": 4, "w": 1.25 },
+ {"x": 13.75, "y": 4, "w": 1.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/vertex/arc60/keymaps/default/keymap.c b/keyboards/vertex/arc60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c8618f6429
--- /dev/null
+++ b/keyboards/vertex/arc60/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_1, 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_BSLS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, QK_BOOT,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______,_______,
+ _______,_______,_______, _______, _______, _______, _______, _______),
+ };
diff --git a/keyboards/vertex/arc60/keymaps/via/keymap.c b/keyboards/vertex/arc60/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ba5b601744
--- /dev/null
+++ b/keyboards/vertex/arc60/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_1, 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_BSLS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, QK_BOOT,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______,_______,
+ _______,_______,_______, _______, _______, _______, _______, _______),
+ [2] = LAYOUT_all(
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, QK_BOOT,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______,_______,
+ _______,_______,_______, _______, _______, _______, _______, _______),
+ [3] = LAYOUT_all(
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, _______,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______,_______, QK_BOOT,
+ _______,_______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______,_______,
+ _______,_______,_______, _______, _______, _______, _______, _______),
+
+
+ };
diff --git a/keyboards/vertex/arc60/keymaps/via/rules.mk b/keyboards/vertex/arc60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/vertex/arc60/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/vertex/arc60/mcuconf.h b/keyboards/vertex/arc60/mcuconf.h
new file mode 100644
index 0000000000..659e21d83b
--- /dev/null
+++ b/keyboards/vertex/arc60/mcuconf.h
@@ -0,0 +1,27 @@
+/* Copyright 2022 vertex
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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/bt66tech/bt66tech60/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/vertex/arc60/readme.md b/keyboards/vertex/arc60/readme.md
new file mode 100644
index 0000000000..4c8968de62
--- /dev/null
+++ b/keyboards/vertex/arc60/readme.md
@@ -0,0 +1,22 @@
+# arc60
+
+* A customizable soldering 60% keyboard.
+
+* Keyboard Maintainer: [EASON](https://github.com/EasonQian1)
+* Hardware Supported: arc60
+* Hardware Availability: [vertex-kb](https://github.com/Vertex-kb)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make vertex/arc60:default
+
+Flashing example for this keyboard:
+
+ make vertex/arc60:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader Enter the bootloader in 3 ways:
+* **Bootmagic reset**: Hold down Enter in the keyboard then replug
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/vertex/arc60/rules.mk b/keyboards/vertex/arc60/rules.mk
new file mode 100644
index 0000000000..7b7725d5f7
--- /dev/null
+++ b/keyboards/vertex/arc60/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F103
+
+# Bootloader selection
+BOOTLOADER = stm32duino
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+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
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+SLEEP_LED_ENABLE = no
+
+
+DEFAULT_FOLDER = vertex/arc60
+
+
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/viendi8l/config.h b/keyboards/viendi8l/config.h
new file mode 100644
index 0000000000..827a490725
--- /dev/null
+++ b/keyboards/viendi8l/config.h
@@ -0,0 +1,66 @@
+/*
+ Copyright 2022 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 18
+
+ // C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15, C16, C17
+#define MATRIX_COL_PINS { C6 , C7 , C8 , C9 , A8 , B3 , B4 , A10, B5 , B8 , B9 , C13, C14, C15, A0 , A1 , A2 , A3 }
+ // R0 , R1 , R2 , R3 , R4 , R5
+#define MATRIX_ROW_PINS { C3 , C2 , C1 , C0 , B14, A7 }
+#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
+
+#define ENCODERS_PAD_A { B10 }
+#define ENCODERS_PAD_B { B12 }
+#define ENCODER_RESOLUTION 2
+
+#define TAPPING_TERM 200
+
+#define I2C_DRIVER I2CD1
+#define I2C_SCL_PIN B6
+#define I2C_SDA_PIN B7
+#define I2C_SCL_PAL_MODE 4
+#define I2C_SDA_PAL_MODE 4
+#define EEPROM_I2C_24LC256
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+#define RGB_DI_PIN B15
+#define RGBLED_NUM 4
+#define RGBLIGHT_DEFAULT_VAL 0
+
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
diff --git a/keyboards/viendi8l/halconf.h b/keyboards/viendi8l/halconf.h
new file mode 100644
index 0000000000..ebdb4954a1
--- /dev/null
+++ b/keyboards/viendi8l/halconf.h
@@ -0,0 +1,24 @@
+/* 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
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/viendi8l/info.json b/keyboards/viendi8l/info.json
new file mode 100644
index 0000000000..745937869d
--- /dev/null
+++ b/keyboards/viendi8l/info.json
@@ -0,0 +1,103 @@
+{
+ "keyboard_name": "8L",
+ "manufacturer": "Viendi",
+ "url": "https://viendi.co/",
+ "maintainer": "gondolindrim",
+ "usb": {
+ "vid": "0x8673",
+ "pid": "0x0877",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"Push", "x":0, "y":0},
+ {"label":"\u00d7", "x":1, "y":0},
+ {"label":"/", "x":2, "y":0},
+ {"label":"Del", "x":3, "y":0},
+ {"label":"Esc", "x":4.5, "y":0},
+ {"label":"!", "x":5.5, "y":0},
+ {"label":"@", "x":6.5, "y":0},
+ {"label":"#", "x":7.5, "y":0},
+ {"label":"$", "x":8.5, "y":0},
+ {"label":"%", "x":9.5, "y":0},
+ {"label":"^", "x":10.5, "y":0},
+ {"label":"&", "x":11.5, "y":0},
+ {"label":"*", "x":12.5, "y":0},
+ {"label":"(", "x":13.5, "y":0},
+ {"label":")", "x":14.5, "y":0},
+ {"label":"-", "x":15.5, "y":0},
+ {"label":"=", "x":16.5, "y":0},
+ {"label":"Bksp", "x":17.5, "y":0},
+ {"label":"Bksp", "x":18.5, "y":0},
+ {"label":"-", "x":0, "y":1},
+ {"label":"7", "x":1, "y":1},
+ {"label":"8", "x":2, "y":1},
+ {"label":"9", "x":3, "y":1},
+ {"label":"Tab", "x":4.5, "y":1, "w":1.5},
+ {"label":"Q", "x":6, "y":1},
+ {"label":"W", "x":7, "y":1},
+ {"label":"E", "x":8, "y":1},
+ {"label":"R", "x":9, "y":1},
+ {"label":"T", "x":10, "y":1},
+ {"label":"Y", "x":11, "y":1},
+ {"label":"U", "x":12, "y":1},
+ {"label":"I", "x":13, "y":1},
+ {"label":"O", "x":14, "y":1},
+ {"label":"P", "x":15, "y":1},
+ {"label":"{", "x":16, "y":1},
+ {"label":"}", "x":17, "y":1},
+ {"label":"|", "x":18, "y":1, "w":1.5},
+ {"label":"+", "x":0, "y":2},
+ {"label":"4", "x":1, "y":2},
+ {"label":"5", "x":2, "y":2},
+ {"label":"6", "x":3, "y":2},
+ {"label":"Caps Lock", "x":4.5, "y":2, "w":1.75},
+ {"label":"A", "x":6.25, "y":2},
+ {"label":"S", "x":7.25, "y":2},
+ {"label":"D", "x":8.25, "y":2},
+ {"label":"F", "x":9.25, "y":2},
+ {"label":"G", "x":10.25, "y":2},
+ {"label":"H", "x":11.25, "y":2},
+ {"label":"J", "x":12.25, "y":2},
+ {"label":"K", "x":13.25, "y":2},
+ {"label":"L", "x":14.25, "y":2},
+ {"label":":", "x":15.25, "y":2},
+ {"label":"\"", "x":16.25, "y":2},
+ {"x":17.25, "y":2},
+ {"label":"Enter", "x":18.25, "y":2, "w":1.25},
+ {"label":"Enter", "x":0, "y":3},
+ {"label":"1", "x":1, "y":3},
+ {"label":"2", "x":2, "y":3},
+ {"label":"3", "x":3, "y":3},
+ {"label":"Shift", "x":4.5, "y":3, "w":1.25},
+ {"x":5.75, "y":3},
+ {"label":"Z", "x":6.75, "y":3},
+ {"label":"X", "x":7.75, "y":3},
+ {"label":"C", "x":8.75, "y":3},
+ {"label":"V", "x":9.75, "y":3},
+ {"label":"B", "x":10.75, "y":3},
+ {"label":"N", "x":11.75, "y":3},
+ {"label":"M", "x":12.75, "y":3},
+ {"label":"<", "x":13.75, "y":3},
+ {"label":">", "x":14.75, "y":3},
+ {"label":"Shift", "x":15.75, "y":3, "w":1.75},
+ {"label":"\u2191", "x":17.5, "y":3},
+ {"x":18.5, "y":3},
+ {"label":"Enter", "x":0, "y":4},
+ {"label":".", "x":1, "y":4},
+ {"label":".", "x":2, "y":4},
+ {"label":"0", "x":3, "y":4},
+ {"label":"Ctrl", "x":4.5, "y":4, "w":1.25},
+ {"label":"Win", "x":5.75, "y":4, "w":1.25},
+ {"label":"Alt", "x":7, "y":4, "w":1.25},
+ {"x":8.25, "y":4, "w":6.25},
+ {"x":14.5, "y":4},
+ {"x":15.5, "y":4},
+ {"label":"\u2190", "x":16.5, "y":4},
+ {"label":"\u2193", "x":17.5, "y":4},
+ {"label":"\u2192", "x":18.5, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/viendi8l/keymaps/default/keymap.c b/keyboards/viendi8l/keymaps/default/keymap.c
new file mode 100755
index 0000000000..3a7ff83fa0
--- /dev/null
+++ b/keyboards/viendi8l/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+#define LTCAPS LT(2, KC_CAPS)
+#define MTRSFT RSFT_T(KC_UP)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_MUTE, KC_PSLS, KC_PAST, 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_PMNS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PPLS, KC_P4, KC_P5, KC_P6, LTCAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC,
+ KC_PENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MTRSFT, KC_NUHS,
+ KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TG(1), MO(2), KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
+ ),
+ [1] = LAYOUT_all(
+ KC_MUTE, KC_PSLS, KC_PAST, KC_BSPC, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC,
+ KC_PMNS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PPLS, KC_P4, KC_P5, KC_P6, LTCAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC,
+ KC_PENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MTRSFT, KC_NUHS,
+ KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TG(1), MO(2), KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
+ ),
+ [2] = LAYOUT_all(
+ KC_MUTE, KC_F10, KC_F11, KC_NUM, KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, XXXXXXX,
+ KC_MINS, KC_F7, KC_F8, KC_F9, KC_TAB, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, KC_DEL,
+ KC_EQL, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GUI_TOG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______
+ )
+};
diff --git a/keyboards/viendi8l/keymaps/via/keymap.c b/keyboards/viendi8l/keymaps/via/keymap.c
new file mode 100755
index 0000000000..5e7cf5d89b
--- /dev/null
+++ b/keyboards/viendi8l/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/*
+Copyright 2020 Ãlvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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
+
+#define LTCAPS LT(2, KC_CAPS)
+#define MTRSFT RSFT_T(KC_UP)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_MUTE, KC_PSLS, KC_PAST, 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_PMNS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PPLS, KC_P4, KC_P5, KC_P6, LTCAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC,
+ KC_PENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MTRSFT, KC_NUHS,
+ KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TG(1), MO(2), KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
+ ),
+ [1] = LAYOUT_all(
+ KC_MUTE, KC_PSLS, KC_PAST, KC_BSPC, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC,
+ KC_PMNS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PPLS, KC_P4, KC_P5, KC_P6, LTCAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_BSPC,
+ KC_PENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MTRSFT, KC_NUHS,
+ KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TG(1), MO(2), KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
+ ),
+ [2] = LAYOUT_all(
+ KC_MUTE, KC_F10, KC_F11, KC_NUM, KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, XXXXXXX,
+ KC_MINS, KC_F7, KC_F8, KC_F9, KC_TAB, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, KC_DEL,
+ KC_EQL, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_CALC, KC_CALC, KC_DEL, XXXXXXX, GUI_TOG, KC_SLEP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______
+ ),
+ [3] = LAYOUT_all(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
diff --git a/keyboards/viendi8l/keymaps/via/rules.mk b/keyboards/viendi8l/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/viendi8l/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/viendi8l/mcuconf.h b/keyboards/viendi8l/mcuconf.h
new file mode 100644
index 0000000000..6c8d8c8af9
--- /dev/null
+++ b/keyboards/viendi8l/mcuconf.h
@@ -0,0 +1,28 @@
+/* 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_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/viendi8l/readme.md b/keyboards/viendi8l/readme.md
new file mode 100644
index 0000000000..12b3c5adc7
--- /dev/null
+++ b/keyboards/viendi8l/readme.md
@@ -0,0 +1,27 @@
+# Viendi8L PCB firmware
+
+![8L_image](https://imgur.com/z4cuSYJh.png)
+
+The 8L 80% (60% plus southpaw numpad) keyboard designed by Viendi, with PCB by Gondolindrim.
+
+* Keyboard Maintainer: [Gondolindrim](https://github.com/gondolindrim)
+* Hardware Availability: proprietary PCB
+* Website: [Viendi](https://viendi.co/)
+
+## How to flash
+
+### Enter bootloader
+
+* **Bootmagic reset**: hold down the key at (0,0) in the matrix (the encoder push) and plug in the keyboard, waiting for five seconds
+* **Physical reset button**: press the button on the front of the PCB or use pliers to short the reset contacts, for at least five seconds
+* **Keycode in layout**: press the key mapped to `QK_BOOT` if it is available (ESC key at layer 1 in the default layout)
+
+## Compile firmware
+
+After accessing the DFU state in your PCB, build the default layout using:
+
+ make viendi8l:default
+
+Then download the resulting binary `*bin` file using `dfu-util` or QMK Toolbox.
+
+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/viendi8l/rules.mk b/keyboards/viendi8l/rules.mk
new file mode 100644
index 0000000000..e42bc577d7
--- /dev/null
+++ b/keyboards/viendi8l/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = STM32F401
+
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+WS2812_DRIVER = pwm
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+LTO_ENABLE = no
+
+EEPROM_DRIVER = i2c
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
diff --git a/keyboards/viendi8l/viendi8l.c b/keyboards/viendi8l/viendi8l.c
new file mode 100644
index 0000000000..ef720ce207
--- /dev/null
+++ b/keyboards/viendi8l/viendi8l.c
@@ -0,0 +1,56 @@
+/*
+Copyright 2022 Ãlvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "viendi8l.h"
+
+
+// Defining indicator colors
+uint8_t caps_color[3] = {0xFF,0xFF,0xFF};
+uint8_t num_color[3] = {0xFF,0xFF,0xFF};
+uint8_t layer_color[3] = {0xFF,0xFF,0xFF};
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if(res) {
+ led_state.caps_lock ? rgblight_setrgb_at(caps_color[0], caps_color[1], caps_color[2], 2) : rgblight_setrgb_at(0x00,0x00,0x00,2);
+ led_state.num_lock ? rgblight_setrgb_at(num_color[0], num_color[1], num_color[2], 3) : rgblight_setrgb_at(0x00,0x00,0x00,3);
+ }
+ return res;
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case 1:
+ rgblight_setrgb_at(layer_color[0], layer_color[1], layer_color[2], 1);
+ break;
+ default:
+ rgblight_setrgb_at(0x00, 0x00, 0x00, 1);
+ break;
+ }
+ return state;
+}
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if(!encoder_update_user(index, clockwise)) return false;
+ if (index == 0) {
+ if (clockwise) tap_code_delay(KC_VOLU, 10);
+ else tap_code_delay(KC_VOLD, 10);
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/viendi8l/viendi8l.h b/keyboards/viendi8l/viendi8l.h
new file mode 100644
index 0000000000..80070619f0
--- /dev/null
+++ b/keyboards/viendi8l/viendi8l.h
@@ -0,0 +1,37 @@
+/*
+Copyright 2020 Gondolindrim <gondolindrim@acheronproject.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \
+ K40, K41, K42, K43, K44, K46, K47, K5A, K5C, K5D, K5E, K5F, K5G, K5H \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \
+ { K40, K41, K42, K43, K44, ___, K46, K47, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
+ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F, K5G, K5H } \
+}
diff --git a/keyboards/viktus/at101_bh/config.h b/keyboards/viktus/at101_bh/config.h
index 8c81fab916..9842d0ca6c 100644
--- a/keyboards/viktus/at101_bh/config.h
+++ b/keyboards/viktus/at101_bh/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER blindassassin111
-#define PRODUCT AT101_BH PCB
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F0, F1, F4, D4, F6, F5, F7, B6, B5, D5, C7, C6 }
#define MATRIX_COL_PINS { D1, D0, B7, B3, B2, B1, B0, E6, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/viktus/at101_bh/info.json b/keyboards/viktus/at101_bh/info.json
index 9fdac129f5..a5ef9d4ca2 100644
--- a/keyboards/viktus/at101_bh/info.json
+++ b/keyboards/viktus/at101_bh/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "AT101 BH PCB",
+ "keyboard_name": "AT101 Blackheart",
+ "manufacturer": "blindassassin111",
"url": "https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html",
"maintainer": "qmk, blindassassin111",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/viktus/omnikey_bh/config.h b/keyboards/viktus/omnikey_bh/config.h
index 7d170077a9..ab2e130da8 100644
--- a/keyboards/viktus/omnikey_bh/config.h
+++ b/keyboards/viktus/omnikey_bh/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER blindassassin111
-#define PRODUCT Omnikey Blackheart PCB
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 23
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, D0, D1, D2, D3, D4 }
#define MATRIX_COL_PINS { C2, C3, C4, C7, C1, C0, E1, E0, D7, F7, F6, F5, F4, F3, F2, F1, F0, E6, E7, B0, B1, B2, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/viktus/omnikey_bh/info.json b/keyboards/viktus/omnikey_bh/info.json
index 93b6aeefd8..c7ddd64e87 100644
--- a/keyboards/viktus/omnikey_bh/info.json
+++ b/keyboards/viktus/omnikey_bh/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Omnikey BH PCB",
+ "keyboard_name": "Omnikey Blackheart",
+ "manufacturer": "blindassassin111",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2.5, "y":0}, {"label":"K003", "x":4.5, "y":0}, {"label":"K004", "x":5.5, "y":0}, {"label":"K005", "x":6.5, "y":0}, {"label":"K006", "x":7.5, "y":0}, {"label":"K007", "x":9, "y":0}, {"label":"K008", "x":10, "y":0}, {"label":"K009", "x":11, "y":0}, {"label":"K010", "x":12, "y":0}, {"label":"K011", "x":13.5, "y":0}, {"label":"K012", "x":14.5, "y":0}, {"label":"K013", "x":15.5, "y":0}, {"label":"K014", "x":16.5, "y":0}, {"label":"K015", "x":18, "y":0}, {"label":"K016", "x":19, "y":0}, {"label":"K017", "x":20, "y":0}, {"label":"K100", "x":0, "y":1.5}, {"label":"K101", "x":1, "y":1.5}, {"label":"K102", "x":2.5, "y":1.5}, {"label":"K103", "x":3.5, "y":1.5}, {"label":"K104", "x":4.5, "y":1.5}, {"label":"K105", "x":5.5, "y":1.5}, {"label":"K106", "x":6.5, "y":1.5}, {"label":"K107", "x":7.5, "y":1.5}, {"label":"K108", "x":8.5, "y":1.5}, {"label":"K109", "x":9.5, "y":1.5}, {"label":"K110", "x":10.5, "y":1.5}, {"label":"K111", "x":11.5, "y":1.5}, {"label":"K112", "x":12.5, "y":1.5}, {"label":"K113", "x":13.5, "y":1.5}, {"label":"K114", "x":14.5, "y":1.5}, {"label":"K115", "x":15.5, "y":1.5, "w":2}, {"label":"K116", "x":18, "y":1.5}, {"label":"K117", "x":19, "y":1.5}, {"label":"K118", "x":20, "y":1.5}, {"label":"K119", "x":21.5, "y":1.5}, {"label":"K120", "x":22.5, "y":1.5}, {"label":"K121", "x":23.5, "y":1.5}, {"label":"K122", "x":24.5, "y":1.5}, {"label":"K200", "x":0, "y":2.5}, {"label":"K201", "x":1, "y":2.5}, {"label":"K202", "x":2.5, "y":2.5, "w":1.5}, {"label":"K203", "x":4, "y":2.5}, {"label":"K204", "x":5, "y":2.5}, {"label":"K205", "x":6, "y":2.5}, {"label":"K206", "x":7, "y":2.5}, {"label":"K207", "x":8, "y":2.5}, {"label":"K208", "x":9, "y":2.5}, {"label":"K209", "x":10, "y":2.5}, {"label":"K210", "x":11, "y":2.5}, {"label":"K211", "x":12, "y":2.5}, {"label":"K212", "x":13, "y":2.5}, {"label":"K213", "x":14, "y":2.5}, {"label":"K214", "x":15, "y":2.5}, {"label":"K215", "x":16, "y":2.5, "w":1.5}, {"label":"K216", "x":18, "y":2.5}, {"label":"K217", "x":19, "y":2.5}, {"label":"K218", "x":20, "y":2.5}, {"label":"K219", "x":21.5, "y":2.5}, {"label":"K220", "x":22.5, "y":2.5}, {"label":"K221", "x":23.5, "y":2.5}, {"label":"K222", "x":24.5, "y":2.5}, {"label":"K300", "x":0, "y":3.5}, {"label":"K301", "x":1, "y":3.5}, {"label":"K302", "x":2.5, "y":3.5, "w":1.75}, {"label":"K303", "x":4.25, "y":3.5}, {"label":"K304", "x":5.25, "y":3.5}, {"label":"K305", "x":6.25, "y":3.5}, {"label":"K306", "x":7.25, "y":3.5}, {"label":"K307", "x":8.25, "y":3.5}, {"label":"K308", "x":9.25, "y":3.5}, {"label":"K309", "x":10.25, "y":3.5}, {"label":"K310", "x":11.25, "y":3.5}, {"label":"K311", "x":12.25, "y":3.5}, {"label":"K312", "x":13.25, "y":3.5}, {"label":"K313", "x":14.25, "y":3.5}, {"label":"K314", "x":15.25, "y":3.5, "w":2.25}, {"label":"K315", "x":18, "y":3.5}, {"label":"K316", "x":19, "y":3.5}, {"label":"K317", "x":20, "y":3.5}, {"label":"K318", "x":21.5, "y":3.5}, {"label":"K319", "x":22.5, "y":3.5}, {"label":"K320", "x":23.5, "y":3.5}, {"label":"K321", "x":24.5, "y":3.5}, {"label":"K400", "x":0, "y":4.5}, {"label":"K401", "x":1, "y":4.5}, {"label":"K402", "x":2.5, "y":4.5, "w":2.25}, {"label":"K403", "x":4.75, "y":4.5}, {"label":"K404", "x":5.75, "y":4.5}, {"label":"K405", "x":6.75, "y":4.5}, {"label":"K406", "x":7.75, "y":4.5}, {"label":"K407", "x":8.75, "y":4.5}, {"label":"K408", "x":9.75, "y":4.5}, {"label":"K409", "x":10.75, "y":4.5}, {"label":"K410", "x":11.75, "y":4.5}, {"label":"K411", "x":12.75, "y":4.5}, {"label":"K412", "x":13.75, "y":4.5}, {"label":"K413", "x":14.75, "y":4.5, "w":1.75}, {"label":"K414", "x":16.5, "y":4.5}, {"label":"K415", "x":18, "y":4.5}, {"label":"K416", "x":19, "y":4.5}, {"label":"K417", "x":20, "y":4.5}, {"label":"K418", "x":21.5, "y":4.5}, {"label":"K419", "x":22.5, "y":4.5}, {"label":"K420", "x":23.5, "y":4.5}, {"label":"K421", "x":24.5, "y":4.5, "h":2}, {"label":"K500", "x":0, "y":5.5}, {"label":"K501", "x":1, "y":5.5}, {"label":"K502", "x":2.5, "y":5.5, "w":1.5}, {"label":"K503", "x":4, "y":5.5}, {"label":"K504", "x":5, "y":5.5, "w":1.5}, {"label":"K507", "x":6.5, "y":5.5, "w":7}, {"label":"K512", "x":13.5, "y":5.5}, {"label":"K513", "x":14.5, "y":5.5}, {"label":"K514", "x":15.5, "y":5.5}, {"label":"K515", "x":16.5, "y":5.5}, {"label":"K516", "x":18, "y":5.5}, {"label":"K517", "x":19, "y":5.5}, {"label":"K518", "x":20, "y":5.5}, {"label":"K519", "x":21.5, "y":5.5, "w":2}, {"label":"K520", "x":23.5, "y":5.5}]
diff --git a/keyboards/viktus/smolka/config.h b/keyboards/viktus/smolka/config.h
index fa655ae3e8..fe081689b3 100644
--- a/keyboards/viktus/smolka/config.h
+++ b/keyboards/viktus/smolka/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5644 // "VD" = Viktus Design LLC
-#define PRODUCT_ID 0x0010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Viktus Design LLC
-#define PRODUCT Smolka
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7, C7, C6 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, D4, B1, B2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/viktus/smolka/info.json b/keyboards/viktus/smolka/info.json
index 8e9fe6fc8b..2ee502bd37 100644
--- a/keyboards/viktus/smolka/info.json
+++ b/keyboards/viktus/smolka/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "smolka",
+ "keyboard_name": "Smolka",
+ "manufacturer": "Viktus Design LLC",
"url": "",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0x5644",
+ "pid": "0x0010",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/viktus/smolka/readme.md b/keyboards/viktus/smolka/readme.md
index d01a729ef0..8c364c36f6 100644
--- a/keyboards/viktus/smolka/readme.md
+++ b/keyboards/viktus/smolka/readme.md
@@ -27,4 +27,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (1,0) in the matrix (the top key in the macro column) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/viktus/sp111/config.h b/keyboards/viktus/sp111/config.h
index c38eea5adc..2e2d0a7020 100644
--- a/keyboards/viktus/sp111/config.h
+++ b/keyboards/viktus/sp111/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5644 //VD
-#define PRODUCT_ID 0x5111
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Viktus Design
-#define PRODUCT SP111
-
/* key matrix size */
#define MATRIX_ROWS 6*2
#define MATRIX_COLS 11
diff --git a/keyboards/viktus/sp111/info.json b/keyboards/viktus/sp111/info.json
index ea4fe82e1d..c438b91e25 100644
--- a/keyboards/viktus/sp111/info.json
+++ b/keyboards/viktus/sp111/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "SP-111",
+ "keyboard_name": "SP111",
+ "manufacturer": "Viktus Design LLC",
"url": "https://thekey.company/products/sp-111",
"maintainer": "blindassassin111",
+ "usb": {
+ "vid": "0x5644",
+ "pid": "0x5111",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/viktus/sp_mini/config.h b/keyboards/viktus/sp_mini/config.h
index bce8a4cc4c..c26afa9684 100644
--- a/keyboards/viktus/sp_mini/config.h
+++ b/keyboards/viktus/sp_mini/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5644
-#define PRODUCT_ID 0x534D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Viktus_Design
-#define PRODUCT SP_Mini
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
diff --git a/keyboards/viktus/sp_mini/info.json b/keyboards/viktus/sp_mini/info.json
index 5c3cc4c5de..ec63304eff 100644
--- a/keyboards/viktus/sp_mini/info.json
+++ b/keyboards/viktus/sp_mini/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "sp_mini",
+ "keyboard_name": "SP_Mini",
+ "manufacturer": "Viktus Design LLC",
"url": "",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0x5644",
+ "pid": "0x534D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/viktus/sp_mini/keymaps/peott-fr/keymap.c b/keyboards/viktus/sp_mini/keymaps/peott-fr/keymap.c
index 93d65c93a2..6d0727be2c 100644
--- a/keyboards/viktus/sp_mini/keymaps/peott-fr/keymap.c
+++ b/keyboards/viktus/sp_mini/keymaps/peott-fr/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, L_CTRL, KC_LGUI, L_ALT, KC_NO, LHAND, RHAND, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_LHAND] = LAYOUT_all(
- RESET, 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,
+ QK_BOOT, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS,
KC_PGUP, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS,
KC_PGDN, KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSPC, KC_TRNS,
diff --git a/keyboards/viktus/styrka/config.h b/keyboards/viktus/styrka/config.h
index 666ebbf866..118dafb1f7 100644
--- a/keyboards/viktus/styrka/config.h
+++ b/keyboards/viktus/styrka/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5644 // "VD" = Viktus Design LLC
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Viktus Design LLC
-#define PRODUCT Styrka
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
@@ -48,7 +41,6 @@ EncA (B6) because it is not used in the default PCB
All Extra pins (A8, B15, B14, B13, B3, B5, B8, B9) , for the same reason;
B0, which is unconnected on the PCB
*/
-//#define UNUSED_PINS { B0, B6, B13, B14, B15, B8, B9, B5, B3 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/viktus/styrka/info.json b/keyboards/viktus/styrka/info.json
index f3d828a1a6..c1c161e5f4 100644
--- a/keyboards/viktus/styrka/info.json
+++ b/keyboards/viktus/styrka/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Styrka",
+ "manufacturer": "Viktus Design LLC",
"url": "https",
"maintainer": "jrfhoutx",
+ "usb": {
+ "vid": "0x5644",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"F1", "x":0, "y":0}, {"label":"MO(1)", "x":1, "y":0}, {"label":"~", "x":2.25, "y":0}, {"label":"!", "x":3.25, "y":0}, {"label":"@", "x":4.25, "y":0}, {"label":"#", "x":5.25, "y":0}, {"label":"$", "x":6.25, "y":0}, {"label":"%", "x":7.25, "y":0}, {"label":"^", "x":8.25, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "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":2}, {"label":"Insert", "x":17.25, "y":0}, {"label":"F3", "x":0, "y":1}, {"label":"F4", "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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"|", "x":15.75, "y":1, "w":1.5}, {"label":"Delete", "x":17.25, "y":1}, {"label":"F5", "x":0, "y":2}, {"label":"F6", "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":"Enter", "x":15, "y":2, "w":2.25}, {"label":"PgUp", "x":17.25, "y":2}, {"label":"F7", "x":0, "y":3}, {"label":"F8", "x":1, "y":3}, {"label":"Shift", "x":2.25, "y":3, "w":2.25}, {"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.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"PgDn", "x":17.25, "y":3}, {"label":"F9", "x":0, "y":4}, {"label":"F10", "x":1, "y":4}, {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, {"label":"Win", "x":3.5, "y":4, "w":1.25}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":6.25}, {"label":"Alt", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/viktus/styrka/keymaps/all/keymap.c b/keyboards/viktus/styrka/keymaps/all/keymap.c
index 01c8362e24..7a61b3a3fa 100644
--- a/keyboards/viktus/styrka/keymaps/all/keymap.c
+++ b/keyboards/viktus/styrka/keymaps/all/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_all( /* Styrka Base */
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/viktus/styrka/keymaps/split_bs/keymap.c b/keyboards/viktus/styrka/keymaps/split_bs/keymap.c
index 435bcf0a44..45cbe86cdb 100644
--- a/keyboards/viktus/styrka/keymaps/split_bs/keymap.c
+++ b/keyboards/viktus/styrka/keymaps/split_bs/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_split_bs( /* Styrka Base */
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/viktus/z150_bh/config.h b/keyboards/viktus/z150_bh/config.h
index 0bfbe3228f..813079bd9f 100644
--- a/keyboards/viktus/z150_bh/config.h
+++ b/keyboards/viktus/z150_bh/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER blindassassin111
-#define PRODUCT Z-150 PCB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 20
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C3, C2, C1, C0, E1 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D7, E0, C7, C6, C5, C4, F0, F1, F2, F3, F4, F5, F6, F7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/viktus/z150_bh/info.json b/keyboards/viktus/z150_bh/info.json
index 3339baee89..0c471fd1ea 100644
--- a/keyboards/viktus/z150_bh/info.json
+++ b/keyboards/viktus/z150_bh/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Z-150 BH",
+ "keyboard_name": "Z-150 Blackheart",
+ "manufacturer": "blindassassin111",
"url": "",
"maintainer": "qmk, blindassassin111",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/vitamins_included/config.h b/keyboards/vitamins_included/config.h
index 9939167315..013bf0d4e8 100644
--- a/keyboards/vitamins_included/config.h
+++ b/keyboards/vitamins_included/config.h
@@ -19,10 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
//#define USE_I2C
-/* Common USB Device descriptor parameters */
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0xBEE5
-#define MANUFACTURER Duckle29
-#define PRODUCT Vitamins included
-
#include "config_common.h"
diff --git a/keyboards/vitamins_included/info.json b/keyboards/vitamins_included/info.json
index ee7dadead4..acfacd6dca 100644
--- a/keyboards/vitamins_included/info.json
+++ b/keyboards/vitamins_included/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "Vitamins Included",
+ "manufacturer": "Duckle29",
"url": "",
"maintainer": "Duckle29",
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0xBEE5"
+ },
"layouts": {
"LAYOUT": {
"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":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "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":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
diff --git a/keyboards/vitamins_included/keymaps/numpad/keymap.c b/keyboards/vitamins_included/keymaps/numpad/keymap.c
index 5bff826145..03cfafda11 100644
--- a/keyboards/vitamins_included/keymaps/numpad/keymap.c
+++ b/keyboards/vitamins_included/keymaps/numpad/keymap.c
@@ -42,14 +42,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | RESET RESET | | | | |RGBMOD|
+ * | | | | | | QK_BOOT QK_BOOT | | | | |RGBMOD|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, RGB_MOD
+ _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, RGB_MOD
)
diff --git a/keyboards/vitamins_included/keymaps/vitavim/keymap.c b/keyboards/vitamins_included/keymaps/vitavim/keymap.c
index e90f0e076e..d59ff88029 100644
--- a/keyboards/vitamins_included/keymaps/vitavim/keymap.c
+++ b/keyboards/vitamins_included/keymaps/vitavim/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------------------------------------------'
*/
[_VIM] = LAYOUT_ortho_4x12(
- KC_TAB, KC_QUOT, KC_B, KC_W, KC_E, KC_D, KC_Y, KC_VOLD, KC_VOLU, TO(0), TG(2), RESET,
+ KC_TAB, KC_QUOT, KC_B, KC_W, KC_E, KC_D, KC_Y, KC_VOLD, KC_VOLU, TO(0), TG(2), QK_BOOT,
LCTL_T(KC_ESC), KC_HOME, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, LT(2,KC_SCLN), KC_ENT,
KC_LSFT, KC_SCLN, KC_Q, KC_CIRC, KC_DLR, KC_X, RALT(KC_EQL), RCTL(KC_PLUS), RCTL(KC_PMNS), KC_NO, KC_NO, KC_TRNS,
KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, LSFT(KC_LCTL), KC_SPC, KC_DEL, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_TRNS
diff --git a/keyboards/vitamins_included/rev1/config.h b/keyboards/vitamins_included/rev1/config.h
index 675dae1044..0a32ba8c47 100644
--- a/keyboards/vitamins_included/rev1/config.h
+++ b/keyboards/vitamins_included/rev1/config.h
@@ -25,9 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EE_HANDS
#define SOFT_SERIAL_PIN D0
-/* USB Device descriptor parameters */
-#define DEVICE_VER 0x0001
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/vitamins_included/rev1/info.json b/keyboards/vitamins_included/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/vitamins_included/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h
index 6ea80ec05a..fff3e9cccf 100644
--- a/keyboards/vitamins_included/rev2/config.h
+++ b/keyboards/vitamins_included/rev2/config.h
@@ -24,9 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SPLIT_HAND_PIN B4
#define SOFT_SERIAL_PIN D0
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0002
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
diff --git a/keyboards/vitamins_included/rev2/info.json b/keyboards/vitamins_included/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/vitamins_included/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/w1_at/config.h b/keyboards/w1_at/config.h
index e923773de7..e04d3b15ef 100644
--- a/keyboards/w1_at/config.h
+++ b/keyboards/w1_at/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x5754
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT W1-AT
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 20
@@ -39,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
/* Indicator LEDs */
diff --git a/keyboards/w1_at/info.json b/keyboards/w1_at/info.json
index 07a7f72844..1c4f6bf22a 100644
--- a/keyboards/w1_at/info.json
+++ b/keyboards/w1_at/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "W1-AT",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5754",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "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":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":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.5, "y":0}, {"x":18.5, "y":0}, {"x":19.5, "y":0}, {"x":20.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.25, "y":1, "w":1.5}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.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, "w":1.5}, {"x":17.5, "y":1}, {"x":18.5, "y":1}, {"x":19.5, "y":1}, {"x":20.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.25, "y":2, "w":1.75}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "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":15, "y":2, "w":2.25}, {"x":17.5, "y":2}, {"x":18.5, "y":2}, {"x":19.5, "y":2}, {"x":20.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.25, "y":3, "w":1.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":8.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, "w":1.75}, {"x":16.25, "y":3}, {"x":17.5, "y":3}, {"x":18.5, "y":3}, {"x":19.5, "y":3}, {"x":20.5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.25, "y":4, "w":1.5}, {"x":4.75, "y":4, "w":1.5}, {"x":6.25, "y":4, "w":7}, {"x":13.25, "y":4, "w":1.5}, {"x":15.75, "y":4, "w":1.5}, {"x":17.5, "y":4}, {"x":18.5, "y":4}, {"x":19.5, "y":4}, {"x":20.5, "y":4}]
diff --git a/keyboards/waldo/config.h b/keyboards/waldo/config.h
index b4fac7a606..965f9d1893 100644
--- a/keyboards/waldo/config.h
+++ b/keyboards/waldo/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4744 // GD for Greenwald Designs
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Greenwald Designs
-#define PRODUCT Waldo
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Planck PCB default pin-out */
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { F7, D5, D3, D2, B3, B2, C7, C6, B6, B5, B4, D7, D6, D4, B1 }
-#define UNUSED_PINS
#define BACKLIGHT_PIN B7
#define BACKLIGHT_BREATHING
diff --git a/keyboards/waldo/info.json b/keyboards/waldo/info.json
index 06f0c02314..199d37be35 100644
--- a/keyboards/waldo/info.json
+++ b/keyboards/waldo/info.json
@@ -1,5 +1,12 @@
{
+ "keyboard_name": "Waldo",
+ "manufacturer": "Greenwald Designs",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x4744",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/walletburner/cajal/config.h b/keyboards/walletburner/cajal/config.h
index f653710e6c..a162ff514c 100644
--- a/keyboards/walletburner/cajal/config.h
+++ b/keyboards/walletburner/cajal/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5742 // WB
-#define PRODUCT_ID 0x6361 // CJ
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Walletburner
-#define PRODUCT Cajal
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, D5, C7, C6 }
#define MATRIX_COL_PINS { F4, F1, F0, E6, B0, B1, B2, B3, D0, D1, D2, D3, B4, F6 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { D6 }
#define ENCODERS_PAD_B { D7 }
diff --git a/keyboards/walletburner/cajal/info.json b/keyboards/walletburner/cajal/info.json
index 5539c501a4..99eb31c61a 100644
--- a/keyboards/walletburner/cajal/info.json
+++ b/keyboards/walletburner/cajal/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "cajal",
+ "keyboard_name": "Cajal",
+ "manufacturer": "Walletburner",
"url": "https://qmk.fm/keyboards/",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0x5742",
+ "pid": "0x6361",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_stagger": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"[", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"RGB", "x":13.25, "y":0.5}, {"label":"", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"'", "x":10.25, "y":1}, {"label":"Return", "x":11.25, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":",", "x":8.75, "y":2}, {"label":".", "x":9.75, "y":2}, {"label":"/", "x":10.75, "y":2, "w":1.25}, {"label":"&uarr;", "x":12.25, "y":2.25}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Alt", "x":1.25, "y":3}, {"label":"Super", "x":2.25, "y":3, "w":1.25}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":8.5, "y":3, "w":1.25}, {"label":"Del", "x":9.75, "y":3, "w":1.25}, {"label":"&larr;", "x":11.25, "y":3.25}, {"label":"&darr;", "x":12.25, "y":3.25}, {"label":"&rarr;", "x":13.25, "y":3.25}]
diff --git a/keyboards/walletburner/neuron/config.h b/keyboards/walletburner/neuron/config.h
index c1b99ead11..a28b7c51c9 100644
--- a/keyboards/walletburner/neuron/config.h
+++ b/keyboards/walletburner/neuron/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5742 // WB
-#define PRODUCT_ID 0x6E75 // NU
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Walletburner
-#define PRODUCT Neuron
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D3, F5 }
#define MATRIX_COL_PINS { F0, F7, F6, F4, F1, E6, D6, D2, B4, D7, B6, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/walletburner/neuron/info.json b/keyboards/walletburner/neuron/info.json
index de73dacf4e..d7c2c7126c 100644
--- a/keyboards/walletburner/neuron/info.json
+++ b/keyboards/walletburner/neuron/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Neuron",
+ "manufacturer": "Walletburner",
"url": "https://qmk.fm/keyboards/",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0x5742",
+ "pid": "0x6E75",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"Enter", "x":10.25, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":"Shift", "x":9.75, "y":2, "w":1.25}, {"label":"Fn", "x":11, "y":2}, {"label":"Hyper", "x":1, "y":3, "w":1.25}, {"label":"Super", "x":2.25, "y":3, "w":1.25}, {"x":3.5, "y":3, "w":1.75}, {"x":5.25, "y":3}, {"x":6.25, "y":3, "w":2.25}, {"label":"Meta", "x":8.5, "y":3, "w":1.25}, {"label":"Super", "x":9.75, "y":3, "w":1.25}]
diff --git a/keyboards/walletburner/neuron/keymaps/brandonschlack/keymap.c b/keyboards/walletburner/neuron/keymaps/brandonschlack/keymap.c
index 1193fa32c2..b7ab190862 100644
--- a/keyboards/walletburner/neuron/keymaps/brandonschlack/keymap.c
+++ b/keyboards/walletburner/neuron/keymaps/brandonschlack/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT( \
- QM_MAKE, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, \
+ QM_MAKE, _______, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______ \
diff --git a/keyboards/waterfowl/config.h b/keyboards/waterfowl/config.h
new file mode 100644
index 0000000000..299da6f9f0
--- /dev/null
+++ b/keyboards/waterfowl/config.h
@@ -0,0 +1,49 @@
+/* Copyright 2022 CyanDuck
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+#include "config_common.h"
+
+/* Key matrix size */
+/* Rows are doubled up */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+
+// Wiring
+#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
+
+// COL2ROW, ROW2COL
+#define DIODE_DIRECTION COL2ROW
+
+// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed
+#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 OLED_DISPLAY_128X64
+#define SPLIT_MODS_ENABLE
+#define SPLIT_WPM_ENABLE
+#define SPLIT_USB_DETECT
+
+// Encoders
+#define ENCODERS_PAD_A { B4, B3 }
+#define ENCODERS_PAD_B { B5, B2 }
+#define ENCODER_RESOLUTIONS { 4, 2 }
+
+// Tapping term
+#define TAPPING_TERM 200 \ No newline at end of file
diff --git a/keyboards/waterfowl/info.json b/keyboards/waterfowl/info.json
new file mode 100644
index 0000000000..f8219ec80a
--- /dev/null
+++ b/keyboards/waterfowl/info.json
@@ -0,0 +1,60 @@
+{
+ "keyboard_name": "Waterfowl",
+ "manufacturer": "CyanDuck",
+ "url": "",
+ "maintainer": "JW2586",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9CE3",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":1},
+ {"x":1, "y":0.25},
+ {"x":2, "y":0},
+ {"x":3, "y":0.375},
+ {"x":4, "y":0.5},
+ {"x":9, "y":0.5},
+ {"x":10, "y":0.375},
+ {"x":11, "y":0},
+ {"x":12, "y":0.25},
+ {"x":13, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1},
+ {"x":3, "y":1.375},
+ {"x":4, "y":1.5},
+ {"x":9, "y":1.5},
+ {"x":10, "y":1.375},
+ {"x":11, "y":1},
+ {"x":12, "y":1.25},
+ {"x":13, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":2.25},
+ {"x":2, "y":2},
+ {"x":3, "y":2.375},
+ {"x":4, "y":2.5},
+ {"x":9, "y":2.5},
+ {"x":10, "y":2.375},
+ {"x":11, "y":2},
+ {"x":12, "y":2.25},
+ {"x":13, "y":3},
+
+ {"x":2, "y":3.5},
+ {"x":3.5, "y":3.5},
+ {"x":4.5, "y":3.7},
+ {"x":5.5, "y":4.1},
+ {"x":5.5, "y":2.5},
+ {"x":7.5, "y":2.5},
+ {"x":7.5, "y":4.1},
+ {"x":8.5, "y":3.7},
+ {"x":9.5, "y":3.5},
+ {"x":11, "y":3.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/waterfowl/keymaps/cyanduck/keymap.c b/keyboards/waterfowl/keymaps/cyanduck/keymap.c
new file mode 100644
index 0000000000..ac52c7454d
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/cyanduck/keymap.c
@@ -0,0 +1,129 @@
+/* Copyright 2022 CyanDuck
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _COLEMAKDH,
+ _NAVNUM,
+ _SYM,
+ _FUNC,
+ _GAME
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Colemak-DH
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | Q | W | F | P | B | | J | L | U | Y | ; |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | A | R | S | T | G | | M | N | E | I | O |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Z | X | C | D | V | | 2 | | 3 | | K | H | , | . | / |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_COLEMAKDH] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
+ KC_A, MT(MOD_LALT, KC_R), MT(MOD_LCTL, KC_S), MT(MOD_LSFT, KC_T), KC_G, KC_M, MT(MOD_LSFT, KC_N), MT(MOD_LCTL, KC_E), MT(MOD_LALT, KC_I), KC_O,
+ KC_Z, KC_X, KC_C, MT(MOD_LGUI, KC_D), KC_V, KC_K, MT(MOD_LGUI, KC_H), KC_COMM, KC_DOT, KC_SLSH,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* NAVNUM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | ESC | PgUp | UP | PgDn | TO(4)| | / | 7 | 8 | 9 | - |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | | | INS | TO(2)| | | 2 | | 3 | | 0 | 1 | 2 | 3 | * |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | MO(3)| | TO(0) | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_NAVNUM] = LAYOUT(
+ KC_ESC, KC_PGUP, KC_UP, KC_PGDN, TO(4), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS,
+ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS,
+ KC_NO, KC_NO, KC_INS, TO(2), KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_ESC, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* SYM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | $ | £ | { | } | & | | 2 | | 3 | | TO(1)| | | | |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_SYM] = LAYOUT(
+ KC_PERC, S(KC_QUOT), KC_LBRC, KC_RBRC, KC_NUBS, RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO, KC_NO,
+ KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS), KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
+ KC_DLR, S(KC_3), KC_LCBR, KC_RCBR, KC_AMPR, TO(1), KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* FUNC
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | | | | | | | | F7 | F8 | F9 | F11 |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | | | | | | | | F4 | F5 | F6 | F12 |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Reset| | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_FUNC] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* GAME
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | ESC | Q | W | E | R | | | | | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * |Shift | A | S | D | F | | | | | | |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Ctrl | Z | X | C | V | | 2 | | 3 | | | | | | |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | T | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_GAME] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_1, KC_T, KC_SPC, KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
+),
+};
diff --git a/keyboards/waterfowl/keymaps/default/keymap.c b/keyboards/waterfowl/keymaps/default/keymap.c
new file mode 100644
index 0000000000..18b750466f
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/default/keymap.c
@@ -0,0 +1,108 @@
+/* Copyright 2022 CyanDuck
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY,
+ _NAVNUM,
+ _SYM,
+ _FUNC,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* 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 | | 2 | | 3 | | N | M | , | . | / |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_QWERTY] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ MT(MOD_LGUI, KC_A), MT(MOD_LALT, KC_S), MT(MOD_LCTL, KC_D), MT(MOD_LSFT, KC_F), KC_G, KC_H, MT(MOD_LSFT, KC_J), MT(MOD_LCTL, KC_K), MT(MOD_LALT, KC_L), MT(MOD_LGUI, KC_SCLN),
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* NAVNUM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | | | INS | | | | 2 | | 3 | | 0 | 1 | 2 | 3 | * |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_NAVNUM] = LAYOUT(
+ KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS,
+ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS,
+ KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* SYM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | $ | £ | { | } | & | | 2 | | 3 | | | | | | |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_SYM] = LAYOUT(
+ KC_PERC, S(KC_QUOT), KC_LBRC, KC_RBRC, KC_NUBS, RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO, KC_NO,
+ KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS), KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
+ KC_DLR, S(KC_3), KC_LCBR, KC_RCBR, KC_AMPR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* FUNC
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | | | | | | | | F7 | F8 | F9 | F11 |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | | | | | | | | F4 | F5 | F6 | F12 |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Reset| | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_FUNC] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+};
diff --git a/keyboards/waterfowl/readme.md b/keyboards/waterfowl/readme.md
new file mode 100644
index 0000000000..9b504ca769
--- /dev/null
+++ b/keyboards/waterfowl/readme.md
@@ -0,0 +1,21 @@
+# Waterfowl
+
+The Waterfowl is a 36-key split keyboard inspired by the Kyria and Arch-36.
+
+* Keyboard Maintainer: [CyanDuck](https://github.com/JW2586)
+* Hardware Supported: Pro Micro 5V/16MHz and compatible.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make waterfowl:default
+
+Example of flashing this keyboard:
+
+ make waterfowl:default:flash
+
+Enter the bootloader by:
+- Press the key mapped to reset (bottom left key in FUNC layer/layer 3)
+- Press the reset button on the PCB
+- Connect GND and RST pins on pro micro
+
+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/waterfowl/rules.mk b/keyboards/waterfowl/rules.mk
new file mode 100644
index 0000000000..1515d5f866
--- /dev/null
+++ b/keyboards/waterfowl/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 = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+OLED_ENABLE = yes # Enables the use of OLED displays
+OLED_DRIVER = SSD1306 # Specifies the type of OLED
+SPLIT_KEYBOARD = yes # Enables split functionality
+ENCODER_ENABLE = yes # Enables the encoders \ No newline at end of file
diff --git a/keyboards/waterfowl/waterfowl.c b/keyboards/waterfowl/waterfowl.c
new file mode 100644
index 0000000000..55dcdf4796
--- /dev/null
+++ b/keyboards/waterfowl/waterfowl.c
@@ -0,0 +1,161 @@
+/* Copyright 2022 CyanDuck
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "waterfowl.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ if (index == 0) { // Left roller
+ if (clockwise) {
+ tap_code(KC_MS_WH_DOWN);
+ } else {
+ tap_code(KC_MS_WH_UP);
+ }
+ } else if (index == 1) { // Left encoder
+ if (clockwise) {
+ tap_code16(S(KC_TAB));
+ } else {
+ tap_code(KC_TAB);
+ }
+ } else if (index == 2) { // Right roller
+ if (clockwise) {
+ tap_code16(S(KC_MS_WH_DOWN));
+ } else {
+ tap_code16(S(KC_MS_WH_UP));
+ }
+ } else if (index == 3) { // Right encoder
+ if (clockwise) {
+ tap_code(KC_RIGHT);
+ } else {
+ tap_code(KC_LEFT);
+ }
+ }
+
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ if (is_keyboard_master() && is_keyboard_left()) {
+ return OLED_ROTATION_90;
+ } else {
+ return OLED_ROTATION_270;
+ }
+}
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ if (is_keyboard_master()) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("LAYER:\n"), false);
+ oled_write_P(PSTR("\n"), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("DEFAULT\n\n\n\n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("FUNCTION\n\n\n\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("SYMBOLS\n\n\n\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("NAVIGATIONAND\nNUMBERS\n"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+ } else {
+ static const char PROGMEM my_logo[] = {
+ // Paste the code from the previous step below this line!
+ // 'waterfowl for OLED', 64x128px
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0xc0, 0x40, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0xc0, 0x40, 0x20, 0x10, 0x10, 0x08, 0x0c, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01,
+0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1a, 0x26, 0x40,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
+0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1e, 0x16, 0x1c, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x03, 0x0c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xff,
+0x78, 0xf8, 0xfc, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfc,
+0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1e, 0x1c, 0x1c, 0x14, 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
+0x10, 0x10, 0x10, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x38, 0x7c, 0x7e, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xc0, 0x38, 0x0e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x38,
+0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3c, 0x03, 0x80,
+0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x80, 0xc0, 0x40, 0x7f, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0c, 0x0c, 0x0c, 0x04, 0x07, 0x02, 0x03, 0x01,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x02, 0x06, 0x06, 0x06,
+0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(my_logo, sizeof(my_logo));
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/waterfowl/waterfowl.h b/keyboards/waterfowl/waterfowl.h
new file mode 100644
index 0000000000..0c7f897dbf
--- /dev/null
+++ b/keyboards/waterfowl/waterfowl.h
@@ -0,0 +1,44 @@
+/* Copyright 2022 CyanDuck
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <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 representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, R04, R03, R02, R01, R00, \
+ L05, L06, L07, L08, L09, R09, R08, R07, R06, R05, \
+ L10, L11, L12, L13, L14, R14, R13, R12, R11, R10, \
+ L15, L16, L17, L18, L19, R19, R18, R17, R16, R15 \
+) \
+{ \
+ { L00, L01, L02, L03, L04 }, \
+ { L05, L06, L07, L08, L09 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L15, L16, L17, L18, L19 }, \
+ { R00, R01, R02, R03, R04 }, \
+ { R05, R06, R07, R08, R09 }, \
+ { R10, R11, R12, R13, R14 }, \
+ { R15, R16, R17, R18, R19}, \
+}
diff --git a/keyboards/wavtype/foundation/config.h b/keyboards/wavtype/foundation/config.h
index dff85685e1..ac7a26de9e 100644
--- a/keyboards/wavtype/foundation/config.h
+++ b/keyboards/wavtype/foundation/config.h
@@ -5,13 +5,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03a7
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER protozoa.studio
-#define PRODUCT foundation
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -28,7 +21,6 @@
*/
#define MATRIX_ROW_PINS { B3, B2, B1, F0, F1 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, D2, D1, D0, D3, D5, D4, B7, D6, D7, B4, B5, B6, C6, C7 }
-#define UNUSED_PINS { E6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wavtype/foundation/info.json b/keyboards/wavtype/foundation/info.json
index 23ae9a89c0..90c0e2270b 100644
--- a/keyboards/wavtype/foundation/info.json
+++ b/keyboards/wavtype/foundation/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "foundation",
+ "manufacturer": "protozoa.studio",
"url": "",
"maintainer": "wavtype",
+ "usb": {
+ "vid": "0x03A7",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ansi_split_bs",
"LAYOUT_tkl_ansi_7u": "LAYOUT_ansi_tsangan_split_bs",
diff --git a/keyboards/wavtype/foundation/readme.md b/keyboards/wavtype/foundation/readme.md
index 69f9bd3a0d..68ad269d07 100644
--- a/keyboards/wavtype/foundation/readme.md
+++ b/keyboards/wavtype/foundation/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,1) in the matrix (Escape key) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to RESET if it is available (by default this is set to "Fn + R") \ No newline at end of file
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (by default this is set to "Fn + R") \ No newline at end of file
diff --git a/keyboards/wavtype/p01_ultra/config.h b/keyboards/wavtype/p01_ultra/config.h
index 168c22259b..19eaa6f52d 100644
--- a/keyboards/wavtype/p01_ultra/config.h
+++ b/keyboards/wavtype/p01_ultra/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x03A7
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wavtype
-#define PRODUCT p01_ultra
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B4, D7, D6, B5, B6, D4 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, B3, B2, B1, B0, B7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/wavtype/p01_ultra/info.json b/keyboards/wavtype/p01_ultra/info.json
index da01204e58..03a069b968 100644
--- a/keyboards/wavtype/p01_ultra/info.json
+++ b/keyboards/wavtype/p01_ultra/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "p01_ultra",
+ "manufacturer": "wavtype",
"url": "",
"maintainer": "wavtype",
+ "usb": {
+ "vid": "0x03A7",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"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.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Menu", "x":11.25, "y":5.25, "w":1.25}, {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
diff --git a/keyboards/wavtype/p01_ultra/keymaps/default/keymap.c b/keyboards/wavtype/p01_ultra/keymaps/default/keymap.c
index dc38297725..0fc1a1d9e6 100644
--- a/keyboards/wavtype/p01_ultra/keymaps/default/keymap.c
+++ b/keyboards/wavtype/p01_ultra/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_tkl_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS)
diff --git a/keyboards/wavtype/p01_ultra/keymaps/via/keymap.c b/keyboards/wavtype/p01_ultra/keymaps/via/keymap.c
index c72519b219..746e06c8e8 100644
--- a/keyboards/wavtype/p01_ultra/keymaps/via/keymap.c
+++ b/keyboards/wavtype/p01_ultra/keymaps/via/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_iso(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_SAI,RGB_VAI,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS)
diff --git a/keyboards/wavtype/p01_ultra/readme.md b/keyboards/wavtype/p01_ultra/readme.md
index 69bdba5e7c..bb90389227 100644
--- a/keyboards/wavtype/p01_ultra/readme.md
+++ b/keyboards/wavtype/p01_ultra/readme.md
@@ -20,4 +20,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (this can be set in vial!)
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (this can be set in vial!)
diff --git a/keyboards/weirdo/geminate60/config.h b/keyboards/weirdo/geminate60/config.h
index 6e13da06de..16e5170168 100644
--- a/keyboards/weirdo/geminate60/config.h
+++ b/keyboards/weirdo/geminate60/config.h
@@ -16,14 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x676D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT Geminate60
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/weirdo/geminate60/info.json b/keyboards/weirdo/geminate60/info.json
index ba34264f62..fd7170b6c1 100644
--- a/keyboards/weirdo/geminate60/info.json
+++ b/keyboards/weirdo/geminate60/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "geminate60",
+ "keyboard_name": "Geminate60",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "Weirdo-F",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x676D",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/weirdo/kelowna/rgb64/config.h b/keyboards/weirdo/kelowna/rgb64/config.h
index 906755d88a..b6045bc7d6 100644
--- a/keyboards/weirdo/kelowna/rgb64/config.h
+++ b/keyboards/weirdo/kelowna/rgb64/config.h
@@ -16,13 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x4C64
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT kelownaRGB64
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/weirdo/kelowna/rgb64/info.json b/keyboards/weirdo/kelowna/rgb64/info.json
index 8dbb01a410..3aedc2d7c9 100644
--- a/keyboards/weirdo/kelowna/rgb64/info.json
+++ b/keyboards/weirdo/kelowna/rgb64/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kelownaRGB64",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x4C64",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
diff --git a/keyboards/weirdo/ls_60/config.h b/keyboards/weirdo/ls_60/config.h
index e7151ac10f..640664dd4a 100644
--- a/keyboards/weirdo/ls_60/config.h
+++ b/keyboards/weirdo/ls_60/config.h
@@ -16,14 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x4c53
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT LS_60
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/weirdo/ls_60/info.json b/keyboards/weirdo/ls_60/info.json
index 20cb544b98..5268567433 100644
--- a/keyboards/weirdo/ls_60/info.json
+++ b/keyboards/weirdo/ls_60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "LS_60",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x4C53",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/weirdo/naiping/np64/config.h b/keyboards/weirdo/naiping/np64/config.h
index ee4bdb8675..2044a9546b 100644
--- a/keyboards/weirdo/naiping/np64/config.h
+++ b/keyboards/weirdo/naiping/np64/config.h
@@ -16,14 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x7064
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT NP64
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/weirdo/naiping/np64/info.json b/keyboards/weirdo/naiping/np64/info.json
index 8bf71afe0c..83a9c07193 100644
--- a/keyboards/weirdo/naiping/np64/info.json
+++ b/keyboards/weirdo/naiping/np64/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "np64",
+ "keyboard_name": "NP64",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x7064",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_64_ansi"
},
diff --git a/keyboards/weirdo/naiping/nphhkb/config.h b/keyboards/weirdo/naiping/nphhkb/config.h
index 26993eeb7f..25b4534a9a 100644
--- a/keyboards/weirdo/naiping/nphhkb/config.h
+++ b/keyboards/weirdo/naiping/nphhkb/config.h
@@ -16,14 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x7068
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT NPhhkb
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/weirdo/naiping/nphhkb/info.json b/keyboards/weirdo/naiping/nphhkb/info.json
index 4975aa3a41..8b69fcabb4 100644
--- a/keyboards/weirdo/naiping/nphhkb/info.json
+++ b/keyboards/weirdo/naiping/nphhkb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NP_hhkb",
+ "keyboard_name": "NPhhkb",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "weirdo-f",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x7068",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_60_tsangan_hhkb"
},
diff --git a/keyboards/weirdo/naiping/npminila/config.h b/keyboards/weirdo/naiping/npminila/config.h
index f18b36d8e7..29a8d9d2f3 100644
--- a/keyboards/weirdo/naiping/npminila/config.h
+++ b/keyboards/weirdo/naiping/npminila/config.h
@@ -16,14 +16,6 @@
#pragma once
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x706D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT NPminila
-
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/weirdo/naiping/npminila/info.json b/keyboards/weirdo/naiping/npminila/info.json
index 4dbe3127d3..be15116ed7 100644
--- a/keyboards/weirdo/naiping/npminila/info.json
+++ b/keyboards/weirdo/naiping/npminila/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "NP_minila",
+ "keyboard_name": "NPminila",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x706D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/weirdo/tiger910/config.h b/keyboards/weirdo/tiger910/config.h
index 4f2541739a..44b1ef434f 100644
--- a/keyboards/weirdo/tiger910/config.h
+++ b/keyboards/weirdo/tiger910/config.h
@@ -19,20 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7764
-#define PRODUCT_ID 0x5447
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Weirdo
-#define PRODUCT tiger910
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, B6, B7, C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, D2, D3, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/weirdo/tiger910/info.json b/keyboards/weirdo/tiger910/info.json
index 1c4e706e37..50edcced1a 100644
--- a/keyboards/weirdo/tiger910/info.json
+++ b/keyboards/weirdo/tiger910/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "tiger910",
+ "manufacturer": "Weirdo",
"url": "",
"maintainer": "Weirdo",
+ "usb": {
+ "vid": "0x7764",
+ "pid": "0x5447",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wekey/polaris/config.h b/keyboards/wekey/polaris/config.h
index 5902c4bfc9..03e179bb32 100644
--- a/keyboards/wekey/polaris/config.h
+++ b/keyboards/wekey/polaris/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5559
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER @wekey
-#define PRODUCT Polaris
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, F1, F0, B7, F7, D5, C6, C7, F5, F6 }
#define MATRIX_COL_PINS { E6, B4, B5, B6, D0, D1, D2, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wekey/polaris/info.json b/keyboards/wekey/polaris/info.json
index 01626101c2..71df14da36 100644
--- a/keyboards/wekey/polaris/info.json
+++ b/keyboards/wekey/polaris/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Polaris",
+ "manufacturer": "@wekey",
"url": "",
"maintainer": "@wekey.dev",
+ "usb": {
+ "vid": "0x5559",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/wekey/polaris/readme.md b/keyboards/wekey/polaris/readme.md
index 40fcf65bb6..7810b112ee 100644
--- a/keyboards/wekey/polaris/readme.md
+++ b/keyboards/wekey/polaris/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/wekey/we27/config.h b/keyboards/wekey/we27/config.h
index 9420a4d06a..a02bc1661a 100644
--- a/keyboards/wekey/we27/config.h
+++ b/keyboards/wekey/we27/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5559
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER @wekey
-#define PRODUCT We27
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F1, D7, B4, B5, B6, F6 }
#define MATRIX_COL_PINS { F4, F5, C7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wekey/we27/info.json b/keyboards/wekey/we27/info.json
index 8e1a8595a0..b299449ff1 100644
--- a/keyboards/wekey/we27/info.json
+++ b/keyboards/wekey/we27/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "we27",
+ "keyboard_name": "We27",
+ "manufacturer": "@wekey",
"url": "",
"maintainer": "@wekey.dev",
+ "usb": {
+ "vid": "0x5559",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_numpad_6x5": {
"layout": [
diff --git a/keyboards/westfoxtrot/aanzee/config.h b/keyboards/westfoxtrot/aanzee/config.h
index e85e677f9d..a10c05a926 100644
--- a/keyboards/westfoxtrot/aanzee/config.h
+++ b/keyboards/westfoxtrot/aanzee/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x21FF
-#define PRODUCT_ID 0xAA01
-#define DEVICE_VER 0x0001
-#define MANUFACTURER westfoxtrot
-#define PRODUCT aanzee
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -34,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS {B4,D7,D6,D4,B3}
#define MATRIX_COL_PINS {D2,D1,D0,D3,D5,C7,C6,B6,B5,F0,F1,F4,F5,F6,F7,B0}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/westfoxtrot/aanzee/info.json b/keyboards/westfoxtrot/aanzee/info.json
index 972a37fb55..80f4b24c27 100644
--- a/keyboards/westfoxtrot/aanzee/info.json
+++ b/keyboards/westfoxtrot/aanzee/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "aanzee",
+ "manufacturer": "westfoxtrot",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x21FF",
+ "pid": "0xAA01",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_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}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Home", "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":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "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":"PgDn", "x":15, "y":2}, {"label":"\u21e7 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":"\u2191", "x":14, "y":3}, {"label":"Fn", "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c b/keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c
index bec31246ca..877b042361 100644
--- a/keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c
+++ b/keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTRL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_F1), KC_LEFT,KC_DOWN, KC_RGHT),
[_F1] = LAYOUT_iso(
- 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,_______,_______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
diff --git a/keyboards/westfoxtrot/cyclops/config.h b/keyboards/westfoxtrot/cyclops/config.h
index 0ecd64ecd0..2f12af61a6 100644
--- a/keyboards/westfoxtrot/cyclops/config.h
+++ b/keyboards/westfoxtrot/cyclops/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x21FF
-#define PRODUCT_ID 0x0A66
-#define DEVICE_VER 0x0001
-#define MANUFACTURER westfoxtrot
-#define PRODUCT cyclops
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, D7, B4, F0 }
#define MATRIX_COL_PINS { D3, D2, D5, D6, B6, B1, B2, B3, C6, C7, F7, F6, F4, F5, F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/westfoxtrot/cyclops/info.json b/keyboards/westfoxtrot/cyclops/info.json
index 0184e74112..0d145781f2 100644
--- a/keyboards/westfoxtrot/cyclops/info.json
+++ b/keyboards/westfoxtrot/cyclops/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "cyclops",
+ "manufacturer": "westfoxtrot",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x21FF",
+ "pid": "0x0A66",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c b/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c
index 902645d177..e607f8ade1 100644
--- a/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c
+++ b/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, RALT(KC_8), RALT(KC_9), _______, _______, _______, KC_DEL, KC__VOLUP,
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, KC__VOLDOWN,
- _______, _______, SGUI(KC_5), KC_F11, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RESET , _______,
+ _______, _______, SGUI(KC_5), KC_F11, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, QK_BOOT, _______,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, KC_MRWD, KC__MUTE, KC_MFFD),
};
diff --git a/keyboards/westfoxtrot/cypher/rev1/config.h b/keyboards/westfoxtrot/cypher/rev1/config.h
index 9e7baa67b7..efb79c1e54 100644
--- a/keyboards/westfoxtrot/cypher/rev1/config.h
+++ b/keyboards/westfoxtrot/cypher/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x21FF
-#define PRODUCT_ID 0xAA97
-#define DEVICE_VER 0x0001
-#define MANUFACTURER westfoxtrot
-#define PRODUCT cypher
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, F6, B6, B7, C6, C7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, E6, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/westfoxtrot/cypher/rev1/info.json b/keyboards/westfoxtrot/cypher/rev1/info.json
index 31a5369c81..fcb1460456 100644
--- a/keyboards/westfoxtrot/cypher/rev1/info.json
+++ b/keyboards/westfoxtrot/cypher/rev1/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "Cypher",
+ "keyboard_name": "cypher",
+ "manufacturer": "westfoxtrot",
+ "usb": {
+ "vid": "0x21FF",
+ "pid": "0xAA97",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
index c0df375a77..4a937cf394 100644
--- a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LE] = LAYOUT_iso (
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______,
diff --git a/keyboards/westfoxtrot/cypher/rev5/config.h b/keyboards/westfoxtrot/cypher/rev5/config.h
index 542f6e2798..5041802a23 100644
--- a/keyboards/westfoxtrot/cypher/rev5/config.h
+++ b/keyboards/westfoxtrot/cypher/rev5/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x21FF
-#define PRODUCT_ID 0xAA98
-#define DEVICE_VER 0x0002
-#define MANUFACTURER westfoxtrot
-#define PRODUCT cypher
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, F1, F5, F6, F7, D1, F4, D4, C6, C7 }
#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, B7, B3, B2, B1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/westfoxtrot/cypher/rev5/info.json b/keyboards/westfoxtrot/cypher/rev5/info.json
index 80d5960be3..9df30afd75 100644
--- a/keyboards/westfoxtrot/cypher/rev5/info.json
+++ b/keyboards/westfoxtrot/cypher/rev5/info.json
@@ -1,5 +1,11 @@
{
- "keyboard_name": "Cypher",
+ "keyboard_name": "cypher",
+ "manufacturer": "westfoxtrot",
+ "usb": {
+ "vid": "0x21FF",
+ "pid": "0xAA98",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
index e23b83e142..6d6da28ee7 100644
--- a/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LGUI,KC_LALT, KC_NO,KC_SPC,KC_NO, KC_RALT,KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
[_F1] = LAYOUT_all( /* Function Layer */
- 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, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
_______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/westfoxtrot/prophet/config.h b/keyboards/westfoxtrot/prophet/config.h
index 0f2ddc1dc1..1e5e7859ba 100644
--- a/keyboards/westfoxtrot/prophet/config.h
+++ b/keyboards/westfoxtrot/prophet/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFF21
-#define PRODUCT_ID 0xAA03
-#define DEVICE_VER 0x0001
-#define MANUFACTURER westfoxtrot
-#define PRODUCT prophet
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -18,7 +11,6 @@
*/
#define MATRIX_ROW_PINS { C13, B2, B1, A4, A3 }
#define MATRIX_COL_PINS { A6, A7, B0, A9, A8, A14, A15, B3, B4, B5, B8, B7, B6, B9 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/westfoxtrot/prophet/info.json b/keyboards/westfoxtrot/prophet/info.json
index a4a16e7d2e..2708c6e260 100644
--- a/keyboards/westfoxtrot/prophet/info.json
+++ b/keyboards/westfoxtrot/prophet/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Prophet",
+ "keyboard_name": "prophet",
+ "manufacturer": "westfoxtrot",
"url": "",
"maintainer": "westfoxtrot",
+ "usb": {
+ "vid": "0xFF21",
+ "pid": "0xAA03",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/westm/westm68/config.h b/keyboards/westm/westm68/config.h
index d1063583d3..3909c3e5e2 100644
--- a/keyboards/westm/westm68/config.h
+++ b/keyboards/westm/westm68/config.h
@@ -18,16 +18,9 @@
#include "config_common.h"
-/* Ensure we jump to bootloader if the RESET keycode was pressed */
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574D // WM
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WestM
-#define PRODUCT WestM68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,3 +36,7 @@
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
+
+/* Hold ESC key (first key of first column) to trigger bootloader */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/westm/westm68/info.json b/keyboards/westm/westm68/info.json
index 58378c1b43..f7f67d45a0 100644
--- a/keyboards/westm/westm68/info.json
+++ b/keyboards/westm/westm68/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "WestM68",
+ "manufacturer": "WestM",
"url": "https://github.com/WestMProducts",
"maintainer": "WestM",
+ "usb": {
+ "vid": "0x574D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/westm/westm68/keymaps/default/keymap.c b/keyboards/westm/westm68/keymaps/default/keymap.c
index d49c8f81ea..0ed64abebd 100755
--- a/keyboards/westm/westm68/keymaps/default/keymap.c
+++ b/keyboards/westm/westm68/keymaps/default/keymap.c
@@ -20,15 +20,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi( /* Base */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLASH, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_65_ansi( /* FN */
- 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_HOME,
- _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
+ KC_CAPS_LOCK, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
}; \ No newline at end of file
diff --git a/keyboards/westm/westm68/keymaps/via/keymap.c b/keyboards/westm/westm68/keymaps/via/keymap.c
index a4818ea81a..604213140d 100644
--- a/keyboards/westm/westm68/keymaps/via/keymap.c
+++ b/keyboards/westm/westm68/keymaps/via/keymap.c
@@ -18,31 +18,31 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi( /* Base */
- 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_INS,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLASH, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_65_ansi( /* FN */
- KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
+ KC_CAPS_LOCK, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_65_ansi( /* 2 */
- KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
+ KC_CAPS_LOCK, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_65_ansi( /* 3 */
- KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
- _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME,
+ KC_CAPS_LOCK, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/westm/westm68/rev1/info.json b/keyboards/westm/westm68/rev1/info.json
new file mode 100644
index 0000000000..a4736b30a4
--- /dev/null
+++ b/keyboards/westm/westm68/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x0101"
+ }
+}
diff --git a/keyboards/westm/westm68/rev1/rules.mk b/keyboards/westm/westm68/rev1/rules.mk
index 1e3cebb145..e69de29bb2 100644
--- a/keyboards/westm/westm68/rev1/rules.mk
+++ b/keyboards/westm/westm68/rev1/rules.mk
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/westm/westm68/rev2/config.h b/keyboards/westm/westm68/rev2/config.h
new file mode 100644
index 0000000000..054b47cca2
--- /dev/null
+++ b/keyboards/westm/westm68/rev2/config.h
@@ -0,0 +1,31 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 pin connected to the data pin of the LEDs
+#define RGB_DI_PIN A8
+#define RGBLED_NUM 16
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
diff --git a/keyboards/westm/westm68/rev2/info.json b/keyboards/westm/westm68/rev2/info.json
new file mode 100644
index 0000000000..0b36e6dd58
--- /dev/null
+++ b/keyboards/westm/westm68/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x0102"
+ }
+}
diff --git a/keyboards/westm/westm68/rev2/rev2.c b/keyboards/westm/westm68/rev2/rev2.c
new file mode 100644
index 0000000000..ca7efe7860
--- /dev/null
+++ b/keyboards/westm/westm68/rev2/rev2.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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" \ No newline at end of file
diff --git a/keyboards/westm/westm68/rev2/rev2.h b/keyboards/westm/westm68/rev2/rev2.h
new file mode 100644
index 0000000000..e30df949a9
--- /dev/null
+++ b/keyboards/westm/westm68/rev2/rev2.h
@@ -0,0 +1,17 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "westm68.h" \ No newline at end of file
diff --git a/keyboards/westm/westm68/rev2/rules.mk b/keyboards/westm/westm68/rev2/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/westm/westm68/rev2/rules.mk
diff --git a/keyboards/westm/westm68/rules.mk b/keyboards/westm/westm68/rules.mk
index a54cc39924..d92a34591f 100644
--- a/keyboards/westm/westm68/rules.mk
+++ b/keyboards/westm/westm68/rules.mk
@@ -17,5 +17,7 @@ CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+
+DEFAULT_FOLDER = westm/westm68/rev2
diff --git a/keyboards/westm/westm9/chconf.h b/keyboards/westm/westm9/chconf.h
new file mode 100644
index 0000000000..d79a01d36b
--- /dev/null
+++ b/keyboards/westm/westm9/chconf.h
@@ -0,0 +1,26 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 CH_CFG_ST_FREQUENCY 10000
+
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+
+#include_next <chconf.h> \ No newline at end of file
diff --git a/keyboards/westm/westm9/config.h b/keyboards/westm/westm9/config.h
new file mode 100644
index 0000000000..51ccf743a0
--- /dev/null
+++ b/keyboards/westm/westm9/config.h
@@ -0,0 +1,42 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 3
+
+#define MATRIX_ROW_PINS { A14, A15, B3 }
+#define MATRIX_COL_PINS { B8, B5, B4 }
+#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
+
+/* Hold ESC key (first key of first column) to trigger bootloader */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/westm/westm9/halconf.h b/keyboards/westm/westm9/halconf.h
new file mode 100644
index 0000000000..285215f1b9
--- /dev/null
+++ b/keyboards/westm/westm9/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+
+#include_next <halconf.h>
+
diff --git a/keyboards/westm/westm9/info.json b/keyboards/westm/westm9/info.json
new file mode 100644
index 0000000000..3beb8b232f
--- /dev/null
+++ b/keyboards/westm/westm9/info.json
@@ -0,0 +1,25 @@
+{
+ "keyboard_name": "WestM9",
+ "manufacturer": "WestM",
+ "url": "https://github.com/WestMProducts",
+ "maintainer": "WestM",
+ "usb": {
+ "vid": "0x574D",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_macropad": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/westm/westm9/keymaps/default/keymap.c b/keyboards/westm/westm9/keymaps/default/keymap.c
new file mode 100755
index 0000000000..181f5af6c1
--- /dev/null
+++ b/keyboards/westm/westm9/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_macropad(
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
+ KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE,
+ KC_NO, KC_NO, MO(1)
+ ),
+ [1] = LAYOUT_macropad(
+ RGB_TOG, RGB_RMOD, RGB_SAI,
+ RGB_VAD, RGB_VAI, RGB_SAD,
+ RGB_HUD, RGB_HUI, KC_NO
+ )
+}; \ No newline at end of file
diff --git a/keyboards/westm/westm9/keymaps/via/keymap.c b/keyboards/westm/westm9/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9b9166ce8b
--- /dev/null
+++ b/keyboards/westm/westm9/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_macropad(
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
+ KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE,
+ KC_NO, KC_NO, MO(1)
+ ),
+ [1] = LAYOUT_macropad(
+ RGB_TOG, RGB_RMOD, RGB_MOD,
+ RGB_VAD, RGB_VAI, KC_NO,
+ RGB_HUD, RGB_HUI, KC_NO
+ ),
+ [2] = LAYOUT_macropad(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+ [3] = LAYOUT_macropad(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ )
+};
diff --git a/keyboards/westm/westm9/keymaps/via/rules.mk b/keyboards/westm/westm9/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/westm/westm9/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/westm/westm9/mcuconf.h b/keyboards/westm/westm9/mcuconf.h
new file mode 100644
index 0000000000..328b5d45a9
--- /dev/null
+++ b/keyboards/westm/westm9/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 \ No newline at end of file
diff --git a/keyboards/westm/westm9/readme.md b/keyboards/westm/westm9/readme.md
new file mode 100644
index 0000000000..883aab3c35
--- /dev/null
+++ b/keyboards/westm/westm9/readme.md
@@ -0,0 +1,16 @@
+# WestM
+
+A 9 key Macropad
+
+## Bootloader
+* **Physical reset button**: Briefly press the button on the back of the PCB.
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
+
+* Keyboard Maintainer: [WestM](https://github.com/westm00)
+* Hardware Supported: WM9
+
+Make example for this keyboard (after setting up your build environment):
+
+ make westm/westm9/rev1: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). \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev1/config.h b/keyboards/westm/westm9/rev1/config.h
new file mode 100644
index 0000000000..fcc9ddb99d
--- /dev/null
+++ b/keyboards/westm/westm9/rev1/config.h
@@ -0,0 +1,54 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 pin connected to the data pin of the LEDs
+#define RGB_DI_PIN F1
+#define RGBLED_NUM 14
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* Default Oled init */
+#define OLED_DISPLAY_128X64
+#define OLED_BRIGHTNESS 255
+
+/* I2C for Oled */
+#define I2C_DRIVER I2CD1
+#define I2C1_SCL_PIN B6
+#define I2C1_SDA_PIN B7
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+/* Required for SH1106 Oled Driver */
+#define OLED_IC OLED_IC_SH1106
+#define OLED_COLUMN_OFFSET 2 // SH1106 screen is a little off to the left
+
+#define I2C1_TIMINGR_PRESC 0x00U
+#define I2C1_TIMINGR_SCLDEL 0x03U
+#define I2C1_TIMINGR_SDADEL 0x01U
+#define I2C1_TIMINGR_SCLH 0x03U
+#define I2C1_TIMINGR_SCLL 0x09U
+
+#define OLED_UPDATE_INTERVAL 66 \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev1/info.json b/keyboards/westm/westm9/rev1/info.json
new file mode 100644
index 0000000000..9934337227
--- /dev/null
+++ b/keyboards/westm/westm9/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x0301"
+ }
+}
diff --git a/keyboards/westm/westm9/rev1/rev1.c b/keyboards/westm/westm9/rev1/rev1.c
new file mode 100644
index 0000000000..666dcaa218
--- /dev/null
+++ b/keyboards/westm/westm9/rev1/rev1.c
@@ -0,0 +1,116 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+void board_init(void) {
+ // Purely for fixing problem on prototype board
+ rgblight_toggle(); // Fixes if LEDs were off in the first place buggy LED turns on
+ rgblight_set(); // Need this to fix buggy first LED upon plugging in PCB
+
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; // DMA re-map, you may not need this depending on your
+}
+
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_0;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM my_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x0c, 0x0c, 0x0c, 0x18, 0x30,
+ 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x70, 0xe0,
+ 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x30, 0xb8, 0x98, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x03, 0x0f, 0x3c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
+ 0x70, 0x30, 0x10, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0x8f, 0xc3, 0xc1, 0xc0, 0xe0, 0xe0, 0x70, 0x38, 0x1f,
+ 0x0f, 0x07, 0xe3, 0xf1, 0xf9, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x07, 0x07, 0x07, 0x07, 0x06, 0x0e,
+ 0x0c, 0x0c, 0x18, 0x18, 0x80, 0xe0, 0xff, 0xfe, 0x7c, 0x38, 0x04, 0x06, 0x03, 0xc1, 0xc1, 0xe0,
+ 0x70, 0x18, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x78, 0x1c, 0x0e, 0x07, 0x03, 0x03,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xbf, 0x1f, 0x07, 0x00, 0x1f, 0x1f, 0x1c, 0x1c,
+ 0x0c, 0x0c, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x0c,
+ 0x0e, 0x0c, 0x0c, 0x1c, 0x38, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x18, 0x0c, 0x0f, 0x1f, 0xff, 0xff, 0x07, 0x00, 0x80, 0xc0, 0xe0, 0x38, 0x0f, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xfe, 0x7f, 0x07, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0,
+ 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x38, 0x30,
+ 0x30, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1c, 0x38, 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x70, 0x7c, 0x7f, 0x6f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x71, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x61, 0x67, 0x7f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(my_logo, sizeof(my_logo));
+}
+
+
+bool oled_task_kb(void) {
+ // Defer to the keymap if they want to override
+ if(!oled_task_user()) {
+ return false;
+ }
+
+ // default keyboard drawing code
+ render_logo();
+ return false;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev1/rev1.h b/keyboards/westm/westm9/rev1/rev1.h
new file mode 100644
index 0000000000..45420db2e3
--- /dev/null
+++ b/keyboards/westm/westm9/rev1/rev1.h
@@ -0,0 +1,17 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "westm9.h" \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev1/rules.mk b/keyboards/westm/westm9/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/westm/westm9/rev1/rules.mk
diff --git a/keyboards/westm/westm9/rev2/config.h b/keyboards/westm/westm9/rev2/config.h
new file mode 100644
index 0000000000..fcc9ddb99d
--- /dev/null
+++ b/keyboards/westm/westm9/rev2/config.h
@@ -0,0 +1,54 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 pin connected to the data pin of the LEDs
+#define RGB_DI_PIN F1
+#define RGBLED_NUM 14
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+
+/* Default Oled init */
+#define OLED_DISPLAY_128X64
+#define OLED_BRIGHTNESS 255
+
+/* I2C for Oled */
+#define I2C_DRIVER I2CD1
+#define I2C1_SCL_PIN B6
+#define I2C1_SDA_PIN B7
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+/* Required for SH1106 Oled Driver */
+#define OLED_IC OLED_IC_SH1106
+#define OLED_COLUMN_OFFSET 2 // SH1106 screen is a little off to the left
+
+#define I2C1_TIMINGR_PRESC 0x00U
+#define I2C1_TIMINGR_SCLDEL 0x03U
+#define I2C1_TIMINGR_SDADEL 0x01U
+#define I2C1_TIMINGR_SCLH 0x03U
+#define I2C1_TIMINGR_SCLL 0x09U
+
+#define OLED_UPDATE_INTERVAL 66 \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev2/info.json b/keyboards/westm/westm9/rev2/info.json
new file mode 100644
index 0000000000..3b2f219948
--- /dev/null
+++ b/keyboards/westm/westm9/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "pid": "0x0302"
+ }
+}
diff --git a/keyboards/westm/westm9/rev2/rev2.c b/keyboards/westm/westm9/rev2/rev2.c
new file mode 100644
index 0000000000..31c80c3606
--- /dev/null
+++ b/keyboards/westm/westm9/rev2/rev2.c
@@ -0,0 +1,112 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+void board_init(void) {
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; // DMA re-map, you may not need this depending on your
+}
+
+#ifdef OLED_ENABLE
+
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_0;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM my_logo[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x0c, 0x0c, 0x0c, 0x18, 0x30,
+ 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x70, 0xe0,
+ 0xc0, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x30, 0xb8, 0x98, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x03, 0x0f, 0x3c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
+ 0x70, 0x30, 0x10, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x80, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0x8f, 0xc3, 0xc1, 0xc0, 0xe0, 0xe0, 0x70, 0x38, 0x1f,
+ 0x0f, 0x07, 0xe3, 0xf1, 0xf9, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x07, 0x07, 0x07, 0x07, 0x06, 0x0e,
+ 0x0c, 0x0c, 0x18, 0x18, 0x80, 0xe0, 0xff, 0xfe, 0x7c, 0x38, 0x04, 0x06, 0x03, 0xc1, 0xc1, 0xe0,
+ 0x70, 0x18, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x78, 0x1c, 0x0e, 0x07, 0x03, 0x03,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x3f, 0xff, 0xff, 0xbf, 0x1f, 0x07, 0x00, 0x1f, 0x1f, 0x1c, 0x1c,
+ 0x0c, 0x0c, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0c, 0x0c,
+ 0x0e, 0x0c, 0x0c, 0x1c, 0x38, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x18, 0x0c, 0x0f, 0x1f, 0xff, 0xff, 0x07, 0x00, 0x80, 0xc0, 0xe0, 0x38, 0x0f, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xfe, 0x7f, 0x07, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0,
+ 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x38, 0x30,
+ 0x30, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1c, 0x38, 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x70, 0x7c, 0x7f, 0x6f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x71, 0x7f, 0x7f, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x61, 0x67, 0x7f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(my_logo, sizeof(my_logo));
+}
+
+
+bool oled_task_kb(void) {
+ // Defer to the keymap if they want to override
+ if(!oled_task_user()) {
+ return false;
+ }
+
+ // default keyboard drawing code
+ render_logo();
+ return false;
+}
+
+#endif \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev2/rev2.h b/keyboards/westm/westm9/rev2/rev2.h
new file mode 100644
index 0000000000..45420db2e3
--- /dev/null
+++ b/keyboards/westm/westm9/rev2/rev2.h
@@ -0,0 +1,17 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "westm9.h" \ No newline at end of file
diff --git a/keyboards/westm/westm9/rev2/rules.mk b/keyboards/westm/westm9/rev2/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/westm/westm9/rev2/rules.mk
diff --git a/keyboards/westm/westm9/rules.mk b/keyboards/westm/westm9/rules.mk
new file mode 100644
index 0000000000..b8be7c4530
--- /dev/null
+++ b/keyboards/westm/westm9/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = STM32F072
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+OLED_ENABLE = yes # Enable the OLED feature
+OLED_DRIVER = SSD1306 # OLED driver
+
+DEFAULT_FOLDER = westm/westm9/rev2
diff --git a/keyboards/westm/westm9/westm9.c b/keyboards/westm/westm9/westm9.c
new file mode 100644
index 0000000000..45420db2e3
--- /dev/null
+++ b/keyboards/westm/westm9/westm9.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "westm9.h" \ No newline at end of file
diff --git a/keyboards/westm/westm9/westm9.h b/keyboards/westm/westm9/westm9.h
new file mode 100644
index 0000000000..a88aeb8573
--- /dev/null
+++ b/keyboards/westm/westm9/westm9.h
@@ -0,0 +1,30 @@
+/* Copyright 2021 WestM
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_macropad( \
+ K00, K01, K02, \
+ K10, K11, K12, \
+ K20, K21, K22 \
+) \
+{ \
+ { K00, K01, K02 }, \
+ { K10, K11, K12 }, \
+ { K20, K21, K22 }, \
+}
diff --git a/keyboards/westm/westmergo/config.h b/keyboards/westm/westmergo/config.h
index 1f90dc82b8..e3f06ab222 100644
--- a/keyboards/westm/westmergo/config.h
+++ b/keyboards/westm/westmergo/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574D // WM
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001 // Revision prototype
-#define MANUFACTURER WestM
-#define PRODUCT WestMErgo
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -43,7 +36,7 @@
#define RGBLIGHT_EFFECT_TWINKLE
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN A8
-#define RGBLED_NUM 19
+#define RGBLED_NUM 16
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
diff --git a/keyboards/westm/westmergo/info.json b/keyboards/westm/westmergo/info.json
index c31a65a2ec..316034146d 100644
--- a/keyboards/westm/westmergo/info.json
+++ b/keyboards/westm/westmergo/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "WestMErgo",
+ "manufacturer": "WestM",
"url": "https://github.com/WestMProducts",
"maintainer": "WestM",
+ "usb": {
+ "vid": "0x574D",
+ "pid": "0x0201",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice": {
"layout": [
diff --git a/keyboards/westm/westmergo/keymaps/default/keymap.c b/keyboards/westm/westmergo/keymaps/default/keymap.c
index ba24687860..4302717ec4 100755
--- a/keyboards/westm/westmergo/keymaps/default/keymap.c
+++ b/keyboards/westm/westmergo/keymaps/default/keymap.c
@@ -19,16 +19,16 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_alice( /* Base */
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_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, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_MPLY, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQUAL, KC_BSPC,
+ KC_MNXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_MPRV, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RALT, KC_RCTL
),
[1] = LAYOUT_alice( /* FN */
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
+ _______, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, KC_CAPS_LOCK, _______, KC_UP, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/westm/westmergo/keymaps/via/keymap.c b/keyboards/westm/westmergo/keymaps/via/keymap.c
index 8389331a09..962efbbffc 100644
--- a/keyboards/westm/westmergo/keymaps/via/keymap.c
+++ b/keyboards/westm/westmergo/keymaps/via/keymap.c
@@ -19,30 +19,30 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_alice(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_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, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RALT, KC_RCTL
+ KC_MPLY, 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_MPRV, 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_MNXT, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_LGUI, KC_RCTL
),
[1] = LAYOUT_alice( /* FN */
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
+ _______, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, KC_CAPS_LOCK, _______, KC_UP, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_alice( /* 2 */
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
+ _______, _______, 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, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_alice( /* 3 */
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_HOME, _______, _______, KC_UP, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
+ _______, _______, 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, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC__VOLDOWN, KC__VOLUP, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/westm/westmergo/westmergo.h b/keyboards/westm/westmergo/westmergo.h
index 2ed5a1ab2c..550773b5ac 100644
--- a/keyboards/westm/westmergo/westmergo.h
+++ b/keyboards/westm/westmergo/westmergo.h
@@ -20,19 +20,17 @@
#define XXX KC_NO
-// Full backspace
-// Split right shift
#define LAYOUT_alice( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0f, \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0d, k0e, k0f,\
k10, k11, k12, k13, k14, k15, k16, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
k20, k21, k22, k23, k24, k25, k26, k28, k29, k2a, k2b, k2c, k2d, k2f, \
k31, k32, k33, k34, k35, k36, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \
k41, k43, k45, k46, k49, k4b, k4f \
) \
{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX, k0f }, \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, XXX, k0d, k0e, k0f },\
{ k10, k11, k12, k13, k14, k15, k16, XXX, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
{ k20, k21, k22, k23, k24, k25, k26, XXX, k28, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
{ XXX, k31, k32, k33, k34, k35, k36, XXX, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \
- { XXX, k41, XXX, k43, XXX, k45, k46, XXX, XXX, k49, XXX, k4b, XXX, XXX, XXX, k4f }, \
+ { XXX, k41, XXX, k43, XXX, k45, k46, XXX, XXX, k49, XXX, k4b, XXX, XXX, XXX, k4f }, \
}
diff --git a/keyboards/whale/sk/config.h b/keyboards/whale/sk/config.h
index a3989df890..4c2b9c23ff 100644
--- a/keyboards/whale/sk/config.h
+++ b/keyboards/whale/sk/config.h
@@ -17,7 +17,3 @@
#pragma once
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0495
diff --git a/keyboards/whale/sk/v3/config.h b/keyboards/whale/sk/v3/config.h
index fc1e4ffeff..64fc622203 100644
--- a/keyboards/whale/sk/v3/config.h
+++ b/keyboards/whale/sk/v3/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Whale Mo
-#define PRODUCT Splite Keyboard v3
-
/* key matrix size */
/* Notice: HALF of row on the slave side */
#define MATRIX_ROWS 12
diff --git a/keyboards/whale/sk/v3/info.json b/keyboards/whale/sk/v3/info.json
index b0a07088b1..8ba2a34311 100644
--- a/keyboards/whale/sk/v3/info.json
+++ b/keyboards/whale/sk/v3/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Splite Keyboard v3",
+ "manufacturer": "Whale Mo",
"url": "https://github.com/ncwhale/Keyboard_Design/tree/master/Splite-Keyboard-v3",
"maintainer": "ncwhale",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0495",
+ "device_version": "0.0.3"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/wilba_tech/rama_works_kara/config.h b/keyboards/wilba_tech/rama_works_kara/config.h
index 1191c0991f..3ce58330ed 100644
--- a/keyboards/wilba_tech/rama_works_kara/config.h
+++ b/keyboards/wilba_tech/rama_works_kara/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x4B52 // "KR"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS KARA
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -31,7 +24,6 @@
// M60-A PCB default pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/wilba_tech/rama_works_kara/info.json b/keyboards/wilba_tech/rama_works_kara/info.json
index 876e3b1287..2be81f0866 100644
--- a/keyboards/wilba_tech/rama_works_kara/info.json
+++ b/keyboards/wilba_tech/rama_works_kara/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS KARA",
+ "keyboard_name": "KARA",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x4B52",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"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":"|", "x":13, "y":0}, {"label":"~", "x":14, "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":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "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":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
diff --git a/keyboards/wilba_tech/rama_works_koyu/config.h b/keyboards/wilba_tech/rama_works_koyu/config.h
index 334070472f..8a02f0bd98 100644
--- a/keyboards/wilba_tech/rama_works_koyu/config.h
+++ b/keyboards/wilba_tech/rama_works_koyu/config.h
@@ -17,15 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x4B59 // "KY"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS KOYU
-
-
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +24,6 @@
// KOYU PCB pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/wilba_tech/rama_works_koyu/info.json b/keyboards/wilba_tech/rama_works_koyu/info.json
index 089d19c857..ca94b8267f 100644
--- a/keyboards/wilba_tech/rama_works_koyu/info.json
+++ b/keyboards/wilba_tech/rama_works_koyu/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS KOYU",
+ "keyboard_name": "KOYU",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x4B59",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Num Lock", "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"Home", "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":"\u2191", "x":14, "y":3}, {"label":"/", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Ctrl", "x":11, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/wilba_tech/rama_works_m10_b/config.h b/keyboards/wilba_tech/rama_works_m10_b/config.h
index 9f3326caba..d7fe10a965 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m10_b/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x00AB // 10-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M10-B
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 10
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6 }
#define MATRIX_COL_PINS { D7, B6, F0, D6, B5, F1, D4, B4, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m10_b/info.json b/keyboards/wilba_tech/rama_works_m10_b/info.json
index cd27112022..0dad0cffd7 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/info.json
+++ b/keyboards/wilba_tech/rama_works_m10_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M10-B",
+ "keyboard_name": "M10-B",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x00AB",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wilba_tech/rama_works_m10_c/config.h b/keyboards/wilba_tech/rama_works_m10_c/config.h
index 7b515736f7..d42c329b96 100644
--- a/keyboards/wilba_tech/rama_works_m10_c/config.h
+++ b/keyboards/wilba_tech/rama_works_m10_c/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x00AC // 10-C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M10-C
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 10
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6 }
#define MATRIX_COL_PINS { D7, B6, F0, D6, B5, F1, D4, B4, F4, F5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m10_c/info.json b/keyboards/wilba_tech/rama_works_m10_c/info.json
index c41f5720c3..c6016c19a3 100644
--- a/keyboards/wilba_tech/rama_works_m10_c/info.json
+++ b/keyboards/wilba_tech/rama_works_m10_c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M10-C",
+ "keyboard_name": "M10-C",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x00AC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":0, "y":1}, {"label":"0,4", "x":1, "y":1}, {"label":"0,5", "x":2, "y":1}, {"label":"0,6", "x":0, "y":2}, {"label":"0,7", "x":1, "y":2}, {"label":"0,8", "x":2, "y":2}, {"label":"0,9", "x":1, "y":3, "w":2}]
diff --git a/keyboards/wilba_tech/rama_works_m50_a/config.h b/keyboards/wilba_tech/rama_works_m50_a/config.h
index 70b35dbb90..fb6ffd8aba 100644
--- a/keyboards/wilba_tech/rama_works_m50_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m50_a/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x050A // 50-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M50-A
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F5, F6 }
#define MATRIX_COL_PINS { F4, B5, C7, C6, B6, B2, B3, B1, B4, D7, D6, D4, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m50_a/info.json b/keyboards/wilba_tech/rama_works_m50_a/info.json
index 52a0ae7ca8..2d9851c19c 100644
--- a/keyboards/wilba_tech/rama_works_m50_a/info.json
+++ b/keyboards/wilba_tech/rama_works_m50_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M50-A",
+ "keyboard_name": "M50-A",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x050A",
+ "device_version": "0.0.1"
+ },
"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.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":0, "y":1}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"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":0, "y":2}, {"x":1.25, "y":2}, {"x":2.25, "y":2}, {"x":3.25, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":0, "y":3}, {"x":1.25, "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, "w":2}, {"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}]
diff --git a/keyboards/wilba_tech/rama_works_m50_ax/config.h b/keyboards/wilba_tech/rama_works_m50_ax/config.h
index 3b2a23033d..6910e7a7b0 100644
--- a/keyboards/wilba_tech/rama_works_m50_ax/config.h
+++ b/keyboards/wilba_tech/rama_works_m50_ax/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x150A // 50-AX
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M50-AX
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F5, F6 }
#define MATRIX_COL_PINS { F4, B5, C7, C6, B6, B2, B3, B1, B4, D7, D6, D4, D3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m50_ax/info.json b/keyboards/wilba_tech/rama_works_m50_ax/info.json
index 4574ad8d98..2a93f56b15 100644
--- a/keyboards/wilba_tech/rama_works_m50_ax/info.json
+++ b/keyboards/wilba_tech/rama_works_m50_ax/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M50-AX",
+ "keyboard_name": "M50-AX",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x150A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.25, "y":0}, {"label":"0,6", "x":6.25, "y":0}, {"label":"0,7", "x":7.25, "y":0}, {"label":"0,8", "x":8.25, "y":0}, {"label":"0,9", "x":9.25, "y":0}, {"label":"0,10", "x":10.25, "y":0}, {"label":"0,11", "x":11.25, "y":0}, {"label":"0,12", "x":12.25, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1.25, "y":1}, {"label":"1,2", "x":2.25, "y":1}, {"label":"1,3", "x":3.25, "y":1}, {"label":"1,4", "x":4.25, "y":1}, {"label":"1,5", "x":5.25, "y":1}, {"label":"1,6", "x":6.25, "y":1}, {"label":"1,7", "x":7.25, "y":1}, {"label":"1,8", "x":8.25, "y":1}, {"label":"1,9", "x":9.25, "y":1}, {"label":"1,10", "x":10.25, "y":1}, {"label":"1,11", "x":11.25, "y":1}, {"label":"1,12", "x":12.25, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1.25, "y":2}, {"label":"2,2", "x":2.25, "y":2}, {"label":"2,3", "x":3.25, "y":2}, {"label":"2,4", "x":4.25, "y":2}, {"label":"2,5", "x":5.25, "y":2}, {"label":"2,6", "x":6.25, "y":2}, {"label":"2,7", "x":7.25, "y":2}, {"label":"2,8", "x":8.25, "y":2}, {"label":"2,9", "x":9.25, "y":2}, {"label":"2,10", "x":10.25, "y":2}, {"label":"2,11", "x":11.25, "y":2}, {"label":"2,12", "x":12.25, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3}]
diff --git a/keyboards/wilba_tech/rama_works_m60_a/config.h b/keyboards/wilba_tech/rama_works_m60_a/config.h
index 4bb0ebefc6..55fa484716 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m60_a/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x060A // 60-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M60-A
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -31,7 +24,6 @@
// M60-A PCB default pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/wilba_tech/rama_works_m60_a/info.json b/keyboards/wilba_tech/rama_works_m60_a/info.json
index 733ffac791..f88041bbe6 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/info.json
+++ b/keyboards/wilba_tech/rama_works_m60_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M60-A",
+ "keyboard_name": "M60-A",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x060A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_hhkb": {
"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":"|", "x":13, "y":0}, {"label":"~", "x":14, "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":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "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":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
diff --git a/keyboards/wilba_tech/rama_works_m60_a/keymaps/mguterl/keymap.c b/keyboards/wilba_tech/rama_works_m60_a/keymaps/mguterl/keymap.c
index fc81220e41..b1ed28b001 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/keymaps/mguterl/keymap.c
+++ b/keyboards/wilba_tech/rama_works_m60_a/keymaps/mguterl/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______),
[LIGHTING] = LAYOUT_60_hhkb(
- RESET, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, _______, _______, _______, _______, BR_DEC, BR_INC, _______, _______,
+ QK_BOOT, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, _______, _______, _______, _______, BR_DEC, BR_INC, _______, _______,
TG_GAME, _______, _______, S1_DEC, S1_INC, S2_DEC, S2_INC, _______, _______, _______, _______, ES_DEC, ES_INC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wilba_tech/rama_works_m65_b/config.h b/keyboards/wilba_tech/rama_works_m65_b/config.h
index 550617e587..c753a93841 100644
--- a/keyboards/wilba_tech/rama_works_m65_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m65_b/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x065B // 65-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M65-B
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m65_b/info.json b/keyboards/wilba_tech/rama_works_m65_b/info.json
index 15955c8622..9934c1bf18 100644
--- a/keyboards/wilba_tech/rama_works_m65_b/info.json
+++ b/keyboards/wilba_tech/rama_works_m65_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M65-B",
+ "keyboard_name": "M65-B",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x065B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Num Lock", "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"Home", "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":"\u2191", "x":14, "y":3}, {"label":"/", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Ctrl", "x":11, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/wilba_tech/rama_works_m65_bx/config.h b/keyboards/wilba_tech/rama_works_m65_bx/config.h
index f840f42436..f0eb52940c 100644
--- a/keyboards/wilba_tech/rama_works_m65_bx/config.h
+++ b/keyboards/wilba_tech/rama_works_m65_bx/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x165B // 65-BX
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M65-BX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m65_bx/info.json b/keyboards/wilba_tech/rama_works_m65_bx/info.json
index 8d4a78d6b6..d821dec422 100644
--- a/keyboards/wilba_tech/rama_works_m65_bx/info.json
+++ b/keyboards/wilba_tech/rama_works_m65_bx/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M65-BX",
+ "keyboard_name": "M65-BX",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x165B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Num Lock", "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":"Insert", "x":15, "y":1}, {"label":"Caps Lock", "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":"Home", "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":"\u2191", "x":14, "y":3}, {"label":"/", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Ctrl", "x":11, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/wilba_tech/rama_works_m6_a/config.h b/keyboards/wilba_tech/rama_works_m6_a/config.h
index 60e4aa01bb..d77613628e 100644
--- a/keyboards/wilba_tech/rama_works_m6_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_a/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x006A // 6-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M6-A
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6 }
#define MATRIX_COL_PINS { D4, B5, F4, D7, C6, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m6_a/info.json b/keyboards/wilba_tech/rama_works_m6_a/info.json
index aa68318729..5506e2e1af 100644
--- a/keyboards/wilba_tech/rama_works_m6_a/info.json
+++ b/keyboards/wilba_tech/rama_works_m6_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M6-A",
+ "keyboard_name": "M6-A",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x006A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wilba_tech/rama_works_m6_b/config.h b/keyboards/wilba_tech/rama_works_m6_b/config.h
index b466e63b8f..d6978c8a16 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_b/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x006B // 6-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS M6-B
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 6
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6 }
#define MATRIX_COL_PINS { D4, B5, F4, D7, C6, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_m6_b/info.json b/keyboards/wilba_tech/rama_works_m6_b/info.json
index 62b8f6d282..24a24e6add 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/info.json
+++ b/keyboards/wilba_tech/rama_works_m6_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS M6-B",
+ "keyboard_name": "M6-B",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x006B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wilba_tech/rama_works_u80_a/config.h b/keyboards/wilba_tech/rama_works_u80_a/config.h
index 0cb3e211ba..44582ada4f 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/config.h
+++ b/keyboards/wilba_tech/rama_works_u80_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RA"
-#define PRODUCT_ID 0x080A // 80-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER RAMA WORKS
-#define PRODUCT RAMA WORKS U80-A
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/rama_works_u80_a/info.json b/keyboards/wilba_tech/rama_works_u80_a/info.json
index 41d0a46be5..55e017d69d 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/info.json
+++ b/keyboards/wilba_tech/rama_works_u80_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "RAMA WORKS U80-A",
+ "keyboard_name": "U80-A",
+ "manufacturer": "RAMA WORKS",
"url": "http://rama.works",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5241",
+ "pid": "0x080A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"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.5}, {"label":"Win", "x":1.5, "y":5.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Win", "x":12.5, "y":5.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h
index 029b228e2c..c2b85fee76 100644
--- a/keyboards/wilba_tech/wt60_a/config.h
+++ b/keyboards/wilba_tech/wt60_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x060A // 60-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -108,8 +100,8 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
-// enable the RGB indicator for WT75-A
-#define MONO_BACKLIGHT_WT75_A
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT60_A
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt60_a/info.json b/keyboards/wilba_tech/wt60_a/info.json
index 236bb3007c..ecadcbfb5a 100644
--- a/keyboards/wilba_tech/wt60_a/info.json
+++ b/keyboards/wilba_tech/wt60_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-A",
+ "keyboard_name": "WT60-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x060A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/wilba_tech/wt60_b/config.h b/keyboards/wilba_tech/wt60_b/config.h
index b97b44e35a..a68cfa5ec2 100644
--- a/keyboards/wilba_tech/wt60_b/config.h
+++ b/keyboards/wilba_tech/wt60_b/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x60B0 // 60-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-B
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_b/info.json b/keyboards/wilba_tech/wt60_b/info.json
index ef827d982e..12b4edc8c1 100644
--- a/keyboards/wilba_tech/wt60_b/info.json
+++ b/keyboards/wilba_tech/wt60_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-B",
+ "keyboard_name": "WT60-B",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x60B0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_bx/config.h b/keyboards/wilba_tech/wt60_bx/config.h
index 8aca36e3fa..cab8276545 100644
--- a/keyboards/wilba_tech/wt60_bx/config.h
+++ b/keyboards/wilba_tech/wt60_bx/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x60B1 // 60-BX
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-BX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_bx/info.json b/keyboards/wilba_tech/wt60_bx/info.json
index 474d4920a3..858ecb46cc 100644
--- a/keyboards/wilba_tech/wt60_bx/info.json
+++ b/keyboards/wilba_tech/wt60_bx/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-BX",
+ "keyboard_name": "WT60-BX",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x60B1",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_c/config.h b/keyboards/wilba_tech/wt60_c/config.h
index ac8c1ad6be..47636eef4b 100644
--- a/keyboards/wilba_tech/wt60_c/config.h
+++ b/keyboards/wilba_tech/wt60_c/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x60C0 // 60-C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-C
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_c/info.json b/keyboards/wilba_tech/wt60_c/info.json
index 1bff919466..87c68bf8a9 100644
--- a/keyboards/wilba_tech/wt60_c/info.json
+++ b/keyboards/wilba_tech/wt60_c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-C",
+ "keyboard_name": "WT60-C",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x60C0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_d/config.h b/keyboards/wilba_tech/wt60_d/config.h
index c3c0a0c7a6..0286015ca0 100644
--- a/keyboards/wilba_tech/wt60_d/config.h
+++ b/keyboards/wilba_tech/wt60_d/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x060D // 60-D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-D
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { E6, F0, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, D3, D2, B7, B0, B3, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_d/info.json b/keyboards/wilba_tech/wt60_d/info.json
index 0f7a2723f8..42b52b8b1f 100644
--- a/keyboards/wilba_tech/wt60_d/info.json
+++ b/keyboards/wilba_tech/wt60_d/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-D",
+ "keyboard_name": "WT60-D",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x060D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.25}, {"label":"\\", "x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c b/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
index b97474f23d..ae1dadf15c 100644
--- a/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
+++ b/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Fn1 Layer
[_FNMS] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET,
+ KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT,
AG_TOGG, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/wilba_tech/wt60_g/config.h b/keyboards/wilba_tech/wt60_g/config.h
index ca3242ca41..d0087e9d88 100644
--- a/keyboards/wilba_tech/wt60_g/config.h
+++ b/keyboards/wilba_tech/wt60_g/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x0021 // PCB #33
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-G
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } // D4, B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_g/info.json b/keyboards/wilba_tech/wt60_g/info.json
index f4cb1ea8e3..43b7f4d4ef 100644
--- a/keyboards/wilba_tech/wt60_g/info.json
+++ b/keyboards/wilba_tech/wt60_g/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-G",
+ "keyboard_name": "WT60-G",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0021",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/wilba_tech/wt60_g2/config.h b/keyboards/wilba_tech/wt60_g2/config.h
index d26e0a7138..f28767c441 100644
--- a/keyboards/wilba_tech/wt60_g2/config.h
+++ b/keyboards/wilba_tech/wt60_g2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002f // PCB #47
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-G2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } // D4, B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_g2/info.json b/keyboards/wilba_tech/wt60_g2/info.json
index faae3c49dc..3fc67039e7 100644
--- a/keyboards/wilba_tech/wt60_g2/info.json
+++ b/keyboards/wilba_tech/wt60_g2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-G2",
+ "keyboard_name": "WT60-G2",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_h1/config.h b/keyboards/wilba_tech/wt60_h1/config.h
index 005ad42c71..d0087e9d88 100644
--- a/keyboards/wilba_tech/wt60_h1/config.h
+++ b/keyboards/wilba_tech/wt60_h1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x0024 // PCB #36
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-H1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } // D4, B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_h1/info.json b/keyboards/wilba_tech/wt60_h1/info.json
index 324dc84fb7..5260f448ff 100644
--- a/keyboards/wilba_tech/wt60_h1/info.json
+++ b/keyboards/wilba_tech/wt60_h1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-H1",
+ "keyboard_name": "WT60-H1",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0024",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_h2/config.h b/keyboards/wilba_tech/wt60_h2/config.h
index 382e8993c8..d0087e9d88 100644
--- a/keyboards/wilba_tech/wt60_h2/config.h
+++ b/keyboards/wilba_tech/wt60_h2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002B // PCB #43
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-H2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } // D4, B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_h2/info.json b/keyboards/wilba_tech/wt60_h2/info.json
index ce5a708626..30a2fb65f6 100644
--- a/keyboards/wilba_tech/wt60_h2/info.json
+++ b/keyboards/wilba_tech/wt60_h2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-H2",
+ "keyboard_name": "WT60-H2",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
diff --git a/keyboards/wilba_tech/wt60_h3/config.h b/keyboards/wilba_tech/wt60_h3/config.h
index 7121d00086..d0087e9d88 100644
--- a/keyboards/wilba_tech/wt60_h3/config.h
+++ b/keyboards/wilba_tech/wt60_h3/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002C // PCB #44
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-H3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } // D4, B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_h3/info.json b/keyboards/wilba_tech/wt60_h3/info.json
index 2a255f6017..b4d071c441 100644
--- a/keyboards/wilba_tech/wt60_h3/info.json
+++ b/keyboards/wilba_tech/wt60_h3/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-H3",
+ "keyboard_name": "WT60-H3",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002C",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_60_iso_tsangan_split_rshift"
},
diff --git a/keyboards/wilba_tech/wt60_xt/config.h b/keyboards/wilba_tech/wt60_xt/config.h
index f08d3179ef..df174cddd1 100644
--- a/keyboards/wilba_tech/wt60_xt/config.h
+++ b/keyboards/wilba_tech/wt60_xt/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x001C // PCB #28
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT60-XT
-
#define AUDIO_PIN C6
#define AUDIO_CLICKY
@@ -44,7 +37,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { B7, B0, F5, D5, B1, B2, B3, D3, D2, C7, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt60_xt/info.json b/keyboards/wilba_tech/wt60_xt/info.json
index ee08d4c6c3..50f64f9d6f 100644
--- a/keyboards/wilba_tech/wt60_xt/info.json
+++ b/keyboards/wilba_tech/wt60_xt/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT60-XT",
+ "keyboard_name": "WT60-XT",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x001C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "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":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":15.25, "y":0}, {"x":16.25, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.25, "y":1, "w":1.5}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.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, "w":1.5}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.25, "y":2, "w":1.75}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "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":15, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.25, "y":3, "w":1.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":8.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, "w":1.75}, {"x":16.25, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":1.25}, {"x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":6.25}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4, "w":1.25}, {"x":14.75, "y":4, "w":1.25}, {"x":16, "y":4, "w":1.25}]
diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h
index 46df641ae4..062e2d8564 100644
--- a/keyboards/wilba_tech/wt65_a/config.h
+++ b/keyboards/wilba_tech/wt65_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x065A // 65-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -108,6 +100,9 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT65_A
+
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt65_a/info.json b/keyboards/wilba_tech/wt65_a/info.json
index ee2c95e1df..88aa9b21dd 100644
--- a/keyboards/wilba_tech/wt65_a/info.json
+++ b/keyboards/wilba_tech/wt65_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-A",
+ "keyboard_name": "WT65-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x065A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"|", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "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":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Control", "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":"PgDn", "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":"\u2191", "x":14, "y":3}, {"label":"End", "x":15, "y":3}, {"label":"Fn", "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_b/config.h b/keyboards/wilba_tech/wt65_b/config.h
index bc81515c19..8320daef0a 100644
--- a/keyboards/wilba_tech/wt65_b/config.h
+++ b/keyboards/wilba_tech/wt65_b/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x065B // 65-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-B
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -108,6 +100,9 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT65_B
+
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt65_b/info.json b/keyboards/wilba_tech/wt65_b/info.json
index 5a8ddab113..c9c0ec3f35 100644
--- a/keyboards/wilba_tech/wt65_b/info.json
+++ b/keyboards/wilba_tech/wt65_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-B",
+ "keyboard_name": "WT65-B",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x065B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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":"|", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "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":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"End", "x":15, "y":1}, {"label":"Control", "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":"Win", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":2.25, "y":4, "w":1.5}, {"x":3.75, "y":4, "w":7}, {"label":"Fn", "x":10.75, "y":4, "w":1.5}, {"label":"Left", "x":13, "y":4}, {"label":"Down", "x":14, "y":4}, {"label":"Right", "x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_d/config.h b/keyboards/wilba_tech/wt65_d/config.h
new file mode 100644
index 0000000000..f0cf1acd52
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/config.h
@@ -0,0 +1,25 @@
+// Copyright 2022 Jason Williams (@wilba)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+#include "config_common.h"
+
+// key matrix size
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+// Keyboard Matrix Assignments
+#define MATRIX_ROW_PINS { E6, F0, F4, F6, F7 }
+#define MATRIX_COL_PINS { F5, D5, D3, D2, B7, B0, B3, C7, C6, B6, B5, B4, D7, D6, D4 }
+#define DIODE_DIRECTION COL2ROW
+
+// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN F1
+
+// 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 \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/info.json b/keyboards/wilba_tech/wt65_d/info.json
new file mode 100644
index 0000000000..761aefe8be
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "WT65-D",
+ "manufacturer": "wilba.tech",
+ "url": "https://wilba.tech",
+ "maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0031",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,3", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,1", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,12", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,10", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"2,13", "x":14, "y":0}, {"label":"0,14", "x":15, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"1,14", "x":15, "y":1}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2, "w":2.25}, {"label":"2,14", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4}, {"label":"4,2", "x":2.25, "y":4, "w":1.25}, {"label":"4,3", "x":3.5, "y":4, "w":6}, {"label":"4,9", "x":9.5, "y":4, "w":1.25}, {"label":"4,10", "x":10.75, "y":4}, {"label":"4,11", "x":11.75, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3572bf9032
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
+// Copyright 2022 Jason Williams (@wilba)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+// Default layout for WT65-D
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ // Fn1 Layer
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_TRNS,
+ KC_TRNS, 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_TRNS,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ // Fn2 Layer
+ [2] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ // Fn3 Layer
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt65_d/keymaps/via/keymap.c b/keyboards/wilba_tech/wt65_d/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1f9d213f05
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/keymaps/via/keymap.c
@@ -0,0 +1 @@
+#include "../default/keymap.c" \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/keymaps/via/rules.mk b/keyboards/wilba_tech/wt65_d/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/readme.md b/keyboards/wilba_tech/wt65_d/readme.md
new file mode 100644
index 0000000000..bbd3bbff81
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/readme.md
@@ -0,0 +1,25 @@
+# wilba.tech WT65-D
+
+WT65-D is a keyboard PCB supporting 65% layout. [More info at wilba.tech](https://wilba.tech/)
+
+* Keyboard Maintainer: [wilba](https://github.com/wilba)
+* Hardware Supported: wilba.tech WT65-D
+* Hardware Availability: [wilba.tech](https://wilba.tech/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make wilba_tech/wt65_d:default
+
+Flashing example for this keyboard:
+
+ make wilba_tech/wt65_d:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/wilba_tech/wt65_d/rules.mk b/keyboards/wilba_tech/wt65_d/rules.mk
new file mode 100644
index 0000000000..51570559c0
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/wt65_d.c b/keyboards/wilba_tech/wt65_d/wt65_d.c
new file mode 100644
index 0000000000..b734652c78
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/wt65_d.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Jason Williams (@wilba)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "wt65_d.h" \ No newline at end of file
diff --git a/keyboards/wilba_tech/wt65_d/wt65_d.h b/keyboards/wilba_tech/wt65_d/wt65_d.h
new file mode 100644
index 0000000000..4f0b36d075
--- /dev/null
+++ b/keyboards/wilba_tech/wt65_d/wt65_d.h
@@ -0,0 +1,23 @@
+// Copyright 2022 Jason Williams (@wilba)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+#define LAYOUT_all( \
+ K000, K003, K002, K001, K004, K005, K006, K007, K008, K009, K012, K011, K010, K013, K213, 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, K214, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K400, K401, K402, K403, K409, K410, K411, K412, K413, K414 \
+) { \
+ { 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 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { K400, K401, K402, K403, ____, ____, ____, ____, ____, K409, K410, K411, K412, K413, K414 } \
+}
+
diff --git a/keyboards/wilba_tech/wt65_f/config.h b/keyboards/wilba_tech/wt65_f/config.h
index 04c19489f8..0380f44d28 100644
--- a/keyboards/wilba_tech/wt65_f/config.h
+++ b/keyboards/wilba_tech/wt65_f/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002D // PCB #45
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-F
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } // B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_f/info.json b/keyboards/wilba_tech/wt65_f/info.json
index b808962887..2e7ba6c3a0 100644
--- a/keyboards/wilba_tech/wt65_f/info.json
+++ b/keyboards/wilba_tech/wt65_f/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-F",
+ "keyboard_name": "WT65-F",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_fx/config.h b/keyboards/wilba_tech/wt65_fx/config.h
index a84deb0689..0380f44d28 100644
--- a/keyboards/wilba_tech/wt65_fx/config.h
+++ b/keyboards/wilba_tech/wt65_fx/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002E // PCB #46
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-FX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } // B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_fx/info.json b/keyboards/wilba_tech/wt65_fx/info.json
index 90bd79fe76..1e12d4e53b 100644
--- a/keyboards/wilba_tech/wt65_fx/info.json
+++ b/keyboards/wilba_tech/wt65_fx/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-FX",
+ "keyboard_name": "WT65-FX",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_g/config.h b/keyboards/wilba_tech/wt65_g/config.h
index 8529d89990..b0f9fc2b54 100644
--- a/keyboards/wilba_tech/wt65_g/config.h
+++ b/keyboards/wilba_tech/wt65_g/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x0022 // PCB #34
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-G
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } // B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_g/info.json b/keyboards/wilba_tech/wt65_g/info.json
index 423512dba1..c7713e58fd 100644
--- a/keyboards/wilba_tech/wt65_g/info.json
+++ b/keyboards/wilba_tech/wt65_g/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-G",
+ "keyboard_name": "WT65-G",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0022",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_g2/config.h b/keyboards/wilba_tech/wt65_g2/config.h
index 1492f689c9..b0f9fc2b54 100644
--- a/keyboards/wilba_tech/wt65_g2/config.h
+++ b/keyboards/wilba_tech/wt65_g2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x002A // PCB #42
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-G2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } // B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_g2/info.json b/keyboards/wilba_tech/wt65_g2/info.json
index 44661ba66c..7e76598d71 100644
--- a/keyboards/wilba_tech/wt65_g2/info.json
+++ b/keyboards/wilba_tech/wt65_g2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-G2",
+ "keyboard_name": "WT65-G2",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x002A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "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, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":2.25, "y":4, "w":1.5}, {"x":3.75, "y":4, "w":7}, {"x":10.75, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_h1/config.h b/keyboards/wilba_tech/wt65_h1/config.h
index d7626af3e3..b0f9fc2b54 100644
--- a/keyboards/wilba_tech/wt65_h1/config.h
+++ b/keyboards/wilba_tech/wt65_h1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x0025 // PCB #37
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-H1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 } // B7, B0
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_h1/info.json b/keyboards/wilba_tech/wt65_h1/info.json
index f7be0ab158..9799a06de2 100644
--- a/keyboards/wilba_tech/wt65_h1/info.json
+++ b/keyboards/wilba_tech/wt65_h1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-H1",
+ "keyboard_name": "WT65-H1",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0025",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi_blocker_tsangan": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_xt/config.h b/keyboards/wilba_tech/wt65_xt/config.h
index 8dbc8559de..9cf5524d75 100644
--- a/keyboards/wilba_tech/wt65_xt/config.h
+++ b/keyboards/wilba_tech/wt65_xt/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x001D // PCB #29
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-XT
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { B7, B0, F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_xt/info.json b/keyboards/wilba_tech/wt65_xt/info.json
index e0cad3da71..26fc69fa0e 100644
--- a/keyboards/wilba_tech/wt65_xt/info.json
+++ b/keyboards/wilba_tech/wt65_xt/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-XT",
+ "keyboard_name": "WT65-XT",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x001D",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0, "w":2}, {"x":17.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":17.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2, "w":2.25}, {"x":17.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":2.25}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.5, "y":3}, {"x":17.5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":7}, {"x":13.5, "y":4, "w":1.5}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}]
diff --git a/keyboards/wilba_tech/wt65_xtx/config.h b/keyboards/wilba_tech/wt65_xtx/config.h
index 3ee2d44429..612b273b95 100644
--- a/keyboards/wilba_tech/wt65_xtx/config.h
+++ b/keyboards/wilba_tech/wt65_xtx/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x001E // PCB #30
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT65-XTX
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { B7, B0, F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt65_xtx/info.json b/keyboards/wilba_tech/wt65_xtx/info.json
index 8a1d4f68d2..96d1068873 100644
--- a/keyboards/wilba_tech/wt65_xtx/info.json
+++ b/keyboards/wilba_tech/wt65_xtx/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT65-XTX",
+ "keyboard_name": "WT65-XTX",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x001E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":17.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2, "w":2.25}, {"x":17.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":2.25}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.5, "y":3}, {"x":17.5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.25}, {"x":6.25, "y":4, "w":6.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}]
diff --git a/keyboards/wilba_tech/wt69_a/config.h b/keyboards/wilba_tech/wt69_a/config.h
index 7db475ba60..ff67b45038 100644
--- a/keyboards/wilba_tech/wt69_a/config.h
+++ b/keyboards/wilba_tech/wt69_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x069A // 69-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT69-A
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { B7, B0, F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/wilba_tech/wt69_a/info.json b/keyboards/wilba_tech/wt69_a/info.json
index 0ed3bbdbb6..0f82c92d8f 100644
--- a/keyboards/wilba_tech/wt69_a/info.json
+++ b/keyboards/wilba_tech/wt69_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT69-A",
+ "keyboard_name": "WT69-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x069A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"F1", "x":0, "y":0}, {"label":"F2", "x":1, "y":0}, {"label":"Esc", "x":2.25, "y":0}, {"label":"!", "x":3.25, "y":0}, {"label":"@", "x":4.25, "y":0}, {"label":"#", "x":5.25, "y":0}, {"label":"$", "x":6.25, "y":0}, {"label":"%", "x":7.25, "y":0}, {"label":"^", "x":8.25, "y":0}, {"label":"&", "x":9.25, "y":0}, {"label":"*", "x":10.25, "y":0}, {"label":"(", "x":11.25, "y":0}, {"label":")", "x":12.25, "y":0}, {"label":"_", "x":13.25, "y":0}, {"label":"+", "x":14.25, "y":0}, {"label":"BkSp", "x":15.25, "y":0}, {"label":"BkSp", "x":16.25, "y":0}, {"label":"Home", "x":17.25, "y":0}, {"label":"F3", "x":0, "y":1}, {"label":"F4", "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":"{", "x":13.75, "y":1}, {"label":"}", "x":14.75, "y":1}, {"label":"|", "x":15.75, "y":1, "w":1.5}, {"label":"PgUp", "x":17.25, "y":1}, {"label":"F5", "x":0, "y":2}, {"label":"F6", "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":"Enter", "x":15, "y":2, "w":2.25}, {"label":"PgDn", "x":17.25, "y":2}, {"label":"F7", "x":0, "y":3}, {"label":"F8", "x":1, "y":3}, {"label":"Shift", "x":2.25, "y":3, "w":2.25}, {"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.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"End", "x":17.25, "y":3}, {"label":"F9", "x":0, "y":4}, {"label":"F10", "x":1, "y":4}, {"label":"Control", "x":2.25, "y":4, "w":1.5}, {"label":"Win", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.5}, {"x":6.25, "y":4, "w":7}, {"label":"Fn", "x":13.25, "y":4, "w":1.5}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}]
diff --git a/keyboards/wilba_tech/wt70_jb/config.h b/keyboards/wilba_tech/wt70_jb/config.h
index 67bf6b0843..fbcfdc77ba 100644
--- a/keyboards/wilba_tech/wt70_jb/config.h
+++ b/keyboards/wilba_tech/wt70_jb/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x001F // PCB #31
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT70-JB
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
@@ -40,7 +33,6 @@
*/
#define MATRIX_ROW_PINS { E6, F0, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, D3, D2, D1, D0, B7, C7, C6, B6, B5, B4, D7, D6, D4, B0, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt70_jb/info.json b/keyboards/wilba_tech/wt70_jb/info.json
index 24769f1043..da6ad38d59 100644
--- a/keyboards/wilba_tech/wt70_jb/info.json
+++ b/keyboards/wilba_tech/wt70_jb/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT70-JB",
+ "keyboard_name": "WT70-JB",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x001F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1}, {"x":16.5, "y":1}, {"x":17.5, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":16.5, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}]
diff --git a/keyboards/wilba_tech/wt70_jb/wt70_jb.c b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
index 0bb9aca092..d4f2c5c8da 100644
--- a/keyboards/wilba_tech/wt70_jb/wt70_jb.c
+++ b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
@@ -38,9 +38,9 @@ bool led_update_kb(led_t led_state) {
// Called from matrix_init_kb() if not VIA_ENABLE
void via_init_kb(void)
{
- // If the EEPROM has the magic, the data is good.
- // OK to load from EEPROM
- if (via_eeprom_is_valid()) {
+ // This checks both an EEPROM reset (from bootmagic lite, keycodes)
+ // and also firmware build date (from via_eeprom_is_valid())
+ if (eeconfig_is_enabled()) {
} else {
// Cache "first execution" state so we can do something
// specific after QMK initialization has done its thing.
diff --git a/keyboards/wilba_tech/wt75_a/config.h b/keyboards/wilba_tech/wt75_a/config.h
index 6562e65fcc..415774aa17 100644
--- a/keyboards/wilba_tech/wt75_a/config.h
+++ b/keyboards/wilba_tech/wt75_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x075A // 75-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT75-A
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/wilba_tech/wt75_a/info.json b/keyboards/wilba_tech/wt75_a/info.json
index c54371256a..b9420ea27e 100644
--- a/keyboards/wilba_tech/wt75_a/info.json
+++ b/keyboards/wilba_tech/wt75_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT75-A",
+ "keyboard_name": "WT75-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x075A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":5.75, "y":0}, {"label":"F6", "x":6.75, "y":0}, {"label":"F7", "x":7.75, "y":0}, {"label":"F8", "x":8.75, "y":0}, {"label":"F9", "x":10, "y":0}, {"label":"F10", "x":11, "y":0}, {"label":"F11", "x":12, "y":0}, {"label":"F12", "x":13, "y":0}, {"label":"Del", "x":15, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Bksp", "x":13, "y":1.25}, {"label":"Bksp", "x":14, "y":1.25}, {"label":"Home", "x":15, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"PgDn", "x":15, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14, "y":4.25}, {"label":"End", "x":15, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"label":"6.25U", "x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"\u2190", "x":13, "y":5.25}, {"label":"\u2193", "x":14, "y":5.25}, {"label":"\u2192", "x":15, "y":5.25}]
diff --git a/keyboards/wilba_tech/wt75_b/config.h b/keyboards/wilba_tech/wt75_b/config.h
index a8905fc2cc..98b3d937f9 100644
--- a/keyboards/wilba_tech/wt75_b/config.h
+++ b/keyboards/wilba_tech/wt75_b/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x075B // 75-B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT75-B
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B7, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, B2, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
@@ -108,6 +100,9 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT75_B
+
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt75_b/info.json b/keyboards/wilba_tech/wt75_b/info.json
index 85b6bbe11e..2f0f784108 100644
--- a/keyboards/wilba_tech/wt75_b/info.json
+++ b/keyboards/wilba_tech/wt75_b/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT75-B",
+ "keyboard_name": "WT75-B",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x075B",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "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":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":0, "y":2, "w":1.5}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2}, {"x":5.5, "y":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":12.5, "y":2}, {"x":13.5, "y":2, "w":1.5}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.75}, {"x":1.75, "y":3}, {"x":2.75, "y":3}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3, "w":2.25}, {"x":15, "y":3}, {"x":0, "y":4, "w":2.25}, {"x":2.25, "y":4}, {"x":3.25, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4, "w":1.75}, {"x":14, "y":4}, {"x":15, "y":4}, {"x":0, "y":5, "w":1.25}, {"x":1.25, "y":5, "w":1.25}, {"x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"x":10, "y":5, "w":1.25}, {"x":11.25, "y":5, "w":1.25}, {"x":13, "y":5}, {"x":14, "y":5}, {"x":15, "y":5}]
diff --git a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/keymap.c b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/keymap.c
index 8b650dee35..32062982bf 100644
--- a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/keymap.c
+++ b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FNMS] = 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_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, QK_BOOT, KC_VOLU,
AG_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_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R),
diff --git a/keyboards/wilba_tech/wt75_c/config.h b/keyboards/wilba_tech/wt75_c/config.h
index 8e65c1a149..d8cf5a1a95 100644
--- a/keyboards/wilba_tech/wt75_c/config.h
+++ b/keyboards/wilba_tech/wt75_c/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x075C // 75-C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT75-C
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, B7, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION ROW2COL
@@ -108,6 +100,9 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT75_C
+
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt75_c/info.json b/keyboards/wilba_tech/wt75_c/info.json
index 4cada976d3..c124bd0d99 100644
--- a/keyboards/wilba_tech/wt75_c/info.json
+++ b/keyboards/wilba_tech/wt75_c/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT75-A",
+ "keyboard_name": "WT75-C",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x075C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"0", "x":0, "y":0}, {"label":"1", "x":1.25, "y":0}, {"label":"2", "x":2.25, "y":0}, {"label":"3", "x":3.25, "y":0}, {"label":"4", "x":4.25, "y":0}, {"label":"5", "x":5.5, "y":0}, {"label":"6", "x":6.5, "y":0}, {"label":"7", "x":7.5, "y":0}, {"label":"8", "x":8.5, "y":0}, {"label":"9", "x":9.75, "y":0}, {"label":"10", "x":10.75, "y":0}, {"label":"11", "x":11.75, "y":0}, {"label":"12", "x":12.75, "y":0}, {"label":"13", "x":14, "y":0}, {"label":"14", "x":0, "y":1.25}, {"label":"15", "x":1, "y":1.25}, {"label":"16", "x":2, "y":1.25}, {"label":"17", "x":3, "y":1.25}, {"label":"18", "x":4, "y":1.25}, {"label":"19", "x":5, "y":1.25}, {"label":"20", "x":6, "y":1.25}, {"label":"21", "x":7, "y":1.25}, {"label":"22", "x":8, "y":1.25}, {"label":"23", "x":9, "y":1.25}, {"label":"24", "x":10, "y":1.25}, {"label":"25", "x":11, "y":1.25}, {"label":"26", "x":12, "y":1.25}, {"label":"27", "x":13, "y":1.25}, {"label":"28", "x":14, "y":1.25}, {"label":"29", "x":15.25, "y":1.25}, {"label":"30", "x":0, "y":2.25, "w":1.5}, {"label":"31", "x":1.5, "y":2.25}, {"label":"32", "x":2.5, "y":2.25}, {"label":"33", "x":3.5, "y":2.25}, {"label":"34", "x":4.5, "y":2.25}, {"label":"35", "x":5.5, "y":2.25}, {"label":"36", "x":6.5, "y":2.25}, {"label":"37", "x":7.5, "y":2.25}, {"label":"38", "x":8.5, "y":2.25}, {"label":"39", "x":9.5, "y":2.25}, {"label":"40", "x":10.5, "y":2.25}, {"label":"41", "x":11.5, "y":2.25}, {"label":"42", "x":12.5, "y":2.25}, {"label":"43", "x":13.5, "y":2.25, "w":1.5}, {"label":"44", "x":15.25, "y":2.25}, {"label":"45", "x":0, "y":3.25, "w":1.75}, {"label":"46", "x":1.75, "y":3.25}, {"label":"47", "x":2.75, "y":3.25}, {"label":"48", "x":3.75, "y":3.25}, {"label":"49", "x":4.75, "y":3.25}, {"label":"50", "x":5.75, "y":3.25}, {"label":"51", "x":6.75, "y":3.25}, {"label":"52", "x":7.75, "y":3.25}, {"label":"53", "x":8.75, "y":3.25}, {"label":"54", "x":9.75, "y":3.25}, {"label":"55", "x":10.75, "y":3.25}, {"label":"56", "x":11.75, "y":3.25}, {"label":"57", "x":12.75, "y":3.25, "w":2.25}, {"label":"58", "x":15.25, "y":3.25}, {"label":"59", "x":0, "y":4.25, "w":2.25}, {"label":"60", "x":2.25, "y":4.25}, {"label":"61", "x":3.25, "y":4.25}, {"label":"62", "x":4.25, "y":4.25}, {"label":"63", "x":5.25, "y":4.25}, {"label":"64", "x":6.25, "y":4.25}, {"label":"65", "x":7.25, "y":4.25}, {"label":"66", "x":8.25, "y":4.25}, {"label":"67", "x":9.25, "y":4.25}, {"label":"68", "x":10.25, "y":4.25}, {"label":"69", "x":11.25, "y":4.25}, {"label":"70", "x":12.25, "y":4.25, "w":1.75}, {"label":"71", "x":14.25, "y":4.5}, {"label":"72", "x":0, "y":5.25, "w":1.5}, {"label":"73", "x":1.5, "y":5.25}, {"label":"74", "x":2.5, "y":5.25, "w":1.5}, {"label":"75", "x":4, "y":5.25, "w":6}, {"label":"76", "x":10, "y":5.25, "w":1.5}, {"label":"77", "x":11.5, "y":5.25, "w":1.5}, {"label":"78", "x":13.25, "y":5.5}, {"label":"79", "x":14.25, "y":5.5}, {"label":"80", "x":15.25, "y":5.5}]
diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h
index de4de0af2b..2bc81b2fa5 100644
--- a/keyboards/wilba_tech/wt80_a/config.h
+++ b/keyboards/wilba_tech/wt80_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x080A // 80-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT80-A
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
@@ -108,6 +100,9 @@
// enable the mono backlight
#define MONO_BACKLIGHT_ENABLED 1
+// enable the specific indicators
+#define MONO_BACKLIGHT_WT80_A
+
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define MONO_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
diff --git a/keyboards/wilba_tech/wt80_a/info.json b/keyboards/wilba_tech/wt80_a/info.json
index f568dd5d17..ee08cc460b 100644
--- a/keyboards/wilba_tech/wt80_a/info.json
+++ b/keyboards/wilba_tech/wt80_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT80-A",
+ "keyboard_name": "WT80-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x080A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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}, {"x":14, "y":1.5}, {"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":1.75}, {"x":14, "y":4.5}, {"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":"Win", "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}]
diff --git a/keyboards/wilba_tech/wt80_bc/config.h b/keyboards/wilba_tech/wt80_bc/config.h
index 5a512c646e..b82cbda0d0 100644
--- a/keyboards/wilba_tech/wt80_bc/config.h
+++ b/keyboards/wilba_tech/wt80_bc/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x80B0 // 80-BC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT80-BC
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt80_bc/info.json b/keyboards/wilba_tech/wt80_bc/info.json
index 79fe198ad1..bc8c4924ca 100644
--- a/keyboards/wilba_tech/wt80_bc/info.json
+++ b/keyboards/wilba_tech/wt80_bc/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT80-BC",
+ "keyboard_name": "WT80-BC",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x80B0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":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":2.75}, {"x":16.25, "y":4.25}, {"x":0, "y":5.25, "w":1.5}, {"x":1.5, "y":5.25}, {"x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"x":11, "y":5.25, "w":1.5}, {"x":12.5, "y":5.25}, {"x":13.5, "y":5.25, "w":1.5}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/wilba_tech/wt80_g/config.h b/keyboards/wilba_tech/wt80_g/config.h
index 4c636c200a..b82cbda0d0 100644
--- a/keyboards/wilba_tech/wt80_g/config.h
+++ b/keyboards/wilba_tech/wt80_g/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x0023 // PCB #35
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT80-G
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { F1, F0, E6, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt80_g/info.json b/keyboards/wilba_tech/wt80_g/info.json
index 36ac36d9ab..ee516282b4 100644
--- a/keyboards/wilba_tech/wt80_g/info.json
+++ b/keyboards/wilba_tech/wt80_g/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT80-G",
+ "keyboard_name": "WT80-G",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x0023",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "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}, {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":16.25, "y":1.25}, {"x":17.25, "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.25, "y":2.25}, {"x":16.25, "y":2.25}, {"x":17.25, "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":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.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, "y":4.25}, {"x":16.25, "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, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":12.5, "y":5.25, "w":1.25}, {"x":13.75, "y":5.25, "w":1.25}, {"x":15.25, "y":5.25}, {"x":16.25, "y":5.25}, {"x":17.25, "y":5.25}]
diff --git a/keyboards/wilba_tech/wt8_a/config.h b/keyboards/wilba_tech/wt8_a/config.h
index 43c6a18837..4e7f58bd77 100644
--- a/keyboards/wilba_tech/wt8_a/config.h
+++ b/keyboards/wilba_tech/wt8_a/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x6582 // wilba.tech
-#define PRODUCT_ID 0x008A // 8-A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wilba.tech
-#define PRODUCT wilba.tech WT8-A
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 8
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { E6 }
#define MATRIX_COL_PINS { F4, F1, B2, B6, F6, F7, D5, B4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wilba_tech/wt8_a/info.json b/keyboards/wilba_tech/wt8_a/info.json
index 5358a5869f..73806e0760 100644
--- a/keyboards/wilba_tech/wt8_a/info.json
+++ b/keyboards/wilba_tech/wt8_a/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "wilba.tech WT8-A",
+ "keyboard_name": "WT8-A",
+ "manufacturer": "wilba.tech",
"url": "https://wilba.tech",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x6582",
+ "pid": "0x008A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"x", "x":0, "y":0}, {"label":"x", "x":1, "y":0}, {"label":"x", "x":2, "y":0}, {"label":"x", "x":3, "y":0}, {"label":"x", "x":0, "y":1}, {"label":"x", "x":1, "y":1}, {"label":"x", "x":2, "y":1}, {"label":"x", "x":3, "y":1}]
diff --git a/keyboards/wilba_tech/wt8_a/keymaps/rys/keymap.c b/keyboards/wilba_tech/wt8_a/keymaps/rys/keymap.c
index f0a6edc0b8..d4f7e3448a 100644
--- a/keyboards/wilba_tech/wt8_a/keymaps/rys/keymap.c
+++ b/keyboards/wilba_tech/wt8_a/keymaps/rys/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FL1] = LAYOUT(
_______, _______, _______, _______,
- _______, STOKEN5, KC_NUBS, RESET),
+ _______, STOKEN5, KC_NUBS, QK_BOOT),
/* Keymap base layer (_FL2) - function layer 2
* ,---------------------------.
* | | | | |
diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c
index a8ad795446..a7afeb5907 100644
--- a/keyboards/wilba_tech/wt_main.c
+++ b/keyboards/wilba_tech/wt_main.c
@@ -35,9 +35,9 @@
// Called from matrix_init_kb() if not VIA_ENABLE
void via_init_kb(void)
{
- // If the EEPROM has the magic, the data is good.
- // OK to load from EEPROM
- if (via_eeprom_is_valid()) {
+ // This checks both an EEPROM reset (from bootmagic lite, keycodes)
+ // and also firmware build date (from via_eeprom_is_valid())
+ if (eeconfig_is_enabled()) {
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
backlight_config_load();
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index 5e2fde810c..71bf8e0284 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -173,6 +173,33 @@ void backlight_effect_indicators(void)
IS31FL3736_mono_set_brightness(63, rgb.g);
IS31FL3736_mono_set_brightness(71, rgb.b);
#endif // MONO_BACKLIGHT_WT75_A
+
+// This pairs with "All Off" already setting zero brightness,
+// and "All On" already setting non-zero brightness.
+#if defined(MONO_BACKLIGHT_WT60_A) || \
+defined(MONO_BACKLIGHT_WT65_A) || \
+defined(MONO_BACKLIGHT_WT65_B) || \
+defined(MONO_BACKLIGHT_WT75_A) || \
+defined(MONO_BACKLIGHT_WT75_B) || \
+defined(MONO_BACKLIGHT_WT75_C) || \
+defined(MONO_BACKLIGHT_WT80_A)
+ if ( g_indicator_state & (1<<USB_LED_CAPS_LOCK) ) {
+ // Caps Lock: D1 -> (4*8+0)
+ IS31FL3736_mono_set_brightness(32, 255);
+ }
+#endif
+#if defined(MONO_BACKLIGHT_WT80_A)
+ if ( g_indicator_state & (1<<USB_LED_SCROLL_LOCK) ) {
+ // Scroll Lock: G7 -> (6*8+6)
+ IS31FL3736_mono_set_brightness(54, 255);
+ }
+#endif
+#if defined(MONO_BACKLIGHT_WT75_C)
+ if ( g_indicator_state & (1<<USB_LED_SCROLL_LOCK) ) {
+ // Scroll Lock: G8 -> (6*8+7)
+ IS31FL3736_mono_set_brightness(55, 255);
+ }
+#endif
}
ISR(TIMER3_COMPA_vect)
diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h
index 12093be63a..b3c0477342 100644
--- a/keyboards/wilba_tech/zeal60/config.h
+++ b/keyboards/wilba_tech/zeal60/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5A45 // ZealPC ("ZE")
-#define PRODUCT_ID 0x0060 // Zeal60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZealPC
-#define PRODUCT Zeal60
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -31,7 +24,6 @@
// Zeal60 PCB default pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/wilba_tech/zeal60/info.json b/keyboards/wilba_tech/zeal60/info.json
index 1ce2a2d9ac..e78c268f48 100644
--- a/keyboards/wilba_tech/zeal60/info.json
+++ b/keyboards/wilba_tech/zeal60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zeal60",
+ "manufacturer": "ZealPC",
"url": "https://zealpc.net",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5A45",
+ "pid": "0x0060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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":1.25}, {"x":1.25, "y":3}, {"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}, {"x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c
index 971782561c..d612582d84 100644
--- a/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c
+++ b/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_CL] = LAYOUT_60_ansi_split_bs_rshift(
_______, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, _______, _______, _______, _______, BR_DEC, BR_INC, _______, _______,
- _______, _______, _______, S1_DEC, S1_INC, S2_DEC, S2_INC, _______, _______, _______, _______, ES_DEC, ES_INC, RESET,
+ _______, _______, _______, S1_DEC, S1_INC, S2_DEC, S2_INC, _______, _______, _______, _______, ES_DEC, ES_INC, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
index 755ace8618..e9f5056343 100644
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
+++ b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Layer 2: Zeal60 and backlight configuration. (Get here quickly by pressing Caps+Enter from Layer 1.)
// This is a persistent layer. Get back to the default layer by pressing enter.
[2] = {
- {RESET, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______},
+ {QK_BOOT, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______},
{_______, H1_DEC, H1_INC, S1_DEC, S1_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, H2_DEC, H2_INC, S2_DEC, S2_INC, _______, _______, _______, _______, _______, _______, _______, TO(0) , _x_ },
{RGB_MOD, _x_ , RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _x_ },
diff --git a/keyboards/wilba_tech/zeal65/config.h b/keyboards/wilba_tech/zeal65/config.h
index eff5502ebc..27f4fd4b44 100644
--- a/keyboards/wilba_tech/zeal65/config.h
+++ b/keyboards/wilba_tech/zeal65/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5A45 // ZealPC ("ZE")
-#define PRODUCT_ID 0x0065 // Zeal65
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZealPC
-#define PRODUCT Zeal65
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -31,7 +24,6 @@
// Zeal60 PCB default pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/wilba_tech/zeal65/info.json b/keyboards/wilba_tech/zeal65/info.json
index 3028c6e31b..57f5f6c5eb 100644
--- a/keyboards/wilba_tech/zeal65/info.json
+++ b/keyboards/wilba_tech/zeal65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zeal65",
+ "manufacturer": "ZealPC",
"url": "https://zealpc.net",
"maintainer": "Wilba",
+ "usb": {
+ "vid": "0x5A45",
+ "pid": "0x0065",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_all": {
"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":"|", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "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":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Control", "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":"PgDn", "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":"\u2191", "x":14, "y":3}, {"label":"End", "x":15, "y":3}, {"label":"Win", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"label":"Fn2", "x":10, "y":4, "w":1.5}, {"label":"Fn1", "x":11.5, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
diff --git a/keyboards/winkeyless/b87/config.h b/keyboards/winkeyless/b87/config.h
index 0598ee700b..b9d8a3ff90 100644
--- a/keyboards/winkeyless/b87/config.h
+++ b/keyboards/winkeyless/b87/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor paramater */
-#define VENDOR_ID 0x20A0 //
-#define PRODUCT_ID 0x0B87 // B87
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Winkeyless
-#define PRODUCT B87 // QMK PORT
-
/* Define Matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
diff --git a/keyboards/winkeyless/b87/info.json b/keyboards/winkeyless/b87/info.json
index 93721d7078..f1379bb612 100644
--- a/keyboards/winkeyless/b87/info.json
+++ b/keyboards/winkeyless/b87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "B87",
+ "manufacturer": "Winkeyless",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x0B87",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/winkeyless/bface/config.h b/keyboards/winkeyless/bface/config.h
index 83fcfa0276..71c86f0534 100644
--- a/keyboards/winkeyless/bface/config.h
+++ b/keyboards/winkeyless/bface/config.h
@@ -18,12 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x4246 // BF
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Winkeyless
-#define PRODUCT B.face
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
@@ -31,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/winkeyless/bface/info.json b/keyboards/winkeyless/bface/info.json
index 3d48c55f6b..b375c5121e 100644
--- a/keyboards/winkeyless/bface/info.json
+++ b/keyboards/winkeyless/bface/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "b.face",
+ "keyboard_name": "B.face",
+ "manufacturer": "Winkeyless",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x4246",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [{"label":"~", "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":"Caps Lock", "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":"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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/winkeyless/bmini/config.h b/keyboards/winkeyless/bmini/config.h
index 1f7759faf9..8c514fb8a2 100644
--- a/keyboards/winkeyless/bmini/config.h
+++ b/keyboards/winkeyless/bmini/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x424D // BM
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Winkeyless
-#define PRODUCT B.mini
-
#define RGBLED_NUM 16
/* matrix size */
diff --git a/keyboards/winkeyless/bmini/info.json b/keyboards/winkeyless/bmini/info.json
index f4ff17f9e1..a4cee455a6 100644
--- a/keyboards/winkeyless/bmini/info.json
+++ b/keyboards/winkeyless/bmini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "B.mini",
+ "manufacturer": "Winkeyless",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x424D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K05", "x":0, "y":0}, {"label":"K25", "x":1, "y":0}, {"label":"K35", "x":2, "y":0}, {"label":"K45", "x":3, "y":0}, {"label":"K55", "x":4, "y":0}, {"label":"K06", "x":5, "y":0}, {"label":"KA6", "x":6, "y":0}, {"label":"KA7", "x":7, "y":0}, {"label":"K07", "x":8, "y":0}, {"label":"KB5", "x":9, "y":0}, {"label":"KC5", "x":10, "y":0}, {"label":"KD5", "x":11, "y":0}, {"label":"KE5", "x":12, "y":0}, {"label":"KD1", "x":13, "y":0}, {"label":"KE1", "x":14, "y":0}, {"label":"KE2", "x":15, "y":0}, {"label":"K04", "x":0, "y":1}, {"label":"K14", "x":1, "y":1}, {"label":"K24", "x":2, "y":1}, {"label":"K34", "x":3, "y":1}, {"label":"K44", "x":4, "y":1}, {"label":"K54", "x":5, "y":1}, {"label":"K16", "x":6, "y":1}, {"label":"KB6", "x":7, "y":1}, {"label":"KB7", "x":8, "y":1}, {"label":"K17", "x":9, "y":1}, {"label":"KA4", "x":10, "y":1}, {"label":"KB4", "x":11, "y":1}, {"label":"KC4", "x":12, "y":1}, {"label":"KE4", "x":13, "y":1, "w":2}, {"label":"KD0", "x":15, "y":1}, {"label":"K03", "x":0, "y":2, "w":1.5}, {"label":"K13", "x":1.5, "y":2}, {"label":"K23", "x":2.5, "y":2}, {"label":"K33", "x":3.5, "y":2}, {"label":"K43", "x":4.5, "y":2}, {"label":"K53", "x":5.5, "y":2}, {"label":"K26", "x":6.5, "y":2}, {"label":"KC6", "x":7.5, "y":2}, {"label":"KC7", "x":8.5, "y":2}, {"label":"K27", "x":9.5, "y":2}, {"label":"KA3", "x":10.5, "y":2}, {"label":"KB3", "x":11.5, "y":2}, {"label":"KC3", "x":12.5, "y":2}, {"label":"KD3", "x":13.5, "y":2, "w":1.5}, {"label":"K67", "x":15, "y":2}, {"label":"K02", "x":0, "y":3, "w":1.75}, {"label":"K12", "x":1.75, "y":3}, {"label":"K22", "x":2.75, "y":3}, {"label":"K32", "x":3.75, "y":3}, {"label":"K42", "x":4.75, "y":3}, {"label":"K52", "x":5.75, "y":3}, {"label":"K36", "x":6.75, "y":3}, {"label":"KD6", "x":7.75, "y":3}, {"label":"KD7", "x":8.75, "y":3}, {"label":"K37", "x":9.75, "y":3}, {"label":"KA2", "x":10.75, "y":3}, {"label":"KB2", "x":11.75, "y":3}, {"label":"KD2", "x":12.75, "y":3, "w":2.25}, {"label":"KE0", "x":15, "y":3}, {"label":"K01", "x":0, "y":4, "w":2.25}, {"label":"K11", "x":2.25, "y":4}, {"label":"K21", "x":3.25, "y":4}, {"label":"K31", "x":4.25, "y":4}, {"label":"K41", "x":5.25, "y":4}, {"label":"K51", "x":6.25, "y":4}, {"label":"K46", "x":7.25, "y":4}, {"label":"KE6", "x":8.25, "y":4}, {"label":"KE7", "x":9.25, "y":4}, {"label":"K47", "x":10.25, "y":4}, {"label":"KA1", "x":11.25, "y":4}, {"label":"KB1", "x":12.25, "y":4, "w":1.75}, {"label":"K86", "x":14, "y":4}, {"label":"K77", "x":15, "y":4}, {"label":"K00", "x":0, "y":5, "w":1.25}, {"label":"K10", "x":1.25, "y":5, "w":1.25}, {"label":"K20", "x":2.5, "y":5, "w":1.25}, {"label":"K56", "x":3.75, "y":5, "w":6.25}, {"label":"K57", "x":10, "y":5}, {"label":"KB0", "x":11, "y":5}, {"label":"KC0", "x":12, "y":5}, {"label":"K66", "x":13, "y":5}, {"label":"K76", "x":14, "y":5}, {"label":"K96", "x":15, "y":5}]
diff --git a/keyboards/winkeyless/bminiex/config.h b/keyboards/winkeyless/bminiex/config.h
index 412d10a2aa..221aaa2bc7 100644
--- a/keyboards/winkeyless/bminiex/config.h
+++ b/keyboards/winkeyless/bminiex/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x4258 // BX
-#define DEVICE_VER 0x0200
-#define MANUFACTURER Winkeyless
-#define PRODUCT B.mini EX
-
#define RGBLED_NUM 20
/* matrix size */
diff --git a/keyboards/winkeyless/bminiex/info.json b/keyboards/winkeyless/bminiex/info.json
index 57f9cce278..f51ac4613a 100644
--- a/keyboards/winkeyless/bminiex/info.json
+++ b/keyboards/winkeyless/bminiex/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "winkeyless.kr B.mini EX",
+ "keyboard_name": "B.mini EX",
+ "manufacturer": "Winkeyless",
"url": "https://winkeyless.kr/product/b-mini-ex-x2-pcb/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x4258",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/winkeys/mini_winni/config.h b/keyboards/winkeys/mini_winni/config.h
index fcf700b0b3..7f8a0d6b4c 100644
--- a/keyboards/winkeys/mini_winni/config.h
+++ b/keyboards/winkeys/mini_winni/config.h
@@ -20,21 +20,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574B
-#define PRODUCT_ID 0x7770
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WinKeys
-#define PRODUCT Mini Winni
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
/* key matrix pins */
#define DIRECT_PINS { { F4, F5, B4, D7 }, { F6, F7, B6, B5 } }
-#define UNUSED_PINS
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
diff --git a/keyboards/winkeys/mini_winni/info.json b/keyboards/winkeys/mini_winni/info.json
index 2545073551..2f73cbf7f4 100644
--- a/keyboards/winkeys/mini_winni/info.json
+++ b/keyboards/winkeys/mini_winni/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Mini Winni",
+ "manufacturer": "WinKeys",
"maintainer": "Matthew Dias",
+ "usb": {
+ "vid": "0x574B",
+ "pid": "0x7770",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"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}]
diff --git a/keyboards/winry/winry25tc/config.h b/keyboards/winry/winry25tc/config.h
index 1e7ff4c63b..4b6364f58b 100644
--- a/keyboards/winry/winry25tc/config.h
+++ b/keyboards/winry/winry25tc/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER SpiderIsland
-#define PRODUCT Winry 25tc
-
#define MATRIX_ROWS 5
#define MATRIX_COLS 5
diff --git a/keyboards/winry/winry25tc/info.json b/keyboards/winry/winry25tc/info.json
index 8e503bc74a..6adc2dbba7 100644
--- a/keyboards/winry/winry25tc/info.json
+++ b/keyboards/winry/winry25tc/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Winry 25tc",
+ "manufacturer": "SpiderIsland",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/winry/winry315/readme.md b/keyboards/winry/winry315/readme.md
index 099e6b42b4..48b311e12a 100644
--- a/keyboards/winry/winry315/readme.md
+++ b/keyboards/winry/winry315/readme.md
@@ -29,7 +29,7 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key (not the encoder) and plug in the keyboard. This apparently also works with the vendor VIA firmware.
* Note that the bootmagic key does not change with the board orientation configured using `WINRY315_DEFAULT_ORIENTATION` — the “top left†key position in the default orientation (encoders on the top side) is always used.
* **Physical reset button**: Briefly press the button on the back of the PCB (the acrylic bottom cover should have a hole to access that button).
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available (the default keymap does not have that keycode assigned to any key, but you can use that keycode in your custom keymap if you want to have easier access to the bootloader).
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (the default keymap does not have that keycode assigned to any key, but you can use that keycode in your custom keymap if you want to have easier access to the bootloader).
## Orientation
diff --git a/keyboards/wolf/kuku65/config.h b/keyboards/wolf/kuku65/config.h
index c67224a522..3bca2424b9 100644
--- a/keyboards/wolf/kuku65/config.h
+++ b/keyboards/wolf/kuku65/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5453 // TS - ToastyStoemp
-#define PRODUCT_ID 0x0052 // kuku65
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER ToastyStoemp
-#define PRODUCT kuku65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { B3, B2, B1, B0, B7 }
#define MATRIX_COL_PINS { D0, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wolf/kuku65/info.json b/keyboards/wolf/kuku65/info.json
index 1cd162aa32..fb2ca28956 100644
--- a/keyboards/wolf/kuku65/info.json
+++ b/keyboards/wolf/kuku65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "kuku65",
+ "manufacturer": "ToastyStoemp",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x5453",
+ "pid": "0x0052",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wolf/kuku65/readme.md b/keyboards/wolf/kuku65/readme.md
index 34c4f33422..6cb263a118 100644
--- a/keyboards/wolf/kuku65/readme.md
+++ b/keyboards/wolf/kuku65/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/wolf/ryujin/config.h b/keyboards/wolf/ryujin/config.h
new file mode 100644
index 0000000000..40ca7cb746
--- /dev/null
+++ b/keyboards/wolf/ryujin/config.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0 }
+#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5 \ No newline at end of file
diff --git a/keyboards/wolf/ryujin/info.json b/keyboards/wolf/ryujin/info.json
new file mode 100644
index 0000000000..26a9984205
--- /dev/null
+++ b/keyboards/wolf/ryujin/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Ryujin",
+ "manufacturer": "Miroticaps",
+ "url": "",
+ "maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x5453",
+ "pid": "0x0200",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,10", "x":10, "y":0}, {"label":"0,11", "x":11, "y":0}, {"label":"0,12", "x":12, "y":0}, {"label":"0,13", "x":13, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,10", "x":10.5, "y":1}, {"label":"1,11", "x":11.5, "y":1}, {"label":"1,12", "x":12.5, "y":1}, {"label":"1,13", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,10", "x":10.75, "y":2}, {"label":"2,11", "x":11.75, "y":2}, {"label":"2,12", "x":12.75, "y":2}, {"label":"2,13", "x":13.75, "y":2, "w":1.25}, {"label":"2,14", "x":15, "y":2}, {"label":"3,0", "x":0, "y":3, "w":1.25}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3, "w":1.75}, {"label":"3,13", "x":14, "y":3}, {"label":"3,14", "x":15, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,5", "x":3.75, "y":4, "w":6.25}, {"label":"4,10", "x":10, "y":4, "w":1.25}, {"label":"4,11", "x":11.25, "y":4, "w":1.25}, {"label":"4,12", "x":13, "y":4}, {"label":"4,13", "x":14, "y":4}, {"label":"4,14", "x":15, "y":4}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/wolf/ryujin/keymaps/default/keymap.c b/keyboards/wolf/ryujin/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6e8d4a970c
--- /dev/null
+++ b/keyboards/wolf/ryujin/keymaps/default/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 {
+ _LAYER0,
+ _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = 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_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_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = 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_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
+ )
+};
diff --git a/keyboards/wolf/ryujin/keymaps/via/keymap.c b/keyboards/wolf/ryujin/keymaps/via/keymap.c
new file mode 100644
index 0000000000..79b16f8f71
--- /dev/null
+++ b/keyboards/wolf/ryujin/keymaps/via/keymap.c
@@ -0,0 +1,57 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 {
+ _LAYER0,
+ _LAYER1,
+ _LAYER2,
+ _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_LAYER0] = 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_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_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LAYER1] = 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_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
+ ),
+
+ [_LAYER2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_LAYER3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/wolf/ryujin/keymaps/via/rules.mk b/keyboards/wolf/ryujin/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/wolf/ryujin/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wolf/ryujin/readme.md b/keyboards/wolf/ryujin/readme.md
new file mode 100644
index 0000000000..3f0e0a35e9
--- /dev/null
+++ b/keyboards/wolf/ryujin/readme.md
@@ -0,0 +1,21 @@
+# Ryujin
+
+The following is the QMK Firmware for the Ryujin PCB.
+
+The PCB features:
+* QMK & VIA compatibility
+
+---
+
+* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make wolf/ryujin:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader Enter the bootloader in 3 ways:
+* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/wolf/ryujin/rules.mk b/keyboards/wolf/ryujin/rules.mk
new file mode 100644
index 0000000000..f4ad147581
--- /dev/null
+++ b/keyboards/wolf/ryujin/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+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 = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/wolf/ryujin/ryujin.c b/keyboards/wolf/ryujin/ryujin.c
new file mode 100644
index 0000000000..a2298a546d
--- /dev/null
+++ b/keyboards/wolf/ryujin/ryujin.c
@@ -0,0 +1,14 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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 "ryujin.h"
diff --git a/keyboards/wolf/ryujin/ryujin.h b/keyboards/wolf/ryujin/ryujin.h
new file mode 100644
index 0000000000..bd7a3ecddd
--- /dev/null
+++ b/keyboards/wolf/ryujin/ryujin.h
@@ -0,0 +1,32 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+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"
+
+/* Keymap Definitions */
+#define LAYOUT( \
+ 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, \
+ 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, K3C, K3D, K3E, \
+ K40, K41, K42, K45, 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, KC_NO }, \
+ { 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, K3C, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
+}
diff --git a/keyboards/wolf/sabre/config.h b/keyboards/wolf/sabre/config.h
index 76ec7d6332..57319a134d 100644
--- a/keyboards/wolf/sabre/config.h
+++ b/keyboards/wolf/sabre/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5453 // TS - ToastyStoemp
-#define PRODUCT_ID 0x0055 // Sabre
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER ToastyStoemp
-#define PRODUCT Sabre
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { D0, D1, F1, F0, B5, B6, C7, C6, F6, F7, F4, F5 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B2, B1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wolf/sabre/info.json b/keyboards/wolf/sabre/info.json
index 2e1197de8c..2b8bce97b4 100644
--- a/keyboards/wolf/sabre/info.json
+++ b/keyboards/wolf/sabre/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Sabre",
+ "manufacturer": "ToastyStoemp",
"url": "",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x5453",
+ "pid": "0x0055",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wolf/sabre/readme.md b/keyboards/wolf/sabre/readme.md
index b06217d0ee..694b3e584a 100644
--- a/keyboards/wolf/sabre/readme.md
+++ b/keyboards/wolf/sabre/readme.md
@@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `QK_BOOT`
diff --git a/keyboards/wolf/ts60/config.h b/keyboards/wolf/ts60/config.h
index 4e15ab4cd5..b4d4459bda 100644
--- a/keyboards/wolf/ts60/config.h
+++ b/keyboards/wolf/ts60/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5453 // TS - ToastyStoemp
-#define PRODUCT_ID 0x0050 // TS60
-#define DEVICE_VER 0x0001 // Version 1
-#define MANUFACTURER ToastyStoemp
-#define PRODUCT TS60
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { D2, D3, D6, D4, F6, F7, F5, F0, F4, F1 }
#define MATRIX_COL_PINS { D1, D5, C7, C6, B6, B5, B4, D7}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wolf/ts60/info.json b/keyboards/wolf/ts60/info.json
index d7d3bfe497..d8de822a71 100644
--- a/keyboards/wolf/ts60/info.json
+++ b/keyboards/wolf/ts60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TS60",
+ "manufacturer": "ToastyStoemp",
"url": "https://www.vwolf.be/",
"maintainer": "ToastyStoemp",
+ "usb": {
+ "vid": "0x5453",
+ "pid": "0x0050",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/wolf/ts60/readme.md b/keyboards/wolf/ts60/readme.md
index 6883617cb1..5f1d64937b 100644
--- a/keyboards/wolf/ts60/readme.md
+++ b/keyboards/wolf/ts60/readme.md
@@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `RESET` \ No newline at end of file
+* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` \ No newline at end of file
diff --git a/keyboards/wolfmarkclub/wm1/config.h b/keyboards/wolfmarkclub/wm1/config.h
index ecbdc61eb3..fe338a87ca 100644
--- a/keyboards/wolfmarkclub/wm1/config.h
+++ b/keyboards/wolfmarkclub/wm1/config.h
@@ -17,13 +17,6 @@ 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 0x2B29
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Wolfmark Club
-#define PRODUCT WM1
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/wolfmarkclub/wm1/info.json b/keyboards/wolfmarkclub/wm1/info.json
index 85befd1ec4..3eef787a74 100644
--- a/keyboards/wolfmarkclub/wm1/info.json
+++ b/keyboards/wolfmarkclub/wm1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Wolfmark Club WM1",
+ "keyboard_name": "WM1",
+ "manufacturer": "Wolfmark Club",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x2B29",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":8.75, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":13.75, "y":0}, {"x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":17, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":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":15.25, "y":1, "w":1.5}, {"x":17, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":12.5, "y":2}, {"x":13.5, "y":2}, {"x":14.5, "y":2, "w":2.25}, {"x":17, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3, "w":1.75}, {"x":16.25, "y":3.25}, {"x":0, "y":4, "w":1.5}, {"x":3, "y":4, "w":1.5}, {"x":4.5, "y":4, "w":2}, {"x":6.5, "y":4}, {"x":8, "y":4, "w":2.75}, {"x":10.75, "y":4, "w":1.5}, {"x":13.25, "y":4, "w":1.5}, {"x":15.25, "y":4.25}, {"x":16.25, "y":4.25}, {"x":17.25, "y":4.25}]
diff --git a/keyboards/woodkeys/bigseries/1key/config.h b/keyboards/woodkeys/bigseries/1key/config.h
index f31a7fc057..edb6b318b6 100755
--- a/keyboards/woodkeys/bigseries/1key/config.h
+++ b/keyboards/woodkeys/bigseries/1key/config.h
@@ -19,13 +19,6 @@ 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 0x6071
-#define DEVICE_VER 0x0002
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT BigSeries Single Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0 }
#define MATRIX_COL_PINS { B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/woodkeys/bigseries/1key/info.json b/keyboards/woodkeys/bigseries/1key/info.json
index 4355191d2c..ea99bd3919 100644
--- a/keyboards/woodkeys/bigseries/1key/info.json
+++ b/keyboards/woodkeys/bigseries/1key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Big Series 1-Key",
+ "keyboard_name": "BigSeries 1-Key",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6071",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h
index 30b86224c6..131c755d4a 100644
--- a/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h
+++ b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h
@@ -19,5 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define CONFIG_USER_H
#define TAPPING_TERM 1000
+#define PERMISSIVE_HOLD
#endif
diff --git a/keyboards/woodkeys/bigseries/2key/config.h b/keyboards/woodkeys/bigseries/2key/config.h
index 53866a15d1..6cbad09abf 100755
--- a/keyboards/woodkeys/bigseries/2key/config.h
+++ b/keyboards/woodkeys/bigseries/2key/config.h
@@ -19,13 +19,6 @@ 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 0x6071
-#define DEVICE_VER 0x0002
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT BigSeries Single Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 2
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0 }
#define MATRIX_COL_PINS { B4, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/woodkeys/bigseries/2key/info.json b/keyboards/woodkeys/bigseries/2key/info.json
index df3237defc..794e955ef0 100644
--- a/keyboards/woodkeys/bigseries/2key/info.json
+++ b/keyboards/woodkeys/bigseries/2key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Big Series 2-Key",
+ "keyboard_name": "BigSeries 2-Key",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6071",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/woodkeys/bigseries/3key/config.h b/keyboards/woodkeys/bigseries/3key/config.h
index 4a474cc3d1..b6d6997a96 100755
--- a/keyboards/woodkeys/bigseries/3key/config.h
+++ b/keyboards/woodkeys/bigseries/3key/config.h
@@ -19,13 +19,6 @@ 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 0x6073
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT BigSeries Triple Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0 }
#define MATRIX_COL_PINS { B4, B3, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/woodkeys/bigseries/3key/info.json b/keyboards/woodkeys/bigseries/3key/info.json
index 17f7621480..539f780105 100644
--- a/keyboards/woodkeys/bigseries/3key/info.json
+++ b/keyboards/woodkeys/bigseries/3key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Big Series 3-Key",
+ "keyboard_name": "BigSeries 3-Key",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6073",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/woodkeys/bigseries/4key/config.h b/keyboards/woodkeys/bigseries/4key/config.h
index c1635022de..fa8ff3ff4a 100755
--- a/keyboards/woodkeys/bigseries/4key/config.h
+++ b/keyboards/woodkeys/bigseries/4key/config.h
@@ -19,13 +19,6 @@ 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 0x6074
-#define DEVICE_VER 0x0002
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT BigSeries Quad Keyboard
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B5 }
#define MATRIX_COL_PINS { B4, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/woodkeys/bigseries/4key/info.json b/keyboards/woodkeys/bigseries/4key/info.json
index 4429159a6b..62fa027854 100644
--- a/keyboards/woodkeys/bigseries/4key/info.json
+++ b/keyboards/woodkeys/bigseries/4key/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Big Series 4-Key",
+ "keyboard_name": "BigSeries 4-Key",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6074",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/woodkeys/meira/config.h b/keyboards/woodkeys/meira/config.h
index 999ab1bf8a..557cf1f3ed 100644
--- a/keyboards/woodkeys/meira/config.h
+++ b/keyboards/woodkeys/meira/config.h
@@ -19,13 +19,6 @@ 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 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT Meira
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/woodkeys/meira/featherble/config.h b/keyboards/woodkeys/meira/featherble/config.h
index 44f294a06a..fea16a1308 100644
--- a/keyboards/woodkeys/meira/featherble/config.h
+++ b/keyboards/woodkeys/meira/featherble/config.h
@@ -34,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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
#define QMK_SPEAKER B5
#define AUDIO_PIN B5
diff --git a/keyboards/woodkeys/meira/info.json b/keyboards/woodkeys/meira/info.json
index de9ce42f8e..a8da0c1342 100644
--- a/keyboards/woodkeys/meira/info.json
+++ b/keyboards/woodkeys/meira/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Meira",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "colemarkham",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6061",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_ortho_4x12"
},
diff --git a/keyboards/woodkeys/meira/keymaps/cole/keymap.c b/keyboards/woodkeys/meira/keymaps/cole/keymap.c
index 94806c5da2..a4c6fbfc10 100644
--- a/keyboards/woodkeys/meira/keymaps/cole/keymap.c
+++ b/keyboards/woodkeys/meira/keymaps/cole/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- RESET, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, \
+ QK_BOOT, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, \
BL_STEP, RGB_MOD, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, \
BL_TOGG, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, OUT_AUTO, OUT_USB, OUT_BT \
diff --git a/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c b/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c
index 35fa31b8b8..bd6a7d3434 100644
--- a/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c
+++ b/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c
@@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- _______, RESET, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, KC_DEL, \
+ _______, QK_BOOT, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c b/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c
index 25f50abc49..00ca6a9db9 100644
--- a/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c
+++ b/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c
@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT( \
- BL_TOGG, RESET, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, \
+ BL_TOGG, QK_BOOT, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_PSCR, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, \
BL_STEP, RGB_MOD, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
diff --git a/keyboards/woodkeys/meira/meira.c b/keyboards/woodkeys/meira/meira.c
index e900fd0dd6..87a6d11b4e 100644
--- a/keyboards/woodkeys/meira/meira.c
+++ b/keyboards/woodkeys/meira/meira.c
@@ -79,7 +79,7 @@ void matrix_scan_kb(void)
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// Test code that turns on the switch led for the key that is pressed
// set_backlight_by_keymap(record->event.key.col, record->event.key.row);
- if (keycode == RESET) {
+ if (keycode == QK_BOOT) {
reset_keyboard_kb();
} else {
}
diff --git a/keyboards/woodkeys/meira/promicro/config.h b/keyboards/woodkeys/meira/promicro/config.h
index 1b9b099d1a..c6d79acccc 100644
--- a/keyboards/woodkeys/meira/promicro/config.h
+++ b/keyboards/woodkeys/meira/promicro/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS_SCANNED { B1, B3, B2, B6 }
#define LED_EN_PIN D2
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/woodkeys/scarletbandana/config.h b/keyboards/woodkeys/scarletbandana/config.h
index 3afbfeae84..51b096d361 100644
--- a/keyboards/woodkeys/scarletbandana/config.h
+++ b/keyboards/woodkeys/scarletbandana/config.h
@@ -19,13 +19,6 @@ 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 0x6969
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT Scarlet Bandana Version IV mark.2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/woodkeys/scarletbandana/info.json b/keyboards/woodkeys/scarletbandana/info.json
index c700093194..c13df307dd 100644
--- a/keyboards/woodkeys/scarletbandana/info.json
+++ b/keyboards/woodkeys/scarletbandana/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Scarlet Bandana Version IV Mark 2",
+ "manufacturer": "WoodKeys.click",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6969",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "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":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":17.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.75}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2, "w":2.25}, {"x":17.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":2.25}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.5, "y":3}, {"x":17.5, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.25}, {"x":6.25, "y":4, "w":2.25}, {"x":8.5, "y":4, "w":1.75}, {"x":10.25, "y":4, "w":2.25}, {"x":12.5, "y":4}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}, {"x":16.5, "y":4}, {"x":17.5, "y":4}]
diff --git a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c
index 707e9fa132..b9cf12cd7e 100644
--- a/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c
+++ b/keyboards/woodkeys/scarletbandana/keymaps/default/keymap.c
@@ -20,12 +20,14 @@
extern rgblight_config_t rgblight_config;
#endif
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
diff --git a/keyboards/work_louder/encoder_actions.c b/keyboards/work_louder/encoder_actions.c
deleted file mode 100644
index b41a248a83..0000000000
--- a/keyboards/work_louder/encoder_actions.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2020 Neil Brian Ramirez
- * Copyright 2021 drashna jael're (@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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "encoder_actions.h"
-
-#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
-
-# ifdef ENCODERS
-static uint8_t encoder_state[ENCODERS] = {0};
-static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
-# endif
-
-void encoder_action_unregister(void) {
-# ifdef ENCODERS
- for (int index = 0; index < ENCODERS; ++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);
- }
- }
-# endif
-}
-
-void encoder_action_register(uint8_t index, bool clockwise) {
-# ifdef ENCODERS
- 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);
-# endif
-}
-
-void matrix_scan_kb(void) {
- encoder_action_unregister();
- matrix_scan_user();
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- encoder_action_register(index, clockwise);
- // don't return user actions, because they are in the keymap
- // encoder_update_user(index, clockwise);
- return true;
-};
-
-#endif
diff --git a/keyboards/work_louder/encoder_actions.h b/keyboards/work_louder/encoder_actions.h
deleted file mode 100644
index 2484af52ae..0000000000
--- a/keyboards/work_louder/encoder_actions.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2020 Neil Brian Ramirez
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-
-void encoder_action_unregister(void);
-
-void encoder_action_register(uint8_t index, bool clockwise);
diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h
index b397ec2c1d..32856ecebf 100644
--- a/keyboards/work_louder/loop/config.h
+++ b/keyboards/work_louder/loop/config.h
@@ -19,15 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574C
-#define PRODUCT_ID 0x1DF8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Work Louder
-#define PRODUCT Loop Pad
-
/* key matrix size */
-#define MATRIX_ROWS 2
+#define MATRIX_ROWS 1
#define MATRIX_COLS 12
/*
@@ -41,9 +34,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS \
- { F5, NO_PIN }
+ { F5 }
#define MATRIX_COL_PINS { B3, B2, B1, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -60,7 +52,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define BACKLIGHT_BREATHING
#define RGBLIGHT_DI_PIN E6
-# define RGBLED_NUM 24
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
@@ -202,8 +193,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_A { D0, D2, D5 }
#define ENCODERS_PAD_B { D1, D3, D4 }
-
-#define ENCODERS 3
-
-#define ENCODERS_CW_KEY { { 0, 1 }, { 2, 1 }, { 4, 1 } }
-#define ENCODERS_CCW_KEY { { 1, 1 }, { 3, 1 }, { 5, 1 } }
diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json
index 2190f53512..67b9d1f06d 100644
--- a/keyboards/work_louder/loop/info.json
+++ b/keyboards/work_louder/loop/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "loop",
- "url": "",
+ "keyboard_name": "Loop Pad",
+ "manufacturer": "Work Louder",
+ "url": "https://worklouder.cc/",
"maintainer": "Work Louder",
+ "usb": {
+ "vid": "0x574C",
+ "pid": "0x1DF9"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/work_louder/loop/keymaps/via/keymap.c b/keyboards/work_louder/loop/keymaps/via/keymap.c
index 286c651361..5b35be9cf3 100644
--- a/keyboards/work_louder/loop/keymaps/via/keymap.c
+++ b/keyboards/work_louder/loop/keymaps/via/keymap.c
@@ -15,30 +15,28 @@
*/
#include QMK_KEYBOARD_H
-#define LAYOUT_via( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k00_a, k00_b, k01_a, k01_b, k02_a, k02_b \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k00_a, k00_b, k01_a, k01_b, k02_a, k02_b } \
-}
-
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_via(
- 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),
- KC_VOLU, KC_VOLD, KC_MNXT, KC_MPRV, R_M_MOD, R_M_RMOD
+ [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)
),
- [1] = LAYOUT_via(
- QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______,
- _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ [1] = LAYOUT(
+ QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MO(2), _______
),
- [2] = LAYOUT_via(
- QK_BOOT, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______,
- _______, _______, _______, _______, R_M_MOD, R_M_RMOD
+ [2] = LAYOUT(
+ QK_BOOT, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______
),
- [3] = LAYOUT_via(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
+// clang-format on
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(R_M_RMOD, R_M_MOD) },
+ [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+};
+#endif
diff --git a/keyboards/work_louder/loop/keymaps/via/rules.mk b/keyboards/work_louder/loop/keymaps/via/rules.mk
index 6098ef3ad8..1189f4ad19 100644
--- a/keyboards/work_louder/loop/keymaps/via/rules.mk
+++ b/keyboards/work_louder/loop/keymaps/via/rules.mk
@@ -1,4 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
-
-SRC += encoder_actions.c
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/work_louder/loop/loop.c b/keyboards/work_louder/loop/loop.c
index 5c0d108d19..6b4af7fcb6 100644
--- a/keyboards/work_louder/loop/loop.c
+++ b/keyboards/work_louder/loop/loop.c
@@ -16,7 +16,7 @@
#include "loop.h"
-#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
+#if defined(ENCODER_ENABLE)
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
diff --git a/keyboards/work_louder/loop/loop.h b/keyboards/work_louder/loop/loop.h
index cfc58146d1..a7376881b3 100644
--- a/keyboards/work_louder/loop/loop.h
+++ b/keyboards/work_louder/loop/loop.h
@@ -17,7 +17,6 @@
#pragma once
#include "quantum.h"
-#include "encoder_actions.h"
#include "rgb_functions.h"
/* This is a shortcut to help you visually see your layout.
diff --git a/keyboards/work_louder/loop/rev1/config.h b/keyboards/work_louder/loop/rev1/config.h
new file mode 100644
index 0000000000..1bc02d08a6
--- /dev/null
+++ b/keyboards/work_louder/loop/rev1/config.h
@@ -0,0 +1,6 @@
+// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+# define RGBLED_NUM 24
diff --git a/keyboards/work_louder/loop/rev1/info.json b/keyboards/work_louder/loop/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/work_louder/loop/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/work_louder/loop/rev1/rules.mk b/keyboards/work_louder/loop/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/work_louder/loop/rev1/rules.mk
diff --git a/keyboards/work_louder/loop/rev3/config.h b/keyboards/work_louder/loop/rev3/config.h
new file mode 100644
index 0000000000..5451d4466e
--- /dev/null
+++ b/keyboards/work_louder/loop/rev3/config.h
@@ -0,0 +1,6 @@
+// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RGBLED_NUM 11
diff --git a/keyboards/work_louder/loop/rev3/info.json b/keyboards/work_louder/loop/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/work_louder/loop/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/work_louder/loop/rev3/rules.mk b/keyboards/work_louder/loop/rev3/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/work_louder/loop/rev3/rules.mk
diff --git a/keyboards/work_louder/loop/rules.mk b/keyboards/work_louder/loop/rules.mk
index 6414533ce0..ac0a513785 100644
--- a/keyboards/work_louder/loop/rules.mk
+++ b/keyboards/work_louder/loop/rules.mk
@@ -24,3 +24,5 @@ RGB_MATRIX_DRIVER = WS2812
LTO_ENABLE = yes
SRC += rgb_functions.c
+
+DEFAULT_FOLDER = work_louder/loop/rev3
diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h
new file mode 100644
index 0000000000..a4d5ca2c93
--- /dev/null
+++ b/keyboards/work_louder/micro/config.h
@@ -0,0 +1,89 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+#define RGB_DI_PIN D1
+#define DRIVER_LED_TOTAL 12
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#define RGB_MATRIX_DISABLE_KEYCODES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+#define RGBLIGHT_DI_PIN D2
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9
+#define RGBLIGHT_DEFAULT_HUE 213
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+/* 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 ENCODERS_PAD_A \
+ { D4, B0 }
+#define ENCODERS_PAD_B \
+ { D6, B1 }
+
+#define WORK_LOUDER_LED_PIN_1 B7
+#define WORK_LOUDER_LED_PIN_2 B6
+#define WORK_LOUDER_LED_PIN_3 B5
diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json
new file mode 100644
index 0000000000..3905f226f8
--- /dev/null
+++ b/keyboards/work_louder/micro/info.json
@@ -0,0 +1,64 @@
+{
+ "keyboard_name": "Micro Pad",
+ "manufacturer": "Work Louder",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "encoder": true,
+ "rgblight": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "custom_lite": true,
+ "cols": ["B4", "C6", "C7", "E6"],
+ "rows": ["F1", "F4", "F5", "F6"]
+ },
+ "processor": "atmega32u4",
+ "rgblight": {
+ "animations": {
+ "all": true
+ },
+ "brightness_steps": 8,
+ "hue_steps": 8,
+ "led_count": 8,
+ "max_brightness": 255,
+ "saturation_steps": 8
+ },
+ "url": "https://worklouder.cc/",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0xE6E3",
+ "vid": "0x574C"
+ },
+ "build": {
+ "lto": true
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1.25, "y": 0.25 },
+ { "matrix": [0, 2], "x": 2.25, "y": 0.25 },
+ { "matrix": [0, 3], "x": 3.5, "y": 0 },
+ { "matrix": [1, 0], "x": 0.25, "y": 1.25 },
+ { "matrix": [1, 1], "x": 1.25, "y": 1.25 },
+ { "matrix": [1, 2], "x": 2.25, "y": 1.25 },
+ { "matrix": [1, 3], "x": 3.25, "y": 1.25 },
+ { "matrix": [2, 0], "x": 0.25, "y": 2.25 },
+ { "matrix": [2, 1], "x": 1.25, "y": 2.25 },
+ { "matrix": [2, 2], "x": 2.25, "y": 2.25 },
+ { "matrix": [2, 3], "x": 3.25, "y": 2.25 },
+ { "matrix": [3, 0], "x": 0, "y": 3.5 },
+ { "matrix": [3, 1], "x": 1.25, "y": 3.25 },
+ { "matrix": [3, 2], "x": 2.25, "y": 3.25 },
+ { "matrix": [3, 3], "x": 3.5, "y": 3.5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/work_louder/micro/keymaps/default/keymap.c b/keyboards/work_louder/micro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6b5541e017
--- /dev/null
+++ b/keyboards/work_louder/micro/keymaps/default/keymap.c
@@ -0,0 +1,91 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ LED_LEVEL = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ LAYOUT(
+ KC_MPLY, KC_9, KC_0, KC_NO,
+ KC_5, KC_6, KC_7, KC_8,
+ KC_1, KC_2, KC_3, KC_4,
+ TO(1), KC_DOT, KC_COMM, LED_LEVEL
+ ),
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, KC_8,
+ KC_9, KC_0, KC_A, KC_B,
+ TO(2), KC_C, KC_D, KC_E
+ ),
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, KC_8,
+ KC_9, KC_0, KC_A, KC_B,
+ TO(3), KC_C, KC_D, KC_E
+ ),
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, KC_8,
+ KC_9, KC_0, KC_A, KC_B,
+ TO(0), KC_C, LED_LEVEL,KC_E
+ ),
+
+};
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t led_level : 3;
+ };
+} work_louder_config_t;
+
+work_louder_config_t work_louder_config;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LED_LEVEL:
+ if (record->event.pressed) {
+ work_louder_config.led_level++;
+ if (work_louder_config.led_level > 4) {
+ work_louder_config.led_level = 0;
+ }
+ work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));
+ eeconfig_update_user(work_louder_config.raw);
+ layer_state_set_kb(layer_state);
+ }
+ break;
+ }
+ return true;
+}
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+};
+#endif
+
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ layer_state_cmp(state, 1) ? work_louder_micro_led_1_on(): work_louder_micro_led_1_off();
+ layer_state_cmp(state, 2) ? work_louder_micro_led_2_on(): work_louder_micro_led_2_off();
+ layer_state_cmp(state, 3) ? work_louder_micro_led_3_on(): work_louder_micro_led_3_off();
+
+ return state;
+}
+
+void eeconfig_init_user(void) {
+ work_louder_config.raw = 0;
+ work_louder_config.led_level = 1;
+ eeconfig_update_user(work_louder_config.raw);
+}
+
+void matrix_init_user(void) {
+ work_louder_config.raw = eeconfig_read_user();
+ work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));
+}
diff --git a/keyboards/work_louder/micro/keymaps/default/rules.mk b/keyboards/work_louder/micro/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/work_louder/micro/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/work_louder/micro/keymaps/via/keymap.c b/keyboards/work_louder/micro/keymaps/via/keymap.c
new file mode 100644
index 0000000000..da910af6b2
--- /dev/null
+++ b/keyboards/work_louder/micro/keymaps/via/keymap.c
@@ -0,0 +1,92 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ LAYOUT(
+ KC_MPLY, KC_9, KC_0, KC_NO,
+ KC_5, KC_6, KC_7, KC_8,
+ KC_1, KC_2, KC_3, KC_4,
+ TO(1), KC_DOT, KC_COMM, USER09
+ ),
+ LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ TO(2), _______, _______, _______
+
+ ),
+ LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ TO(3), _______, _______, _______
+ ),
+ LAYOUT(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ TO(0), _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
+
+
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t led_level : 3;
+ };
+} work_louder_config_t;
+
+work_louder_config_t work_louder_config;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+#endif
+
+ switch (keycode) {
+ case USER09:
+ if (record->event.pressed) {
+ work_louder_config.led_level++;
+ if (work_louder_config.led_level > 4) {
+ work_louder_config.led_level = 0;
+ }
+ work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));
+ eeconfig_update_user(work_louder_config.raw);
+ layer_state_set_kb(layer_state);
+ }
+ break;
+ }
+ return true;
+}
+
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ layer_state_cmp(state, 1) ? work_louder_micro_led_1_on(): work_louder_micro_led_1_off();
+ layer_state_cmp(state, 2) ? work_louder_micro_led_2_on(): work_louder_micro_led_2_off();
+ layer_state_cmp(state, 3) ? work_louder_micro_led_3_on(): work_louder_micro_led_3_off();
+
+ return state;
+}
+
+void eeconfig_init_user(void) {
+ work_louder_config.raw = 0;
+ work_louder_config.led_level = 1;
+ eeconfig_update_user(work_louder_config.raw);
+}
+
+void matrix_init_user(void) {
+ work_louder_config.raw = eeconfig_read_user();
+ work_louder_micro_led_all_set((uint8_t)(work_louder_config.led_level * 255 / 4));
+}
diff --git a/keyboards/work_louder/micro/keymaps/via/rules.mk b/keyboards/work_louder/micro/keymaps/via/rules.mk
new file mode 100644
index 0000000000..70cf4224c0
--- /dev/null
+++ b/keyboards/work_louder/micro/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/work_louder/micro/matrix.c b/keyboards/work_louder/micro/matrix.c
new file mode 100644
index 0000000000..d2ae16ad9c
--- /dev/null
+++ b/keyboards/work_louder/micro/matrix.c
@@ -0,0 +1,131 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/*
+ * scan matrix
+ */
+#include <stdint.h>
+#include <stdbool.h>
+#include <avr/io.h>
+#include "wait.h"
+#include "print.h"
+#include "debug.h"
+#include "util.h"
+#include "matrix.h"
+#include "debounce.h"
+#include QMK_KEYBOARD_H
+
+/* matrix state(1:on, 0:off) */
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+
+static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
+static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
+#define MATRIX_ROW_SHIFTER ((matrix_row_t)1)
+
+static inline void setPinOutput_writeLow(pin_t pin) {
+ ATOMIC_BLOCK_FORCEON {
+ setPinOutput(pin);
+ writePinLow(pin);
+ }
+}
+
+static inline void setPinOutput_writeHigh(pin_t pin) {
+ ATOMIC_BLOCK_FORCEON {
+ setPinOutput(pin);
+ writePinHigh(pin);
+ }
+}
+
+static inline void setPinInputHigh_atomic(pin_t pin) {
+ ATOMIC_BLOCK_FORCEON {
+ setPinInputHigh(pin);
+ }
+}
+
+static inline uint8_t readMatrixPin(pin_t pin) {
+ if (pin != NO_PIN) {
+ return readPin(pin);
+ } else {
+ return 1;
+ }
+}
+
+static bool select_row(uint8_t row) {
+ pin_t pin = row_pins[row];
+ if (pin != NO_PIN) {
+ setPinOutput_writeLow(pin);
+ return true;
+ }
+ return false;
+}
+
+static void unselect_row(uint8_t row) {
+ pin_t pin = row_pins[row];
+ if (pin != NO_PIN) {
+ setPinInputHigh_atomic(pin);
+ }
+}
+
+static void unselect_rows(void) {
+ for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ unselect_row(x);
+ }
+}
+
+__attribute__((weak)) void matrix_init_custom(void) {
+ unselect_rows();
+ for (uint8_t x = 0; x < MATRIX_COLS; x++) {
+ if (col_pins[x] != NO_PIN) {
+ setPinInputHigh_atomic(col_pins[x]);
+ }
+ }
+ setPinInputHigh_atomic(F7);
+ setPinInputHigh_atomic(F0);
+}
+
+void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
+ // Start with a clear matrix row
+ matrix_row_t current_row_value = 0;
+
+ if (!select_row(current_row)) { // Select row
+ return; // skip NO_PIN row
+ }
+ matrix_output_select_delay();
+
+ // For each col...
+ matrix_row_t row_shifter = MATRIX_ROW_SHIFTER;
+ for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++, row_shifter <<= 1) {
+ uint8_t pin_state = 0;
+ if (current_row == 3 && col_index == 0) {
+ pin_state = !readMatrixPin(F7);
+ } else if (current_row == 3 && col_index == 3) {
+ pin_state = !readMatrixPin(F0);
+ } else {
+ pin_state = readMatrixPin(col_pins[col_index]);
+ }
+ // Populate the matrix row with the state of the col pin
+ current_row_value |= pin_state ? 0 : row_shifter;
+ }
+
+ // Unselect row
+ unselect_row(current_row);
+ matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH
+
+ // Update the matrix
+ current_matrix[current_row] = current_row_value;
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ static matrix_row_t temp_matrix[MATRIX_ROWS] = {0};
+
+ for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
+ matrix_read_cols_on_row(temp_matrix, current_row);
+ }
+
+ bool changed = memcmp(current_matrix, temp_matrix, sizeof(temp_matrix)) != 0;
+ if (changed) {
+ memcpy(current_matrix, temp_matrix, sizeof(temp_matrix));
+ }
+ return changed;
+}
diff --git a/keyboards/work_louder/micro/micro.c b/keyboards/work_louder/micro/micro.c
new file mode 100644
index 0000000000..80d3927417
--- /dev/null
+++ b/keyboards/work_louder/micro/micro.c
@@ -0,0 +1,170 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#if defined(RGB_MATRIX_ENABLE)
+// clang-format off
+led_config_t g_led_config = { {
+ { NO_LED, 10, 11, NO_LED },
+ { 9 , 8, 7, 6 },
+ { 2, 3, 4, 5 },
+ { NO_LED, 1, 0, NO_LED }
+ }, {
+ { 122, 64 }, { 103, 64 },
+ { 84, 45 }, { 103, 45 }, { 133, 45 }, { 152, 45 },
+ { 152, 26 }, { 122, 26 }, { 103, 26 }, { 84, 26 },
+ { 103, 7 }, { 122, 7 }
+ },
+ {
+ 4, 4,
+ 4, 4, 4, 4,
+ 4, 4, 4, 4,
+ 4, 4
+ }
+};
+// clang-format on
+#endif
+
+#if defined(ENCODER_ENABLE)
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code_delay(KC_WH_U, 10);
+ } else {
+ tap_code_delay(KC_WH_D, 10);
+ }
+ }
+ return true;
+}
+#endif
+
+void work_louder_micro_led_1_on(void) {
+ writePin(WORK_LOUDER_LED_PIN_1, true);
+}
+void work_louder_micro_led_2_on(void) {
+ writePin(WORK_LOUDER_LED_PIN_2, true);
+}
+void work_louder_micro_led_3_on(void) {
+ writePin(WORK_LOUDER_LED_PIN_3, true);
+}
+
+void work_louder_micro_led_1_off(void) {
+ writePin(WORK_LOUDER_LED_PIN_1, false);
+}
+void work_louder_micro_led_2_off(void) {
+ writePin(WORK_LOUDER_LED_PIN_2, false);
+}
+void work_louder_micro_led_3_off(void) {
+ writePin(WORK_LOUDER_LED_PIN_3, false);
+}
+
+void work_louder_micro_led_all_on(void) {
+ work_louder_micro_led_1_on();
+ work_louder_micro_led_2_on();
+ work_louder_micro_led_3_on();
+}
+
+void work_louder_micro_led_all_off(void) {
+ work_louder_micro_led_1_off();
+ work_louder_micro_led_2_off();
+ work_louder_micro_led_3_off();
+}
+
+void work_louder_micro_led_1_set(uint8_t n) {
+#if WORK_LOUDER_LED_PIN_1 == B7
+ OCR1C = n;
+#else
+ n ? work_louder_micro_led_1_on() : work_louder_micro_led_1_off();
+#endif
+}
+void work_louder_micro_led_2_set(uint8_t n) {
+#if WORK_LOUDER_LED_PIN_2 == B6
+ OCR1B = n;
+#else
+ n ? work_louder_micro_led_2_on() : work_louder_micro_led_2_off();
+#endif
+}
+void work_louder_micro_led_3_set(uint8_t n) {
+#if WORK_LOUDER_LED_PIN_3 == B5
+ OCR1A = n;
+#else
+ n ? work_louder_micro_led_3_on() : work_louder_micro_led_3_off();
+#endif
+}
+
+void work_louder_micro_led_all_set(uint8_t n) {
+ work_louder_micro_led_1_set(n);
+ work_louder_micro_led_2_set(n);
+ work_louder_micro_led_3_set(n);
+}
+
+#ifdef DEFER_EXEC_ENABLE
+uint32_t startup_animation(uint32_t trigger_time, void *cb_arg) {
+ static uint8_t index = 0;
+
+ switch (index) {
+ case 0:
+ work_louder_micro_led_1_on();
+ break;
+ case 1:
+ work_louder_micro_led_2_on();
+ break;
+ case 2:
+ work_louder_micro_led_3_on();
+ break;
+ case 3:
+ work_louder_micro_led_1_off();
+ break;
+ case 4:
+ work_louder_micro_led_2_off();
+ break;
+ case 5:
+ work_louder_micro_led_3_off();
+ break;
+ default:
+ return 0;
+ }
+ index++;
+ return 100;
+}
+#endif
+
+void matrix_init_kb(void) {
+
+ setPinOutput(WORK_LOUDER_LED_PIN_1); // left led
+ writePin(WORK_LOUDER_LED_PIN_1, false);
+ setPinOutput(WORK_LOUDER_LED_PIN_2); // middle led
+ writePin(WORK_LOUDER_LED_PIN_2, false);
+ setPinOutput(WORK_LOUDER_LED_PIN_3); // right led
+ writePin(WORK_LOUDER_LED_PIN_3, false);
+
+#ifdef DEFER_EXEC_ENABLE
+ defer_exec(500, startup_animation, NULL);
+#else
+ wait_ms(500);
+ work_louder_micro_led_1_on();
+ wait_ms(100);
+ work_louder_micro_led_2_on();
+ wait_ms(100);
+ work_louder_micro_led_3_on();
+ wait_ms(100);
+ work_louder_micro_led_1_off();
+ wait_ms(100);
+ work_louder_micro_led_2_off();
+ wait_ms(100);
+ work_louder_micro_led_3_off();
+ wait_ms(200);
+#endif
+ matrix_init_user();
+
+}
diff --git a/keyboards/work_louder/micro/micro.h b/keyboards/work_louder/micro/micro.h
new file mode 100644
index 0000000000..715b09eb33
--- /dev/null
+++ b/keyboards/work_louder/micro/micro.h
@@ -0,0 +1,22 @@
+// Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+extern void work_louder_micro_led_1_on(void);
+extern void work_louder_micro_led_2_on(void);
+extern void work_louder_micro_led_3_on(void);
+
+extern void work_louder_micro_led_1_off(void);
+extern void work_louder_micro_led_2_off(void);
+extern void work_louder_micro_led_3_off(void);
+
+extern void work_louder_micro_led_all_on(void);
+
+extern void work_louder_micro_led_all_off(void);
+
+extern void work_louder_micro_led_1_set(uint8_t n);
+extern void work_louder_micro_led_2_set(uint8_t n);
+extern void work_louder_micro_led_3_set(uint8_t n);
+
+extern void work_louder_micro_led_all_set(uint8_t n);
diff --git a/keyboards/work_louder/micro/readme.md b/keyboards/work_louder/micro/readme.md
new file mode 100644
index 0000000000..568980e57b
--- /dev/null
+++ b/keyboards/work_louder/micro/readme.md
@@ -0,0 +1,26 @@
+# work_louder/micro
+
+![work_louder/micro](https://i.imgur.com/4Hdt41Gh.jpg)
+
+A 16 "key" macro pad, with dual encoders, per key RGB, RGB underglow and more
+
+* Keyboard Maintainer: [Drashna Jael're](https://github.com/Drashna Jael're)
+* Hardware Supported: atmega32u4 based PCB
+* Hardware Availability: [Work Louder shop](https://worklouder.cc/creator-micro/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make work_louder/micro:default
+
+Flashing example for this keyboard:
+
+ make work_louder/micro:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the horizontal encoder (top left) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
diff --git a/keyboards/work_louder/micro/rules.mk b/keyboards/work_louder/micro/rules.mk
new file mode 100644
index 0000000000..757b87cfe4
--- /dev/null
+++ b/keyboards/work_louder/micro/rules.mk
@@ -0,0 +1,6 @@
+RGB_MATRIX_DRIVER = WS2812
+
+SRC += rgb_functions.c \
+ matrix.c
+
+DEFERRED_EXEC_ENABLE = yes
diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h
index 4e03f0a897..7a7d03b8a3 100644
--- a/keyboards/work_louder/nano/config.h
+++ b/keyboards/work_louder/nano/config.h
@@ -19,16 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574C
-#define PRODUCT_ID 0xE6EF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Work Louder
-#define PRODUCT Nano Pad
-
/* key matrix size */
#define MATRIX_ROWS 1
-#define MATRIX_COLS 5
+#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
@@ -43,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS \
{ F7 }
#define MATRIX_COL_PINS \
- { B5, B6, C6, NO_PIN, NO_PIN }
+ { B5, B6, C6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -202,14 +195,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ D7 }
#define ENCODERS_PAD_B \
{ B4 }
-
-#define ENCODERS 1
-
-#define ENCODERS_CW_KEY \
- { \
- { 3, 0 } \
- }
-#define ENCODERS_CCW_KEY \
- { \
- { 4, 0 } \
- }
diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json
index a80ef21d63..46b083d0ef 100644
--- a/keyboards/work_louder/nano/info.json
+++ b/keyboards/work_louder/nano/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "nano",
- "url": "",
+ "keyboard_name": "Nano Pad",
+ "manufacturer": "Work Louder",
+ "url": "https://worklouder.cc/",
"maintainer": "Work Louder",
+ "usb": {
+ "vid": "0x574C",
+ "pid": "0xE6F0",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/work_louder/nano/keymaps/via/keymap.c b/keyboards/work_louder/nano/keymaps/via/keymap.c
index 07451f52b2..84c5895d5e 100644
--- a/keyboards/work_louder/nano/keymaps/via/keymap.c
+++ b/keyboards/work_louder/nano/keymaps/via/keymap.c
@@ -15,31 +15,28 @@
*/
#include QMK_KEYBOARD_H
-
-#define LAYOUT_via( \
- k00, k01, k02, \
- k00_a, k00_b \
-) { \
- { k00, k01, k02, k00_a, k00_b } \
-}
-
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
- [0] = LAYOUT_via(
- KC_PSCR, MACRO00, MO(1),
- KC_PGDN, KC_PGUP
+ [0] = LAYOUT(
+ TG(1), C(KC_C), C(KC_V)
),
- [1] = LAYOUT_via(
- QK_BOOT, MACRO01, _______,
- _______, _______
+ [1] = LAYOUT(
+ TG(1) , G(KC_C), G(KC_V)
),
- [2] = LAYOUT_via(
- _______, _______, _______,
- _______, _______
+ [2] = LAYOUT(
+ _______, _______, _______
),
- [3] = LAYOUT_via(
- _______, _______, _______,
- _______, _______
+ [3] = LAYOUT(
+ _______, _______, _______
)
};
+
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
+ [1] = { ENCODER_CCW_CW(G(KC_Z), G(S(KC_Z))) },
+ [2] = { ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/work_louder/nano/keymaps/via/rules.mk b/keyboards/work_louder/nano/keymaps/via/rules.mk
index 6098ef3ad8..1189f4ad19 100644
--- a/keyboards/work_louder/nano/keymaps/via/rules.mk
+++ b/keyboards/work_louder/nano/keymaps/via/rules.mk
@@ -1,4 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
-
-SRC += encoder_actions.c
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/work_louder/nano/nano.c b/keyboards/work_louder/nano/nano.c
index 62d44ef133..96b633aa79 100644
--- a/keyboards/work_louder/nano/nano.c
+++ b/keyboards/work_louder/nano/nano.c
@@ -16,7 +16,7 @@
#include "nano.h"
-#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
+#if defined(ENCODER_ENABLE)
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (clockwise) {
diff --git a/keyboards/work_louder/nano/nano.h b/keyboards/work_louder/nano/nano.h
index 6230d75ab7..cc152b8ccc 100644
--- a/keyboards/work_louder/nano/nano.h
+++ b/keyboards/work_louder/nano/nano.h
@@ -17,7 +17,6 @@
#pragma once
#include "quantum.h"
-#include "encoder_actions.h"
#include "rgb_functions.h"
/* This is a shortcut to help you visually see your layout.
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index c9106b3976..d0cb93ccbc 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -18,159 +18,15 @@
#include "rgb_functions.h"
#ifdef RGBLIGHT_ENABLE
-# include "ws2812.h"
-# include <avr/interrupt.h>
-# include <avr/io.h>
-# include <util/delay.h>
+#undef RGB_DI_PIN
+#define RGB_DI_PIN RGBLIGHT_DI_PIN
-# define pinmask(pin) (_BV((pin)&0xF))
+#define ws2812_setleds ws2812_rgb_setleds
-/*
- * Forward declare internal functions
- *
- * The functions take a byte-array and send to the data output as WS2812 bitstream.
- * The length is the number of bytes to send - three per LED.
- */
-
-static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi);
-
-/*
- This routine writes an array of bytes with RGB values to the Dataout pin
- using the fast 800kHz clockless WS2811/2812 protocol.
-*/
-
-// Timing in ns
-# define w_zeropulse 350
-# define w_onepulse 900
-# define w_totalperiod 1250
-
-// Fixed cycles used by the inner loop
-# define w_fixedlow 2
-# define w_fixedhigh 4
-# define w_fixedtotal 8
-
-// Insert NOPs to match the timing, if possible
-# define w_zerocycles (((F_CPU / 1000) * w_zeropulse) / 1000000)
-# define w_onecycles (((F_CPU / 1000) * w_onepulse + 500000) / 1000000)
-# define w_totalcycles (((F_CPU / 1000) * w_totalperiod + 500000) / 1000000)
-
-// w1_nops - nops between rising edge and falling edge - low
-# if w_zerocycles >= w_fixedlow
-# define w1_nops (w_zerocycles - w_fixedlow)
-# else
-# define w1_nops 0
-# endif
-
-// w2_nops - nops between fe low and fe high
-# if w_onecycles >= (w_fixedhigh + w1_nops)
-# define w2_nops (w_onecycles - w_fixedhigh - w1_nops)
-# else
-# define w2_nops 0
-# endif
-
-// w3_nops - nops to complete loop
-# if w_totalcycles >= (w_fixedtotal + w1_nops + w2_nops)
-# define w3_nops (w_totalcycles - w_fixedtotal - w1_nops - w2_nops)
-# else
-# define w3_nops 0
-# endif
-
-// The only critical timing parameter is the minimum pulse length of the "0"
-// Warn or throw error if this timing can not be met with current F_CPU settings.
-# define w_lowtime ((w1_nops + w_fixedlow) * 1000000) / (F_CPU / 1000)
-# if w_lowtime > 550
-# error "Light_ws2812: Sorry, the clock speed is too low. Did you set F_CPU correctly?"
-# elif w_lowtime > 450
-# warning "Light_ws2812: The timing is critical and may only work on WS2812B, not on WS2812(S)."
-# warning "Please consider a higher clockspeed, if possible"
-# endif
-
-# define w_nop1 "nop \n\t"
-# define w_nop2 "rjmp .+0 \n\t"
-# define w_nop4 w_nop2 w_nop2
-# define w_nop8 w_nop4 w_nop4
-# define w_nop16 w_nop8 w_nop8
-
-static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi) {
- uint8_t curbyte, ctr, sreg_prev;
-
- sreg_prev = SREG;
- cli();
-
- while (datlen--) {
- curbyte = (*data++);
-
- asm volatile(" ldi %0,8 \n\t"
- "loop%=: \n\t"
- " out %2,%3 \n\t" // '1' [01] '0' [01] - re
-# if (w1_nops & 1)
- w_nop1
-# endif
-# if (w1_nops & 2)
- w_nop2
-# endif
-# if (w1_nops & 4)
- w_nop4
-# endif
-# if (w1_nops & 8)
- w_nop8
-# endif
-# if (w1_nops & 16)
- w_nop16
-# endif
- " sbrs %1,7 \n\t" // '1' [03] '0' [02]
- " out %2,%4 \n\t" // '1' [--] '0' [03] - fe-low
- " lsl %1 \n\t" // '1' [04] '0' [04]
-# if (w2_nops & 1)
- w_nop1
-# endif
-# if (w2_nops & 2)
- w_nop2
-# endif
-# if (w2_nops & 4)
- w_nop4
-# endif
-# if (w2_nops & 8)
- w_nop8
-# endif
-# if (w2_nops & 16)
- w_nop16
-# endif
- " out %2,%4 \n\t" // '1' [+1] '0' [+1] - fe-high
-# if (w3_nops & 1)
- w_nop1
-# endif
-# if (w3_nops & 2)
- w_nop2
-# endif
-# if (w3_nops & 4)
- w_nop4
-# endif
-# if (w3_nops & 8)
- w_nop8
-# endif
-# if (w3_nops & 16)
- w_nop16
-# endif
-
- " dec %0 \n\t" // '1' [+2] '0' [+2]
- " brne loop%=\n\t" // '1' [+3] '0' [+4]
- : "=&d"(ctr)
- : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGBLIGHT_DI_PIN))), "r"(maskhi), "r"(masklo));
- }
-
- SREG = sreg_prev;
-}
+#include "ws2812.c"
void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) {
- DDRx_ADDRESS(RGBLIGHT_DI_PIN) |= pinmask(RGBLIGHT_DI_PIN);
-
- uint8_t masklo = ~(pinmask(RGBLIGHT_DI_PIN)) & PORTx_ADDRESS(RGBLIGHT_DI_PIN);
- uint8_t maskhi = pinmask(RGBLIGHT_DI_PIN) | PORTx_ADDRESS(RGBLIGHT_DI_PIN);
-
- ws2812_sendarray_mask((uint8_t *)start_led, num_leds * sizeof(LED_TYPE), masklo, maskhi);
-
- _delay_us(WS2812_TRST_US);
+ ws2812_setleds(start_led, num_leds);
}
#endif
diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h
index 106184b7de..b22fba4693 100644
--- a/keyboards/work_louder/work_board/config.h
+++ b/keyboards/work_louder/work_board/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x574C
-#define PRODUCT_ID 0xDCD0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Work Louder
-#define PRODUCT Work Board
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13
@@ -44,13 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F0, F1, F4, F5 }
#define MATRIX_COL_PINS \
{ D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, E6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
#define RGBLIGHT_DI_PIN D2
-#define RGBLED_NUM 26
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
@@ -132,6 +123,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set
+#define RGB_MATRIX_STARTUP_HUE 191 // Sets the default hue value, if none has been set
+
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
@@ -190,17 +185,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B \
{ B1 }
-#define ENCODERS 1
-
-#define ENCODERS_CW_KEY \
- { \
- { 12, 1 } \
- }
-#define ENCODERS_CCW_KEY \
- { \
- { 12, 2 } \
- }
-
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json
index 7ee3f576e7..570e5c21db 100644
--- a/keyboards/work_louder/work_board/info.json
+++ b/keyboards/work_louder/work_board/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "work board",
- "url": "",
+ "keyboard_name": "Work Board",
+ "manufacturer": "Work Louder",
+ "url": "https://worklouder.cc/",
"maintainer": "Work Louder",
+ "usb": {
+ "vid": "0x574C",
+ "pid": "0xDCD1"
+ },
"layouts": {
"LAYOUT_2u_space": {
"layout": [
diff --git a/keyboards/work_louder/work_board/keymaps/default/keymap.c b/keyboards/work_louder/work_board/keymaps/default/keymap.c
index 59bb437d9d..3489274fea 100644
--- a/keyboards/work_louder/work_board/keymaps/default/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/default/keymap.c
@@ -18,19 +18,11 @@
enum planck_layers {
_QWERTY,
- _COLEMAK,
- _DVORAK,
_LOWER,
_RAISE,
_ADJUST
};
-enum planck_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
-};
-
enum tap_dances {
ENC_TAP,
};
@@ -39,117 +31,33 @@ enum tap_dances {
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, TD(ENC_TAP),
- 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_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, _______,
- KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Esc | " | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT(
- KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, _______,
- KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______,
- KC_DEL, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, _______,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-
-/* Adjust (Lower + Raise)
- * v------------------------RGB CONTROL--------------------v
- * ,-----------------------------------------------------------------------------------.
- * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______,
- _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
+ [_QWERTY] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, TD(ENC_TAP),
+ 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_UP, KC_ENT,
+ MO(3), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_LOWER] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______,
+ KC_DEL, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ [_RAISE] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, _______,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ [_ADJUST] = LAYOUT(
+ _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , R_M_TOG,
+ _______, _______, MU_MOD, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
};
@@ -181,27 +89,3 @@ qk_tap_dance_action_t tap_dance_actions[] = {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/work_louder/work_board/keymaps/via/keymap.c b/keyboards/work_louder/work_board/keymaps/via/keymap.c
index fff7248afa..d39c5f405d 100644
--- a/keyboards/work_louder/work_board/keymaps/via/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/via/keymap.c
@@ -30,50 +30,34 @@ enum tap_dances {
#define LOWER FN_MO13
#define RAISE FN_MO23
-#define LAYOUT_via( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k0c_a, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k0c_b, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k0c_a }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k0c_b }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___ } \
-}
-
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_via(
+ [_QWERTY] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, USER09,
- 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_VOLU,
- 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_VOLD,
- KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ 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,
+ MO(3), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-
- [_LOWER] = LAYOUT_via(
- KC_TILD, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGDN,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ [_LOWER] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______,
+ KC_DEL, 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, S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
+ _______, _______, _______, MACRO_1, _______, MACRO_0, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
- [_RAISE] = LAYOUT_via(
+ [_RAISE] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, _______,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_DOWN,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, KC_UP,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
-
- [_ADJUST] = LAYOUT_via(
- _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , R_M_TOG,
- _______, _______, MU_MOD, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, R_M_HUI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, R_M_HUD,
+ [_ADJUST] = LAYOUT(
+ _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, R_M_TOG,
+ _______, _______, MU_MOD, R_M_TOG, R_M_MOD, _______, _______, _______, _______, R_M_SAI, R_M_HUI, R_M_MOD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, R_M_SAD, R_M_HUD, R_M_RMOD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
-// clang-format on
+
void dance_enc_finished(qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
@@ -127,3 +111,12 @@ layer_state_t layer_state_set_user(layer_state_t state) {
return state;
}
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_RAISE] = { ENCODER_CCW_CW(R_M_RMOD, R_M_MOD) },
+ [_ADJUST] = { ENCODER_CCW_CW(R_M_HUI, R_M_HUD) },
+};
+#endif
diff --git a/keyboards/work_louder/work_board/keymaps/via/rules.mk b/keyboards/work_louder/work_board/keymaps/via/rules.mk
index 7964f4279c..bdad0201e1 100644
--- a/keyboards/work_louder/work_board/keymaps/via/rules.mk
+++ b/keyboards/work_louder/work_board/keymaps/via/rules.mk
@@ -1,4 +1,3 @@
VIA_ENABLE = yes
TAP_DANCE_ENABLE = yes
-
-SRC += encoder_actions.c
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/work_louder/work_board/rev1/config.h b/keyboards/work_louder/work_board/rev1/config.h
new file mode 100644
index 0000000000..b7d85d490d
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev1/config.h
@@ -0,0 +1,6 @@
+// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+# define RGBLED_NUM 26
diff --git a/keyboards/work_louder/work_board/rev1/info.json b/keyboards/work_louder/work_board/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/work_louder/work_board/rev1/rules.mk b/keyboards/work_louder/work_board/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev1/rules.mk
diff --git a/keyboards/work_louder/work_board/rev3/config.h b/keyboards/work_louder/work_board/rev3/config.h
new file mode 100644
index 0000000000..8e3cd8bce8
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev3/config.h
@@ -0,0 +1,6 @@
+// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RGBLED_NUM 19
diff --git a/keyboards/work_louder/work_board/rev3/info.json b/keyboards/work_louder/work_board/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/work_louder/work_board/rev3/rules.mk b/keyboards/work_louder/work_board/rev3/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/work_louder/work_board/rev3/rules.mk
diff --git a/keyboards/work_louder/work_board/rules.mk b/keyboards/work_louder/work_board/rules.mk
index ddbd9618d0..b89d0adf1e 100644
--- a/keyboards/work_louder/work_board/rules.mk
+++ b/keyboards/work_louder/work_board/rules.mk
@@ -23,3 +23,5 @@ RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
SRC += rgb_functions.c
+
+DEFAULT_FOLDER = work_louder/work_board/rev3
diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c
index d25ea0cdba..bd969f3009 100644
--- a/keyboards/work_louder/work_board/work_board.c
+++ b/keyboards/work_louder/work_board/work_board.c
@@ -16,7 +16,7 @@
#include "work_board.h"
-#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
+#if defined(ENCODER_ENABLE)
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
diff --git a/keyboards/work_louder/work_board/work_board.h b/keyboards/work_louder/work_board/work_board.h
index f1bc74b704..284eecc430 100644
--- a/keyboards/work_louder/work_board/work_board.h
+++ b/keyboards/work_louder/work_board/work_board.h
@@ -17,7 +17,6 @@
#pragma once
#include "quantum.h"
-#include "encoder_actions.h"
#include "rgb_functions.h"
#define ___ KC_NO
diff --git a/keyboards/wren/config.h b/keyboards/wren/config.h
index 13e69804bc..119233ad9f 100644
--- a/keyboards/wren/config.h
+++ b/keyboards/wren/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Walter Hanley
-#define PRODUCT wren
-
/* key matrix size */
// Rows are doubled-up (Bottom set of rows are used for the right half)
#define MATRIX_ROWS 10
@@ -43,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D3, D2, C6, D4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, D7, F0 }
-#define UNUSED_PINS
// define encoders
#define ENCODERS_PAD_A \
diff --git a/keyboards/wren/info.json b/keyboards/wren/info.json
index 8aaddc65b3..c551ce6179 100644
--- a/keyboards/wren/info.json
+++ b/keyboards/wren/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "wren",
+ "manufacturer": "Walter Hanley",
"maintainer": "walterhanley",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/wren/readme.md b/keyboards/wren/readme.md
index 8de95734d6..233a74d489 100644
--- a/keyboards/wren/readme.md
+++ b/keyboards/wren/readme.md
@@ -24,4 +24,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the button on the front of the PCB below the microcontroler
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/wsk/alpha9/config.h b/keyboards/wsk/alpha9/config.h
index 0b09ba92a7..8957b1e6b3 100644
--- a/keyboards/wsk/alpha9/config.h
+++ b/keyboards/wsk/alpha9/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5753 // "WS" - Worldspawn00
-#define PRODUCT_ID 0x692A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Alpha9
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 13
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, B4, B5 }
#define MATRIX_COL_PINS { D7, E6, C6, B6, B2, B3, B1, F7, F6, F5, D1, D0, D2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/alpha9/info.json b/keyboards/wsk/alpha9/info.json
index 7ee04515e1..d335959b32 100644
--- a/keyboards/wsk/alpha9/info.json
+++ b/keyboards/wsk/alpha9/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Alpha9",
+ "manufacturer": "Worldspawn00",
"url": "",
"maintainer": "Worldspawn00",
+ "usb": {
+ "vid": "0x5753",
+ "pid": "0x692A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"7", "x":0, "y":0}, {"label":"8", "x":1, "y":0}, {"label":"9", "x":2, "y":0}, {"label":"Q", "x":3.5, "y":0}, {"label":"W", "x":4.5, "y":0}, {"label":"E", "x":5.5, "y":0}, {"label":"R", "x":6.5, "y":0}, {"label":"T", "x":7.5, "y":0}, {"label":"Y", "x":8.5, "y":0}, {"label":"U", "x":9.5, "y":0}, {"label":"I", "x":10.5, "y":0}, {"label":"O", "x":11.5, "y":0}, {"label":"P", "x":12.5, "y":0}, {"label":"4", "x":0, "y":1}, {"label":"5", "x":1, "y":1}, {"label":"6", "x":2, "y":1}, {"label":"A", "x":3.5, "y":1}, {"label":"S", "x":4.5, "y":1}, {"label":"D", "x":5.5, "y":1}, {"label":"F", "x":6.5, "y":1}, {"label":"G", "x":7.5, "y":1}, {"label":"H", "x":8.5, "y":1}, {"label":"J", "x":9.5, "y":1}, {"label":"K", "x":10.5, "y":1}, {"label":"L", "x":11.5, "y":1}, {"label":"Enter", "x":12.5, "y":1}, {"label":"1", "x":0, "y":2}, {"label":"2", "x":1, "y":2}, {"label":"3", "x":2, "y":2}, {"label":"Z", "x":4, "y":2}, {"label":"X", "x":5, "y":2}, {"label":"C", "x":6, "y":2}, {"label":"V", "x":7, "y":2}, {"x":8, "y":2, "w":2}, {"label":"B", "x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}]
diff --git a/keyboards/wsk/g4m3ralpha/config.h b/keyboards/wsk/g4m3ralpha/config.h
index 071b6ac04f..993ddde53d 100644
--- a/keyboards/wsk/g4m3ralpha/config.h
+++ b/keyboards/wsk/g4m3ralpha/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5753 // "WS" - Worldspawn00
-#define PRODUCT_ID 0x56D9
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT G4M3Ralpha
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 10
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, B4, B5, D1 }
#define MATRIX_COL_PINS { D7, E6, C6, B6, B2, B3, B1, F7, F6, F5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/g4m3ralpha/info.json b/keyboards/wsk/g4m3ralpha/info.json
index 532bbf37b0..109da40b52 100644
--- a/keyboards/wsk/g4m3ralpha/info.json
+++ b/keyboards/wsk/g4m3ralpha/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "G4M3R Alpha",
+ "keyboard_name": "G4M3Ralpha",
+ "manufacturer": "Worldspawn00",
"url": "",
"maintainer": "Worldspawn00",
+ "usb": {
+ "vid": "0x5753",
+ "pid": "0x56D9",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"!", "x":0.5, "y":0}, {"label":"@", "x":1.5, "y":0}, {"label":"#", "x":2.5, "y":0}, {"label":"$", "x":3.5, "y":0}, {"label":"%", "x":4.5, "y":0}, {"label":"Q", "x":0, "y":1}, {"label":"W", "x":1, "y":1}, {"label":"E", "x":2, "y":1}, {"label":"R", "x":3, "y":1}, {"label":"T", "x":4, "y":1}, {"label":"Y", "x":5, "y":1}, {"label":"U", "x":6, "y":1}, {"label":"I", "x":7, "y":1}, {"label":"O", "x":8, "y":1}, {"label":"P", "x":9, "y":1}, {"label":"A", "x":0, "y":2}, {"label":"S", "x":1, "y":2}, {"label":"D", "x":2, "y":2}, {"label":"F", "x":3, "y":2}, {"label":"G", "x":4, "y":2}, {"label":"H", "x":5, "y":2}, {"label":"J", "x":6, "y":2}, {"label":"K", "x":7, "y":2}, {"label":"L", "x":8, "y":2}, {"label":"Enter", "x":9, "y":2}, {"label":"Z", "x":0.5, "y":3}, {"label":"X", "x":1.5, "y":3}, {"label":"C", "x":2.5, "y":3}, {"label":"V", "x":3.5, "y":3}, {"x":4.5, "y":3, "w":2}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}]
diff --git a/keyboards/wsk/gothic50/config.h b/keyboards/wsk/gothic50/config.h
index 1a40a71dc9..61d2c33f79 100644
--- a/keyboards/wsk/gothic50/config.h
+++ b/keyboards/wsk/gothic50/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x04EF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Gothic50
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -17,7 +10,6 @@
#define MATRIX_ROW_PINS { B5, B4, D7, D6 }
#define MATRIX_COL_PINS { E6, F0, F1, C7, C6, B6, D4, D5, D3, D2, D1, D0, B7, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/gothic50/info.json b/keyboards/wsk/gothic50/info.json
index f30c860c5c..04e4ac501f 100644
--- a/keyboards/wsk/gothic50/info.json
+++ b/keyboards/wsk/gothic50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gothic50",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x04EF",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":8.25, "y":0}, {"label":"U", "x":9.25, "y":0}, {"label":"I", "x":10.25, "y":0}, {"label":"O", "x":11.25, "y":0}, {"label":"P", "x":12.25, "y":0}, {"label":"{", "x":13.25, "y":0}, {"label":"}", "x":14.25, "y":0}, {"x":15.5, "y":0}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":8.5, "y":1}, {"label":"J", "x":9.5, "y":1}, {"label":"K", "x":10.5, "y":1}, {"label":"L", "x":11.5, "y":1}, {"label":":", "x":12.5, "y":1}, {"label":"Enter", "x":13.5, "y":1, "w":1.75}, {"x":15.5, "y":1}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"x":8, "y":2}, {"label":"N", "x":9, "y":2}, {"label":"M", "x":10, "y":2}, {"label":"<", "x":11, "y":2}, {"label":">", "x":12, "y":2}, {"label":"?", "x":13, "y":2}, {"x":15.5, "y":2}, {"x":14.25, "y":2.25}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":3.25, "y":3, "w":1.25}, {"x":4.5, "y":3}, {"x":5.5, "y":3, "w":1.25}, {"x":8, "y":3, "w":1.75}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3, "w":1.25}, {"x":13.25, "y":3.25}, {"x":14.25, "y":3.25}, {"x":15.25, "y":3.25}]
diff --git a/keyboards/wsk/gothic70/config.h b/keyboards/wsk/gothic70/config.h
index d4a8e0374c..fec6e57d03 100644
--- a/keyboards/wsk/gothic70/config.h
+++ b/keyboards/wsk/gothic70/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5753 // "WS"
-#define PRODUCT_ID 0x63CC
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Gothic70
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -17,7 +10,6 @@
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/gothic70/info.json b/keyboards/wsk/gothic70/info.json
index 2a38432225..fd28aba662 100644
--- a/keyboards/wsk/gothic70/info.json
+++ b/keyboards/wsk/gothic70/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gothic70",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0x5753",
+ "pid": "0x63CC",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"~", "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":8.75, "y":0}, {"label":"*", "x":9.75, "y":0}, {"label":"(", "x":10.75, "y":0}, {"label":")", "x":11.75, "y":0}, {"label":"_", "x":12.75, "y":0}, {"label":"+", "x":13.75, "y":0}, {"label":"BS", "x":14.75, "y":0}, {"x":15.75, "y":0}, {"x":17, "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":8.25, "y":1}, {"label":"U", "x":9.25, "y":1}, {"label":"I", "x":10.25, "y":1}, {"label":"O", "x":11.25, "y":1}, {"label":"P", "x":12.25, "y":1}, {"label":"{", "x":13.25, "y":1}, {"label":"}", "x":14.25, "y":1}, {"label":"|", "x":15.25, "y":1, "w":1.5}, {"x":17, "y":1}, {"label":"Caps Lock", "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":8.5, "y":2}, {"label":"J", "x":9.5, "y":2}, {"label":"K", "x":10.5, "y":2}, {"label":"L", "x":11.5, "y":2}, {"label":":", "x":12.5, "y":2}, {"label":"\"", "x":13.5, "y":2}, {"label":"Enter", "x":14.5, "y":2, "w":2.25}, {"x":17, "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}, {"x":8, "y":3}, {"label":"N", "x":9, "y":3}, {"label":"M", "x":10, "y":3}, {"label":"<", "x":11, "y":3}, {"label":">", "x":12, "y":3}, {"label":"?", "x":13, "y":3}, {"label":"Shift", "x":14, "y":3, "w":1.75}, {"x":16, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3, "y":4, "w":1.5}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4}, {"x":8.5, "y":4, "w":2.75}, {"label":"Alt", "x":11.25, "y":4, "w":1.5}, {"label":"Win", "x":13.5, "y":4, "w":1.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}]
diff --git a/keyboards/wsk/houndstooth/config.h b/keyboards/wsk/houndstooth/config.h
index 10fa3c51ef..5935d38845 100644
--- a/keyboards/wsk/houndstooth/config.h
+++ b/keyboards/wsk/houndstooth/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xFA9C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Houndstooth
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, F7, D7, B1, B4, B2, B5, B6 }
#define MATRIX_COL_PINS { D1, F4, D0, F5, D4, F6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/houndstooth/info.json b/keyboards/wsk/houndstooth/info.json
index 7ea46e5f55..43bcc1bf5b 100644
--- a/keyboards/wsk/houndstooth/info.json
+++ b/keyboards/wsk/houndstooth/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Houndstooth",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xFA9C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6.5, "y":0}, {"label":"U", "x":7.5, "y":0}, {"label":"I", "x":8.5, "y":0}, {"label":"O", "x":9.5, "y":0}, {"label":"P", "x":10.5, "y":0}, {"label":"Back Space", "x":11.5, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6.5, "y":1}, {"label":"J", "x":7.5, "y":1}, {"label":"K", "x":8.5, "y":1}, {"label":"L", "x":9.5, "y":1}, {"label":";", "x":10.5, "y":1}, {"label":"'", "x":11.5, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":",", "x":8.5, "y":2}, {"label":".", "x":9.5, "y":2}, {"label":"/", "x":10.5, "y":2}, {"label":"Return", "x":11.5, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3}, {"x":6.5, "y":3}, {"label":"&uArr;", "x":7.5, "y":3}, {"label":"&larr;", "x":8.5, "y":3}, {"label":"&darr;", "x":9.5, "y":3}, {"label":"&uarr;", "x":10.5, "y":3}, {"label":"&rarr;", "x":11.5, "y":3}]
diff --git a/keyboards/wsk/jerkin/config.h b/keyboards/wsk/jerkin/config.h
index 8a53acedee..52f5f57dd2 100644
--- a/keyboards/wsk/jerkin/config.h
+++ b/keyboards/wsk/jerkin/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x79AE
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Jerkin
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 13
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, B4, B5 }
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, B1, F7, F6, F5, F4, E6, D7 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/jerkin/info.json b/keyboards/wsk/jerkin/info.json
index 0e5b433068..96536bc9f8 100644
--- a/keyboards/wsk/jerkin/info.json
+++ b/keyboards/wsk/jerkin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Jerkin",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x79AE",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0.5, "y":0}, {"label":"Q", "x":1.5, "y":0}, {"label":"W", "x":2.5, "y":0}, {"label":"E", "x":3.5, "y":0}, {"label":"R", "x":4.5, "y":0}, {"label":"T", "x":5.5, "y":0}, {"label":"Y", "x":7.75, "y":0}, {"label":"U", "x":8.75, "y":0}, {"label":"I", "x":9.75, "y":0}, {"label":"O", "x":10.75, "y":0}, {"label":"P", "x":11.75, "y":0}, {"label":"{", "x":12.75, "y":0}, {"label":"Back<br>Space", "x":13.75, "y":0}, {"label":"Tab", "x":0.25, "y":1, "w":1.25}, {"label":"A", "x":1.5, "y":1}, {"label":"S", "x":2.5, "y":1}, {"label":"D", "x":3.5, "y":1}, {"label":"F", "x":4.5, "y":1}, {"label":"G", "x":5.5, "y":1}, {"label":"H", "x":8.25, "y":1}, {"label":"J", "x":9.25, "y":1}, {"label":"K", "x":10.25, "y":1}, {"label":"L", "x":11.25, "y":1}, {"label":"\"", "x":12.25, "y":1}, {"label":"Enter", "x":13.25, "y":1, "w":1.75}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"x":8, "y":2}, {"label":"N", "x":9, "y":2}, {"label":"M", "x":10, "y":2}, {"label":"<", "x":11, "y":2}, {"label":">", "x":12, "y":2}, {"label":"?", "x":13, "y":2}, {"label":"Shift", "x":14, "y":2, "w":1.25}]
diff --git a/keyboards/wsk/kodachi50/config.h b/keyboards/wsk/kodachi50/config.h
index af548095fb..c67c3424f9 100644
--- a/keyboards/wsk/kodachi50/config.h
+++ b/keyboards/wsk/kodachi50/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x72D4
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT Kodachi50
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, B5, B6, B2, B3, B1, F7, F6 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/kodachi50/info.json b/keyboards/wsk/kodachi50/info.json
index 423098c5cc..9ed93f9168 100644
--- a/keyboards/wsk/kodachi50/info.json
+++ b/keyboards/wsk/kodachi50/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Kodachi50",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x72D4",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Tab", "x":0, "y":0, "w":1.5}, {"label":"Q", "x":1.5, "y":0}, {"label":"W", "x":2.5, "y":0}, {"label":"E", "x":3.5, "y":0}, {"label":"R", "x":4.5, "y":0}, {"label":"T", "x":5.5, "y":0}, {"label":"{", "x":6.5, "y":0}, {"label":"}", "x":7.5, "y":0}, {"label":"Y", "x":8.5, "y":0}, {"label":"U", "x":9.5, "y":0}, {"label":"I", "x":10.5, "y":0}, {"label":"O", "x":11.5, "y":0}, {"label":"P", "x":12.5, "y":0}, {"label":"Backspace", "x":13.5, "y":0, "w":1.5}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"|", "x":6.25, "y":1, "w":1.25}, {"label":"Alt", "x":7.5, "y":1, "w":1.25}, {"label":"H", "x":8.75, "y":1}, {"label":"J", "x":9.75, "y":1}, {"label":"K", "x":10.75, "y":1}, {"label":"L", "x":11.75, "y":1}, {"label":"\"", "x":12.75, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"~", "x":6, "y":2}, {"label":"_", "x":7, "y":2}, {"label":"+", "x":8, "y":2}, {"label":"N", "x":9, "y":2}, {"label":"M", "x":10, "y":2}, {"label":"<", "x":11, "y":2}, {"label":">", "x":12, "y":2}, {"label":"?", "x":13, "y":2}, {"label":":", "x":14, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.75}, {"x":6.5, "y":3}, {"x":7.5, "y":3, "w":2.25}, {"label":"Win", "x":9.75, "y":3, "w":1.25}, {"label":"Left", "x":11, "y":3}, {"label":"Down", "x":12, "y":3}, {"label":"Up", "x":13, "y":3}, {"label":"Right", "x":14, "y":3}]
diff --git a/keyboards/wsk/pain27/config.h b/keyboards/wsk/pain27/config.h
index b0ddad521a..be0f58a7dc 100644
--- a/keyboards/wsk/pain27/config.h
+++ b/keyboards/wsk/pain27/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x9E8C
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT PAIN27
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 10
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, D0 }
#define MATRIX_COL_PINS { D2, B3, F6, B1, B2, B6, D4, C6, D7, E6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/pain27/info.json b/keyboards/wsk/pain27/info.json
index f8bc4f46f1..5675330098 100644
--- a/keyboards/wsk/pain27/info.json
+++ b/keyboards/wsk/pain27/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Pain27v2",
+ "keyboard_name": "PAIN27",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x9E8C",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"x":3.25, "y":3, "w":6.25}]
diff --git a/keyboards/wsk/sl40/config.h b/keyboards/wsk/sl40/config.h
index 113a5be3a2..6377ebb3f7 100644
--- a/keyboards/wsk/sl40/config.h
+++ b/keyboards/wsk/sl40/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xC456
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT SL40
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 14
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, D2, D0 }
#define MATRIX_COL_PINS { D3, D1, F6, F7, B6, B2, B3, B1, D4, C6, D7, E6, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/sl40/info.json b/keyboards/wsk/sl40/info.json
index f70b3f8d51..6333b32cd1 100644
--- a/keyboards/wsk/sl40/info.json
+++ b/keyboards/wsk/sl40/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "SL40",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0xC456",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"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, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":6.25}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}]
diff --git a/keyboards/wsk/sl40/keymaps/prototype/keymap.c b/keyboards/wsk/sl40/keymaps/prototype/keymap.c
index cc5a2eb8a1..4d03604441 100644
--- a/keyboards/wsk/sl40/keymaps/prototype/keymap.c
+++ b/keyboards/wsk/sl40/keymaps/prototype/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL,
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RESET, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, KC_TRNS,
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, QK_BOOT, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, KC_TRNS,
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
)
diff --git a/keyboards/wsk/tkl30/config.h b/keyboards/wsk/tkl30/config.h
index 081a1ee767..e75b49ce4d 100644
--- a/keyboards/wsk/tkl30/config.h
+++ b/keyboards/wsk/tkl30/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0B7F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Worldspawn00
-#define PRODUCT TKL30
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D2, B5, F4 }
#define MATRIX_COL_PINS { D3, D1, D0, D4, F7, C6, B1, D7, B3, E6, B2, B4, B6, F6, E5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/wsk/tkl30/info.json b/keyboards/wsk/tkl30/info.json
index 7d68783514..1e8eba68e7 100644
--- a/keyboards/wsk/tkl30/info.json
+++ b/keyboards/wsk/tkl30/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "TKL30",
+ "manufacturer": "Worldspawn00",
"url": "https://qmk.fm/keyboards",
"maintainer": "worldspawn00",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0B7F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"Tab", "x":0, "y":0.25, "w":1.5}, {"label":"Q", "x":1.5, "y":0.25}, {"label":"W", "x":2.5, "y":0.25}, {"label":"E", "x":3.5, "y":0.25}, {"label":"R", "x":4.5, "y":0.25}, {"label":"T", "x":5.5, "y":0.25}, {"label":"Y", "x":6.5, "y":0.25}, {"label":"U", "x":7.5, "y":0.25}, {"label":"I", "x":8.5, "y":0.25}, {"label":"O", "x":9.5, "y":0.25}, {"label":"P", "x":10.5, "y":0.25}, {"label":"{", "x":11.5, "y":0.25}, {"label":"}", "x":12.5, "y":0.25}, {"label":"|", "x":13.5, "y":0.25, "w":1.5}, {"label":"Ctrl", "x":0, "y":1.25, "w":1.75}, {"label":"A", "x":1.75, "y":1.25}, {"label":"S", "x":2.75, "y":1.25}, {"label":"D", "x":3.75, "y":1.25}, {"label":"F", "x":4.75, "y":1.25}, {"label":"G", "x":5.75, "y":1.25}, {"label":"H", "x":6.75, "y":1.25}, {"label":"J", "x":7.75, "y":1.25}, {"label":"K", "x":8.75, "y":1.25}, {"label":"L", "x":9.75, "y":1.25}, {"label":":", "x":10.75, "y":1.25}, {"label":"\"", "x":11.75, "y":1.25}, {"label":"Enter", "x":12.75, "y":1.25, "w":2.25}, {"label":"\u2191", "x":16.25, "y":1.25}, {"label":"Shift", "x":0, "y":2.25, "w":1.25}, {"label":"Alt", "x":1.25, "y":2.25}, {"label":"Z", "x":2.25, "y":2.25}, {"label":"X", "x":3.25, "y":2.25}, {"label":"C", "x":4.25, "y":2.25}, {"label":"V", "x":5.25, "y":2.25}, {"x":6.25, "y":2.25, "w":2}, {"label":"B", "x":8.25, "y":2.25}, {"label":"N", "x":9.25, "y":2.25}, {"label":"M", "x":10.25, "y":2.25}, {"label":"<", "x":11.25, "y":2.25}, {"label":">", "x":12.25, "y":2.25}, {"label":"Fn", "x":13.25, "y":2.25, "w":1.75}, {"label":"\u2190", "x":15.25, "y":2.25}, {"label":"\u2193", "x":16.25, "y":2.25}, {"label":"\u2192", "x":17.25, "y":2.25}]
diff --git a/keyboards/wuque/ikki68/config.h b/keyboards/wuque/ikki68/config.h
index af66b21c7f..13ce461b04 100644
--- a/keyboards/wuque/ikki68/config.h
+++ b/keyboards/wuque/ikki68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x696B
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wuque studio
-#define PRODUCT ikki68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
diff --git a/keyboards/wuque/ikki68/info.json b/keyboards/wuque/ikki68/info.json
index 05507cd454..d4e54b6f24 100644
--- a/keyboards/wuque/ikki68/info.json
+++ b/keyboards/wuque/ikki68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "ikki68",
+ "manufacturer": "wuque studio",
"url": "https://ikki68.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x696B",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/wuque/ikki68_aurora/config.h b/keyboards/wuque/ikki68_aurora/config.h
index 1981ac22e7..fccd5bd8ef 100644
--- a/keyboards/wuque/ikki68_aurora/config.h
+++ b/keyboards/wuque/ikki68_aurora/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x706B
-#define PRODUCT_ID 0x0011
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wuque studio
-#define PRODUCT ikki68 Aurora
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
diff --git a/keyboards/wuque/ikki68_aurora/info.json b/keyboards/wuque/ikki68_aurora/info.json
index d29ab48433..92c7da0eeb 100644
--- a/keyboards/wuque/ikki68_aurora/info.json
+++ b/keyboards/wuque/ikki68_aurora/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ikki68_aurora",
+ "keyboard_name": "ikki68 Aurora",
+ "manufacturer": "wuque studio",
"url": "https://ikki68.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x706B",
+ "pid": "0x0011",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_68_ansi": {
"layout": [
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c
index cf20b434f0..c99c316f6e 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c
@@ -25,7 +25,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_68_ansi(
- 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, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c
index 46e0caff96..50bb044490 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c
@@ -25,7 +25,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_68_iso(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c
index d32851fc82..54b85d5d80 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c
@@ -25,7 +25,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_68_ansi_split_bs(
- 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, _______, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c
index 671f262c2e..9d55d76c35 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c
@@ -25,7 +25,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_68_ansi_split_lshift(
- 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, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c
index ae575674b7..f616956bb1 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c
@@ -25,7 +25,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_68_ansi_split_rshift(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c
index cafcfde315..33a6c83272 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_68_ansi_split_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RESET,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c
index 5983625adc..5d8fd4a0a9 100644
--- a/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c
+++ b/keyboards/wuque/ikki68_aurora/keymaps/ewersp/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_END, KC_VOLU,
_______, RGB_HUD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_M_P, _______, _______, _______, KC_BRIU, KC_PAUS, KC_PSCR, _______, _______, KC_MUTE, KC_VOLD,
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_SAD, RGB_M_B, _______, _______, _______, KC_BRID, _______, _______, _______,
- _______, _______, RGB_TOG, LED_TOG, _______, EEP_RST, RESET, _______, _______, TG(MAC), TG(ALT), _______, _______, _______, KC_PGUP,
+ _______, _______, RGB_TOG, LED_TOG, _______, EEP_RST, QK_BOOT, _______, _______, TG(MAC), TG(ALT), _______, _______, _______, KC_PGUP,
_______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
[SUPR] = LAYOUT_all(
@@ -191,7 +191,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
eeconfig_update_user(user_config.raw);
}
return false;
- case RESET:
+ case QK_BOOT:
if (record->event.pressed) {
key_timer = timer_read32();
} else {
diff --git a/keyboards/wuque/mammoth20x/config.h b/keyboards/wuque/mammoth20x/config.h
index 8fcfc03195..edd471296d 100644
--- a/keyboards/wuque/mammoth20x/config.h
+++ b/keyboards/wuque/mammoth20x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xB06B
-#define PRODUCT_ID 0x0005
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wuque studio
-#define PRODUCT mammoth20x
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/wuque/mammoth20x/info.json b/keyboards/wuque/mammoth20x/info.json
index 4b53405c19..003bf12c6e 100644
--- a/keyboards/wuque/mammoth20x/info.json
+++ b/keyboards/wuque/mammoth20x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mammoth20x",
+ "manufacturer": "wuque studio",
"url": "https://shop.wuquestudio.com/",
"maintainer": "spbgzh",
+ "usb": {
+ "vid": "0xB06B",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_default": "LAYOUT"
},
diff --git a/keyboards/wuque/mammoth75x/config.h b/keyboards/wuque/mammoth75x/config.h
index 88ef0e5477..0cf52f07aa 100644
--- a/keyboards/wuque/mammoth75x/config.h
+++ b/keyboards/wuque/mammoth75x/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA06B
-#define PRODUCT_ID 0x0004
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wuque studio
-#define PRODUCT mammoth75x
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
diff --git a/keyboards/wuque/mammoth75x/info.json b/keyboards/wuque/mammoth75x/info.json
index 877d03dec9..6e3bd8a46b 100644
--- a/keyboards/wuque/mammoth75x/info.json
+++ b/keyboards/wuque/mammoth75x/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "mammoth75x",
+ "manufacturer": "wuque studio",
"url": "https://shop.wuquestudio.com/",
"maintainer": "spbgzh",
+ "usb": {
+ "vid": "0xA06B",
+ "pid": "0x0004",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/wuque/mammoth75x/keymaps/75_ansi/keymap.c b/keyboards/wuque/mammoth75x/keymaps/75_ansi/keymap.c
index a35038348e..c4003245a6 100644
--- a/keyboards/wuque/mammoth75x/keymaps/75_ansi/keymap.c
+++ b/keyboards/wuque/mammoth75x/keymaps/75_ansi/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_75_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wuque/mammoth75x/keymaps/75_split_bs/keymap.c b/keyboards/wuque/mammoth75x/keymaps/75_split_bs/keymap.c
index c1717e6d22..4d0677fcc5 100644
--- a/keyboards/wuque/mammoth75x/keymaps/75_split_bs/keymap.c
+++ b/keyboards/wuque/mammoth75x/keymaps/75_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_75_ansi_split_bs(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wuque/mammoth75x/keymaps/75_split_lshift/keymap.c b/keyboards/wuque/mammoth75x/keymaps/75_split_lshift/keymap.c
index 611e1a2642..0fed0c86c1 100644
--- a/keyboards/wuque/mammoth75x/keymaps/75_split_lshift/keymap.c
+++ b/keyboards/wuque/mammoth75x/keymaps/75_split_lshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_75_ansi_split_lshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wuque/mammoth75x/keymaps/75_split_rshift/keymap.c b/keyboards/wuque/mammoth75x/keymaps/75_split_rshift/keymap.c
index 1debfe81b7..a25b86c5a8 100644
--- a/keyboards/wuque/mammoth75x/keymaps/75_split_rshift/keymap.c
+++ b/keyboards/wuque/mammoth75x/keymaps/75_split_rshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_75_ansi_split_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wuque/mammoth75x/keymaps/75_split_space/keymap.c b/keyboards/wuque/mammoth75x/keymaps/75_split_space/keymap.c
index 2182216060..2ff5bb2ccb 100644
--- a/keyboards/wuque/mammoth75x/keymaps/75_split_space/keymap.c
+++ b/keyboards/wuque/mammoth75x/keymaps/75_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_75_ansi_split_space(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/wuque/promise87/ansi/ansi.c b/keyboards/wuque/promise87/ansi/ansi.c
new file mode 100644
index 0000000000..8e20dfb751
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/ansi.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
diff --git a/keyboards/wuque/promise87/ansi/ansi.h b/keyboards/wuque/promise87/ansi/ansi.h
new file mode 100644
index 0000000000..513c3a8d2a
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/ansi.h
@@ -0,0 +1,218 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+
+/* Standard Arrangement
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_split_bs
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_split_lshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_split_lshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_split_rshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_split_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_split_bs_rshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───â”
+ * │50 │51 │52 │56 │5a │5b │5c │5d ││5e │5f │5g │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
diff --git a/keyboards/wuque/promise87/ansi/config.h b/keyboards/wuque/promise87/ansi/config.h
new file mode 100644
index 0000000000..c7a9eda1ef
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/config.h
@@ -0,0 +1,48 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { B3, B7, B2, F0, D3, D0 }
+#define MATRIX_COL_PINS { D6, D7, D1, D5, F7, D4, F5, F4, F1, C7, C6, B6, B5, B4, E6, B1, B0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN F6
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN D2
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 1
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*======= RGB function=======*/
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#endif
diff --git a/keyboards/wuque/promise87/ansi/info.json b/keyboards/wuque/promise87/ansi/info.json
new file mode 100644
index 0000000000..acd4d7d6d9
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/info.json
@@ -0,0 +1,609 @@
+{
+ "keyboard_name": "promise87",
+ "manufacturer": "wuque",
+ "url": "https://shop.wuquestudio.com/",
+ "maintainer": "spbgzh",
+ "usb": {
+ "vid": "0x906D",
+ "pid": "0x0005",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_87_ansi": "LAYOUT_tkl_f13_ansi",
+ "LAYOUT_87_ansi_split_bs": "LAYOUT_tkl_f13_ansi_split_bs",
+ "LAYOUT_87_ansi_split_lshift": "LAYOUT_tkl_f13_ansi_split_lshift",
+ "LAYOUT_87_ansi_split_rshift": "LAYOUT_tkl_f13_ansi_split_rshift"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_lshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_rshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1ba2583670
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default/readme.md
new file mode 100644
index 0000000000..f3a77c93fd
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/keymap.c
new file mode 100644
index 0000000000..a27c3c5969
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md
new file mode 100644
index 0000000000..63cbbfc568
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md
@@ -0,0 +1 @@
+# The tkl_f13_ansi keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/keymap.c
new file mode 100644
index 0000000000..31055a6a0a
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md
new file mode 100644
index 0000000000..e61fd5af62
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_split_bs keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/keymap.c
new file mode 100644
index 0000000000..36b48cebb8
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_split_bs_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md
new file mode 100644
index 0000000000..f7f7ee4eed
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_split_bs_rshift keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/keymap.c
new file mode 100644
index 0000000000..181ee17c64
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_split_lshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_split_lshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md
new file mode 100644
index 0000000000..17ed054145
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_split_lshift keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/keymap.c
new file mode 100644
index 0000000000..91ddaa8d0e
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_split_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_split_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md
new file mode 100644
index 0000000000..d0f6cbe57a
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md
@@ -0,0 +1 @@
+# The tkl_f13_ansi_split_rshift keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/via/keymap.c b/keyboards/wuque/promise87/ansi/keymaps/via/keymap.c
new file mode 100644
index 0000000000..110e3f4639
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/ansi/keymaps/via/readme.md b/keyboards/wuque/promise87/ansi/keymaps/via/readme.md
new file mode 100644
index 0000000000..a500dfdb15
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The via keymap for promise87
diff --git a/keyboards/wuque/promise87/ansi/keymaps/via/rules.mk b/keyboards/wuque/promise87/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/wuque/promise87/ansi/readme.md b/keyboards/wuque/promise87/ansi/readme.md
new file mode 100644
index 0000000000..a5c5591de9
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/readme.md
@@ -0,0 +1,27 @@
+# promise87
+
+More Info at [promise87](https://shop.wuquestudio.com/)
+​
+
+* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
+* Hardware Supported: promise 87
+* Hardware Availability: [promise87](https://shop.wuquestudio.com/)
+​
+
+Make example for this keyboard (after setting up your build environment):
+
+ make wuque/promise87/ansi:default
+
+Flashing example for this keyboard:
+
+ make wuque/promise87/ansi:default:flash
+
+## Bootloader
+
+Enter the bootloader using one of the following methods:
+
+* Tap the Reset switch mounted on the PCB
+* In the case of the default keymap, use the key combination Fn + PageUp
+* Hold the Esc key while connecting the USB cable (also erases persistent settings)
+
+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/wuque/promise87/ansi/rules.mk b/keyboards/wuque/promise87/ansi/rules.mk
new file mode 100644
index 0000000000..ffe655b21f
--- /dev/null
+++ b/keyboards/wuque/promise87/ansi/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = tkl_f13_ansi tkl_f13_ansi_split_bs_rshift
diff --git a/keyboards/wuque/promise87/wkl/config.h b/keyboards/wuque/promise87/wkl/config.h
new file mode 100644
index 0000000000..c7a9eda1ef
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/config.h
@@ -0,0 +1,48 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { B3, B7, B2, F0, D3, D0 }
+#define MATRIX_COL_PINS { D6, D7, D1, D5, F7, D4, F5, F4, F1, C7, C6, B6, B5, B4, E6, B1, B0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define LED_CAPS_LOCK_PIN F6
+#define LED_PIN_ON_STATE 0
+
+#define RGB_DI_PIN D2
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 1
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*======= RGB function=======*/
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#endif
diff --git a/keyboards/wuque/promise87/wkl/info.json b/keyboards/wuque/promise87/wkl/info.json
new file mode 100644
index 0000000000..5445f2eb36
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/info.json
@@ -0,0 +1,592 @@
+{
+ "keyboard_name": "promise87",
+ "manufacturer": "wuque",
+ "url": "https://shop.wuquestudio.com/",
+ "maintainer": "spbgzh",
+ "usb": {
+ "vid": "0x906D",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT_all_wkl": "LAYOUT_all",
+ "LAYOUT_87_wkl": "LAYOUT_tkl_f13_ansi_wkl",
+ "LAYOUT_87_wkl_split_bs": "LAYOUT_tkl_f13_ansi_wkl_split_bs",
+ "LAYOUT_87_wkl_split_lshift": "LAYOUT_tkl_f13_ansi_wkl_split_lshift",
+ "LAYOUT_87_wkl_split_rshift": "LAYOUT_tkl_f13_ansi_wkl_split_rshift"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_lshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
+ { "label": "Shift2", "x": 1.25, "y": 4.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_rshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25 },
+ { "label": "Backspace1", "x": 14, "y": 1.25 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "label": "Shift2", "x": 14, "y": 4.25 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
+ { "label": "Space","x": 4, "y": 5.25, "w": 7 },
+ { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
+ { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d56749b9cb
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default/readme.md
new file mode 100644
index 0000000000..f3a77c93fd
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/keymap.c
new file mode 100644
index 0000000000..842da351e5
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_wkl(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, 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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_wkl(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/readme.md
new file mode 100644
index 0000000000..b009ab3ef2
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_wkl keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/keymap.c
new file mode 100644
index 0000000000..ccd8e35487
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_wkl_split_bs(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_wkl_split_bs(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/readme.md
new file mode 100644
index 0000000000..22921ef2e7
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_wkl_split_bs keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/keymap.c
new file mode 100644
index 0000000000..a751bdea30
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_wkl_split_bs_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/readme.md
new file mode 100644
index 0000000000..a0baa328e6
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_bs_rshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_wkl_split_bs_rshift keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/keymap.c
new file mode 100644
index 0000000000..1b5806b2cf
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_wkl_split_lshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_wkl_split_lshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/readme.md
new file mode 100644
index 0000000000..4b39705074
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_lshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_wkl_split_lshift keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/keymap.c
new file mode 100644
index 0000000000..28834dcb03
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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_tkl_f13_ansi_wkl_split_rshift(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_f13_ansi_wkl_split_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/readme.md b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/readme.md
new file mode 100644
index 0000000000..a7df0be109
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_rshift/readme.md
@@ -0,0 +1 @@
+# The default_tkl_f13_ansi_wkl_split_rshift keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/via/keymap.c b/keyboards/wuque/promise87/wkl/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6ae4f5398b
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/wuque/promise87/wkl/keymaps/via/readme.md b/keyboards/wuque/promise87/wkl/keymaps/via/readme.md
new file mode 100644
index 0000000000..a500dfdb15
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The via keymap for promise87
diff --git a/keyboards/wuque/promise87/wkl/keymaps/via/rules.mk b/keyboards/wuque/promise87/wkl/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/wuque/promise87/wkl/readme.md b/keyboards/wuque/promise87/wkl/readme.md
new file mode 100644
index 0000000000..f4562164bd
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/readme.md
@@ -0,0 +1,27 @@
+# promise87
+
+More Info at [promise87](https://shop.wuquestudio.com/)
+​
+
+* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
+* Hardware Supported: promise 87
+* Hardware Availability: [promise87](https://shop.wuquestudio.com/)
+​
+
+Make example for this keyboard (after setting up your build environment):
+
+ make wuque/promise87/wkl:default
+
+Flashing example for this keyboard:
+
+ make wuque/promise87/wkl:default:flash
+
+## Bootloader
+
+Enter the bootloader using one of the following methods:
+
+* Tap the Reset switch mounted on the PCB
+* In the case of the default keymap, use the key combination Fn + PageUp
+* Hold the Esc key while connecting the USB cable (also erases persistent settings)
+
+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/wuque/promise87/wkl/rules.mk b/keyboards/wuque/promise87/wkl/rules.mk
new file mode 100644
index 0000000000..85a4a905a5
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/wuque/promise87/wkl/wkl.c b/keyboards/wuque/promise87/wkl/wkl.c
new file mode 100644
index 0000000000..6264f7b1d6
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/wkl.c
@@ -0,0 +1,17 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "wkl.h"
diff --git a/keyboards/wuque/promise87/wkl/wkl.h b/keyboards/wuque/promise87/wkl/wkl.h
new file mode 100644
index 0000000000..913ed9f881
--- /dev/null
+++ b/keyboards/wuque/promise87/wkl/wkl.h
@@ -0,0 +1,217 @@
+/* Copyright 2022 wuque
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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"
+
+
+/* LAYOUT_all
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_wkl
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_wkl( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_wkl_split_bs
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_wkl_split_bs( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_wkl_split_lshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───â”
+ * │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │ │4f │
+ * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_wkl_split_lshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_wkl_split_rshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_wkl_split_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
+
+
+/* LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift
+ * ┌───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───┬───┬───┬───â”┌───â”┌───┬───┬───â”
+ * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
+ * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───â”┌───┬───┬───â”
+ * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
+ * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d ││2e │2f │2g │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+ * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───â”
+ * │40 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c │4d │ │4f │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───â”
+ * │50 │ │52 │56 │5b │ │5d ││5e │5f │5g │
+ * └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘└───┴───┴───┘
+ */
+#define LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
+}
diff --git a/keyboards/wuque/serneity65/config.h b/keyboards/wuque/serneity65/config.h
index e13aa89504..9fe29aa093 100644
--- a/keyboards/wuque/serneity65/config.h
+++ b/keyboards/wuque/serneity65/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x906B
-#define PRODUCT_ID 0x0003
-#define DEVICE_VER 0x0001
-#define MANUFACTURER wuque
-#define PRODUCT serneity65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/wuque/serneity65/info.json b/keyboards/wuque/serneity65/info.json
index 211ad12278..18f7062397 100644
--- a/keyboards/wuque/serneity65/info.json
+++ b/keyboards/wuque/serneity65/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "serneity65",
+ "manufacturer": "wuque",
"url": "https://wuque.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x906B",
+ "pid": "0x0003",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c b/keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c
index 3d2393e145..7d82eb5f08 100644
--- a/keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c
+++ b/keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c b/keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c
index e204574319..6a6008d55b 100644
--- a/keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c
+++ b/keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c b/keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c
index ef99b56fce..ec5b528fae 100644
--- a/keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c
+++ b/keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c b/keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c
index fbbfd244c0..9a3d9ba606 100644
--- a/keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c
+++ b/keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/x16/config.h b/keyboards/x16/config.h
index 8378880d08..d1545ced61 100644
--- a/keyboards/x16/config.h
+++ b/keyboards/x16/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4B50
-#define PRODUCT_ID 0x016A
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yinxianwei
-#define PRODUCT x16
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
@@ -41,7 +34,6 @@
*/
#define MATRIX_ROW_PINS { E6, F7, D6, B6 }
#define MATRIX_COL_PINS { C7, C6, B4, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/x16/info.json b/keyboards/x16/info.json
index 742777648d..a006269af0 100644
--- a/keyboards/x16/info.json
+++ b/keyboards/x16/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "x16",
+ "manufacturer": "yinxianwei",
"url": "",
"maintainer": "yinxianwei",
+ "usb": {
+ "vid": "0x4B50",
+ "pid": "0x016A",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h
index 013bb4e7d4..f0fc0f712a 100644
--- a/keyboards/xbows/knight/config.h
+++ b/keyboards/xbows/knight/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x5842
-#define PRODUCT_ID 0x4B6E
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT KNIGHT
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/xbows/knight/info.json b/keyboards/xbows/knight/info.json
index dca3ea1ed1..d4ce054f0b 100644
--- a/keyboards/xbows/knight/info.json
+++ b/keyboards/xbows/knight/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KNIGHT",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "xbows-qmk",
+ "usb": {
+ "vid": "0x5842",
+ "pid": "0x4B6E",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h
index 414b5a86b7..91c6dcebd4 100644
--- a/keyboards/xbows/knight_plus/config.h
+++ b/keyboards/xbows/knight_plus/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x5842
-#define PRODUCT_ID 0x4B50
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT KNIGHT_PLUS
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/xbows/knight_plus/info.json b/keyboards/xbows/knight_plus/info.json
index 7b6521510f..8311f0026e 100644
--- a/keyboards/xbows/knight_plus/info.json
+++ b/keyboards/xbows/knight_plus/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KNIGHT_PLUS",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "xbows-qmk",
+ "usb": {
+ "vid": "0x5842",
+ "pid": "0x4B50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h
index d9d6a2753e..a248fa37bb 100644
--- a/keyboards/xbows/nature/config.h
+++ b/keyboards/xbows/nature/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x5842
-#define PRODUCT_ID 0x4E61
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT NATURE
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
diff --git a/keyboards/xbows/nature/info.json b/keyboards/xbows/nature/info.json
index 62e2c1f6d9..69da3dec9c 100644
--- a/keyboards/xbows/nature/info.json
+++ b/keyboards/xbows/nature/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NATURE",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "xbows-qmk",
+ "usb": {
+ "vid": "0x5842",
+ "pid": "0x4E61",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h
index c36ee1a52c..7eb56caea7 100644
--- a/keyboards/xbows/numpad/config.h
+++ b/keyboards/xbows/numpad/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x5842
-#define PRODUCT_ID 0x4E75
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT NUMPAD
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS { B5, B4, C6, B6, D7, B3 }
diff --git a/keyboards/xbows/numpad/info.json b/keyboards/xbows/numpad/info.json
index f4be5f56d1..543a4f876f 100644
--- a/keyboards/xbows/numpad/info.json
+++ b/keyboards/xbows/numpad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "NUMPAD",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "xbows-qmk",
+ "usb": {
+ "vid": "0x5842",
+ "pid": "0x4E75",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h
index 73a1bc3a74..6c557bf341 100644
--- a/keyboards/xbows/ranger/config.h
+++ b/keyboards/xbows/ranger/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-#define VENDOR_ID 0x5842
-#define PRODUCT_ID 0x5261
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT Ranger
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { C7, B6, B4, C6, B5, D6 }
diff --git a/keyboards/xbows/ranger/info.json b/keyboards/xbows/ranger/info.json
index 8f0e3d1135..29919193c3 100644
--- a/keyboards/xbows/ranger/info.json
+++ b/keyboards/xbows/ranger/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ranger",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "xbows-qmk",
+ "usb": {
+ "vid": "0x5842",
+ "pid": "0x5261",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_tkl_ansi"
},
diff --git a/keyboards/xbows/woody/config.h b/keyboards/xbows/woody/config.h
index 9d04eb84c4..d6b7f32c68 100644
--- a/keyboards/xbows/woody/config.h
+++ b/keyboards/xbows/woody/config.h
@@ -1,10 +1,5 @@
#pragma once
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1224
-#define DEVICE_VER 0x0001
-#define MANUFACTURER X-BOWS
-#define PRODUCT WOO-DY
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/xbows/woody/info.json b/keyboards/xbows/woody/info.json
index 4e4e77a4ba..5b984811df 100644
--- a/keyboards/xbows/woody/info.json
+++ b/keyboards/xbows/woody/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "WOO-DY",
+ "manufacturer": "X-BOWS",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1224",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6.25}, {"x":10.25, "y":4, "w":1.5}, {"x":11.75, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/xelus/akis/config.h b/keyboards/xelus/akis/config.h
index 2cbdb8bb00..9a1eddcd28 100644
--- a/keyboards/xelus/akis/config.h
+++ b/keyboards/xelus/akis/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0xA04B // A-K
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT AkiS
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { F5, F4, F1, F0, E6 }
#define MATRIX_COL_PINS { B4, D7, D6, D4, D5, D3, D2, D1, D0, F6, F7, C7, C6, B6, B5 }
-#define UNUSED_PINS
/* RGB Lighting */
#define RGB_DI_PIN B0
diff --git a/keyboards/xelus/akis/info.json b/keyboards/xelus/akis/info.json
index 29dec68aee..36a6d78277 100644
--- a/keyboards/xelus/akis/info.json
+++ b/keyboards/xelus/akis/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "akiS",
+ "keyboard_name": "AkiS",
+ "manufacturer": "Xelus",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/akis",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0xA04B",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_65_all": "LAYOUT_all"
},
diff --git a/keyboards/xelus/dawn60/info.json b/keyboards/xelus/dawn60/info.json
index 346422b92a..24eba75384 100644
--- a/keyboards/xelus/dawn60/info.json
+++ b/keyboards/xelus/dawn60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dawn60",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x0060",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_60_all": "LAYOUT_all"
},
diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h
index 52dab44f48..4b3a1641b9 100644
--- a/keyboards/xelus/dawn60/rev1/config.h
+++ b/keyboards/xelus/dawn60/rev1/config.h
@@ -17,12 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x0060 // Dawn60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Dawn60
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -30,12 +24,10 @@
//no underglow - prototype
//#define MATRIX_ROW_PINS { B1, B3, B7, F6, F7 }
//#define MATRIX_COL_PINS { B0, D5, B2, F5, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7 }
-//#define UNUSED_PINS
//underglow
#define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 }
#define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
// IS31FL3731 driver
#define DRIVER_COUNT 2
diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h
index 67c88efb4c..11c59f8847 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/config.h
+++ b/keyboards/xelus/dawn60/rev1_qmk/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x0060 // Dawn60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Dawn60
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -31,7 +24,6 @@
//underglow
#define MATRIX_ROW_PINS { B1, B3, F1, F6, F7 }
#define MATRIX_COL_PINS { B0, D5, B2, F5, D3, D2, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/dharma/config.h b/keyboards/xelus/dharma/config.h
index eab2c224c2..08fd8fb8f8 100644
--- a/keyboards/xelus/dharma/config.h
+++ b/keyboards/xelus/dharma/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0xDAAA // Dharma
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Dharma
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, B0 }
#define MATRIX_COL_PINS { B3, B2, B1, D5, D4, E6, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/dharma/info.json b/keyboards/xelus/dharma/info.json
index 661df2afbb..174cf2a1f0 100644
--- a/keyboards/xelus/dharma/info.json
+++ b/keyboards/xelus/dharma/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Dharma",
+ "keyboard_name": "Dharma",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0xDAAA",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/dharma/keymaps/default/config.h b/keyboards/xelus/dharma/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/dharma/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/dharma/keymaps/via/config.h b/keyboards/xelus/dharma/keymaps/via/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/dharma/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/kangaroo/chconf.h b/keyboards/xelus/kangaroo/chconf.h
deleted file mode 100644
index 71b34b0591..0000000000
--- a/keyboards/xelus/kangaroo/chconf.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* 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/xelus/kangaroo/chconf.h -r platforms/chibios/common/configs/chconf.h`
- */
-
-#pragma once
-
-#define CH_CFG_ST_FREQUENCY 10000
-
-#define CH_CFG_OPTIMIZE_SPEED FALSE
-
-#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
-
-#include_next <chconf.h>
-
diff --git a/keyboards/xelus/kangaroo/config.h b/keyboards/xelus/kangaroo/config.h
deleted file mode 100644
index 1d746b342e..0000000000
--- a/keyboards/xelus/kangaroo/config.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2020 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
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x524F // RO
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Kangaroo
-
-/* key matrix size */
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 11
-
-#define MATRIX_COL_PINS { B10, B2, B11, A10, B7, B6, B5, B4, B3, A15, A14 }
-#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12, A4, A5, A6, A7, B0, B1 }
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* 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 OLED defines
-#define I2C1_SCL_PIN B8
-#define I2C1_SDA_PIN B9
-
-#define I2C1_SCL_PAL_MODE 1
-#define I2C1_SDA_PAL_MODE 1
-
-#define I2C1_TIMINGR_SCLDEL 3U
-#define I2C1_TIMINGR_SDADEL 1U
-#define I2C1_TIMINGR_SCLH 3U
-#define I2C1_TIMINGR_SCLL 9U
-
-// I2C EEPROM
-#define EEPROM_I2C_CAT24C512
-
-// Dynamic EEPROM
-#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 65535
diff --git a/keyboards/xelus/kangaroo/info.json b/keyboards/xelus/kangaroo/info.json
index c7b45eb946..adb6450826 100644
--- a/keyboards/xelus/kangaroo/info.json
+++ b/keyboards/xelus/kangaroo/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Kangaroo",
- "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/kangaroo",
- "maintainer": "qmk",
+ "manufacturer": "Xelus",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/kangaroo",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x524F"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"label":"PrtSc", "x":4.25, "y":0}, {"label":"Scroll Lock", "x":5.25, "y":0}, {"label":"Pause", "x":6.25, "y":0}, {"label":"Esc", "x":7.5, "y":0}, {"label":"F1", "x":9.5, "y":0}, {"label":"F2", "x":10.5, "y":0}, {"label":"F3", "x":11.5, "y":0}, {"label":"F4", "x":12.5, "y":0}, {"label":"F5", "x":14, "y":0}, {"label":"F6", "x":15, "y":0}, {"label":"F7", "x":16, "y":0}, {"label":"F8", "x":17, "y":0}, {"label":"F9", "x":18.5, "y":0}, {"label":"F10", "x":19.5, "y":0}, {"label":"F11", "x":20.5, "y":0}, {"label":"F12", "x":21.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"label":"Insert", "x":4.25, "y":1.25}, {"label":"Home", "x":5.25, "y":1.25}, {"label":"PgUp", "x":6.25, "y":1.25}, {"label":"~", "x":7.5, "y":1.25}, {"label":"!", "x":8.5, "y":1.25}, {"label":"@", "x":9.5, "y":1.25}, {"label":"#", "x":10.5, "y":1.25}, {"label":"$", "x":11.5, "y":1.25}, {"label":"%", "x":12.5, "y":1.25}, {"label":"^", "x":13.5, "y":1.25}, {"label":"&", "x":14.5, "y":1.25}, {"label":"*", "x":15.5, "y":1.25}, {"label":"(", "x":16.5, "y":1.25}, {"label":")", "x":17.5, "y":1.25}, {"label":"_", "x":18.5, "y":1.25}, {"label":"+", "x":19.5, "y":1.25}, {"x":20.5, "y":1.25}, {"x":21.5, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25}, {"label":"Delete", "x":4.25, "y":2.25}, {"label":"End", "x":5.25, "y":2.25}, {"label":"PgDn", "x":6.25, "y":2.25}, {"label":"Tab", "x":7.5, "y":2.25, "w":1.5}, {"label":"Q", "x":9, "y":2.25}, {"label":"W", "x":10, "y":2.25}, {"label":"E", "x":11, "y":2.25}, {"label":"R", "x":12, "y":2.25}, {"label":"T", "x":13, "y":2.25}, {"label":"Y", "x":14, "y":2.25}, {"label":"U", "x":15, "y":2.25}, {"label":"I", "x":16, "y":2.25}, {"label":"O", "x":17, "y":2.25}, {"label":"P", "x":18, "y":2.25}, {"label":"{", "x":19, "y":2.25}, {"label":"}", "x":20, "y":2.25}, {"label":"|", "x":21, "y":2.25, "w":1.5}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":3, "y":3.25}, {"label":"Caps Lock", "x":7.5, "y":3.25, "w":1.75}, {"label":"A", "x":9.25, "y":3.25}, {"label":"S", "x":10.25, "y":3.25}, {"label":"D", "x":11.25, "y":3.25}, {"label":"F", "x":12.25, "y":3.25}, {"label":"G", "x":13.25, "y":3.25}, {"label":"H", "x":14.25, "y":3.25}, {"label":"J", "x":15.25, "y":3.25}, {"label":"K", "x":16.25, "y":3.25}, {"label":"L", "x":17.25, "y":3.25}, {"label":":", "x":18.25, "y":3.25}, {"label":"\"", "x":19.25, "y":3.25}, {"label":"Enter", "x":20.25, "y":3.25, "w":2.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25}, {"label":"\u2191", "x":5.25, "y":4.25}, {"label":"Shift", "x":7.5, "y":4.25, "w":2.25}, {"label":"Z", "x":9.75, "y":4.25}, {"label":"X", "x":10.75, "y":4.25}, {"label":"C", "x":11.75, "y":4.25}, {"label":"V", "x":12.75, "y":4.25}, {"label":"B", "x":13.75, "y":4.25}, {"label":"N", "x":14.75, "y":4.25}, {"label":"M", "x":15.75, "y":4.25}, {"label":"<", "x":16.75, "y":4.25}, {"label":">", "x":17.75, "y":4.25}, {"label":"?", "x":18.75, "y":4.25}, {"x":19.75, "y":4.25, "w":1.75}, {"x":21.5, "y":4.25}, {"x":0, "y":5.25}, {"x":1, "y":5.25}, {"x":2, "y":5.25}, {"x":3, "y":5.25}, {"label":"\u2190", "x":4.25, "y":5.25}, {"label":"\u2193", "x":5.25, "y":5.25}, {"label":"\u2192", "x":6.25, "y":5.25}, {"label":"Ctrl", "x":7.5, "y":5.25, "w":1.25}, {"label":"Win", "x":8.75, "y":5.25, "w":1.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":6.25}, {"label":"Alt", "x":17.5, "y":5.25, "w":1.25}, {"label":"Win", "x":18.75, "y":5.25, "w":1.25}, {"label":"Menu", "x":20, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":21.25, "y":5.25, "w":1.25}]
diff --git a/keyboards/xelus/kangaroo/kangaroo.c b/keyboards/xelus/kangaroo/kangaroo.c
index a7a3d24800..585d33d498 100644
--- a/keyboards/xelus/kangaroo/kangaroo.c
+++ b/keyboards/xelus/kangaroo/kangaroo.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Harrison Chan (Xelus)
+/* Copyright 2022 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
@@ -16,9 +16,4 @@
#include "kangaroo.h"
-void board_init(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
-}
-
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
diff --git a/keyboards/xelus/kangaroo/keymaps/default/config.h b/keyboards/xelus/kangaroo/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/kangaroo/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/kangaroo/keymaps/via/config.h b/keyboards/xelus/kangaroo/keymaps/via/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/kangaroo/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/kangaroo/readme.md b/keyboards/xelus/kangaroo/readme.md
deleted file mode 100644
index e91f32f96a..0000000000
--- a/keyboards/xelus/kangaroo/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Kangaroo
-
-Left Hand Fullsized Keyboard designed by Jono.
-
-* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
-* Hardware Supported: Kangaroo
-* Hardware Availability: Custom keyboard group buys
-
-Make example for this keyboard (after setting up your build environment):
-
- make xelus/kangaroo: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/xelus/kangaroo/rev1/config.h b/keyboards/xelus/kangaroo/rev1/config.h
new file mode 100644
index 0000000000..a57d22a7f8
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev1/config.h
@@ -0,0 +1,54 @@
+/* Copyright 2020 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
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 11
+
+#define MATRIX_COL_PINS { B10, B2, B11, A10, B7, B6, B5, B4, B3, A15, A14 }
+#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12, A4, A5, A6, A7, B0, B1 }
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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 OLED defines
+#define I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+#define I2C1_TIMINGR_SCLDEL 3U
+#define I2C1_TIMINGR_SDADEL 1U
+#define I2C1_TIMINGR_SCLH 3U
+#define I2C1_TIMINGR_SCLL 9U
+
+// I2C EEPROM
+#define EEPROM_I2C_CAT24C512
+
+// Dynamic EEPROM
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 65535
diff --git a/keyboards/xelus/kangaroo/halconf.h b/keyboards/xelus/kangaroo/rev1/halconf.h
index 633d94a880..633d94a880 100644
--- a/keyboards/xelus/kangaroo/halconf.h
+++ b/keyboards/xelus/kangaroo/rev1/halconf.h
diff --git a/keyboards/xelus/kangaroo/rev1/info.json b/keyboards/xelus/kangaroo/rev1/info.json
new file mode 100644
index 0000000000..523aef4aaa
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Kangaroo Rev 1.0",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/xelus/kangaroo/mcuconf.h b/keyboards/xelus/kangaroo/rev1/mcuconf.h
index 20db196d29..20db196d29 100644
--- a/keyboards/xelus/kangaroo/mcuconf.h
+++ b/keyboards/xelus/kangaroo/rev1/mcuconf.h
diff --git a/keyboards/xelus/kangaroo/rev1/readme.md b/keyboards/xelus/kangaroo/rev1/readme.md
new file mode 100644
index 0000000000..800497b698
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev1/readme.md
@@ -0,0 +1,14 @@
+# Kangaroo Rev 1
+
+Left Hand Fullsized Keyboard designed by Jono.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Kangaroo
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/kangaroo/rev1:default
+ make xelus/kangaroo/rev1:via
+
+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/kangaroo/rev1/rev1.c b/keyboards/xelus/kangaroo/rev1/rev1.c
new file mode 100644
index 0000000000..a71f476498
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev1/rev1.c
@@ -0,0 +1,22 @@
+/* Copyright 2022 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 "rev1.h"
+
+void board_init(void) {
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+}
diff --git a/keyboards/xelus/kangaroo/rev1/rev1.h b/keyboards/xelus/kangaroo/rev1/rev1.h
new file mode 100644
index 0000000000..f146b4f964
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev1/rev1.h
@@ -0,0 +1,17 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
diff --git a/keyboards/xelus/kangaroo/rules.mk b/keyboards/xelus/kangaroo/rev1/rules.mk
index 80826fae5f..80826fae5f 100644
--- a/keyboards/xelus/kangaroo/rules.mk
+++ b/keyboards/xelus/kangaroo/rev1/rules.mk
diff --git a/keyboards/xelus/kangaroo/rev2/config.h b/keyboards/xelus/kangaroo/rev2/config.h
new file mode 100644
index 0000000000..a2f89a0ab1
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev2/config.h
@@ -0,0 +1,38 @@
+/* Copyright 2020 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
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 11
+
+#define MATRIX_COL_PINS { B10, B2, B11, A10, B7, B6, B5, B4, B3, A15, A14 }
+#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12, A4, A5, A6, A7, B0, B1 }
+
+/* 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
+
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE WEAR_LEVELING_LOGICAL_SIZE*2
diff --git a/keyboards/xelus/kangaroo/rev2/info.json b/keyboards/xelus/kangaroo/rev2/info.json
new file mode 100644
index 0000000000..8f7a2c6ce9
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Kangaroo Rev 2.0",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/xelus/kangaroo/rev2/readme.md b/keyboards/xelus/kangaroo/rev2/readme.md
new file mode 100644
index 0000000000..b94bd43cd1
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev2/readme.md
@@ -0,0 +1,14 @@
+# Kangaroo Rev 2
+
+Left Hand Fullsized Keyboard designed by Jono.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Kangaroo
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/kangaroo/rev2:default
+ make xelus/kangaroo/rev2:via
+
+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/kangaroo/rev2/rules.mk b/keyboards/xelus/kangaroo/rev2/rules.mk
new file mode 100644
index 0000000000..44ac92bb81
--- /dev/null
+++ b/keyboards/xelus/kangaroo/rev2/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32L412
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+EEPROM_DRIVER = i2c
+
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h
index 14cad0fa87..40d53adb06 100755
--- a/keyboards/xelus/la_plus/config.h
+++ b/keyboards/xelus/la_plus/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x4C50 // LP
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT MechaMaker La+
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, F0, F4, F5 }
#define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/la_plus/info.json b/keyboards/xelus/la_plus/info.json
index bfa3a4dc20..ced81e6f3d 100644
--- a/keyboards/xelus/la_plus/info.json
+++ b/keyboards/xelus/la_plus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "La+",
+ "keyboard_name": "MechaMaker La+",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x4C50",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/la_plus/keymaps/default/config.h b/keyboards/xelus/la_plus/keymaps/default/config.h
deleted file mode 100644
index e559a15426..0000000000
--- a/keyboards/xelus/la_plus/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/la_plus/keymaps/via/config.h b/keyboards/xelus/la_plus/keymaps/via/config.h
index 58c086282c..43760bd281 100644
--- a/keyboards/xelus/la_plus/keymaps/via/config.h
+++ b/keyboards/xelus/la_plus/keymaps/via/config.h
@@ -18,5 +18,3 @@
// Enable RGB Matrix
#define VIA_QMK_RGBLIGHT_ENABLE
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/ninjin/config.h b/keyboards/xelus/ninjin/config.h
index 4dd40210a6..7f49c299af 100644
--- a/keyboards/xelus/ninjin/config.h
+++ b/keyboards/xelus/ninjin/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x4E4A // NJ
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Ninjin
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/xelus/ninjin/info.json b/keyboards/xelus/ninjin/info.json
index 8b44ea9ded..f85a6a54c4 100644
--- a/keyboards/xelus/ninjin/info.json
+++ b/keyboards/xelus/ninjin/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Ninjin",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x4E4A",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_all": "LAYOUT_tkl_ansi_tsangan"
},
diff --git a/keyboards/xelus/pachi/mini_32u4/config.h b/keyboards/xelus/pachi/mini_32u4/config.h
index cf15d57cfc..f2abc3619f 100644
--- a/keyboards/xelus/pachi/mini_32u4/config.h
+++ b/keyboards/xelus/pachi/mini_32u4/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5041 // PA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Pachi Mini
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/xelus/pachi/mini_32u4/info.json b/keyboards/xelus/pachi/mini_32u4/info.json
index 3b0128ee82..ca78bdbffe 100644
--- a/keyboards/xelus/pachi/mini_32u4/info.json
+++ b/keyboards/xelus/pachi/mini_32u4/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Pachi Mini",
+ "keyboard_name": "Pachi Mini",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5041",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h
index fc3a2bd0b2..47bbf2bf81 100644
--- a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h
+++ b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h
@@ -18,5 +18,3 @@
// 3 layers or else it will not fit in EEPROM
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/rev1/config.h b/keyboards/xelus/pachi/rev1/config.h
index 2379700138..8a8c51779f 100644
--- a/keyboards/xelus/pachi/rev1/config.h
+++ b/keyboards/xelus/pachi/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5041 // PA
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Pachi
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/xelus/pachi/rev1/info.json b/keyboards/xelus/pachi/rev1/info.json
index 2fb0c55479..1b14340edd 100644
--- a/keyboards/xelus/pachi/rev1/info.json
+++ b/keyboards/xelus/pachi/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Pachi Rev 1",
+ "keyboard_name": "Pachi Rev 1",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5041",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/pachi/rev1/keymaps/default/config.h b/keyboards/xelus/pachi/rev1/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/pachi/rev1/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/rev1/keymaps/via/config.h b/keyboards/xelus/pachi/rev1/keymaps/via/config.h
index fc3a2bd0b2..47bbf2bf81 100644
--- a/keyboards/xelus/pachi/rev1/keymaps/via/config.h
+++ b/keyboards/xelus/pachi/rev1/keymaps/via/config.h
@@ -18,5 +18,3 @@
// 3 layers or else it will not fit in EEPROM
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/rgb/keymaps/default/config.h b/keyboards/xelus/pachi/rgb/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/pachi/rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/keymaps/via/config.h
index 1213e7a8f2..0e34ad2c1a 100644
--- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h
+++ b/keyboards/xelus/pachi/rgb/keymaps/via/config.h
@@ -21,5 +21,3 @@
// Enable RGB Matrix
#define VIA_QMK_RGBLIGHT_ENABLE
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h
index 2711b5c7a8..9eda99ed32 100644
--- a/keyboards/xelus/pachi/rgb/rev1/config.h
+++ b/keyboards/xelus/pachi/rgb/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // "XE"
-#define PRODUCT_ID 0x5052 // "PR"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Pachi RGB Rev1
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B14, B13, B12, B2, A8, B15 }
#define MATRIX_COL_PINS { C13, C14, C15, H0, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, H1, B10, B11 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/pachi/rgb/rev1/info.json b/keyboards/xelus/pachi/rgb/rev1/info.json
index 7448e755f0..24b6c4834a 100644
--- a/keyboards/xelus/pachi/rgb/rev1/info.json
+++ b/keyboards/xelus/pachi/rgb/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Pachi RGB Rev 1",
+ "keyboard_name": "Pachi RGB Rev 1",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5052",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT_ansi_tsangan": "LAYOUT_tkl_ansi_tsangan"
},
diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h
index 35a4cf238f..6295228c31 100644
--- a/keyboards/xelus/pachi/rgb/rev2/config.h
+++ b/keyboards/xelus/pachi/rgb/rev2/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // "XE"
-#define PRODUCT_ID 0x5053 // "PR" + 1
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Pachi RGB Rev 2
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { A5, A6, B0, A7, A8, B1, B4, B5, A15, B3, A13, A14 }
#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A10, A9}
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/pachi/rgb/rev2/info.json b/keyboards/xelus/pachi/rgb/rev2/info.json
index 7448e755f0..46a4de5920 100644
--- a/keyboards/xelus/pachi/rgb/rev2/info.json
+++ b/keyboards/xelus/pachi/rgb/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Pachi RGB Rev 1",
+ "keyboard_name": "Pachi RGB Rev 2",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5053",
+ "device_version": "0.0.2"
+ },
"layout_aliases": {
"LAYOUT_ansi_tsangan": "LAYOUT_tkl_ansi_tsangan"
},
diff --git a/keyboards/xelus/rs108/config.h b/keyboards/xelus/rs108/config.h
new file mode 100644
index 0000000000..990c0aca55
--- /dev/null
+++ b/keyboards/xelus/rs108/config.h
@@ -0,0 +1,67 @@
+/* Copyright 2022 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
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 11
+
+#define MATRIX_ROW_PINS { B5, B6, B7, A1, A0, C13, B0, A7, A5, A4, A3, A2 }
+#define MATRIX_COL_PINS { A10, A8, B15, B14, B13, B12, B1, B10, B4, B3, A15 }
+
+// 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
+
+//Indicator
+#define LED_CAPS_LOCK_PIN A6
+#define LED_SCROLL_LOCK_PIN A13
+#define LED_NUM_LOCK_PIN A14
+
+// I2C config
+#define I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+#define I2C1_SCL_PAL_MODE 4
+#define I2C1_SDA_PAL_MODE 4
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+// EEPROM config
+// 24LC32
+#define EXTERNAL_EEPROM_BYTE_COUNT 4096
+#define EXTERNAL_EEPROM_PAGE_SIZE 32
+#define EXTERNAL_EEPROM_ADDRESS_SIZE 2
+#define EXTERNAL_EEPROM_WRITE_TIME 5
+
+// More EEPROM for layers
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+
+// Hardware Defines
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+// HSE CLK
+#define STM32_HSECLK 16000000
+
+//Force NKRO
+#define FORCE_NKRO
diff --git a/keyboards/xelus/rs60/rev2/halconf.h b/keyboards/xelus/rs108/halconf.h
index b3e848852b..b3e848852b 100644
--- a/keyboards/xelus/rs60/rev2/halconf.h
+++ b/keyboards/xelus/rs108/halconf.h
diff --git a/keyboards/xelus/rs108/info.json b/keyboards/xelus/rs108/info.json
new file mode 100644
index 0000000000..c266a5193b
--- /dev/null
+++ b/keyboards/xelus/rs108/info.json
@@ -0,0 +1,125 @@
+{
+ "keyboard_name": "RS108",
+ "manufacturer": "Xelus",
+ "url": "",
+ "maintainer": "xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5208",
+ "device_version": "0.0.2"
+ },
+ "layouts": {
+ "LAYOUT_108_fullsize_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": "Num Lock", "x": 18.5, "y": 0 },
+ { "label": "MUTE", "x": 19.5, "y": 0 },
+ { "label": "VOLD", "x": 20.5, "y": 0 },
+ { "label": "VOLU", "x": 21.5, "y": 0 },
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "!", "x": 1, "y": 1.25 },
+ { "label": "@", "x": 2, "y": 1.25 },
+ { "label": "#", "x": 3, "y": 1.25 },
+ { "label": "$", "x": 4, "y": 1.25 },
+ { "label": "%", "x": 5, "y": 1.25 },
+ { "label": "^", "x": 6, "y": 1.25 },
+ { "label": "&", "x": 7, "y": 1.25 },
+ { "label": "*", "x": 8, "y": 1.25 },
+ { "label": "(", "x": 9, "y": 1.25 },
+ { "label": ")", "x": 10, "y": 1.25 },
+ { "label": "_", "x": 11, "y": 1.25 },
+ { "label": "+", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PgUp", "x": 17.25, "y": 1.25 },
+ { "label": "Num Lock", "x": 18.5, "y": 1.25 },
+ { "label": "/", "x": 19.5, "y": 1.25 },
+ { "label": "*", "x": 20.5, "y": 1.25 },
+ { "label": "-", "x": 21.5, "y": 1.25 },
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "{", "x": 11.5, "y": 2.25 },
+ { "label": "}", "x": 12.5, "y": 2.25 },
+ { "label": "|", "x": 13.5, "y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PgDn", "x": 17.25, "y": 2.25 },
+ { "label": "7", "x": 18.5, "y": 2.25 },
+ { "label": "8", "x": 19.5, "y": 2.25 },
+ { "label": "9", "x": 20.5, "y": 2.25 },
+ { "label": "+", "x": 21.5, "y": 2.25, "h": 2 },
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ":", "x": 10.75, "y": 3.25 },
+ { "label": "\"", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+ { "label": "4", "x": 18.5, "y": 3.25 },
+ { "label": "5", "x": 19.5, "y": 3.25 },
+ { "label": "6", "x": 20.5, "y": 3.25 },
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": "<", "x": 9.25, "y": 4.25 },
+ { "label": ">", "x": 10.25, "y": 4.25 },
+ { "label": "?", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+ { "label": "1", "x": 18.5, "y": 4.25 },
+ { "label": "2", "x": 19.5, "y": 4.25 },
+ { "label": "3", "x": 20.5, "y": 4.25 },
+ { "label": "Enter", "x": 21.5, "y": 4.25, "h": 2 },
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 },
+ { "label": "0", "x": 18.5, "y": 5.25, "w": 2 },
+ { "label": ".", "x": 20.5, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/xelus/rs108/keymaps/default/keymap.c b/keyboards/xelus/rs108/keymaps/default/keymap.c
new file mode 100644
index 0000000000..24f2ae7668
--- /dev/null
+++ b/keyboards/xelus/rs108/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* 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_108_fullsize_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ ),
+
+ [1] = LAYOUT_108_fullsize_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/xelus/rs108/keymaps/via/keymap.c b/keyboards/xelus/rs108/keymaps/via/keymap.c
new file mode 100644
index 0000000000..359c9aef3f
--- /dev/null
+++ b/keyboards/xelus/rs108/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/* 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_108_fullsize_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ ),
+
+ [1] = LAYOUT_108_fullsize_ansi(
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, 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_108_fullsize_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, 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_108_fullsize_ansi(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/xelus/rs108/keymaps/via/rules.mk b/keyboards/xelus/rs108/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/xelus/rs108/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/xelus/rs60/rev2/mcuconf.h b/keyboards/xelus/rs108/mcuconf.h
index 2ef15d0720..2ef15d0720 100644
--- a/keyboards/xelus/rs60/rev2/mcuconf.h
+++ b/keyboards/xelus/rs108/mcuconf.h
diff --git a/keyboards/xelus/rs108/readme.md b/keyboards/xelus/rs108/readme.md
new file mode 100644
index 0000000000..d287387190
--- /dev/null
+++ b/keyboards/xelus/rs108/readme.md
@@ -0,0 +1,19 @@
+# RS108
+
+Full-size PCB in collaboration with Bisoromi and Mekibo
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: RS108
+* Hardware Availability: Custom Keyboard Group Buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/rs108:default
+
+Reset your keyboard in 3 ways:
+
+* Software reset on Fn [MO(1)] + Backspace
+* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
+* Physical reset button: on the back of the PCB, there should be a small golden button you can press
+
+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/rs108/rs108.c b/keyboards/xelus/rs108/rs108.c
new file mode 100644
index 0000000000..7c23446466
--- /dev/null
+++ b/keyboards/xelus/rs108/rs108.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 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 "rs108.h"
diff --git a/keyboards/xelus/rs108/rs108.h b/keyboards/xelus/rs108/rs108.h
new file mode 100644
index 0000000000..5ba9d70ce8
--- /dev/null
+++ b/keyboards/xelus/rs108/rs108.h
@@ -0,0 +1,42 @@
+/* Copyright 2022 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 XXXXX KC_NO
+
+#define LAYOUT_108_fullsize_ansi( \
+ K0000, K0001, K0101, K0002, K0102, K0003, K0103, K0004, K0104, K0005, K0105, K0006, K0106, K0007, K0107, K0008, K0108, K0009, K0109, K0010, \
+ K0200, K0300, K0201, K0301, K0202, K0302, K0203, K0303, K0204, K0304, K0205, K0305, K0206, K0306, K0207, K0307, K0208, K0308, K0209, K0309, K0210, \
+ K0400, K0500, K0401, K0501, K0402, K0502, K0403, K0503, K0404, K0504, K0405, K0505, K0406, K0506, K0407, K0507, K0408, K0508, K0409, K0509, \
+ K0600, K0700, K0601, K0701, K0602, K0702, K0603, K0703, K0604, K0704, K0605, K0705, K0706, K0708, K0609, K0709, K0610, \
+ K0800, K0900, K0801, K0901, K0802, K0902, K0803, K0903, K0804, K0904, K0805, K0906, K0907, K0908, K0809, K0909, \
+ K1000, K1100, K1001, K1102, K1104, K1005, K1006, K1106, K1007, K1107, K1008, K1009, K1109, K1010 \
+) { \
+ { K0000, K0001, K0002, K0003, K0004, K0005, K0006, K0007, K0008, K0009, K0010 }, \
+ { XXXXX, K0101, K0102, K0103, K0104, K0105, K0106, K0107, K0108, K0109, XXXXX }, \
+ { K0200, K0201, K0202, K0203, K0204, K0205, K0206, K0207, K0208, K0209, K0210 }, \
+ { K0300, K0301, K0302, K0303, K0304, K0305, K0306, K0307, K0308, K0309, XXXXX }, \
+ { K0400, K0401, K0402, K0403, K0404, K0405, K0406, K0407, K0408, K0409, XXXXX }, \
+ { K0500, K0501, K0502, K0503, K0504, K0505, K0506, K0507, K0508, K0509, XXXXX }, \
+ { K0600, K0601, K0602, K0603, K0604, K0605, XXXXX, XXXXX, XXXXX, K0609, K0610 }, \
+ { K0700, K0701, K0702, K0703, K0704, K0705, K0706, XXXXX, K0708, K0709, XXXXX }, \
+ { K0800, K0801, K0802, K0803, K0804, K0805, XXXXX, XXXXX, XXXXX, K0809, XXXXX }, \
+ { K0900, K0901, K0902, K0903, K0904, XXXXX, K0906, K0907, K0908, K0909, XXXXX }, \
+ { K1000, K1001, XXXXX, XXXXX, XXXXX, K1005, K1006, K1007, K1008, K1009, K1010 }, \
+ { K1100, XXXXX, K1102, XXXXX, K1104, XXXXX, K1106, K1107, XXXXX, K1109, XXXXX }, \
+}
diff --git a/keyboards/xelus/rs108/rules.mk b/keyboards/xelus/rs108/rules.mk
new file mode 100644
index 0000000000..46df2e4e8e
--- /dev/null
+++ b/keyboards/xelus/rs108/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+EEPROM_DRIVER = i2c
+
+# Save hid interface
+KEYBOARD_SHARED_EP = yes
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/xelus/rs60/info.json b/keyboards/xelus/rs60/info.json
index 3a0582fc7f..241f1cbe44 100644
--- a/keyboards/xelus/rs60/info.json
+++ b/keyboards/xelus/rs60/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "RS60",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5253"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/xelus/rs60/keymaps/default/config.h b/keyboards/xelus/rs60/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/rs60/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/rs60/keymaps/via/config.h b/keyboards/xelus/rs60/keymaps/via/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/rs60/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/rs60/rev1/config.h b/keyboards/xelus/rs60/rev1/config.h
index ce0c2e1d02..00fbf6712b 100644
--- a/keyboards/xelus/rs60/rev1/config.h
+++ b/keyboards/xelus/rs60/rev1/config.h
@@ -15,20 +15,12 @@
*/
#pragma once
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5253 // RS60
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT RS60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B3, B7, F0, F4, F1 }
#define MATRIX_COL_PINS { E6, D5, D3, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4}
-#define UNUSED_PINS
// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/rs60/rev1/info.json b/keyboards/xelus/rs60/rev1/info.json
new file mode 100644
index 0000000000..cf78bc4ec7
--- /dev/null
+++ b/keyboards/xelus/rs60/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.1.0"
+ }
+}
diff --git a/keyboards/xelus/rs60/rev2/chconf.h b/keyboards/xelus/rs60/rev2/chconf.h
deleted file mode 100644
index a9608a4c75..0000000000
--- a/keyboards/xelus/rs60/rev2/chconf.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2022 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/acheron/austin/chconf.h -r platforms/chibios/common/configs/chconf.h`
- */
-
-#pragma once
-
-#define CH_CFG_ST_FREQUENCY 10000
-
-#define CH_CFG_OPTIMIZE_SPEED FALSE
-
-#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
-
-#include_next <chconf.h>
diff --git a/keyboards/xelus/rs60/rev2/config.h b/keyboards/xelus/rs60/rev2/config.h
deleted file mode 100644
index 74258b1289..0000000000
--- a/keyboards/xelus/rs60/rev2/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2022 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
-
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5253 // RS60
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Xelus
-#define PRODUCT RS60
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-#define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 }
-#define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, 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
-
-//Indicator
-#define LED_CAPS_LOCK_PIN A1
-
-// I2C config
-#define I2C1_SCL_PIN B8
-#define I2C1_SDA_PIN B9
-#define I2C1_SCL_PAL_MODE 4
-#define I2C1_SDA_PAL_MODE 4
-#define I2C1_CLOCK_SPEED 400000
-#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
-
-// EEPROM config
-// 24LC32
-#define EXTERNAL_EEPROM_BYTE_COUNT 4096
-#define EXTERNAL_EEPROM_PAGE_SIZE 32
-#define EXTERNAL_EEPROM_ADDRESS_SIZE 2
-#define EXTERNAL_EEPROM_WRITE_TIME 5
-
-// More EEPROM for layers
-#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
-
-// Hardware Defines
-#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-
-// HSE CLK
-#define STM32_HSECLK 16000000
-
-//Force NKRO
-#define FORCE_NKRO
diff --git a/keyboards/xelus/rs60/rev2/rev2.c b/keyboards/xelus/rs60/rev2/rev2.c
deleted file mode 100644
index f51e262ea0..0000000000
--- a/keyboards/xelus/rs60/rev2/rev2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #include "rev2.h"
diff --git a/keyboards/xelus/rs60/rev2/rev2.h b/keyboards/xelus/rs60/rev2/rev2.h
deleted file mode 100644
index 9b8e841de5..0000000000
--- a/keyboards/xelus/rs60/rev2/rev2.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT_60_ansi_split_bs_rshift( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
- 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, K2C, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \
- K40, K41, K42, K45, K49, K4A, K4C, K4D \
-) { \
- { 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, K2C, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
- { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \
-}
diff --git a/keyboards/xelus/rs60/rev2/rules.mk b/keyboards/xelus/rs60/rev2/rules.mk
deleted file mode 100644
index 95c0f0bc60..0000000000
--- a/keyboards/xelus/rs60/rev2/rules.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# MCU name
-MCU = STM32F401
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-EEPROM_DRIVER = i2c
-
-# Save hid interface
-KEYBOARD_SHARED_EP = yes
-
-# Enter lower-power sleep mode when on the ChibiOS idle thread
-OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
-
-LAYOUTS = 60_ansi_split_bs_rshift
diff --git a/keyboards/xelus/rs60/rev2_0/config.h b/keyboards/xelus/rs60/rev2_0/config.h
new file mode 100644
index 0000000000..71eb5fb262
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/config.h
@@ -0,0 +1,65 @@
+/* Copyright 2022 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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+#define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 }
+#define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 }
+
+// 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
+
+//Indicator
+#define LED_CAPS_LOCK_PIN A1
+
+// I2C config
+#define I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+#define I2C1_SCL_PAL_MODE 4
+#define I2C1_SDA_PAL_MODE 4
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
+
+// EEPROM config
+// 24LC32
+#define EXTERNAL_EEPROM_BYTE_COUNT 4096
+#define EXTERNAL_EEPROM_PAGE_SIZE 32
+#define EXTERNAL_EEPROM_ADDRESS_SIZE 2
+#define EXTERNAL_EEPROM_WRITE_TIME 5
+
+// More EEPROM for layers
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+
+// Hardware Defines
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+
+// HSE CLK
+#define STM32_HSECLK 16000000
+
+//Force NKRO
+#define FORCE_NKRO
diff --git a/keyboards/xelus/rs60/rev2_0/halconf.h b/keyboards/xelus/rs60/rev2_0/halconf.h
new file mode 100644
index 0000000000..b3e848852b
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/halconf.h
@@ -0,0 +1,26 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/acheron/austin/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/xelus/rs60/rev2_0/info.json b/keyboards/xelus/rs60/rev2_0/info.json
new file mode 100644
index 0000000000..f9f8400732
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.2.0"
+ }
+}
diff --git a/keyboards/xelus/rs60/rev2_0/mcuconf.h b/keyboards/xelus/rs60/rev2_0/mcuconf.h
new file mode 100644
index 0000000000..2ef15d0720
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/mcuconf.h
@@ -0,0 +1,42 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#undef STM32_PLLN_VALUE
+#undef STM32_PLLP_VALUE
+#undef STM32_PLLQ_VALUE
+#undef STM32_PPRE1
+#undef STM32_PPRE2
+
+// 64MHz core
+#define STM32_PLLM_VALUE 8
+#define STM32_PLLN_VALUE 168
+#define STM32_PLLP_VALUE 4
+#define STM32_PLLQ_VALUE 7
+#define STM32_PPRE1 STM32_PPRE1_DIV2
+#define STM32_PPRE2 STM32_PPRE1_DIV1
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/xelus/rs60/rev2_0/readme.md b/keyboards/xelus/rs60/rev2_0/readme.md
new file mode 100644
index 0000000000..692e4a9f0d
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/readme.md
@@ -0,0 +1,20 @@
+# RS60 Rev2 Prototype Version
+
+60% PCB with daughterboard in collaboration with Bisoromi and Mekibo
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: RS60
+* Hardware Availability: Custom Keyboard Group Buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/rs60/rev2_0:default
+ make xelus/rs60/rev2_0:via
+
+Reset your keyboard in 3 ways:
+
+* Software reset on Fn [MO(1)] + Backspace
+* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
+* Physical reset button: on the back of the PCB, there should be a small golden button you can press
+
+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/rs60/rev2_0/rev2_0.c b/keyboards/xelus/rs60/rev2_0/rev2_0.c
new file mode 100644
index 0000000000..d2abbda521
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/rev2_0.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 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_0.h"
diff --git a/keyboards/xelus/rs60/rev2_0/rev2_0.h b/keyboards/xelus/rs60/rev2_0/rev2_0.h
new file mode 100644
index 0000000000..dd43418964
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/rev2_0.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 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 XXX KC_NO
+
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
+ 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, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \
+}
diff --git a/keyboards/xelus/rs60/rev2_0/rules.mk b/keyboards/xelus/rs60/rev2_0/rules.mk
new file mode 100644
index 0000000000..df66f7dd37
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+EEPROM_DRIVER = i2c
+
+# Save hid interface
+KEYBOARD_SHARED_EP = yes
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+LAYOUTS = 60_ansi_split_bs_rshift
diff --git a/keyboards/xelus/rs60/rev2_1/config.h b/keyboards/xelus/rs60/rev2_1/config.h
new file mode 100644
index 0000000000..9f5925f784
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/config.h
@@ -0,0 +1,45 @@
+/* Copyright 2022 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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+#define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 }
+#define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 }
+
+// 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
+
+//Indicator
+#define LED_CAPS_LOCK_PIN A1
+
+// Emulated EEPROM
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE WEAR_LEVELING_LOGICAL_SIZE*2
+
+//Force NKRO
+#define FORCE_NKRO
diff --git a/keyboards/xelus/rs60/rev2_1/info.json b/keyboards/xelus/rs60/rev2_1/info.json
new file mode 100644
index 0000000000..79768e0009
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.2.1"
+ }
+}
diff --git a/keyboards/xelus/rs60/rev2_1/readme.md b/keyboards/xelus/rs60/rev2_1/readme.md
new file mode 100644
index 0000000000..2454fec271
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/readme.md
@@ -0,0 +1,20 @@
+# RS60 Rev2 Production Version
+
+60% PCB with daughterboard in collaboration with Bisoromi and Mekibo
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: RS60
+* Hardware Availability: Custom Keyboard Group Buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/rs60/rev2_1:default
+ make xelus/rs60/rev2_1:via
+
+Reset your keyboard in 3 ways:
+
+* Software reset on Fn [MO(1)] + Backspace
+* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
+* Physical reset button: on the back of the PCB, there should be a small golden button you can press
+
+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/rs60/rev2_1/rev2_1.c b/keyboards/xelus/rs60/rev2_1/rev2_1.c
new file mode 100644
index 0000000000..dc234542b5
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/rev2_1.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 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_1.h"
diff --git a/keyboards/xelus/rs60/rev2_1/rev2_1.h b/keyboards/xelus/rs60/rev2_1/rev2_1.h
new file mode 100644
index 0000000000..dd43418964
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/rev2_1.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 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 XXX KC_NO
+
+#define LAYOUT_60_ansi_split_bs_rshift( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
+ 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, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3C, K3D, \
+ K40, K41, K42, K45, K49, K4A, K4C, K4D \
+) { \
+ { 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, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, XXX, K4C, K4D } \
+}
diff --git a/keyboards/xelus/rs60/rev2_1/rules.mk b/keyboards/xelus/rs60/rev2_1/rules.mk
new file mode 100644
index 0000000000..da1f821141
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_1/rules.mk
@@ -0,0 +1,29 @@
+# MCU name
+MCU = STM32L412
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
+
+# Save hid interface
+KEYBOARD_SHARED_EP = yes
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+LAYOUTS = 60_ansi_split_bs_rshift
diff --git a/keyboards/xelus/rs60/rs60.h b/keyboards/xelus/rs60/rs60.h
index 81e4470db5..5a52d37a7f 100644
--- a/keyboards/xelus/rs60/rs60.h
+++ b/keyboards/xelus/rs60/rs60.h
@@ -19,6 +19,8 @@
#if defined(KEYBOARD_xelus_rs60_rev1)
#include "rev1.h"
-#elif defined(KEYBOARD_xelus_rs60_rev2)
- #include "rev2.h"
+#elif defined(KEYBOARD_xelus_rs60_rev2_0)
+ #include "rev2_0.h"
+#elif defined(KEYBOARD_xelus_rs60_rev2_1)
+ #include "rev2_1.h"
#endif
diff --git a/keyboards/xelus/snap96/config.h b/keyboards/xelus/snap96/config.h
index 96c5d24723..a42ecb1931 100644
--- a/keyboards/xelus/snap96/config.h
+++ b/keyboards/xelus/snap96/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-// USB Device descriptor parameter
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5396 // Snap96
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Snap96
-
// key matrix size
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
@@ -16,7 +9,6 @@
// key matrix pins
#define MATRIX_ROW_PINS { B2, B1, B0, C7, F6, F7, B3, D1, D2, D7, B6, C6 }
#define MATRIX_COL_PINS { E6, D5, B7, D0, F5, D3, B4, B5, D4, D6 }
-#define UNUSED_PINS
// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/snap96/info.json b/keyboards/xelus/snap96/info.json
index 5130c5db6e..74c7d6225a 100644
--- a/keyboards/xelus/snap96/info.json
+++ b/keyboards/xelus/snap96/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Snap96",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5396",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/trinityxttkl/config.h b/keyboards/xelus/trinityxttkl/config.h
index 12745c54dc..d480a57ff8 100644
--- a/keyboards/xelus/trinityxttkl/config.h
+++ b/keyboards/xelus/trinityxttkl/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // XE
-#define PRODUCT_ID 0x5854 // XT
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT TrinityXTtkl
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
diff --git a/keyboards/xelus/trinityxttkl/info.json b/keyboards/xelus/trinityxttkl/info.json
index de113f2193..724eaef114 100644
--- a/keyboards/xelus/trinityxttkl/info.json
+++ b/keyboards/xelus/trinityxttkl/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Trinity XT TKL",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5854",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/valor/rev1/config.h b/keyboards/xelus/valor/rev1/config.h
index a45ecbc079..96e4835996 100644
--- a/keyboards/xelus/valor/rev1/config.h
+++ b/keyboards/xelus/valor/rev1/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // "XE"
-#define PRODUCT_ID 0x5652 // Valor "VR"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Valor
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B1, B2, C7, C6, B6 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5, B4, D7, D6, D4, D5, D3, D2 }
-#define UNUSED_PINS
/* RGB Underglow */
#define RGB_DI_PIN B0
diff --git a/keyboards/xelus/valor/rev1/info.json b/keyboards/xelus/valor/rev1/info.json
index 33e367059c..7e8f874d2c 100644
--- a/keyboards/xelus/valor/rev1/info.json
+++ b/keyboards/xelus/valor/rev1/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Valor rev1",
+ "keyboard_name": "Valor Rev1",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5652",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h
index 8201373d23..44a16e9b7e 100644
--- a/keyboards/xelus/valor/rev2/config.h
+++ b/keyboards/xelus/valor/rev2/config.h
@@ -18,13 +18,6 @@
#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
@@ -32,7 +25,6 @@
/* 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
diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json
index 47fd2c3e2b..1d19fbad2d 100644
--- a/keyboards/xelus/valor/rev2/info.json
+++ b/keyboards/xelus/valor/rev2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xelus Valor Rev2",
+ "keyboard_name": "Valor Rev2",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5653",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/xelus/valor/rev2/keymaps/default/config.h b/keyboards/xelus/valor/rev2/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/valor/rev2/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor/rev2/keymaps/via/config.h b/keyboards/xelus/valor/rev2/keymaps/via/config.h
index 490964f272..e7fb31cb23 100644
--- a/keyboards/xelus/valor/rev2/keymaps/via/config.h
+++ b/keyboards/xelus/valor/rev2/keymaps/via/config.h
@@ -20,5 +20,3 @@
// More layers
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor_frl_tkl/config.h b/keyboards/xelus/valor_frl_tkl/config.h
deleted file mode 100644
index c1c08878c0..0000000000
--- a/keyboards/xelus/valor_frl_tkl/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2020 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 0x4654 // "FT"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus Valor FRL TKL
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 17
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { A15, A14, A1, B3, B4 }
-#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, A0, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
-#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 OLED defines
-#define I2C1_SCL_PIN B8
-#define I2C1_SDA_PIN B9
-
-#define I2C1_SCL_PAL_MODE 1
-#define I2C1_SDA_PAL_MODE 1
-
-#define I2C1_TIMINGR_SCLDEL 3U
-#define I2C1_TIMINGR_SDADEL 1U
-#define I2C1_TIMINGR_SCLH 3U
-#define I2C1_TIMINGR_SCLL 9U
-
-// I2C EEPROM
-// 24LC64
-#define EEPROM_I2C_24LC64
-
-// Dynamic EEPROM
-// Something sensible or else VIA may crash
-// Users may enable more if they wish
-#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
diff --git a/keyboards/xelus/valor_frl_tkl/info.json b/keyboards/xelus/valor_frl_tkl/info.json
index 36c95032fb..dbd017dc5c 100644
--- a/keyboards/xelus/valor_frl_tkl/info.json
+++ b/keyboards/xelus/valor_frl_tkl/info.json
@@ -1,7 +1,11 @@
{
- "keyboard_name": "Xelus Valor FRL TKL",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x4654"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h
deleted file mode 100644
index 7b8de5510e..0000000000
--- a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2020 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
index 24c1571995..c7b3a1818f 100644
--- a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
+++ b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
@@ -17,7 +17,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP,
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h
deleted file mode 100644
index 7b8de5510e..0000000000
--- a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2020 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
index 24d2627272..d73d3c646f 100644
--- a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
+++ b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
@@ -17,7 +17,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP,
diff --git a/keyboards/xelus/valor_frl_tkl/readme.md b/keyboards/xelus/valor_frl_tkl/readme.md
deleted file mode 100644
index da85ebbd47..0000000000
--- a/keyboards/xelus/valor_frl_tkl/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Valor FRL TKL
-
-An Alice-esque FRL TKL keyboard PCB.
-
-* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
-* Hardware Supported: Valor FRL TKL
-* Hardware Availability: Custom keyboard group buys
-
-Make example for this keyboard (after setting up your build environment):
-
- make xelus/valor_frl_tkl: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/xelus/valor_frl_tkl/chconf.h b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h
index 5b1d65cb74..5b1d65cb74 100644
--- a/keyboards/xelus/valor_frl_tkl/chconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/config.h b/keyboards/xelus/valor_frl_tkl/rev1/config.h
new file mode 100644
index 0000000000..46c598c637
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/config.h
@@ -0,0 +1,60 @@
+/* Copyright 2020 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"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A15, A14, A1, B3, B4 }
+#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, A0, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
+
+/* 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 OLED defines
+#define I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+#define I2C1_TIMINGR_SCLDEL 3U
+#define I2C1_TIMINGR_SDADEL 1U
+#define I2C1_TIMINGR_SCLH 3U
+#define I2C1_TIMINGR_SCLL 9U
+
+// I2C EEPROM
+// 24LC64
+#define EEPROM_I2C_24LC64
+
+// Dynamic EEPROM
+// Something sensible or else VIA may crash
+// Users may enable more if they wish
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
diff --git a/keyboards/xelus/valor_frl_tkl/halconf.h b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h
index 1dbf1a4fe0..1dbf1a4fe0 100644
--- a/keyboards/xelus/valor_frl_tkl/halconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/info.json b/keyboards/xelus/valor_frl_tkl/rev1/info.json
new file mode 100644
index 0000000000..694c988376
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Valor FRL TKL Rev1",
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/xelus/valor_frl_tkl/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h
index 6013ff13fb..6013ff13fb 100644
--- a/keyboards/xelus/valor_frl_tkl/mcuconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/readme.md b/keyboards/xelus/valor_frl_tkl/rev1/readme.md
new file mode 100644
index 0000000000..7069a57f06
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/readme.md
@@ -0,0 +1,13 @@
+# Valor FRL TKL
+
+An Alice-esque FRL TKL keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor FRL TKL
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/valor_frl_tkl/rev1: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/xelus/valor_frl_tkl/rev1/rev1.c b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c
new file mode 100644
index 0000000000..d26d2021f9
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c
@@ -0,0 +1,24 @@
+/* Copyright 2020 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/>.
+ */
+
+// Nothing to see here, move along... ;-)
+
+#include "rev1.h"
+
+void board_init(void) {
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/rev1.h b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h
new file mode 100644
index 0000000000..94ae0fcbab
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h
@@ -0,0 +1,35 @@
+/* Copyright 2020 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_all( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, K015, K016, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
+ K400, K402, K404, K405, K407, K409, K412, K414, K415, K416 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, ____, ____ }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, K315, ____ }, \
+ { K400, ____, K402, ____, K404, K405, ____, K407, ____, K409, ____, ____, K412, ____, K414, K415, K416 } \
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rules.mk b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk
index 1c71897c3e..1c71897c3e 100644
--- a/keyboards/xelus/valor_frl_tkl/rules.mk
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/.noci b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/config.h b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h
new file mode 100644
index 0000000000..4f42348b56
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2022 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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A15, A14, A10, B3, B4 }
+#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 }
+#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
+
+#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/info.json b/keyboards/xelus/valor_frl_tkl/rev2_0/info.json
new file mode 100644
index 0000000000..1764cc45eb
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Valor FRL TKL Rev2.0",
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h
new file mode 100644
index 0000000000..d7550e5c76
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#undef STM32_PLLN_VALUE
+#undef STM32_PLLP_VALUE
+#undef STM32_PLLQ_VALUE
+#undef STM32_PPRE1
+#undef STM32_PPRE2
+
+// 96MHz core
+#define STM32_PLLM_VALUE 8
+#define STM32_PLLN_VALUE 96
+#define STM32_PLLP_VALUE 2
+#define STM32_PLLQ_VALUE 4
+#define STM32_PPRE1 STM32_PPRE1_DIV2
+#define STM32_PPRE2 STM32_PPRE1_DIV1
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md
new file mode 100644
index 0000000000..3a1b4d53b5
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md
@@ -0,0 +1,79 @@
+# Valor FRL TKL Rev2.0
+
+An Alice-esque FRL TKL keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor FRL TKL
+* Hardware Availability: Custom keyboard group buys
+
+### Important Note
+This version uses the pin PA9 which is un-usable with the current ChibiOS. The first column will be disabled if this firmware is compiled normally.
+A patch is required locally to use this version.
+Please use this patch:
+```diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
+index 0f48d1fd0..38aff8554 100644
+--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
+@@ -40,18 +40,18 @@
+
+ #if STM32_OTG_STEPPING == 1
+ #if defined(BOARD_OTG_NOVBUSSENS)
+-#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_VBUSASEN | \
+- GCCFG_VBUSBSEN | GCCFG_PWRDWN)
++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | \
++ GCCFG_PWRDWN)
+ #else
+-#define GCCFG_INIT_VALUE (GCCFG_VBUSASEN | GCCFG_VBUSBSEN | \
++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | \
+ GCCFG_PWRDWN)
+ #endif
+
+ #elif STM32_OTG_STEPPING == 2
+ #if defined(BOARD_OTG_NOVBUSSENS)
+-#define GCCFG_INIT_VALUE GCCFG_PWRDWN
++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_PWRDWN)
+ #else
+-#define GCCFG_INIT_VALUE (GCCFG_VBDEN | GCCFG_PWRDWN)
++#define GCCFG_INIT_VALUE (GCCFG_NOVBUSSENS | GCCFG_VBDEN | GCCFG_PWRDWN)
+ #endif
+
+ #endif
+@@ -815,7 +815,7 @@ void usb_lld_start(USBDriver *usbp) {
+ otgp->PCGCCTL = 0;
+
+ /* VBUS sensing and transceiver enabled.*/
+- otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL;
++ // otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL;
+
+ #if defined(BOARD_OTG2_USES_ULPI)
+ #if STM32_USB_USE_OTG1
+diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
+index 69a5ab603..200b4b91a 100644
+--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
+@@ -534,7 +534,7 @@ struct USBDriver {
+ * @notapi
+ */
+ #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__)
+-#define usb_lld_connect_bus(usbp) ((usbp)->otg->GCCFG |= GCCFG_VBUSBSEN)
++#define usb_lld_connect_bus(usbp)
+ #else
+ #define usb_lld_connect_bus(usbp) ((usbp)->otg->DCTL &= ~DCTL_SDIS)
+ #endif
+@@ -545,7 +545,7 @@ struct USBDriver {
+ * @notapi
+ */
+ #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__)
+-#define usb_lld_disconnect_bus(usbp) ((usbp)->otg->GCCFG &= ~GCCFG_VBUSBSEN)
++#define usb_lld_disconnect_bus(usbp)
+ #else
+ #define usb_lld_disconnect_bus(usbp) ((usbp)->otg->DCTL |= DCTL_SDIS)
+ #endif
+```
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/valor_frl_tkl/rev2_0:default
+ make xelus/valor_frl_tkl/rev2_0:via
+
+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_frl_tkl/rev2_0/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk
new file mode 100644
index 0000000000..0adbc4f383
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/config.h b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h
new file mode 100644
index 0000000000..2ab1350753
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2022 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
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A15, A14, A13, B3, B4 }
+#define MATRIX_COL_PINS { A10, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 }
+#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
+
+#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/info.json b/keyboards/xelus/valor_frl_tkl/rev2_1/info.json
new file mode 100644
index 0000000000..1c7fb1dd6b
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "Valor FRL TKL Rev2.2",
+ "usb": {
+ "device_version": "0.0.3"
+ }
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h
new file mode 100644
index 0000000000..f25665e06e
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#undef STM32_PLLN_VALUE
+#undef STM32_PLLP_VALUE
+#undef STM32_PLLQ_VALUE
+#undef STM32_PPRE1
+#undef STM32_PPRE2
+
+// 84MHz core
+#define STM32_PLLM_VALUE 8
+#define STM32_PLLN_VALUE 168
+#define STM32_PLLP_VALUE 4
+#define STM32_PLLQ_VALUE 7
+#define STM32_PPRE1 STM32_PPRE1_DIV2
+#define STM32_PPRE2 STM32_PPRE1_DIV1
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md
new file mode 100644
index 0000000000..c0f409b3ae
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md
@@ -0,0 +1,14 @@
+# Valor FRL TKL Rev2.1
+
+An Alice-esque FRL TKL keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor FRL TKL
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/valor_frl_tkl/rev2_1:default
+ make xelus/valor_frl_tkl/rev2_1:via
+
+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_frl_tkl/rev2_1/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk
new file mode 100644
index 0000000000..6b2ee6520d
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk
@@ -0,0 +1,24 @@
+# MCU name
+MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
index 08e08068b9..b5eca9abde 100644
--- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
+++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
@@ -17,8 +17,3 @@
// Nothing to see here, move along... ;-)
#include "valor_frl_tkl.h"
-
-void board_init(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
-}
diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
index 757f64adf9..94ae0fcbab 100644
--- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
+++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
@@ -17,7 +17,7 @@
#pragma once
#include "quantum.h"
-
+
#define ____ KC_NO
#define LAYOUT_all( \
diff --git a/keyboards/xelus/xs60/config.h b/keyboards/xelus/xs60/config.h
index 3a72af86ad..a61cd22e53 100644
--- a/keyboards/xelus/xs60/config.h
+++ b/keyboards/xelus/xs60/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5845 // "XE"
-#define PRODUCT_ID 0x5860 // "XS60"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xelus
-#define PRODUCT Xelus XS60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -30,7 +23,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, B3, A15, A14, A7 }
#define MATRIX_COL_PINS { B0, B1, A8, A9, B5, A6, C14, C15, A0, A5, A4, A3, A2, A1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xelus/xs60/info.json b/keyboards/xelus/xs60/info.json
index 55665b0399..089d728b01 100644
--- a/keyboards/xelus/xs60/info.json
+++ b/keyboards/xelus/xs60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XS60",
+ "manufacturer": "Xelus",
"url": "",
"maintainer": "Xelus22",
+ "usb": {
+ "vid": "0x5845",
+ "pid": "0x5860",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
diff --git a/keyboards/xelus/xs60/keymaps/default/config.h b/keyboards/xelus/xs60/keymaps/default/config.h
deleted file mode 100644
index 5d972dd48c..0000000000
--- a/keyboards/xelus/xs60/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/xs60/keymaps/via/config.h b/keyboards/xelus/xs60/keymaps/via/config.h
index b608adcfc4..8c0ed0c6e3 100644
--- a/keyboards/xelus/xs60/keymaps/via/config.h
+++ b/keyboards/xelus/xs60/keymaps/via/config.h
@@ -17,5 +17,3 @@
// More layers
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
-
-#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xenon/config.h b/keyboards/xenon/config.h
index b14861140c..c648ca66d5 100644
--- a/keyboards/xenon/config.h
+++ b/keyboards/xenon/config.h
@@ -19,12 +19,6 @@ 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 0x3404
-#define DEVICE_VER 0x0001
-#define PRODUCT Xenon
-
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 10
diff --git a/keyboards/xenon/info.json b/keyboards/xenon/info.json
index fd1146a1d4..9caa493f86 100644
--- a/keyboards/xenon/info.json
+++ b/keyboards/xenon/info.json
@@ -1,8 +1,13 @@
{
"keyboard_name": "Xenon",
+ "manufacturer": "narinari",
"url": "https://github.com/narinari/xenon-keyboard",
"maintainer": "Kyrremann",
- "manufacturer": "narinari",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x3404",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xiaomi/mk02/config.h b/keyboards/xiaomi/mk02/config.h
index 1b029d6b49..93e4b89291 100644
--- a/keyboards/xiaomi/mk02/config.h
+++ b/keyboards/xiaomi/mk02/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0B91
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Xiaomi
-#define PRODUCT MK02
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
diff --git a/keyboards/xiaomi/mk02/info.json b/keyboards/xiaomi/mk02/info.json
index 6f216802f6..58c3f3cbc3 100644
--- a/keyboards/xiaomi/mk02/info.json
+++ b/keyboards/xiaomi/mk02/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "Xiaomi MK02",
+ "keyboard_name": "MK02",
+ "manufacturer": "Xiaomi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0B91",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
diff --git a/keyboards/xiudi/xd002/config.h b/keyboards/xiudi/xd002/config.h
index c17d816cfc..46896531a9 100644
--- a/keyboards/xiudi/xd002/config.h
+++ b/keyboards/xiudi/xd002/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x0202
-#define DEVICE_VER 0x0001
-#define MANUFACTURER XIUDI
-#define PRODUCT XD002
-
/* matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 2
diff --git a/keyboards/xiudi/xd002/info.json b/keyboards/xiudi/xd002/info.json
index 0ef0e8f21a..f06e823a88 100644
--- a/keyboards/xiudi/xd002/info.json
+++ b/keyboards/xiudi/xd002/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "xd002",
+ "keyboard_name": "XD002",
+ "manufacturer": "XIUDI",
"url": "https://kprepublic.com/products/xd002-xiudi-2-custom-mechanical-keyboard-2-keys-underglow-and-switch-rgb-pcb-programmed-hot-swappable-macro-key-aluminum-case",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x0202",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/xiudi/xd002/keymaps/tap_dance/config.h b/keyboards/xiudi/xd002/keymaps/tap_dance/config.h
index b86e862d30..1fd93f875f 100644
--- a/keyboards/xiudi/xd002/keymaps/tap_dance/config.h
+++ b/keyboards/xiudi/xd002/keymaps/tap_dance/config.h
@@ -1,3 +1,4 @@
#pragma once
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
diff --git a/keyboards/xiudi/xd004/info.json b/keyboards/xiudi/xd004/info.json
index 26e418943f..e9876f8c64 100644
--- a/keyboards/xiudi/xd004/info.json
+++ b/keyboards/xiudi/xd004/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "XD004",
+ "manufacturer": "XIUDI",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x0404",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"L", "x":0, "y":0}, {"label":"O", "x":1, "y":0}, {"label":"V", "x":2, "y":0}, {"label":"E", "x":3, "y":0}]
diff --git a/keyboards/xiudi/xd004/v1/config.h b/keyboards/xiudi/xd004/v1/config.h
index 826540de4c..b2e36f4704 100644
--- a/keyboards/xiudi/xd004/v1/config.h
+++ b/keyboards/xiudi/xd004/v1/config.h
@@ -25,14 +25,6 @@ where some things are disabled to save space as well.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x0404
-#define DEVICE_VER 0x0001
-// Note: unsure about manufacturer
-#define MANUFACTURER XIUDI
-#define PRODUCT XD004 v1
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -46,7 +38,6 @@ where some things are disabled to save space as well.
{ \
{ D3, D0, C4, B4 } \
}
-#define UNUSED_PINS
/* Backlight Setup */
// Looks like each backlight LED is connected to a single output, D5 is the one furtherst away from USB port
diff --git a/keyboards/xiudi/xd60/info.json b/keyboards/xiudi/xd60/info.json
index 8ea3d6a4ff..04e863a3bc 100644
--- a/keyboards/xiudi/xd60/info.json
+++ b/keyboards/xiudi/xd60/info.json
@@ -1,6 +1,10 @@
{
- "keyboard_name": "XD60",
+ "manufacturer": "XIUDI",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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}, {"x":13, "y":0}, {"x":14, "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":"Caps Lock", "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"x":14, "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":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"label":"Menu", "x":12, "y":4}, {"label":"Ctrl", "x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/xiudi/xd60/keymaps/Jos/keymap.c b/keyboards/xiudi/xd60/keymaps/Jos/keymap.c
index c57f634f2b..8e28156aa5 100644
--- a/keyboards/xiudi/xd60/keymaps/Jos/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/Jos/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1: Function 1 Layers
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_PAUS, KC_PSCR, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, KC_PSCR, \
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS, \
KC_TRNS, TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, \
diff --git a/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c b/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c
index e630851db5..1dfda06f2f 100644
--- a/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, KC_ESC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_60_ansi_split_bs_rshift_space(
- 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_F13, KC_F14,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL,
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS,
diff --git a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
index fe7cd60662..1e0dcacc22 100644
--- a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 2: Cool Layer
LAYOUT_all(
- RESET, BL_DEC, BL_INC, BL_ON, BL_OFF, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_MODE_PLAIN, KC_TRNS, \
+ QK_BOOT, BL_DEC, BL_INC, BL_ON, BL_OFF, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_MODE_PLAIN, KC_TRNS, \
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2), \
@@ -47,7 +47,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
edit = false;
}
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case 1:
rgblight_mode(1);
rgblight_setrgb(0xD3, 0x7F, 0xED);
diff --git a/keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c b/keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c
index 6964ca3158..584611c53c 100644
--- a/keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FL] = LAYOUT_60_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
+ _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, RGB_MOD, _______,
_______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/xiudi/xd60/keymaps/finnish/keymap.c b/keyboards/xiudi/xd60/keymaps/finnish/keymap.c
index 84a4a63afe..38dfd2ca35 100644
--- a/keyboards/xiudi/xd60/keymaps/finnish/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/finnish/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1: Function Layer
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_F13, KC_F14,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL,
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS,
diff --git a/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c b/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
index 0a18678dcc..5817e61dbf 100755
--- a/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_NO, KC_TRNS, KC_RCTL),
[2] = 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, KC_NO, KC_NO, RESET,
+ 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, QK_BOOT,
KC_NO, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_NO, KC_NO,
KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
diff --git a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
index 8e081c6731..30e6e688e8 100644
--- a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1: Function Layer
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_F13, KC_F14, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Loop
void matrix_scan_user(void) {
static uint8_t old_layer = 255;
- uint8_t new_layer = biton32(layer_state);
+ uint8_t new_layer = get_highest_layer(layer_state);
if (old_layer != new_layer) {
switch (new_layer) {
diff --git a/keyboards/xiudi/xd60/keymaps/krusli/keymap.c b/keyboards/xiudi/xd60/keymaps/krusli/keymap.c
index 697d6d7f1f..92591567d3 100644
--- a/keyboards/xiudi/xd60/keymaps/krusli/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/krusli/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, \
- RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_INS, \
+ QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_INS, \
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_NO, _______, \
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/xiudi/xd60/keymaps/melka/keymap.c b/keyboards/xiudi/xd60/keymaps/melka/keymap.c
index bb3159981f..b80a8da5ae 100644
--- a/keyboards/xiudi/xd60/keymaps/melka/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/melka/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 2: RGB Layer
LAYOUT_melka(
- RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, RESET,
+ RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, QK_BOOT,
_______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
TO(0), _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, PASS_A, PASS_B, _______, _______,
diff --git a/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c b/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
index d6c9035c28..b48d997ecf 100644
--- a/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_TRNS, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MRWD, KC_MFFD, KC_MSTP, \
KC_TRNS, RGB_TOG, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \
- KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS,KC__VOLDOWN,KC__VOLUP,KC_NO, KC__MUTE,KC_PGUP, RESET, \
+ KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS,KC__VOLDOWN,KC__VOLUP,KC_NO, KC__MUTE,KC_PGUP, QK_BOOT, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN,KC_END
),
diff --git a/keyboards/xiudi/xd60/keymaps/rooski/keymap.c b/keyboards/xiudi/xd60/keymaps/rooski/keymap.c
index 71d5451dc4..9eb68ca368 100644
--- a/keyboards/xiudi/xd60/keymaps/rooski/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/rooski/keymap.c
@@ -48,9 +48,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 2: Lighting Keys
[_LK] = LAYOUT_all(
- TO(_BL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RESET, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, \
+ TO(_BL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, \
- RESET , KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, RGB_VAI, BL_STEP, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(_BL), XXXXXXX, RGB_TOG, RGB_VAD, RGB_MOD),
diff --git a/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c b/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
index a827744c14..d1417281ee 100644
--- a/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 1: Function Layer
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_F13, KC_F14, \
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
KC_CAPS, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, \
MO(1), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, \
KC_LSFT, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_INS, \
diff --git a/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c b/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
index fa0be3d9d3..46e9b5aae6 100644
--- a/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
+++ b/keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
@@ -24,6 +24,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_60_ansi(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(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, TG(1)),
- [1] = LAYOUT_60_ansi(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_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS)
+ [1] = LAYOUT_60_ansi(QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/xiudi/xd60/rev2/config.h b/keyboards/xiudi/xd60/rev2/config.h
index 38cfa415ff..d5e8642e59 100644
--- a/keyboards/xiudi/xd60/rev2/config.h
+++ b/keyboards/xiudi/xd60/rev2/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER XIUDI
-#define PRODUCT XD60v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* Backlight Setup */
#define BACKLIGHT_PIN F5
diff --git a/keyboards/xiudi/xd60/rev2/info.json b/keyboards/xiudi/xd60/rev2/info.json
new file mode 100644
index 0000000000..bceb5bc6cb
--- /dev/null
+++ b/keyboards/xiudi/xd60/rev2/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "XD60 Rev 2",
+ "usb": {
+ "pid": "0x6060"
+ }
+}
diff --git a/keyboards/xiudi/xd60/rev3/config.h b/keyboards/xiudi/xd60/rev3/config.h
index 8af56851ff..243630c76b 100644
--- a/keyboards/xiudi/xd60/rev3/config.h
+++ b/keyboards/xiudi/xd60/rev3/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x6363
-#define DEVICE_VER 0x0001
-#define MANUFACTURER XIUDI
-#define PRODUCT XD60rev3
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* Backlight Setup */
#define BACKLIGHT_PIN F5
diff --git a/keyboards/xiudi/xd60/rev3/info.json b/keyboards/xiudi/xd60/rev3/info.json
new file mode 100644
index 0000000000..a03a344a28
--- /dev/null
+++ b/keyboards/xiudi/xd60/rev3/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "XD60 Rev 3",
+ "usb": {
+ "pid": "0x6363"
+ }
+}
diff --git a/keyboards/xiudi/xd68/config.h b/keyboards/xiudi/xd68/config.h
index af8e8b7dab..ef3cae310b 100644
--- a/keyboards/xiudi/xd68/config.h
+++ b/keyboards/xiudi/xd68/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x6868
-#define DEVICE_VER 0x0001
-#define MANUFACTURER xiudi
-#define PRODUCT XD68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3, F7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd68/info.json b/keyboards/xiudi/xd68/info.json
index 276bd72941..36d72134c1 100644
--- a/keyboards/xiudi/xd68/info.json
+++ b/keyboards/xiudi/xd68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "xd68",
+ "keyboard_name": "XD68",
+ "manufacturer": "xiudi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x6868",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
diff --git a/keyboards/xiudi/xd75/config.h b/keyboards/xiudi/xd75/config.h
index 9cceea3467..7080a2ca8b 100644
--- a/keyboards/xiudi/xd75/config.h
+++ b/keyboards/xiudi/xd75/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x7575
-#define DEVICE_VER 0x0001
-#define MANUFACTURER xiudi
-#define PRODUCT XD75
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3, B0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd75/info.json b/keyboards/xiudi/xd75/info.json
index bb15a7faef..7329722495 100644
--- a/keyboards/xiudi/xd75/info.json
+++ b/keyboards/xiudi/xd75/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XD75",
+ "manufacturer": "xiudi",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x7575",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
diff --git a/keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c b/keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c
index 497ca40a98..b37e25500b 100644
--- a/keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
LALT(KC_F4), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , BL_TOGG, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NLCK,
_______ , _______, SLC_ALL , SLC_ROW , SLC_WRD , KC_BRIU, BL_STEP, _______, _______, LSFT(KC_7) , LSFT(KC_8) , LSFT(KC_9), KC_8 , _______, _______,
- _______ , _______, LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_BRID, BL_BRTG, _______, _______, LSFT(KC_4) , LSFT(KC_5) , LSFT(KC_6), KC_7 , _______, RESET ,
+ _______ , _______, LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_BRID, BL_BRTG, _______, _______, LSFT(KC_4) , LSFT(KC_5) , LSFT(KC_6), KC_7 , _______, QK_BOOT,
_______ , _______, KC_MUTE , KC_VOLD , KC_VOLU , KC_MPLY, RGB_TOG, _______, _______, LSFT(KC_1) , LSFT(KC_2) , LSFT(KC_3), KC_ENT , _______, _______,
_______ , _______, _______ , _______ , _______ , _______, RGB_MOD, _______, _______, LSFT(KC_0) , KC_00 , KC_V , _______ , _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/adi/keymap.c b/keyboards/xiudi/xd75/keymaps/adi/keymap.c
index aa45d598e3..93bc5a2ccd 100644
--- a/keyboards/xiudi/xd75/keymaps/adi/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/adi/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
- 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_DEL, KC_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
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_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______, _______,
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_PGUP, KC_WH_D,
diff --git a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
index 5f7337d68b..0705cff938 100644
--- a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | RGB VD | BL TG | RGB VI | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | FN | RGB TG | | MS W L | MS W R | | RESET | | MS 1 | MS 2 | RGB RMD| RGB MD | FN | |
+ * | | FN | RGB TG | | MS W L | MS W R | | QK_BOOT | | MS 1 | MS 2 | RGB RMD| RGB MD | FN | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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,
KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, RGB_VAD, _______, RGB_VAI, KC_MINS, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_RMOD,A_BL_TG, RGB_MOD, _______, _______, _______, _______ , _______, _______,
- _______, TT(_FN), RGB_TOG, _______, KC_WH_L, KC_WH_R, TT(_FN), RESET , TT(_FN), KC_BTN1, KC_BTN2, _______, _______ , TT(_FN), _______
+ _______, TT(_FN), RGB_TOG, _______, KC_WH_L, KC_WH_R, TT(_FN), QK_BOOT, TT(_FN), KC_BTN1, KC_BTN2, _______, _______ , TT(_FN), _______
)
};
@@ -100,7 +100,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Runs whenever there is a layer state change.
layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t layer = biton32(state);
+ uint8_t layer = get_highest_layer(state);
gp100_led_off();
gp103_led_off();
diff --git a/keyboards/xiudi/xd75/keymaps/atomic_style/keymap.c b/keyboards/xiudi/xd75/keymaps/atomic_style/keymap.c
index 9bd1e58a05..004bd12da9 100644
--- a/keyboards/xiudi/xd75/keymaps/atomic_style/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/atomic_style/keymap.c
@@ -148,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX . | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
- * | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
+ * | QK_BOOT | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ QK_BOOT, _______, DF(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/atomic_style_jp/keymap.c b/keyboards/xiudi/xd75/keymaps/atomic_style_jp/keymap.c
index 6084a1cbe6..b7d2272b02 100644
--- a/keyboards/xiudi/xd75/keymaps/atomic_style_jp/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/atomic_style_jp/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, _______,KC_WH_U, KC_MS_U, KC_WH_D,
- RESET , DF(_QW), DF(_EASY_QW), _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ QK_BOOT, DF(_QW), DF(_EASY_QW), _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
),
[_CURSOR] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
diff --git a/keyboards/xiudi/xd75/keymaps/bbaserdem/config.h b/keyboards/xiudi/xd75/keymaps/bbaserdem/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/xiudi/xd75/keymaps/bbaserdem/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/bbaserdem/keymap.c b/keyboards/xiudi/xd75/keymaps/bbaserdem/keymap.c
deleted file mode 100644
index 6f8576b09b..0000000000
--- a/keyboards/xiudi/xd75/keymaps/bbaserdem/keymap.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "bbaserdem.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Layout
- * ,-----------------------------------------------------------.
- * |Blt|Lck| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |
- * |---+---+-----------------------------------------------+---|
- * |Int|Trm| |Cps|
- * |---+---| |---|
- * |Clc|Psw| | \ |
- * |---+---| PLANCK |---|
- * |Rev|Ffw| | [ |
- * |---+---| |---|
- * |Tog|Mut| | ] |
- * `-----------------------------------------------------------'
- */
-[0] = KM( FKLAVYE ),
-[1] = KM( AYARLAR ),
-};
-
diff --git a/keyboards/xiudi/xd75/keymaps/bbaserdem/readme.md b/keyboards/xiudi/xd75/keymaps/bbaserdem/readme.md
deleted file mode 100644
index a0ade691aa..0000000000
--- a/keyboards/xiudi/xd75/keymaps/bbaserdem/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# XD75RE Setup
-
-(WIP) F keyboard for turkish, using unicode.
-
-* Write down keymap in userspace
-* Figure out LED indicators
-
-# Make
-
-Take the board into reset mode, then
-```
-make xiudi/xd75:bbaserdem:dfu
-```
-Either sudo it or set permissions in udev.
diff --git a/keyboards/xiudi/xd75/keymaps/bbaserdem/rules.mk b/keyboards/xiudi/xd75/keymaps/bbaserdem/rules.mk
deleted file mode 100644
index 3e501cd00e..0000000000
--- a/keyboards/xiudi/xd75/keymaps/bbaserdem/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Build options
-BACKLIGHT_ENABLE = yes # Switch LEDs
-MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
-RGBLIGHT_ENABLE = no # LED strips
-TAP_DANCE_ENABLE = no # Use multi-tap features
-AUDIO_ENABLE = no # Audio stuff
-
diff --git a/keyboards/xiudi/xd75/keymaps/boy_314/keymap.c b/keyboards/xiudi/xd75/keymaps/boy_314/keymap.c
index 89d6569ddc..595d7cb936 100644
--- a/keyboards/xiudi/xd75/keymaps/boy_314/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/boy_314/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ` | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ~ | ! | @ | # | $ | % | RESET |RGB HUE-|RGB HUE+| ^ | & | * | ( | ) | DEL |
+ * | ~ | ! | @ | # | $ | % | QK_BOOT |RGB HUE-|RGB HUE+| ^ | & | * | ( | ) | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | DEL | F1 | F2 | F3 | F4 | F5 | F6 |RGB SAT-|RGB SAT+| DVORAK | _ | + | { | } | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_ortho_5x15( /* FUNCTION1 */
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, RESET, RGB_HUD, RGB_HUI, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, QK_BOOT, RGB_HUD, RGB_HUI, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RGB_SAD, RGB_SAI, TO(_DV), KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, RGB_VAI, TO(_QW), _______, _______, KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ` | | | UP | | | RESET |RGB HUE-|RGB HUE+| NUMPAD | | | | | |
+ * | ` | | | UP | | | QK_BOOT |RGB HUE-|RGB HUE+| NUMPAD | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | DEL | | LEFT | DOWN | RIGHT | | |RGB SAT-|RGB SAT+| DVORAK | - | = | [ | ] | \ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN2] = LAYOUT_ortho_5x15( /* FUNCTION2 */
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_GRV, _______, _______, KC_UP, _______, _______, RESET, RGB_HUD, RGB_HUI, TG(_NP), _______, _______, _______, _______, KC_DEL,
+ KC_GRV, _______, _______, KC_UP, _______, _______, QK_BOOT, RGB_HUD, RGB_HUI, TG(_NP), _______, _______, _______, _______, KC_DEL,
KC_DEL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_SAI, TG(_DV), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, TG(_QW), _______, _______, KC_PGDN, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
diff --git a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
index 7cbb0bae82..77ebfe6a03 100644
--- a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_EMOJIFY] = LAYOUT_ortho_5x15(
- TO(0) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , RESET ,
+ TO(0) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , QK_BOOT,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
_______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , _______ , _______ , _______ , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
diff --git a/keyboards/xiudi/xd75/keymaps/bulbizarre/keymap.c b/keyboards/xiudi/xd75/keymaps/bulbizarre/keymap.c
index f35eea73c4..c263d569da 100644
--- a/keyboards/xiudi/xd75/keymaps/bulbizarre/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/bulbizarre/keymap.c
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | RGB_H+ | RGB- | BL- | E | R | T | Y | U | I | O | 7 | 8 | 9 | ENTER | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | RGB_H- | RGB_M+ | BL+ | VOL+ | F | G | H | J | K | L | 4 | 5 | 6 | ENTER | RESET |
+ * | RGB_H- | RGB_M+ | BL+ | VOL+ | F | G | H | J | K | L | 4 | 5 | 6 | ENTER | QK_BOOT |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | RGB_S+ | RGB_M- | BL_S | VOL- | V | B | B | N | M | , | 1 | 2 | 3 | UP | END |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FS] = LAYOUT_ortho_5x15( /* FUNCTION */
_______, RGB_VAI, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______,
RGB_HUI, RGB_VAD, BL_INC, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
- RGB_HUD, RGB_RMOD,BL_DEC, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, RESET,
+ RGB_HUD, RGB_RMOD,BL_DEC, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, QK_BOOT,
RGB_SAI, RGB_MOD, BL_STEP, KC_VOLD, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
RGB_SAD, RGB_TOG, BL_TOGG, KC_MUTE, _______, _______, _______, _______, _______, TO(_FN), TO(_QW), KC_P0, KC_PDOT, KC_DOT, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/buzzlighter1/keymap.c b/keyboards/xiudi/xd75/keymaps/buzzlighter1/keymap.c
index 09eea933e1..25040fe342 100644
--- a/keyboards/xiudi/xd75/keymaps/buzzlighter1/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/buzzlighter1/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P7 | P8 | P9 | + | P* | XXXXXXX| PR SCR | SCR LK | PAUSE | XXXXXXX| BL_DEC | BL_INC | RGB HD | RGB HI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | _______| P4 | P5 | P6 | NumLk | CALC | XXXXXXX| POWER | XXXXXXX| RESET | XXXXXXX| BL_BRTG| BL_STEP| RGB SD | RGB SI |
+ * | _______| P4 | P5 | P6 | NumLk | CALC | XXXXXXX| POWER | XXXXXXX| QK_BOOT | XXXXXXX| BL_BRTG| BL_STEP| RGB SD | RGB SI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P1 | P2 | P3 | - | P/ | XXXXXXX| OS | PLAY | PREV | NXT | BL_OFF | BL_ON | RGB VD | RGB VI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
XXXXXXX, 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_P7, KC_P8, KC_P9, KC_PPLS, KC_PAST, XXXXXXX, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, RGB_HUD, RGB_HUI,
- _______, KC_P4, KC_P5, KC_P6, KC_NLCK, KC_CALC, XXXXXXX, KC_PWR, XXXXXXX, RESET, XXXXXXX, BL_BRTG, BL_STEP, RGB_SAD, RGB_SAI,
+ _______, KC_P4, KC_P5, KC_P6, KC_NLCK, KC_CALC, XXXXXXX, KC_PWR, XXXXXXX, QK_BOOT, XXXXXXX, BL_BRTG, BL_STEP, RGB_SAD, RGB_SAI,
_______, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_PSLS, XXXXXXX, KC_LWIN, KC_MPLY, KC_MPRV, KC_MNXT, BL_OFF, BL_ON, RGB_VAD, RGB_VAI,
_______, KC_P0, KC_PDOT, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD
)
diff --git a/keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c b/keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c
index fdfe3be16d..991cb31b55 100644
--- a/keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | VOL- | MUTE | VOL+ | | | | | P1 | P2 | P3 | ENT | RGB_VAD| Home | RGB_HUD|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RESET | | FN | | | | | | P0 | P0 | . | FN | | End | |
+ * | QK_BOOT | | FN | | | | | | P0 | P0 | . | FN | | End | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -63,6 +63,6 @@ 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_P7, KC_P8, KC_P9, KC_MINS, RGB_TOG, RGB_MOD, RGB_HUI,
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PLUS, RGB_SAI, RGB_SAD, RGB_VAI,
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_ENT, RGB_VAD, KC_HOME, RGB_HUD,
- RESET, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_KP_0, KC_PDOT, MO(_FN), KC_TRNS, KC_END, KC_TRNS
+ QK_BOOT, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_KP_0, KC_PDOT, MO(_FN), KC_TRNS, KC_END, KC_TRNS
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
index 1b29686cff..de90a83484 100644
--- a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c
@@ -172,16 +172,16 @@ keys needing to be assigned:
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX | | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
- * | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
+ * | QK_BOOT | | 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_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, QK_BOOT, QK_BOOT,
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
+ QK_BOOT, _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
@@ -286,7 +286,7 @@ void matrix_init_user(void) {
}
layer_state_t layer_state_set_user(layer_state_t state) {
- switch(biton32(state)) {
+ switch(get_highest_layer(state)) {
case _QWERTY:
rgblight_sethsv_white();
break;
diff --git a/keyboards/xiudi/xd75/keymaps/clanghans/keymap.c b/keyboards/xiudi/xd75/keymaps/clanghans/keymap.c
index 09a2bec55c..62f420d264 100755
--- a/keyboards/xiudi/xd75/keymaps/clanghans/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/clanghans/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT(
LALT(KC_F4), 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_NLCK,
_______, _______, _______, _______, RGB_HUI, RGB_TOG, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, _______, _______, _______,
- _______, _______, _______, _______, RGB_SAI, RGB_MOD, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, _______, _______, RESET,
+ _______, _______, _______, _______, RGB_SAI, RGB_MOD, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, RGB_VAI, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_P0, _______, KC_PDOT, KC_PPLS, _______, _______, _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/colinta/keymap.c b/keyboards/xiudi/xd75/keymaps/colinta/keymap.c
index 257caad339..4d7c2d2007 100644
--- a/keyboards/xiudi/xd75/keymaps/colinta/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/colinta/keymap.c
@@ -153,7 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | | | | | RESET | DM_CLEAR | | | RESET | | | | |
+ * | | | | | QK_BOOT | DM_CLEAR | | | QK_BOOT | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, DM_CLEAR, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO
+ KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, DM_CLEAR, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/daniel/keymap.c b/keyboards/xiudi/xd75/keymaps/daniel/keymap.c
index e9f2740b15..c2e49d87e5 100644
--- a/keyboards/xiudi/xd75/keymaps/daniel/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/daniel/keymap.c
@@ -24,6 +24,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c b/keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c
index f380ebdb11..97010c39e1 100644
--- a/keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , ALEFT , KC_UP , ARGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, GTAB , ABSPC , KC_HOME, KC_END , GGRV , _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR PC: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/
@@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END , _______, _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAVQUD] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
diff --git a/keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c b/keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c
index 121b18438e..d07e1f48a3 100644
--- a/keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | < | > | @ | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | _ | MO(_FN)| | | | | MO(_FN)| _ | | | | RESET |
+ * | | | | _ | MO(_FN)| | | | | MO(_FN)| _ | | | | QK_BOOT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, 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_LABK, BP_RABK, BP_AT , _______, _______,
- _______, _______, _______, _______, _______, LT(_FN,KC_ENT), _______, _______, _______, LT(_FN,KC_SPC), _______, _______, _______, _______, RESET
+ _______, _______, _______, _______, _______, LT(_FN,KC_ENT), _______, _______, _______, LT(_FN,KC_SPC), _______, _______, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c b/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c
index 679684976b..705efb1b8b 100644
--- a/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/keymap.c
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | |
+ * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | QK_BOOT | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -108,7 +108,7 @@ 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_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______,
+ KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______,
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/emilyh/keymap.c b/keyboards/xiudi/xd75/keymaps/emilyh/keymap.c
index 3197b6bde9..e325dbd664 100644
--- a/keyboards/xiudi/xd75/keymaps/emilyh/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/emilyh/keymap.c
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LW] = LAYOUT_ortho_5x15( /* LOWERED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS,
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX . | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
- * | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
+ * | QK_BOOT | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ QK_BOOT, _______, DF(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/fabian/keymap.c b/keyboards/xiudi/xd75/keymaps/fabian/keymap.c
index 0d59e4ce8f..a88790048f 100644
--- a/keyboards/xiudi/xd75/keymaps/fabian/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/fabian/keymap.c
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, _______, _______, _______, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/xiudi/xd75/keymaps/french/keymap.c b/keyboards/xiudi/xd75/keymaps/french/keymap.c
index 8d5d2b634f..42dfa076dc 100644
--- a/keyboards/xiudi/xd75/keymaps/french/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/french/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | 1 | 2 | 3 | + | | LEDMAX |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | RESET | | | FN | | | | | | | 0 | . | PENT | | LEDLVL |
+ * | QK_BOOT | | | FN | | | | | | | 0 | . | PENT | | LEDLVL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
@@ -51,6 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
FR_EMPT, FR_MPRV, FR_MPLY, FR_MNXT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_NUML, FR_7, FR_8, FR_9, FR_MULT, FR_EMPT, BL_INC,
FR_EMPT, FR_MVDN, FR_MUTE, FR_MVUP, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_4, FR_5, FR_6, FR_MOIN, FR_EMPT, BL_DEC,
FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_1, FR_2, FR_3, FR_PLUS, FR_EMPT, BL_ON,
- RESET, FR_EMPT, FR_EMPT, FR_TRANS, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_0, FR_DOT, FR_ENTK, FR_EMPT, BL_STEP
+ QK_BOOT, FR_EMPT, FR_EMPT, FR_TRANS, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_0, FR_DOT, FR_ENTK, FR_EMPT, BL_STEP
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/germanized/keymap.c b/keyboards/xiudi/xd75/keymaps/germanized/keymap.c
index 3b00a4b670..a525c5a585 100644
--- a/keyboards/xiudi/xd75/keymaps/germanized/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/germanized/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* °-----------------------------------------------------------------------------------------------------------------------°
*/
[_FNC] = LAYOUT_ortho_5x15(
- 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_TRNS, KC_TRNS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
diff --git a/keyboards/xiudi/xd75/keymaps/hybrid/keymap.c b/keyboards/xiudi/xd75/keymaps/hybrid/keymap.c
index e8b5a3536b..337b75c190 100644
--- a/keyboards/xiudi/xd75/keymaps/hybrid/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/hybrid/keymap.c
@@ -264,7 +264,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LY1] = LAYOUT_ortho_5x15(
KC_ESC, RGB_TOG, RGB_RMOD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_K, RGB_M_G, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_LY2), DF(_MAIN),
DEBUG, KC_PSCR, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- RESET, KC_NO, KC_S, KC_D, KC_F, KC_G, KC_Z, KC_J, KC_K, KC_L, KC_M, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_LSFT,
+ QK_BOOT, KC_NO, KC_S, KC_D, KC_F, KC_G, KC_Z, KC_J, KC_K, KC_L, KC_M, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_LSFT,
KC_NO, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_SCLN, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PEQL, KC_LCBR,
KC_NO, KC_NO, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_TRNS, KC_NO, KC_TRNS, KC_P0, KC_P1, KC_P2, KC_P3, KC_TRNS
),
diff --git a/keyboards/xiudi/xd75/keymaps/jarred/keymap.c b/keyboards/xiudi/xd75/keymaps/jarred/keymap.c
index a875165078..ff45939ba9 100644
--- a/keyboards/xiudi/xd75/keymaps/jarred/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/jarred/keymap.c
@@ -32,6 +32,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/kim-kim-xd73/keymap.c b/keyboards/xiudi/xd75/keymaps/kim-kim-xd73/keymap.c
index fdcc47cabe..d14cd084e1 100644
--- a/keyboards/xiudi/xd75/keymaps/kim-kim-xd73/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/kim-kim-xd73/keymap.c
@@ -92,13 +92,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_RT), MO(_RT), _______
),
-/* RESET
+/* QK_BOOT
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | | | | | | | | RESET | | | | | | | |
+ * | | | | | | | | QK_BOOT | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
@@ -106,10 +106,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
- [_RT] = LAYOUT_ortho_5x15( /* RESET */
+ [_RT] = LAYOUT_ortho_5x15( /* QK_BOOT */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/kim-kim/keymap.c b/keyboards/xiudi/xd75/keymaps/kim-kim/keymap.c
index 486a3743a4..7b73348f39 100644
--- a/keyboards/xiudi/xd75/keymaps/kim-kim/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/kim-kim/keymap.c
@@ -92,13 +92,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_RT), MO(_RT), _______
),
-/* RESET
+/* QK_BOOT
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | | | | | | | | RESET | | | | | | | |
+ * | | | | | | | | QK_BOOT | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
@@ -106,10 +106,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
- [_RT] = LAYOUT_ortho_5x15( /* RESET */
+ [_RT] = LAYOUT_ortho_5x15( /* QK_BOOT */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
index a630019347..2a8fde5f35 100644
--- a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, _______
),
[_FUN] = LAYOUT_ortho_5x15( /* FUN */
- _______, RGB_RMOD,RGB_MOD, RGB_TOG, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, RESET,
+ _______, RGB_RMOD,RGB_MOD, RGB_TOG, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, QK_BOOT,
_______, RGB_HUD, RGB_HUI, RGB_MODE_PLAIN, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, _______,
_______, RGB_SAD, RGB_SAI, _______, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, _______,
_______, RGB_VAD, RGB_VAI, _______, _______,_______,_______, _______, _______, _______,_______,_______, _______, _______, _______,
@@ -70,7 +70,7 @@ bool WINDOWN = false;
bool SHIFTDOWN = false;
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case 0:
diff --git a/keyboards/xiudi/xd75/keymaps/markus/keymap.c b/keyboards/xiudi/xd75/keymaps/markus/keymap.c
index 4a7efad11b..dc1590749b 100644
--- a/keyboards/xiudi/xd75/keymaps/markus/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/markus/keymap.c
@@ -163,7 +163,7 @@ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_BRID, ___xx___,
________, QWERTZ, UC_M_LN, ___xx___, ___xx___, KC_PWR, RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___,
________, QWERTY, UC_M_WC, UC(L'›'), UC(L'‹'), KC_SLEP, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________,
________, GAMING, UC_M_MA, UC(L'»'), UC(L'«'), KC_WAKE, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________,
-________, ________, ________, ________, ________, ________, ________, RESET, ________, ________, ________, ________, ________, ________, ________
+________, ________, ________, ________, ________, ________, ________, QK_BOOT, ________, ________, ________, ________, ________, ________, ________
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/minna/keymap.c b/keyboards/xiudi/xd75/keymaps/minna/keymap.c
index ef3f400bc1..615762fa75 100644
--- a/keyboards/xiudi/xd75/keymaps/minna/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/minna/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_ortho_5x15(
KC_MUTE, QMKBEST, 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_MSEL, KC_NO, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_CALC, KC_P7, KC_P8, KC_P9, KC_MINS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_MPRV, KC_NO, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, RESET, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MPRV, KC_NO, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, MO(1), RGB_TOG, KC_NO, RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_RMOD, UC_MOD)
};
diff --git a/keyboards/xiudi/xd75/keymaps/msiu/keymap.c b/keyboards/xiudi/xd75/keymaps/msiu/keymap.c
index d1a4154ec1..62931ba088 100644
--- a/keyboards/xiudi/xd75/keymaps/msiu/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/msiu/keymap.c
@@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, KC_PSCR, _______,
_______, _______, _______, TO(_DV), TO(_QW), _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/xiudi/xd75/keymaps/neothefox/keymap.c b/keyboards/xiudi/xd75/keymaps/neothefox/keymap.c
index 7fa04b2c63..a08449c605 100644
--- a/keyboards/xiudi/xd75/keymaps/neothefox/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/neothefox/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* SYSTEM
* .--------------------------------------------------------------------------------------------------------------------------------------.
- * | RESET | DEBUG | | | | | | | | | | | | | |
+ * | QK_BOOT | DEBUG | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | |RGB_TOG |RGB_VAI |RGB VAD | | | PASTE | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_SYSTEM] = LAYOUT_ortho_5x15( /* FUNCTION */
- RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, RGB_VAD, _______, _______, MPASTE, KC_PSCR, KC_SLCK, KC_PAUSE,
_______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c b/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
index 35510379c7..651a80a585 100644
--- a/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/odyssey/keymap.c
@@ -136,7 +136,7 @@ _______, _______, _______, _______, _______, _______, _______, _______, _______,
),
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_P7, KC_P8, KC_P9, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
-RESET, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_WH_U, KC_P4, KC_P5, KC_P6, _______, _______, _______, RSFT(KC_MINS), LSFT(KC_MINS), _______,
+QK_BOOT, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_WH_U, KC_P4, KC_P5, KC_P6, _______, _______, _______, RSFT(KC_MINS), LSFT(KC_MINS), _______,
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_MINS, KC_WH_D, KC_P1, KC_P2, KC_P3, _______, KC_PPLS, KC_ACL0, KC_ACL1, KC_ACL2, _______,
_______, KC_ACL0, KC_ACL1, KC_ACL2, KC_WH_L, KC_WH_R, KC_NLCK, KC_PGUP, KC_P0, _______, _______, _______, _______, _______, _______,
RGB_TOG, _______, _______, _______, KC_BSPC, KC_BSPC, KC_HOME, KC_PGDN, KC_END, KC_BSPC, KC_BSPC, _______, _______, _______, _______
diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c
new file mode 100644
index 0000000000..6d1c9d812e
--- /dev/null
+++ b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c
@@ -0,0 +1,173 @@
+/* Copyright 2017 WunderaaaaaAa
+ * Modified by RAOEUS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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 "keymap_steno.h"
+
+void matrix_init_user(void) {
+ steno_set_mode(STENO_MODE_GEMINI);
+}
+
+enum layer_names { _QWERTY, _LOWER, _RAISE, _BOTH, _STENO };
+
+enum keycodes { QWERTY = SAFE_RANGE, LOWER, RAISE, STENO, EXT_STN };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* QWERTY
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | NUM | / | * |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | TAB | Q | W | E | R | T | Y | U | I | O | P | Del | 7 | 8 | 9 |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " | 4 | 5 | 6 |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | LShift | Z | X | C | V | B | N | M | , | . | / | Enter | 1 | 2 | 3 |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | LCtl | LAlt | LGUI | Steno | Lower | Space | Space | Raise | Left | Down | Up | Right | 0 | . | Enter |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT_ortho_5x15(
+ 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_NUM, KC_PSLS, KC_PAST,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_P7, KC_P8, KC_P9,
+ 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_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_P1, KC_P2, KC_P3,
+ KC_LCTRL, KC_LALT, KC_LGUI, STENO, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
+
+ /* STENO
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | # | # | # | # | # | # | # | # | # | # | # | # | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | FN | S | T | P | H | * | * | F | P | L | T | D | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | | S | K | W | R | * | * | R | B | G | S | Z | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | EXIT | | | # | A | O | E | U | # | PWR | RES1 | RES2 | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ [_STENO] = LAYOUT_ortho_5x15(
+ STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC, XXXXXXX, XXXXXXX, XXXXXXX,
+ STN_FN, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ EXT_STN, XXXXXXX, XXXXXXX, STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N2, STN_PWR, STN_RE1, STN_RE2, XXXXXXX, XXXXXXX, XXXXXXX),
+
+ /* LOWER
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | CAPS | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | ISO ~ | ISO | | Home | End | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ [_LOWER] = LAYOUT_ortho_5x15(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______,
+ 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_CAPS, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______),
+
+ /* RAISE
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | CAPS | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | ISO # | ISO / | Pg Up | Pg Dn | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ [_RAISE] = LAYOUT_ortho_5x15(
+ 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, _______, _______, _______,
+ KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______),
+
+ /* BOTH (LOWER + RAISE)
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | Reset | Debug | | | | | TermOf | TermOn | | | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | AGNorm | AGSwap | QWERTY | STENO | | | PLAIN | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | RGB+ | | | | | | | RGBTOG | HUE+ | SAT+ | BRITE+ | SPEED+ | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | RGB- | | | | | | | | HUE- | SAT- | BRITE- | SPEED- | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ [_BOTH] = LAYOUT_ortho_5x15(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
+ _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, _______, _______, _______,
+ _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, STENO, _______, _______, RGB_M_P, _______, _______, _______,
+ RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______,
+ RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______)
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ layer_move(_QWERTY);
+ };
+ return false;
+ break;
+ case STENO:
+ if (record->event.pressed) {
+ layer_move(_STENO);
+ }
+ return false;
+ break;
+ case EXT_STN:
+ if (record->event.pressed) {
+ layer_off(_STENO);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _BOTH);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _BOTH);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _BOTH);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _BOTH);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/readme.md b/keyboards/xiudi/xd75/keymaps/raoeus/readme.md
new file mode 100644
index 0000000000..40da8596e5
--- /dev/null
+++ b/keyboards/xiudi/xd75/keymaps/raoeus/readme.md
@@ -0,0 +1,77 @@
+# RAOEUS Layout for the XD75
+
+This layout is based on the Preonic layout, but with an additional numpad on the right. I have also added a stenography layer for use with Plover.
+
+To compile this XD75 keymapping, please run `make xiudi/xd75:raoeus`
+
+To compile _and_ flash, please run `make xiudi/xd75:raoeus:flash`
+
+ /* QWERTY
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | NUM | / | * |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | TAB | Q | W | E | R | T | Y | U | I | O | P | Del | 7 | 8 | 9 |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " | 4 | 5 | 6 |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | LShift | Z | X | C | V | B | N | M | , | . | / | Enter | 1 | 2 | 3 |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | LCtl | LAlt | LGUI | Steno | Lower | Space | Space | Raise | Left | Down | Up | Right | 0 | . | Enter |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ /* STENO
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | # | # | # | # | # | # | # | # | # | # | # | # | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | FN | S | T | P | H | * | * | F | P | L | T | D | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | | S | K | W | R | * | * | R | B | G | S | Z | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | EXIT | | | # | A | O | E | U | # | PWR | RES1 | RES2 | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ /* LOWER
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | CAPS | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | ISO ~ | ISO | | Home | End | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ /* RAISE
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | CAPS | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | ISO # | ISO / | Pg Up | Pg Dn | | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ /* BOTH (LOWER + RAISE)
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | Reset | Debug | | | | | TermOf | TermOn | | | Del | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | AGNorm | AGSwap | QWERTY | STENO | | | PLAIN | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | RGB+ | | | | | | | RGBTOG | HUE+ | SAT+ | BRITE+ | SPEED+ | | | |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | RGB- | | | | | | | | HUE- | SAT- | BRITE- | SPEED- | | | |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/rules.mk b/keyboards/xiudi/xd75/keymaps/raoeus/rules.mk
new file mode 100644
index 0000000000..0694ab5b65
--- /dev/null
+++ b/keyboards/xiudi/xd75/keymaps/raoeus/rules.mk
@@ -0,0 +1,3 @@
+MOUSEKEY_ENABLE = no # Mouse keys
+STENO_ENABLE = yes # Additional protocols for Stenography requires VIRTSER
+AUTO_SHIFT_ENABLE = yes # When you hold down a character in QWERTY, shift is automatically applied
diff --git a/keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c b/keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c
index 71ef2a6683..41a7da189a 100644
--- a/keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[L_FN] = LAYOUT_ortho_5x15(
DF_TYPE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, MS_JIGL, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
DF_GAME, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, KC_F12,
- _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_CAPS, RESET, _______, KC_MUTE, _______, _______, _______, _______, _______,
+ _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_CAPS, QK_BOOT, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, RGB_M_P, RGB_M_B, _______, _______, _______, _______, _______, _______, KC_VOLD, K_SECR1, K_SECR2, K_SECR3, K_SECR4, _______,
_______, _______, _______, ooooooo, _______, _______, _______, _______, _______, _______, _______, ooooooo, _______, _______, _______
),
@@ -118,7 +118,7 @@ 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_NLCK, KC_SLSH, KC_ASTR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
// KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_F12,
- // KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______,
+ // KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______,
// KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
// _______, _______, RGB_TOG, ooooooo, RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, ooooooo, _______, _______, _______
// )
diff --git a/keyboards/xiudi/xd75/keymaps/revok75/keymap.c b/keyboards/xiudi/xd75/keymaps/revok75/keymap.c
index 44e2c52033..4e8b821ca7 100644
--- a/keyboards/xiudi/xd75/keymaps/revok75/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/revok75/keymap.c
@@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | VOLDN | VOLUP | MUTE | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
-* | TAB | - | WIN | - | - | RGB_TOG| - | - | OPTION | RESET | - | [ | ] | - | - |
+* | TAB | - | WIN | - | - | RGB_TOG| - | - | OPTION | QK_BOOT | - | [ | ] | - | - |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | MAC | RAINBOW| PLAIN | - | - | - | - | - | - | ; | ' | ENTER | ENTER | REF |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* OSLAYOUT + NUMPAD + MEDIA + LIGHTING */
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLD, KC_VOLU, KC_MUTE, KC_DEL, \
- KC_TRNS, KC_NO, DF(_QW_W), KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_RALT, RESET, KC_NO, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_NO, DF(_QW_W), KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_RALT, QK_BOOT, KC_NO, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, \
KC_TRNS, DF(_QW_M), RGB_MODE_RAINBOW, RGB_MODE_PLAIN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_NO, KC_NO, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_END, KC_PGDN \
diff --git a/keyboards/xiudi/xd75/keymaps/scheiklb/keymap.c b/keyboards/xiudi/xd75/keymaps/scheiklb/keymap.c
index 3dc011a2cb..d54699ada4 100644
--- a/keyboards/xiudi/xd75/keymaps/scheiklb/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/scheiklb/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
},
[_FNC] = {
- { RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
+ { QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
{ KC_TAB, DE_AT, KC_TRNS, DE_EURO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_TILD },
{ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS },
{ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT },
diff --git a/keyboards/xiudi/xd75/keymaps/scheiklp/keymap.c b/keyboards/xiudi/xd75/keymaps/scheiklp/keymap.c
index 594d34ce33..dcd1ac563f 100644
--- a/keyboards/xiudi/xd75/keymaps/scheiklp/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/scheiklp/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 7
* .--------------------------------------------------------------------------------------------------------------------------------------------------------------.
- * | ESC | | | Button 3 | | | | | | | | | | | RESET |
+ * | ESC | | | Button 3 | | | | | | | | | | | QK_BOOT |
* |---------+----------+----------+----------+----------+------------+-----------+-----------+--------+---------+--------+--------+--------+-----------+---------|
* | TAB | Wheel up | Button 2 | Up | Button 1 | Wheel down | | | | | | | | | |
* |---------+----------+----------+----------+----------+------------+-----------+-----------+--------+---------+--------+--------+--------+-----------+---------|
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------------------------------'
*/
[_7] = LAYOUT_ortho_5x15( /* Layer 7 */
- KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c b/keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c
index 3db29a3636..b668f23a57 100644
--- a/keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* Navigation _NA
* .--------------------------------------------------------------------------------------------------------------------------------------.
- * | RESET | COLEMA | DVORAK | QWERTY | | RGB_TG | | | | | | | | | |
+ * | QK_BOOT | COLEMA | DVORAK | QWERTY | | RGB_TG | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Esc | Ctrl L | Up | Ctrl R | | RGB HD | RGB HI | | | | | PtSn | ScLk | Pause | |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -206,14 +206,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[nal] = LAYOUT_ortho_5x15( \
- RESET, DF(cm), DF(dv), DF(qw), _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, DF(cm), DF(dv), DF(qw), _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
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, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ QK_BOOT, DF(cm), DF(dv), DF(qw), _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
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, _______, \
diff --git a/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h b/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h
index 596aaff665..210c4441c3 100644
--- a/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h
+++ b/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h
@@ -24,7 +24,6 @@
//#define TAPPING_TERM 200
#define TAPPING_TOGGLE 2
//#define PERMISSIVE_HOLD
-//#define QMK_KEYS_PER_SCAN 4
#define FORCE_NKRO
#define MOUSEKEY_INTERVAL 16
diff --git a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
index b7b98cd4c5..e0cc76a2bb 100644
--- a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c
@@ -144,7 +144,7 @@ LT(_LYMD,KC_ESC), KC_A , KC_R , KC_S , KC_T , KC_D ,________ ,_______
LAYOUT_ortho_5x15(
________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,
KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,________,
- ________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,QWERTY ,COLEMAK ,___XX___,RESET,
+ ________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,QWERTY ,COLEMAK ,___XX___,QK_BOOT,
________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,
________,________,________,________,________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___
),
@@ -180,7 +180,7 @@ void matrix_init_user(void) {
//Set a color based on the layer
layer_state_t layer_state_set_user(layer_state_t state) {
- switch(biton32(state)) {
+ switch(get_highest_layer(state)) {
case _LYFK:
rgblight_setrgb_user_LYFK();
break;
diff --git a/keyboards/xiudi/xd75/keymaps/tomswartz07/keymap.c b/keyboards/xiudi/xd75/keymaps/tomswartz07/keymap.c
index 175ddb53b2..54913b29b4 100644
--- a/keyboards/xiudi/xd75/keymaps/tomswartz07/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/tomswartz07/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | RGB HD | RGB HI | | | | | | | PR SCR | SCR LK | INSERT |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PREV | PLAY | NEXT | | RGB SD | RGB SI | LEFT | DOWN | UP | RIGHT | | RESET | | | |
+ * | PREV | PLAY | NEXT | | RGB SD | RGB SI | LEFT | DOWN | UP | RIGHT | | QK_BOOT | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ |RGB RMD | RGB VD | RGB VI | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -113,8 +113,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_5x15( /* ADJUST */
_______, 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_NLCK, KC_SLSH,
- _______, RESET, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_INS,
- KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_SAD, RGB_SAI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, RESET, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_INS,
+ KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_SAD, RGB_SAI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, QK_BOOT, _______, _______, _______,
KC_VOLD, KC_MUTE, KC_VOLU, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/xiudi/xd75/keymaps/xo/keymap.c b/keyboards/xiudi/xd75/keymaps/xo/keymap.c
index 6fe547e87a..58dd1a616a 100644
--- a/keyboards/xiudi/xd75/keymaps/xo/keymap.c
+++ b/keyboards/xiudi/xd75/keymaps/xo/keymap.c
@@ -27,11 +27,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_ortho_5x15(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_P7, KC_P8, KC_P9, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
LCTL(KC_GRV), KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P4, KC_P5, KC_P6, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18,
- KC_CAPSLOCK, KC_TRNS, KC_TRNS, KC_MSTP, RGB_SAD, RGB_SAI, KC_P1, KC_P2, KC_P3, KC_PLUS, KC_TRNS, RESET, KC_MUTE, KC_VOLD, KC_VOLU,
+ KC_CAPSLOCK, KC_TRNS, KC_TRNS, KC_MSTP, RGB_SAD, RGB_SAI, KC_P1, KC_P2, KC_P3, KC_PLUS, KC_TRNS, QK_BOOT, KC_MUTE, KC_VOLD, KC_VOLU,
MO(2), KC_PSCR, KC_PAUS, KC_APP, RGB_VAD, RGB_VAI, KC_P0, KC_SLSH, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT,
TG(1), KC_TRNS, RGB_TOG, KC_SLCK, RGB_RMOD, RGB_MOD, KC_NLCK, KC_TRNS, KC_ASTR, KC_PENT, KC_PENT, MO(1), KC_TRNS, KC_TRNS, TG(1)),
[2] = LAYOUT_ortho_5x15(
- RESET, 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,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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, BL_DEC, BL_INC, BL_TOGG,
diff --git a/keyboards/xiudi/xd84/config.h b/keyboards/xiudi/xd84/config.h
index a96793cd75..0131e0dfa3 100644
--- a/keyboards/xiudi/xd84/config.h
+++ b/keyboards/xiudi/xd84/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x8484
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT XD84
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
@@ -41,7 +34,6 @@
*/
//#define MATRIX_ROW_PINS { D0, D5 }
//#define MATRIX_COL_PINS { F1, F0, B0 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd84/info.json b/keyboards/xiudi/xd84/info.json
index e24a5a92a1..7c02fdeeef 100644
--- a/keyboards/xiudi/xd84/info.json
+++ b/keyboards/xiudi/xd84/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XD84",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x8484",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_75_ansi": {
"layout": [
diff --git a/keyboards/xiudi/xd84pro/config.h b/keyboards/xiudi/xd84pro/config.h
index 797d209db3..3c43fb79ff 100644
--- a/keyboards/xiudi/xd84pro/config.h
+++ b/keyboards/xiudi/xd84pro/config.h
@@ -18,20 +18,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "xD"
-#define PRODUCT_ID 0x8450 // 84 "P"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT XD84 Pro
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { F4, D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3, F7 }
-#define UNUSED_PINS { B0, E2 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd84pro/info.json b/keyboards/xiudi/xd84pro/info.json
index b8e92158b8..36d52e5f72 100644
--- a/keyboards/xiudi/xd84pro/info.json
+++ b/keyboards/xiudi/xd84pro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XD84 Pro",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x8450",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xiudi/xd87/config.h b/keyboards/xiudi/xd87/config.h
index 5f5b704f36..c6b4a0a682 100644
--- a/keyboards/xiudi/xd87/config.h
+++ b/keyboards/xiudi/xd87/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x8787
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KP Republic
-#define PRODUCT XD87 TKL
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { D1, B0, B1, C7, D3, D5 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5, B6, C6, D4, D6, D7, B4, B2, B3, D2 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd87/info.json b/keyboards/xiudi/xd87/info.json
index 4f4f82fdaf..922d0641f2 100644
--- a/keyboards/xiudi/xd87/info.json
+++ b/keyboards/xiudi/xd87/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XD87",
+ "manufacturer": "KPrepublic",
"url": "https://kprepublic.com/products/hot-swappable-xd87-hs-xd87-custom-mechanical-keyboard-kit80-supports-tkg-tools-support-underglow-rgb-pcb-programmed-gh80-kle",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x8787",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c b/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c
index db27e5ea3b..5ea4bb5a9a 100755
--- a/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c
+++ b/keyboards/xiudi/xd87/keymaps/mac_underglow/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_tkl_ansi(
- RESET, EEP_RST, 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,
+ QK_BOOT, EEP_RST, 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, BL_TOGG, BL_INC,
KC_TRNS, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_DEC,
KC_TRNS, KC_TRNS, RGB_VAD, RGB_RMOD,RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/xiudi/xd96/config.h b/keyboards/xiudi/xd96/config.h
index ddf97f9d00..8665cc5776 100644
--- a/keyboards/xiudi/xd96/config.h
+++ b/keyboards/xiudi/xd96/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7844 // "XD"
-#define PRODUCT_ID 0x9696
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KPrepublic
-#define PRODUCT XD96
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
@@ -41,7 +34,6 @@
*/
//#define MATRIX_ROW_PINS { D0, D5 }
//#define MATRIX_COL_PINS { F1, F0, B0 }
-//#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xiudi/xd96/info.json b/keyboards/xiudi/xd96/info.json
index 4b01ab9ed7..aa9f2a7522 100644
--- a/keyboards/xiudi/xd96/info.json
+++ b/keyboards/xiudi/xd96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "xd96",
+ "keyboard_name": "XD96",
+ "manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7844",
+ "pid": "0x9696",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_96_ansi": {
"layout": [
diff --git a/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c b/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c
index a3a3da91db..39ca291a8d 100644
--- a/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c
+++ b/keyboards/xiudi/xd96/keymaps/uuupah/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RESET, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, QK_BOOT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_MPLY, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, KC_PSCR, _______, _______, _______, _______, _______,
_______, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/xmmx/config.h b/keyboards/xmmx/config.h
index 773f612089..1e9f2c9398 100644
--- a/keyboards/xmmx/config.h
+++ b/keyboards/xmmx/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6776
-#define DEVICE_VER 0x0001
-#define MANUFACTURER farmakon
-#define PRODUCT "XMMX"
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 17
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B3, B2, B1, E6, B7, C7, C6, D4, D6, D7, B4, D0, D1, F7, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xmmx/info.json b/keyboards/xmmx/info.json
index b96b4e1352..30b6cee59d 100644
--- a/keyboards/xmmx/info.json
+++ b/keyboards/xmmx/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XMMX",
+ "manufacturer": "farmakon",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6776",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/xw60/config.h b/keyboards/xw60/config.h
index 2bea6db399..4dd64632f3 100644
--- a/keyboards/xw60/config.h
+++ b/keyboards/xw60/config.h
@@ -2,20 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Drclick
-#define PRODUCT XW60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/xw60/info.json b/keyboards/xw60/info.json
index e3284a6905..40f3f44760 100644
--- a/keyboards/xw60/info.json
+++ b/keyboards/xw60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "XW60",
+ "manufacturer": "Drclick",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K0C", "x":12, "y":0}, {"label":"K0D", "x":13, "y":0}, {"label":"K49", "x":14, "y":0}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1}, {"label":"K1B", "x":11.5, "y":1}, {"label":"K1C", "x":12.5, "y":1}, {"label":"K1D", "x":13.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2, "w":1.75}, {"label":"K21", "x":1.75, "y":2}, {"label":"K22", "x":2.75, "y":2}, {"label":"K23", "x":3.75, "y":2}, {"label":"K24", "x":4.75, "y":2}, {"label":"K25", "x":5.75, "y":2}, {"label":"K26", "x":6.75, "y":2}, {"label":"K27", "x":7.75, "y":2}, {"label":"K28", "x":8.75, "y":2}, {"label":"K29", "x":9.75, "y":2}, {"label":"K2A", "x":10.75, "y":2}, {"label":"K2B", "x":11.75, "y":2}, {"label":"K2C", "x":12.75, "y":2}, {"label":"K2D", "x":13.75, "y":2, "w":1.25}, {"label":"K30", "x":0, "y":3, "w":1.25}, {"label":"K31", "x":1.25, "y":3}, {"label":"K32", "x":2.25, "y":3}, {"label":"K33", "x":3.25, "y":3}, {"label":"K34", "x":4.25, "y":3}, {"label":"K35", "x":5.25, "y":3}, {"label":"K36", "x":6.25, "y":3}, {"label":"K37", "x":7.25, "y":3}, {"label":"K38", "x":8.25, "y":3}, {"label":"K39", "x":9.25, "y":3}, {"label":"K3A", "x":10.25, "y":3}, {"label":"K3B", "x":11.25, "y":3}, {"label":"K3D", "x":12.25, "y":3, "w":1.75}, {"label":"K3C", "x":14, "y":3}, {"label":"K40", "x":0, "y":4, "w":1.25}, {"label":"K41", "x":1.25, "y":4, "w":1.25}, {"label":"K42", "x":2.5, "y":4, "w":1.25}, {"label":"K44", "x":3.75, "y":4, "w":2}, {"label":"K45", "x":5.75, "y":4, "w":2.25}, {"label":"K46", "x":8, "y":4, "w":2}, {"label":"K4A", "x":10, "y":4, "w":1.25}, {"label":"K4B", "x":11.25, "y":4, "w":1.25}, {"label":"K4C", "x":12.5, "y":4, "w":1.25}, {"label":"K4D", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/yampad/config.h b/keyboards/yampad/config.h
index 2e03580060..4ba5d76c53 100644
--- a/keyboards/yampad/config.h
+++ b/keyboards/yampad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5950 // YP
-#define PRODUCT_ID 0x8369
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Mattia Dal Ben
-#define PRODUCT Yampad
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 4
diff --git a/keyboards/yampad/info.json b/keyboards/yampad/info.json
index 3b3a1fe15f..7ef19ecee0 100644
--- a/keyboards/yampad/info.json
+++ b/keyboards/yampad/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Yampad",
+ "manufacturer": "Mattia Dal Ben",
"url": "",
"maintainer": "mattdibi",
+ "usb": {
+ "vid": "0x5950",
+ "pid": "0x8369",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yampad/keymaps/traditional/keymap.c b/keyboards/yampad/keymaps/traditional/keymap.c
index 78778cc34b..155a9e36a3 100644
--- a/keyboards/yampad/keymaps/traditional/keymap.c
+++ b/keyboards/yampad/keymaps/traditional/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_HUD, RGB_HUI, XXXXXXX,
RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
RGB_VAD, RGB_VAI, XXXXXXX,
- RESET, XXXXXXX, XXXXXXX, XXXXXXX
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX
),
};
diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h
index 2abdae1d31..665cc96275 100644
--- a/keyboards/yandrstudio/nz64/config.h
+++ b/keyboards/yandrstudio/nz64/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAA96
-#define PRODUCT_ID 0xAAAF
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Y&R
-#define PRODUCT nz64
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
diff --git a/keyboards/yandrstudio/nz64/readme.md b/keyboards/yandrstudio/nz64/readme.md
index ca52d65ee9..f495839aa3 100644
--- a/keyboards/yandrstudio/nz64/readme.md
+++ b/keyboards/yandrstudio/nz64/readme.md
@@ -19,4 +19,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard
* **Physical reset pins**: Short circuit the `bt0` and `vcc` pins on the back of the PCB and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/yandrstudio/nz64/rules.mk b/keyboards/yandrstudio/nz64/rules.mk
index 298305d3f9..8debea0e66 100644
--- a/keyboards/yandrstudio/nz64/rules.mk
+++ b/keyboards/yandrstudio/nz64/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/yandrstudio/nz67v2/board.h b/keyboards/yandrstudio/nz67v2/board.h
new file mode 100644
index 0000000000..a667bee461
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/board.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "board.h"
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000
diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h
new file mode 100644
index 0000000000..5d0aa382de
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/config.h
@@ -0,0 +1,109 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* key matrix pins */
+#define MATRIX_COL_PINS { B9, A3, A4, A5, A6, A7, B0, B2, B10, B11, B12, B13, B14, B15, A8 }
+#define MATRIX_ROW_PINS { B3, B4, B6, B7, B8 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define TAP_CODE_DELAY 15
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#ifdef ENCODER_ENABLE
+
+# define ENCODERS_PAD_A { A9 }
+# define ENCODERS_PAD_B { A10 }
+
+#endif
+
+/* RGB Matrix */
+#ifdef RGB_MATRIX_ENABLE
+
+# define RGB_DI_PIN B5
+# define RGBLED_NUM 86
+# define DRIVER_LED_TOTAL RGBLED_NUM
+
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
+# define RGBLIGHT_VAL_STEP 5
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_CENTER { 112, 32 }
+# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
+# define WS2812_PWM_CHANNEL 2 // default: 2
+# define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+# define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+
+#endif
diff --git a/keyboards/yandrstudio/nz67v2/halconf.h b/keyboards/yandrstudio/nz67v2/halconf.h
new file mode 100644
index 0000000000..93a0f05126
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#include_next <halconf.h>
+
+#undef HAL_USE_PWM
+#define HAL_USE_PWM TRUE
+
diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json
new file mode 100644
index 0000000000..3e5e2b4afa
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/info.json
@@ -0,0 +1,382 @@
+{
+ "keyboard_name": "nz67v2",
+ "processor": "STM32F103",
+ "bootloader": "stm32duino",
+ "usb": {
+ "pid": "0xAA83",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "EC",
+ "x": 16,
+ "y": 0
+ },
+ {
+ "label": "~",
+ "x": 0,
+ "y": 0.5
+ },
+ {
+ "label": "!",
+ "x": 1,
+ "y": 0.5
+ },
+ {
+ "label": "@",
+ "x": 2,
+ "y": 0.5
+ },
+ {
+ "label": "#",
+ "x": 3,
+ "y": 0.5
+ },
+ {
+ "label": "$",
+ "x": 4,
+ "y": 0.5
+ },
+ {
+ "label": "%",
+ "x": 5,
+ "y": 0.5
+ },
+ {
+ "label": "^",
+ "x": 6,
+ "y": 0.5
+ },
+ {
+ "label": "&",
+ "x": 7,
+ "y": 0.5
+ },
+ {
+ "label": "*",
+ "x": 8,
+ "y": 0.5
+ },
+ {
+ "label": "(",
+ "x": 9,
+ "y": 0.5
+ },
+ {
+ "label": ")",
+ "x": 10,
+ "y": 0.5
+ },
+ {
+ "label": "_",
+ "x": 11,
+ "y": 0.5
+ },
+ {
+ "label": "+",
+ "x": 12,
+ "y": 0.5
+ },
+ {
+ "label": "Backspace",
+ "x": 13,
+ "y": 0.5,
+ "w": 2
+ },
+ {
+ "label": "Insert",
+ "x": 15,
+ "y": 0.5
+ },
+ {
+ "label": "EC",
+ "x": 16,
+ "y": 1
+ },
+ {
+ "label": "Tab",
+ "x": 0,
+ "y": 1.5,
+ "w": 1.5
+ },
+ {
+ "label": "Q",
+ "x": 1.5,
+ "y": 1.5
+ },
+ {
+ "label": "W",
+ "x": 2.5,
+ "y": 1.5
+ },
+ {
+ "label": "E",
+ "x": 3.5,
+ "y": 1.5
+ },
+ {
+ "label": "R",
+ "x": 4.5,
+ "y": 1.5
+ },
+ {
+ "label": "T",
+ "x": 5.5,
+ "y": 1.5
+ },
+ {
+ "label": "Y",
+ "x": 6.5,
+ "y": 1.5
+ },
+ {
+ "label": "U",
+ "x": 7.5,
+ "y": 1.5
+ },
+ {
+ "label": "I",
+ "x": 8.5,
+ "y": 1.5
+ },
+ {
+ "label": "O",
+ "x": 9.5,
+ "y": 1.5
+ },
+ {
+ "label": "P",
+ "x": 10.5,
+ "y": 1.5
+ },
+ {
+ "label": "{",
+ "x": 11.5,
+ "y": 1.5
+ },
+ {
+ "label": "}",
+ "x": 12.5,
+ "y": 1.5
+ },
+ {
+ "label": "|",
+ "x": 13.5,
+ "y": 1.5,
+ "w": 1.5
+ },
+ {
+ "label": "PgUp",
+ "x": 15,
+ "y": 1.5
+ },
+ {
+ "label": "Caps Lock",
+ "x": 0,
+ "y": 2.5,
+ "w": 1.75
+ },
+ {
+ "label": "A",
+ "x": 1.75,
+ "y": 2.5
+ },
+ {
+ "label": "S",
+ "x": 2.75,
+ "y": 2.5
+ },
+ {
+ "label": "D",
+ "x": 3.75,
+ "y": 2.5
+ },
+ {
+ "label": "F",
+ "x": 4.75,
+ "y": 2.5
+ },
+ {
+ "label": "G",
+ "x": 5.75,
+ "y": 2.5
+ },
+ {
+ "label": "H",
+ "x": 6.75,
+ "y": 2.5
+ },
+ {
+ "label": "J",
+ "x": 7.75,
+ "y": 2.5
+ },
+ {
+ "label": "K",
+ "x": 8.75,
+ "y": 2.5
+ },
+ {
+ "label": "L",
+ "x": 9.75,
+ "y": 2.5
+ },
+ {
+ "label": ":",
+ "x": 10.75,
+ "y": 2.5
+ },
+ {
+ "label": "\"",
+ "x": 11.75,
+ "y": 2.5
+ },
+ {
+ "label": "Enter",
+ "x": 12.75,
+ "y": 2.5,
+ "w": 2.25
+ },
+ {
+ "label": "PgDn",
+ "x": 15,
+ "y": 2.5
+ },
+ {
+ "label": "Shift",
+ "x": 0,
+ "y": 3.5,
+ "w": 2.25
+ },
+ {
+ "label": "Z",
+ "x": 2.25,
+ "y": 3.5
+ },
+ {
+ "label": "X",
+ "x": 3.25,
+ "y": 3.5
+ },
+ {
+ "label": "C",
+ "x": 4.25,
+ "y": 3.5
+ },
+ {
+ "label": "V",
+ "x": 5.25,
+ "y": 3.5
+ },
+ {
+ "label": "B",
+ "x": 6.25,
+ "y": 3.5
+ },
+ {
+ "label": "N",
+ "x": 7.25,
+ "y": 3.5
+ },
+ {
+ "label": "M",
+ "x": 8.25,
+ "y": 3.5
+ },
+ {
+ "label": "<",
+ "x": 9.25,
+ "y": 3.5
+ },
+ {
+ "label": ">",
+ "x": 10.25,
+ "y": 3.5
+ },
+ {
+ "label": "?",
+ "x": 11.25,
+ "y": 3.5
+ },
+ {
+ "label": "Shift",
+ "x": 12.25,
+ "y": 3.5,
+ "w": 1.75
+ },
+ {
+ "label": "\u2191",
+ "x": 14,
+ "y": 3.5
+ },
+ {
+ "label": "Delete",
+ "x": 15,
+ "y": 3.5
+ },
+ {
+ "label": "Ctrl",
+ "x": 0,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "label": "Win",
+ "x": 1.25,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "label": "Alt",
+ "x": 2.5,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "x": 3.75,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "x": 6,
+ "y": 4.5,
+ "w": 1.75
+ },
+ {
+ "x": 7.75,
+ "y": 4.5,
+ "w": 2.25
+ },
+ {
+ "label": "Alt",
+ "x": 10,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "label": "Fn",
+ "x": 11.25,
+ "y": 4.5,
+ "w": 1.25
+ },
+ {
+ "label": "\u2190",
+ "x": 13,
+ "y": 4.5
+ },
+ {
+ "label": "\u2193",
+ "x": 14,
+ "y": 4.5
+ },
+ {
+ "label": "\u2192",
+ "x": 15,
+ "y": 4.5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7416296d5d
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c
@@ -0,0 +1,33 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_VOLD,KC_SPC, KC_VOLU, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ [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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
diff --git a/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c93b321727
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c
@@ -0,0 +1,76 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_VOLD,KC_SPC, KC_VOLU, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
+ [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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, 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 ENCODER_ENABLE
+keyevent_t encoder1_ccw = {.key = (keypos_t){.row = 4, .col = 4}, .pressed = false};
+
+keyevent_t encoder1_cw = {.key = (keypos_t){.row = 4, .col = 6}, .pressed = false};
+
+void matrix_scan_user(void) {
+ if (IS_PRESSED(encoder1_ccw)) {
+ encoder1_ccw.pressed = false;
+ encoder1_ccw.time = (timer_read() | 1);
+ action_exec(encoder1_ccw);
+ }
+
+ if (IS_PRESSED(encoder1_cw)) {
+ encoder1_cw.pressed = false;
+ encoder1_cw.time = (timer_read() | 1);
+ action_exec(encoder1_cw);
+ }
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ encoder1_cw.pressed = true;
+ encoder1_cw.time = (timer_read() | 1);
+ action_exec(encoder1_cw);
+ } else {
+ encoder1_ccw.pressed = true;
+ encoder1_ccw.time = (timer_read() | 1);
+ action_exec(encoder1_ccw);
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk b/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/yandrstudio/nz67v2/mcuconf.h b/keyboards/yandrstudio/nz67v2/mcuconf.h
new file mode 100644
index 0000000000..3ec9c20128
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_PLLXTPRE
+#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV2
diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c
new file mode 100644
index 0000000000..b8caa96bc0
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/nz67v2.c
@@ -0,0 +1,118 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "nz67v2.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+/* globol var store in eeprom for key and underground rgb switch */
+typedef union {
+ uint32_t raw;
+ uint8_t underground_rgb_sw :8;
+} kb_cums_t;
+kb_cums_t kb_cums;
+
+led_config_t g_led_config = {
+ {
+ {54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68},
+ {53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39},
+ {25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, 38},
+ {24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, NO_LED, 13, 12, 11},
+ {0, 1, 2, 3, NO_LED, 4, NO_LED, 5, NO_LED, 6, 7, NO_LED, 8, 9, 10}
+ },
+ {
+ {0,64},{16,64},{32,64},{48,64}, {80,64}, {112,64}, {144,64},{160,64}, {192,64},{208,64},{224,64},
+ {224,48},{208,48},{192,48}, {160,48},{144,48},{128,48},{112,48},{96,48},{80,48},{64,48},{48,48},{32,48},{16,48},{0,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}, {208,32},{224,32},
+ {224,16},{208,16},{192,16},{176,16},{160,16},{144,16},{128,16},{112,16},{96,16},{80,16},{64,16},{48,16},{32,16},{16,16},{0,16},
+ {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},
+ {224,0},{196,0},{168,0},{140,0},{112,0},{84,0},{56,0},{28,0},{0,0},
+ {224,64},{196,64},{168,64},{140,64},{112,64},{84,64},{56,64},{28,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,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2
+ }
+};
+
+void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ if (rgb_matrix_is_enabled()) {
+ if (kb_cums.underground_rgb_sw == 1) {
+ for (uint8_t i = led_min; i < led_max; ++i) {
+ if ((g_led_config.flags[i] == 4)) {
+ rgb_matrix_set_color(i, 0, 0, 0);
+ }
+ }
+ } else if (kb_cums.underground_rgb_sw == 2) {
+ for (uint8_t i = led_min; i < led_max; ++i) {
+ if ((g_led_config.flags[i] == 2)) {
+ rgb_matrix_set_color(i, 0, 0, 0);
+ }
+ }
+ }
+ } else {
+ rgb_matrix_set_color_all(0,0,0);
+ }
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, rgblight_get_val(), rgblight_get_val(), rgblight_get_val());
+ }
+}
+
+
+void eeconfig_init_kb(void) {
+ kb_cums.raw = 0;
+ eeconfig_update_kb(kb_cums.raw);
+}
+
+void keyboard_post_init_kb(void) {
+ kb_cums.underground_rgb_sw = eeconfig_read_kb();
+}
+
+#endif
+
+
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) { return false; }
+
+ switch(keycode) {
+#ifdef RGB_MATRIX_ENABLE
+ case URGB_K:
+ if (rgb_matrix_config.enable && record->event.pressed) {
+ kb_cums.underground_rgb_sw += 1;
+ kb_cums.underground_rgb_sw %= 3;
+ }
+ eeconfig_update_kb(kb_cums.raw);
+ return false;
+#endif
+ case LOCK_GUI:
+ process_magic(GUI_TOG, record);
+ return false;
+ default:
+ break;
+ }
+ return true;
+}
+
+void board_init(void) {
+ AFIO->MAPR |= AFIO_MAPR_TIM3_REMAP_PARTIALREMAP;
+}
diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.h b/keyboards/yandrstudio/nz67v2/nz67v2.h
new file mode 100644
index 0000000000..d60abef4f1
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/nz67v2.h
@@ -0,0 +1,42 @@
+/* Copyright 2020 zvecr <git@zvecr.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"
+
+#define LAYOUT( \
+ 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, K213, K214, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
+ K400, K401, K402, K403, K404, K405, K406, K407, K409, K410, K412, K413, K414 \
+) { \
+ { 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, KC_NO, K213, K214 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 }, \
+ { K400, K401, K402, K403, K404, K405, K406, K407, KC_NO, K409, K410, KC_NO, K412, K413, K414 } \
+}
+
+
+
+#ifdef RGB_MATRIX_ENABLE
+# define URGB_K KC_F24
+#else
+# define URGB_K KC_TRNS
+#endif
+
+#define LOCK_GUI KC_F23
diff --git a/keyboards/yandrstudio/nz67v2/readme.md b/keyboards/yandrstudio/nz67v2/readme.md
new file mode 100644
index 0000000000..1e75395fde
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/readme.md
@@ -0,0 +1,23 @@
+# nz67v2
+
+![nz67v2](https://i.imgur.com/AHmBuAqh.png)
+
+A 67 keys keyboard with rgb (key and underground).
+This keyboard use 16mhz HSE and APM32F103 as MCU.
+
+- Keyboard Maintainer: https://github.com/jiaxin96
+- Hardware Supported: nz67v2
+- Hardware Availability: [Y&R Works](https://shop417111022.taobao.com/?spm=2013.1.1000126.2.6aea6fa3Uxufe5), [5162](https://shop294487007.taobao.com/?spm=a230r.7195193.1997079397.2.763853eeeaoRl4)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make yandrstudio/nz67v2: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.
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/yandrstudio/nz67v2/rules.mk b/keyboards/yandrstudio/nz67v2/rules.mk
new file mode 100644
index 0000000000..a5923514e3
--- /dev/null
+++ b/keyboards/yandrstudio/nz67v2/rules.mk
@@ -0,0 +1,19 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -p FFFF -v FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+WS2812_DRIVER = pwm # WS2812 RGB Driver
+ENCODER_ENABLE = yes # Rotary encoder support
diff --git a/keyboards/yandrstudio/tg67/board.h b/keyboards/yandrstudio/tg67/board.h
new file mode 100644
index 0000000000..d83804babd
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/board.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include_next "board.h"
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000
diff --git a/keyboards/yandrstudio/tg67/config.h b/keyboards/yandrstudio/tg67/config.h
new file mode 100644
index 0000000000..729375f987
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/config.h
@@ -0,0 +1,101 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_COL_PINS { B2, B10, B11, A8, A9, A10, B5, A15, B3, A2, A3, B4, A4, A5, A6 }
+#define MATRIX_ROW_PINS { B0, B6, B1, B7, A1 }
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* RGB Matrix */
+#ifdef RGB_MATRIX_ENABLE
+
+# define RGB_DI_PIN A7
+# define RGBLED_NUM 69
+# define DRIVER_LED_TOTAL RGBLED_NUM
+
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250
+# define RGBLIGHT_VAL_STEP 5
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_MATRIX_CENTER { 112, 32 }
+# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGBLIGHT_ANIMATIONS
+
+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_BREATHING
+# define ENABLE_RGB_MATRIX_BAND_SAT
+# define ENABLE_RGB_MATRIX_BAND_VAL
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+# define ENABLE_RGB_MATRIX_CYCLE_ALL
+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+# define ENABLE_RGB_MATRIX_DUAL_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+# define ENABLE_RGB_MATRIX_RAINDROPS
+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+# define ENABLE_RGB_MATRIX_HUE_BREATHING
+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
+# define ENABLE_RGB_MATRIX_HUE_WAVE
+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define ENABLE_RGB_MATRIX_SPLASH
+# define ENABLE_RGB_MATRIX_MULTISPLASH
+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+
+# 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
+
+#endif
diff --git a/keyboards/yandrstudio/tg67/halconf.h b/keyboards/yandrstudio/tg67/halconf.h
new file mode 100644
index 0000000000..1f5f3e7009
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+#include_next <halconf.h>
+
+#undef HAL_USE_PWM
+#define HAL_USE_PWM TRUE
+
diff --git a/keyboards/yandrstudio/tg67/info.json b/keyboards/yandrstudio/tg67/info.json
new file mode 100644
index 0000000000..d48809128f
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/info.json
@@ -0,0 +1,362 @@
+{
+ "keyboard_name": "tg67",
+ "processor": "STM32F103",
+ "bootloader": "stm32duino",
+ "usb": {
+ "pid": "0xAA8D",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "~",
+ "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": "Home",
+ "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": "End",
+ "x": 15,
+ "y": 1
+ },
+ {
+ "label": "Caps Lock",
+ "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": "\u2191",
+ "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": "Alt",
+ "x": 10,
+ "y": 4,
+ "w": 1.25
+ },
+ {
+ "label": "Fn",
+ "x": 11.25,
+ "y": 4,
+ "w": 1.25
+ },
+ {
+ "label": "\u2190",
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "\u2193",
+ "x": 14,
+ "y": 4
+ },
+ {
+ "label": "\u2192",
+ "x": 15,
+ "y": 4
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/yandrstudio/tg67/keymaps/default/keymap.c b/keyboards/yandrstudio/tg67/keymaps/default/keymap.c
new file mode 100644
index 0000000000..17e31d90c5
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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), KC_LEFT, KC_DOWN, KC_RGHT),
+ [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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/yandrstudio/tg67/keymaps/via/keymap.c b/keyboards/yandrstudio/tg67/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d955a72114
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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), KC_LEFT, KC_DOWN, KC_RGHT),
+ [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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/yandrstudio/tg67/keymaps/via/rules.mk b/keyboards/yandrstudio/tg67/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/yandrstudio/tg67/mcuconf.h b/keyboards/yandrstudio/tg67/mcuconf.h
new file mode 100644
index 0000000000..3ec9c20128
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_PLLXTPRE
+#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV2
diff --git a/keyboards/yandrstudio/tg67/readme.md b/keyboards/yandrstudio/tg67/readme.md
new file mode 100644
index 0000000000..7dabbc13d4
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/readme.md
@@ -0,0 +1,22 @@
+# tg67
+
+![tg67](https://imgur.com/gKRrQLkh.png)
+A 65% keyboard with RGBs.
+This keyboard use 16mhz HSE and APM32F103 as MCU.
+
+- Keyboard Maintainer: https://github.com/jiaxin96
+- Hardware Supported: tg67
+- Hardware Availability: https://kineticlabs.com/
+
+Make example for this keyboard (after setting up your build environment):
+
+ make yandrstudio/tg67: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.
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard
+- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/yandrstudio/tg67/rules.mk b/keyboards/yandrstudio/tg67/rules.mk
new file mode 100644
index 0000000000..4f60885efd
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/rules.mk
@@ -0,0 +1,18 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -p FFFF -v FFFF
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+WS2812_DRIVER = pwm # WS2812 RGB Driver
diff --git a/keyboards/yandrstudio/tg67/tg67.c b/keyboards/yandrstudio/tg67/tg67.c
new file mode 100644
index 0000000000..b1f3907a22
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/tg67.c
@@ -0,0 +1,46 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "tg67.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+led_config_t g_led_config = {
+ {
+ {54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68},
+ {53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39},
+ {25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, 38},
+ {24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, NO_LED, 13, 12, 11},
+ {0, 1, 2, NO_LED, NO_LED, 4, NO_LED, NO_LED, NO_LED, 6, 7, NO_LED, 8, 9, 10}
+ },
+ {
+ {0,64},{16,64},{32,64},{48,64}, {80,64}, {112,64}, {144,64},{160,64}, {192,64},{208,64},{224,64},
+ {224,48},{208,48},{192,48}, {160,48},{144,48},{128,48},{112,48},{96,48},{80,48},{64,48},{48,48},{32,48},{16,48},{0,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}, {208,32},{224,32},
+ {224,16},{208,16},{192,16},{176,16},{160,16},{144,16},{128,16},{112,16},{96,16},{80,16},{64,16},{48,16},{32,16},{16,16},{0,16},
+ {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}
+ },
+ {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4
+ }
+};
+
+#endif
diff --git a/keyboards/yandrstudio/tg67/tg67.h b/keyboards/yandrstudio/tg67/tg67.h
new file mode 100644
index 0000000000..efb7d68059
--- /dev/null
+++ b/keyboards/yandrstudio/tg67/tg67.h
@@ -0,0 +1,33 @@
+/* Copyright 2022 JasonRen(biu)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ 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, K213, K214, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
+ K400, K401, K402, K405, K409, K410, K412, K413, K414 \
+) { \
+ { 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, KC_NO, K213, K214 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 }, \
+ { K400, K401, K402, KC_NO, KC_NO, K405, KC_NO, KC_NO, KC_NO, K409, K410, KC_NO, K412, K413, K414 } \
+}
+
diff --git a/keyboards/yandrstudio/zhou65/config.h b/keyboards/yandrstudio/zhou65/config.h
index 3dbfd3b436..23638206f7 100644
--- a/keyboards/yandrstudio/zhou65/config.h
+++ b/keyboards/yandrstudio/zhou65/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAA96
-#define PRODUCT_ID 0xAAAD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZHOU_Y&R
-#define PRODUCT zhou65
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/yandrstudio/zhou65/readme.md b/keyboards/yandrstudio/zhou65/readme.md
index 31f57f2f96..802943ae39 100644
--- a/keyboards/yandrstudio/zhou65/readme.md
+++ b/keyboards/yandrstudio/zhou65/readme.md
@@ -19,4 +19,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard
* **Physical reset pins**: Short circuit the `bt0` and `vcc` pins on the back of the PCB and plug in the keyboard
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.
diff --git a/keyboards/yandrstudio/zhou65/rules.mk b/keyboards/yandrstudio/zhou65/rules.mk
index 35a39a549a..0a84b0a1fe 100644
--- a/keyboards/yandrstudio/zhou65/rules.mk
+++ b/keyboards/yandrstudio/zhou65/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/yanghu/unicorne/config.h b/keyboards/yanghu/unicorne/config.h
index 27d21c7906..749f7f69e4 100644
--- a/keyboards/yanghu/unicorne/config.h
+++ b/keyboards/yanghu/unicorne/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0204
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yanghu
-#define PRODUCT unicorne
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/yanghu/unicorne/f411/rules.mk b/keyboards/yanghu/unicorne/f411/rules.mk
index b32a8b7f5b..c25a64f4b3 100644
--- a/keyboards/yanghu/unicorne/f411/rules.mk
+++ b/keyboards/yanghu/unicorne/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json
index 995bed8a03..67bb7f657d 100644
--- a/keyboards/yanghu/unicorne/info.json
+++ b/keyboards/yanghu/unicorne/info.json
@@ -1,9 +1,18 @@
{
"keyboard_name": "Unicorne",
+ "manufacturer": "yanghu",
"url": "https://github.com/yanghu/unicorne",
"maintainer": "yanghu",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0204",
+ "device_version": "0.0.1"
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x6_4"
+ },
"layouts": {
- "LAYOUT_unicorne": {
+ "LAYOUT_split_3x6_4": {
"layout": [
{"label":"Tab", "x":0, "y":0.8},
{"label":"Q", "x":1, "y":0.8},
@@ -59,4 +68,4 @@
]
}
}
-}
+}
diff --git a/keyboards/yanghu/unicorne/keymaps/bcat/keymap.c b/keyboards/yanghu/unicorne/keymaps/bcat/keymap.c
index 3da9f880ae..af1e92a984 100644
--- a/keyboards/yanghu/unicorne/keymaps/bcat/keymap.c
+++ b/keyboards/yanghu/unicorne/keymaps/bcat/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/7eb0f1c437169f30cc18eac271ad2302 */
[LAYER_ADJUST] = LAYOUT(
- _______, MU_TOG, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, RESET, _______, _______, _______, _______,
+ _______, MU_TOG, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, QK_BOOT, _______, _______, _______, _______,
_______, MU_MOD, KC_MPRV, KC_VOLD, KC_MNXT, _______, RGB_RMOD, RGB_VAD, RGB_VAI, RGB_MOD, RGB_SPI, _______,
_______, _______, _______, KC_MUTE, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______,
_______, _______, _______, _______, RGB_TOG, _______, _______, _______
diff --git a/keyboards/yatara/drink_me/config.h b/keyboards/yatara/drink_me/config.h
index 10573092c9..51d03c58e2 100644
--- a/keyboards/yatara/drink_me/config.h
+++ b/keyboards/yatara/drink_me/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5961 // "Ya" - Yatara
-#define PRODUCT_ID 0x1470
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yatara
-#define PRODUCT Drink Me
-
/* Key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
@@ -33,4 +26,3 @@
#define DIRECT_PINS { \
{B4, B5, B6, B7} \
}
-#define UNUSED_PINS
diff --git a/keyboards/yatara/drink_me/info.json b/keyboards/yatara/drink_me/info.json
index 00327243d5..bb6f3de695 100644
--- a/keyboards/yatara/drink_me/info.json
+++ b/keyboards/yatara/drink_me/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Drink Me",
+ "manufacturer": "Yatara",
"url": "https://github.com/yatara-cc",
"maintainer": "yatara-cc",
+ "usb": {
+ "vid": "0x5961",
+ "pid": "0x1470",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ydkb/chili/config.h b/keyboards/ydkb/chili/config.h
index e3a4e004b8..bb54f28e6e 100644
--- a/keyboards/ydkb/chili/config.h
+++ b/keyboards/ydkb/chili/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5945 // "YE"
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YDKB
-#define PRODUCT Chili
-
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 10
@@ -37,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Column pin configuration
*/
#define MATRIX_COL_PINS { D4, F6, F7, C7, C6, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ydkb/chili/info.json b/keyboards/ydkb/chili/info.json
index 8e92d83de0..a23d8bc0d7 100644
--- a/keyboards/ydkb/chili/info.json
+++ b/keyboards/ydkb/chili/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YDKB Chili",
+ "keyboard_name": "Chili",
+ "manufacturer": "YDKB",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5945",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"Backsp", "x":13, "y":1.5}, {"x":14, "y":1.5}, {"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}, {"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":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"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":1.75}, {"x":14, "y":4.5}, {"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":3}, {"x":6.75, "y":5.5, "w":3}, {"label":"Alt", "x":9.75, "y":5.5, "w":1.5}, {"label":"Win", "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}, {"x":19.5, "y":5.5}, {"label":".", "x":20.5, "y":5.5}]
diff --git a/keyboards/ydkb/grape/config.h b/keyboards/ydkb/grape/config.h
index 3396f18d61..c4531a9abd 100644
--- a/keyboards/ydkb/grape/config.h
+++ b/keyboards/ydkb/grape/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5945 // "YE"
-#define PRODUCT_ID 0x6772 // "GR"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YDKB
-#define PRODUCT Grape
-
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 18
diff --git a/keyboards/ydkb/grape/info.json b/keyboards/ydkb/grape/info.json
index 9024ca4d0b..80cad94330 100644
--- a/keyboards/ydkb/grape/info.json
+++ b/keyboards/ydkb/grape/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Grape",
+ "manufacturer": "YDKB",
"url": "https://item.taobao.com/item.htm?id=642205244150",
"maintainer": "Gacathon",
+ "usb": {
+ "vid": "0x5945",
+ "pid": "0x6772",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ydkb/just60/config.h b/keyboards/ydkb/just60/config.h
index 82272ffffa..16b205105d 100644
--- a/keyboards/ydkb/just60/config.h
+++ b/keyboards/ydkb/just60/config.h
@@ -19,20 +19,12 @@ 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 0x1960
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YDKB
-#define PRODUCT Just60
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { E2, C7, B3, B2, B1 }
#define MATRIX_COL_PINS { D6, D7, B4, B6, B5, B7, F7, F6, F5, F4, F1, F0, E6, B0 }
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define QMK_ESC_OUTPUT D6 // usually COL
diff --git a/keyboards/ydkb/just60/info.json b/keyboards/ydkb/just60/info.json
index 5f42033845..8d297d51ad 100644
--- a/keyboards/ydkb/just60/info.json
+++ b/keyboards/ydkb/just60/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Just60",
+ "manufacturer": "YDKB",
"url": "",
"maintainer": "thinxer",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x1960",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ydkb/just60/keymaps/thinxer/keymap.c b/keyboards/ydkb/just60/keymaps/thinxer/keymap.c
index da034e0e44..b23cb57ce9 100644
--- a/keyboards/ydkb/just60/keymaps/thinxer/keymap.c
+++ b/keyboards/ydkb/just60/keymaps/thinxer/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
[_COMMAND] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/ydkb/just60/readme.md b/keyboards/ydkb/just60/readme.md
index 1fe05bd3ea..76eee5dced 100644
--- a/keyboards/ydkb/just60/readme.md
+++ b/keyboards/ydkb/just60/readme.md
@@ -2,7 +2,7 @@
Just60 keyboard produced by Yang. The keyboard comes with a custom Mass Storage Device bootloader and a TMK based firmware from ydkb.io.
-To use a QMK based firmware, you might want to install a QMK bootloader. The PCB exposes 6 pins for ISP(In-System Programming), and they are located just under the ATMega32U4 chip. From left to right, the pins are `VCC`, `SCLK`, `MOSI`, `MISO`, `RESET`, `GND`. The `GND` is the square one. You could program the flash with any AVR programmer, or a Raspberry Pi with `avrdude`.
+To use a QMK based firmware, you might want to install a QMK bootloader. The PCB exposes 6 pins for ISP(In-System Programming), and they are located just under the ATMega32U4 chip. From left to right, the pins are `VCC`, `SCLK`, `MOSI`, `MISO`, `QK_BOOT`, `GND`. The `GND` is the square one. You could program the flash with any AVR programmer, or a Raspberry Pi with `avrdude`.
Backlight LEDs and Bluetooth are not working yet.
diff --git a/keyboards/ydkb/yd68/config.h b/keyboards/ydkb/yd68/config.h
index 40a0609347..d1bd8bb1ca 100644
--- a/keyboards/ydkb/yd68/config.h
+++ b/keyboards/ydkb/yd68/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0002
-#define MANUFACTURER YANG
-#define PRODUCT YD68v2
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B5, C6, C7, D7, B4 }
#define MATRIX_COL_PINS { B6, F7, F6, F5, F4, F1, F0, E6, B0, B7, D0, D1, D2, D3, D5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ydkb/yd68/info.json b/keyboards/ydkb/yd68/info.json
index 8797620557..08124d0902 100644
--- a/keyboards/ydkb/yd68/info.json
+++ b/keyboards/ydkb/yd68/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YD68",
+ "keyboard_name": "YD68v2",
+ "manufacturer": "YANG",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.2"
+ },
"layouts": {
"LAYOUT_ansi": {
"layout": [{"label":"~", "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}, {"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}, {"x":15, "y":1}, {"label":"Caps Lock", "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}, {"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}, {"x":14, "y":3}, {"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":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/yeehaw/config.h b/keyboards/yeehaw/config.h
index c13c70eae9..08dd91c12c 100644
--- a/keyboards/yeehaw/config.h
+++ b/keyboards/yeehaw/config.h
@@ -17,14 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5351
-#define PRODUCT_ID 0x5458
-#define DEVICE_VER 0x0100
-#define MANUFACTURER squashkb
-#define PRODUCT Yeehaw
-
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 14
diff --git a/keyboards/yeehaw/info.json b/keyboards/yeehaw/info.json
index 4fe5d4438c..b0358618a0 100644
--- a/keyboards/yeehaw/info.json
+++ b/keyboards/yeehaw/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Yeehaw",
+ "manufacturer": "squashkb",
"url": "https://squashkb.com/product/yeehaw",
"maintainer": "Tsquash",
+ "usb": {
+ "vid": "0x5351",
+ "pid": "0x5458",
+ "device_version": "1.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"VOLU", "x":1, "y":0}, {"label":"VOLD", "x":1, "y":1}, {"label":"M1", "x":2, "y":1.5}, {"label":"UP", "x":3, "y":1.5}, {"label":"MNXT", "x":1, "y":2}, {"label":"M2", "x":4, "y":2}, {"label":"LEFT", "x":2, "y":2.5}, {"label":"DOWN", "x":3, "y":2.5}, {"label":"MO(1)", "x":0, "y":2.75}, {"label":"MPRV", "x":1, "y":3}, {"label":"RIGHT", "x":4, "y":3}, {"label":"MPLY", "x":2, "y":3.5}, {"label":"CTL S", "x":3, "y":3.5}, {"label":"RGB TOG", "x":2.5, "y":4.5}]
diff --git a/keyboards/yiancardesigns/barleycorn/config.h b/keyboards/yiancardesigns/barleycorn/config.h
index 71c6076d46..2780cfccda 100644
--- a/keyboards/yiancardesigns/barleycorn/config.h
+++ b/keyboards/yiancardesigns/barleycorn/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4749
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Barleycorn
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { B4, B3, B2, B1, C1 }
#define MATRIX_COL_PINS { B0, D7, D6, D4, D1, D0, C3, C2, D5, D5, D5, D5, D5, D5, D5, D5, D5, D5 }
-#define UNUSED_PINS
#define PORT_EXPANDER_ADDRESS 0x20
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/yiancardesigns/barleycorn/info.json b/keyboards/yiancardesigns/barleycorn/info.json
index 293f321b2c..3fb2f06a80 100644
--- a/keyboards/yiancardesigns/barleycorn/info.json
+++ b/keyboards/yiancardesigns/barleycorn/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "Barleycorn",
+ "manufacturer": "Yiancar-Designs",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4749",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/yiancardesigns/gingham/config.h b/keyboards/yiancardesigns/gingham/config.h
index 5dcc1efa19..34f8cb600e 100644
--- a/keyboards/yiancardesigns/gingham/config.h
+++ b/keyboards/yiancardesigns/gingham/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4748
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Gingham
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { D0, C3, D1, C1, C2 }
#define MATRIX_COL_PINS { D4, D4, C0, B5, D5, B4, D6, B1, B0, B2, D7, B3, D4, D4 }
-#define UNUSED_PINS
#define PORT_EXPANDER_ADDRESS 0x20
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/yiancardesigns/gingham/info.json b/keyboards/yiancardesigns/gingham/info.json
index 0f9e81decc..fb2abb51ef 100644
--- a/keyboards/yiancardesigns/gingham/info.json
+++ b/keyboards/yiancardesigns/gingham/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gingham",
+ "manufacturer": "Yiancar-Designs",
"url": "https://yiancar-designs.com/product/gingham/",
"maintainer": "Yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4748",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"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":"Back", "x":13, "y":0}, {"label":"Delete", "x":14, "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":"Caps Lock", "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":1.75}, {"label":"Shift", "x":14, "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":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Fn", "x":11.25, "y":4, "w":1.25}, {"label":"App", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c b/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c
index 5c3891845d..062cc26bfe 100644
--- a/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c
+++ b/keyboards/yiancardesigns/gingham/keymaps/codecoffeecode/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */
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_TRNS, KC_TRNS, KC_UP, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
diff --git a/keyboards/yiancardesigns/seigaiha/config.h b/keyboards/yiancardesigns/seigaiha/config.h
index fdb957f783..3a5f5fe390 100644
--- a/keyboards/yiancardesigns/seigaiha/config.h
+++ b/keyboards/yiancardesigns/seigaiha/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4750
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Seigaiha
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -43,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* A Custom matrix.c is used to poll the port expander D5 shows that the pins are hardwired there */
#define MATRIX_ROW_PINS { C0, B4, B3, B2, B5 }
#define MATRIX_COL_PINS { B0, D7, D6, D4, B1, C1, C2, D1, C3, D0, D5, D5, D5, D5, D5 }
-#define UNUSED_PINS
#define PORT_EXPANDER_ADDRESS 0x20
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/yiancardesigns/seigaiha/info.json b/keyboards/yiancardesigns/seigaiha/info.json
index 09bc2d09d0..ca34286cea 100644
--- a/keyboards/yiancardesigns/seigaiha/info.json
+++ b/keyboards/yiancardesigns/seigaiha/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Seigaiha",
+ "manufacturer": "Yiancar-Designs",
"url": "www.yiancar-designs.com",
"maintainer": "Yiancar-Designs",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4750",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/ymdk/bface/config.h b/keyboards/ymdk/bface/config.h
index 6be1c86623..f43f5b5dc1 100644
--- a/keyboards/ymdk/bface/config.h
+++ b/keyboards/ymdk/bface/config.h
@@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x4266 // "Bf"
-#define DEVICE_VER 0x0200
-#define MANUFACTURER YMDK
-#define PRODUCT B.face
-
/* matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -30,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 0 1 2 3 4 5 6 7 8 9 A B C D E
#define MATRIX_ROW_PINS { B7, B6, B5, B4, B3}
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7}
-#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ymdk/bface/info.json b/keyboards/ymdk/bface/info.json
index 4c2f5d7560..78281d892e 100644
--- a/keyboards/ymdk/bface/info.json
+++ b/keyboards/ymdk/bface/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YMDK Bface",
+ "keyboard_name": "B.face",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x4266",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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},{"x":13, "y":0}, {"label":"Backspace", "x":14, "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":"Caps Lock", "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},{"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"x":0, "y":3},{"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"x":12, "y":3},{"x":13, "y":3}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.75}, {"x":1.75, "y":4, "w":1.25}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25},{"x":5.5, "y":4, "w":3}, {"x":8.5, "y":4, "w":1.25}, {"x":9.75, "y":4, "w":1.25}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
diff --git a/keyboards/ymdk/bface/keymaps/minila/keymap.c b/keyboards/ymdk/bface/keymaps/minila/keymap.c
index 4038e8f762..5505dfcff7 100644
--- a/keyboards/ymdk/bface/keymaps/minila/keymap.c
+++ b/keyboards/ymdk/bface/keymaps/minila/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
//FN Layer
[_FL] = LAYOUT_all(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RESET,
+ KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
_______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, NK_TOGG, KC_PSCR, KC_SLCK, KC_PAUS, _______, BL_STEP, BL_TOGG,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_INS, KC_HOME, KC_PGUP, KC_BSPC, _______, _______, _______,
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______,
diff --git a/keyboards/ymdk/melody96/config.h b/keyboards/ymdk/melody96/config.h
index 45e7e680c1..627a4850eb 100644
--- a/keyboards/ymdk/melody96/config.h
+++ b/keyboards/ymdk/melody96/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594d // "YM"
-#define PRODUCT_ID 0x4D96 // "M" + 96
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT Melody96
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 9
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ymdk/melody96/info.json b/keyboards/ymdk/melody96/info.json
index 211d50b378..ab6c4385c3 100644
--- a/keyboards/ymdk/melody96/info.json
+++ b/keyboards/ymdk/melody96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "melody96",
+ "keyboard_name": "Melody96",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x4D96",
+ "device_version": "0.0.1"
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all",
"LAYOUT_hotswap": "LAYOUT_96_ansi"
diff --git a/keyboards/ymdk/melody96/keymaps/crilith/keymap.c b/keyboards/ymdk/melody96/keymaps/crilith/keymap.c
index 40ae691435..d11be1679b 100644
--- a/keyboards/ymdk/melody96/keymaps/crilith/keymap.c
+++ b/keyboards/ymdk/melody96/keymaps/crilith/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TT(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
LAYOUT(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______,
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_TAB,
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TAB,
diff --git a/keyboards/ymdk/melody96/keymaps/dvz/keymap.c b/keyboards/ymdk/melody96/keymaps/dvz/keymap.c
index cea3970e18..9a6994ae72 100644
--- a/keyboards/ymdk/melody96/keymaps/dvz/keymap.c
+++ b/keyboards/ymdk/melody96/keymaps/dvz/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
[1] = LAYOUT(
- 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,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD,
KC_TRNS, RGB_TOG, KC_TRNS, 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_VOLD,
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, KC_TRNS, KC_VOLU,
diff --git a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
index d0d2698b7a..624797c5c3 100644
--- a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
+++ b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c
@@ -236,7 +236,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Function layer is mostly for keyboard meta-control operations, but also contains the combining
// accent marks. These are deliberately placed to match where the analogous controls go on Mac OS.
[_FUNCTION] = LAYOUT_hotswap(
- KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RESET,
+ KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT,
KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_CAGU, _______, _______, _______, KC_CDIA, KC_CCIR, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, UC_M_OS, UC_M_LN, UC_M_WI, UC_M_BS, UC_M_WC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/ymdk/np21/config.h b/keyboards/ymdk/np21/config.h
index 762ac2b4bf..619ec1ce60 100644
--- a/keyboards/ymdk/np21/config.h
+++ b/keyboards/ymdk/np21/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x5021 // "P" 21
-#define DEVICE_VER 0x0200
-#define MANUFACTURER YMDK
-#define PRODUCT NP21
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 6
diff --git a/keyboards/ymdk/np21/info.json b/keyboards/ymdk/np21/info.json
index 6a611d7a38..6d8347ec32 100644
--- a/keyboards/ymdk/np21/info.json
+++ b/keyboards/ymdk/np21/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "YMDK NP21",
+ "keyboard_name": "NP21",
+ "manufacturer": "YMDK",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x5021",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/ymdk/np24/u4rgb6/config.h b/keyboards/ymdk/np24/u4rgb6/config.h
index dc86ae344b..862f8822ce 100644
--- a/keyboards/ymdk/np24/u4rgb6/config.h
+++ b/keyboards/ymdk/np24/u4rgb6/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D
-#define PRODUCT_ID 0x5024
-#define DEVICE_VER 0x0406
-#define MANUFACTURER YMDK
-#define PRODUCT NP24 U4 RGB6
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/ymdk/np24/u4rgb6/info.json b/keyboards/ymdk/np24/u4rgb6/info.json
index fe5a940c08..c6965cd568 100644
--- a/keyboards/ymdk/np24/u4rgb6/info.json
+++ b/keyboards/ymdk/np24/u4rgb6/info.json
@@ -1,6 +1,12 @@
{
- "keyboard_name": "YMDK NP24 U4 RGB6",
+ "keyboard_name": "NP24 U4 RGB6",
+ "manufacturer": "YMDK",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x5024",
+ "device_version": "4.0.6"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/ymdk/sp64/config.h b/keyboards/ymdk/sp64/config.h
index f7b34575af..61772c6d04 100644
--- a/keyboards/ymdk/sp64/config.h
+++ b/keyboards/ymdk/sp64/config.h
@@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x594D
-#define PRODUCT_ID 0x5364
-#define DEVICE_VER 0x0200
-#define MANUFACTURER YMDK
-#define PRODUCT SP64
-
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
diff --git a/keyboards/ymdk/sp64/info.json b/keyboards/ymdk/sp64/info.json
index 3804b8b99a..a59c46d2f2 100644
--- a/keyboards/ymdk/sp64/info.json
+++ b/keyboards/ymdk/sp64/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YMDK_SP64",
+ "keyboard_name": "SP64",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "walston",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x5364",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ymdk/sp64/keymaps/daed/keymap.c b/keyboards/ymdk/sp64/keymaps/daed/keymap.c
index 7174c108b3..8512ef799f 100644
--- a/keyboards/ymdk/sp64/keymaps/daed/keymap.c
+++ b/keyboards/ymdk/sp64/keymaps/daed/keymap.c
@@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_MODE] = LAYOUT(
KC_GRAVE, 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_RMOD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ RGB_TOG, RGB_RMOD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, RGB_SPD, RGB_VAD, RGB_SPI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/config.h b/keyboards/ymdk/sp64/keymaps/minkezhang/config.h
new file mode 100644
index 0000000000..5bfa79eb21
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/minkezhang/config.h
@@ -0,0 +1,5 @@
+// Copyright 2022 Minke Zhang (@minkezhang)
+// SPDX-License-Identifier: GPL-3.0-only
+#pragma once
+
+#define RGBLIGHT_LAYERS
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c b/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c
new file mode 100644
index 0000000000..7481696fd6
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c
@@ -0,0 +1,149 @@
+// Copyright 2022 Minke Zhang (@minkezhang)
+// SPDX-License-Identifier: GPL-3.0-only
+#include QMK_KEYBOARD_H
+
+/* Layer transitions diagram
+ *
+ * BASE <-> _FN [MO]
+ * BASE <-> _NUM [TG]
+ * _NUM <-> _MIRROR [MO]
+ *
+ * Direct transitions between layers not listed here are considered bugs.
+ */
+enum layer_names {
+ BASE, // default layer
+ _FN, // function layer
+ _NUM, // numpad
+ _MIRROR, // mirrorboard layer
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
+ * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Caps │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │Shft │ Up │ Del │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ Ctrl │ Win │ Alt │ Fn │ Sp │ │ │ Alt │ Fn │ Lft │ Dwn │ Rgt │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[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_MINUS, KC_EQUAL, 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_LBRACKET, KC_RBRACKET, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_SPACE, KC_RALT, TG(_NUM), KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/* Function
+ *
+ * Cannot access the _NUM layer directly.
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
+ * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Enter │ │ Lft │ Dwn │ Rgt │ │ │ │ │ │ │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ NO │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_ENT, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______
+ ),
+
+/* Numpad
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
+ * │ ` │ │ │ │ │ │ │ │ Num │ / │ * │ - │ | │ |
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ + │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ Ent │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ Fn │ │ │ 0 │ . │ Fn │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_NUM] = LAYOUT(
+ KC_GRV, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______,
+ _______, _______, _______, MO(_MIRROR), _______, KC_P0, KC_PDOT, TG(_NUM), _______, _______, _______
+ ),
+
+/* Mirrorboard
+ *
+ * Useful in some niche situations per XKCD. Cannot pass directly to BASE layer
+ * without releasing the _MIRROR toggle key.
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┠┌-----┬-----┬-----┬-----┬-----┬-----┬----------â”
+ * │ Bk │ = │ - │ 0 │ 9 │ 8 │ 7 │ │ │ │ │ │ | │ |
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ \ │ P │ O │ I │ U │ Y │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Enter │ ; │ L │ K │ J │ H │ │ │ │ │ │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┠└┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ ? │ > │ < │ M │ N │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ NO │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_MIRROR] = LAYOUT(
+ KC_BSPC, KC_EQUAL, KC_MINUS, KC_0, KC_9, KC_8, KC_7, _______, _______, _______, _______, _______, _______, _______,
+ KC_BSLS, KC_P, KC_O, KC_I, KC_U, KC_Y, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_ENT, KC_SCOLON, KC_L, KC_K, KC_J, KC_H, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______
+ ),
+};
+
+#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS)
+const rgblight_segment_t PROGMEM BASE_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_OFF});
+const rgblight_segment_t PROGMEM _FN_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_RED});
+const rgblight_segment_t PROGMEM _NUM_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_YELLOW});
+const rgblight_segment_t PROGMEM _MIRROR_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_ORANGE});
+
+const rgblight_segment_t* const PROGMEM user_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ BASE_layer,
+ _FN_layer,
+ _NUM_layer,
+ _MIRROR_layer
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = user_rgb_layers;
+}
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(0, layer_state_cmp(state, BASE));
+
+ return state;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+
+/* Add some indication for current function layer.
+ *
+ * N.B.: rgblight_set_layer_state calls rgblight_mode_noeeprom.
+ */
+ rgblight_set_layer_state(1, layer_state_cmp(state, _FN));
+ rgblight_set_layer_state(2, layer_state_cmp(state, _NUM));
+ rgblight_set_layer_state(3, layer_state_cmp(state, _MIRROR));
+
+ return state;
+}
+#endif
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md b/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md
new file mode 100644
index 0000000000..50d4eb8788
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md
@@ -0,0 +1,7 @@
+# YMDK Split 64
+Personal Keymap for [minkezhang](https://github.com/minkezhang)
+
+## Compile
+```bash
+qmk compile -kb ymdk/sp64 -km minkezhang
+```
diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk b/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/ymdk/sp64/keymaps/walston/keymap.c b/keyboards/ymdk/sp64/keymaps/walston/keymap.c
index ada3073fb9..248cf5f445 100644
--- a/keyboards/ymdk/sp64/keymaps/walston/keymap.c
+++ b/keyboards/ymdk/sp64/keymaps/walston/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
*/
[BASE] = LAYOUT(
- MT(RESET, KC_GRAVE), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
+ MT(QK_BOOT, KC_GRAVE), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, OSL(_MEDIA),
diff --git a/keyboards/ymdk/wings/config.h b/keyboards/ymdk/wings/config.h
index b661e539a9..8c959b062e 100644
--- a/keyboards/ymdk/wings/config.h
+++ b/keyboards/ymdk/wings/config.h
@@ -17,13 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x2975 // "WING"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT WINGS
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -40,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ymdk/wings/info.json b/keyboards/ymdk/wings/info.json
index 09e80eb106..55c5a6798a 100644
--- a/keyboards/ymdk/wings/info.json
+++ b/keyboards/ymdk/wings/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YMDK Wings",
+ "keyboard_name": "WINGS",
+ "manufacturer": "YMDK",
"url": "http://ymdkey.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x2975",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ymdk/wings/keymaps/default/keymap.c b/keyboards/ymdk/wings/keymaps/default/keymap.c
index fb017650fe..17b3bb6a25 100644
--- a/keyboards/ymdk/wings/keymaps/default/keymap.c
+++ b/keyboards/ymdk/wings/keymaps/default/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ymdk/wingshs/config.h b/keyboards/ymdk/wingshs/config.h
index d215637f35..d99f31a9f4 100644
--- a/keyboards/ymdk/wingshs/config.h
+++ b/keyboards/ymdk/wingshs/config.h
@@ -15,13 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x4975 // "WINGHS"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT WINGS HOTSWAP
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -38,7 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ymdk/wingshs/info.json b/keyboards/ymdk/wingshs/info.json
index bc022fc173..6869282779 100644
--- a/keyboards/ymdk/wingshs/info.json
+++ b/keyboards/ymdk/wingshs/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "YMDK Wings Hotswap",
+ "keyboard_name": "WINGS HOTSWAP",
+ "manufacturer": "YMDK",
"url": "http://ymdkey.com/",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x4975",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ymdk/wingshs/keymaps/default/keymap.c b/keyboards/ymdk/wingshs/keymaps/default/keymap.c
index 61366f75dd..31da48fa69 100644
--- a/keyboards/ymdk/wingshs/keymaps/default/keymap.c
+++ b/keyboards/ymdk/wingshs/keymaps/default/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ymdk/yd60mq/12led/config.h b/keyboards/ymdk/yd60mq/12led/config.h
index dde57aafec..edea795f78 100644
--- a/keyboards/ymdk/yd60mq/12led/config.h
+++ b/keyboards/ymdk/yd60mq/12led/config.h
@@ -1,5 +1,3 @@
#pragma once
-#define DEVICE_VER 0x0001
-
#define RGBLED_NUM 12
diff --git a/keyboards/ymdk/yd60mq/12led/info.json b/keyboards/ymdk/yd60mq/12led/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/ymdk/yd60mq/12led/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/ymdk/yd60mq/16led/config.h b/keyboards/ymdk/yd60mq/16led/config.h
index 11ce3aeb27..00d3fcfc8c 100644
--- a/keyboards/ymdk/yd60mq/16led/config.h
+++ b/keyboards/ymdk/yd60mq/16led/config.h
@@ -1,5 +1,3 @@
#pragma once
-#define DEVICE_VER 0x0002
-
#define RGBLED_NUM 16
diff --git a/keyboards/ymdk/yd60mq/16led/info.json b/keyboards/ymdk/yd60mq/16led/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/ymdk/yd60mq/16led/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.2"
+ }
+}
diff --git a/keyboards/ymdk/yd60mq/config.h b/keyboards/ymdk/yd60mq/config.h
index 0cff43c888..3aa5415bd2 100644
--- a/keyboards/ymdk/yd60mq/config.h
+++ b/keyboards/ymdk/yd60mq/config.h
@@ -2,12 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x604D // 60 "M"
-#define MANUFACTURER YMDK
-#define PRODUCT YD60MQ
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -15,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, F7, B5, B4, D7, D6, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ymdk/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json
index 98db8ac3f6..f349d3dca2 100644
--- a/keyboards/ymdk/yd60mq/info.json
+++ b/keyboards/ymdk/yd60mq/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "YD60MQ",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x604D"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ymdk/yd60mq/keymaps/64key/keymap.c b/keyboards/ymdk/yd60mq/keymaps/64key/keymap.c
index 3c27f14d11..effa594af2 100644
--- a/keyboards/ymdk/yd60mq/keymaps/64key/keymap.c
+++ b/keyboards/ymdk/yd60mq/keymaps/64key/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = 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_DEL,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
_______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_GRV,
_______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, MO(2), _______, KC_PGUP, _______,
diff --git a/keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c b/keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c
index d9c2765659..ede3573384 100644
--- a/keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c
+++ b/keyboards/ymdk/yd60mq/keymaps/krusli/keymap.c
@@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_INS, KC_DEL,
- KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
+ KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, QK_BOOT,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
diff --git a/keyboards/ymdk/ym68/config.h b/keyboards/ymdk/ym68/config.h
index 30d6b4c686..bf12e0d093 100644
--- a/keyboards/ymdk/ym68/config.h
+++ b/keyboards/ymdk/ym68/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0xD896
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT YM68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
diff --git a/keyboards/ymdk/ym68/info.json b/keyboards/ymdk/ym68/info.json
index 80f6df6973..ba97a0b76b 100644
--- a/keyboards/ymdk/ym68/info.json
+++ b/keyboards/ymdk/ym68/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "YM68",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0xD896",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ymdk/ymd09/config.h b/keyboards/ymdk/ymd09/config.h
index 0152fe1c2b..383a070c54 100644
--- a/keyboards/ymdk/ymd09/config.h
+++ b/keyboards/ymdk/ymd09/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x4409 // "D" + 09
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT YMD09
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F5, F4, F1 }
#define MATRIX_COL_PINS { D6, D2, D1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/ymdk/ymd09/info.json b/keyboards/ymdk/ymd09/info.json
index 7a1ec0f301..42aa8e0538 100644
--- a/keyboards/ymdk/ymd09/info.json
+++ b/keyboards/ymdk/ymd09/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "YMD09",
+ "manufacturer": "YMDK",
"url": "https://www.aliexpress.com/item/4000510880374.html",
"maintainer": "kaeltis",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x4409",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ymdk/ymd21/v2/config.h b/keyboards/ymdk/ymd21/v2/config.h
index 81af6cab24..d98d6005c0 100644
--- a/keyboards/ymdk/ymd21/v2/config.h
+++ b/keyboards/ymdk/ymd21/v2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x45D4
-#define PRODUCT_ID 0x0110
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT YMD21 v2
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4
diff --git a/keyboards/ymdk/ymd21/v2/info.json b/keyboards/ymdk/ymd21/v2/info.json
index c28c2c3634..c2162f6a44 100644
--- a/keyboards/ymdk/ymd21/v2/info.json
+++ b/keyboards/ymdk/ymd21/v2/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "YMD21 v2",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x45D4",
+ "pid": "0x0110",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_6x4": {
"layout": [
diff --git a/keyboards/ymdk/ymd21/v2/readme.md b/keyboards/ymdk/ymd21/v2/readme.md
index 8a7968e346..9ca3b1390f 100644
--- a/keyboards/ymdk/ymd21/v2/readme.md
+++ b/keyboards/ymdk/ymd21/v2/readme.md
@@ -22,6 +22,6 @@ Enter the bootloader using one of the following methods:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ymdk/ymd40/v2/config.h b/keyboards/ymdk/ymd40/v2/config.h
index 0ad5a84718..ac7d5573e8 100644
--- a/keyboards/ymdk/ymd40/v2/config.h
+++ b/keyboards/ymdk/ymd40/v2/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x4440 // "D" + 40
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT YMD40 v2
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
diff --git a/keyboards/ymdk/ymd40/v2/info.json b/keyboards/ymdk/ymd40/v2/info.json
index ef6b33a799..b343d2a351 100644
--- a/keyboards/ymdk/ymd40/v2/info.json
+++ b/keyboards/ymdk/ymd40/v2/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ymd40v2",
+ "keyboard_name": "YMD40 v2",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x4440",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c b/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c
index 3c7de8bc6a..a63f572021 100644
--- a/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c
+++ b/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, KC_DEL, KC_SPC, KC_SPC, RGB_MOD, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_ortho_4x12(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ymdk/ymd67/config.h b/keyboards/ymdk/ymd67/config.h
index 3397812cb7..5b1aa59e27 100644
--- a/keyboards/ymdk/ymd67/config.h
+++ b/keyboards/ymdk/ymd67/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT YMD67
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, F7, B5, B4, D7, D6, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ymdk/ymd67/info.json b/keyboards/ymdk/ymd67/info.json
index 9d04ee1272..e43da900f0 100644
--- a/keyboards/ymdk/ymd67/info.json
+++ b/keyboards/ymdk/ymd67/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ymd67",
+ "keyboard_name": "YMD67",
+ "manufacturer": "YMDK",
"url": "https://www.aliexpress.com/item/4000311811121.html",
"maintainer": "SwiftLawnGnome",
+ "usb": {
+ "vid": "0x594D",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ymdk/ymd75/config.h b/keyboards/ymdk/ymd75/config.h
index a828c4d64b..5539dd6dee 100644
--- a/keyboards/ymdk/ymd75/config.h
+++ b/keyboards/ymdk/ymd75/config.h
@@ -21,12 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-
-#define MANUFACTURER YMDK
-#define PRODUCT YMD75 / MT84
-
#define BACKLIGHT_LEVELS 12
#define LED_CAPS_LOCK_PIN D1
diff --git a/keyboards/ymdk/ymd75/info.json b/keyboards/ymdk/ymd75/info.json
index 65a53e87cd..3ad8d07bdf 100644
--- a/keyboards/ymdk/ymd75/info.json
+++ b/keyboards/ymdk/ymd75/info.json
@@ -1,7 +1,12 @@
{
- "keyboard_name": "ymd75",
+ "keyboard_name": "YMD75 / MT84",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ymdk/ymd75/rev1/config.h b/keyboards/ymdk/ymd75/rev1/config.h
index bd169471af..e538ba0609 100644
--- a/keyboards/ymdk/ymd75/rev1/config.h
+++ b/keyboards/ymdk/ymd75/rev1/config.h
@@ -26,4 +26,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
#define BACKLIGHT_PIN D4
#define DIODE_DIRECTION COL2ROW
-#define DEVICE_VER 0x0100
diff --git a/keyboards/ymdk/ymd75/rev1/info.json b/keyboards/ymdk/ymd75/rev1/info.json
new file mode 100644
index 0000000000..ad889c2304
--- /dev/null
+++ b/keyboards/ymdk/ymd75/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.0"
+ }
+}
diff --git a/keyboards/ymdk/ymd75/rev2/config.h b/keyboards/ymdk/ymd75/rev2/config.h
index 41a75e6271..201213c40e 100644
--- a/keyboards/ymdk/ymd75/rev2/config.h
+++ b/keyboards/ymdk/ymd75/rev2/config.h
@@ -7,4 +7,3 @@
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 }
#define BACKLIGHT_PIN D4
#define DIODE_DIRECTION COL2ROW
-#define DEVICE_VER 0x0200
diff --git a/keyboards/ymdk/ymd75/rev2/info.json b/keyboards/ymdk/ymd75/rev2/info.json
new file mode 100644
index 0000000000..3bdd63ee28
--- /dev/null
+++ b/keyboards/ymdk/ymd75/rev2/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/ymdk/ymd75/rev3/config.h b/keyboards/ymdk/ymd75/rev3/config.h
index cbed2e00ee..41af337f4c 100644
--- a/keyboards/ymdk/ymd75/rev3/config.h
+++ b/keyboards/ymdk/ymd75/rev3/config.h
@@ -6,5 +6,4 @@
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 }
#define BACKLIGHT_PIN B6 // change the backlight pin that has since changed in Rev 3
#define DIODE_DIRECTION ROW2COL
-#define DEVICE_VER 0x0300
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 4
diff --git a/keyboards/ymdk/ymd75/rev3/info.json b/keyboards/ymdk/ymd75/rev3/info.json
new file mode 100644
index 0000000000..775a9740ca
--- /dev/null
+++ b/keyboards/ymdk/ymd75/rev3/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "3.0.0"
+ }
+}
diff --git a/keyboards/ymdk/ymd96/config.h b/keyboards/ymdk/ymd96/config.h
index 55c5beaf3e..ed692c63b4 100644
--- a/keyboards/ymdk/ymd96/config.h
+++ b/keyboards/ymdk/ymd96/config.h
@@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-#define DEVICE_VER 0x0200
-#define MANUFACTURER YMDK
-#define PRODUCT YMD96
-
/* matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
diff --git a/keyboards/ymdk/ymd96/info.json b/keyboards/ymdk/ymd96/info.json
index d83312015e..2fcefcbfbb 100644
--- a/keyboards/ymdk/ymd96/info.json
+++ b/keyboards/ymdk/ymd96/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ymd96",
+ "keyboard_name": "YMD96",
+ "manufacturer": "YMDK",
"url": "",
"maintainer": "sparkyman215",
+ "usb": {
+ "vid": "0x20A0",
+ "pid": "0x422D",
+ "device_version": "2.0.0"
+ },
"layouts": {
"LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Print Screen", "x":13, "y":0}, {"label":"Home", "x":14, "y":0}, {"label":"End", "x":15, "y":0}, {"label":"Insert", "x":16, "y":0}, {"label":"Delete", "x":17, "y":0}, {"label":"Page Up", "x":18, "y":0}, {"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":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"PgDn", "x":18, "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":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2}, {"label":"Caps Lock", "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":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "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":2.75}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4, "h":2}, {"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":"Fn", "x":10, "y":5}, {"label":"Win", "x":11, "y":5}, {"label":"\u2190", "x":12, "y":5}, {"label":"\u2193", "x":13, "y":5}, {"label":"\u2191", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}]
diff --git a/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c b/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
index cb7a3eb1e7..fdd7ad253a 100644
--- a/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
+++ b/keyboards/ymdk/ymd96/keymaps/hgoel89/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | |MPrev | | | MNext| | | |
*/
[_RAISE] = LAYOUT(
- RESET,RGB_TOG, BL_TOGG, BL_STEP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ QK_BOOT,RGB_TOG, BL_TOGG, BL_STEP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, BL_INC, BL_DEC, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_F22, KC_F23, KC_F24, ______, ______, ______, ______, ______, \
______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MODE_FORWARD , ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
diff --git a/keyboards/yncognito/batpad/config.h b/keyboards/yncognito/batpad/config.h
index 50fec3d69a..a9cac6d816 100644
--- a/keyboards/yncognito/batpad/config.h
+++ b/keyboards/yncognito/batpad/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7979
-#define PRODUCT_ID 0x6602
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yncognito
-#define PRODUCT Batpad
-
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
diff --git a/keyboards/yncognito/batpad/info.json b/keyboards/yncognito/batpad/info.json
index 393fff5947..e0358b44ac 100644
--- a/keyboards/yncognito/batpad/info.json
+++ b/keyboards/yncognito/batpad/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "batpad",
+ "keyboard_name": "Batpad",
+ "manufacturer": "Yncognito",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x7979",
+ "pid": "0x6602",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [
diff --git a/keyboards/yoichiro/lunakey_macro/config.h b/keyboards/yoichiro/lunakey_macro/config.h
index 1b9449b822..070327773d 100644
--- a/keyboards/yoichiro/lunakey_macro/config.h
+++ b/keyboards/yoichiro/lunakey_macro/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5954 // "YT" - Yoichiro Tanaka
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yoichiro
-#define PRODUCT Lunakey Macro
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { E6, B4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/yoichiro/lunakey_macro/info.json b/keyboards/yoichiro/lunakey_macro/info.json
index 27996bdbbd..f25d0ba72a 100644
--- a/keyboards/yoichiro/lunakey_macro/info.json
+++ b/keyboards/yoichiro/lunakey_macro/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lunakey Macro",
+ "manufacturer": "yoichiro",
"url": "",
"maintainer": "Yoichiro Tanaka",
+ "usb": {
+ "vid": "0x5954",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yoichiro/lunakey_mini/config.h b/keyboards/yoichiro/lunakey_mini/config.h
index da75f3be5f..85217bdb2b 100644
--- a/keyboards/yoichiro/lunakey_mini/config.h
+++ b/keyboards/yoichiro/lunakey_mini/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5954 // "YT" - Yoichiro Tanaka
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yoichiro
-#define PRODUCT Lunakey Mini
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D4, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/yoichiro/lunakey_mini/info.json b/keyboards/yoichiro/lunakey_mini/info.json
index a41c557ab4..cf458ad5f2 100644
--- a/keyboards/yoichiro/lunakey_mini/info.json
+++ b/keyboards/yoichiro/lunakey_mini/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Lunakey Mini",
+ "manufacturer": "yoichiro",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0x5954",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_split_3x6_4": {
"layout": [
diff --git a/keyboards/yoichiro/lunakey_pico/config.h b/keyboards/yoichiro/lunakey_pico/config.h
new file mode 100644
index 0000000000..be9b505794
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/config.h
@@ -0,0 +1,38 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP0
+#define SERIAL_USART_RX_PIN GP1
+
+//#define SERIAL_DEBUG
+
+#define WS2812_PIO_USE_PIO1
+
+#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, \
+ 11, 10, 9, 8, 7, 6 }
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/yoichiro/lunakey_pico/halconf.h b/keyboards/yoichiro/lunakey_pico/halconf.h
new file mode 100644
index 0000000000..21b3de7d6d
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/halconf.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SIO TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/yoichiro/lunakey_pico/info.json b/keyboards/yoichiro/lunakey_pico/info.json
new file mode 100644
index 0000000000..d914f8687f
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/info.json
@@ -0,0 +1,106 @@
+{
+ "keyboard_name": "Lunakey Pico",
+ "manufacturer": "yoichiro",
+ "maintainer": "Yoichiro Tanaka",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": false,
+ "rgblight": true,
+ "audio": false
+ },
+ "matrix_pins": {
+ "cols": ["GP21", "GP20", "GP19", "GP18", "GP17", "GP16"],
+ "rows": ["GP12", "GP13", "GP14", "GP15"]
+ },
+ "debounce": 5,
+ "processor": "RP2040",
+ "usb": {
+ "device_version": "3.0.0",
+ "pid": "0x0003",
+ "vid": "0x5954"
+ },
+ "rgblight": {
+ "led_count": 12,
+ "pin": "GP6",
+ "sleep": true,
+ "split": true,
+ "split_count": [6, 6],
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": false,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8,
+ "max_brightness": 255
+ },
+ "split": {
+ "enabled": true
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x6_4"
+ },
+ "layouts": {
+ "LAYOUT_split_3x6_4": {
+ "layout": [
+ {"label":"L00", "x":0, "y":1.5},
+ {"label":"L01", "x":1, "y":1.25},
+ {"label":"L02", "x":2, "y":0.5},
+ {"label":"L03", "x":3, "y":0},
+ {"label":"L04", "x":4, "y":0.25},
+ {"label":"L05", "x":5, "y":0.5},
+ {"label":"R00", "x":8.75, "y":0.5},
+ {"label":"R01", "x":9.75, "y":0.25},
+ {"label":"R02", "x":10.75, "y":0},
+ {"label":"R03", "x":11.75, "y":0.5},
+ {"label":"R04", "x":12.75, "y":1.25},
+ {"label":"R05", "x":13.75, "y":1.5},
+ {"label":"L10", "x":0, "y":2.5},
+ {"label":"L11", "x":1, "y":2.25},
+ {"label":"L12", "x":2, "y":1.5},
+ {"label":"L13", "x":3, "y":1},
+ {"label":"L14", "x":4, "y":1.25},
+ {"label":"L15", "x":5, "y":1.5},
+ {"label":"R10", "x":8.75, "y":1.5},
+ {"label":"R11", "x":9.75, "y":1.25},
+ {"label":"R12", "x":10.75, "y":1},
+ {"label":"R13", "x":11.75, "y":1.5},
+ {"label":"R14", "x":12.75, "y":2.25},
+ {"label":"R15", "x":13.75, "y":2.5},
+ {"label":"L20", "x":0, "y":3.5},
+ {"label":"L21", "x":1, "y":3.25},
+ {"label":"L22", "x":2, "y":2.5},
+ {"label":"L23", "x":3, "y":2},
+ {"label":"L24", "x":4, "y":2.25},
+ {"label":"L25", "x":5, "y":2.5},
+ {"label":"R20", "x":8.75, "y":2.5},
+ {"label":"R21", "x":9.75, "y":2.25},
+ {"label":"R22", "x":10.75, "y":2},
+ {"label":"R23", "x":11.75, "y":2.5},
+ {"label":"R24", "x":12.75, "y":3.25},
+ {"label":"R25", "x":13.75, "y":3.5},
+ {"label":"L30", "x":3, "y":4},
+ {"label":"L31", "x":4, "y":3.75},
+ {"label":"L32", "x":5, "y":3.75},
+ {"label":"L33", "x":6, "y":4},
+ {"label":"R30", "x":7.75, "y":4},
+ {"label":"R31", "x":8.75, "y":3.75},
+ {"label":"R32", "x":9.75, "y":3.75},
+ {"label":"R33", "x":10.75, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/yoichiro/lunakey_pico/keymaps/default/keymap.c b/keyboards/yoichiro/lunakey_pico/keymaps/default/keymap.c
new file mode 100644
index 0000000000..83a326c33a
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_LOWER] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ 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_LCTL, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, _______,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_RAISE] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LCTL, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, KC_TILD, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_ADJUST] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/yoichiro/lunakey_pico/keymaps/via/keymap.c b/keyboards/yoichiro/lunakey_pico/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d664eb5a03
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/keymaps/via/keymap.c
@@ -0,0 +1,65 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+#define LOWER FN_MO13
+#define RAISE FN_MO23
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_LOWER] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ 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_LCTL, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, _______,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_RAISE] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LCTL, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ KC_LSFT, KC_TILD, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ ),
+
+ [_ADJUST] = LAYOUT_split_3x6_4(
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ QK_BOOT, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+//+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_RALT, KC_RGUI
+//+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
+ )
+};
diff --git a/keyboards/yoichiro/lunakey_pico/keymaps/via/rules.mk b/keyboards/yoichiro/lunakey_pico/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/yoichiro/lunakey_pico/lunakey_pico.c b/keyboards/yoichiro/lunakey_pico/lunakey_pico.c
new file mode 100644
index 0000000000..3e57edad68
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/lunakey_pico.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "lunakey_pico.h"
diff --git a/keyboards/yoichiro/lunakey_pico/lunakey_pico.h b/keyboards/yoichiro/lunakey_pico/lunakey_pico.h
new file mode 100644
index 0000000000..0725054f0f
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/lunakey_pico.h
@@ -0,0 +1,23 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_split_3x6_4( \
+ 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, R30, R31, R32, R33 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { KC_NO, KC_NO, L30, L31, L32, L33 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { KC_NO, KC_NO, R33, R32, R31, R30 } \
+ }
diff --git a/keyboards/yoichiro/lunakey_pico/mcuconf.h b/keyboards/yoichiro/lunakey_pico/mcuconf.h
new file mode 100644
index 0000000000..482df316e9
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/mcuconf.h
@@ -0,0 +1,11 @@
+// Copyright 2022 Yoichiro Tanaka (@yoichiro)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef RP_SIO_USE_UART0
+#define RP_SIO_USE_UART0 TRUE
+#undef RP_SIO_USE_UART1
+#define RP_SIO_USE_UART1 FALSE
diff --git a/keyboards/yoichiro/lunakey_pico/readme.md b/keyboards/yoichiro/lunakey_pico/readme.md
new file mode 100644
index 0000000000..9017ad9d36
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/readme.md
@@ -0,0 +1,27 @@
+# Lunakey Pico
+
+![lunakey_pico](https://i.imgur.com/S5N8AFhh.jpg)
+
+This is a 40% split keyboard which has 3x6 vertically staggered keys and 4 thumbnail keys.
+
+* Keyboard Maintainer: [Yoichiro Tanaka](https://github.com/yoichiro)
+* Hardware Supported: Lunakey Pico PCB, Raspberry Pi Pico MCU.
+* Hardware Availability: https://booth.pm/ja/items/3324672
+
+Make example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb yoichiro/lunakey_pico -km default
+
+Flashing example for this keyboard:
+
+ qmk flash -kb yoichiro/lunakey_pico -km default -bl avrdude
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/yoichiro/lunakey_pico/rules.mk b/keyboards/yoichiro/lunakey_pico/rules.mk
new file mode 100644
index 0000000000..26c3aca886
--- /dev/null
+++ b/keyboards/yoichiro/lunakey_pico/rules.mk
@@ -0,0 +1,2 @@
+WS2812_DRIVER = vendor
+SERIAL_DRIVER = vendor
diff --git a/keyboards/yosino58/config.h b/keyboards/yosino58/config.h
deleted file mode 100644
index 24831ee5b2..0000000000
--- a/keyboards/yosino58/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-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"
-#include "serial_config.h"
-
-#define USE_I2C
-#define USE_SERIAL
diff --git a/keyboards/yosino58/i2c.c b/keyboards/yosino58/i2c.c
deleted file mode 100644
index 4bee5c6398..0000000000
--- a/keyboards/yosino58/i2c.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <util/twi.h>
-#include <avr/io.h>
-#include <stdlib.h>
-#include <avr/interrupt.h>
-#include <util/twi.h>
-#include <stdbool.h>
-#include "i2c.h"
-
-#ifdef USE_I2C
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWINT)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-
- // easier way, but will wait slightly longer
- // _delay_us(100);
-}
-
-// Setup twi to run at 100kHz or 400kHz (see ./i2c.h SCL_CLOCK)
-void i2c_master_init(void) {
- // no prescaler
- TWSR = 0;
- // Set TWI clock frequency to SCL_CLOCK. Need TWBR>10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
-
- i2c_delay();
-
- // check that we started successfully
- if ( (TW_STATUS != TW_START) && (TW_STATUS != TW_REP_START))
- return 1;
-
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- if ( (TW_STATUS != TW_MT_SLA_ACK) && (TW_STATUS != TW_MR_SLA_ACK) )
- return 1; // slave did not acknowledge
- else
- return 0; // success
-}
-
-
-// Finish the i2c transaction.
-void i2c_master_stop(void) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWSTO)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-}
-
-// Write one byte to the i2c slave.
-// returns 0 => slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- // check if the slave acknowledged us
- return (TW_STATUS == TW_MT_DATA_ACK) ? 0 : 1;
-}
-
-// Read one byte from the i2c slave. If ack=1 the slave is acknowledged,
-// if ack=0 the acknowledge bit is not set.
-// returns: byte read from i2c device
-uint8_t i2c_master_read(int ack) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (ack<<TWEA);
-
- i2c_delay();
- return TWDR;
-}
-
-void i2c_reset_state(void) {
- TWCR = 0;
-}
-
-void i2c_slave_init(uint8_t address) {
- TWAR = address << 0; // slave i2c address
- // TWEN - twi enable
- // TWEA - enable address acknowledgement
- // TWINT - twi interrupt flag
- // TWIE - enable the twi interrupt
- TWCR = (1<<TWIE) | (1<<TWEA) | (1<<TWINT) | (1<<TWEN);
-}
-
-ISR(TWI_vect);
-
-ISR(TWI_vect) {
- uint8_t ack = 1;
- switch(TW_STATUS) {
- case TW_SR_SLA_ACK:
- // this device has been addressed as a slave receiver
- slave_has_register_set = false;
- break;
-
- case TW_SR_DATA_ACK:
- // this device has received data as a slave receiver
- // The first byte that we receive in this transaction sets the location
- // of the read/write location of the slaves memory that it exposes over
- // i2c. After that, bytes will be written at slave_buffer_pos, incrementing
- // slave_buffer_pos after each write.
- if(!slave_has_register_set) {
- slave_buffer_pos = TWDR;
- // don't acknowledge the master if this memory loctaion is out of bounds
- if ( slave_buffer_pos >= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
-}
-#endif
diff --git a/keyboards/yosino58/i2c.h b/keyboards/yosino58/i2c.h
deleted file mode 100644
index 710662c7ab..0000000000
--- a/keyboards/yosino58/i2c.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency 400kHz
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
-
-
-static inline unsigned char i2c_start_read(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_READ);
-}
-
-static inline unsigned char i2c_start_write(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_WRITE);
-}
-
-// from SSD1306 scrips
-extern unsigned char i2c_rep_start(unsigned char addr);
-extern void i2c_start_wait(unsigned char addr);
-extern unsigned char i2c_readAck(void);
-extern unsigned char i2c_readNak(void);
-extern unsigned char i2c_read(unsigned char ack);
-
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
diff --git a/keyboards/yosino58/info.json b/keyboards/yosino58/info.json
deleted file mode 100644
index 5762f5ab89..0000000000
--- a/keyboards/yosino58/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "keyboard_name": "yosino58 rev. 1",
- "url": "https://github.com/sakurachari/yosino58",
- "maintainer": "sakuranbo0046",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":0.25}, {"x":3, "y":0}, {"x":4, "y":0.25}, {"x":5, "y":0.5}, {"x":10.75, "y":0.5}, {"x":11.75, "y":0.25}, {"x":12.75, "y":0}, {"x":13.75, "y":0.25}, {"x":14.75, "y":1}, {"x":15.75, "y":1},
- {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":1.25}, {"x":3, "y":1}, {"x":4, "y":1.25}, {"x":5, "y":1.5}, {"x":10.75, "y":1.5}, {"x":11.75, "y":1.25}, {"x":12.75, "y":1}, {"x":13.75, "y":1.25}, {"x":14.75, "y":2}, {"x":15.75, "y":2},
- {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":2.25}, {"x":3, "y":2}, {"x":4, "y":2.25}, {"x":5, "y":2.5}, {"x":10.75, "y":2.5}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2}, {"x":13.75, "y":2.25}, {"x":14.75, "y":3}, {"x":15.75, "y":3},
- {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":3.25}, {"x":3, "y":3}, {"x":4, "y":3.25}, {"x":5, "y":3.5}, {"x":6.5, "y":4.25}, {"x":7.5, "y":4.25, "h":2}, {"x":8.5, "y":4.25, "h":2}, {"x":9.5, "y":4.25}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3}, {"x":13.75, "y":3.25}, {"x":14.75, "y":4}, {"x":15.75, "y":4},
- {"x":3.75, "y":4.25}, {"x":4.75, "y":4.5}, {"x":6.5, "y":5.25}, {"x":9.5, "y":5.25}, {"x":11, "y":4.5}, {"x":12, "y":4.25}
- ]
- }
- }
-}
diff --git a/keyboards/yosino58/keymaps/default/config.h b/keyboards/yosino58/keymaps/default/config.h
index 21fc2d3b54..aa3caa3d06 100644
--- a/keyboards/yosino58/keymaps/default/config.h
+++ b/keyboards/yosino58/keymaps/default/config.h
@@ -20,17 +20,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-//#define USE_MATRIX_I2C
-
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-// #define SSD1306_128X64
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
@@ -40,4 +35,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17 \ No newline at end of file
+#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/yosino58/keymaps/default/keymap.c b/keyboards/yosino58/keymaps/default/keymap.c
index 3200d14708..00a6c8e83f 100644
--- a/keyboards/yosino58/keymaps/default/keymap.c
+++ b/keyboards/yosino58/keymaps/default/keymap.c
@@ -1,20 +1,10 @@
#include QMK_KEYBOARD_H
-#ifdef PROTOCOL_LUFA
- #include "lufa.h"
- #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
#endif
-extern uint8_t is_master;
-
// 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
@@ -25,8 +15,7 @@ extern uint8_t is_master;
#define _ADJUST 3
enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
+ LOWER = SAFE_RANGE,
RAISE,
ADJUST,
RGBRST
@@ -126,11 +115,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
int RGB_current_mode;
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
// Setting ADJUST layer RGB back to default
void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
@@ -144,18 +128,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- #ifdef SSD1306_128X64
- iota_gfx_init(false); // turns on the display
- #else
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
//assign the right code to your layers for OLED display
#define L_QWERTY 0
@@ -166,12 +141,8 @@ void matrix_init_user(void) {
// When add source files to SRC in rules.mk, you can use functions.
const char *read_logo(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
- if (is_master) {
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
static char indctr[2][20][5]=
{
// white icon
@@ -235,58 +206,40 @@ void matrix_render_user(struct CharacterMatrix *matrix) {
if (layer_state == L_RAISE) { rowr = 1; }
if (layer_state == L_ADJUST) { rowa = 1; }
- matrix_write(matrix, indctr[rowl] [0]);
- matrix_write(matrix, indctr[rowr] [1]);
- matrix_write(matrix, indctr[rowa] [2]);
- matrix_write(matrix, indctr[rowc] [3]);
- matrix_write(matrix, indctr[rown] [4]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [5]);
- matrix_write(matrix, indctr[rowr] [6]);
- matrix_write(matrix, indctr[rowa] [7]);
- matrix_write(matrix, indctr[rowc] [8]);
- matrix_write(matrix, indctr[rown] [9]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [10]);
- matrix_write(matrix, indctr[rowr] [11]);
- matrix_write(matrix, indctr[rowa] [12]);
- matrix_write(matrix, indctr[rowc] [13]);
- matrix_write(matrix, indctr[rown] [14]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [15]);
- matrix_write(matrix, indctr[rowr] [16]);
- matrix_write(matrix, indctr[rowa] [17]);
- matrix_write(matrix, indctr[rowc] [18]);
- matrix_write(matrix, indctr[rown] [19]);
+ oled_write(indctr[rowl] [0], false);
+ oled_write(indctr[rowr] [1], false);
+ oled_write(indctr[rowa] [2], false);
+ oled_write(indctr[rowc] [3], false);
+ oled_write(indctr[rown] [4], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [5], false);
+ oled_write(indctr[rowr] [6], false);
+ oled_write(indctr[rowa] [7], false);
+ oled_write(indctr[rowc] [8], false);
+ oled_write(indctr[rown] [9], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [10], false);
+ oled_write(indctr[rowr] [11], false);
+ oled_write(indctr[rowa] [12], false);
+ oled_write(indctr[rowc] [13], false);
+ oled_write(indctr[rown] [14], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [15], false);
+ oled_write(indctr[rowr] [16], false);
+ oled_write(indctr[rowa] [17], false);
+ oled_write(indctr[rowc] [18], false);
+ oled_write(indctr[rown] [19], false);
}else{
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
diff --git a/keyboards/yosino58/keymaps/default/rules.mk b/keyboards/yosino58/keymaps/default/rules.mk
index 88c202edb0..191140d278 100644
--- a/keyboards/yosino58/keymaps/default/rules.mk
+++ b/keyboards/yosino58/keymaps/default/rules.mk
@@ -1,5 +1,6 @@
EXTRAKEY_ENABLE = yes
RGBLIGHT_ENABLE = yes
+OLED_ENABLE = yes
# If you want to change the display of OLED, you need to change here
SRC += ./lib/glcdfont.c \
diff --git a/keyboards/yosino58/keymaps/sakura/config.h b/keyboards/yosino58/keymaps/sakura/config.h
index 64962b0d20..b80d37d457 100644
--- a/keyboards/yosino58/keymaps/sakura/config.h
+++ b/keyboards/yosino58/keymaps/sakura/config.h
@@ -20,16 +20,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-//#define USE_MATRIX_I2C
-
/* Select hand configuration */
// #define MASTER_LEFT
#define MASTER_RIGHT
// #define EE_HANDS
-#define SSD1306OLED
-#define SSD1306_128X64
+#define OLED_DISPLAY_128X64
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
diff --git a/keyboards/yosino58/keymaps/sakura/keymap.c b/keyboards/yosino58/keymaps/sakura/keymap.c
index 0996f0e4e7..6979539d33 100644
--- a/keyboards/yosino58/keymaps/sakura/keymap.c
+++ b/keyboards/yosino58/keymaps/sakura/keymap.c
@@ -1,21 +1,10 @@
#include QMK_KEYBOARD_H
-#ifdef PROTOCOL_LUFA
- #include "lufa.h"
- #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-extern keymap_config_t keymap_config;
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
#endif
-extern uint8_t is_master;
-
// 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,8 +15,7 @@ extern uint8_t is_master;
#define _ADJUST 3
enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
+ LOWER = SAFE_RANGE,
RAISE,
ADJUST,
RGBRST
@@ -60,11 +48,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | / | - | 7 | 8 | 9 | | PSCR | SLCK | Pause| | ª | |
+ * | Tab | / | - | 7 | 8 | 9 | | PSCR | SLCK | Pause| | �� | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| * | + | 4 | 5 | 6 | |Insert| Home |PageUP| | « | ¨ |
+ * |LShift| * | + | 4 | 5 | 6 | |Insert| Home |PageUP| | �� | �� |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | . | 0 | 1 | 2 | 3 |-------.-------. ,---------------| Del | End |PageDN| © | Num | Caps |
+ * |LCTRL | . | 0 | 1 | 2 | 3 |-------.-------. ,---------------| Del | End |PageDN| �� | Num | Caps |
* `-----------------------------------------/ F11 / / \ \ F12 \----------------------------------------'
* | LAlt | LGUI | /-------/ Space / \ Enter \-------\ | | |
* | | |/ LOWER / / \ \ \ | | |
@@ -80,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* RAISE
* ,-----------------------------------------. ,-----------------------------------------.
- * |RESET | | | | | | | Mute | Vol+ | Play | | | |
+ * |QK_BOOT | | | | | | | Mute | Vol+ | Play | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | Prev | Vol- | Next | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -93,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------' '------------------------------'
*/
[_RAISE] = LAYOUT( \
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_WH_L, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_WH_R, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGBRST, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, \
@@ -102,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ADJUST
* ,-----------------------------------------. ,-----------------------------------------.
- * |RESET | | | | | | | | | | | | |
+ * |QK_BOOT | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -115,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------' '------------------------------'
[_ADJUST] = LAYOUT( \
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
@@ -127,11 +115,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
int RGB_current_mode;
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
// Setting ADJUST layer RGB back to default
void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
@@ -145,18 +128,9 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- #ifdef SSD1306_128X64
- iota_gfx_init(false); // turns on the display
- #else
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
- #endif
}
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
+#ifdef OLED_ENABLE
//assign the right code to your layers for OLED display
#define L_QWERTY 0
@@ -167,12 +141,8 @@ void matrix_init_user(void) {
// When add source files to SRC in rules.mk, you can use functions.
const char *read_logo(void);
-void matrix_scan_user(void) {
- iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
- if (is_master) {
+bool oled_task_user(void) {
+ if (is_keyboard_master()) {
static char indctr[2][20][5]=
{
// white icon
@@ -236,58 +206,40 @@ void matrix_render_user(struct CharacterMatrix *matrix) {
if (layer_state == L_RAISE) { rowr = 1; }
if (layer_state == L_ADJUST) { rowa = 1; }
- matrix_write(matrix, indctr[rowl] [0]);
- matrix_write(matrix, indctr[rowr] [1]);
- matrix_write(matrix, indctr[rowa] [2]);
- matrix_write(matrix, indctr[rowc] [3]);
- matrix_write(matrix, indctr[rown] [4]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [5]);
- matrix_write(matrix, indctr[rowr] [6]);
- matrix_write(matrix, indctr[rowa] [7]);
- matrix_write(matrix, indctr[rowc] [8]);
- matrix_write(matrix, indctr[rown] [9]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [10]);
- matrix_write(matrix, indctr[rowr] [11]);
- matrix_write(matrix, indctr[rowa] [12]);
- matrix_write(matrix, indctr[rowc] [13]);
- matrix_write(matrix, indctr[rown] [14]);
- matrix_write_char(matrix, 0x13);
- matrix_write(matrix, indctr[rowl] [15]);
- matrix_write(matrix, indctr[rowr] [16]);
- matrix_write(matrix, indctr[rowa] [17]);
- matrix_write(matrix, indctr[rowc] [18]);
- matrix_write(matrix, indctr[rown] [19]);
+ oled_write(indctr[rowl] [0], false);
+ oled_write(indctr[rowr] [1], false);
+ oled_write(indctr[rowa] [2], false);
+ oled_write(indctr[rowc] [3], false);
+ oled_write(indctr[rown] [4], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [5], false);
+ oled_write(indctr[rowr] [6], false);
+ oled_write(indctr[rowa] [7], false);
+ oled_write(indctr[rowc] [8], false);
+ oled_write(indctr[rown] [9], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [10], false);
+ oled_write(indctr[rowr] [11], false);
+ oled_write(indctr[rowa] [12], false);
+ oled_write(indctr[rowc] [13], false);
+ oled_write(indctr[rown] [14], false);
+ oled_write_char(0x13, false);
+ oled_write(indctr[rowl] [15], false);
+ oled_write(indctr[rowr] [16], false);
+ oled_write(indctr[rowa] [17], false);
+ oled_write(indctr[rowc] [18], false);
+ oled_write(indctr[rown] [19], false);
}else{
- matrix_write(matrix, read_logo());
+ oled_write(read_logo(), false);
}
+ return false;
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
- matrix_clear(&matrix);
- matrix_render_user(&matrix);
- matrix_update(&display, &matrix);
-}
-#endif//SSD1306OLED
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
diff --git a/keyboards/yosino58/keymaps/sakura/rules.mk b/keyboards/yosino58/keymaps/sakura/rules.mk
index 0b2ca1ba59..679c8c155d 100644
--- a/keyboards/yosino58/keymaps/sakura/rules.mk
+++ b/keyboards/yosino58/keymaps/sakura/rules.mk
@@ -15,6 +15,7 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
+OLED_ENABLE = yes
# 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/yosino58/rev1/config.h b/keyboards/yosino58/rev1/config.h
index b7bbace5d9..13f69f18c9 100644
--- a/keyboards/yosino58/rev1/config.h
+++ b/keyboards/yosino58/rev1/config.h
@@ -18,12 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0F6A
-#define PRODUCT_ID 0x01B8
-#define DEVICE_VER 0x0001
-#define MANUFACTURER sakuranbo0046
-#define PRODUCT yosino58
+#include "config_common.h"
/* key matrix size */
// Rows are doubled-up
@@ -33,6 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
+#define DIODE_DIRECTION COL2ROW
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
@@ -43,6 +39,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#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 // or D1, D2, D3, E6
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/yosino58/rev1/info.json b/keyboards/yosino58/rev1/info.json
new file mode 100644
index 0000000000..aa2fe726ee
--- /dev/null
+++ b/keyboards/yosino58/rev1/info.json
@@ -0,0 +1,22 @@
+{
+ "keyboard_name": "yosino58",
+ "manufacturer": "sakuranbo0046",
+ "url": "https://github.com/sakurachari/yosino58",
+ "maintainer": "sakuranbo0046",
+ "usb": {
+ "vid": "0x0F6A",
+ "pid": "0x01B8",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":0.25}, {"x":3, "y":0}, {"x":4, "y":0.25}, {"x":5, "y":0.5}, {"x":10.75, "y":0.5}, {"x":11.75, "y":0.25}, {"x":12.75, "y":0}, {"x":13.75, "y":0.25}, {"x":14.75, "y":1}, {"x":15.75, "y":1},
+ {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":1.25}, {"x":3, "y":1}, {"x":4, "y":1.25}, {"x":5, "y":1.5}, {"x":10.75, "y":1.5}, {"x":11.75, "y":1.25}, {"x":12.75, "y":1}, {"x":13.75, "y":1.25}, {"x":14.75, "y":2}, {"x":15.75, "y":2},
+ {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":2.25}, {"x":3, "y":2}, {"x":4, "y":2.25}, {"x":5, "y":2.5}, {"x":10.75, "y":2.5}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2}, {"x":13.75, "y":2.25}, {"x":14.75, "y":3}, {"x":15.75, "y":3},
+ {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":3.25}, {"x":3, "y":3}, {"x":4, "y":3.25}, {"x":5, "y":3.5}, {"x":6.5, "y":4.25}, {"x":7.5, "y":4.25, "h":2}, {"x":8.5, "y":4.25, "h":2}, {"x":9.5, "y":4.25}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3}, {"x":13.75, "y":3.25}, {"x":14.75, "y":4}, {"x":15.75, "y":4},
+ {"x":3.75, "y":4.25}, {"x":4.75, "y":4.5}, {"x":6.5, "y":5.25}, {"x":9.5, "y":5.25}, {"x":11, "y":4.5}, {"x":12, "y":4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/yosino58/rev1/matrix.c b/keyboards/yosino58/rev1/matrix.c
deleted file mode 100644
index 802ce00cc6..0000000000
--- a/keyboards/yosino58/rev1/matrix.c
+++ /dev/null
@@ -1,343 +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/>.
-*/
-
-/*
- * scan matrix
- */
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-#include <avr/io.h>
-#include <avr/wdt.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "split_util.h"
-#include "quantum.h"
-
-#ifdef USE_MATRIX_I2C
-# include "i2c.h"
-#else // USE_SERIAL
-# include "split_scomm.h"
-#endif
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-
-#define ERROR_DISCONNECT_COUNT 5
-
-static uint8_t debouncing = DEBOUNCE;
-static const int ROWS_PER_HAND = MATRIX_ROWS/2;
-static uint8_t error_count = 0;
-uint8_t is_master = 0 ;
-
-static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static matrix_row_t read_cols(void);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-static uint8_t matrix_master_scan(void);
-
-
-__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;
-}
-
-void matrix_init(void)
-{
- debug_enable = true;
- debug_matrix = true;
- debug_mouse = true;
- // initialize row and col
- unselect_rows();
- init_cols();
-
- setPinOutput(B0);
- setPinOutput(D5);
- writePinHigh(D5);
- writePinHigh(B0);
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
- is_master = has_usb();
-
- matrix_init_quantum();
-}
-
-uint8_t _matrix_scan(void)
-{
- // Right hand is stored after the left in the matirx so, we need to offset it
- int offset = isLeftHand ? 0 : (ROWS_PER_HAND);
-
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- select_row(i);
- _delay_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols();
- if (matrix_debouncing[i+offset] != cols) {
- matrix_debouncing[i+offset] = cols;
- debouncing = DEBOUNCE;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- _delay_ms(1);
- } else {
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- matrix[i+offset] = matrix_debouncing[i+offset];
- }
- }
- }
-
- return 1;
-}
-
-#ifdef USE_MATRIX_I2C
-
-// Get rows from other half over i2c
-int i2c_transaction(void) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-
- int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE);
- if (err) goto i2c_error;
-
- // start of matrix stored at 0x00
- err = i2c_master_write(0x00);
- if (err) goto i2c_error;
-
- // Start read
- err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);
- if (err) goto i2c_error;
-
- if (!err) {
- int i;
- for (i = 0; i < ROWS_PER_HAND-1; ++i) {
- matrix[slaveOffset+i] = i2c_master_read(I2C_ACK);
- }
- matrix[slaveOffset+i] = i2c_master_read(I2C_NACK);
- i2c_master_stop();
- } else {
-i2c_error: // the cable is disconnceted, or something else went wrong
- i2c_reset_state();
- return err;
- }
-
- return 0;
-}
-
-#else // USE_SERIAL
-
-int serial_transaction(int master_changed) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-#ifdef SERIAL_USE_MULTI_TRANSACTION
- int ret=serial_update_buffers(master_changed);
-#else
- int ret=serial_update_buffers();
-#endif
- if (ret ) {
- if(ret==2) writePinLow(B0);
- return 1;
- }
- writePinHigh(B0);
- memcpy(&matrix[slaveOffset],
- (void *)serial_slave_buffer, SERIAL_SLAVE_BUFFER_LENGTH);
- return 0;
-}
-#endif
-
-uint8_t matrix_scan(void)
-{
- if (is_master) {
- matrix_master_scan();
- }else{
- matrix_slave_scan();
- int offset = (isLeftHand) ? ROWS_PER_HAND : 0;
- memcpy(&matrix[offset],
- (void *)serial_master_buffer, SERIAL_MASTER_BUFFER_LENGTH);
- matrix_scan_quantum();
- }
- return 1;
-}
-
-
-uint8_t matrix_master_scan(void) {
-
- int ret = _matrix_scan();
- int mchanged = 1;
-
- int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
-
-#ifdef USE_MATRIX_I2C
-// for (int i = 0; i < ROWS_PER_HAND; ++i) {
- /* i2c_slave_buffer[i] = matrix[offset+i]; */
-// i2c_slave_buffer[i] = matrix[offset+i];
-// }
-#else // USE_SERIAL
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- mchanged = memcmp((void *)serial_master_buffer,
- &matrix[offset], SERIAL_MASTER_BUFFER_LENGTH);
- #endif
- memcpy((void *)serial_master_buffer,
- &matrix[offset], SERIAL_MASTER_BUFFER_LENGTH);
-#endif
-
-#ifdef USE_MATRIX_I2C
- if( i2c_transaction() ) {
-#else // USE_SERIAL
- if( serial_transaction(mchanged) ) {
-#endif
- // turn on the indicator led when halves are disconnected
- writePinLow(D5);
-
- error_count++;
-
- if (error_count > ERROR_DISCONNECT_COUNT) {
- // reset other half if disconnected
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- matrix[slaveOffset+i] = 0;
- }
- }
- } else {
- // turn off the indicator led on no error
- writePinHigh(D5);
- error_count = 0;
- }
- matrix_scan_quantum();
- return ret;
-}
-
-void matrix_slave_scan(void) {
- _matrix_scan();
-
- int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
-
-#ifdef USE_MATRIX_I2C
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- /* i2c_slave_buffer[i] = matrix[offset+i]; */
- i2c_slave_buffer[i] = matrix[offset+i];
- }
-#else // USE_SERIAL
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- int change = 0;
- #endif
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- if( serial_slave_buffer[i] != matrix[offset+i] )
- change = 1;
- #endif
- serial_slave_buffer[i] = matrix[offset+i];
- }
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- slave_buffer_change_count += change;
- #endif
-#endif
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- print_hex8(row); print(": ");
- print_bin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-static void init_cols(void)
-{
- for(int x = 0; x < MATRIX_COLS; x++) {
- _SFR_IO8((col_pins[x] >> 4) + 1) &= ~_BV(col_pins[x] & 0xF);
- _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF);
- }
-}
-
-static matrix_row_t read_cols(void)
-{
- matrix_row_t result = 0;
- for(int x = 0; x < MATRIX_COLS; x++) {
- result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x);
- }
- return result;
-}
-
-static void unselect_rows(void)
-{
- for(int x = 0; x < ROWS_PER_HAND; x++) {
- _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF);
- _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF);
- }
-}
-
-static void select_row(uint8_t row)
-{
- _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF);
- _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF);
-}
diff --git a/keyboards/yosino58/rev1/rev1.h b/keyboards/yosino58/rev1/rev1.h
index bc68892e88..c643c9d729 100644
--- a/keyboards/yosino58/rev1/rev1.h
+++ b/keyboards/yosino58/rev1/rev1.h
@@ -1,22 +1,7 @@
#pragma once
-#include "../yosino58.h"
-
#include "quantum.h"
-#ifdef RGBLIGHT_ENABLE
-//rgb led driver
-#include "ws2812.h"
-#endif
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
#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, \
diff --git a/keyboards/yosino58/rev1/rules.mk b/keyboards/yosino58/rev1/rules.mk
index 6028b5a5b9..cf39e83a4f 100644
--- a/keyboards/yosino58/rev1/rules.mk
+++ b/keyboards/yosino58/rev1/rules.mk
@@ -1,3 +1,20 @@
-SRC += rev1/matrix.c
-SRC += rev1/split_util.c
-SRC += rev1/split_scomm.c
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SPLIT_KEYBOARD = yes
+OLED_DRIVER = SSD1306
diff --git a/keyboards/yosino58/rev1/serial_config.h b/keyboards/yosino58/rev1/serial_config.h
deleted file mode 100644
index 4fab8e8ddf..0000000000
--- a/keyboards/yosino58/rev1/serial_config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef SOFT_SERIAL_PIN
-#define SOFT_SERIAL_PIN D2
-#define SERIAL_USE_MULTI_TRANSACTION
-#endif
diff --git a/keyboards/yosino58/rev1/serial_config_simpleapi.h b/keyboards/yosino58/rev1/serial_config_simpleapi.h
deleted file mode 100644
index 0e1dd9e4ac..0000000000
--- a/keyboards/yosino58/rev1/serial_config_simpleapi.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#undef SERIAL_USE_MULTI_TRANSACTION
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
diff --git a/keyboards/yosino58/rev1/split_scomm.c b/keyboards/yosino58/rev1/split_scomm.c
deleted file mode 100644
index 82b53d7e7f..0000000000
--- a/keyboards/yosino58/rev1/split_scomm.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifdef USE_SERIAL
-#ifdef SERIAL_USE_MULTI_TRANSACTION
-/* --- USE flexible API (using multi-type transaction function) --- */
-
-#include <stdbool.h>
-#include <stdint.h>
-#include <stddef.h>
-#include "split_scomm.h"
-#include "serial.h"
-#ifdef CONSOLE_ENABLE
- #include "print.h"
-#endif
-
-uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
-uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
-uint8_t volatile status_com = 0;
-uint8_t volatile status1 = 0;
-uint8_t slave_buffer_change_count = 0;
-uint8_t s_change_old = 0xff;
-uint8_t s_change_new = 0xff;
-
-SSTD_t transactions[] = {
-#define GET_SLAVE_STATUS 0
- /* master buffer not changed, only recive slave_buffer_change_count */
- { (uint8_t *)&status_com,
- 0, NULL,
- sizeof(slave_buffer_change_count), &slave_buffer_change_count,
- },
-#define PUT_MASTER_GET_SLAVE_STATUS 1
- /* master buffer changed need send, and recive slave_buffer_change_count */
- { (uint8_t *)&status_com,
- sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
- sizeof(slave_buffer_change_count), &slave_buffer_change_count,
- },
-#define GET_SLAVE_BUFFER 2
- /* recive serial_slave_buffer */
- { (uint8_t *)&status1,
- 0, NULL,
- sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
- }
-};
-
-void serial_master_init(void)
-{
- soft_serial_initiator_init(transactions, TID_LIMIT(transactions));
-}
-
-void serial_slave_init(void)
-{
- soft_serial_target_init(transactions, TID_LIMIT(transactions));
-}
-
-// 0 => no error
-// 1 => slave did not respond
-// 2 => checksum error
-int serial_update_buffers(int master_update)
-{
- int status, smatstatus;
- static int need_retry = 0;
-
- if( s_change_old != s_change_new ) {
- smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER);
- if( smatstatus == TRANSACTION_END ) {
- s_change_old = s_change_new;
-#ifdef CONSOLE_ENABLE
- uprintf("slave matrix = %b %b %b %b\n",
- serial_slave_buffer[0], serial_slave_buffer[1],
- serial_slave_buffer[2], serial_slave_buffer[3]);
-#endif
- }
- } else {
- // serial_slave_buffer dosen't change
- smatstatus = TRANSACTION_END; // dummy status
- }
-
- if( !master_update && !need_retry) {
- status = soft_serial_transaction(GET_SLAVE_STATUS);
- } else {
- status = soft_serial_transaction(PUT_MASTER_GET_SLAVE_STATUS);
- }
- if( status == TRANSACTION_END ) {
- s_change_new = slave_buffer_change_count;
- need_retry = 0;
- } else {
- need_retry = 1;
- }
- return smatstatus;
-}
-
-#endif // SERIAL_USE_MULTI_TRANSACTION
-#endif /* USE_SERIAL */
diff --git a/keyboards/yosino58/rev1/split_scomm.h b/keyboards/yosino58/rev1/split_scomm.h
deleted file mode 100644
index 16887eb74f..0000000000
--- a/keyboards/yosino58/rev1/split_scomm.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#pragma once
-
-#ifndef SERIAL_USE_MULTI_TRANSACTION
-/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */
-#include "serial.h"
-
-#else
-/* --- USE flexible API (using multi-type transaction function) --- */
-// Buffers for master - slave communication
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
-
-extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
-extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
-extern uint8_t slave_buffer_change_count;
-
-void serial_master_init(void);
-void serial_slave_init(void);
-int serial_update_buffers(int master_changed);
-
-#endif
diff --git a/keyboards/yosino58/rev1/split_util.c b/keyboards/yosino58/rev1/split_util.c
deleted file mode 100644
index e1ff8b4379..0000000000
--- a/keyboards/yosino58/rev1/split_util.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <avr/io.h>
-#include <avr/wdt.h>
-#include <avr/power.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include <avr/eeprom.h>
-#include "split_util.h"
-#include "matrix.h"
-#include "keyboard.h"
-
-#ifdef USE_MATRIX_I2C
-# include "i2c.h"
-#else
-# include "split_scomm.h"
-#endif
-
-volatile bool isLeftHand = true;
-
-static void setup_handedness(void) {
- #ifdef EE_HANDS
- isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS);
- #else
- // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c
- #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT)
- isLeftHand = !has_usb();
- #else
- isLeftHand = has_usb();
- #endif
- #endif
-}
-
-static void keyboard_master_setup(void) {
-
-#ifdef USE_MATRIX_I2C
- i2c_master_init();
-#else
- serial_master_init();
-#endif
-}
-
-static void keyboard_slave_setup(void) {
-
-#ifdef USE_MATRIX_I2C
- i2c_slave_init(SLAVE_I2C_ADDRESS);
-#else
- serial_slave_init();
-#endif
-}
-
-bool has_usb(void) {
- USBCON |= (1 << OTGPADE); //enables VBUS pad
- _delay_us(5);
- return (USBSTA & (1<<VBUS)); //checks state of VBUS
-}
-
-void split_keyboard_setup(void) {
- setup_handedness();
-
- if (has_usb()) {
- keyboard_master_setup();
- } else {
- keyboard_slave_setup();
- }
- sei();
-}
-
-// this code runs before the usb and keyboard is initialized
-void matrix_setup(void) {
- split_keyboard_setup();
-}
diff --git a/keyboards/yosino58/rev1/split_util.h b/keyboards/yosino58/rev1/split_util.h
deleted file mode 100644
index f593047560..0000000000
--- a/keyboards/yosino58/rev1/split_util.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#pragma once
-
-#include <stdbool.h>
-#include "eeconfig.h"
-
-#define SLAVE_I2C_ADDRESS 0x32
-
-extern volatile bool isLeftHand;
-
-// slave version of matix scan, defined in matrix.c
-void matrix_slave_scan(void);
-
-void split_keyboard_setup(void);
-bool has_usb(void);
-
-void matrix_master_OLED_init (void);
diff --git a/keyboards/yosino58/rules.mk b/keyboards/yosino58/rules.mk
index 3d0f6b19e5..c700b6f5b5 100644
--- a/keyboards/yosino58/rules.mk
+++ b/keyboards/yosino58/rules.mk
@@ -1,28 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SUBPROJECT_rev1 = no
-USE_I2C = yes
-
-CUSTOM_MATRIX = yes
-
DEFAULT_FOLDER = yosino58/rev1
-
-SRC += i2c.c
-SRC += serial.c
-SRC += ssd1306.c
diff --git a/keyboards/yosino58/serial.c b/keyboards/yosino58/serial.c
deleted file mode 100644
index f6293c3dc2..0000000000
--- a/keyboards/yosino58/serial.c
+++ /dev/null
@@ -1,589 +0,0 @@
-/*
- * WARNING: be careful changing this code, it is very timing dependent
- *
- * 2018-10-28 checked
- * avr-gcc 4.9.2
- * avr-gcc 5.4.0
- * avr-gcc 7.3.0
- */
-
-#ifndef F_CPU
-#define F_CPU 16000000
-#endif
-
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include <stddef.h>
-#include <stdbool.h>
-#include "serial.h"
-
-#ifdef SOFT_SERIAL_PIN
-
-#ifdef __AVR_ATmega32U4__
- // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial.
- #ifdef USE_I2C
- #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1
- #error Using ATmega32U4 I2C, so can not use PD0, PD1
- #endif
- #endif
-
- #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3
- #define SERIAL_PIN_DDR DDRD
- #define SERIAL_PIN_PORT PORTD
- #define SERIAL_PIN_INPUT PIND
- #if SOFT_SERIAL_PIN == D0
- #define SERIAL_PIN_MASK _BV(PD0)
- #define EIMSK_BIT _BV(INT0)
- #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01)))
- #define SERIAL_PIN_INTERRUPT INT0_vect
- #elif SOFT_SERIAL_PIN == D1
- #define SERIAL_PIN_MASK _BV(PD1)
- #define EIMSK_BIT _BV(INT1)
- #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11)))
- #define SERIAL_PIN_INTERRUPT INT1_vect
- #elif SOFT_SERIAL_PIN == D2
- #define SERIAL_PIN_MASK _BV(PD2)
- #define EIMSK_BIT _BV(INT2)
- #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21)))
- #define SERIAL_PIN_INTERRUPT INT2_vect
- #elif SOFT_SERIAL_PIN == D3
- #define SERIAL_PIN_MASK _BV(PD3)
- #define EIMSK_BIT _BV(INT3)
- #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31)))
- #define SERIAL_PIN_INTERRUPT INT3_vect
- #endif
- #elif SOFT_SERIAL_PIN == E6
- #define SERIAL_PIN_DDR DDRE
- #define SERIAL_PIN_PORT PORTE
- #define SERIAL_PIN_INPUT PINE
- #define SERIAL_PIN_MASK _BV(PE6)
- #define EIMSK_BIT _BV(INT6)
- #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61)))
- #define SERIAL_PIN_INTERRUPT INT6_vect
- #else
- #error invalid SOFT_SERIAL_PIN value
- #endif
-
-#else
- #error serial.c now support ATmega32U4 only
-#endif
-
-//////////////// for backward compatibility ////////////////////////////////
-#ifndef SERIAL_USE_MULTI_TRANSACTION
-/* --- USE Simple API (OLD API, compatible with let's split serial.c) */
- #if SERIAL_SLAVE_BUFFER_LENGTH > 0
- uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
- #endif
- #if SERIAL_MASTER_BUFFER_LENGTH > 0
- uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
- #endif
- uint8_t volatile status0 = 0;
-
-SSTD_t transactions[] = {
- { (uint8_t *)&status0,
- #if SERIAL_MASTER_BUFFER_LENGTH > 0
- sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
- #else
- 0, (uint8_t *)NULL,
- #endif
- #if SERIAL_SLAVE_BUFFER_LENGTH > 0
- sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
- #else
- 0, (uint8_t *)NULL,
- #endif
- }
-};
-
-void serial_master_init(void)
-{ soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); }
-
-void serial_slave_init(void)
-{ soft_serial_target_init(transactions, TID_LIMIT(transactions)); }
-
-// 0 => no error
-// 1 => slave did not respond
-// 2 => checksum error
-int serial_update_buffers()
-{
- int result;
- result = soft_serial_transaction();
- return result;
-}
-
-#endif // end of Simple API (OLD API, compatible with let's split serial.c)
-////////////////////////////////////////////////////////////////////////////
-
-#define ALWAYS_INLINE __attribute__((always_inline))
-#define NO_INLINE __attribute__((noinline))
-#define _delay_sub_us(x) __builtin_avr_delay_cycles(x)
-
-// parity check
-#define ODD_PARITY 1
-#define EVEN_PARITY 0
-#define PARITY EVEN_PARITY
-
-#ifdef SERIAL_DELAY
- // custom setup in config.h
- // #define TID_SEND_ADJUST 2
- // #define SERIAL_DELAY 6 // micro sec
- // #define READ_WRITE_START_ADJUST 30 // cycles
- // #define READ_WRITE_WIDTH_ADJUST 8 // cycles
-#else
-// ============ Standard setups ============
-
-#ifndef SELECT_SOFT_SERIAL_SPEED
-#define SELECT_SOFT_SERIAL_SPEED 1
-// 0: about 189kbps
-// 1: about 137kbps (default)
-// 2: about 75kbps
-// 3: about 39kbps
-// 4: about 26kbps
-// 5: about 20kbps
-#endif
-
-#if __GNUC__ < 6
- #define TID_SEND_ADJUST 14
-#else
- #define TID_SEND_ADJUST 2
-#endif
-
-#if SELECT_SOFT_SERIAL_SPEED == 0
- // Very High speed
- #define SERIAL_DELAY 4 // micro sec
- #if __GNUC__ < 6
- #define READ_WRITE_START_ADJUST 33 // cycles
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_START_ADJUST 34 // cycles
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#elif SELECT_SOFT_SERIAL_SPEED == 1
- // High speed
- #define SERIAL_DELAY 6 // micro sec
- #if __GNUC__ < 6
- #define READ_WRITE_START_ADJUST 30 // cycles
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_START_ADJUST 33 // cycles
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#elif SELECT_SOFT_SERIAL_SPEED == 2
- // Middle speed
- #define SERIAL_DELAY 12 // micro sec
- #define READ_WRITE_START_ADJUST 30 // cycles
- #if __GNUC__ < 6
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#elif SELECT_SOFT_SERIAL_SPEED == 3
- // Low speed
- #define SERIAL_DELAY 24 // micro sec
- #define READ_WRITE_START_ADJUST 30 // cycles
- #if __GNUC__ < 6
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#elif SELECT_SOFT_SERIAL_SPEED == 4
- // Very Low speed
- #define SERIAL_DELAY 36 // micro sec
- #define READ_WRITE_START_ADJUST 30 // cycles
- #if __GNUC__ < 6
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#elif SELECT_SOFT_SERIAL_SPEED == 5
- // Ultra Low speed
- #define SERIAL_DELAY 48 // micro sec
- #define READ_WRITE_START_ADJUST 30 // cycles
- #if __GNUC__ < 6
- #define READ_WRITE_WIDTH_ADJUST 3 // cycles
- #else
- #define READ_WRITE_WIDTH_ADJUST 7 // cycles
- #endif
-#else
-#error invalid SELECT_SOFT_SERIAL_SPEED value
-#endif /* SELECT_SOFT_SERIAL_SPEED */
-#endif /* SERIAL_DELAY */
-
-#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2)
-#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2)
-
-#define SLAVE_INT_WIDTH_US 1
-#ifndef SERIAL_USE_MULTI_TRANSACTION
- #define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY
-#else
- #define SLAVE_INT_ACK_WIDTH_UNIT 2
- #define SLAVE_INT_ACK_WIDTH 4
-#endif
-
-static SSTD_t *Transaction_table = NULL;
-static uint8_t Transaction_table_size = 0;
-
-inline static void serial_delay(void) ALWAYS_INLINE;
-inline static
-void serial_delay(void) {
- _delay_us(SERIAL_DELAY);
-}
-
-inline static void serial_delay_half1(void) ALWAYS_INLINE;
-inline static
-void serial_delay_half1(void) {
- _delay_us(SERIAL_DELAY_HALF1);
-}
-
-inline static void serial_delay_half2(void) ALWAYS_INLINE;
-inline static
-void serial_delay_half2(void) {
- _delay_us(SERIAL_DELAY_HALF2);
-}
-
-inline static void serial_output(void) ALWAYS_INLINE;
-inline static
-void serial_output(void) {
- SERIAL_PIN_DDR |= SERIAL_PIN_MASK;
-}
-
-// make the serial pin an input with pull-up resistor
-inline static void serial_input_with_pullup(void) ALWAYS_INLINE;
-inline static
-void serial_input_with_pullup(void) {
- SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK;
- SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
-}
-
-inline static uint8_t serial_read_pin(void) ALWAYS_INLINE;
-inline static
-uint8_t serial_read_pin(void) {
- return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK);
-}
-
-inline static void serial_low(void) ALWAYS_INLINE;
-inline static
-void serial_low(void) {
- SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK;
-}
-
-inline static void serial_high(void) ALWAYS_INLINE;
-inline static
-void serial_high(void) {
- SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
-}
-
-void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size)
-{
- Transaction_table = sstd_table;
- Transaction_table_size = (uint8_t)sstd_table_size;
- serial_output();
- serial_high();
-}
-
-void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size)
-{
- Transaction_table = sstd_table;
- Transaction_table_size = (uint8_t)sstd_table_size;
- serial_input_with_pullup();
-
- // Enable INT0-INT3,INT6
- EIMSK |= EIMSK_BIT;
-#if SERIAL_PIN_MASK == _BV(PE6)
- // Trigger on falling edge of INT6
- EICRB &= EICRx_BIT;
-#else
- // Trigger on falling edge of INT0-INT3
- EICRA &= EICRx_BIT;
-#endif
-}
-
-// Used by the sender to synchronize timing with the reciver.
-static void sync_recv(void) NO_INLINE;
-static
-void sync_recv(void) {
- for (uint8_t i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) {
- }
- // This shouldn't hang if the target disconnects because the
- // serial line will float to high if the target does disconnect.
- while (!serial_read_pin());
-}
-
-// Used by the reciver to send a synchronization signal to the sender.
-static void sync_send(void) NO_INLINE;
-static
-void sync_send(void) {
- serial_low();
- serial_delay();
- serial_high();
-}
-
-// Reads a byte from the serial line
-static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE;
-static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) {
- uint8_t byte, i, p, pb;
-
- _delay_sub_us(READ_WRITE_START_ADJUST);
- for( i = 0, byte = 0, p = PARITY; i < bit; i++ ) {
- serial_delay_half1(); // read the middle of pulses
- if( serial_read_pin() ) {
- byte = (byte << 1) | 1; p ^= 1;
- } else {
- byte = (byte << 1) | 0; p ^= 0;
- }
- _delay_sub_us(READ_WRITE_WIDTH_ADJUST);
- serial_delay_half2();
- }
- /* recive parity bit */
- serial_delay_half1(); // read the middle of pulses
- pb = serial_read_pin();
- _delay_sub_us(READ_WRITE_WIDTH_ADJUST);
- serial_delay_half2();
-
- *pterrcount += (p != pb)? 1 : 0;
-
- return byte;
-}
-
-// Sends a byte with MSB ordering
-void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE;
-void serial_write_chunk(uint8_t data, uint8_t bit) {
- uint8_t b, p;
- for( p = PARITY, b = 1<<(bit-1); b ; b >>= 1) {
- if(data & b) {
- serial_high(); p ^= 1;
- } else {
- serial_low(); p ^= 0;
- }
- serial_delay();
- }
- /* send parity bit */
- if(p & 1) { serial_high(); }
- else { serial_low(); }
- serial_delay();
-
- serial_low(); // sync_send() / senc_recv() need raise edge
-}
-
-static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE;
-static
-void serial_send_packet(uint8_t *buffer, uint8_t size) {
- for (uint8_t i = 0; i < size; ++i) {
- uint8_t data;
- data = buffer[i];
- sync_send();
- serial_write_chunk(data,8);
- }
-}
-
-static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE;
-static
-uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) {
- uint8_t pecount = 0;
- for (uint8_t i = 0; i < size; ++i) {
- uint8_t data;
- sync_recv();
- data = serial_read_chunk(&pecount, 8);
- buffer[i] = data;
- }
- return pecount == 0;
-}
-
-inline static
-void change_sender2reciver(void) {
- sync_send(); //0
- serial_delay_half1(); //1
- serial_low(); //2
- serial_input_with_pullup(); //2
- serial_delay_half1(); //3
-}
-
-inline static
-void change_reciver2sender(void) {
- sync_recv(); //0
- serial_delay(); //1
- serial_low(); //3
- serial_output(); //3
- serial_delay_half1(); //4
-}
-
-static inline uint8_t nibble_bits_count(uint8_t bits)
-{
- bits = (bits & 0x5) + (bits >> 1 & 0x5);
- bits = (bits & 0x3) + (bits >> 2 & 0x3);
- return bits;
-}
-
-// interrupt handle to be used by the target device
-ISR(SERIAL_PIN_INTERRUPT) {
-
-#ifndef SERIAL_USE_MULTI_TRANSACTION
- serial_low();
- serial_output();
- SSTD_t *trans = Transaction_table;
-#else
- // recive transaction table index
- uint8_t tid, bits;
- uint8_t pecount = 0;
- sync_recv();
- bits = serial_read_chunk(&pecount,7);
- tid = bits>>3;
- bits = (bits&7) != nibble_bits_count(tid);
- if( bits || pecount> 0 || tid > Transaction_table_size ) {
- return;
- }
- serial_delay_half1();
-
- serial_high(); // response step1 low->high
- serial_output();
- _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT*SLAVE_INT_ACK_WIDTH);
- SSTD_t *trans = &Transaction_table[tid];
- serial_low(); // response step2 ack high->low
-#endif
-
- // target send phase
- if( trans->target2initiator_buffer_size > 0 )
- serial_send_packet((uint8_t *)trans->target2initiator_buffer,
- trans->target2initiator_buffer_size);
- // target switch to input
- change_sender2reciver();
-
- // target recive phase
- if( trans->initiator2target_buffer_size > 0 ) {
- if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer,
- trans->initiator2target_buffer_size) ) {
- *trans->status = TRANSACTION_ACCEPTED;
- } else {
- *trans->status = TRANSACTION_DATA_ERROR;
- }
- } else {
- *trans->status = TRANSACTION_ACCEPTED;
- }
-
- sync_recv(); //weit initiator output to high
-}
-
-/////////
-// start transaction by initiator
-//
-// int soft_serial_transaction(int sstd_index)
-//
-// Returns:
-// TRANSACTION_END
-// TRANSACTION_NO_RESPONSE
-// TRANSACTION_DATA_ERROR
-// this code is very time dependent, so we need to disable interrupts
-#ifndef SERIAL_USE_MULTI_TRANSACTION
-int soft_serial_transaction(void) {
- SSTD_t *trans = Transaction_table;
-#else
-int soft_serial_transaction(int sstd_index) {
- if( sstd_index > Transaction_table_size )
- return TRANSACTION_TYPE_ERROR;
- SSTD_t *trans = &Transaction_table[sstd_index];
-#endif
- cli();
-
- // signal to the target that we want to start a transaction
- serial_output();
- serial_low();
- _delay_us(SLAVE_INT_WIDTH_US);
-
-#ifndef SERIAL_USE_MULTI_TRANSACTION
- // wait for the target response
- serial_input_with_pullup();
- _delay_us(SLAVE_INT_RESPONSE_TIME);
-
- // check if the target is present
- if (serial_read_pin()) {
- // target failed to pull the line low, assume not present
- serial_output();
- serial_high();
- *trans->status = TRANSACTION_NO_RESPONSE;
- sei();
- return TRANSACTION_NO_RESPONSE;
- }
-
-#else
- // send transaction table index
- int tid = (sstd_index<<3) | (7 & nibble_bits_count(sstd_index));
- sync_send();
- _delay_sub_us(TID_SEND_ADJUST);
- serial_write_chunk(tid, 7);
- serial_delay_half1();
-
- // wait for the target response (step1 low->high)
- serial_input_with_pullup();
- while( !serial_read_pin() ) {
- _delay_sub_us(2);
- }
-
- // check if the target is present (step2 high->low)
- for( int i = 0; serial_read_pin(); i++ ) {
- if (i > SLAVE_INT_ACK_WIDTH + 1) {
- // slave failed to pull the line low, assume not present
- serial_output();
- serial_high();
- *trans->status = TRANSACTION_NO_RESPONSE;
- sei();
- return TRANSACTION_NO_RESPONSE;
- }
- _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT);
- }
-#endif
-
- // initiator recive phase
- // if the target is present syncronize with it
- if( trans->target2initiator_buffer_size > 0 ) {
- if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer,
- trans->target2initiator_buffer_size) ) {
- serial_output();
- serial_high();
- *trans->status = TRANSACTION_DATA_ERROR;
- sei();
- return TRANSACTION_DATA_ERROR;
- }
- }
-
- // initiator switch to output
- change_reciver2sender();
-
- // initiator send phase
- if( trans->initiator2target_buffer_size > 0 ) {
- serial_send_packet((uint8_t *)trans->initiator2target_buffer,
- trans->initiator2target_buffer_size);
- }
-
- // always, release the line when not in use
- sync_send();
-
- *trans->status = TRANSACTION_END;
- sei();
- return TRANSACTION_END;
-}
-
-#ifdef SERIAL_USE_MULTI_TRANSACTION
-int soft_serial_get_and_clean_status(int sstd_index) {
- SSTD_t *trans = &Transaction_table[sstd_index];
- cli();
- int retval = *trans->status;
- *trans->status = 0;;
- sei();
- return retval;
-}
-#endif
-
-#endif
-
-// Helix serial.c history
-// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc)
-// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4)
-// (adjusted with avr-gcc 4.9.2)
-// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78)
-// (adjusted with avr-gcc 4.9.2)
-// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae)
-// (adjusted with avr-gcc 4.9.2)
-// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff)
-// (adjusted with avr-gcc 7.3.0)
-// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66)
-// (adjusted with avr-gcc 5.4.0, 7.3.0)
diff --git a/keyboards/yosino58/serial.h b/keyboards/yosino58/serial.h
deleted file mode 100644
index ac3459c876..0000000000
--- a/keyboards/yosino58/serial.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#pragma once
-
-#include <stdbool.h>
-
-// /////////////////////////////////////////////////////////////////
-// Need Soft Serial defines in config.h
-// /////////////////////////////////////////////////////////////////
-// ex.
-// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6
-// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5
-// // 1: about 137kbps (default)
-// // 2: about 75kbps
-// // 3: about 39kbps
-// // 4: about 26kbps
-// // 5: about 20kbps
-//
-// //// USE Simple API (OLD API, compatible with let's split serial.c)
-// ex.
-// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-// #define SERIAL_MASTER_BUFFER_LENGTH 1
-//
-// //// USE flexible API (using multi-type transaction function)
-// #define SERIAL_USE_MULTI_TRANSACTION
-//
-// /////////////////////////////////////////////////////////////////
-
-
-#ifndef SERIAL_USE_MULTI_TRANSACTION
-/* --- USE Simple API (OLD API, compatible with let's split serial.c) */
-#if SERIAL_SLAVE_BUFFER_LENGTH > 0
-extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
-#endif
-#if SERIAL_MASTER_BUFFER_LENGTH > 0
-extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
-#endif
-
-void serial_master_init(void);
-void serial_slave_init(void);
-int serial_update_buffers(void);
-
-#endif // USE Simple API
-
-// Soft Serial Transaction Descriptor
-typedef struct _SSTD_t {
- uint8_t *status;
- uint8_t initiator2target_buffer_size;
- uint8_t *initiator2target_buffer;
- uint8_t target2initiator_buffer_size;
- uint8_t *target2initiator_buffer;
-} SSTD_t;
-#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t))
-
-// initiator is transaction start side
-void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size);
-// target is interrupt accept side
-void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size);
-
-// initiator resullt
-#define TRANSACTION_END 0
-#define TRANSACTION_NO_RESPONSE 0x1
-#define TRANSACTION_DATA_ERROR 0x2
-#define TRANSACTION_TYPE_ERROR 0x4
-#ifndef SERIAL_USE_MULTI_TRANSACTION
-int soft_serial_transaction(void);
-#else
-int soft_serial_transaction(int sstd_index);
-#endif
-
-// target status
-// *SSTD_t.status has
-// initiator:
-// TRANSACTION_END
-// or TRANSACTION_NO_RESPONSE
-// or TRANSACTION_DATA_ERROR
-// target:
-// TRANSACTION_DATA_ERROR
-// or TRANSACTION_ACCEPTED
-#define TRANSACTION_ACCEPTED 0x8
-#ifdef SERIAL_USE_MULTI_TRANSACTION
-int soft_serial_get_and_clean_status(int sstd_index);
-#endif
diff --git a/keyboards/yosino58/ssd1306.c b/keyboards/yosino58/ssd1306.c
deleted file mode 100644
index abd9de2f7a..0000000000
--- a/keyboards/yosino58/ssd1306.c
+++ /dev/null
@@ -1,347 +0,0 @@
-#ifdef SSD1306OLED
-
-#include "ssd1306.h"
-#include "i2c.h"
-#include <string.h>
-#include "print.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#endif
-#include "sendchar.h"
-#include "timer.h"
-
-struct CharacterMatrix display;
-
-extern const unsigned char font[] PROGMEM;
-
-// Set this to 1 to help diagnose early startup problems
-// when testing power-on with ble. Turn it off otherwise,
-// as the latency of printing most of the debug info messes
-// with the matrix scan, causing keys to drop.
-#define DEBUG_TO_SCREEN 0
-
-//static uint16_t last_battery_update;
-//static uint32_t vbat;
-//#define BatteryUpdateInterval 10000 /* milliseconds */
-
-// 'last_flush' is declared as uint16_t,
-// so this must be less than 65535
-#define ScreenOffInterval 30000 /* milliseconds */
-#if DEBUG_TO_SCREEN
-static uint8_t displaying;
-#endif
-static uint16_t last_flush;
-
-static bool force_dirty = true;
-
-// Write command sequence.
-// Returns true on success.
-static inline bool _send_cmd1(uint8_t cmd) {
- bool res = false;
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- xprintf("failed to start write to %d\n", SSD1306_ADDRESS);
- goto done;
- }
-
- if (i2c_master_write(0x0 /* command byte follows */)) {
- print("failed to write control byte\n");
-
- goto done;
- }
-
- if (i2c_master_write(cmd)) {
- xprintf("failed to write command %d\n", cmd);
- goto done;
- }
- res = true;
-done:
- i2c_master_stop();
- return res;
-}
-
-// Write 2-byte command sequence.
-// Returns true on success
-static inline bool _send_cmd2(uint8_t cmd, uint8_t opr) {
- if (!_send_cmd1(cmd)) {
- return false;
- }
- return _send_cmd1(opr);
-}
-
-// Write 3-byte command sequence.
-// Returns true on success
-static inline bool _send_cmd3(uint8_t cmd, uint8_t opr1, uint8_t opr2) {
- if (!_send_cmd1(cmd)) {
- return false;
- }
- if (!_send_cmd1(opr1)) {
- return false;
- }
- return _send_cmd1(opr2);
-}
-
-#define send_cmd1(c) if (!_send_cmd1(c)) {goto done;}
-#define send_cmd2(c,o) if (!_send_cmd2(c,o)) {goto done;}
-#define send_cmd3(c,o1,o2) if (!_send_cmd3(c,o1,o2)) {goto done;}
-
-static void clear_display(void) {
- matrix_clear(&display);
-
- // Clear all of the display bits (there can be random noise
- // in the RAM on startup)
- send_cmd3(PageAddr, 0, (DisplayHeight / 8) - 1);
- send_cmd3(ColumnAddr, 0, DisplayWidth - 1);
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- goto done;
- }
- if (i2c_master_write(0x40)) {
- // Data mode
- goto done;
- }
- for (uint8_t row = 0; row < MatrixRows; ++row) {
- for (uint8_t col = 0; col < DisplayWidth; ++col) {
- i2c_master_write(0);
- }
- }
-
- display.dirty = false;
-
-done:
- i2c_master_stop();
-}
-
-#if DEBUG_TO_SCREEN
-#undef sendchar
-static int8_t capture_sendchar(uint8_t c) {
- sendchar(c);
- iota_gfx_write_char(c);
-
- if (!displaying) {
- iota_gfx_flush();
- }
- return 0;
-}
-#endif
-
-bool iota_gfx_init(bool rotate) {
- bool success = false;
-
- i2c_master_init();
- send_cmd1(DisplayOff);
- send_cmd2(SetDisplayClockDiv, 0x80);
- send_cmd2(SetMultiPlex, DisplayHeight - 1);
-
- send_cmd2(SetDisplayOffset, 0);
-
-
- send_cmd1(SetStartLine | 0x0);
- send_cmd2(SetChargePump, 0x14 /* Enable */);
- send_cmd2(SetMemoryMode, 0 /* horizontal addressing */);
-
- if(rotate){
- // the following Flip the display orientation 180 degrees
- send_cmd1(SegRemap);
- send_cmd1(ComScanInc);
- }else{
- // Flips the display orientation 0 degrees
- send_cmd1(SegRemap | 0x1);
- send_cmd1(ComScanDec);
- }
-
-#ifdef SSD1306_128X64
- send_cmd2(SetComPins, 0x12);
-#else
- send_cmd2(SetComPins, 0x2);
-#endif
- send_cmd2(SetContrast, 0x8f);
- send_cmd2(SetPreCharge, 0xf1);
- send_cmd2(SetVComDetect, 0x40);
- send_cmd1(DisplayAllOnResume);
- send_cmd1(NormalDisplay);
- send_cmd1(DeActivateScroll);
- send_cmd1(DisplayOn);
-
- send_cmd2(SetContrast, 0); // Dim
-
- clear_display();
-
- success = true;
-
- iota_gfx_flush();
-
-#if DEBUG_TO_SCREEN
- print_set_sendchar(capture_sendchar);
-#endif
-
-done:
- return success;
-}
-
-bool iota_gfx_off(void) {
- bool success = false;
-
- send_cmd1(DisplayOff);
- success = true;
-
-done:
- return success;
-}
-
-bool iota_gfx_on(void) {
- bool success = false;
-
- send_cmd1(DisplayOn);
- success = true;
-
-done:
- return success;
-}
-
-void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c) {
- *matrix->cursor = c;
- ++matrix->cursor;
-
- if (matrix->cursor - &matrix->display[0][0] == sizeof(matrix->display)) {
- // We went off the end; scroll the display upwards by one line
- memmove(&matrix->display[0], &matrix->display[1],
- MatrixCols * (MatrixRows - 1));
- matrix->cursor = &matrix->display[MatrixRows - 1][0];
- memset(matrix->cursor, ' ', MatrixCols);
- }
-}
-
-void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c) {
- matrix->dirty = true;
-
- if (c == '\n') {
- // Clear to end of line from the cursor and then move to the
- // start of the next line
- uint8_t cursor_col = (matrix->cursor - &matrix->display[0][0]) % MatrixCols;
-
- while (cursor_col++ < MatrixCols) {
- matrix_write_char_inner(matrix, ' ');
- }
- return;
- }
-
- matrix_write_char_inner(matrix, c);
-}
-
-void iota_gfx_write_char(uint8_t c) {
- matrix_write_char(&display, c);
-}
-
-void matrix_write(struct CharacterMatrix *matrix, const char *data) {
- const char *end = data + strlen(data);
- while (data < end) {
- matrix_write_char(matrix, *data);
- ++data;
- }
-}
-
-void matrix_write_ln(struct CharacterMatrix *matrix, const char *data) {
- char data_ln[strlen(data)+2];
- snprintf(data_ln, sizeof(data_ln), "%s\n", data);
- matrix_write(matrix, data_ln);
-}
-
-void iota_gfx_write(const char *data) {
- matrix_write(&display, data);
-}
-
-void matrix_write_P(struct CharacterMatrix *matrix, const char *data) {
- while (true) {
- uint8_t c = pgm_read_byte(data);
- if (c == 0) {
- return;
- }
- matrix_write_char(matrix, c);
- ++data;
- }
-}
-
-void iota_gfx_write_P(const char *data) {
- matrix_write_P(&display, data);
-}
-
-void matrix_clear(struct CharacterMatrix *matrix) {
- memset(matrix->display, ' ', sizeof(matrix->display));
- matrix->cursor = &matrix->display[0][0];
- matrix->dirty = true;
-}
-
-void iota_gfx_clear_screen(void) {
- matrix_clear(&display);
-}
-
-void matrix_render(struct CharacterMatrix *matrix) {
- last_flush = timer_read();
- iota_gfx_on();
-#if DEBUG_TO_SCREEN
- ++displaying;
-#endif
-
- // Move to the home position
- send_cmd3(PageAddr, 0, MatrixRows - 1);
- send_cmd3(ColumnAddr, 0, (MatrixCols * FontWidth) - 1);
-
- if (i2c_start_write(SSD1306_ADDRESS)) {
- goto done;
- }
- if (i2c_master_write(0x40)) {
- // Data mode
- goto done;
- }
-
- for (uint8_t row = 0; row < MatrixRows; ++row) {
- for (uint8_t col = 0; col < MatrixCols; ++col) {
- const uint8_t *glyph = font + (matrix->display[row][col] * FontWidth);
-
- for (uint8_t glyphCol = 0; glyphCol < FontWidth; ++glyphCol) {
- uint8_t colBits = pgm_read_byte(glyph + glyphCol);
- i2c_master_write(colBits);
- }
-
- // 1 column of space between chars (it's not included in the glyph)
- //i2c_master_write(0);
- }
- }
-
- matrix->dirty = false;
-
-done:
- i2c_master_stop();
-#if DEBUG_TO_SCREEN
- --displaying;
-#endif
-}
-
-void iota_gfx_flush(void) {
- matrix_render(&display);
-}
-
-__attribute__ ((weak))
-void iota_gfx_task_user(void) {
-}
-
-void iota_gfx_task(void) {
- iota_gfx_task_user();
-
- if (display.dirty|| force_dirty) {
- iota_gfx_flush();
- force_dirty = false;
- }
-
- if (timer_elapsed(last_flush) > ScreenOffInterval) {
- iota_gfx_off();
- }
-}
-
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record) {
- force_dirty = true;
- return true;
-}
-
-#endif
diff --git a/keyboards/yosino58/ssd1306.h b/keyboards/yosino58/ssd1306.h
deleted file mode 100644
index 35e4c144cc..0000000000
--- a/keyboards/yosino58/ssd1306.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#pragma once
-
-#include <stdbool.h>
-#include <stdio.h>
-#include "action.h"
-
-enum ssd1306_cmds {
- DisplayOff = 0xAE,
- DisplayOn = 0xAF,
-
- SetContrast = 0x81,
- DisplayAllOnResume = 0xA4,
-
- DisplayAllOn = 0xA5,
- NormalDisplay = 0xA6,
- InvertDisplay = 0xA7,
- SetDisplayOffset = 0xD3,
- SetComPins = 0xda,
- SetVComDetect = 0xdb,
- SetDisplayClockDiv = 0xD5,
- SetPreCharge = 0xd9,
- SetMultiPlex = 0xa8,
- SetLowColumn = 0x00,
- SetHighColumn = 0x10,
- SetStartLine = 0x40,
-
- SetMemoryMode = 0x20,
- ColumnAddr = 0x21,
- PageAddr = 0x22,
-
- ComScanInc = 0xc0,
- ComScanDec = 0xc8,
- SegRemap = 0xa0,
- SetChargePump = 0x8d,
- ExternalVcc = 0x01,
- SwitchCapVcc = 0x02,
-
- ActivateScroll = 0x2f,
- DeActivateScroll = 0x2e,
- SetVerticalScrollArea = 0xa3,
- RightHorizontalScroll = 0x26,
- LeftHorizontalScroll = 0x27,
- VerticalAndRightHorizontalScroll = 0x29,
- VerticalAndLeftHorizontalScroll = 0x2a,
-};
-
-// Controls the SSD1306 128x32 OLED display via i2c
-
-#ifndef SSD1306_ADDRESS
-#define SSD1306_ADDRESS 0x3C
-#endif
-
-#ifdef SSD1306_128X64
-#define DisplayHeight 64
-#else
-#define DisplayHeight 32
-#endif
-#define DisplayWidth 128
-
-
-#define FontHeight 8
-#define FontWidth 6
-
-#define MatrixRows (DisplayHeight / FontHeight)
-#define MatrixCols (DisplayWidth / FontWidth)
-
-struct CharacterMatrix {
- uint8_t display[MatrixRows][MatrixCols];
- uint8_t *cursor;
- bool dirty;
-};
-
-extern struct CharacterMatrix display;
-
-bool iota_gfx_init(bool rotate);
-void iota_gfx_task(void);
-bool iota_gfx_off(void);
-bool iota_gfx_on(void);
-void iota_gfx_flush(void);
-void iota_gfx_write_char(uint8_t c);
-void iota_gfx_write(const char *data);
-void iota_gfx_write_P(const char *data);
-void iota_gfx_clear_screen(void);
-
-void iota_gfx_task_user(void);
-
-void matrix_clear(struct CharacterMatrix *matrix);
-void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c);
-void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c);
-void matrix_write(struct CharacterMatrix *matrix, const char *data);
-void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
-void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
-void matrix_render(struct CharacterMatrix *matrix);
-
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/yosino58/yosino58.c b/keyboards/yosino58/yosino58.c
index ff3ec10e5a..85545f3f44 100644
--- a/keyboards/yosino58/yosino58.c
+++ b/keyboards/yosino58/yosino58.c
@@ -1,10 +1 @@
-#include "yosino58.h"
-#include "ssd1306.h"
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
-#ifdef SSD1306OLED
- return process_record_gfx(keycode,record) && process_record_user(keycode, record);
-#else
- return process_record_user(keycode, record);
-#endif
-}
+#include "yosino58.h" \ No newline at end of file
diff --git a/keyboards/yugo_m/model_m_101/config.h b/keyboards/yugo_m/model_m_101/config.h
index e17f8310b8..c22bc610c3 100644
--- a/keyboards/yugo_m/model_m_101/config.h
+++ b/keyboards/yugo_m/model_m_101/config.h
@@ -20,12 +20,6 @@ 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 0x8E81 // Yugo-M
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBM
-#define PRODUCT Yugo-M (Model M replacement controller)
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 16
@@ -42,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B8, B7, B6, B5, B4, B3, A15, A14 }
#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
-#define UNUSED_PINS { A0, A1, A2, A10, A13, B9, C13, C14, C15 }
diff --git a/keyboards/yugo_m/model_m_101/info.json b/keyboards/yugo_m/model_m_101/info.json
index 399307c2d0..e6d786a740 100644
--- a/keyboards/yugo_m/model_m_101/info.json
+++ b/keyboards/yugo_m/model_m_101/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "IBM Enhanced Keyboard",
+ "keyboard_name": "Yugo-M (Model M replacment controller)",
+ "manufacturer": "IBM",
"url": "https://github.com/tomic1785/qmk_firmware/tree/stm32_model_m/keyboards/yugo_m/model_m_101",
"maintainer": "Nidzo Tomic",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x8E81",
+ "device_version": "0.0.1"
+ },
"layouts": {
"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":"Print Screen", "x":15.5, "y":0}, {"label":"Scroll Lock", "x":16.5, "y":0}, {"label":"Pause", "x":17.5, "y":0}, {"label":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "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":"\uff0a", "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":"|", "x":13, "y":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":14, "y":1.5}, {"label":"Insert", "x":15.5, "y":1.5}, {"label":"Home", "x":16.5, "y":1.5}, {"label":"PgUp", "x":17.5, "y":1.5}, {"label":"Num Lock", "x":19, "y":1.5}, {"label":"/", "x":20, "y":1.5}, {"label":"\uff0a", "x":21, "y":1.5}, {"label":"\u2212", "x":22, "y":1.5}, {"label":"<i class='kb kb-Line-Start-End'></i>", "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.5, "y":2.5}, {"label":"End", "x":16.5, "y":2.5}, {"label":"PgDn", "x":17.5, "y":2.5}, {"label":"7", "x":19, "y":2.5}, {"label":"8", "x":20, "y":2.5}, {"label":"9", "x":21, "y":2.5}, {"label":"+", "x":22, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.25}, {"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":"<i class='kb kb-Return-2'></i>", "x":13.75, "y":3.5, "w":1.25}, {"label":"4", "x":19, "y":3.5}, {"label":"5", "x":20, "y":3.5}, {"label":"6", "x":21, "y":3.5}, {"label":"=", "x":22, "y":3.5}, {"label":"\u21e7", "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":"_", "x":12.25, "y":4.5}, {"label":"\u21e7", "x":13.25, "y":4.5, "w":1.75}, {"label":"<i class='kb kb-Arrows-Up'></i>", "x":16.5, "y":4.5}, {"label":"1", "x":19, "y":4.5}, {"label":"2", "x":20, "y":4.5}, {"label":"3", "x":21, "y":4.5}, {"label":"Enter", "x":22, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt Gr", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"<i class='kb kb-Arrows-Left'></i>", "x":15.5, "y":5.5}, {"label":"<i class='kb kb-Arrows-Down'></i>", "x":16.5, "y":5.5}, {"label":"<i class='kb kb-Arrows-Right'></i>", "x":17.5, "y":5.5}, {"label":"0", "x":19, "y":5.5}, {"label":",", "x":20, "y":5.5}, {"label":".", "x":21, "y":5.5}, {"label":"GUI", "x":22, "y":5.5}]
diff --git a/keyboards/yushakobo/navpad/10/info.json b/keyboards/yushakobo/navpad/10/info.json
index 370b7623f2..095b6b39eb 100644
--- a/keyboards/yushakobo/navpad/10/info.json
+++ b/keyboards/yushakobo/navpad/10/info.json
@@ -1,7 +1,12 @@
{
"keyboard_name": "navpad 1.0",
+ "manufacturer": "yushakobo",
"url": "https://shop.yushakobo.jp/products/navpad-10",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0008"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yushakobo/navpad/10/readme.md b/keyboards/yushakobo/navpad/10/readme.md
index a330003a55..231e449721 100644
--- a/keyboards/yushakobo/navpad/10/readme.md
+++ b/keyboards/yushakobo/navpad/10/readme.md
@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/yushakobo/navpad/10/rev0/config.h b/keyboards/yushakobo/navpad/10/rev0/config.h
index 5ebdda599a..9d2906fa30 100644
--- a/keyboards/yushakobo/navpad/10/rev0/config.h
+++ b/keyboards/yushakobo/navpad/10/rev0/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0000
-#define MANUFACTURER yushakobo
-#define PRODUCT navpad 1.0
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 7
diff --git a/keyboards/yushakobo/navpad/10/rev0/info.json b/keyboards/yushakobo/navpad/10/rev0/info.json
new file mode 100644
index 0000000000..5baab67dba
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.0"
+ }
+}
diff --git a/keyboards/yushakobo/navpad/10/rev1/config.h b/keyboards/yushakobo/navpad/10/rev1/config.h
index 40bb31b156..65f9944db9 100644
--- a/keyboards/yushakobo/navpad/10/rev1/config.h
+++ b/keyboards/yushakobo/navpad/10/rev1/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT "navpad 1.0"
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
diff --git a/keyboards/yushakobo/navpad/10/rev1/info.json b/keyboards/yushakobo/navpad/10/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev1/info.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "0.0.1"
+ }
+}
diff --git a/keyboards/yushakobo/navpad/10_helix_r/config.h b/keyboards/yushakobo/navpad/10_helix_r/config.h
index 3d463549df..09809dada9 100644
--- a/keyboards/yushakobo/navpad/10_helix_r/config.h
+++ b/keyboards/yushakobo/navpad/10_helix_r/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0008
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT "navpad 1.0 with helix keyboard"
-
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
diff --git a/keyboards/yushakobo/navpad/10_helix_r/info.json b/keyboards/yushakobo/navpad/10_helix_r/info.json
index 98e2314c91..e2c44de4da 100644
--- a/keyboards/yushakobo/navpad/10_helix_r/info.json
+++ b/keyboards/yushakobo/navpad/10_helix_r/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "navpad 1.0 w/ helix right hand side",
+ "keyboard_name": "navpad 1.0 with helix keyboard",
+ "manufacturer": "yushakobo",
"url": "",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0008",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yushakobo/navpad/10_helix_r/readme.md b/keyboards/yushakobo/navpad/10_helix_r/readme.md
index 99fa83c62d..6d8a64c2bc 100644
--- a/keyboards/yushakobo/navpad/10_helix_r/readme.md
+++ b/keyboards/yushakobo/navpad/10_helix_r/readme.md
@@ -30,4 +30,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h
index 7c845a2106..3595bf20c6 100644
--- a/keyboards/yushakobo/quick17/config.h
+++ b/keyboards/yushakobo/quick17/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0006
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT quick17
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 6
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4, B3, B6 }
#define MATRIX_COL_PINS { F5, D4, E6, F7, C6, D7 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/yushakobo/quick17/info.json b/keyboards/yushakobo/quick17/info.json
index eb971110c0..07798a2649 100644
--- a/keyboards/yushakobo/quick17/info.json
+++ b/keyboards/yushakobo/quick17/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "quick17",
+ "manufacturer": "yushakobo",
"url": "https://shop.yushakobo.jp/products/quick17",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0006",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yushakobo/quick7/config.h b/keyboards/yushakobo/quick7/config.h
index f3afcd2df7..8b801b1cc4 100644
--- a/keyboards/yushakobo/quick7/config.h
+++ b/keyboards/yushakobo/quick7/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x3265
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yushakobo
-#define PRODUCT quick7
-
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
@@ -49,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_A { D1, F5 }
#define ENCODERS_PAD_B { D0, F6 }
-#define UNUSED_PINS
diff --git a/keyboards/yushakobo/quick7/info.json b/keyboards/yushakobo/quick7/info.json
index 078dd70d22..58afeb97de 100644
--- a/keyboards/yushakobo/quick7/info.json
+++ b/keyboards/yushakobo/quick7/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "quick7",
+ "manufacturer": "yushakobo",
"url": "",
"maintainer": "yushakobo",
+ "usb": {
+ "vid": "0x3265",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yynmt/acperience12/info.json b/keyboards/yynmt/acperience12/info.json
deleted file mode 100644
index c21faf109a..0000000000
--- a/keyboards/yynmt/acperience12/info.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "keyboard_name": "Acperience12",
- "url": "http://yynmt.com",
- "maintainer": "yynmt",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":0}, {"x":1, "y":0},
- {"x":0, "y":1}, {"x":1, "y":1},
- {"x":0, "y":2}, {"x":1, "y":2},
- {"x":0, "y":3}, {"x":1, "y":3},
- {"x":0, "y":4}, {"x":1, "y":4},
- {"x":0, "y":5}, {"x":1, "y":5}
- ]
- }
- }
-}
diff --git a/keyboards/yynmt/acperience12/rev1/config.h b/keyboards/yynmt/acperience12/rev1/config.h
index d1adb8106c..73a8ef461b 100644
--- a/keyboards/yynmt/acperience12/rev1/config.h
+++ b/keyboards/yynmt/acperience12/rev1/config.h
@@ -16,13 +16,6 @@
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8 //Sublicense from Microchip Technology
-#define PRODUCT_ID 0xEA51 //Sublicense from Microchip Technology
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yynmt
-#define PRODUCT Acperience12
-
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 2
diff --git a/keyboards/yynmt/acperience12/rev1/info.json b/keyboards/yynmt/acperience12/rev1/info.json
new file mode 100644
index 0000000000..7d4dbb40ce
--- /dev/null
+++ b/keyboards/yynmt/acperience12/rev1/info.json
@@ -0,0 +1,23 @@
+{
+ "keyboard_name": "Acperience12",
+ "manufacturer": "yynmt",
+ "url": "http://yynmt.com",
+ "maintainer": "yynmt",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA51",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0}, {"x":1, "y":0},
+ {"x":0, "y":1}, {"x":1, "y":1},
+ {"x":0, "y":2}, {"x":1, "y":2},
+ {"x":0, "y":3}, {"x":1, "y":3},
+ {"x":0, "y":4}, {"x":1, "y":4},
+ {"x":0, "y":5}, {"x":1, "y":5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/yynmt/dozen0/config.h b/keyboards/yynmt/dozen0/config.h
index c63af586e6..5a72cf2a54 100644
--- a/keyboards/yynmt/dozen0/config.h
+++ b/keyboards/yynmt/dozen0/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x04D8
-#define PRODUCT_ID 0xEA4F
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yynmt
-#define PRODUCT Dozen0
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F4 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, B5, B4, E6, D7, C6, D4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/yynmt/dozen0/info.json b/keyboards/yynmt/dozen0/info.json
index 38e0f38751..364b844246 100644
--- a/keyboards/yynmt/dozen0/info.json
+++ b/keyboards/yynmt/dozen0/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Dozen0",
+ "manufacturer": "yynmt",
"url": "http://yynmt.com",
"maintainer": "yynmt",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA4F",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/yynmt/kagamidget/config.h b/keyboards/yynmt/kagamidget/config.h
index 3a0ddeaf30..0aa38ad350 100644
--- a/keyboards/yynmt/kagamidget/config.h
+++ b/keyboards/yynmt/kagamidget/config.h
@@ -19,13 +19,6 @@ 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 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER yynmt
-#define PRODUCT KagaMidget
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { D1, D0, F4, F5 }
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/yynmt/kagamidget/info.json b/keyboards/yynmt/kagamidget/info.json
index 8899b22054..eaca61afc8 100644
--- a/keyboards/yynmt/kagamidget/info.json
+++ b/keyboards/yynmt/kagamidget/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "KagaMidget",
+ "manufacturer": "yynmt",
"url": "http://yynmt.com",
"maintainer": "yynmt",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0000",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/z12/config.h b/keyboards/z12/config.h
index 68aff7acf7..57b31e7c8b 100644
--- a/keyboards/z12/config.h
+++ b/keyboards/z12/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7A74
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zigotica
-#define PRODUCT z12
-
#define ENCODERS_PAD_A { B5, B6 }
#define ENCODERS_PAD_B { B4, B2 }
@@ -41,7 +34,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ F6, F5, F4, NO_PIN } \
}
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/z12/info.json b/keyboards/z12/info.json
index 2395401e47..7aa53d9a5c 100644
--- a/keyboards/z12/info.json
+++ b/keyboards/z12/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "z12",
+ "manufacturer": "zigotica",
"url": "https://github.com/zigotica/mechanical-keyboards/tree/main/z12",
"maintainer": "@zigotica",
+ "usb": {
+ "vid": "0x7A74",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/z34/config.h b/keyboards/z34/config.h
index 71d6528ce8..f63b2771fc 100644
--- a/keyboards/z34/config.h
+++ b/keyboards/z34/config.h
@@ -18,13 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x7A74
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zigotica
-#define PRODUCT z34
-
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
@@ -45,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ B5, B4, NO_PIN, NO_PIN, NO_PIN } \
}
-#define UNUSED_PINS
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
diff --git a/keyboards/z34/info.json b/keyboards/z34/info.json
index 4a6dce7525..f28ddf0e1c 100644
--- a/keyboards/z34/info.json
+++ b/keyboards/z34/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "z34",
+ "manufacturer": "zigotica",
"url": "https://github.com/zigotica/mechanical-keyboards/tree/main/z34",
"maintainer": "@zigotica",
+ "usb": {
+ "vid": "0x7A74",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/zfrontier/big_switch/config.h b/keyboards/zfrontier/big_switch/config.h
index ddec2b2796..fc3e39664d 100644
--- a/keyboards/zfrontier/big_switch/config.h
+++ b/keyboards/zfrontier/big_switch/config.h
@@ -19,13 +19,6 @@ 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 0x0A01
-#define DEVICE_VER 0x0005
-#define MANUFACTURER zFrontier
-#define PRODUCT Red Comet Big Switch
-
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 1
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { F0 }
#define MATRIX_COL_PINS { F1 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
@@ -51,3 +43,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* long tapping config */
#define TAPPING_TERM 500
+#define PERMISSIVE_HOLD
diff --git a/keyboards/zfrontier/big_switch/info.json b/keyboards/zfrontier/big_switch/info.json
index c0d542ade1..6467f4c008 100644
--- a/keyboards/zfrontier/big_switch/info.json
+++ b/keyboards/zfrontier/big_switch/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Red Comet Big Switch",
+ "manufacturer": "zFrontier",
"url": "https://en.zfrontier.com/products/redcomet-bigswitch-combo",
"maintainer": "carlxia",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x0A01",
+ "device_version": "0.0.5"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ziggurat/config.h b/keyboards/ziggurat/config.h
index d2332a3e48..f814b53023 100644
--- a/keyboards/ziggurat/config.h
+++ b/keyboards/ziggurat/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8F5D
-#define PRODUCT_ID 0x5258
-#define DEVICE_VER 0x0001
-#define MANUFACTURER LaminarWoob
-#define PRODUCT Ziggurat
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 18
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { A2, A1, A0, F7, A3 }
#define MATRIX_COL_PINS { F6, F5, F4, F3, F2, F1, B5, B6, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ziggurat/info.json b/keyboards/ziggurat/info.json
index 77bb288dd6..e1af7f8d88 100644
--- a/keyboards/ziggurat/info.json
+++ b/keyboards/ziggurat/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ziggurat",
+ "keyboard_name": "Ziggurat",
+ "manufacturer": "LaminarWoob",
"url": "",
"maintainer": "kb-elmo",
+ "usb": {
+ "vid": "0x8F5D",
+ "pid": "0x5258",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ziggurat/readme.md b/keyboards/ziggurat/readme.md
index 85f88b5361..0b1330fcd4 100644
--- a/keyboards/ziggurat/readme.md
+++ b/keyboards/ziggurat/readme.md
@@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Press the button labeled "SW1" on the back of the PCB
-* **Keycode in layout**: Press the key mapped to `RESET` if it is available
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/zj68/config.h b/keyboards/zj68/config.h
index bca9bf72a0..91ffe6dfb4 100644
--- a/keyboards/zj68/config.h
+++ b/keyboards/zj68/config.h
@@ -19,13 +19,6 @@ 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 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Drop
-#define PRODUCT ZJ68
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -33,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/zj68/info.json b/keyboards/zj68/info.json
index 8495904dc4..ed903a6400 100644
--- a/keyboards/zj68/info.json
+++ b/keyboards/zj68/info.json
@@ -1,6 +1,12 @@
{
"keyboard_name": "ZJ68",
+ "manufacturer": "Drop",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/zj68/keymaps/splitbs/keymap.c b/keyboards/zj68/keymaps/splitbs/keymap.c
index 6403c0353f..260025b449 100644
--- a/keyboards/zj68/keymaps/splitbs/keymap.c
+++ b/keyboards/zj68/keymaps/splitbs/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
LAYOUT_65_ansi_split_bs(
- 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_PSCR, KC_SLCK, KC_PAUS,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
diff --git a/keyboards/zlant/config.h b/keyboards/zlant/config.h
index 922c446a01..3d581266b9 100755
--- a/keyboards/zlant/config.h
+++ b/keyboards/zlant/config.h
@@ -2,13 +2,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Matthew Cordier
-#define PRODUCT Zlant
-
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
@@ -16,7 +9,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B1, D4, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B7, D1, D2, D3, B3, B2 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/zlant/info.json b/keyboards/zlant/info.json
index 6c58a00def..69237bdad3 100644
--- a/keyboards/zlant/info.json
+++ b/keyboards/zlant/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Zlant",
+ "manufacturer": "Matthew Cordier",
"url": "",
"maintainer": "qmk",
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x6060",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K100", "x":0.25, "y":1}, {"label":"K101", "x":1.25, "y":1}, {"label":"K102", "x":2.25, "y":1}, {"label":"K103", "x":3.25, "y":1}, {"label":"K104", "x":4.25, "y":1}, {"label":"K105", "x":5.25, "y":1}, {"label":"K106", "x":6.25, "y":1}, {"label":"K107", "x":7.25, "y":1}, {"label":"K108", "x":8.25, "y":1}, {"label":"K109", "x":9.25, "y":1}, {"label":"K110", "x":10.25, "y":1}, {"label":"K111", "x":11.25, "y":1}, {"label":"K200", "x":0.5, "y":2}, {"label":"K201", "x":1.5, "y":2}, {"label":"K202", "x":2.5, "y":2}, {"label":"K203", "x":3.5, "y":2}, {"label":"K204", "x":4.5, "y":2}, {"label":"K205", "x":5.5, "y":2}, {"label":"K206", "x":6.5, "y":2}, {"label":"K207", "x":7.5, "y":2}, {"label":"K208", "x":8.5, "y":2}, {"label":"K209", "x":9.5, "y":2}, {"label":"K210", "x":10.5, "y":2}, {"label":"K211", "x":11.5, "y":2}, {"label":"K300", "x":0.75, "y":3}, {"label":"K301", "x":1.75, "y":3}, {"label":"K302", "x":2.75, "y":3}, {"label":"K303", "x":3.75, "y":3}, {"label":"K304", "x":4.75, "y":3}, {"label":"K305", "x":5.75, "y":3}, {"label":"K306", "x":6.75, "y":3}, {"label":"K307", "x":7.75, "y":3}, {"label":"K308", "x":8.75, "y":3}, {"label":"K309", "x":9.75, "y":3}, {"label":"K310", "x":10.75, "y":3}, {"label":"K311", "x":11.75, "y":3}]
diff --git a/keyboards/zoo/wampus/config.h b/keyboards/zoo/wampus/config.h
index 7da55184a0..fea1dbc212 100644
--- a/keyboards/zoo/wampus/config.h
+++ b/keyboards/zoo/wampus/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0200
-#define PRODUCT_ID 0xE600
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zoo.haus
-#define PRODUCT Wampus
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
@@ -42,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { C13, C14, A5, A4, A3 }
#define MATRIX_COL_PINS { A10, A9, A8, B12, A15, A13, A7, A2, A1, A0, F1, F0, B3, B4, B5 }
-#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/zoo/wampus/info.json b/keyboards/zoo/wampus/info.json
index 8125133b1d..bb74820d41 100644
--- a/keyboards/zoo/wampus/info.json
+++ b/keyboards/zoo/wampus/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "zoo.haus Wampus",
+ "keyboard_name": "Wampus",
+ "manufacturer": "zoo.haus",
"url": "https://zoo.haus",
"maintainer": "zoo",
+ "usb": {
+ "vid": "0x0200",
+ "pid": "0xE600",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_alice_split_bs": {
"layout": [
diff --git a/keyboards/ztboards/after/config.h b/keyboards/ztboards/after/config.h
index d5497dd6d0..c314752055 100644
--- a/keyboards/ztboards/after/config.h
+++ b/keyboards/ztboards/after/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0927 // ZT Boards
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZTBoards
-#define PRODUCT After
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B3, F6, F5, D5, B2 }
#define MATRIX_COL_PINS { D0, D1, D2, D3, D7, D6, D4, C7, C6, B6, B5, B4, F7, F0, F4, F1 }
-#define UNUSED_PINS
#define ENCODERS_PAD_A { B1 }
#define ENCODERS_PAD_B { B0 }
diff --git a/keyboards/ztboards/after/info.json b/keyboards/ztboards/after/info.json
index 421450016a..6081f5c7cc 100644
--- a/keyboards/ztboards/after/info.json
+++ b/keyboards/ztboards/after/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ZTBoards After",
+ "keyboard_name": "After",
+ "manufacturer": "ZTBoards",
"url": "ztb.mx",
"maintainer": "phlopsuh",
+ "usb": {
+ "vid": "0x0927",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"Esc", "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":"|", "x":13, "y":1}, {"label":"`", "x":14, "y":1}, {"label":"Rotary", "x":15.5, "y":0.5}, {"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":"Del", "x":15.5, "y":2}, {"label":"Caps Lock", "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":"Pg Up", "x":15.5, "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.25, "y":4.25}, {"label":"Pg Dn", "x":15.5, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.5}, {"label":"Alt", "x":2.25, "y":5, "w":1.5}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, {"label":"Left", "x":13.25, "y":5.25}, {"label":"Down", "x":14.25, "y":5.25}, {"label":"Right", "x":15.25, "y":5.25}]
diff --git a/keyboards/ztboards/after/keymaps/ellicose/keymap.c b/keyboards/ztboards/after/keymaps/ellicose/keymap.c
index 88c1d5839a..e0ce04b8a9 100644
--- a/keyboards/ztboards/after/keymaps/ellicose/keymap.c
+++ b/keyboards/ztboards/after/keymaps/ellicose/keymap.c
@@ -11,8 +11,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = 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_DEL, 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,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/ztboards/after/keymaps/phlop/keymap.c b/keyboards/ztboards/after/keymaps/phlop/keymap.c
index 5d4fd97599..15f101fc34 100644
--- a/keyboards/ztboards/after/keymaps/phlop/keymap.c
+++ b/keyboards/ztboards/after/keymaps/phlop/keymap.c
@@ -11,8 +11,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = 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_DEL, 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,
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/ztboards/noon/config.h b/keyboards/ztboards/noon/config.h
index 0928665f40..4d9695aa11 100644
--- a/keyboards/ztboards/noon/config.h
+++ b/keyboards/ztboards/noon/config.h
@@ -18,13 +18,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x0927 //ZT Boards
-#define PRODUCT_ID 0x0002
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ZTBoards
-#define PRODUCT Noon
-
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
@@ -32,7 +25,6 @@
/* key matrix pins */
#define MATRIX_ROW_PINS { B5, D5, D3, B1, F0 }
#define MATRIX_COL_PINS { D2, D1, D0, D4, D6, B2, D7, B4, B6, C6, C7, F7, F6, F5, F4, F1 }
-#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/ztboards/noon/info.json b/keyboards/ztboards/noon/info.json
index fd36892462..167b8e76ad 100644
--- a/keyboards/ztboards/noon/info.json
+++ b/keyboards/ztboards/noon/info.json
@@ -1,7 +1,13 @@
{
- "keyboard_name": "ZTBoards Noon",
+ "keyboard_name": "Noon",
+ "manufacturer": "ZTBoards",
"url": "ztb.mx",
"maintainer": "phlopsuh",
+ "usb": {
+ "vid": "0x0927",
+ "pid": "0x0002",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "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":"~", "x":13, "y":0}, {"label":"|", "x":14, "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":"Pg Up", "x":15, "y":1}, {"label":"Caps Lock", "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":"Pg Dn", "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":"Del", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":2.25, "y":4, "w":1.5}, {"x":3.75, "y":4, "w":7}, {"label":"Alt", "x":10.75, "y":4, "w":1.5}, {"label":"Left", "x":13, "y":4}, {"label":"Down", "x":14, "y":4}, {"label":"Right", "x":15, "y":4}]
diff --git a/keyboards/zvecr/split_blackpill/config.h b/keyboards/zvecr/split_blackpill/config.h
index 75a7ced350..ec2bbf0f58 100644
--- a/keyboards/zvecr/split_blackpill/config.h
+++ b/keyboards/zvecr/split_blackpill/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5A56
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zvecr
-#define PRODUCT split_blackpill
-
/* key matrix size */
#define MATRIX_ROWS 8 // Rows are doubled-up
#define MATRIX_COLS 6
diff --git a/keyboards/zvecr/split_blackpill/info.json b/keyboards/zvecr/split_blackpill/info.json
index 0ee144f5f2..4274e29e08 100644
--- a/keyboards/zvecr/split_blackpill/info.json
+++ b/keyboards/zvecr/split_blackpill/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "split_blackpill",
+ "manufacturer": "zvecr",
"url": "",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0x5A56",
+ "pid": "0x0001",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/zvecr/zv48/config.h b/keyboards/zvecr/zv48/config.h
index 56be1b27d2..2a993fcd44 100644
--- a/keyboards/zvecr/zv48/config.h
+++ b/keyboards/zvecr/zv48/config.h
@@ -17,13 +17,6 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5A56
-#define PRODUCT_ID 0x0048
-#define DEVICE_VER 0x0001
-#define MANUFACTURER zvecr
-#define PRODUCT zv48
-
/* key matrix size */
#define MATRIX_ROWS 8 // Rows are doubled-up
#define MATRIX_COLS 6
diff --git a/keyboards/zvecr/zv48/f401/rules.mk b/keyboards/zvecr/zv48/f401/rules.mk
index 94dd741994..37ee7172f8 100644
--- a/keyboards/zvecr/zv48/f401/rules.mk
+++ b/keyboards/zvecr/zv48/f401/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/zvecr/zv48/f411/rules.mk b/keyboards/zvecr/zv48/f411/rules.mk
index b32a8b7f5b..c25a64f4b3 100644
--- a/keyboards/zvecr/zv48/f411/rules.mk
+++ b/keyboards/zvecr/zv48/f411/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json
index 5e62a87086..94862b3aee 100644
--- a/keyboards/zvecr/zv48/info.json
+++ b/keyboards/zvecr/zv48/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "zv48",
+ "manufacturer": "zvecr",
"url": "",
"maintainer": "zvecr",
+ "usb": {
+ "vid": "0x5A56",
+ "pid": "0x0048",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":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":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "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":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "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":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]